From 20d1c4d242f1f14d48017173a780f6ed115ddc7f Mon Sep 17 00:00:00 2001 From: Sasha Sorokin <10401817+brawaru@users.noreply.github.com> Date: Sun, 11 Jun 2023 18:33:38 +0100 Subject: [PATCH] Switch to bundler TypeScript moduleResolution (#1170) --- nuxt.config.ts | 6 +++ package.json | 18 ++++---- pnpm-lock.yaml | 122 +++++++++++++++++++++++++------------------------ 3 files changed, 78 insertions(+), 68 deletions(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 4e2ff4462..576903584 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -195,6 +195,12 @@ export default defineNuxtConfig({ shim: false, strict: true, typeCheck: true, + tsConfig: { + compilerOptions: { + moduleResolution: 'bundler', + allowImportingTsExtensions: true, + }, + }, }, }) diff --git a/package.json b/package.json index c79041c4c..a13da4ac5 100644 --- a/package.json +++ b/package.json @@ -13,19 +13,19 @@ "devDependencies": { "@nuxtjs/eslint-config-typescript": "^12.0.0", "@types/node": "^20.1.0", - "@typescript-eslint/eslint-plugin": "^5.50.0", - "@typescript-eslint/parser": "^5.50.0", - "eslint": "^8.33.0", - "eslint-config-prettier": "^8.6.0", + "@typescript-eslint/eslint-plugin": "^5.59.8", + "@typescript-eslint/parser": "^5.59.8", + "eslint": "^8.41.0", + "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.9.0", + "eslint-plugin-vue": "^9.14.1", "nuxt": "^3.5.3", - "prettier": "^2.8.3", + "prettier": "^2.8.8", "sass": "^1.58.0", - "typescript": "^4.9.5", + "typescript": "^5.0.4", "vite-plugin-eslint": "^1.8.1", "vite-svg-loader": "^4.0.0", - "vue-tsc": "^1.6.4" + "vue-tsc": "^1.6.5" }, "dependencies": { "@ltd/j-toml": "^1.38.0", @@ -38,5 +38,5 @@ "vue-multiselect": "^3.0.0-alpha.2", "xss": "^1.0.14" }, - "packageManager": "pnpm@8.5.1" + "packageManager": "pnpm@8.6.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 094bb0fd4..dfdf16df4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,8 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: '@ltd/j-toml': @@ -32,40 +36,40 @@ dependencies: devDependencies: '@nuxtjs/eslint-config-typescript': specifier: ^12.0.0 - version: 12.0.0(eslint@8.42.0)(typescript@4.9.5) + version: 12.0.0(eslint@8.42.0)(typescript@5.0.4) '@types/node': specifier: ^20.1.0 version: 20.2.5 '@typescript-eslint/eslint-plugin': - specifier: ^5.50.0 - version: 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@4.9.5) + specifier: ^5.59.8 + version: 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@5.0.4) '@typescript-eslint/parser': - specifier: ^5.50.0 - version: 5.59.9(eslint@8.42.0)(typescript@4.9.5) + specifier: ^5.59.8 + version: 5.59.9(eslint@8.42.0)(typescript@5.0.4) eslint: - specifier: ^8.33.0 + specifier: ^8.41.0 version: 8.42.0 eslint-config-prettier: - specifier: ^8.6.0 + specifier: ^8.8.0 version: 8.8.0(eslint@8.42.0) eslint-plugin-prettier: specifier: ^4.2.1 version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.42.0)(prettier@2.8.8) eslint-plugin-vue: - specifier: ^9.9.0 + specifier: ^9.14.1 version: 9.14.1(eslint@8.42.0) nuxt: specifier: ^3.5.3 - version: 3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@4.9.5)(vue-tsc@1.6.5) + version: 3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@5.0.4)(vue-tsc@1.6.5) prettier: - specifier: ^2.8.3 + specifier: ^2.8.8 version: 2.8.8 sass: specifier: ^1.58.0 version: 1.63.2 typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: ^5.0.4 + version: 5.0.4 vite-plugin-eslint: specifier: ^1.8.1 version: 1.8.1(eslint@8.42.0)(vite@4.3.9) @@ -73,8 +77,8 @@ devDependencies: specifier: ^4.0.0 version: 4.0.0 vue-tsc: - specifier: ^1.6.4 - version: 1.6.5(typescript@4.9.5) + specifier: ^1.6.5 + version: 1.6.5(typescript@5.0.4) packages: @@ -830,7 +834,7 @@ packages: resolution: {integrity: sha512-PjVETP7+iZXAs5Q8O4ivl4t6qjWZMZqwiTVogUXHoHGZZcw7GZW3u3tzfYfE1HbzyYJfr236IXqQ02MeR8Fz2w==} dev: true - /@nuxt/vite-builder@3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@4.9.5)(vue-tsc@1.6.5)(vue@3.3.4): + /@nuxt/vite-builder@3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@5.0.4)(vue-tsc@1.6.5)(vue@3.3.4): resolution: {integrity: sha512-7zEKpGh3iWGRDwbWUa8eRxdLMxZtPzetelmdmXPjtYKGwUebZOcBhpeJ+VgJKOIf4OEj9E7BZS+it/Ji9UG9qw==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -869,7 +873,7 @@ packages: unplugin: 1.3.1 vite: 4.3.9(@types/node@20.2.5)(sass@1.63.2) vite-node: 0.31.4(@types/node@20.2.5)(sass@1.63.2) - vite-plugin-checker: 0.6.0(eslint@8.42.0)(typescript@4.9.5)(vite@4.3.9)(vue-tsc@1.6.5) + vite-plugin-checker: 0.6.0(eslint@8.42.0)(typescript@5.0.4)(vite@4.3.9)(vue-tsc@1.6.5) vue: 3.3.4 vue-bundle-renderer: 1.0.3 transitivePeerDependencies: @@ -891,14 +895,14 @@ packages: - vue-tsc dev: true - /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.42.0)(typescript@4.9.5): + /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.42.0)(typescript@5.0.4): resolution: {integrity: sha512-HJR0ho5MYuOCFjkL+eMX/VXbUwy36J12DUMVy+dj3Qz1GYHwX92Saxap3urFzr8oPkzzFiuOknDivfCeRBWakg==} peerDependencies: eslint: ^8.23.0 dependencies: '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) - '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@5.0.4) eslint: 8.42.0 eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.9)(eslint-plugin-import@2.27.5)(eslint@8.42.0) eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) @@ -1130,7 +1134,7 @@ packages: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} dev: true - /@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@5.0.4): resolution: {integrity: sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1142,23 +1146,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@5.0.4) '@typescript-eslint/scope-manager': 5.59.9 - '@typescript-eslint/type-utils': 5.59.9(eslint@8.42.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.9(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.59.9(eslint@8.42.0)(typescript@5.0.4) + '@typescript-eslint/utils': 5.59.9(eslint@8.42.0)(typescript@5.0.4) debug: 4.3.4 eslint: 8.42.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.5.1 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.59.9(eslint@8.42.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.59.9(eslint@8.42.0)(typescript@5.0.4): resolution: {integrity: sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1170,10 +1174,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.59.9 '@typescript-eslint/types': 5.59.9 - '@typescript-eslint/typescript-estree': 5.59.9(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.59.9(typescript@5.0.4) debug: 4.3.4 eslint: 8.42.0 - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true @@ -1186,7 +1190,7 @@ packages: '@typescript-eslint/visitor-keys': 5.59.9 dev: true - /@typescript-eslint/type-utils@5.59.9(eslint@8.42.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.59.9(eslint@8.42.0)(typescript@5.0.4): resolution: {integrity: sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1196,12 +1200,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.9(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.9(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.59.9(typescript@5.0.4) + '@typescript-eslint/utils': 5.59.9(eslint@8.42.0)(typescript@5.0.4) debug: 4.3.4 eslint: 8.42.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true @@ -1211,7 +1215,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.59.9(typescript@4.9.5): + /@typescript-eslint/typescript-estree@5.59.9(typescript@5.0.4): resolution: {integrity: sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1226,13 +1230,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.1 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.59.9(eslint@8.42.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.59.9(eslint@8.42.0)(typescript@5.0.4): resolution: {integrity: sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1243,7 +1247,7 @@ packages: '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.59.9 '@typescript-eslint/types': 5.59.9 - '@typescript-eslint/typescript-estree': 5.59.9(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.59.9(typescript@5.0.4) eslint: 8.42.0 eslint-scope: 5.1.1 semver: 7.5.1 @@ -1359,13 +1363,13 @@ packages: muggle-string: 0.2.2 dev: true - /@volar/typescript@1.4.1-patch.2(typescript@4.9.5): + /@volar/typescript@1.4.1-patch.2(typescript@5.0.4): resolution: {integrity: sha512-lPFYaGt8OdMEzNGJJChF40uYqMO4Z/7Q9fHPQC/NRVtht43KotSXLrkPandVVMf9aPbiJ059eAT+fwHGX16k4w==} peerDependencies: typescript: '*' dependencies: '@volar/language-core': 1.4.1 - typescript: 4.9.5 + typescript: 5.0.4 dev: true /@volar/vue-language-core@1.6.5: @@ -1382,14 +1386,14 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@volar/vue-typescript@1.6.5(typescript@4.9.5): + /@volar/vue-typescript@1.6.5(typescript@5.0.4): resolution: {integrity: sha512-er9rVClS4PHztMUmtPMDTl+7c7JyrxweKSAEe/o/Noeq2bQx6v3/jZHVHBe8ZNUti5ubJL/+Tg8L3bzmlalV8A==} peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 1.4.1-patch.2(typescript@4.9.5) + '@volar/typescript': 1.4.1-patch.2(typescript@5.0.4) '@volar/vue-language-core': 1.6.5 - typescript: 4.9.5 + typescript: 5.0.4 dev: true /@vue-macros/common@1.3.3(vue@3.3.4): @@ -2681,7 +2685,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@5.0.4) debug: 3.2.7 eslint: 8.42.0 eslint-import-resolver-node: 0.3.7 @@ -2722,7 +2726,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@5.0.4) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -4540,7 +4544,7 @@ packages: fsevents: 2.3.2 dev: true - /nuxt@3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@4.9.5)(vue-tsc@1.6.5): + /nuxt@3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@5.0.4)(vue-tsc@1.6.5): resolution: {integrity: sha512-fG39BZ5N5ATtmx2vuxN8APQPSlSsCDpfkJ0k581gMc7eFztqrBzPncZX5w3RQLW7AiGBE2yYEfqiwC6AVODBBg==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -4556,7 +4560,7 @@ packages: '@nuxt/schema': 3.5.3 '@nuxt/telemetry': 2.2.0 '@nuxt/ui-templates': 1.1.1 - '@nuxt/vite-builder': 3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@4.9.5)(vue-tsc@1.6.5)(vue@3.3.4) + '@nuxt/vite-builder': 3.5.3(@types/node@20.2.5)(eslint@8.42.0)(sass@1.63.2)(typescript@5.0.4)(vue-tsc@1.6.5)(vue@3.3.4) '@types/node': 20.2.5 '@unhead/ssr': 1.1.27 '@unhead/vue': 1.1.27(vue@3.3.4) @@ -5991,14 +5995,14 @@ packages: resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} dev: true - /tsutils@3.21.0(typescript@4.9.5): + /tsutils@3.21.0(typescript@5.0.4): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.0.4 dev: true /type-check@0.4.0: @@ -6041,9 +6045,9 @@ packages: is-typed-array: 1.1.10 dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} hasBin: true dev: true @@ -6281,7 +6285,7 @@ packages: - terser dev: true - /vite-plugin-checker@0.6.0(eslint@8.42.0)(typescript@4.9.5)(vite@4.3.9)(vue-tsc@1.6.5): + /vite-plugin-checker@0.6.0(eslint@8.42.0)(typescript@5.0.4)(vite@4.3.9)(vue-tsc@1.6.5): resolution: {integrity: sha512-DWZ9Hv2TkpjviPxAelNUt4Q3IhSGrx7xrwdM64NI+Q4dt8PaMWJJh4qGNtSrfEuiuIzWWo00Ksvh5It4Y3L9xQ==} engines: {node: '>=14.16'} peerDependencies: @@ -6326,13 +6330,13 @@ packages: semver: 7.5.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - typescript: 4.9.5 + typescript: 5.0.4 vite: 4.3.9(@types/node@20.2.5)(sass@1.63.2) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 - vue-tsc: 1.6.5(typescript@4.9.5) + vue-tsc: 1.6.5(typescript@5.0.4) dev: true /vite-plugin-eslint@1.8.1(eslint@8.42.0)(vite@4.3.9): @@ -6486,16 +6490,16 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.6.5(typescript@4.9.5): + /vue-tsc@1.6.5(typescript@5.0.4): resolution: {integrity: sha512-Wtw3J7CC+JM2OR56huRd5iKlvFWpvDiU+fO1+rqyu4V2nMTotShz4zbOZpW5g9fUOcjnyZYfBo5q5q+D/q27JA==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/vue-language-core': 1.6.5 - '@volar/vue-typescript': 1.6.5(typescript@4.9.5) + '@volar/vue-typescript': 1.6.5(typescript@5.0.4) semver: 7.5.1 - typescript: 4.9.5 + typescript: 5.0.4 dev: true /vue@3.3.4: