Skip to content

Commit

Permalink
Avoid using require in test files
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Mar 4, 2021
1 parent 7cf4b9e commit b86a6b9
Show file tree
Hide file tree
Showing 19 changed files with 109 additions and 83 deletions.
7 changes: 6 additions & 1 deletion eslint/babel-eslint-parser/test/index.js
@@ -1,10 +1,13 @@
import path from "path";
import escope from "eslint-scope";
import unpad from "dedent";
import { fileURLToPath } from "url";
import { createRequire } from "module";
import { parseForESLint } from "../src";

const BABEL_OPTIONS = {
configFile: require.resolve(
configFile: path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
"../../babel-eslint-shared-fixtures/config/babel.config.js",
),
};
Expand Down Expand Up @@ -73,6 +76,8 @@ describe("Babel and Espree", () => {
}

beforeAll(async () => {
const require = createRequire(import.meta.url);

// Use the version of Espree that is a dependency of
// the version of ESLint we are testing against.
const espreePath = require.resolve("espree", {
Expand Down
@@ -1,5 +1,7 @@
import eslint from "eslint";
import unpad from "dedent";
import path from "path";
import { fileURLToPath } from "url";
import * as parser from "../../../babel-eslint-parser";

export default function verifyAndAssertMessages(
Expand All @@ -24,7 +26,8 @@ export default function verifyAndAssertMessages(
sourceType,
requireConfigFile: false,
babelOptions: {
configFile: require.resolve(
configFile: path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
"../../../babel-eslint-shared-fixtures/config/babel.config.js",
),
},
Expand Down
5 changes: 4 additions & 1 deletion eslint/babel-eslint-tests/test/integration/eslint/config.js
@@ -1,4 +1,6 @@
import eslint from "eslint";
import path from "path";
import { fileURLToPath } from "url";
import * as parser from "@babel/eslint-parser";

describe("ESLint config", () => {
Expand All @@ -10,7 +12,8 @@ describe("ESLint config", () => {
parser: "@babel/eslint-parser",
parserOptions: {
babelOptions: {
configFile: require.resolve(
configFile: path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
"../../../../babel-eslint-shared-fixtures/config/babel.config.js",
),
},
Expand Down
5 changes: 4 additions & 1 deletion eslint/babel-eslint-tests/test/integration/eslint/verify.js
@@ -1,4 +1,6 @@
import verifyAndAssertMessages from "../../helpers/verifyAndAssertMessages";
import path from "path";
import { fileURLToPath } from "url";

describe("verify", () => {
it("arrow function support (issue #1)", () => {
Expand Down Expand Up @@ -1080,7 +1082,8 @@ describe("verify", () => {
parserOptions: {
sourceType,
babelOptions: {
configFile: require.resolve(
configFile: path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
"../../../../babel-eslint-shared-fixtures/config/babel.config.decorators-legacy.js",
),
},
Expand Down
25 changes: 14 additions & 11 deletions packages/babel-cli/test/index.js
@@ -1,15 +1,18 @@
const readdir = require("fs-readdir-recursive");
const helper = require("@babel/helper-fixtures");
const rimraf = require("rimraf");
const { sync: makeDirSync } = require("make-dir");
const child = require("child_process");
const escapeRegExp = require("lodash/escapeRegExp");
const merge = require("lodash/merge");
const path = require("path");
const fs = require("fs");
const { chmod } = require("../lib/babel/util");

import readdir from "fs-readdir-recursive";
import * as helper from "@babel/helper-fixtures";
import rimraf from "rimraf";
import { sync as makeDirSync } from "make-dir";
import child from "child_process";
import escapeRegExp from "lodash/escapeRegExp";
import merge from "lodash/merge";
import path from "path";
import fs from "fs";
import { fileURLToPath } from "url";
import { createRequire } from "module";

import { chmod } from "../lib/babel/util";

const require = createRequire(import.meta.url);

const dirname = path.dirname(fileURLToPath(import.meta.url));
const fixtureLoc = path.join(dirname, "fixtures");
Expand Down
17 changes: 8 additions & 9 deletions packages/babel-core/test/api.js
Expand Up @@ -5,6 +5,10 @@ import Plugin from "../lib/config/plugin";
import generator from "@babel/generator";
import { fileURLToPath } from "url";

import presetEnv from "../../babel-preset-env";
import pluginSyntaxFlow from "../../babel-plugin-syntax-flow";
import pluginFlowStripTypes from "../../babel-plugin-transform-flow-strip-types";

const cwd = path.dirname(fileURLToPath(import.meta.url));

function assertIgnored(result) {
Expand Down Expand Up @@ -307,17 +311,12 @@ describe("api", function () {
},

// env preset
require(cwd + "/../../babel-preset-env"),
presetEnv,

// Third preset for Flow.
function () {
return {
plugins: [
require(cwd + "/../../babel-plugin-syntax-flow"),
require(cwd + "/../../babel-plugin-transform-flow-strip-types"),
],
};
},
() => ({
plugins: [pluginSyntaxFlow, pluginFlowStripTypes],
}),
],
});
}
Expand Down
3 changes: 3 additions & 0 deletions packages/babel-core/test/config-loading.js
Expand Up @@ -4,6 +4,9 @@ import loadConfigRunner, {
} from "../lib/config";
import path from "path";
import { fileURLToPath } from "url";
import { createRequire } from "module";

const require = createRequire(import.meta.url);

const loadConfig = loadConfigRunner.sync;

Expand Down
3 changes: 3 additions & 0 deletions packages/babel-core/test/helpers/esm.js
Expand Up @@ -2,8 +2,11 @@ import cp from "child_process";
import util from "util";
import path from "path";
import { fileURLToPath } from "url";
import { createRequire } from "module";

import * as babel from "../../lib";

const require = createRequire(import.meta.url);
const dirname = path.dirname(fileURLToPath(import.meta.url));

// "minNodeVersion": "10.0.0" <-- For Ctrl+F when dropping node 10
Expand Down
3 changes: 3 additions & 0 deletions packages/babel-core/test/parse.js
Expand Up @@ -2,6 +2,9 @@ import fs from "fs";
import path from "path";
import { parse } from "../lib";
import { fileURLToPath } from "url";
import { createRequire } from "module";

const require = createRequire(import.meta.url);

function fixture(...args) {
return path.join(
Expand Down
@@ -1,6 +1,4 @@
"use strict";

const { targetsSupported } = require("../lib/filter-items");
import { targetsSupported } from "../lib/filter-items";

describe("targetsSupported", () => {
const MAX_VERSION = `${Number.MAX_SAFE_INTEGER}.0.0`;
Expand Down
22 changes: 12 additions & 10 deletions packages/babel-node/test/index.js
@@ -1,14 +1,16 @@
const includes = require("lodash/includes");
const readdir = require("fs-readdir-recursive");
const helper = require("@babel/helper-fixtures");
const rimraf = require("rimraf");
const { sync: makeDirSync } = require("make-dir");
const child = require("child_process");
const merge = require("lodash/merge");
const path = require("path");
const fs = require("fs");

import includes from "lodash/includes";
import readdir from "fs-readdir-recursive";
import * as helper from "@babel/helper-fixtures";
import rimraf from "rimraf";
import { sync as makeDirSync } from "make-dir";
import child from "child_process";
import merge from "lodash/merge";
import path from "path";
import fs from "fs";
import { fileURLToPath } from "url";
import { createRequire } from "module";

const require = createRequire(import.meta.url);

const dirname = path.dirname(fileURLToPath(import.meta.url));
const fixtureLoc = path.join(dirname, "fixtures");
Expand Down
Expand Up @@ -2,13 +2,15 @@ import * as babel from "@babel/core";
import { fileURLToPath } from "url";
import path from "path";

import transformCommonJS from "..";

test("Doesn't use the same object for two different nodes in the AST", function () {
const code = 'import Foo from "bar"; Foo; Foo;';

const ast = babel.transform(code, {
cwd: path.dirname(fileURLToPath(import.meta.url)),
ast: true,
plugins: [[require("../"), { loose: true }]],
plugins: [[transformCommonJS, { loose: true }]],
}).ast;

expect(ast.program.body[0].declarations[0].id.type).toBe("Identifier");
Expand Down
Expand Up @@ -3,6 +3,8 @@ import vm from "vm";
import { fileURLToPath } from "url";
import path from "path";

import transformCommonJS from "..";

test("Re-export doesn't overwrite __esModule flag", function () {
let code = 'export * from "./dep";';
const depStub = {
Expand All @@ -15,14 +17,14 @@ test("Re-export doesn't overwrite __esModule flag", function () {
},
require: function (id) {
if (id === "./dep") return depStub;
return require(id);
throw new Error("Unexpected dependency: " + id);
},
};
context.exports = context.module.exports;

code = babel.transform(code, {
cwd: path.dirname(fileURLToPath(import.meta.url)),
plugins: [[require("../"), { loose: true }]],
plugins: [[transformCommonJS, { loose: true }]],
ast: false,
}).code;

Expand Down
@@ -1,8 +1,11 @@
import * as babel from "@babel/core";
import fs from "fs";
import { createRequire } from "module";

import transformTypeofSymbol from "..";

const require = createRequire(import.meta.url);

const readFile = path =>
new Promise((resolve, reject) =>
fs.readFile(path, "utf8", (err, contents) => {
Expand Down
@@ -1,7 +1,4 @@
"use strict";

const getOptionSpecificExcludesFor = require("../lib/get-option-specific-excludes")
.default;
import getOptionSpecificExcludesFor from "../lib/get-option-specific-excludes";

describe("defaults", () => {
describe("getOptionSpecificExcludesFor", () => {
Expand Down
24 changes: 12 additions & 12 deletions packages/babel-preset-env/test/index.spec.js
@@ -1,17 +1,17 @@
"use strict";
import compatData from "@babel/compat-data/plugins";

const babelPresetEnv = require("../lib/index");
const removeRegeneratorEntryPlugin = require("../lib/polyfills/regenerator")
.default;
const pluginCoreJS2 = require("babel-plugin-polyfill-corejs2").default;
const pluginCoreJS3 = require("babel-plugin-polyfill-corejs3").default;
const pluginRegenerator = require("babel-plugin-polyfill-regenerator").default;
const pluginLegacyBabelPolyfill = require("../lib/polyfills/babel-polyfill")
.default;
const transformations = require("../lib/module-transformations").default;
import * as babelPresetEnv from "../lib/index";
import removeRegeneratorEntryPlugin from "../lib/polyfills/regenerator/entry-plugin";
import pluginLegacyBabelPolyfill from "../lib/polyfills/babel-polyfill";
import transformations from "../lib/module-transformations";
import availablePlugins from "../lib/available-plugins";

const compatData = require("@babel/compat-data/plugins");
const availablePlugins = require("../lib/available-plugins").default;
import _pluginCoreJS2 from "babel-plugin-polyfill-corejs2";
import _pluginCoreJS3 from "babel-plugin-polyfill-corejs3";
import _pluginRegenerator from "babel-plugin-polyfill-regenerator";
const pluginCoreJS2 = _pluginCoreJS2.default;
const pluginCoreJS3 = _pluginCoreJS3.default;
const pluginRegenerator = _pluginRegenerator.default;

describe("babel-preset-env", () => {
describe("transformIncludesAndExcludes", () => {
Expand Down

0 comments on commit b86a6b9

Please sign in to comment.