From d05943aed9c40d59300eb8870cec12a7161a8ef6 Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 13 Aug 2026 11:12:57 +0800 Subject: [PATCH] chore(create-rstack): enable type-aware linting in templates --- packages/create-rstack/template-app-lit-ts/rstack.config.ts | 2 +- .../create-rstack/template-app-preact-ts/rstack.config.ts | 2 +- .../create-rstack/template-app-react-ts/rstack.config.ts | 2 +- .../create-rstack/template-app-solid-ts/rstack.config.ts | 2 +- .../create-rstack/template-app-svelte-ts/rstack.config.ts | 2 +- .../create-rstack/template-app-vanilla-ts/rstack.config.ts | 2 +- packages/create-rstack/template-app-vue-ts/rstack.config.ts | 2 +- packages/create-rstack/template-app-vue-ts/src/env.d.ts | 6 ++++++ packages/create-rstack/template-doc-i18n/rstack.config.ts | 2 +- packages/create-rstack/template-doc/rstack.config.ts | 2 +- .../create-rstack/template-lib-node-ts/rstack.config.ts | 2 +- .../create-rstack/template-lib-react-ts/rstack.config.ts | 2 +- .../create-rstack/template-lib-solid-ts/rstack.config.ts | 2 +- .../create-rstack/template-lib-svelte-ts/rstack.config.ts | 2 +- packages/create-rstack/template-lib-vue-ts/rstack.config.ts | 2 +- packages/create-rstack/tests/create.test.ts | 3 +++ 16 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 packages/create-rstack/template-app-vue-ts/src/env.d.ts diff --git a/packages/create-rstack/template-app-lit-ts/rstack.config.ts b/packages/create-rstack/template-app-lit-ts/rstack.config.ts index cdfe0ac0..1dac3261 100644 --- a/packages/create-rstack/template-app-lit-ts/rstack.config.ts +++ b/packages/create-rstack/template-app-lit-ts/rstack.config.ts @@ -19,7 +19,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-app-preact-ts/rstack.config.ts b/packages/create-rstack/template-app-preact-ts/rstack.config.ts index 9ee763c8..8bf4f073 100644 --- a/packages/create-rstack/template-app-preact-ts/rstack.config.ts +++ b/packages/create-rstack/template-app-preact-ts/rstack.config.ts @@ -18,7 +18,7 @@ define.lint(async () => { return [ js.configs.recommended, - ts.configs.recommended, + ts.configs.recommendedTypeChecked, reactPlugin.configs.recommended, reactHooksPlugin.configs.recommended, ]; diff --git a/packages/create-rstack/template-app-react-ts/rstack.config.ts b/packages/create-rstack/template-app-react-ts/rstack.config.ts index 356c98e1..1cbfbf46 100644 --- a/packages/create-rstack/template-app-react-ts/rstack.config.ts +++ b/packages/create-rstack/template-app-react-ts/rstack.config.ts @@ -18,7 +18,7 @@ define.lint(async () => { return [ js.configs.recommended, - ts.configs.recommended, + ts.configs.recommendedTypeChecked, reactPlugin.configs.recommended, reactHooksPlugin.configs.recommended, ]; diff --git a/packages/create-rstack/template-app-solid-ts/rstack.config.ts b/packages/create-rstack/template-app-solid-ts/rstack.config.ts index 355d1b46..6aac365b 100644 --- a/packages/create-rstack/template-app-solid-ts/rstack.config.ts +++ b/packages/create-rstack/template-app-solid-ts/rstack.config.ts @@ -22,7 +22,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-app-svelte-ts/rstack.config.ts b/packages/create-rstack/template-app-svelte-ts/rstack.config.ts index 66320b37..e834b53d 100644 --- a/packages/create-rstack/template-app-svelte-ts/rstack.config.ts +++ b/packages/create-rstack/template-app-svelte-ts/rstack.config.ts @@ -16,7 +16,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-app-vanilla-ts/rstack.config.ts b/packages/create-rstack/template-app-vanilla-ts/rstack.config.ts index 349fcfae..5476c2c8 100644 --- a/packages/create-rstack/template-app-vanilla-ts/rstack.config.ts +++ b/packages/create-rstack/template-app-vanilla-ts/rstack.config.ts @@ -12,7 +12,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-app-vue-ts/rstack.config.ts b/packages/create-rstack/template-app-vue-ts/rstack.config.ts index f2224449..12ea8e76 100644 --- a/packages/create-rstack/template-app-vue-ts/rstack.config.ts +++ b/packages/create-rstack/template-app-vue-ts/rstack.config.ts @@ -16,7 +16,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-app-vue-ts/src/env.d.ts b/packages/create-rstack/template-app-vue-ts/src/env.d.ts new file mode 100644 index 00000000..8afcdfbb --- /dev/null +++ b/packages/create-rstack/template-app-vue-ts/src/env.d.ts @@ -0,0 +1,6 @@ +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + + const component: DefineComponent; + export default component; +} diff --git a/packages/create-rstack/template-doc-i18n/rstack.config.ts b/packages/create-rstack/template-doc-i18n/rstack.config.ts index 2ab17eff..8e1f8435 100644 --- a/packages/create-rstack/template-doc-i18n/rstack.config.ts +++ b/packages/create-rstack/template-doc-i18n/rstack.config.ts @@ -28,7 +28,7 @@ define.lint(async () => { return [ js.configs.recommended, - ts.configs.recommended, + ts.configs.recommendedTypeChecked, reactPlugin.configs.recommended, reactHooksPlugin.configs.recommended, ]; diff --git a/packages/create-rstack/template-doc/rstack.config.ts b/packages/create-rstack/template-doc/rstack.config.ts index 466b9d5c..77378cff 100644 --- a/packages/create-rstack/template-doc/rstack.config.ts +++ b/packages/create-rstack/template-doc/rstack.config.ts @@ -12,7 +12,7 @@ define.lint(async () => { return [ js.configs.recommended, - ts.configs.recommended, + ts.configs.recommendedTypeChecked, reactPlugin.configs.recommended, reactHooksPlugin.configs.recommended, ]; diff --git a/packages/create-rstack/template-lib-node-ts/rstack.config.ts b/packages/create-rstack/template-lib-node-ts/rstack.config.ts index d0f94060..dc33795b 100644 --- a/packages/create-rstack/template-lib-node-ts/rstack.config.ts +++ b/packages/create-rstack/template-lib-node-ts/rstack.config.ts @@ -13,7 +13,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-lib-react-ts/rstack.config.ts b/packages/create-rstack/template-lib-react-ts/rstack.config.ts index 89cb5d03..b131e4a8 100644 --- a/packages/create-rstack/template-lib-react-ts/rstack.config.ts +++ b/packages/create-rstack/template-lib-react-ts/rstack.config.ts @@ -28,7 +28,7 @@ define.lint(async () => { return [ js.configs.recommended, - ts.configs.recommended, + ts.configs.recommendedTypeChecked, reactPlugin.configs.recommended, reactHooksPlugin.configs.recommended, ]; diff --git a/packages/create-rstack/template-lib-solid-ts/rstack.config.ts b/packages/create-rstack/template-lib-solid-ts/rstack.config.ts index 25c187d5..02bc776f 100644 --- a/packages/create-rstack/template-lib-solid-ts/rstack.config.ts +++ b/packages/create-rstack/template-lib-solid-ts/rstack.config.ts @@ -78,7 +78,7 @@ define.test(async () => { define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-lib-svelte-ts/rstack.config.ts b/packages/create-rstack/template-lib-svelte-ts/rstack.config.ts index 3ac5f03d..0844c4e2 100644 --- a/packages/create-rstack/template-lib-svelte-ts/rstack.config.ts +++ b/packages/create-rstack/template-lib-svelte-ts/rstack.config.ts @@ -26,7 +26,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/template-lib-vue-ts/rstack.config.ts b/packages/create-rstack/template-lib-vue-ts/rstack.config.ts index e9c37a60..a372eb1d 100644 --- a/packages/create-rstack/template-lib-vue-ts/rstack.config.ts +++ b/packages/create-rstack/template-lib-vue-ts/rstack.config.ts @@ -25,7 +25,7 @@ define.test({ define.lint(async () => { const { js, ts } = await import('rstack/lint'); - return [js.configs.recommended, ts.configs.recommended]; + return [js.configs.recommended, ts.configs.recommendedTypeChecked]; }); define.fmt({ diff --git a/packages/create-rstack/tests/create.test.ts b/packages/create-rstack/tests/create.test.ts index 32576411..08c23d7e 100644 --- a/packages/create-rstack/tests/create.test.ts +++ b/packages/create-rstack/tests/create.test.ts @@ -205,6 +205,9 @@ test.each(sourceTemplates)( if (template.startsWith('app-')) { files.push('README.md', '.gitignore'); } + if (template === 'app-vue-ts') { + files.push('src/env.d.ts'); + } await expectProjectSetup(projectDirectory, template, configExtension, hasTypeScript); await expectFiles(projectDirectory, files);