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
/dist
/coverage
node_modules
/.nx/cache
/.nx/workspace-data
/node_modules
.angular
.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 [
...nx.configs['flat/base'],
@@ -7,27 +9,34 @@ export default [
{
ignores: ['**/dist'],
},
{
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
rules: {
'@nx/enforce-module-boundaries': [
'error',
{
enforceBuildableLibDependency: true,
allow: ['^.*/eslint(\\.base)?\\.config\\.[cm]?js$'],
depConstraints: [
{
sourceTag: '*',
onlyDependOnLibsWithTags: ['*'],
},
],
},
],
},
},
// Bis Module Boundaries gelöst sind, wird das Plugin nicht verwendet
// {
// files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
// rules: {
// '@nx/enforce-module-boundaries': [
// 'error',
// {
// enforceBuildableLibDependency: true,
// allow: ['^.*/eslint(\\.base)?\\.config\\.[cm]?js$'],
// depConstraints: [
// {
// sourceTag: '*',
// onlyDependOnLibsWithTags: ['*'],
// },
// ],
// },
// ],
// },
// },
{
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx', '**/*.cjs', '**/*.mjs'],
// 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",
"eslint": "^9.8.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.2.3",
"husky": "^9.1.7",
"jasmine-core": "~5.4.0",
"jasmine-marbles": "^0.9.2",
@@ -89,7 +90,7 @@
"ng-swagger-gen": "^2.3.1",
"nx": "20.4.6",
"postcss": "^8.5.3",
"prettier": "~3.5.2",
"prettier": "^3.5.2",
"pretty-quick": "~4.0.0",
"tailwindcss": "^3.4.14",
"ts-jest": "^29.1.0",
@@ -8553,6 +8554,19 @@
"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": {
"version": "4.30.1",
"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"
}
},
"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": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -14638,6 +14683,13 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"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": {
"version": "3.3.3",
"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"
}
},
"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": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
@@ -25143,6 +25208,23 @@
"dev": true,
"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": {
"version": "3.4.17",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz",

View File

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

View File

@@ -17,19 +17,31 @@
"@core/*": ["apps/isa-app/src/core/*/index.ts"],
"@domain/*": ["apps/isa-app/src/domain/*/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/services": ["libs/feature/return/services/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/cat-search-api": ["generated/swagger/cat-search-api/src/index.ts"],
"@generated/swagger/checkout-api": ["generated/swagger/checkout-api/src/index.ts"],
"@generated/swagger/availability-api": [
"generated/swagger/availability-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/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/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"],
"@hub/*": ["apps/isa-app/src/hub/*/index.ts"],
"@modal/*": ["apps/isa-app/src/modal/*/index.ts"],