chore: update ESLint and Prettier configurations, add eslint-plugin-prettier, and modify .prettierignore

This commit is contained in:
Lorenz Hilpert
2025-02-26 17:42:35 +01:00
parent f52fb00df7
commit 42451e2144
5 changed files with 136 additions and 31 deletions

View File

@@ -1,7 +1,8 @@
# Add files here to ignore them from prettier formatting # Add files here to ignore them from prettier formatting
/dist /dist
/coverage /coverage
node_modules /.nx/cache
/.nx/workspace-data
/node_modules
.angular .angular
.vscode .vscode

View File

@@ -1,4 +1,6 @@
import nx from '@nx/eslint-plugin'; import nx from '@nx/eslint-plugin'
import prettierConfig from 'eslint-config-prettier'
import prettierPlugin from 'eslint-plugin-prettier'
export default [ export default [
...nx.configs['flat/base'], ...nx.configs['flat/base'],
@@ -7,27 +9,34 @@ export default [
{ {
ignores: ['**/dist'], ignores: ['**/dist'],
}, },
{ // Bis Module Boundaries gelöst sind, wird das Plugin nicht verwendet
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'], // {
rules: { // files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
'@nx/enforce-module-boundaries': [ // rules: {
'error', // '@nx/enforce-module-boundaries': [
{ // 'error',
enforceBuildableLibDependency: true, // {
allow: ['^.*/eslint(\\.base)?\\.config\\.[cm]?js$'], // enforceBuildableLibDependency: true,
depConstraints: [ // allow: ['^.*/eslint(\\.base)?\\.config\\.[cm]?js$'],
{ // depConstraints: [
sourceTag: '*', // {
onlyDependOnLibsWithTags: ['*'], // sourceTag: '*',
}, // onlyDependOnLibsWithTags: ['*'],
], // },
}, // ],
], // },
}, // ],
}, // },
// },
{ {
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx', '**/*.cjs', '**/*.mjs'], files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx', '**/*.cjs', '**/*.mjs'],
// Override or add rules here // Override or add rules here
rules: {}, plugins: {
prettier: prettierPlugin,
},
rules: {
'prettier/prettier': 'error',
},
...prettierConfig,
}, },
]; ]

84
package-lock.json generated
View File

