diff --git a/packages/create-rslib/src/index.ts b/packages/create-rslib/src/index.ts index 0a36208c22..dd5ce1b2ea 100644 --- a/packages/create-rslib/src/index.ts +++ b/packages/create-rslib/src/index.ts @@ -159,7 +159,7 @@ create({ const packageName = getPackageName(distFolder); replacePackageNamePlaceholder( distFolder, - ['docs/Button.mdx', 'tsconfig.json'], + ['docs/Button.mdx', 'docs/tsconfig.json'], packageName, ); diff --git a/packages/create-rslib/template-node-ts/tests/tsconfig.json b/packages/create-rslib/template-node-ts/tests/tsconfig.json new file mode 100644 index 0000000000..6b6e131435 --- /dev/null +++ b/packages/create-rslib/template-node-ts/tests/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "rootDir": "..", + "types": ["node"] + }, + "include": ["./"] +} diff --git a/packages/create-rslib/template-node-ts/tsconfig.json b/packages/create-rslib/template-node-ts/tsconfig.json index 89920377d7..3ea980f155 100644 --- a/packages/create-rslib/template-node-ts/tsconfig.json +++ b/packages/create-rslib/template-node-ts/tsconfig.json @@ -1,15 +1,23 @@ { "compilerOptions": { "lib": ["ES2022"], + "target": "ES2022", "noEmit": true, "skipLibCheck": true, + "types": ["node"], + "useDefineForClassFields": true, + "rootDir": "src", + + /* modules */ "isolatedModules": true, - "resolveJsonModule": true, + "moduleDetection": "force", "moduleResolution": "bundler", - "useDefineForClassFields": true, + "resolveJsonModule": true, "allowImportingTsExtensions": true, - "types": ["node"], - "rootDir": "src" + + /* type checking */ + "noUnusedLocals": true, + "noUnusedParameters": true }, "include": ["src"] } diff --git a/packages/create-rslib/template-react-ts/package.json b/packages/create-rslib/template-react-ts/package.json index 78e039ff99..0061a48ebd 100644 --- a/packages/create-rslib/template-react-ts/package.json +++ b/packages/create-rslib/template-react-ts/package.json @@ -26,6 +26,7 @@ "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.2", + "@types/node": "^24.13.3", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.4", "happy-dom": "^20.11.2", diff --git a/packages/create-rslib/template-react-ts/tests/tsconfig.json b/packages/create-rslib/template-react-ts/tests/tsconfig.json index c6ff4244d3..201694f409 100644 --- a/packages/create-rslib/template-react-ts/tests/tsconfig.json +++ b/packages/create-rslib/template-react-ts/tests/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "types": ["@rslib/core/types", "@testing-library/jest-dom"] + "rootDir": "..", + "types": ["@rslib/core/types", "node", "@testing-library/jest-dom"] }, - "include": [".", "../rstest.setup.ts"] + "include": ["./"] } diff --git a/packages/create-rslib/template-react-ts/tsconfig.json b/packages/create-rslib/template-react-ts/tsconfig.json index 45a2bd99ef..076b68bc33 100644 --- a/packages/create-rslib/template-react-ts/tsconfig.json +++ b/packages/create-rslib/template-react-ts/tsconfig.json @@ -2,13 +2,23 @@ "compilerOptions": { "lib": ["DOM", "ES2022"], "jsx": "react-jsx", + "target": "ES2022", + "noEmit": true, "skipLibCheck": true, + "types": ["@rslib/core/types"], + "useDefineForClassFields": true, + "rootDir": "src", + + /* modules */ "isolatedModules": true, - "resolveJsonModule": true, + "moduleDetection": "force", "moduleResolution": "bundler", - "useDefineForClassFields": true, - "types": ["@rslib/core/types"], - "rootDir": "src" + "resolveJsonModule": true, + "allowImportingTsExtensions": true, + + /* type checking */ + "noUnusedLocals": true, + "noUnusedParameters": true }, "include": ["src"] } diff --git a/packages/create-rslib/template-rspress/react-ts/docs/tsconfig.json b/packages/create-rslib/template-rspress/react-ts/docs/tsconfig.json new file mode 100644 index 0000000000..ab23b71861 --- /dev/null +++ b/packages/create-rslib/template-rspress/react-ts/docs/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "rootDir": "..", + "paths": { + "{{ packageName }}": [".."] + } + }, + "include": ["./"] +} diff --git a/packages/create-rslib/template-rspress/react-ts/tsconfig.json b/packages/create-rslib/template-rspress/react-ts/tsconfig.json deleted file mode 100644 index 39df36cb00..0000000000 --- a/packages/create-rslib/template-rspress/react-ts/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "lib": ["DOM", "ES2022"], - "jsx": "react-jsx", - "skipLibCheck": true, - "isolatedModules": true, - "resolveJsonModule": true, - "moduleResolution": "bundler", - "useDefineForClassFields": true, - "types": ["@rslib/core/types", "node"], - "paths": { - "{{ packageName }}": ["."] - } - }, - "include": ["src", "docs", "rspress.config.ts"] -} diff --git a/packages/create-rslib/template-solid-ts/package.json b/packages/create-rslib/template-solid-ts/package.json index 85959af658..c8d1787482 100644 --- a/packages/create-rslib/template-solid-ts/package.json +++ b/packages/create-rslib/template-solid-ts/package.json @@ -28,6 +28,7 @@ "@solidjs/testing-library": "^0.8.10", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^7.0.1", + "@types/node": "^24.13.3", "happy-dom": "^20.11.2", "solid-js": "^1.9.14", "typescript": "^6.0.3" diff --git a/packages/create-rslib/template-solid-ts/tests/tsconfig.json b/packages/create-rslib/template-solid-ts/tests/tsconfig.json index c6ff4244d3..201694f409 100644 --- a/packages/create-rslib/template-solid-ts/tests/tsconfig.json +++ b/packages/create-rslib/template-solid-ts/tests/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "types": ["@rslib/core/types", "@testing-library/jest-dom"] + "rootDir": "..", + "types": ["@rslib/core/types", "node", "@testing-library/jest-dom"] }, - "include": [".", "../rstest.setup.ts"] + "include": ["./"] } diff --git a/packages/create-rslib/template-solid-ts/tsconfig.json b/packages/create-rslib/template-solid-ts/tsconfig.json index 181300644b..405a5830ed 100644 --- a/packages/create-rslib/template-solid-ts/tsconfig.json +++ b/packages/create-rslib/template-solid-ts/tsconfig.json @@ -3,13 +3,23 @@ "lib": ["DOM", "ES2022"], "jsx": "preserve", "jsxImportSource": "solid-js", + "target": "ES2022", + "noEmit": true, "skipLibCheck": true, + "types": ["@rslib/core/types"], + "useDefineForClassFields": true, + "rootDir": "src", + + /* modules */ "isolatedModules": true, - "resolveJsonModule": true, + "moduleDetection": "force", "moduleResolution": "bundler", - "useDefineForClassFields": true, - "types": ["@rslib/core/types"], - "rootDir": "src" + "resolveJsonModule": true, + "allowImportingTsExtensions": true, + + /* type checking */ + "noUnusedLocals": true, + "noUnusedParameters": true }, "include": ["src"] } diff --git a/packages/create-rslib/template-svelte-ts/tests/tsconfig.json b/packages/create-rslib/template-svelte-ts/tests/tsconfig.json new file mode 100644 index 0000000000..d2f2a6cbf7 --- /dev/null +++ b/packages/create-rslib/template-svelte-ts/tests/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "noEmit": true, + "rootDir": "..", + "types": ["@rslib/core/types", "node", "svelte"] + }, + "include": ["./"] +} diff --git a/packages/create-rslib/template-svelte-ts/tsconfig.json b/packages/create-rslib/template-svelte-ts/tsconfig.json index f94e1e7af5..0cddce6033 100644 --- a/packages/create-rslib/template-svelte-ts/tsconfig.json +++ b/packages/create-rslib/template-svelte-ts/tsconfig.json @@ -1,17 +1,26 @@ { "extends": "@tsconfig/svelte/tsconfig.json", "compilerOptions": { - "target": "ES2022", "lib": ["DOM", "ES2022"], - "module": "preserve", - "moduleDetection": "force", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "types": ["node"], + "target": "ES2022", "declaration": true, "emitDeclarationOnly": true, + "outDir": "dist", + "skipLibCheck": true, + "types": ["@rslib/core/types", "svelte"], + "useDefineForClassFields": true, + "rootDir": "src", + + /* modules */ "isolatedModules": true, - "noUnusedLocals": true + "moduleDetection": "force", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "allowImportingTsExtensions": true, + + /* type checking */ + "noUnusedLocals": true, + "noUnusedParameters": true }, - "include": ["src", "scripts", "*.config.ts"] + "include": ["src"] } diff --git a/packages/create-rslib/template-vue-ts/package.json b/packages/create-rslib/template-vue-ts/package.json index 1aaf72b1b1..6f5c6f9ef4 100644 --- a/packages/create-rslib/template-vue-ts/package.json +++ b/packages/create-rslib/template-vue-ts/package.json @@ -24,6 +24,7 @@ "@rstest/adapter-rslib": "^0.11.8", "@rstest/core": "^0.11.8", "@testing-library/jest-dom": "^7.0.1", + "@types/node": "^24.13.3", "@vue/test-utils": "^2.4.11", "happy-dom": "^20.11.2", "typescript": "^6.0.3", diff --git a/packages/create-rslib/template-vue-ts/tests/tsconfig.json b/packages/create-rslib/template-vue-ts/tests/tsconfig.json index c6ff4244d3..840b07cb01 100644 --- a/packages/create-rslib/template-vue-ts/tests/tsconfig.json +++ b/packages/create-rslib/template-vue-ts/tests/tsconfig.json @@ -1,7 +1,9 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "types": ["@rslib/core/types", "@testing-library/jest-dom"] + "noEmit": true, + "rootDir": "..", + "types": ["@rslib/core/types", "node", "@testing-library/jest-dom"] }, - "include": [".", "../rstest.setup.ts"] + "include": ["./"] } diff --git a/packages/create-rslib/template-vue-ts/tsconfig.json b/packages/create-rslib/template-vue-ts/tsconfig.json index 6eea802408..ae5c1864b4 100644 --- a/packages/create-rslib/template-vue-ts/tsconfig.json +++ b/packages/create-rslib/template-vue-ts/tsconfig.json @@ -2,24 +2,26 @@ "compilerOptions": { "lib": ["DOM", "ES2022"], "jsx": "preserve", - "skipLibCheck": true, "jsxImportSource": "vue", - "useDefineForClassFields": true, + "target": "ES2022", "declaration": true, - "outDir": "dist", "emitDeclarationOnly": true, + "outDir": "dist", + "skipLibCheck": true, + "types": ["@rslib/core/types"], + "useDefineForClassFields": true, + "rootDir": "src", /* modules */ "isolatedModules": true, - "resolveJsonModule": true, + "moduleDetection": "force", "moduleResolution": "bundler", - "types": ["@rslib/core/types"], + "resolveJsonModule": true, + "allowImportingTsExtensions": true, /* type checking */ "noUnusedLocals": true, - "noUnusedParameters": true, - - "rootDir": "src" + "noUnusedParameters": true }, "include": ["src"] } diff --git a/packages/create-rslib/test/index.test.ts b/packages/create-rslib/test/index.test.ts index ce95faf25d..d7374d8d9f 100644 --- a/packages/create-rslib/test/index.test.ts +++ b/packages/create-rslib/test/index.test.ts @@ -350,8 +350,8 @@ describe('rspress template', () => { expect(buttonMdxContent).not.toContain('{{ packageName }}'); expect(buttonMdxContent).toContain(`from '${projectName}'`); - // Verify tsconfig.json has the actual package name in paths - const tsconfigPath = join(dir, 'tsconfig.json'); + // Verify docs/tsconfig.json has the actual package name in paths + const tsconfigPath = join(dir, 'docs/tsconfig.json'); expect(existsSync(tsconfigPath)).toBeTruthy(); const tsconfigContent = readFileSync(tsconfigPath, 'utf-8'); expect(tsconfigContent).not.toContain('{{ packageName }}');