From d1fdc3d39155f1430804f536ed7fbfe8bc07f7f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Tue, 3 Feb 2026 15:02:21 +0100 Subject: [PATCH 1/6] chore: move deps to dev deps --- package.json | 4 ++-- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index e95a08769..2d5ecb8ee 100644 --- a/package.json +++ b/package.json @@ -49,8 +49,6 @@ "@iconify-json/solar": "1.2.5", "@iconify-json/svg-spinners": "1.2.4", "@iconify-json/vscode-icons": "1.2.40", - "@intlify/core-base": "11.2.8", - "@intlify/shared": "11.2.8", "@lunariajs/core": "https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@f07e1a3", "@nuxt/a11y": "1.0.0-alpha.1", "@nuxt/fonts": "0.13.0", @@ -98,6 +96,8 @@ "vue-data-ui": "3.14.3" }, "devDependencies": { + "@intlify/core-base": "11.2.8", + "@intlify/shared": "11.2.8", "@npm/types": "2.1.0", "@playwright/test": "1.58.1", "@types/node": "24.10.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0d56a4464..3e7477e73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,12 +53,6 @@ importers: '@iconify-json/vscode-icons': specifier: 1.2.40 version: 1.2.40 - '@intlify/core-base': - specifier: 11.2.8 - version: 11.2.8 - '@intlify/shared': - specifier: 11.2.8 - version: 11.2.8 '@lunariajs/core': specifier: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@f07e1a3 version: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@f07e1a3 @@ -195,6 +189,12 @@ importers: specifier: 3.14.3 version: 3.14.3(vue@3.5.27(typescript@5.9.3)) devDependencies: + '@intlify/core-base': + specifier: 11.2.8 + version: 11.2.8 + '@intlify/shared': + specifier: 11.2.8 + version: 11.2.8 '@npm/types': specifier: 2.1.0 version: 2.1.0 From 37b9169de55d3413c00b4d0b18833b1d6ab3c6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Tue, 3 Feb 2026 15:46:03 +0100 Subject: [PATCH 2/6] chore: convert knip config to ts --- knip.json | 49 ------------------------------------------------- knip.ts | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 49 deletions(-) delete mode 100644 knip.json create mode 100644 knip.ts diff --git a/knip.json b/knip.json deleted file mode 100644 index a7df11184..000000000 --- a/knip.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$schema": "https://unpkg.com/knip@5/schema.json", - "workspaces": { - ".": { - "entry": [ - "app/app.vue!", - "app/error.vue!", - "app/pages/**/*.vue!", - "app/components/**/*.vue!", - "app/composables/**/*.ts!", - "app/middleware/**/*.ts!", - "app/plugins/**/*.ts!", - "app/utils/**/*.ts!", - "server/**/*.ts!", - "modules/**/*.ts!", - "config/**/*.ts!", - "lunaria/**/*.ts!", - "shared/**/*.ts!", - "i18n/**/*.ts", - "lunaria.config.ts", - "pwa-assets.config.ts", - ".lighthouserc.cjs", - "lighthouse-setup.cjs", - "uno-preset-rtl.ts!", - "scripts/**/*.ts" - ], - "project": ["**/*.{ts,vue,cjs,mjs}"], - "ignoreDependencies": [ - "@iconify-json/*", - "@vercel/kv", - "@voidzero-dev/vite-plus-core", - "vite-plus!", - "h3", - "puppeteer", - "unplugin-vue-router", - "vite-plugin-pwa", - "vue-router" - ], - "ignoreUnresolved": ["#components", "#oauth/config"] - }, - "cli": { - "project": ["src/**/*.ts!"] - }, - "docs": { - "entry": ["app/**/*.{ts,vue}"], - "ignoreDependencies": ["docus", "better-sqlite3", "nuxt!"] - } - } -} diff --git a/knip.ts b/knip.ts new file mode 100644 index 000000000..8652989a1 --- /dev/null +++ b/knip.ts @@ -0,0 +1,52 @@ +import type { KnipConfig } from 'knip' + +const config: KnipConfig = { + workspaces: { + '.': { + entry: [ + 'app/app.vue!', + 'app/error.vue!', + 'app/pages/**/*.vue!', + 'app/components/**/*.vue!', + 'app/composables/**/*.ts!', + 'app/middleware/**/*.ts!', + 'app/plugins/**/*.ts!', + 'app/utils/**/*.ts!', + 'server/**/*.ts!', + 'modules/**/*.ts!', + 'config/**/*.ts!', + 'lunaria/**/*.ts!', + 'shared/**/*.ts!', + 'i18n/**/*.ts', + 'lunaria.config.ts', + 'pwa-assets.config.ts', + '.lighthouserc.cjs', + 'lighthouse-setup.cjs', + 'uno-preset-rtl.ts!', + 'scripts/**/*.ts', + ], + project: ['**/*.{ts,vue,cjs,mjs}'], + ignoreDependencies: [ + '@iconify-json/*', + '@vercel/kv', + '@voidzero-dev/vite-plus-core', + 'vite-plus!', + 'h3', + 'puppeteer', + 'unplugin-vue-router', + 'vite-plugin-pwa', + 'vue-router', + ], + ignoreUnresolved: ['#components', '#oauth/config'], + }, + 'cli': { + project: ['src/**/*.ts!'], + }, + 'docs': { + entry: ['app/**/*.{ts,vue}'], + ignoreDependencies: ['docus', 'better-sqlite3', 'nuxt!'], + }, + }, +} + +export default config From 4de416e124960b14caca10dfea5b7b0d1ade6ca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Tue, 3 Feb 2026 15:55:20 +0100 Subject: [PATCH 3/6] chore: add comments to knip ignored deps --- knip.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/knip.ts b/knip.ts index 8652989a1..e413c7dd1 100644 --- a/knip.ts +++ b/knip.ts @@ -33,8 +33,11 @@ const config: KnipConfig = { 'vite-plus!', 'h3', 'puppeteer', + /** Needs to be explicitly installed, even though it is not imported, to avoid type errors. */ 'unplugin-vue-router', 'vite-plugin-pwa', + + /** Some components import types from here, but installing it directly could lead to a version mismatch */ 'vue-router', ], ignoreUnresolved: ['#components', '#oauth/config'], From 62851fa8577c47d91af4e5c1a6c241a1e2e64358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Tue, 3 Feb 2026 15:56:05 +0100 Subject: [PATCH 4/6] chore: remove unnecessary ignored dep --- knip.ts | 1 - lighthouse-setup.cjs | 1 - 2 files changed, 2 deletions(-) diff --git a/knip.ts b/knip.ts index e413c7dd1..060cec82c 100644 --- a/knip.ts +++ b/knip.ts @@ -32,7 +32,6 @@ const config: KnipConfig = { '@voidzero-dev/vite-plus-core', 'vite-plus!', 'h3', - 'puppeteer', /** Needs to be explicitly installed, even though it is not imported, to avoid type errors. */ 'unplugin-vue-router', 'vite-plugin-pwa', diff --git a/lighthouse-setup.cjs b/lighthouse-setup.cjs index 5576d9660..f110651b5 100644 --- a/lighthouse-setup.cjs +++ b/lighthouse-setup.cjs @@ -6,7 +6,6 @@ * If not set, defaults to 'dark'. */ -/** @param {import('puppeteer').Browser} browser */ module.exports = async function setup(browser, { url }) { const colorMode = process.env.LIGHTHOUSE_COLOR_MODE || 'dark' const page = await browser.newPage() From b6c551695232596577f86e50330fb97001f3bf47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Tue, 3 Feb 2026 16:04:52 +0100 Subject: [PATCH 5/6] chore: move package back to non-dev deps --- package.json | 2 +- pnpm-lock.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2d5ecb8ee..3347e706b 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "@iconify-json/solar": "1.2.5", "@iconify-json/svg-spinners": "1.2.4", "@iconify-json/vscode-icons": "1.2.40", + "@intlify/shared": "11.2.8", "@lunariajs/core": "https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@f07e1a3", "@nuxt/a11y": "1.0.0-alpha.1", "@nuxt/fonts": "0.13.0", @@ -97,7 +98,6 @@ }, "devDependencies": { "@intlify/core-base": "11.2.8", - "@intlify/shared": "11.2.8", "@npm/types": "2.1.0", "@playwright/test": "1.58.1", "@types/node": "24.10.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3e7477e73..5253e56ff 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,6 +53,9 @@ importers: '@iconify-json/vscode-icons': specifier: 1.2.40 version: 1.2.40 + '@intlify/shared': + specifier: 11.2.8 + version: 11.2.8 '@lunariajs/core': specifier: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@f07e1a3 version: https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@f07e1a3 @@ -192,9 +195,6 @@ importers: '@intlify/core-base': specifier: 11.2.8 version: 11.2.8 - '@intlify/shared': - specifier: 11.2.8 - version: 11.2.8 '@npm/types': specifier: 2.1.0 version: 2.1.0 From 4bd50a2140b306900de74d343ea43a0a2261a5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Tue, 3 Feb 2026 16:13:59 +0100 Subject: [PATCH 6/6] chore: move package to non-dev deps --- package.json | 2 +- pnpm-lock.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 3347e706b..235719005 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,7 @@ "@vueuse/nuxt": "14.2.0", "@vueuse/router": "^14.2.0", "defu": "6.1.4", + "fast-npm-meta": "1.0.0", "focus-trap": "^7.8.0", "marked": "17.0.1", "module-replacements": "2.11.0", @@ -109,7 +110,6 @@ "@vue/test-utils": "2.4.6", "axe-core": "4.11.1", "fast-check": "4.5.3", - "fast-npm-meta": "1.0.0", "knip": "5.83.0", "lint-staged": "16.2.7", "oxfmt": "0.27.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5253e56ff..94630066a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -122,6 +122,9 @@ importers: defu: specifier: 6.1.4 version: 6.1.4 + fast-npm-meta: + specifier: 1.0.0 + version: 1.0.0 focus-trap: specifier: ^7.8.0 version: 7.8.0 @@ -228,9 +231,6 @@ importers: fast-check: specifier: 4.5.3 version: 4.5.3 - fast-npm-meta: - specifier: 1.0.0 - version: 1.0.0 knip: specifier: 5.83.0 version: 5.83.0(@types/node@24.10.9)(typescript@5.9.3)