fix(js): update outDir in runtime tsconfig files to match types export in package.json (#30217)
## Current Behavior In the TS solution setup, several project generators produce the runtime tsconfig files (e.g. `tsconfig.lib.json`) with the `outDir` set to `out-tsc/<project name>`. This causes issues with the inferred `typecheck` task because the project `package.json` has the `types` export pointing to `dist/...`, which wouldn't be produced by `typecheck`. ## Expected Behavior In the TS solution setup, project generators should produce the runtime tsconfig files (e.g. `tsconfig.lib.json`) with the `outDir` set to a path (`dist`) that matches the value in the project `package.json`'s `types` export. ## Related Issue(s) Fixes #
This commit is contained in:
parent
b992e2586b
commit
a5d20030db
@ -400,9 +400,9 @@ describe('app', () => {
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"noUnusedLocals": false,
|
||||
"outDir": "out-tsc/my-app",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/my-app/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
|
||||
@ -552,9 +552,9 @@ describe('lib', () => {
|
||||
"jsx": "react-jsx",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/my-lib",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/my-lib/tsconfig.lib.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
|
||||
@ -265,9 +265,9 @@ describe('app', () => {
|
||||
"compilerOptions": {
|
||||
"module": "nodenext",
|
||||
"moduleResolution": "nodenext",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
"express",
|
||||
|
||||
@ -1031,10 +1031,7 @@ function createProjectTsConfigs(
|
||||
.map(([k, v]) => `${JSON.stringify(k)}: ${JSON.stringify(v)}`)
|
||||
.join(',\n '),
|
||||
tmpl: '',
|
||||
outDir:
|
||||
options.bundler === 'tsc'
|
||||
? 'dist'
|
||||
: `out-tsc/${options.projectRoot.split('/').pop()}`,
|
||||
outDir: 'dist',
|
||||
emitDeclarationOnly: options.bundler === 'tsc' ? false : true,
|
||||
}
|
||||
);
|
||||
|
||||
@ -140,9 +140,7 @@ export function updateTsconfigFiles(
|
||||
|
||||
json.compilerOptions = {
|
||||
...json.compilerOptions,
|
||||
// Make sure d.ts files from typecheck does not conflict with bundlers.
|
||||
// Other tooling like jest write to "out-tsc/jest" to we just default to "out-tsc/<project-name>".
|
||||
outDir: joinPathFragments('out-tsc', projectRoot.split('/').at(-1)),
|
||||
outDir: 'dist',
|
||||
rootDir,
|
||||
...compilerOptions,
|
||||
};
|
||||
|
||||
@ -281,10 +281,10 @@ describe('application generator', () => {
|
||||
"experimentalDecorators": true,
|
||||
"module": "nodenext",
|
||||
"moduleResolution": "nodenext",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"target": "es2021",
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
|
||||
@ -981,7 +981,7 @@ describe('app (legacy)', () => {
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"noEmit": true,
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"./src/*",
|
||||
@ -995,7 +995,7 @@ describe('app (legacy)', () => {
|
||||
"resolveJsonModule": true,
|
||||
"rootDir": "src",
|
||||
"strict": true,
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.tsbuildinfo",
|
||||
"types": [
|
||||
"jest",
|
||||
"node",
|
||||
|
||||
@ -187,9 +187,9 @@ describe('next library', () => {
|
||||
"jsx": "react-jsx",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/mylib",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/mylib/tsconfig.lib.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
"@nx/react/typings/cssmodule.d.ts",
|
||||
|
||||
@ -667,9 +667,9 @@ describe('app', () => {
|
||||
"compilerOptions": {
|
||||
"module": "nodenext",
|
||||
"moduleResolution": "nodenext",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
|
||||
@ -286,10 +286,10 @@ describe('app', () => {
|
||||
"jsxImportSource": "vue",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"resolveJsonModule": true,
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
},
|
||||
"exclude": [
|
||||
"out-tsc",
|
||||
|
||||
@ -326,9 +326,9 @@ describe('app', () => {
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"noUnusedLocals": false,
|
||||
"outDir": "out-tsc/my-app",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/my-app/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
|
||||
@ -525,9 +525,9 @@ describe('lib', () => {
|
||||
"jsx": "react-jsx",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/my-lib",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/my-lib/tsconfig.lib.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
|
||||
@ -1364,9 +1364,9 @@ describe('app', () => {
|
||||
],
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
"@nx/react/typings/cssmodule.d.ts",
|
||||
|
||||
@ -509,9 +509,9 @@ describe('hostGenerator', () => {
|
||||
],
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
"@nx/react/typings/cssmodule.d.ts",
|
||||
|
||||
@ -1052,9 +1052,9 @@ module.exports = withNx(
|
||||
"jsx": "react-jsx",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/mylib",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/mylib/tsconfig.lib.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
"@nx/react/typings/cssmodule.d.ts",
|
||||
|
||||
@ -548,7 +548,7 @@ describe('Remix Application', () => {
|
||||
],
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"resolveJsonModule": true,
|
||||
"rootDir": ".",
|
||||
"skipLibCheck": true,
|
||||
|
||||
@ -276,10 +276,10 @@ describe('application generator', () => {
|
||||
"jsxImportSource": "vue",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/test",
|
||||
"outDir": "dist",
|
||||
"resolveJsonModule": true,
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/test/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"vite/client",
|
||||
],
|
||||
|
||||
@ -606,10 +606,10 @@ module.exports = [
|
||||
"jsxImportSource": "vue",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/my-lib",
|
||||
"outDir": "dist",
|
||||
"resolveJsonModule": true,
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/my-lib/tsconfig.lib.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
||||
"types": [
|
||||
"vite/client",
|
||||
],
|
||||
|
||||
@ -801,9 +801,9 @@ describe('app', () => {
|
||||
"compilerOptions": {
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"outDir": "out-tsc/myapp",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "out-tsc/myapp/tsconfig.app.tsbuildinfo",
|
||||
"tsBuildInfoFile": "dist/tsconfig.app.tsbuildinfo",
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user