aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/eslint-plugin-turbo/__tests__/lib/no-undeclared-env-vars.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/eslint-plugin-turbo/__tests__/lib/no-undeclared-env-vars.test.ts')
-rw-r--r--packages/eslint-plugin-turbo/__tests__/lib/no-undeclared-env-vars.test.ts433
1 files changed, 0 insertions, 433 deletions
diff --git a/packages/eslint-plugin-turbo/__tests__/lib/no-undeclared-env-vars.test.ts b/packages/eslint-plugin-turbo/__tests__/lib/no-undeclared-env-vars.test.ts
deleted file mode 100644
index 5c753dd..0000000
--- a/packages/eslint-plugin-turbo/__tests__/lib/no-undeclared-env-vars.test.ts
+++ /dev/null
@@ -1,433 +0,0 @@
-import { RULES } from "../../lib/constants";
-import rule from "../../lib/rules/no-undeclared-env-vars";
-import { RuleTester } from "eslint";
-import path from "path";
-
-const ruleTester = new RuleTester({
- parserOptions: { ecmaVersion: 2020 },
-});
-
-ruleTester.run(RULES.noUndeclaredEnvVars, rule, {
- valid: [
- {
- code: `
- const { ENV_2 } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/workspace-configs") },
- ],
- filename: path.join(
- __dirname,
- "../../__fixtures__/workspace-configs/apps/web/index.js"
- ),
- },
- {
- code: `
- const { ENV_1 } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/workspace-configs") },
- ],
- filename: path.join(
- __dirname,
- "../../__fixtures__/workspace-configs/apps/web/index.js"
- ),
- },
- {
- code: `
- const { ENV_1 } = process.env;
- `,
- options: [{ cwd: "/some/random/path" }],
- },
- {
- code: `
- const { CI } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/workspace-configs") },
- ],
- filename: path.join(
- __dirname,
- "../../__fixtures__/workspace-configs/apps/web/index.js"
- ),
- },
- {
- code: `
- const { TASK_ENV_KEY, ANOTHER_ENV_KEY } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: `
- const { NEW_STYLE_ENV_KEY, TASK_ENV_KEY } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: `
- const { NEW_STYLE_GLOBAL_ENV_KEY, TASK_ENV_KEY } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: `
- const val = process.env["NEW_STYLE_GLOBAL_ENV_KEY"];
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: `
- const { TASK_ENV_KEY, ANOTHER_ENV_KEY } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: `
- const x = process.env.GLOBAL_ENV_KEY;
- const { TASK_ENV_KEY, GLOBAL_ENV_KEY: renamedX } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: "var x = process.env.GLOBAL_ENV_KEY;",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: "let x = process.env.TASK_ENV_KEY;",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: "const x = process.env.ANOTHER_KEY_VALUE;",
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ANOTHER_KEY_[A-Z]+$"],
- },
- ],
- },
- {
- code: `
- var x = process.env.ENV_VAR_ONE;
- var y = process.env.ENV_VAR_TWO;
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ENV_VAR_[A-Z]+$"],
- },
- ],
- },
- {
- code: `
- var x = process.env.ENV_VAR_ONE;
- var y = process.env.ENV_VAR_TWO;
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ENV_VAR_O[A-Z]+$", "ENV_VAR_TWO"],
- },
- ],
- },
- {
- code: `
- var globalOrTask = process.env.TASK_ENV_KEY || process.env.GLOBAL_ENV_KEY;
- var oneOrTwo = process.env.ENV_VAR_ONE || process.env.ENV_VAR_TWO;
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ENV_VAR_[A-Z]+$"],
- },
- ],
- },
- {
- code: `
- () => { return process.env.GLOBAL_ENV_KEY }
- () => { return process.env.TASK_ENV_KEY }
- () => { return process.env.ENV_VAR_ALLOWED }
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ENV_VAR_[A-Z]+$"],
- },
- ],
- },
- {
- code: `
- var foo = process?.env.GLOBAL_ENV_KEY
- var foo = process?.env.TASK_ENV_KEY
- var foo = process?.env.ENV_VAR_ALLOWED
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ENV_VAR_[A-Z]+$"],
- },
- ],
- },
- {
- code: `
- function test(arg1 = process.env.GLOBAL_ENV_KEY) {};
- function test(arg1 = process.env.TASK_ENV_KEY) {};
- function test(arg1 = process.env.ENV_VAR_ALLOWED) {};
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ENV_VAR_[A-Z]+$"],
- },
- ],
- },
- {
- code: `
- (arg1 = process.env.GLOBAL_ENV_KEY) => {}
- (arg1 = process.env.TASK_ENV_KEY) => {}
- (arg1 = process.env.ENV_VAR_ALLOWED) => {}
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ENV_VAR_[A-Z]+$"],
- },
- ],
- },
- {
- code: "const getEnv = (key) => process.env[key];",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: "function getEnv(key) { return process.env[key]; }",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- {
- code: "for (let x of ['ONE', 'TWO', 'THREE']) { console.log(process.env[x]); }",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- },
- ],
-
- invalid: [
- {
- code: `
- const { ENV_2 } = process.env;
- `,
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/workspace-configs") },
- ],
- filename: path.join(
- __dirname,
- "../../__fixtures__/workspace-configs/apps/docs/index.js"
- ),
- errors: [
- {
- message:
- "ENV_2 is not listed as a dependency in the root turbo.json or workspace (apps/docs) turbo.json",
- },
- ],
- },
- {
- code: "let { X } = process.env;",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- errors: [{ message: "X is not listed as a dependency in turbo.json" }],
- },
- {
- code: "const { X, Y, Z } = process.env;",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- errors: [
- { message: "X is not listed as a dependency in turbo.json" },
- { message: "Y is not listed as a dependency in turbo.json" },
- { message: "Z is not listed as a dependency in turbo.json" },
- ],
- },
- {
- code: "const { X, Y: NewName, Z } = process.env;",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- errors: [
- { message: "X is not listed as a dependency in turbo.json" },
- { message: "Y is not listed as a dependency in turbo.json" },
- { message: "Z is not listed as a dependency in turbo.json" },
- ],
- },
- {
- code: "var x = process.env.NOT_THERE;",
- options: [
- { cwd: path.join(__dirname, "../../__fixtures__/configs/single") },
- ],
- errors: [
- {
- message: "NOT_THERE is not listed as a dependency in turbo.json",
- },
- ],
- },
- {
- code: "var x = process.env.KEY;",
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- allowList: ["^ANOTHER_KEY_[A-Z]+$"],
- },
- ],
- errors: [{ message: "KEY is not listed as a dependency in turbo.json" }],
- },
- {
- code: `
- var globalOrTask = process.env.TASK_ENV_KEY_NEW || process.env.GLOBAL_ENV_KEY_NEW;
- var oneOrTwo = process.env.ENV_VAR_ONE || process.env.ENV_VAR_TWO;
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- },
- ],
- errors: [
- {
- message:
- "TASK_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "GLOBAL_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message: "ENV_VAR_ONE is not listed as a dependency in turbo.json",
- },
- {
- message: "ENV_VAR_TWO is not listed as a dependency in turbo.json",
- },
- ],
- },
- {
- code: `
- () => { return process.env.GLOBAL_ENV_KEY_NEW }
- () => { return process.env.TASK_ENV_KEY_NEW }
- () => { return process.env.ENV_VAR_NOT_ALLOWED }
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- },
- ],
- errors: [
- {
- message:
- "GLOBAL_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "TASK_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "ENV_VAR_NOT_ALLOWED is not listed as a dependency in turbo.json",
- },
- ],
- },
- {
- code: `
- var foo = process?.env.GLOBAL_ENV_KEY_NEW
- var foo = process?.env.TASK_ENV_KEY_NEW
- var foo = process?.env.ENV_VAR_NOT_ALLOWED
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- },
- ],
- errors: [
- {
- message:
- "GLOBAL_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "TASK_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "ENV_VAR_NOT_ALLOWED is not listed as a dependency in turbo.json",
- },
- ],
- },
- {
- code: `
- function test(arg1 = process.env.GLOBAL_ENV_KEY_NEW) {};
- function test(arg1 = process.env.TASK_ENV_KEY_NEW) {};
- function test(arg1 = process.env.ENV_VAR_NOT_ALLOWED) {};
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- },
- ],
- errors: [
- {
- message:
- "GLOBAL_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "TASK_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "ENV_VAR_NOT_ALLOWED is not listed as a dependency in turbo.json",
- },
- ],
- },
- {
- code: `
- (arg1 = process.env.GLOBAL_ENV_KEY_NEW) => {}
- (arg1 = process.env.TASK_ENV_KEY_NEW) => {}
- (arg1 = process.env.ENV_VAR_NOT_ALLOWED) => {}
- `,
- options: [
- {
- cwd: path.join(__dirname, "../../__fixtures__/configs/single"),
- },
- ],
- errors: [
- {
- message:
- "GLOBAL_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "TASK_ENV_KEY_NEW is not listed as a dependency in turbo.json",
- },
- {
- message:
- "ENV_VAR_NOT_ALLOWED is not listed as a dependency in turbo.json",
- },
- ],
- },
- ],
-});