diff --git a/.prettierignore b/.prettierignore index 3a54a1834..6e94a6652 100644 --- a/.prettierignore +++ b/.prettierignore @@ -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 \ No newline at end of file diff --git a/eslint.config.mjs b/eslint.config.mjs index 41e4e7252..7c0d96901 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -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, }, -]; +] diff --git a/package-lock.json b/package-lock.json index 4f76adbdb..cd82c2e97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index 7ea97aaba..ccf2b34fe 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/tsconfig.base.json b/tsconfig.base.json index 129da59b0..055f55209 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -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"],