Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ES Module #159

Merged
merged 15 commits into from Sep 24, 2021
Merged
15 changes: 8 additions & 7 deletions bin/server.js
@@ -1,19 +1,20 @@
#!/usr/bin/env node

const cors = require("cors");
const express = require("express");
const yargs = require("yargs");
import cors from "cors";
import express from "express";
import yargs from "yargs";
import { hideBin } from "yargs/helpers";

const fixtureServereMiddleware = require("..");
const globTofixtures = require("../lib/glob-to-fixtures");
import fixtureServereMiddleware from "../index.js";
import globTofixtures from "../lib/glob-to-fixtures.js ";

const DEFAULTS = require("../lib/defaults");
import DEFAULTS from "../lib/defaults.js";

// NOW_URL: support deployment to now.sh: https://zeit.co/docs/features/env-and-secrets
const defaultFixtureUrl =
process.env.NOW_URL || process.env.FIXTURES_URL || DEFAULTS.fixturesUrl;

const { argv } = yargs
const { argv } = yargs(hideBin(process.argv))
.options({
port: {
type: "number",
Expand Down
24 changes: 12 additions & 12 deletions index.js
@@ -1,21 +1,21 @@
module.exports = fixtureServereMiddleware;
export default fixtureServereMiddleware;

const { URL } = require("url");
import { URL } from "url";

const _ = require("lodash");
const bodyParser = require("body-parser");
const cachimo = require("cachimo");
const express = require("express");
const fixtures = require("@octokit/fixtures");
const Log = require("console-log-level");
import _ from "lodash";
import bodyParser from "body-parser";
import cachimo from "cachimo";
import { Router } from "express";
import fixtures from "@octokit/fixtures";
import Log from "console-log-level";

const additions = require("./lib/additions");
const proxy = require("./lib/proxy");
import additions from "./lib/additions.js";
import proxy from "./lib/proxy.js";

const DEFAULTS = require("./lib/defaults");
import DEFAULTS from "./lib/defaults.js";

function fixtureServereMiddleware(options) {
const middleware = express.Router();
const middleware = Router();

const state = _.defaults(_.clone(options), DEFAULTS);

Expand Down
6 changes: 3 additions & 3 deletions lib/additions.js
@@ -1,8 +1,8 @@
module.exports = fixtureAdditions;
export default fixtureAdditions;

const { URL } = require("url");
import { URL } from "url";

const mapValuesDeep = require("./map-values-deep");
import mapValuesDeep from "./map-values-deep.js";

function fixtureAdditions(state, { id, fixture }) {
fixture = mapValuesDeep(fixture, (value) => {
Expand Down
9 changes: 6 additions & 3 deletions lib/defaults.js
@@ -1,13 +1,16 @@
const { dirname, resolve } = require("path");
const globTofixtures = require("./glob-to-fixtures");
import { dirname, resolve } from "path";
import globTofixtures from "./glob-to-fixtures.js";

import { createRequire } from "module";
const require = createRequire(import.meta.url);

const octokitFixturesPath = dirname(require.resolve("@octokit/fixtures"));
const DEFAULT_FIXTURES_GLOB = resolve(
octokitFixturesPath,
"scenarios/**/normalized-fixture.json"
);

module.exports = {
export default {
port: 3000,
fixturesUrl: null,
logLevel: "info",
Expand Down
11 changes: 5 additions & 6 deletions lib/glob-to-fixtures.js
@@ -1,13 +1,12 @@
module.exports = globToFixtures;
import { dirname, basename, resolve } from "path";

const { dirname, basename, resolve } = require("path");
import glob from "glob";
import { readFileSync } from "fs";

const glob = require("glob");

function globToFixtures(path) {
export default function globToFixtures(path) {
return glob.sync(path).reduce((map, path) => {
path = resolve(process.cwd(), path);
const fixture = require(path);
const fixture = JSON.parse(readFileSync(path).toString());
if (/\/normalized-fixture.json$/.test(path)) {
path = dirname(path);
}
Expand Down
4 changes: 2 additions & 2 deletions lib/map-values-deep.js
@@ -1,6 +1,6 @@
module.exports = mapValuesDeep;
export default mapValuesDeep;

const _ = require("lodash");
import _ from "lodash";

function mapValuesDeep(v, callback) {
if (_.isArray(v)) {
Expand Down
12 changes: 6 additions & 6 deletions lib/proxy.js
@@ -1,15 +1,15 @@
module.exports = proxy;
export default proxy;

const { URL } = require("url");
import { URL } from "url";

const express = require("express");
import { Router } from "express";

const { createProxyMiddleware } = require("http-proxy-middleware");
import { createProxyMiddleware } from "http-proxy-middleware";

const validateRequest = require("./request-validation-middleware");
import validateRequest from "./request-validation-middleware.js";

function proxy(state, { target }) {
const middleware = express.Router();
const middleware = Router();
const { protocol, hostname } = new URL(target);

middleware.use(
Expand Down
4 changes: 2 additions & 2 deletions lib/request-validation-middleware.js
@@ -1,6 +1,6 @@
module.exports = requestValidationMiddleware;
export default requestValidationMiddleware;

const { URL } = require("url");
import { URL } from "url";

function requestValidationMiddleware(state, request, response, next) {
if (!request.headers.accept) {
Expand Down