Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
feat: ES Module (#159)
BREAKING CHANGE: `@octokit/fixtures-server` is now a native ES Module

Co-authored-by: Gregor Martynus <39992+gr2m@users.noreply.github.com>
  • Loading branch information
wolfy1339 and gr2m committed Sep 24, 2021
1 parent 1726423 commit b3792dc
Show file tree
Hide file tree
Showing 26 changed files with 12,297 additions and 6,774 deletions.
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

0 comments on commit b3792dc

Please sign in to comment.