From 7c369727e8f8ac042d144cd0fba7b5e454b10111 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 3 Sep 2026 14:42:24 +0200 Subject: [PATCH 1/5] build(deps-dev): move the eslint config packages to the @myparcel-dev scope Moves the eslint config references from @myparcel-eslint to @myparcel-dev. The @myparcel-eslint packages are the previous scope of myparcelnl/eslint and sit one minor behind. The @myparcel-dev packages come from the same repo and are the current publish target. Declared @myparcel/prettier-config, which the prettier field already named but nothing installed. Without it eslint aborts on the prettier/prettier rule. Dropped the dead @myparcel-eslint/* glob from the dependabot cooldown list; @myparcel-dev/* was already there. Refs INT-1849 Co-Authored-By: Claude Opus 5 (1M context) --- .eslintrc.cjs | 16 ++--- .github/dependabot.yml | 1 - package.json | 13 ++-- yarn.lock | 157 +++++++++++++++++++++-------------------- 4 files changed, 93 insertions(+), 94 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 694c95a2..934da026 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,12 +1,10 @@ -/** - * @type {import('@myparcel/eslint-config').ESLintConfig} - */ +/** @type {import('eslint').Linter.Config} */ module.exports = { root: true, overrides: [ { files: ['./**/*.vue'], - extends: ['@myparcel-eslint/eslint-config-prettier-typescript-vue', '@myparcel-eslint/eslint-config-import'], + extends: ['@myparcel-dev/eslint-config-prettier-typescript-vue', '@myparcel-dev/eslint-config-import'], rules: { '@typescript-eslint/no-misused-promises': 'off', 'vue/no-bare-strings-in-template': 'off', @@ -20,7 +18,7 @@ module.exports = { }, { files: ['./**/*.ts', './**/*.tsx'], - extends: ['@myparcel-eslint/eslint-config-prettier-typescript', '@myparcel-eslint/eslint-config-import'], + extends: ['@myparcel-dev/eslint-config-prettier-typescript', '@myparcel-dev/eslint-config-import'], rules: { '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-misused-promises': 'off', @@ -33,10 +31,10 @@ module.exports = { sourceType: 'module', }, extends: [ - '@myparcel-eslint/eslint-config-node', - '@myparcel-eslint/eslint-config-esnext', - '@myparcel-eslint/eslint-config-prettier', - '@myparcel-eslint/eslint-config-import', + '@myparcel-dev/eslint-config-node', + '@myparcel-dev/eslint-config-esnext', + '@myparcel-dev/eslint-config-prettier', + '@myparcel-dev/eslint-config-import', ], }, { diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f3693c9a..0ac0bc53 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -16,7 +16,6 @@ updates: exclude: - '@myparcel/*' - '@myparcel-dev/*' - - '@myparcel-eslint/*' - '@myparcel-pdk/*' groups: minor-js-updates: diff --git a/package.json b/package.json index 6cb0aa47..1b17cc53 100644 --- a/package.json +++ b/package.json @@ -52,13 +52,14 @@ "vuepress": "2.0.0-beta.67" }, "devDependencies": { - "@myparcel-eslint/eslint-config-esnext": "^1.2.3", - "@myparcel-eslint/eslint-config-import": "^1.2.1", - "@myparcel-eslint/eslint-config-node": "^1.2.3", - "@myparcel-eslint/eslint-config-prettier": "^1.2.3", - "@myparcel-eslint/eslint-config-prettier-typescript": "^1.2.4", - "@myparcel-eslint/eslint-config-prettier-typescript-vue": "^1.2.6", + "@myparcel-dev/eslint-config-esnext": "^1.4.0", + "@myparcel-dev/eslint-config-import": "^1.3.0", + "@myparcel-dev/eslint-config-node": "^1.4.0", + "@myparcel-dev/eslint-config-prettier": "^1.4.0", + "@myparcel-dev/eslint-config-prettier-typescript": "^1.4.0", + "@myparcel-dev/eslint-config-prettier-typescript-vue": "^1.4.0", "@myparcel/constants": "2.6.0", + "@myparcel/prettier-config": "^1.1.0", "@tsconfig/node18": "^18.2.2", "@types/flat": "^5.0.2", "@types/lodash-es": "^4.17.6", diff --git a/yarn.lock b/yarn.lock index fecefd0f..e4641a3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -806,82 +806,82 @@ __metadata: languageName: node linkType: hard -"@myparcel-eslint/eslint-config-es6@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-es6@npm:1.3.1" +"@myparcel-dev/eslint-config-es6@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-es6@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config": ^1.3.1 + "@myparcel-dev/eslint-config": ^1.4.0 peerDependencies: eslint: 7 - 8 - checksum: 77319b36ddd4e991d5b28a17f681bf05f87709807278405bd29624b211b97e37169752f05e484f43acaaa39162753816748b94275da2a5c4932fa33bfd17aff5 + checksum: 9e808b2f6f0322ec2b2d1a6872f74f9de08f649b2ed9c9c739728be1502277f426972886e18faad23a1cb9355f3bffd10e4c02d9f63e8e1dcf5dab4f1e07fa4b languageName: node linkType: hard -"@myparcel-eslint/eslint-config-esnext@npm:^1.2.3, @myparcel-eslint/eslint-config-esnext@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-esnext@npm:1.3.1" +"@myparcel-dev/eslint-config-esnext@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-esnext@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-es6": ^1.3.1 + "@myparcel-dev/eslint-config-es6": ^1.4.0 peerDependencies: eslint: 7 - 8 - checksum: 3f96cbc1439bce8a38c356e15cc29eb9d2398ee87aee08224fb596ed6e74becff3b3fa94e2f01f9830db21f8bb3232e4fc96a7f8f17bde6b71cdd10caecc84e3 + checksum: 32d5f16155f04429f7821779a311e729ff59ff8d2d4bd86d83531cd3e9894bfb093ebe4491a913d46f55d7e13e2948589a9adceb55296f0959e6fb5a1279002f languageName: node linkType: hard -"@myparcel-eslint/eslint-config-import@npm:^1.2.1": - version: 1.2.1 - resolution: "@myparcel-eslint/eslint-config-import@npm:1.2.1" +"@myparcel-dev/eslint-config-import@npm:^1.3.0": + version: 1.3.0 + resolution: "@myparcel-dev/eslint-config-import@npm:1.3.0" dependencies: eslint-plugin-i: 1 - 2 eslint-plugin-import: "npm:eslint-plugin-i@*" peerDependencies: eslint: 7 - 8 - checksum: fbabf69c871090a99c6e6003cf24324071ed206dfb674bc627578c8b1d050e56c94c8e454e69fcd09229a65753f9586ef9bd6ea09410392c9556e59b12c90c93 + checksum: 7b0dc1b2b4eec79ed8fa53b7041e9182daae684d040055db8b83b3a31fe1b4868ca906887237b0c5812f041cf90f37a4cb46d4050b615e537722032e6ecbba72 languageName: node linkType: hard -"@myparcel-eslint/eslint-config-node@npm:^1.2.3": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-node@npm:1.3.1" +"@myparcel-dev/eslint-config-node@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-node@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config": ^1.3.1 + "@myparcel-dev/eslint-config": ^1.4.0 peerDependencies: eslint: 7 - 8 - checksum: 3cb74d982c8b0eac0cc79342b8aac9c6d292f70d42545cb91b128acb3974028221497f42bf2669e700d494439d6e3bfedd1c57313214e902c9b5ac9b70a61d42 + checksum: 74e7aeee03db27ed4eb26bbfb838cbdabb5da76733d93707535c0680e8738c0661bd2e0f96a98f7ce5a6888ec15a05ff6cc50d43c6dd64aac1c09030141cc1bc languageName: node linkType: hard -"@myparcel-eslint/eslint-config-prettier-typescript-vue@npm:^1.2.6": - version: 1.3.3 - resolution: "@myparcel-eslint/eslint-config-prettier-typescript-vue@npm:1.3.3" +"@myparcel-dev/eslint-config-prettier-typescript-vue@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-prettier-typescript-vue@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-prettier": ^1.3.1 - "@myparcel-eslint/eslint-config-typescript-vue": ^1.3.1 + "@myparcel-dev/eslint-config-prettier": ^1.4.0 + "@myparcel-dev/eslint-config-typescript-vue": ^1.4.0 "@vue/eslint-config-typescript": 1 - 11 eslint-plugin-vue: 1 - 9 peerDependencies: eslint: 7 - 8 prettier: ">= 2" - checksum: 0bdf3913e22971d87f84aedf1d9ae724d36997314a531f363b40c84f175d9f695fbb3e8542f801b156715091ad92c98225b1537b99b3eebea2c7ef1653344260 + checksum: 3e16d8a06bee3832b5b39b9819f23788f45f4e0394bb102d885d094d66a2f0aed9fc9358c924388935bcbeb47ff0d994eb67f1db3a305e87beb74932d2ac6bce languageName: node linkType: hard -"@myparcel-eslint/eslint-config-prettier-typescript@npm:^1.2.4": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-prettier-typescript@npm:1.3.1" +"@myparcel-dev/eslint-config-prettier-typescript@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-prettier-typescript@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-prettier": ^1.3.1 - "@myparcel-eslint/eslint-config-typescript": ^1.3.1 + "@myparcel-dev/eslint-config-prettier": ^1.4.0 + "@myparcel-dev/eslint-config-typescript": ^1.4.0 peerDependencies: eslint: 7 - 8 prettier: ">= 2" - checksum: 87a7647fac85d6cac784722c65f34ed88d377aae84260aa1c31500454a2e288212d9e19f1e62c47c06a36c3b5266896e938ebe0f5254c74422ec511660e22c02 + checksum: 810229152108256fb3f789a8529e593e02f556511618e9c88e0c212be8fe5450837927c94ff28d61628ba6d0d8abf4ca3eaf8a6466f0e9fb5dd90dd7a6d8c4e9 languageName: node linkType: hard -"@myparcel-eslint/eslint-config-prettier@npm:^1.2.3, @myparcel-eslint/eslint-config-prettier@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-prettier@npm:1.3.1" +"@myparcel-dev/eslint-config-prettier@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-prettier@npm:1.4.0" dependencies: "@myparcel/prettier-config": ">= 1" eslint-config-prettier: 1 - 8 @@ -889,90 +889,90 @@ __metadata: peerDependencies: eslint: 7 - 8 prettier: ">= 2" - checksum: 34a22609f0dcd011a330d95a1c5617d30a5a7da4d0b8c5f9d7043b154fcb834b88c4dd14d72752a1583c75da85c994cbf6282e03de51c64b70d9d23fec1644f2 + checksum: a38875b26a5665662867bcfbafced3c97d4862735f6201e1b212c772f3483d096f17cc663044d3838187544370c5070670bcc7aef1527bbcc40c515b94d82fe4 languageName: node linkType: hard -"@myparcel-eslint/eslint-config-typescript-vue@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-typescript-vue@npm:1.3.1" +"@myparcel-dev/eslint-config-typescript-vue@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-typescript-vue@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-typescript": ^1.3.1 - "@myparcel-eslint/eslint-config-vue": ^1.3.1 + "@myparcel-dev/eslint-config-typescript": ^1.4.0 + "@myparcel-dev/eslint-config-vue": ^1.4.0 "@vue/eslint-config-typescript": 1 - 11 eslint-plugin-vue: 1 - 9 peerDependencies: eslint: 7 - 8 - checksum: d821151ffa3b3c06a0eb3eb49291c1e0640cd739267871beaaa1a8ba4468da2bd20747ebd237ddd490607b0768f26b54a0a5b98dc88aaf789e794cea8b474c0d + checksum: 1a00ee0db9f90197c5884428212d86aa200ef81e36459755b3c2f647e51f35231f8ff29ad4ba2a3b5655a70abee46a1bca443fcd4a804cbbdf7ac344d513090e languageName: node linkType: hard -"@myparcel-eslint/eslint-config-typescript@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-typescript@npm:1.3.1" +"@myparcel-dev/eslint-config-typescript@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-typescript@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-es6": ^1.3.1 - "@myparcel-eslint/eslint-config-esnext": ^1.3.1 + "@myparcel-dev/eslint-config-es6": ^1.4.0 + "@myparcel-dev/eslint-config-esnext": ^1.4.0 "@typescript-eslint/eslint-plugin": 1 - 5 "@typescript-eslint/parser": 1 - 5 peerDependencies: eslint: 7 - 8 - checksum: 6b889e5128ddc539823bb60b8e19e1b6b80741b7b5e99e94b147fceae1fd1da556bae2f4faf54c87933dc2efea27b7ab580f2fe03a7a76e2fa08ef070a7c0e5e + checksum: f725be2d7936060f8f6ffd5bd9002a0c42972355e50dfd46dbdf7d350ac7dea4d0fef9b57afa57213bc514fdd62d9563ca8a89a4a7b3e387252b846c8c697da9 languageName: node linkType: hard -"@myparcel-eslint/eslint-config-vue2@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-vue2@npm:1.3.1" +"@myparcel-dev/eslint-config-vue2@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-vue2@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-esnext": ^1.3.1 - "@myparcel-eslint/utils": ^1.3.1 + "@myparcel-dev/eslint-config-esnext": ^1.4.0 + "@myparcel-dev/utils": ^1.4.0 "@rushstack/eslint-patch": ">= 1" eslint-plugin-vue: 1 - 9 peerDependencies: eslint: 7 - 8 - checksum: fd77b92730cc16be3827baa786d67cf65445cf5f8e8436bd337f6b58ecb8bbf2c7122782580058049317c9cea8c35453be9be50a424627330e5b4fa738a8a7f1 + checksum: a005243cda487f86a25f493eb88064ab58d7c2854ac761a8fa62e75c77a0ed5e3b04b8981d48a05400325cc1d5d6b750ae3cc2fbf0c79c32e51bf040a7791e39 languageName: node linkType: hard -"@myparcel-eslint/eslint-config-vue3@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-vue3@npm:1.3.1" +"@myparcel-dev/eslint-config-vue3@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-vue3@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-vue2": ^1.3.1 + "@myparcel-dev/eslint-config-vue2": ^1.4.0 peerDependencies: eslint: 7 - 8 - checksum: dfaa4e7c7bfe35831354be377c707d0428d80df7e3161fcdb09c4898267eab7fa1f56ba1d389b780d92a5bef2a00d08432864cb8a8fe62c5dae879c33d9d194f + checksum: eb5ddeff6e4e22ce626c3120038296039895a20416b9f703c251d244033c6b3bac70cb715f9394ef2dde957870cc3061d7dbb7be324c1cd856b1730b9c3d0787 languageName: node linkType: hard -"@myparcel-eslint/eslint-config-vue@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config-vue@npm:1.3.1" +"@myparcel-dev/eslint-config-vue@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config-vue@npm:1.4.0" dependencies: - "@myparcel-eslint/eslint-config-vue3": ^1.3.1 + "@myparcel-dev/eslint-config-vue3": ^1.4.0 eslint-plugin-vue: 1 - 9 peerDependencies: eslint: 7 - 8 - checksum: 7132d163cd180ef25d5dd1d260a261614383ea4b026b9ce535917def8094b6a98f31d318d6034f4ce46337ff91f1bd6ecbef295f142c6da0845c89b7d97c4848 + checksum: f35002b4a59a1050c7cecb2231fe9322bc8d65b147b73b28d42a75480082bd451ee6498d3f1d554624d39aba8a0b8f2111463c23fb915e3caf6a114f0e05eb64 languageName: node linkType: hard -"@myparcel-eslint/eslint-config@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/eslint-config@npm:1.3.1" +"@myparcel-dev/eslint-config@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/eslint-config@npm:1.4.0" peerDependencies: eslint: 7 - 8 - checksum: 23bcf9bc0e44d6bcceb2ab10aabc938c0046e44321ae42a78a86ecd472265fb0732ca55c44c2e2b839cd92d0f01b0f6538a8ab61e35fac860f06d30f606cf01d + checksum: 99a236e7ccf9f27dd27405fa737771d64373e72b2536fb52c55841a3972e52487b53fd1bd9045d629065f1502a303c690eb8f98080a7650dc86f79588727bbd8 languageName: node linkType: hard -"@myparcel-eslint/utils@npm:^1.3.1": - version: 1.3.1 - resolution: "@myparcel-eslint/utils@npm:1.3.1" +"@myparcel-dev/utils@npm:^1.4.0": + version: 1.4.0 + resolution: "@myparcel-dev/utils@npm:1.4.0" peerDependencies: eslint: 7 - 8 - checksum: 0e91c8775aea4c68762f9a20a873a007868297732c75c008cbacf5ca5a1583f2f8d2a004acb24b6f9baf4409420025cc40c408e0f86b4aeca887277bede5d248 + checksum: d3e150ba1c423f20e184da2ca80a324c75e80b52264f963b6607d62e13c59249ea3e04de7ee4d68529efc34da5a3ee433319a7ac9cc63246244b9cd9841b4f5e languageName: node linkType: hard @@ -989,13 +989,14 @@ __metadata: version: 0.0.0-use.local resolution: "@myparcel/developer-portal@workspace:." dependencies: - "@myparcel-eslint/eslint-config-esnext": ^1.2.3 - "@myparcel-eslint/eslint-config-import": ^1.2.1 - "@myparcel-eslint/eslint-config-node": ^1.2.3 - "@myparcel-eslint/eslint-config-prettier": ^1.2.3 - "@myparcel-eslint/eslint-config-prettier-typescript": ^1.2.4 - "@myparcel-eslint/eslint-config-prettier-typescript-vue": ^1.2.6 + "@myparcel-dev/eslint-config-esnext": ^1.4.0 + "@myparcel-dev/eslint-config-import": ^1.3.0 + "@myparcel-dev/eslint-config-node": ^1.4.0 + "@myparcel-dev/eslint-config-prettier": ^1.4.0 + "@myparcel-dev/eslint-config-prettier-typescript": ^1.4.0 + "@myparcel-dev/eslint-config-prettier-typescript-vue": ^1.4.0 "@myparcel/constants": 2.6.0 + "@myparcel/prettier-config": ^1.1.0 "@tsconfig/node18": ^18.2.2 "@types/flat": ^5.0.2 "@types/lodash-es": ^4.17.6 @@ -1045,7 +1046,7 @@ __metadata: languageName: unknown linkType: soft -"@myparcel/prettier-config@npm:>= 1": +"@myparcel/prettier-config@npm:>= 1, @myparcel/prettier-config@npm:^1.1.0": version: 1.1.0 resolution: "@myparcel/prettier-config@npm:1.1.0" checksum: c10890fdd77cd630500b65301dd43fe32ea82a383fdf51d64300744325210e9c4e4b80b6f274c761f7beabb21e128f54ea52955132de8fbe5c5d92aaa3baa3c1 From b6d92d7ab900ddb078e9b9a771577e05322647e6 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 3 Sep 2026 16:40:28 +0200 Subject: [PATCH 2/5] style: apply a one-time eslint --fix pass Applies the autofixable rules in one go, so later PRs do not carry unrelated formatting changes on the files they happen to touch. Refs INT-1849 Co-Authored-By: Claude Opus 5 (1M context) --- src/.vuepress/config/createBottomFooter.ts | 2 +- src/.vuepress/config/createNavbar.ts | 2 +- src/.vuepress/config/head.ts | 2 +- src/.vuepress/config/routes.ts | 2 +- src/.vuepress/config/sidebar/addPageToSidebar.ts | 8 ++++---- .../config/sidebar/calculateSidebarItemSpots.ts | 2 +- src/.vuepress/config/sidebar/createSidebar.ts | 6 +++--- .../sidebar/createSidebarFromPages.node.spec.ts | 2 +- .../config/sidebar/createSidebarFromPages.ts | 6 +++--- src/.vuepress/config/sidebar/getChildIndices.ts | 2 +- .../client/composables/useSetupGoogleTagManager.ts | 2 +- src/.vuepress/plugins/gtm/client/config.ts | 2 +- .../plugins/gtm/node/googleTagManagerPlugin.ts | 4 ++-- src/.vuepress/plugins/gtm/node/index.ts | 2 +- .../node/getAvailableLanguages.ts | 4 ++-- .../parseTranslations/node/getConfiguration.ts | 4 ++-- .../parseTranslations/node/getDefaultLanguage.ts | 2 +- .../parseTranslations/node/getTranslations.ts | 6 +++--- .../parseTranslations/node/parseTranslations.ts | 14 +++++++------- .../plugins/parseTranslations/shared/index.ts | 4 ++-- .../components/common/button/MPButton.vue.spec.ts | 2 +- .../client/components/common/icon/Icon.vue.spec.ts | 2 +- .../theme/client/components/global/CodeGroup.ts | 2 +- .../theme/client/components/global/GitHubShield.ts | 4 ++-- .../theme/client/components/global/NpmShield.ts | 4 ++-- .../client/components/global/PackagistShield.ts | 4 ++-- .../index-content/IndexContent.vue.spec.ts | 2 +- .../client/components/logo/MPLogo.vue.spec.ts | 2 +- .../sidebar-item/SidebarItem.vue.spec.ts | 2 +- .../client/composables/navbar/resolveNavbarItem.ts | 4 ++-- .../client/composables/navbar/useNavbarConfig.ts | 6 +++--- .../client/composables/navbar/useSwitchLanguage.ts | 12 ++++++------ .../composables/sidebar/headerToSidebarItem.ts | 4 ++-- .../sidebar/headersToSidebarItemChildren.ts | 4 ++-- .../sidebar/resolveArraySidebarItems.ts | 8 ++++---- .../composables/sidebar/resolveAutoSidebarItems.ts | 4 ++-- .../sidebar/resolveMultiSidebarItems.ts | 6 +++--- .../composables/sidebar/resolveSidebarItems.ts | 11 ++++++++--- .../composables/sidebar/setupSidebarItems.ts | 6 +++--- .../composables/sidebar/sidebarItemsSymbol.ts | 4 ++-- .../theme/client/composables/sidebar/useSidebar.ts | 8 ++++---- .../client/composables/sidebar/useSidebarItems.ts | 4 ++-- .../theme/client/composables/useBreadcrumbs.ts | 10 +++++----- .../theme/client/composables/useContactForm.ts | 6 +++--- .../theme/client/composables/useContributors.ts | 6 +++--- .../client/composables/useFrontmatterLanguages.ts | 8 ++++---- .../theme/client/composables/useLanguage.ts | 4 ++-- .../theme/client/composables/useLastUpdated.ts | 6 +++--- src/.vuepress/theme/client/composables/useLink.ts | 8 ++++---- .../theme/client/composables/useLocaleLink.ts | 10 +++++----- .../theme/client/composables/useNavLink.ts | 2 +- .../client/composables/usePrevNextNavLinks.ts | 10 +++++----- .../composables/useResolveRouteWithRedirect.ts | 2 +- .../theme/client/composables/useSiteLocaleData.ts | 4 ++-- .../theme/client/composables/useTailwindVariant.ts | 4 ++-- .../theme/client/composables/useTranslate.ts | 2 +- .../theme/client/services/directives/vTest.ts | 2 +- .../client/services/tailwind/defineVariant.ts | 2 +- .../utils/find-nav-item/findNavItem.node.spec.ts | 2 +- .../client/utils/find-nav-item/findNavItem.ts | 7 ++++++- src/.vuepress/theme/client/utils/resolveLink.ts | 4 ++-- src/.vuepress/theme/client/utils/resolveLinks.ts | 2 +- .../sidebar/sidebar-items/SidebarItems.vue.spec.ts | 2 +- .../theme/client/views/page/Page.vue.spec.ts | 2 +- .../page/page-container/PageContainer.vue.spec.ts | 2 +- .../page-contributors/PageContributors.vue.spec.ts | 4 ++-- .../page/page-footer-nav/PageFooterNav.vue.spec.ts | 2 +- .../views/page/page-footer/PageFooter.vue.spec.ts | 2 +- src/.vuepress/theme/index.types.ts | 2 +- src/.vuepress/theme/mdPlugin.ts | 4 ++-- .../theme/node/config/createContainerPlugin.ts | 4 ++-- src/.vuepress/theme/node/plugins/autoLinkPlugin.ts | 4 ++-- .../theme/node/plugins/incrementHeadingsPlugin.ts | 2 +- src/.vuepress/theme/seoPlugin.ts | 8 ++++---- test/vue-test-utils/testIdPlugin.ts | 2 +- 75 files changed, 167 insertions(+), 157 deletions(-) diff --git a/src/.vuepress/config/createBottomFooter.ts b/src/.vuepress/config/createBottomFooter.ts index 33843e74..c515f844 100644 --- a/src/.vuepress/config/createBottomFooter.ts +++ b/src/.vuepress/config/createBottomFooter.ts @@ -1,5 +1,5 @@ /* eslint-disable max-len,vue/max-len */ -import {MyPaNavLink} from '@mptheme/config.types'; +import {type MyPaNavLink} from '@mptheme/config.types'; export const createBottomFooter = (): MyPaNavLink[] => [ { diff --git a/src/.vuepress/config/createNavbar.ts b/src/.vuepress/config/createNavbar.ts index a508920e..c0499e81 100644 --- a/src/.vuepress/config/createNavbar.ts +++ b/src/.vuepress/config/createNavbar.ts @@ -1,4 +1,4 @@ -import {MyPaNavLink, MyPaNavbarConfigArray} from '@mptheme/config.types'; +import {type MyPaNavLink, type MyPaNavbarConfigArray} from '@mptheme/config.types'; const pages: MyPaNavLink[] = [ { diff --git a/src/.vuepress/config/head.ts b/src/.vuepress/config/head.ts index cbd661d2..aa92bc52 100644 --- a/src/.vuepress/config/head.ts +++ b/src/.vuepress/config/head.ts @@ -1,5 +1,5 @@ /* eslint-disable max-len,vue/max-len */ -import {HeadConfig} from 'vuepress'; +import {type HeadConfig} from 'vuepress'; const faviconUrl = 'https://assets.myparcel.nl/skin/images/favicon'; diff --git a/src/.vuepress/config/routes.ts b/src/.vuepress/config/routes.ts index b3b193a9..bcf5ed68 100644 --- a/src/.vuepress/config/routes.ts +++ b/src/.vuepress/config/routes.ts @@ -1,4 +1,4 @@ -import {MyPaNavLink} from '@mptheme/config.types'; +import {type MyPaNavLink} from '@mptheme/config.types'; export const STATUS: MyPaNavLink = { text: 'Status', diff --git a/src/.vuepress/config/sidebar/addPageToSidebar.ts b/src/.vuepress/config/sidebar/addPageToSidebar.ts index a4fa5162..c184caf7 100644 --- a/src/.vuepress/config/sidebar/addPageToSidebar.ts +++ b/src/.vuepress/config/sidebar/addPageToSidebar.ts @@ -1,8 +1,8 @@ -import {MyPaResolvedSidebarItem, MyPaSidebarConfig} from '@mptheme/config.types'; -import {Language} from '../../plugins/parseTranslations/shared'; -import {Page} from 'vuepress'; -import {calculateSidebarItemSpots} from './calculateSidebarItemSpots'; +import {type Page} from 'vuepress'; +import {type MyPaResolvedSidebarItem, type MyPaSidebarConfig} from '@mptheme/config.types'; +import {type Language} from '../../plugins/parseTranslations/shared'; import {deepSet} from './deepSet'; +import {calculateSidebarItemSpots} from './calculateSidebarItemSpots'; export const addPageToSidebar = ( page: Page, diff --git a/src/.vuepress/config/sidebar/calculateSidebarItemSpots.ts b/src/.vuepress/config/sidebar/calculateSidebarItemSpots.ts index 09208ac7..ad120f09 100644 --- a/src/.vuepress/config/sidebar/calculateSidebarItemSpots.ts +++ b/src/.vuepress/config/sidebar/calculateSidebarItemSpots.ts @@ -1,4 +1,4 @@ -import {MyPaSidebarConfig} from '@mptheme/config.types'; +import {type MyPaSidebarConfig} from '@mptheme/config.types'; import {getChildIndices} from './getChildIndices'; export const calculateSidebarItemSpots = ( diff --git a/src/.vuepress/config/sidebar/createSidebar.ts b/src/.vuepress/config/sidebar/createSidebar.ts index 73abb2fb..3f0d24c5 100644 --- a/src/.vuepress/config/sidebar/createSidebar.ts +++ b/src/.vuepress/config/sidebar/createSidebar.ts @@ -1,6 +1,6 @@ -import {App} from 'vuepress'; -import {Language} from '../../plugins/parseTranslations/shared'; -import {MyPaSidebarConfig} from '@mptheme/config.types'; +import {type App} from 'vuepress'; +import {type MyPaSidebarConfig} from '@mptheme/config.types'; +import {type Language} from '../../plugins/parseTranslations/shared'; import {createSidebarFromPages} from './createSidebarFromPages'; export const createSidebar = (app: App): MyPaSidebarConfig => { diff --git a/src/.vuepress/config/sidebar/createSidebarFromPages.node.spec.ts b/src/.vuepress/config/sidebar/createSidebarFromPages.node.spec.ts index 786af80a..056103a7 100644 --- a/src/.vuepress/config/sidebar/createSidebarFromPages.node.spec.ts +++ b/src/.vuepress/config/sidebar/createSidebarFromPages.node.spec.ts @@ -1,5 +1,5 @@ +import {type Page} from 'vuepress'; import {describe, expect} from 'vitest'; -import {Page} from 'vuepress'; import {createSidebarFromPages} from './createSidebarFromPages'; const languages = [ diff --git a/src/.vuepress/config/sidebar/createSidebarFromPages.ts b/src/.vuepress/config/sidebar/createSidebarFromPages.ts index 61739210..397b3991 100644 --- a/src/.vuepress/config/sidebar/createSidebarFromPages.ts +++ b/src/.vuepress/config/sidebar/createSidebarFromPages.ts @@ -1,6 +1,6 @@ -import {Language} from '../../plugins/parseTranslations/shared'; -import {MyPaSidebarConfig} from '@mptheme/config.types'; -import {Page} from 'vuepress'; +import {type Page} from 'vuepress'; +import {type MyPaSidebarConfig} from '@mptheme/config.types'; +import {type Language} from '../../plugins/parseTranslations/shared'; import {addPageToSidebar} from './addPageToSidebar'; export const createSidebarFromPages = ( diff --git a/src/.vuepress/config/sidebar/getChildIndices.ts b/src/.vuepress/config/sidebar/getChildIndices.ts index ca804947..87ac9029 100644 --- a/src/.vuepress/config/sidebar/getChildIndices.ts +++ b/src/.vuepress/config/sidebar/getChildIndices.ts @@ -1,5 +1,5 @@ -import {MyPaSidebarConfig} from '@mptheme/config.types'; import {get} from 'lodash-unified'; +import {type MyPaSidebarConfig} from '@mptheme/config.types'; const KEY_CHILDREN = 'children'; diff --git a/src/.vuepress/plugins/gtm/client/composables/useSetupGoogleTagManager.ts b/src/.vuepress/plugins/gtm/client/composables/useSetupGoogleTagManager.ts index e45adc57..70ed1fd7 100644 --- a/src/.vuepress/plugins/gtm/client/composables/useSetupGoogleTagManager.ts +++ b/src/.vuepress/plugins/gtm/client/composables/useSetupGoogleTagManager.ts @@ -1,4 +1,4 @@ -import type {GoogleTagManagerPluginOptions} from '../../shared'; +import {type GoogleTagManagerPluginOptions} from '../../shared'; export const useSetupGoogleTagManager = (options: GoogleTagManagerPluginOptions): void => { // avoid duplicated import diff --git a/src/.vuepress/plugins/gtm/client/config.ts b/src/.vuepress/plugins/gtm/client/config.ts index 8de5a26d..03223286 100644 --- a/src/.vuepress/plugins/gtm/client/config.ts +++ b/src/.vuepress/plugins/gtm/client/config.ts @@ -1,5 +1,5 @@ -import {GoogleTagManagerPluginOptions} from '../shared'; import {defineClientConfig} from '@vuepress/client'; +import {type GoogleTagManagerPluginOptions} from '../shared'; import {useSetupGoogleTagManager} from './composables'; // eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle diff --git a/src/.vuepress/plugins/gtm/node/googleTagManagerPlugin.ts b/src/.vuepress/plugins/gtm/node/googleTagManagerPlugin.ts index b338c057..5d015e19 100644 --- a/src/.vuepress/plugins/gtm/node/googleTagManagerPlugin.ts +++ b/src/.vuepress/plugins/gtm/node/googleTagManagerPlugin.ts @@ -1,6 +1,6 @@ -import type {Plugin, PluginObject} from '@vuepress/core'; import {logger, path} from '@vuepress/utils'; -import type {GoogleTagManagerPluginOptions} from '../shared'; +import {type Plugin, type PluginObject} from '@vuepress/core'; +import {type GoogleTagManagerPluginOptions} from '../shared'; export const googleTagManagerPlugin = (options: GoogleTagManagerPluginOptions): Plugin => diff --git a/src/.vuepress/plugins/gtm/node/index.ts b/src/.vuepress/plugins/gtm/node/index.ts index c98d26ca..e98ae9e5 100644 --- a/src/.vuepress/plugins/gtm/node/index.ts +++ b/src/.vuepress/plugins/gtm/node/index.ts @@ -4,4 +4,4 @@ export * from './googleTagManagerPlugin'; export default googleTagManagerPlugin; -export {GoogleTagManagerPluginOptions} from '../shared/types'; +export type {GoogleTagManagerPluginOptions} from '../shared/types'; diff --git a/src/.vuepress/plugins/parseTranslations/node/getAvailableLanguages.ts b/src/.vuepress/plugins/parseTranslations/node/getAvailableLanguages.ts index b4d3c7e0..4ad039ed 100644 --- a/src/.vuepress/plugins/parseTranslations/node/getAvailableLanguages.ts +++ b/src/.vuepress/plugins/parseTranslations/node/getAvailableLanguages.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-magic-numbers */ -import {Language, ParseTranslationsPluginOptions} from '../shared'; -import {Locale, getLocalePathPrefix} from './getLocalePathPrefix'; +import {type Language, type ParseTranslationsPluginOptions} from '../shared'; +import {type Locale, getLocalePathPrefix} from './getLocalePathPrefix'; export const getAvailableLanguages = (translations: Locale[], options: ParseTranslationsPluginOptions): Language[] => { return translations.map((translation) => ({ diff --git a/src/.vuepress/plugins/parseTranslations/node/getConfiguration.ts b/src/.vuepress/plugins/parseTranslations/node/getConfiguration.ts index 40f42421..f0a89691 100644 --- a/src/.vuepress/plugins/parseTranslations/node/getConfiguration.ts +++ b/src/.vuepress/plugins/parseTranslations/node/getConfiguration.ts @@ -1,8 +1,8 @@ -import {Locale} from './getLocalePathPrefix'; +import path from 'node:path'; import fs from 'node:fs'; import grayMatter from 'gray-matter'; import {logger} from '@vuepress/utils'; -import path from 'node:path'; +import {type Locale} from './getLocalePathPrefix'; export const getConfiguration = async (dir: string): Promise => { return Promise.all( diff --git a/src/.vuepress/plugins/parseTranslations/node/getDefaultLanguage.ts b/src/.vuepress/plugins/parseTranslations/node/getDefaultLanguage.ts index b5753f26..ec8f921e 100644 --- a/src/.vuepress/plugins/parseTranslations/node/getDefaultLanguage.ts +++ b/src/.vuepress/plugins/parseTranslations/node/getDefaultLanguage.ts @@ -1,4 +1,4 @@ -import {Language, ParseTranslationsPluginOptions} from '../shared'; +import {type Language, type ParseTranslationsPluginOptions} from '../shared'; /** * diff --git a/src/.vuepress/plugins/parseTranslations/node/getTranslations.ts b/src/.vuepress/plugins/parseTranslations/node/getTranslations.ts index bd43aeb3..73a7c380 100644 --- a/src/.vuepress/plugins/parseTranslations/node/getTranslations.ts +++ b/src/.vuepress/plugins/parseTranslations/node/getTranslations.ts @@ -1,8 +1,8 @@ -import {Locale} from './getLocalePathPrefix'; -import {ParseTranslationsPluginOptions} from '../shared'; +import path from 'node:path'; import fs from 'node:fs'; import {logger} from '@vuepress/utils'; -import path from 'node:path'; +import {type ParseTranslationsPluginOptions} from '../shared'; +import {type Locale} from './getLocalePathPrefix'; export const getTranslations = async (options: ParseTranslationsPluginOptions): Promise => { return Promise.all( diff --git a/src/.vuepress/plugins/parseTranslations/node/parseTranslations.ts b/src/.vuepress/plugins/parseTranslations/node/parseTranslations.ts index 4dffe3a8..e16366f9 100644 --- a/src/.vuepress/plugins/parseTranslations/node/parseTranslations.ts +++ b/src/.vuepress/plugins/parseTranslations/node/parseTranslations.ts @@ -1,12 +1,12 @@ -import {ParseTranslationsPluginOptions} from '../shared'; -import {Plugin} from '@vuepress/core/lib/types/plugin'; +import {merge} from 'lodash-unified'; +import {type Plugin} from '@vuepress/core/lib/types/plugin'; +import {type ParseTranslationsPluginOptions} from '../shared'; import {createSidebar} from '../../../config/sidebar/createSidebar'; -import {getAvailableLanguages} from './getAvailableLanguages'; -import {getConfiguration} from './getConfiguration'; -import {getDefaultLanguage} from './getDefaultLanguage'; -import {getLocalePathPrefix} from './getLocalePathPrefix'; import {getTranslations} from './getTranslations'; -import {merge} from 'lodash-unified'; +import {getLocalePathPrefix} from './getLocalePathPrefix'; +import {getDefaultLanguage} from './getDefaultLanguage'; +import {getConfiguration} from './getConfiguration'; +import {getAvailableLanguages} from './getAvailableLanguages'; export const parseTranslationsPlugin = (options: ParseTranslationsPluginOptions): Plugin => { return { diff --git a/src/.vuepress/plugins/parseTranslations/shared/index.ts b/src/.vuepress/plugins/parseTranslations/shared/index.ts index 67cc83cd..784e52b7 100644 --- a/src/.vuepress/plugins/parseTranslations/shared/index.ts +++ b/src/.vuepress/plugins/parseTranslations/shared/index.ts @@ -1,3 +1,3 @@ -export {Language} from './types'; +export type {Language} from './types'; -export {ParseTranslationsPluginOptions} from './types'; +export type {ParseTranslationsPluginOptions} from './types'; diff --git a/src/.vuepress/theme/client/components/common/button/MPButton.vue.spec.ts b/src/.vuepress/theme/client/components/common/button/MPButton.vue.spec.ts index 7a0f1059..8911e03b 100644 --- a/src/.vuepress/theme/client/components/common/button/MPButton.vue.spec.ts +++ b/src/.vuepress/theme/client/components/common/button/MPButton.vue.spec.ts @@ -1,6 +1,6 @@ -import MPButton from './MPButton.vue'; import {shallowMount} from '@vue/test-utils'; import {vTest} from '@mptheme/client/services/directives/vTest'; +import MPButton from './MPButton.vue'; const config = { global: { diff --git a/src/.vuepress/theme/client/components/common/icon/Icon.vue.spec.ts b/src/.vuepress/theme/client/components/common/icon/Icon.vue.spec.ts index d040125f..54960367 100644 --- a/src/.vuepress/theme/client/components/common/icon/Icon.vue.spec.ts +++ b/src/.vuepress/theme/client/components/common/icon/Icon.vue.spec.ts @@ -1,4 +1,4 @@ -import {VueWrapper, shallowMount} from '@vue/test-utils'; +import {type VueWrapper, shallowMount} from '@vue/test-utils'; import Icon from './Icon.vue'; let wrapper: VueWrapper; diff --git a/src/.vuepress/theme/client/components/global/CodeGroup.ts b/src/.vuepress/theme/client/components/global/CodeGroup.ts index 0c4ff046..9b8a3ec4 100644 --- a/src/.vuepress/theme/client/components/global/CodeGroup.ts +++ b/src/.vuepress/theme/client/components/global/CodeGroup.ts @@ -1,4 +1,4 @@ -import {VNode, defineComponent, h, onBeforeUpdate, ref} from 'vue'; +import {type VNode, defineComponent, h, onBeforeUpdate, ref} from 'vue'; // eslint-disable-next-line @typescript-eslint/naming-convention const CodeGroup = defineComponent({ diff --git a/src/.vuepress/theme/client/components/global/GitHubShield.ts b/src/.vuepress/theme/client/components/global/GitHubShield.ts index 34ab78df..b744ab7b 100644 --- a/src/.vuepress/theme/client/components/global/GitHubShield.ts +++ b/src/.vuepress/theme/client/components/global/GitHubShield.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import {FunctionalComponent, h} from 'vue'; -import Shield, {ShieldParameters} from '@mptheme/client/components/global/Shield'; +import {type FunctionalComponent, h} from 'vue'; import {toArray} from '@mptheme/client/utils/toArray'; +import Shield, {type ShieldParameters} from '@mptheme/client/components/global/Shield'; export enum GitHubLinkType { Pulls = 'pulls', diff --git a/src/.vuepress/theme/client/components/global/NpmShield.ts b/src/.vuepress/theme/client/components/global/NpmShield.ts index 4063f3bb..50b33425 100644 --- a/src/.vuepress/theme/client/components/global/NpmShield.ts +++ b/src/.vuepress/theme/client/components/global/NpmShield.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import {FunctionalComponent, h} from 'vue'; -import Shield, {ShieldParameters} from '@mptheme/client/components/global/Shield'; +import {type FunctionalComponent, h} from 'vue'; +import Shield, {type ShieldParameters} from '@mptheme/client/components/global/Shield'; interface Props extends ShieldParameters { package: string; diff --git a/src/.vuepress/theme/client/components/global/PackagistShield.ts b/src/.vuepress/theme/client/components/global/PackagistShield.ts index 73f8fd74..c1011925 100644 --- a/src/.vuepress/theme/client/components/global/PackagistShield.ts +++ b/src/.vuepress/theme/client/components/global/PackagistShield.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import {FunctionalComponent, h} from 'vue'; -import Shield, {ShieldParameters} from '@mptheme/client/components/global/Shield'; +import {type FunctionalComponent, h} from 'vue'; +import Shield, {type ShieldParameters} from '@mptheme/client/components/global/Shield'; interface Props extends ShieldParameters { alt: string; diff --git a/src/.vuepress/theme/client/components/index-content/IndexContent.vue.spec.ts b/src/.vuepress/theme/client/components/index-content/IndexContent.vue.spec.ts index df59cb13..9ce3b748 100644 --- a/src/.vuepress/theme/client/components/index-content/IndexContent.vue.spec.ts +++ b/src/.vuepress/theme/client/components/index-content/IndexContent.vue.spec.ts @@ -1,5 +1,5 @@ -import IndexContent from './IndexContent.vue'; import {shallowMount} from '@vue/test-utils'; +import IndexContent from './IndexContent.vue'; describe('indexContent', () => { it('renders properly', () => { diff --git a/src/.vuepress/theme/client/components/logo/MPLogo.vue.spec.ts b/src/.vuepress/theme/client/components/logo/MPLogo.vue.spec.ts index 1b9fd6fd..9721ee27 100644 --- a/src/.vuepress/theme/client/components/logo/MPLogo.vue.spec.ts +++ b/src/.vuepress/theme/client/components/logo/MPLogo.vue.spec.ts @@ -1,5 +1,5 @@ -import MPLogo from './MPLogo.vue'; import {shallowMount} from '@vue/test-utils'; +import MPLogo from './MPLogo.vue'; describe('myPaLogo', () => { it('renders', () => { diff --git a/src/.vuepress/theme/client/components/sidebar-item/SidebarItem.vue.spec.ts b/src/.vuepress/theme/client/components/sidebar-item/SidebarItem.vue.spec.ts index bfae4429..281048d9 100644 --- a/src/.vuepress/theme/client/components/sidebar-item/SidebarItem.vue.spec.ts +++ b/src/.vuepress/theme/client/components/sidebar-item/SidebarItem.vue.spec.ts @@ -1,5 +1,5 @@ -import SidebarItem from './SidebarItem.vue'; import {shallowMount} from '@vue/test-utils'; +import SidebarItem from './SidebarItem.vue'; describe('sidebarItem', () => { it('renders properly', () => { diff --git a/src/.vuepress/theme/client/composables/navbar/resolveNavbarItem.ts b/src/.vuepress/theme/client/composables/navbar/resolveNavbarItem.ts index bea4fb84..2c05ea80 100644 --- a/src/.vuepress/theme/client/composables/navbar/resolveNavbarItem.ts +++ b/src/.vuepress/theme/client/composables/navbar/resolveNavbarItem.ts @@ -1,6 +1,6 @@ -import {MyPaNavbarGroup, MyPaNavbarItem, MyPaResolvedNavbarItem} from '@mptheme/config.types'; -import {isOfType} from '@mptheme/shared/utils'; import {isString} from '@vuepress/shared'; +import {isOfType} from '@mptheme/shared/utils'; +import {type MyPaNavbarGroup, type MyPaNavbarItem, type MyPaResolvedNavbarItem} from '@mptheme/config.types'; import {useNavLink} from '@mptheme/client/composables/useNavLink'; export const resolveNavbarItem = (item: MyPaNavbarItem | MyPaNavbarGroup | string): MyPaResolvedNavbarItem => { diff --git a/src/.vuepress/theme/client/composables/navbar/useNavbarConfig.ts b/src/.vuepress/theme/client/composables/navbar/useNavbarConfig.ts index 9dff3c41..de8018f6 100644 --- a/src/.vuepress/theme/client/composables/navbar/useNavbarConfig.ts +++ b/src/.vuepress/theme/client/composables/navbar/useNavbarConfig.ts @@ -1,7 +1,7 @@ -import {ComputedRef, computed} from 'vue'; -import {MyPaNavbarGroup, MyPaNavbarItem, MyPaResolvedNavbarItem} from '@mptheme/config.types'; -import {isOfType} from '@mptheme/shared/utils'; +import {type ComputedRef, computed} from 'vue'; import {isString} from '@vuepress/shared'; +import {isOfType} from '@mptheme/shared/utils'; +import {type MyPaNavbarGroup, type MyPaNavbarItem, type MyPaResolvedNavbarItem} from '@mptheme/config.types'; import {useNavLink} from '@mptheme/client/composables/useNavLink'; import {useSiteLocaleData} from '@mptheme/client/composables'; diff --git a/src/.vuepress/theme/client/composables/navbar/useSwitchLanguage.ts b/src/.vuepress/theme/client/composables/navbar/useSwitchLanguage.ts index 97bb5cce..760229e3 100644 --- a/src/.vuepress/theme/client/composables/navbar/useSwitchLanguage.ts +++ b/src/.vuepress/theme/client/composables/navbar/useSwitchLanguage.ts @@ -1,12 +1,12 @@ -import {ComputedRef, computed} from 'vue'; -import {MyPaNavLink, MyPaResolvedNavbarItem} from '@mptheme/config.types'; -import {useSiteLocaleData, useTranslate} from '@mptheme/client/composables'; +import {type ComputedRef, computed} from 'vue'; +import {useRouteLocale} from '@vuepress/client'; import {isDefined} from '@mptheme/shared/utils'; +import {type MyPaNavLink, type MyPaResolvedNavbarItem} from '@mptheme/config.types'; import {resolveLinks} from '@mptheme/client/utils/resolveLinks'; -import {useFrontmatterLanguages} from '@mptheme/client/composables/useFrontmatterLanguages'; -import {useLanguage} from '@mptheme/client/composables/useLanguage'; import {useLocaleLink} from '@mptheme/client/composables/useLocaleLink'; -import {useRouteLocale} from '@vuepress/client'; +import {useLanguage} from '@mptheme/client/composables/useLanguage'; +import {useFrontmatterLanguages} from '@mptheme/client/composables/useFrontmatterLanguages'; +import {useSiteLocaleData, useTranslate} from '@mptheme/client/composables'; type UseSwitchLanguage = () => { dropdown: ComputedRef; diff --git a/src/.vuepress/theme/client/composables/sidebar/headerToSidebarItem.ts b/src/.vuepress/theme/client/composables/sidebar/headerToSidebarItem.ts index c386a5bd..e30db3f9 100644 --- a/src/.vuepress/theme/client/composables/sidebar/headerToSidebarItem.ts +++ b/src/.vuepress/theme/client/composables/sidebar/headerToSidebarItem.ts @@ -1,5 +1,5 @@ -import {MyPaResolvedSidebarItem} from '@mptheme/config.types'; -import {PageHeader} from 'vuepress'; +import {type PageHeader} from 'vuepress'; +import {type MyPaResolvedSidebarItem} from '@mptheme/config.types'; import {headersToSidebarItemChildren} from './headersToSidebarItemChildren'; /** diff --git a/src/.vuepress/theme/client/composables/sidebar/headersToSidebarItemChildren.ts b/src/.vuepress/theme/client/composables/sidebar/headersToSidebarItemChildren.ts index a706460b..3d0a5e9a 100644 --- a/src/.vuepress/theme/client/composables/sidebar/headersToSidebarItemChildren.ts +++ b/src/.vuepress/theme/client/composables/sidebar/headersToSidebarItemChildren.ts @@ -1,5 +1,5 @@ -import {MyPaResolvedSidebarItem} from '@mptheme/config.types'; -import {PageHeader} from 'vuepress'; +import {type PageHeader} from 'vuepress'; +import {type MyPaResolvedSidebarItem} from '@mptheme/config.types'; import {headerToSidebarItem} from './headerToSidebarItem'; export const headersToSidebarItemChildren = ( diff --git a/src/.vuepress/theme/client/composables/sidebar/resolveArraySidebarItems.ts b/src/.vuepress/theme/client/composables/sidebar/resolveArraySidebarItems.ts index 99e85d97..64ada75e 100644 --- a/src/.vuepress/theme/client/composables/sidebar/resolveArraySidebarItems.ts +++ b/src/.vuepress/theme/client/composables/sidebar/resolveArraySidebarItems.ts @@ -1,9 +1,9 @@ -import {MyPaResolvedSidebarItem, MyPaSidebarConfigArray, MyPaSidebarItem} from '@mptheme/config.types'; -import {headersToSidebarItemChildren} from './headersToSidebarItemChildren'; +import {useRoute} from 'vue-router'; import {isString} from '@vuepress/shared'; -import {useNavLink} from '@mptheme/client/composables/useNavLink'; import {usePageData} from '@vuepress/client'; -import {useRoute} from 'vue-router'; +import {type MyPaResolvedSidebarItem, type MyPaSidebarConfigArray, type MyPaSidebarItem} from '@mptheme/config.types'; +import {useNavLink} from '@mptheme/client/composables/useNavLink'; +import {headersToSidebarItemChildren} from './headersToSidebarItemChildren'; /** * Resolve sidebar items if the config is an array. diff --git a/src/.vuepress/theme/client/composables/sidebar/resolveAutoSidebarItems.ts b/src/.vuepress/theme/client/composables/sidebar/resolveAutoSidebarItems.ts index 54494c77..498d7db8 100644 --- a/src/.vuepress/theme/client/composables/sidebar/resolveAutoSidebarItems.ts +++ b/src/.vuepress/theme/client/composables/sidebar/resolveAutoSidebarItems.ts @@ -1,6 +1,6 @@ -import {MyPaResolvedSidebarItem} from '@mptheme/config.types'; -import {headersToSidebarItemChildren} from './headersToSidebarItemChildren'; import {usePageData} from '@vuepress/client'; +import {type MyPaResolvedSidebarItem} from '@mptheme/config.types'; +import {headersToSidebarItemChildren} from './headersToSidebarItemChildren'; /** * Resolve sidebar items if the config is `auto`. diff --git a/src/.vuepress/theme/client/composables/sidebar/resolveMultiSidebarItems.ts b/src/.vuepress/theme/client/composables/sidebar/resolveMultiSidebarItems.ts index 2512da21..d868ff29 100644 --- a/src/.vuepress/theme/client/composables/sidebar/resolveMultiSidebarItems.ts +++ b/src/.vuepress/theme/client/composables/sidebar/resolveMultiSidebarItems.ts @@ -1,7 +1,7 @@ -import {MyPaResolvedSidebarItem, MyPaSidebarConfigObject, MyPaSiteData} from '@mptheme/config.types'; -import {resolveArraySidebarItems} from './resolveArraySidebarItems'; -import {resolveLocalePath} from '@vuepress/shared'; import {useRoute} from 'vue-router'; +import {resolveLocalePath} from '@vuepress/shared'; +import {type MyPaResolvedSidebarItem, type MyPaSidebarConfigObject, type MyPaSiteData} from '@mptheme/config.types'; +import {resolveArraySidebarItems} from './resolveArraySidebarItems'; /** * Resolve sidebar items if the config is a key -> value (path-prefix -> array) object. diff --git a/src/.vuepress/theme/client/composables/sidebar/resolveSidebarItems.ts b/src/.vuepress/theme/client/composables/sidebar/resolveSidebarItems.ts index 801a5334..92b9edb4 100644 --- a/src/.vuepress/theme/client/composables/sidebar/resolveSidebarItems.ts +++ b/src/.vuepress/theme/client/composables/sidebar/resolveSidebarItems.ts @@ -1,9 +1,14 @@ -import {MyPaPageFrontmatter, MyPaResolvedSidebarItem, MyPaSiteData, MyPaThemeData} from '@mptheme/config.types'; import {isArray} from 'lodash-unified'; import {isPlainObject} from '@vuepress/shared'; -import {resolveArraySidebarItems} from './resolveArraySidebarItems'; -import {resolveAutoSidebarItems} from './resolveAutoSidebarItems'; +import { + type MyPaPageFrontmatter, + type MyPaResolvedSidebarItem, + type MyPaSiteData, + type MyPaThemeData, +} from '@mptheme/config.types'; import {resolveMultiSidebarItems} from './resolveMultiSidebarItems'; +import {resolveAutoSidebarItems} from './resolveAutoSidebarItems'; +import {resolveArraySidebarItems} from './resolveArraySidebarItems'; const DEFAULT_SIDEBAR_DEPTH = 2; diff --git a/src/.vuepress/theme/client/composables/sidebar/setupSidebarItems.ts b/src/.vuepress/theme/client/composables/sidebar/setupSidebarItems.ts index 2687b56a..0cfeed70 100644 --- a/src/.vuepress/theme/client/composables/sidebar/setupSidebarItems.ts +++ b/src/.vuepress/theme/client/composables/sidebar/setupSidebarItems.ts @@ -1,9 +1,9 @@ import {computed, provide} from 'vue'; +import {usePageFrontmatter} from '@vuepress/client'; +import {type MyPaPageFrontmatter} from '@mptheme/config.types'; import {useSiteLocaleData, useThemeLocaleData} from '@mptheme/client/composables'; -import {MyPaPageFrontmatter} from '@mptheme/config.types'; -import {resolveSidebarItems} from './resolveSidebarItems'; import {sidebarItemsSymbol} from './sidebarItemsSymbol'; -import {usePageFrontmatter} from '@vuepress/client'; +import {resolveSidebarItems} from './resolveSidebarItems'; /** * Create sidebar items ref and provide as global computed in setup. diff --git a/src/.vuepress/theme/client/composables/sidebar/sidebarItemsSymbol.ts b/src/.vuepress/theme/client/composables/sidebar/sidebarItemsSymbol.ts index 364d8130..5695a94b 100644 --- a/src/.vuepress/theme/client/composables/sidebar/sidebarItemsSymbol.ts +++ b/src/.vuepress/theme/client/composables/sidebar/sidebarItemsSymbol.ts @@ -1,4 +1,4 @@ -import {InjectionKey} from 'vue'; -import {SidebarItemsRef} from './useSidebarItems'; +import {type InjectionKey} from 'vue'; +import {type SidebarItemsRef} from './useSidebarItems'; export const sidebarItemsSymbol: InjectionKey = Symbol('sidebarItems'); diff --git a/src/.vuepress/theme/client/composables/sidebar/useSidebar.ts b/src/.vuepress/theme/client/composables/sidebar/useSidebar.ts index 54ab605e..d1a6a7eb 100644 --- a/src/.vuepress/theme/client/composables/sidebar/useSidebar.ts +++ b/src/.vuepress/theme/client/composables/sidebar/useSidebar.ts @@ -1,8 +1,8 @@ -import {ComputedRef, Ref, computed, ref, watch} from 'vue'; -import {useBreakpoints, useNavbarConfig} from '@mptheme/client/composables'; -import {MyPaResolvedSidebarItem} from '@mptheme/config.types'; -import {createGlobalState} from '@vueuse/core'; import {useRoute} from 'vue-router'; +import {type ComputedRef, type Ref, computed, ref, watch} from 'vue'; +import {createGlobalState} from '@vueuse/core'; +import {type MyPaResolvedSidebarItem} from '@mptheme/config.types'; +import {useBreakpoints, useNavbarConfig} from '@mptheme/client/composables'; import {useSidebarItems} from './useSidebarItems'; type UseSidebar = () => { diff --git a/src/.vuepress/theme/client/composables/sidebar/useSidebarItems.ts b/src/.vuepress/theme/client/composables/sidebar/useSidebarItems.ts index 06263a62..58c0fe35 100644 --- a/src/.vuepress/theme/client/composables/sidebar/useSidebarItems.ts +++ b/src/.vuepress/theme/client/composables/sidebar/useSidebarItems.ts @@ -1,5 +1,5 @@ -import {ComputedRef, inject} from 'vue'; -import {MyPaResolvedSidebarItem} from '@mptheme/config.types'; +import {type ComputedRef, inject} from 'vue'; +import {type MyPaResolvedSidebarItem} from '@mptheme/config.types'; import {sidebarItemsSymbol} from './sidebarItemsSymbol'; export type SidebarItemsRef = ComputedRef; diff --git a/src/.vuepress/theme/client/composables/useBreadcrumbs.ts b/src/.vuepress/theme/client/composables/useBreadcrumbs.ts index 35c58382..543dbbef 100644 --- a/src/.vuepress/theme/client/composables/useBreadcrumbs.ts +++ b/src/.vuepress/theme/client/composables/useBreadcrumbs.ts @@ -1,10 +1,10 @@ -import {ComputedRef, computed} from 'vue'; -import {MyPaAnyNavbarItem} from '@mptheme/config.types'; -import {useLanguage} from '@mptheme/client/composables/useLanguage'; -import {useNavLink} from '@mptheme/client/composables/useNavLink'; -import {usePageData} from '@vuepress/client'; import {useRoute} from 'vue-router'; +import {type ComputedRef, computed} from 'vue'; +import {usePageData} from '@vuepress/client'; +import {type MyPaAnyNavbarItem} from '@mptheme/config.types'; import {useTranslate} from '@mptheme/client/composables/useTranslate'; +import {useNavLink} from '@mptheme/client/composables/useNavLink'; +import {useLanguage} from '@mptheme/client/composables/useLanguage'; export const useBreadcrumbs = (): ComputedRef => { const route = useRoute(); diff --git a/src/.vuepress/theme/client/composables/useContactForm.ts b/src/.vuepress/theme/client/composables/useContactForm.ts index 2027f116..c2381fa8 100644 --- a/src/.vuepress/theme/client/composables/useContactForm.ts +++ b/src/.vuepress/theme/client/composables/useContactForm.ts @@ -1,8 +1,8 @@ -import {Ref, ref} from 'vue'; -import {MessageItem} from '@mptheme/client/services/tailwind/variants/messageTextVariant'; +import {type Ref, ref} from 'vue'; import {isOfType} from '@mptheme/shared/utils'; -import {useGoogleTagManager} from '../../../plugins/gtm/client/composables/useGoogleTagManager'; +import {type MessageItem} from '@mptheme/client/services/tailwind/variants/messageTextVariant'; import {useTranslate} from '@mptheme/client/composables/useTranslate'; +import {useGoogleTagManager} from '../../../plugins/gtm/client/composables/useGoogleTagManager'; type UseContactForm = ( refs: Ref>, diff --git a/src/.vuepress/theme/client/composables/useContributors.ts b/src/.vuepress/theme/client/composables/useContributors.ts index f8530d46..fece9956 100644 --- a/src/.vuepress/theme/client/composables/useContributors.ts +++ b/src/.vuepress/theme/client/composables/useContributors.ts @@ -1,7 +1,7 @@ -import {ComputedRef, computed} from 'vue'; +import {type ComputedRef, computed} from 'vue'; +import {type DefaultThemePageData} from '@vuepress/theme-default/lib/shared'; import {usePageData, usePageFrontmatter} from '@vuepress/client'; -import {DefaultThemePageData} from '@vuepress/theme-default/lib/shared'; -import {MyPaPageFrontmatter} from '@mptheme/config.types'; +import {type MyPaPageFrontmatter} from '@mptheme/config.types'; export const useContributors = (): ComputedRef['contributors']> => { const page = usePageData(); diff --git a/src/.vuepress/theme/client/composables/useFrontmatterLanguages.ts b/src/.vuepress/theme/client/composables/useFrontmatterLanguages.ts index bb7b818b..39e42915 100644 --- a/src/.vuepress/theme/client/composables/useFrontmatterLanguages.ts +++ b/src/.vuepress/theme/client/composables/useFrontmatterLanguages.ts @@ -1,9 +1,9 @@ -import {ComputedRef, computed} from 'vue'; -import {Language} from '../../../plugins/parseTranslations/shared'; -import {MyPaPageFrontmatter} from '@mptheme/config.types'; +import {type ComputedRef, computed} from 'vue'; +import {usePageFrontmatter} from '@vuepress/client'; +import {type MyPaPageFrontmatter} from '@mptheme/config.types'; import {toArray} from '@mptheme/client/utils/toArray'; import {useLanguage} from '@mptheme/client/composables/index'; -import {usePageFrontmatter} from '@vuepress/client'; +import {type Language} from '../../../plugins/parseTranslations/shared'; interface LanguageArrayItem { path?: string; diff --git a/src/.vuepress/theme/client/composables/useLanguage.ts b/src/.vuepress/theme/client/composables/useLanguage.ts index 1163fad2..7d0cbdc8 100644 --- a/src/.vuepress/theme/client/composables/useLanguage.ts +++ b/src/.vuepress/theme/client/composables/useLanguage.ts @@ -1,8 +1,8 @@ -import {ComputedRef, computed} from 'vue'; -import {Language} from '../../../plugins/parseTranslations/shared'; +import {type ComputedRef, computed} from 'vue'; import {memoize} from 'lodash-unified'; import {useRouteLocale} from '@vuepress/client'; import {useSiteLocaleData} from '@mptheme/client/composables/useSiteLocaleData'; +import {type Language} from '../../../plugins/parseTranslations/shared'; const LENGTH_ALPHA2_OR_LOCALE_SHORT = 2; diff --git a/src/.vuepress/theme/client/composables/useLastUpdated.ts b/src/.vuepress/theme/client/composables/useLastUpdated.ts index 3791be2e..d4089537 100644 --- a/src/.vuepress/theme/client/composables/useLastUpdated.ts +++ b/src/.vuepress/theme/client/composables/useLastUpdated.ts @@ -1,7 +1,7 @@ -import {ComputedRef, computed} from 'vue'; +import {type ComputedRef, computed} from 'vue'; +import {type DefaultThemePageData} from '@vuepress/theme-default/lib/shared'; import {usePageData, usePageFrontmatter} from '@vuepress/client'; -import {DefaultThemePageData} from '@vuepress/theme-default/lib/shared'; -import {MyPaPageFrontmatter} from '@mptheme/config.types'; +import {type MyPaPageFrontmatter} from '@mptheme/config.types'; import {useThemeLocaleData} from '@mptheme/client/composables'; export const useLastUpdated = (): ComputedRef => { diff --git a/src/.vuepress/theme/client/composables/useLink.ts b/src/.vuepress/theme/client/composables/useLink.ts index 7be60aaa..3c5f6ca1 100644 --- a/src/.vuepress/theme/client/composables/useLink.ts +++ b/src/.vuepress/theme/client/composables/useLink.ts @@ -1,9 +1,9 @@ -import {ComputedRef, Ref, computed, ref} from 'vue'; +import {type ComputedRef, type Ref, computed, ref} from 'vue'; +import {memoize} from 'lodash-unified'; +import {type MaybeRef} from '@vueuse/core'; import {isLinkHttp, isLinkMailto, isLinkTel} from '@vuepress/shared'; -import {MaybeRef} from '@vueuse/core'; -import {MyPaAnySidebarItem, MyPaNavLink} from '@mptheme/config.types'; import {isOfType} from '@mptheme/shared/utils'; -import {memoize} from 'lodash-unified'; +import {type MyPaAnySidebarItem, type MyPaNavLink} from '@mptheme/config.types'; import {useNavLink} from '@mptheme/client/composables/useNavLink'; interface UseLink { diff --git a/src/.vuepress/theme/client/composables/useLocaleLink.ts b/src/.vuepress/theme/client/composables/useLocaleLink.ts index 331999e0..f84bb847 100644 --- a/src/.vuepress/theme/client/composables/useLocaleLink.ts +++ b/src/.vuepress/theme/client/composables/useLocaleLink.ts @@ -1,9 +1,9 @@ -import {LanguageConfig, useSiteLocaleData} from '@mptheme/client/composables'; -import {Language} from '../../../plugins/parseTranslations/shared'; -import {NavLink} from '@vuepress/theme-default/lib/shared'; -import {SiteLocaleConfig} from 'vuepress'; -import {useRouteLocale} from '@vuepress/client'; +import {type SiteLocaleConfig} from 'vuepress'; import {useRouter} from 'vue-router'; +import {type NavLink} from '@vuepress/theme-default/lib/shared'; +import {useRouteLocale} from '@vuepress/client'; +import {type LanguageConfig, useSiteLocaleData} from '@mptheme/client/composables'; +import {type Language} from '../../../plugins/parseTranslations/shared'; type LocaleNavLink = NavLink & {language: LanguageConfig}; diff --git a/src/.vuepress/theme/client/composables/useNavLink.ts b/src/.vuepress/theme/client/composables/useNavLink.ts index a7f553f2..5e50faf7 100644 --- a/src/.vuepress/theme/client/composables/useNavLink.ts +++ b/src/.vuepress/theme/client/composables/useNavLink.ts @@ -1,4 +1,4 @@ -import {MyPaNavLink} from '@mptheme/config.types'; +import {type MyPaNavLink} from '@mptheme/config.types'; import {useResolveRouteWithRedirect} from '@mptheme/client/composables'; /** diff --git a/src/.vuepress/theme/client/composables/usePrevNextNavLinks.ts b/src/.vuepress/theme/client/composables/usePrevNextNavLinks.ts index 75156712..0fc64024 100644 --- a/src/.vuepress/theme/client/composables/usePrevNextNavLinks.ts +++ b/src/.vuepress/theme/client/composables/usePrevNextNavLinks.ts @@ -1,10 +1,10 @@ -import {ComputedRef, computed} from 'vue'; -import {MyPaPageFrontmatter, MyPaResolvedSidebarItem} from '@mptheme/config.types'; +import {useRoute} from 'vue-router'; +import {type ComputedRef, computed} from 'vue'; +import {type NavLink} from '@vuepress/theme-default/lib/shared'; import {isPlainObject, isString} from '@vuepress/shared'; -import {NavLink} from '@vuepress/theme-default/lib/shared'; -import {useNavLink} from '@mptheme/client/composables/useNavLink'; import {usePageFrontmatter} from '@vuepress/client'; -import {useRoute} from 'vue-router'; +import {type MyPaPageFrontmatter, type MyPaResolvedSidebarItem} from '@mptheme/config.types'; +import {useNavLink} from '@mptheme/client/composables/useNavLink'; import {useSidebarItems} from '@mptheme/client/composables/sidebar'; /** diff --git a/src/.vuepress/theme/client/composables/useResolveRouteWithRedirect.ts b/src/.vuepress/theme/client/composables/useResolveRouteWithRedirect.ts index e134f5ee..72fd712e 100644 --- a/src/.vuepress/theme/client/composables/useResolveRouteWithRedirect.ts +++ b/src/.vuepress/theme/client/composables/useResolveRouteWithRedirect.ts @@ -1,4 +1,4 @@ -import {Router, useRouter} from 'vue-router'; +import {type Router, useRouter} from 'vue-router'; import {isFunction, isString} from '@vuepress/shared'; /** diff --git a/src/.vuepress/theme/client/composables/useSiteLocaleData.ts b/src/.vuepress/theme/client/composables/useSiteLocaleData.ts index b20ab6b2..d82bfee9 100644 --- a/src/.vuepress/theme/client/composables/useSiteLocaleData.ts +++ b/src/.vuepress/theme/client/composables/useSiteLocaleData.ts @@ -1,6 +1,6 @@ -import {ComputedRef} from 'vue'; -import {MyPaSiteData} from '@mptheme/config.types'; +import {type ComputedRef} from 'vue'; import {useSiteLocaleData as realUseSiteLocaleData} from '@vuepress/client'; +import {type MyPaSiteData} from '@mptheme/config.types'; export const useSiteLocaleData = (): ComputedRef => { return realUseSiteLocaleData() as ComputedRef; diff --git a/src/.vuepress/theme/client/composables/useTailwindVariant.ts b/src/.vuepress/theme/client/composables/useTailwindVariant.ts index 827f2c0c..448914d8 100644 --- a/src/.vuepress/theme/client/composables/useTailwindVariant.ts +++ b/src/.vuepress/theme/client/composables/useTailwindVariant.ts @@ -1,6 +1,6 @@ -import {PropOptions} from 'vue'; -import {TailwindVariant} from '../services/tailwind/defineVariant'; +import {type PropOptions} from 'vue'; import {toArray} from '@mptheme/client/utils/toArray'; +import {type TailwindVariant} from '../services/tailwind/defineVariant'; const createValidator = (options: Record>, name: string) => diff --git a/src/.vuepress/theme/client/composables/useTranslate.ts b/src/.vuepress/theme/client/composables/useTranslate.ts index 3ade8f91..4a9ab51a 100644 --- a/src/.vuepress/theme/client/composables/useTranslate.ts +++ b/src/.vuepress/theme/client/composables/useTranslate.ts @@ -1,4 +1,4 @@ -import {LocaleConfig} from '@vuepress/shared'; +import {type LocaleConfig} from '@vuepress/shared'; import {useSiteLocaleData} from '@mptheme/client/composables'; const missingCache: string[] = []; diff --git a/src/.vuepress/theme/client/services/directives/vTest.ts b/src/.vuepress/theme/client/services/directives/vTest.ts index 74582636..e9467ffd 100644 --- a/src/.vuepress/theme/client/services/directives/vTest.ts +++ b/src/.vuepress/theme/client/services/directives/vTest.ts @@ -1,4 +1,4 @@ -import {Directive} from 'vue'; +import {type Directive} from 'vue'; export const vTest: Directive = (el, binding) => { if (process.env.NODE_ENV !== 'test' && !localStorage.getItem('showTestLabels')) { diff --git a/src/.vuepress/theme/client/services/tailwind/defineVariant.ts b/src/.vuepress/theme/client/services/tailwind/defineVariant.ts index 07ca58b4..ffc0007f 100644 --- a/src/.vuepress/theme/client/services/tailwind/defineVariant.ts +++ b/src/.vuepress/theme/client/services/tailwind/defineVariant.ts @@ -1,4 +1,4 @@ -import {Prop} from 'vue'; +import {type Prop} from 'vue'; export interface TailwindVariant< N = string, diff --git a/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.node.spec.ts b/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.node.spec.ts index c3ff0019..cd2eeafb 100644 --- a/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.node.spec.ts +++ b/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.node.spec.ts @@ -1,6 +1,6 @@ // @vitest-environment node -import {MyPaNavbarConfigArray} from '@mptheme/config.types'; +import {type MyPaNavbarConfigArray} from '@mptheme/config.types'; import {findNavItem} from '@mptheme/client/utils/find-nav-item/findNavItem'; const array: MyPaNavbarConfigArray = [ diff --git a/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.ts b/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.ts index c543d2b2..2e67d2d7 100644 --- a/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.ts +++ b/src/.vuepress/theme/client/utils/find-nav-item/findNavItem.ts @@ -1,5 +1,10 @@ -import {MyPaAnySidebarItem, MyPaSidebarConfigArray, MyPaSidebarGroup, MyPaSidebarItem} from '@mptheme/config.types'; import {isOfType} from '@mptheme/shared/utils'; +import { + type MyPaAnySidebarItem, + type MyPaSidebarConfigArray, + type MyPaSidebarGroup, + type MyPaSidebarItem, +} from '@mptheme/config.types'; import {toArray} from '@mptheme/client/utils/toArray'; export const findNavItem = (array: MyPaSidebarConfigArray, search: string | string[]): MyPaAnySidebarItem | null => { diff --git a/src/.vuepress/theme/client/utils/resolveLink.ts b/src/.vuepress/theme/client/utils/resolveLink.ts index 0eefbe4a..26a557c7 100644 --- a/src/.vuepress/theme/client/utils/resolveLink.ts +++ b/src/.vuepress/theme/client/utils/resolveLink.ts @@ -1,6 +1,6 @@ -import {Router, useRouter} from 'vue-router'; -import {MyPaNavLink} from '@mptheme/config.types'; +import {type Router, useRouter} from 'vue-router'; import {memoize} from 'lodash-unified'; +import {type MyPaNavLink} from '@mptheme/config.types'; let routes: ReturnType; diff --git a/src/.vuepress/theme/client/utils/resolveLinks.ts b/src/.vuepress/theme/client/utils/resolveLinks.ts index 33758a9c..37b3f4bc 100644 --- a/src/.vuepress/theme/client/utils/resolveLinks.ts +++ b/src/.vuepress/theme/client/utils/resolveLinks.ts @@ -1,4 +1,4 @@ -import {MyPaNavLink} from '@mptheme/config.types'; +import {type MyPaNavLink} from '@mptheme/config.types'; import {resolveLink} from '@mptheme/client/utils/resolveLink'; export const resolveLinks = (links: MyPaNavLink[]): MyPaNavLink[] => { diff --git a/src/.vuepress/theme/client/views/layout/sidebar/sidebar-items/SidebarItems.vue.spec.ts b/src/.vuepress/theme/client/views/layout/sidebar/sidebar-items/SidebarItems.vue.spec.ts index 58ba4d4f..9ae3e3c8 100644 --- a/src/.vuepress/theme/client/views/layout/sidebar/sidebar-items/SidebarItems.vue.spec.ts +++ b/src/.vuepress/theme/client/views/layout/sidebar/sidebar-items/SidebarItems.vue.spec.ts @@ -1,5 +1,5 @@ -import SidebarItems from './SidebarItems.vue'; import {shallowMount} from '@vue/test-utils'; +import SidebarItems from './SidebarItems.vue'; describe('sidebarItems', () => { it('renders properly', () => { diff --git a/src/.vuepress/theme/client/views/page/Page.vue.spec.ts b/src/.vuepress/theme/client/views/page/Page.vue.spec.ts index cf460d74..d090a9da 100644 --- a/src/.vuepress/theme/client/views/page/Page.vue.spec.ts +++ b/src/.vuepress/theme/client/views/page/Page.vue.spec.ts @@ -1,5 +1,5 @@ -import Page from './Page.vue'; import {shallowMount} from '@vue/test-utils'; +import Page from './Page.vue'; describe('page', () => { it('renders properly', () => { diff --git a/src/.vuepress/theme/client/views/page/page-container/PageContainer.vue.spec.ts b/src/.vuepress/theme/client/views/page/page-container/PageContainer.vue.spec.ts index 4dfc9235..67452000 100644 --- a/src/.vuepress/theme/client/views/page/page-container/PageContainer.vue.spec.ts +++ b/src/.vuepress/theme/client/views/page/page-container/PageContainer.vue.spec.ts @@ -1,5 +1,5 @@ -import PageContainer from './PageContainer.vue'; import {shallowMount} from '@vue/test-utils'; +import PageContainer from './PageContainer.vue'; describe('pageContainer', () => { it('renders properly', () => { diff --git a/src/.vuepress/theme/client/views/page/page-contributors/PageContributors.vue.spec.ts b/src/.vuepress/theme/client/views/page/page-contributors/PageContributors.vue.spec.ts index 19f8503e..78e11977 100644 --- a/src/.vuepress/theme/client/views/page/page-contributors/PageContributors.vue.spec.ts +++ b/src/.vuepress/theme/client/views/page/page-contributors/PageContributors.vue.spec.ts @@ -1,7 +1,7 @@ -import {DefaultThemeNormalPageFrontmatter, DefaultThemePageData} from '@vuepress/theme-default/lib/shared'; import {describe, expect, it, vi} from 'vitest'; -import PageContributors from '@mptheme/client/views/page/page-contributors/PageContributors.vue'; +import {type DefaultThemeNormalPageFrontmatter, type DefaultThemePageData} from '@vuepress/theme-default/lib/shared'; import {shallowMount} from '@vue/test-utils'; +import PageContributors from '@mptheme/client/views/page/page-contributors/PageContributors.vue'; vi.mock('@vuepress/client', () => ({ usePageData: vi.fn( diff --git a/src/.vuepress/theme/client/views/page/page-footer-nav/PageFooterNav.vue.spec.ts b/src/.vuepress/theme/client/views/page/page-footer-nav/PageFooterNav.vue.spec.ts index 25dd7bc9..1d083930 100644 --- a/src/.vuepress/theme/client/views/page/page-footer-nav/PageFooterNav.vue.spec.ts +++ b/src/.vuepress/theme/client/views/page/page-footer-nav/PageFooterNav.vue.spec.ts @@ -1,5 +1,5 @@ -import PageNav from './PageFooterNav.vue'; import {shallowMount} from '@vue/test-utils'; +import PageNav from './PageFooterNav.vue'; describe('pageNav', () => { it('renders properly', () => { diff --git a/src/.vuepress/theme/client/views/page/page-footer/PageFooter.vue.spec.ts b/src/.vuepress/theme/client/views/page/page-footer/PageFooter.vue.spec.ts index c4c31325..f409111a 100644 --- a/src/.vuepress/theme/client/views/page/page-footer/PageFooter.vue.spec.ts +++ b/src/.vuepress/theme/client/views/page/page-footer/PageFooter.vue.spec.ts @@ -1,5 +1,5 @@ -import PageFooter from './PageFooter.vue'; import {shallowMount} from '@vue/test-utils'; +import PageFooter from './PageFooter.vue'; describe('pageFooter', () => { it('renders properly', () => { diff --git a/src/.vuepress/theme/index.types.ts b/src/.vuepress/theme/index.types.ts index c3a98a75..e7b713c4 100755 --- a/src/.vuepress/theme/index.types.ts +++ b/src/.vuepress/theme/index.types.ts @@ -1,4 +1,4 @@ -import {breakpointsTailwind} from '@vueuse/core'; +import {type breakpointsTailwind} from '@vueuse/core'; export type Breakpoint = keyof typeof breakpointsTailwind; diff --git a/src/.vuepress/theme/mdPlugin.ts b/src/.vuepress/theme/mdPlugin.ts index e8be9323..22155c15 100644 --- a/src/.vuepress/theme/mdPlugin.ts +++ b/src/.vuepress/theme/mdPlugin.ts @@ -1,5 +1,5 @@ -import MarkdownIt from 'markdown-it'; -import Token from 'markdown-it/lib/token'; +import type Token from 'markdown-it/lib/token'; +import type MarkdownIt from 'markdown-it'; type ReplaceFunction = (link: string, env: unknown, token: Token) => string; diff --git a/src/.vuepress/theme/node/config/createContainerPlugin.ts b/src/.vuepress/theme/node/config/createContainerPlugin.ts index 4a3c55b1..5cd97972 100644 --- a/src/.vuepress/theme/node/config/createContainerPlugin.ts +++ b/src/.vuepress/theme/node/config/createContainerPlugin.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-magic-numbers */ -import {ContainerPluginOptions, containerPlugin} from '@vuepress/plugin-container'; -import {Plugin} from 'vuepress'; +import {type Plugin} from 'vuepress'; +import {type ContainerPluginOptions, containerPlugin} from '@vuepress/plugin-container'; const MESSAGE_TYPES: string[] = ['tip', 'note']; diff --git a/src/.vuepress/theme/node/plugins/autoLinkPlugin.ts b/src/.vuepress/theme/node/plugins/autoLinkPlugin.ts index 8e97d199..09490d19 100644 --- a/src/.vuepress/theme/node/plugins/autoLinkPlugin.ts +++ b/src/.vuepress/theme/node/plugins/autoLinkPlugin.ts @@ -1,5 +1,5 @@ -import {MarkdownEnv} from '@vuepress/markdown'; -import {Plugin} from 'vuepress'; +import {type Plugin} from 'vuepress'; +import {type MarkdownEnv} from '@vuepress/markdown'; /** * Wraps all links with . diff --git a/src/.vuepress/theme/node/plugins/incrementHeadingsPlugin.ts b/src/.vuepress/theme/node/plugins/incrementHeadingsPlugin.ts index 0777b86d..2cb969c9 100644 --- a/src/.vuepress/theme/node/plugins/incrementHeadingsPlugin.ts +++ b/src/.vuepress/theme/node/plugins/incrementHeadingsPlugin.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-magic-numbers */ -import {Plugin} from 'vuepress'; +import {type Plugin} from 'vuepress'; const MAX_HEADING_LEVEL = 6; diff --git a/src/.vuepress/theme/seoPlugin.ts b/src/.vuepress/theme/seoPlugin.ts index 1ccece54..a84b1136 100644 --- a/src/.vuepress/theme/seoPlugin.ts +++ b/src/.vuepress/theme/seoPlugin.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-magic-numbers */ -import {GitPluginFrontmatter, GitPluginPageData} from '@vuepress/plugin-git'; -import {Page, Plugin} from 'vuepress'; +import {type Page, type Plugin} from 'vuepress'; +import utc from 'dayjs/plugin/utc'; +import timezone from 'dayjs/plugin/timezone'; import dayjs from 'dayjs'; +import {type GitPluginFrontmatter, type GitPluginPageData} from '@vuepress/plugin-git'; import {frontmatterPlugin} from '@mdit-vue/plugin-frontmatter'; import {isOfType} from './shared/utils'; -import timezone from 'dayjs/plugin/timezone'; -import utc from 'dayjs/plugin/utc'; dayjs.extend(utc); dayjs.extend(timezone); diff --git a/test/vue-test-utils/testIdPlugin.ts b/test/vue-test-utils/testIdPlugin.ts index b0fd4a72..ebd86d28 100644 --- a/test/vue-test-utils/testIdPlugin.ts +++ b/test/vue-test-utils/testIdPlugin.ts @@ -1,4 +1,4 @@ -import {DOMWrapper, VueWrapper as RealVueWrapper, createWrapperError} from '@vue/test-utils'; +import {DOMWrapper, type VueWrapper as RealVueWrapper, createWrapperError} from '@vue/test-utils'; export const testIdPlugin = (wrapper: RealVueWrapper) => { const findByTestId = (id: string): DOMWrapper => { From 8b0a645380b3e2f25713c22afce578f32b39b173 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 3 Sep 2026 16:54:15 +0200 Subject: [PATCH 3/5] build(deps-dev): move the prettier config to the @myparcel-dev scope Replaces @myparcel/prettier-config with @myparcel-dev/prettier-config and declares it. The prettier field already named a config package that nothing installed, so eslint aborted on the prettier/prettier rule. @myparcel/prettier-config 1.1.0 is deprecated on npm; the two configs are byte-identical, so formatting does not change. Refs INT-1849 Co-Authored-By: Claude Opus 5 (1M context) --- package.json | 4 ++-- yarn.lock | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 1b17cc53..5734e762 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "src/**/*.svg": "svgo --multipass --final-newline", "**/*.{md,mdx,html,css,scss}": "prettier --write" }, - "prettier": "@myparcel/prettier-config", + "prettier": "@myparcel-dev/prettier-config", "resolutions": { "axios": "1.15.0", "tar": "7.5.11", @@ -58,8 +58,8 @@ "@myparcel-dev/eslint-config-prettier": "^1.4.0", "@myparcel-dev/eslint-config-prettier-typescript": "^1.4.0", "@myparcel-dev/eslint-config-prettier-typescript-vue": "^1.4.0", + "@myparcel-dev/prettier-config": "^2.0.1", "@myparcel/constants": "2.6.0", - "@myparcel/prettier-config": "^1.1.0", "@tsconfig/node18": "^18.2.2", "@types/flat": "^5.0.2", "@types/lodash-es": "^4.17.6", diff --git a/yarn.lock b/yarn.lock index e4641a3b..ff7e42c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -967,6 +967,13 @@ __metadata: languageName: node linkType: hard +"@myparcel-dev/prettier-config@npm:^2.0.1": + version: 2.0.1 + resolution: "@myparcel-dev/prettier-config@npm:2.0.1" + checksum: 91a7070fe688e34f1b6b61140e51221b0d2428f9caa417925a7d261ffa4a3f332bc8fa8323017677c5175e5cc2519a821160be01562d1b95b52e0d1476b9b450 + languageName: node + linkType: hard + "@myparcel-dev/utils@npm:^1.4.0": version: 1.4.0 resolution: "@myparcel-dev/utils@npm:1.4.0" @@ -995,8 +1002,8 @@ __metadata: "@myparcel-dev/eslint-config-prettier": ^1.4.0 "@myparcel-dev/eslint-config-prettier-typescript": ^1.4.0 "@myparcel-dev/eslint-config-prettier-typescript-vue": ^1.4.0 + "@myparcel-dev/prettier-config": ^2.0.1 "@myparcel/constants": 2.6.0 - "@myparcel/prettier-config": ^1.1.0 "@tsconfig/node18": ^18.2.2 "@types/flat": ^5.0.2 "@types/lodash-es": ^4.17.6 @@ -1046,7 +1053,7 @@ __metadata: languageName: unknown linkType: soft -"@myparcel/prettier-config@npm:>= 1, @myparcel/prettier-config@npm:^1.1.0": +"@myparcel/prettier-config@npm:>= 1": version: 1.1.0 resolution: "@myparcel/prettier-config@npm:1.1.0" checksum: c10890fdd77cd630500b65301dd43fe32ea82a383fdf51d64300744325210e9c4e4b80b6f274c761f7beabb21e128f54ea52955132de8fbe5c5d92aaa3baa3c1 From 8cc836675e909d25229cb896a21bf75872823bd3 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 3 Sep 2026 16:54:16 +0200 Subject: [PATCH 4/5] fix(eslint): parse .vue files when linted alongside .ts Adds extraFileExtensions to the .ts override so the shared TypeScript program knows about .vue. typescript-eslint builds one program per run. The .vue override got extraFileExtensions from @vue/eslint-config-typescript, the .ts override did not, so the program created first excluded .vue. Every one of the 81 .vue files then failed with "Parsing error: ESLint was configured to run on using parserOptions.project" and no rule ever ran on them. Linting only .vue files hid it, because that run built a program that did know the extension. Refs INT-1849 Co-Authored-By: Claude Opus 5 (1M context) --- .eslintrc.cjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 934da026..856dd3c7 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -19,6 +19,10 @@ module.exports = { { files: ['./**/*.ts', './**/*.tsx'], extends: ['@myparcel-dev/eslint-config-prettier-typescript', '@myparcel-dev/eslint-config-import'], + // typescript-eslint reuses one program across the run, so .vue has to be known here too + parserOptions: { + extraFileExtensions: ['.vue'], + }, rules: { '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-misused-promises': 'off', From 666163912f7a16804d72a7b9b18a2cf983790d15 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 3 Sep 2026 16:54:16 +0200 Subject: [PATCH 5/5] style: apply eslint --fix to the .vue files Extends the earlier fix pass to the 45 .vue files that could not be parsed before. Refs INT-1849 Co-Authored-By: Claude Opus 5 (1M context) --- .../client/components/common/LinkTree.vue | 4 +-- .../components/common/ToggleChevron.vue | 2 +- .../components/common/button/MPButton.vue | 6 ++-- .../client/components/global/ApiLink.vue | 6 ++-- .../client/components/global/CodeGroup.vue | 2 +- .../client/components/global/CodeLink.vue | 4 +-- .../client/components/global/ContactForm.vue | 24 ++++++------- .../theme/client/components/global/Cta.vue | 4 +-- .../components/global/DataTypeDefinition.vue | 2 +- .../client/components/global/FormInput.vue | 6 ++-- .../client/components/global/FormSelect.vue | 8 ++--- .../client/components/global/FormTextArea.vue | 6 ++-- .../client/components/global/InstallNode.vue | 2 +- .../client/components/global/Integrations.vue | 4 +-- .../client/components/global/Message.vue | 2 +- .../client/components/global/OpenApi.vue | 2 +- .../components/global/OpenApiSchemaInfo.vue | 36 +++++++------------ .../client/components/global/TeamMember.vue | 2 +- .../components/index-content/IndexContent.vue | 4 +-- .../language-dropdown/LanguageDropdown.vue | 4 +-- .../language-dropdown/LanguageOption.vue | 4 +-- .../navbar-dropdown/NavbarDropdown.vue | 6 ++-- .../redirect-content/RedirectContent.vue | 4 +-- .../theme/client/views/home/Home.vue | 8 ++--- .../views/home/home-content/HomeContent.vue | 4 +-- .../views/home/home-footer/HomeFooter.vue | 10 +++--- .../client/views/home/home-hero/HomeHero.vue | 10 +++--- .../client/views/home/home-link/HomeLink.vue | 2 +- .../home-partner-brand/HomePartnerBrand.vue | 2 +- .../layout/content-block/ContentBlock.vue | 2 +- .../content-container/ContentContainer.vue | 2 +- .../layout/footer-section/FooterSection.vue | 2 +- .../client/views/layout/header/MPHeader.vue | 10 +++--- .../navbar/navbar-brand/NavbarBrand.vue | 6 ++-- .../navbar/navbar-items/NavbarItems.vue | 8 ++--- .../ToggleColorModeButton.vue | 2 +- .../client/views/layout/layout/Layout.vue | 10 +++--- .../client/views/layout/sidebar/MPSidebar.vue | 6 ++-- .../sidebar/sidebar-items/SidebarItems.vue | 2 +- .../client/views/page/RouteBreadcrumbs.vue | 8 ++--- .../page/page-edit-link/PageEditLink.vue | 2 +- .../page/page-footer-nav/PageFooterNav.vue | 8 ++--- .../views/page/page-footer/PageFooter.vue | 4 +-- .../page/page-footer/PageFooterParts.vue | 16 ++++----- .../page-last-updated/PageLastUpdated.vue | 4 +-- 45 files changed, 130 insertions(+), 142 deletions(-) diff --git a/src/.vuepress/theme/client/components/common/LinkTree.vue b/src/.vuepress/theme/client/components/common/LinkTree.vue index 3ed857d6..8f90ab71 100644 --- a/src/.vuepress/theme/client/components/common/LinkTree.vue +++ b/src/.vuepress/theme/client/components/common/LinkTree.vue @@ -27,9 +27,9 @@