diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 694c95a2a..856dd3c70 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,11 @@ 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'], + // 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', @@ -33,10 +35,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 f3693c9ab..0ac0bc533 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 6cb0aa47b..5734e7628 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", @@ -52,12 +52,13 @@ "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-dev/prettier-config": "^2.0.1", "@myparcel/constants": "2.6.0", "@tsconfig/node18": "^18.2.2", "@types/flat": "^5.0.2", diff --git a/src/.vuepress/config/createBottomFooter.ts b/src/.vuepress/config/createBottomFooter.ts index 33843e746..c515f8445 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 a508920ee..c0499e81e 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 cbd661d25..aa92bc523 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 b3b193a9c..bcf5ed682 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 a4fa51627..c184caf77 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 09208ac7b..ad120f09d 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 73abb2fbb..3f0d24c5d 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 786af80ab..056103a76 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 61739210a..397b3991f 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 ca8049470..87ac9029f 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 e45adc574..70ed1fd7a 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 8de5a26d1..032232868 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 b338c057f..5d015e19b 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 c98d26cab..e98ae9e51 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 b4d3c7e0e..4ad039ed8 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 40f424213..f0a896919 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 b5753f263..ec8f921ec 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 bd43aeb38..73a7c380b 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 4dffe3a83..e16366f9e 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 67cc83cdb..784e52b76 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/LinkTree.vue b/src/.vuepress/theme/client/components/common/LinkTree.vue index 3ed857d6f..8f90ab714 100644 --- a/src/.vuepress/theme/client/components/common/LinkTree.vue +++ b/src/.vuepress/theme/client/components/common/LinkTree.vue @@ -27,9 +27,9 @@