Skip to content

Commit

Permalink
feat(storm-ops): Converted repository eslint to flat structure
Browse files Browse the repository at this point in the history
  • Loading branch information
sullivanpj committed Nov 7, 2023
1 parent 0fd0feb commit a738c3a
Show file tree
Hide file tree
Showing 15 changed files with 297 additions and 300 deletions.
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

40 changes: 0 additions & 40 deletions .eslintrc.json

This file was deleted.

58 changes: 58 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
const { FlatCompat } = require("@eslint/eslintrc");
const nxEslintPlugin = require("@nx/eslint-plugin");
const typescriptConfig = require("@storm-software/linting-tools/eslint/typescript");
const javascriptConfig = require("@storm-software/linting-tools/eslint/javascript");
const graphqlConfig = require("@storm-software/linting-tools/eslint/graphql");
const jestConfig = require("@storm-software/linting-tools/eslint/jest");
const jsonConfig = require("@storm-software/linting-tools/eslint/json");
const reactConfig = require("@storm-software/linting-tools/eslint/react");
const nextConfig = require("@storm-software/linting-tools/eslint/next");
const js = require("@eslint/js");
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended
});

module.exports = [
{ plugins: { "@nx": nxEslintPlugin } },
...compat.config({ parser: "jsonc-eslint-parser" }).map(config => ({
...config,
files: ["**/*.json"],
rules: {}
})),
{
files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"],
rules: {
"@nx/enforce-module-boundaries": [
"error",
{
enforceBuildableLibDependency: true,
allow: [],
depConstraints: [
{
sourceTag: "*",
onlyDependOnLibsWithTags: ["*"]
}
]
}
]
}
},
...compat.config({ extends: ["plugin:@nx/typescript"] }).map(config => ({
...config,
files: ["**/*.ts", "**/*.tsx"],
rules: {}
})),
...compat.config({ extends: ["plugin:@nx/javascript"] }).map(config => ({
...config,
files: ["**/*.js", "**/*.jsx"],
rules: {}
})),
...compat.config(typescriptConfig),
...compat.config(javascriptConfig),
...compat.config(graphqlConfig),
...compat.config(jestConfig),
...compat.config(jsonConfig),
...compat.config(reactConfig),
...compat.config(nextConfig)
];
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
},
"prettier": "./dist/packages/linting-tools/prettier/config.json",
"dependencies": {
"@eslint/eslintrc": "^2.1.1",
"@nx/devkit": "17.0.3",
"@nx/esbuild": "17.0.3",
"@nx/eslint": "17.0.3",
Expand Down
35 changes: 0 additions & 35 deletions packages/create-storm-workspace/.eslintrc.json

This file was deleted.

49 changes: 49 additions & 0 deletions packages/create-storm-workspace/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
const { FlatCompat } = require("@eslint/eslintrc");
const baseConfig = require("../../eslint.config.js");
const js = require("@eslint/js");
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended
});
module.exports = [
...baseConfig,
{
files: [
"packages/create-storm-workspace/**/*.ts",
"packages/create-storm-workspace/**/*.tsx",
"packages/create-storm-workspace/**/*.js",
"packages/create-storm-workspace/**/*.jsx"
],
parserOptions: {
project: ["packages/create-storm-workspace/tsconfig.*?.json"]
},
rules: {}
},
{
files: [
"packages/create-storm-workspace/**/*.ts",
"packages/create-storm-workspace/**/*.tsx"
],
rules: {}
},
{
files: [
"packages/create-storm-workspace/**/*.js",
"packages/create-storm-workspace/**/*.jsx"
],
rules: {}
},
...compat.config({ parser: "jsonc-eslint-parser" }).map(config => ({
...config,
files: ["packages/create-storm-workspace/**/*.json"],
rules: { "@nx/dependency-checks": "error" }
})),
...compat.config({ parser: "jsonc-eslint-parser" }).map(config => ({
...config,
files: [
"packages/create-storm-workspace/package.json",
"packages/create-storm-workspace/generators.json"
],
rules: { "@nx/nx-plugin-checks": "error" }
}))
];
33 changes: 0 additions & 33 deletions packages/git-tools/.eslintrc.json

This file was deleted.

38 changes: 38 additions & 0 deletions packages/git-tools/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
const { FlatCompat } = require("@eslint/eslintrc");
const baseConfig = require("../../eslint.config.js");
const js = require("@eslint/js");
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended
});
module.exports = [
...baseConfig,
{
files: [
"packages/git-tools/**/*.ts",
"packages/git-tools/**/*.tsx",
"packages/git-tools/**/*.js",
"packages/git-tools/**/*.jsx"
],
parserOptions: { project: ["packages/git-tools/tsconfig.*?.json"] },
rules: {}
},
{
files: ["packages/git-tools/**/*.ts", "packages/git-tools/**/*.tsx"],
rules: {}
},
{
files: ["packages/git-tools/**/*.js", "packages/git-tools/**/*.jsx"],
rules: {}
},
...compat.config({ parser: "jsonc-eslint-parser" }).map(config => ({
...config,
files: ["packages/git-tools/**/*.json"],
rules: {
"@nx/dependency-checks": [
"error",
{ ignoredFiles: ["{projectRoot}/esbuild.config.{js,ts,mjs,mts}"] }
]
}
}))
];
33 changes: 0 additions & 33 deletions packages/linting-tools/.eslintrc.json

This file was deleted.

44 changes: 44 additions & 0 deletions packages/linting-tools/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
const { FlatCompat } = require("@eslint/eslintrc");
const baseConfig = require("../../eslint.config.js");
const js = require("@eslint/js");
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended
});
module.exports = [
...baseConfig,
{
files: [
"packages/linting-tools/**/*.ts",
"packages/linting-tools/**/*.tsx",
"packages/linting-tools/**/*.js",
"packages/linting-tools/**/*.jsx"
],
parserOptions: { project: ["packages/linting-tools/tsconfig.*?.json"] },
rules: {}
},
{
files: [
"packages/linting-tools/**/*.ts",
"packages/linting-tools/**/*.tsx"
],
rules: {}
},
{
files: [
"packages/linting-tools/**/*.js",
"packages/linting-tools/**/*.jsx"
],
rules: {}
},
...compat.config({ parser: "jsonc-eslint-parser" }).map(config => ({
...config,
files: ["packages/linting-tools/**/*.json"],
rules: {
"@nx/dependency-checks": [
"error",
{ ignoredFiles: ["{projectRoot}/esbuild.config.{js,ts,mjs,mts}"] }
]
}
}))
];
35 changes: 0 additions & 35 deletions packages/workspace-tools/.eslintrc.json

This file was deleted.

Loading

0 comments on commit a738c3a

Please sign in to comment.