@@ -72,6 +72,7 @@
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"eslint": "^9.8.0", "eslint": "^9.8.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.2.3",
"husky": "^9.1.7", "husky": "^9.1.7",
"jasmine-core": "~5.4.0", "jasmine-core": "~5.4.0",
"jasmine-marbles": "^0.9.2", "jasmine-marbles": "^0.9.2",
@@ -89,7 +90,7 @@
"ng-swagger-gen": "^2.3.1", "ng-swagger-gen": "^2.3.1",
"nx": "20.4.6", "nx": "20.4.6",
"postcss": "^8.5.3", "postcss": "^8.5.3",
"prettier": "~3.5.2", "prettier": "^3.5.2",
"pretty-quick": "~4.0.0", "pretty-quick": "~4.0.0",
"tailwindcss": "^3.4.14", "tailwindcss": "^3.4.14",
"ts-jest": "^29.1.0", "ts-jest": "^29.1.0",
@@ -8553,6 +8554,19 @@
"node": ">=14" "node": ">=14"
} }
}, },
"node_modules/@pkgr/core": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
"integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/unts"
}
},
"node_modules/@rollup/rollup-android-arm-eabi": { "node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.30.1", "version": "4.30.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz",
@@ -14021,6 +14035,37 @@
"eslint": ">=7.0.0" "eslint": ">=7.0.0"
} }
}, },
"node_modules/eslint-plugin-prettier": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz",
"integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==",
"dev": true,
"license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
"synckit": "^0.9.1"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint-plugin-prettier"
},
"peerDependencies": {
"@types/eslint": ">=8.0.0",
"eslint": ">=8.0.0",
"eslint-config-prettier": "*",
"prettier": ">=3.0.0"
},
"peerDependenciesMeta": {
"@types/eslint": {
"optional": true
},
"eslint-config-prettier": {
"optional": true
}
}
},
"node_modules/eslint-scope": { "node_modules/eslint-scope": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -14638,6 +14683,13 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true "dev": true
}, },
"node_modules/fast-diff": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/fast-glob": { "node_modules/fast-glob": {
"version": "3.3.3", "version": "3.3.3",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
@@ -22839,6 +22891,19 @@
"url": "https://github.com/prettier/prettier?sponsor=1" "url": "https://github.com/prettier/prettier?sponsor=1"
} }
}, },
"node_modules/prettier-linter-helpers": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
"integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
"dev": true,
"license": "MIT",
"dependencies": {
"fast-diff": "^1.1.2"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/pretty-format": { "node_modules/pretty-format": {
"version": "27.5.1", "version": "27.5.1",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
@@ -25143,6 +25208,23 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/synckit": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz",
"integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@pkgr/core": "^0.1.0",
"tslib": "^2.6.2"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/unts"
}
},
"node_modules/tailwindcss": { "node_modules/tailwindcss": {
"version": "3.4.17", "version": "3.4.17",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz",

View File

@@ -82,6 +82,7 @@
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"eslint": "^9.8.0", "eslint": "^9.8.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.2.3",
"husky": "^9.1.7", "husky": "^9.1.7",
"jasmine-core": "~5.4.0", "jasmine-core": "~5.4.0",
"jasmine-marbles": "^0.9.2", "jasmine-marbles": "^0.9.2",
@@ -99,7 +100,7 @@
"ng-swagger-gen": "^2.3.1", "ng-swagger-gen": "^2.3.1",
"nx": "20.4.6", "nx": "20.4.6",
"postcss": "^8.5.3", "postcss": "^8.5.3",
"prettier": "~3.5.2", "prettier": "^3.5.2",
"pretty-quick": "~4.0.0", "pretty-quick": "~4.0.0",
"tailwindcss": "^3.4.14", "tailwindcss": "^3.4.14",
"ts-jest": "^29.1.0", "ts-jest": "^29.1.0",

View File

@@ -17,19 +17,31 @@
"@core/*": ["apps/isa-app/src/core/*/index.ts"], "@core/*": ["apps/isa-app/src/core/*/index.ts"],
"@domain/*": ["apps/isa-app/src/domain/*/index.ts"], "@domain/*": ["apps/isa-app/src/domain/*/index.ts"],
"@external/*": ["apps/isa-app/src/external/*/index.ts"], "@external/*": ["apps/isa-app/src/external/*/index.ts"],
"@feature/return/containers": ["libs/feature/return/containers/src/index.ts"], "@feature/return/containers": [
"libs/feature/return/containers/src/index.ts"
],
"@feature/return/pages": ["libs/feature/return/pages/src/index.ts"], "@feature/return/pages": ["libs/feature/return/pages/src/index.ts"],
"@feature/return/services": ["libs/feature/return/services/src/index.ts"], "@feature/return/services": ["libs/feature/return/services/src/index.ts"],
"@feature/return/shared": ["libs/feature/return/shared/src/index.ts"], "@feature/return/shared": ["libs/feature/return/shared/src/index.ts"],
"@generated/swagger/availability-api": ["generated/swagger/availability-api/src/index.ts"], "@generated/swagger/availability-api": [
"@generated/swagger/cat-search-api": ["generated/swagger/cat-search-api/src/index.ts"], "generated/swagger/availability-api/src/index.ts"
"@generated/swagger/checkout-api": ["generated/swagger/checkout-api/src/index.ts"], ],
"@generated/swagger/cat-search-api": [
"generated/swagger/cat-search-api/src/index.ts"
],
"@generated/swagger/checkout-api": [
"generated/swagger/checkout-api/src/index.ts"
],
"@generated/swagger/crm-api": ["generated/swagger/crm-api/src/index.ts"], "@generated/swagger/crm-api": ["generated/swagger/crm-api/src/index.ts"],
"@generated/swagger/eis-api": ["generated/swagger/eis-api/src/index.ts"], "@generated/swagger/eis-api": ["generated/swagger/eis-api/src/index.ts"],
"@generated/swagger/inventory-api": ["generated/swagger/inventory-api/src/index.ts"], "@generated/swagger/inventory-api": [
"generated/swagger/inventory-api/src/index.ts"
],
"@generated/swagger/isa-api": ["generated/swagger/isa-api/src/index.ts"], "@generated/swagger/isa-api": ["generated/swagger/isa-api/src/index.ts"],
"@generated/swagger/oms-api": ["generated/swagger/oms-api/src/index.ts"], "@generated/swagger/oms-api": ["generated/swagger/oms-api/src/index.ts"],
"@generated/swagger/print-api": ["generated/swagger/print-api/src/index.ts"], "@generated/swagger/print-api": [
"generated/swagger/print-api/src/index.ts"
],
"@generated/swagger/wws-api": ["generated/swagger/wws-api/src/index.ts"], "@generated/swagger/wws-api": ["generated/swagger/wws-api/src/index.ts"],
"@hub/*": ["apps/isa-app/src/hub/*/index.ts"], "@hub/*": ["apps/isa-app/src/hub/*/index.ts"],
"@modal/*": ["apps/isa-app/src/modal/*/index.ts"], "@modal/*": ["apps/isa-app/src/modal/*/index.ts"],