From cc46acfd16c23c9e5671d536d51ff5e648d754e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=AF=E7=84=B6?= Date: Wed, 24 Apr 2024 12:57:07 +0800 Subject: [PATCH] chore: add a few more tests --- .../__snapshots__/config@eslint-config-airbnb | 27 +++++++++++++++++++ ...-base => config@eslint-config-airbnb-base} | 0 .../config@eslint-config-standard | 26 ++++++++++++++++++ ...lint-config-xo => config@eslint-config-xo} | 0 tests/config-snapshots.spec.js | 14 ++++++++-- 5 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 tests/__snapshots__/config@eslint-config-airbnb rename tests/__snapshots__/{config-eslint-config-airbnb-base => config@eslint-config-airbnb-base} (100%) create mode 100644 tests/__snapshots__/config@eslint-config-standard rename tests/__snapshots__/{config--eslint-config-xo => config@eslint-config-xo} (100%) diff --git a/tests/__snapshots__/config@eslint-config-airbnb b/tests/__snapshots__/config@eslint-config-airbnb new file mode 100644 index 0000000..8a37ae6 --- /dev/null +++ b/tests/__snapshots__/config@eslint-config-airbnb @@ -0,0 +1,27 @@ +{ + "configContent": " +import path from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; +import pluginJs from "@eslint/js"; + +// mimic CommonJS variables -- not needed if using CommonJS +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({baseDirectory: __dirname, recommendedConfig: pluginJs.configs.recommended}); + +export default [ + ...compat.extends("airbnb"), +];", + "configFilename": "eslint.config.mjs", + "devDependencies": [ + "eslint-config-airbnb", + "eslint@^7.32.0 || ^8.2.0", + "eslint-plugin-import@^2.25.3", + "eslint-plugin-jsx-a11y@^6.5.1", + "eslint-plugin-react@^7.28.0", + "eslint-plugin-react-hooks@^4.3.0", + "@eslint/eslintrc", + "@eslint/js", + ], +} \ No newline at end of file diff --git a/tests/__snapshots__/config-eslint-config-airbnb-base b/tests/__snapshots__/config@eslint-config-airbnb-base similarity index 100% rename from tests/__snapshots__/config-eslint-config-airbnb-base rename to tests/__snapshots__/config@eslint-config-airbnb-base diff --git a/tests/__snapshots__/config@eslint-config-standard b/tests/__snapshots__/config@eslint-config-standard new file mode 100644 index 0000000..f16330b --- /dev/null +++ b/tests/__snapshots__/config@eslint-config-standard @@ -0,0 +1,26 @@ +{ + "configContent": " +import path from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; +import pluginJs from "@eslint/js"; + +// mimic CommonJS variables -- not needed if using CommonJS +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({baseDirectory: __dirname, recommendedConfig: pluginJs.configs.recommended}); + +export default [ + ...compat.extends("standard"), +];", + "configFilename": "eslint.config.mjs", + "devDependencies": [ + "eslint-config-standard", + "eslint@^8.0.1", + "eslint-plugin-import@^2.25.2", + "eslint-plugin-n@^15.0.0 || ^16.0.0 ", + "eslint-plugin-promise@^6.0.0", + "@eslint/eslintrc", + "@eslint/js", + ], +} \ No newline at end of file diff --git a/tests/__snapshots__/config--eslint-config-xo b/tests/__snapshots__/config@eslint-config-xo similarity index 100% rename from tests/__snapshots__/config--eslint-config-xo rename to tests/__snapshots__/config@eslint-config-xo diff --git a/tests/config-snapshots.spec.js b/tests/config-snapshots.spec.js index e8c8053..f39bc0e 100644 --- a/tests/config-snapshots.spec.js +++ b/tests/config-snapshots.spec.js @@ -72,16 +72,26 @@ describe("generate config for esm projects", () => { describe("generate config for cjs projects", () => { const cjsProjectDir = join(__filename, "../fixtures/cjs-project"); const inputs = [{ - name: "config--eslint-config-xo", + name: "config@eslint-config-xo", answers: { config: { packageName: "eslint-config-xo", type: "eslintrc" } } }, { - name: "config-eslint-config-airbnb-base", + name: "config@eslint-config-airbnb-base", answers: { config: { packageName: "eslint-config-airbnb-base", type: "eslintrc" } } + }, { + name: "config@eslint-config-airbnb", + answers: { + config: { packageName: "eslint-config-airbnb", type: "eslintrc" } + } + }, { + name: "config@eslint-config-standard", + answers: { + config: { packageName: "eslint-config-standard", type: "eslintrc" } + } }]; inputs.forEach(item => {