From a53a2cdd34a46d6442c030192b449a855b69fca3 Mon Sep 17 00:00:00 2001 From: Manuel <30572287+manuel-rw@users.noreply.github.com> Date: Sun, 1 Dec 2024 22:59:11 +0100 Subject: [PATCH] feat: add prettier packagejson plugin (#1577) --- packages/db/package.json | 4 +- packages/definitions/package.json | 4 +- packages/integrations/package.json | 1 + packages/modals-collection/package.json | 10 +-- packages/old-import/package.json | 10 +-- packages/old-schema/package.json | 10 +-- packages/request-handler/package.json | 10 +-- packages/spotlight/package.json | 4 +- packages/ui/package.json | 4 +- pnpm-lock.yaml | 89 ++++++++++++++++++++++++- tooling/eslint/package.json | 6 +- tooling/prettier/index.mjs | 2 +- tooling/prettier/package.json | 7 +- 13 files changed, 124 insertions(+), 37 deletions(-) diff --git a/packages/db/package.json b/packages/db/package.json index 592a19cb4..a6a0a7df1 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -21,12 +21,12 @@ "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "lint": "eslint", + "migration:mysql:drop": "drizzle-kit drop --config ./configs/mysql.config.ts", "migration:mysql:generate": "drizzle-kit generate --config ./configs/mysql.config.ts", "migration:mysql:run": "drizzle-kit migrate --config ./configs/mysql.config.ts && pnpm run seed", - "migration:mysql:drop": "drizzle-kit drop --config ./configs/mysql.config.ts", + "migration:sqlite:drop": "drizzle-kit drop --config ./configs/sqlite.config.ts", "migration:sqlite:generate": "drizzle-kit generate --config ./configs/sqlite.config.ts", "migration:sqlite:run": "drizzle-kit migrate --config ./configs/sqlite.config.ts && pnpm run seed", - "migration:sqlite:drop": "drizzle-kit drop --config ./configs/sqlite.config.ts", "push:mysql": "drizzle-kit push --config ./configs/mysql.config.ts", "push:sqlite": "drizzle-kit push --config ./configs/sqlite.config.ts", "seed": "pnpm with-env tsx ./migrations/run-seed.ts", diff --git a/packages/definitions/package.json b/packages/definitions/package.json index a79b997e5..55d970fea 100644 --- a/packages/definitions/package.json +++ b/packages/definitions/package.json @@ -17,9 +17,9 @@ "scripts": { "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", + "postinstall": "tsx ./src/docs/codegen.ts", "lint": "eslint", - "typecheck": "tsc --noEmit", - "postinstall": "tsx ./src/docs/codegen.ts" + "typecheck": "tsc --noEmit" }, "prettier": "@homarr/prettier-config", "dependencies": { diff --git a/packages/integrations/package.json b/packages/integrations/package.json index 0bbb8b786..b5e125176 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -31,6 +31,7 @@ "@homarr/db": "workspace:^0.1.0", "@homarr/definitions": "workspace:^0.1.0", "@homarr/log": "workspace:^0.1.0", + "@homarr/redis": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@jellyfin/sdk": "^0.11.0", diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index 372b70d01..05b7ca694 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -1,7 +1,8 @@ { "name": "@homarr/modals-collection", - "private": true, "version": "0.1.0", + "private": true, + "license": "MIT", "type": "module", "exports": { ".": "./index.ts" @@ -13,13 +14,13 @@ ] } }, - "license": "MIT", "scripts": { "clean": "rm -rf .turbo node_modules", - "lint": "eslint", "format": "prettier --check . --ignore-path ../../.gitignore", + "lint": "eslint", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/api": "workspace:^0.1.0", "@homarr/common": "workspace:^0.1.0", @@ -42,6 +43,5 @@ "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^9.16.0", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } } diff --git a/packages/old-import/package.json b/packages/old-import/package.json index 0743ec850..17164ebe7 100644 --- a/packages/old-import/package.json +++ b/packages/old-import/package.json @@ -1,7 +1,8 @@ { "name": "@homarr/old-import", - "private": true, "version": "0.1.0", + "private": true, + "license": "MIT", "type": "module", "exports": { ".": "./index.ts" @@ -13,13 +14,13 @@ ] } }, - "license": "MIT", "scripts": { "clean": "rm -rf .turbo node_modules", - "lint": "eslint", "format": "prettier --check . --ignore-path ../../.gitignore", + "lint": "eslint", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", @@ -35,6 +36,5 @@ "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^9.16.0", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } } diff --git a/packages/old-schema/package.json b/packages/old-schema/package.json index 1bce54e70..cdca0e169 100644 --- a/packages/old-schema/package.json +++ b/packages/old-schema/package.json @@ -1,7 +1,8 @@ { "name": "@homarr/old-schema", - "private": true, "version": "0.1.0", + "private": true, + "license": "MIT", "type": "module", "exports": { ".": "./index.ts" @@ -13,13 +14,13 @@ ] } }, - "license": "MIT", "scripts": { "clean": "rm -rf .turbo node_modules", - "lint": "eslint", "format": "prettier --check . --ignore-path ../../.gitignore", + "lint": "eslint", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "zod": "^3.23.8" }, @@ -29,6 +30,5 @@ "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^9.16.0", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } } diff --git a/packages/request-handler/package.json b/packages/request-handler/package.json index 210117dae..1bff8430b 100644 --- a/packages/request-handler/package.json +++ b/packages/request-handler/package.json @@ -1,7 +1,8 @@ { "name": "@homarr/request-handler", - "private": true, "version": "0.1.0", + "private": true, + "license": "MIT", "type": "module", "exports": { "./*": "./src/*.ts" @@ -13,13 +14,13 @@ ] } }, - "license": "MIT", "scripts": { "clean": "rm -rf .turbo node_modules", - "lint": "eslint", "format": "prettier --check . --ignore-path ../../.gitignore", + "lint": "eslint", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", @@ -36,6 +37,5 @@ "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^9.16.0", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } } diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 1bdaf22c4..2a0cd4ac7 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -21,6 +21,7 @@ "lint": "eslint", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/api": "workspace:^0.1.0", "@homarr/auth": "workspace:^0.1.0", @@ -46,6 +47,5 @@ "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^9.16.0", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } } diff --git a/packages/ui/package.json b/packages/ui/package.json index 10bb6586a..2d595e219 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -22,6 +22,7 @@ "lint": "eslint", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/common": "workspace:^0.1.0", "@homarr/definitions": "workspace:^0.1.0", @@ -43,6 +44,5 @@ "@types/css-modules": "^1.0.5", "eslint": "^9.16.0", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 58e695210..b753f998f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: 4.3.4(vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) '@vitest/coverage-v8': specifier: ^2.1.6 - version: 2.1.6(vitest@2.1.6) + version: 2.1.6(vitest@2.1.6(@types/node@22.10.1)(@vitest/ui@2.1.6)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) '@vitest/ui': specifier: ^2.1.6 version: 2.1.6(vitest@2.1.6) @@ -1008,6 +1008,9 @@ importers: '@homarr/log': specifier: workspace:^0.1.0 version: link:../log + '@homarr/redis': + specifier: workspace:^0.1.0 + version: link:../redis '@homarr/translation': specifier: workspace:^0.1.0 version: link:../translation @@ -1787,6 +1790,9 @@ importers: '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../typescript + prettier-plugin-packagejson: + specifier: ^2.5.6 + version: 2.5.6(prettier@3.4.1) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -3119,6 +3125,10 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -4780,6 +4790,10 @@ packages: destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + detect-libc@1.0.3: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} @@ -4789,6 +4803,10 @@ packages: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} + detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -5429,6 +5447,10 @@ packages: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} + get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -5444,6 +5466,9 @@ packages: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} + git-hooks-list@3.1.0: + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} @@ -5815,6 +5840,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} @@ -6759,6 +6788,14 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-plugin-packagejson@2.5.6: + resolution: {integrity: sha512-TY7KiLtyt6Tlf53BEbXUWkN0+TRdHKgIMmtXtDCyHH6yWnZ50Lwq6Vb6lyjapZrhDTXooC4EtlY5iLe1sCgi5w==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + prettier@3.4.1: resolution: {integrity: sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==} engines: {node: '>=14'} @@ -7385,6 +7422,13 @@ packages: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + + sort-package-json@2.12.0: + resolution: {integrity: sha512-/HrPQAeeLaa+vbAH/znjuhwUluuiM/zL5XX9kop8UpDgjtyWKt43hGDk2vd/TBdDpzIyzIHVUgmYofzYrAQjew==} + hasBin: true + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -7565,6 +7609,10 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -9436,6 +9484,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pkgr/core@0.1.1': {} + '@pnpm/config.env-replace@1.1.0': {} '@pnpm/network.ca-file@1.0.2': @@ -10545,7 +10595,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.6(vitest@2.1.6)': + '@vitest/coverage-v8@2.1.6(vitest@2.1.6(@types/node@22.10.1)(@vitest/ui@2.1.6)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -11481,11 +11531,15 @@ snapshots: destr@2.0.3: {} + detect-indent@7.0.1: {} + detect-libc@1.0.3: optional: true detect-libc@2.0.3: {} + detect-newline@4.0.1: {} + detect-node-es@1.1.0: {} diff@4.0.2: {} @@ -12275,6 +12329,8 @@ snapshots: get-port@5.1.1: {} + get-stdin@9.0.0: {} + get-stream@6.0.1: {} get-symbol-description@1.0.2: @@ -12296,6 +12352,8 @@ snapshots: transitivePeerDependencies: - supports-color + git-hooks-list@3.1.0: {} + github-from-package@0.0.0: {} glob-parent@5.1.2: @@ -12709,6 +12767,8 @@ snapshots: is-path-inside@3.0.3: {} + is-plain-obj@4.1.0: {} + is-potential-custom-element-name@1.0.1: {} is-property@1.0.2: {} @@ -13667,6 +13727,13 @@ snapshots: prelude-ls@1.2.1: {} + prettier-plugin-packagejson@2.5.6(prettier@3.4.1): + dependencies: + sort-package-json: 2.12.0 + synckit: 0.9.2 + optionalDependencies: + prettier: 3.4.1 + prettier@3.4.1: {} pretty-format@3.8.0: {} @@ -14413,6 +14480,19 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 + sort-object-keys@1.1.3: {} + + sort-package-json@2.12.0: + dependencies: + detect-indent: 7.0.1 + detect-newline: 4.0.1 + get-stdin: 9.0.0 + git-hooks-list: 3.1.0 + is-plain-obj: 4.1.0 + semver: 7.6.3 + sort-object-keys: 1.1.3 + tinyglobby: 0.2.10 + source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -14653,6 +14733,11 @@ snapshots: symbol-tree@3.2.4: {} + synckit@0.9.2: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.7.0 + tabbable@6.2.0: {} tapable@2.2.1: {} diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index f3dc10860..be8fb2abb 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -11,10 +11,11 @@ }, "scripts": { "clean": "rm -rf .turbo node_modules", - "lint": "eslint", "format": "prettier --check . --ignore-path ../../.gitignore", + "lint": "eslint", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "@next/eslint-plugin-next": "^14.2.18", "eslint-config-prettier": "^9.1.0", @@ -30,6 +31,5 @@ "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^9.16.0", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } } diff --git a/tooling/prettier/index.mjs b/tooling/prettier/index.mjs index 5a82b1ec7..5cf504b6d 100644 --- a/tooling/prettier/index.mjs +++ b/tooling/prettier/index.mjs @@ -3,7 +3,7 @@ /** @type { PrettierConfig | SortImportsConfig } */ const config = { - plugins: ["@ianvs/prettier-plugin-sort-imports"], + plugins: ["@ianvs/prettier-plugin-sort-imports", "prettier-plugin-packagejson"], importOrder: [ "^(react/(.*)$)|^react$", "^(next/(.*)$)|^(next$)", diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json index b0cd18034..8ad4dfdb0 100644 --- a/tooling/prettier/package.json +++ b/tooling/prettier/package.json @@ -1,20 +1,21 @@ { "name": "@homarr/prettier-config", - "private": true, "version": "0.1.0", + "private": true, "main": "index.mjs", "scripts": { "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "typecheck": "tsc --noEmit" }, + "prettier": "@homarr/prettier-config", "dependencies": { "@ianvs/prettier-plugin-sort-imports": "^4.4.0", "prettier": "^3.4.1" }, "devDependencies": { "@homarr/tsconfig": "workspace:^0.1.0", + "prettier-plugin-packagejson": "^2.5.6", "typescript": "^5.7.2" - }, - "prettier": "@homarr/prettier-config" + } }