Skip to content

Commit 4a3275c

Browse files
ma-coteautofix-ci[bot]TkDodo
authored
fix(build): exclude config files from production DTS rollup (TanStack#10358)
* fix(build): exclude config files from production DTS rollup The `experimentalDts` option in tsup respects the tsconfig `include` array to determine which files are in scope for DTS generation. Each package's `tsconfig.json` includes `*.config.*` for IDE support, and `tsconfig.prod.json` inherited this without overriding it. This caused `vite.config.ts` and `tsup.config.ts` to be swept into the DTS rollup, leaking `import { UserConfig } from 'vite'` into published types. Since vite references `@types/node`, this globally overrides the DOM `setTimeout` return type from `number` to `NodeJS.Timeout` for all consumers. Add `"include": ["src"]` (and `"exclude": ["src/__tests__"]` where applicable) to all `tsconfig.prod.json` files that were missing it, matching the pattern already used by query-core, react-query, preact-query, and solid-query. * chore: add changeset for DTS type pollution fix * test(build): add regression test for build tool type leaks in .d.ts files Adds scripts/verify-dts-imports.ts that scans all published .d.ts files for forbidden imports from build tools (vite, tsup, vitest) and `/// <reference types="node" />`. Wired into test:pr and test:ci to run after the build completes. * fix(build): fail fast when no .d.ts files found in verify-dts-imports * chore: add exclude for consistency in react-query-next-experimental * chore: fix log message to mention both .d.ts and .d.cts files * ci: apply automated fixes * chore: remove verify-dts-imports script and related package.json changes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Dominik Dorfmeister 🔮 <office@dorfmeister.cc>
1 parent 2853bfb commit 4a3275c

17 files changed

Lines changed: 53 additions & 16 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@tanstack/react-query-devtools': patch
3+
---
4+
5+
fix(build): exclude config files from production DTS rollup to prevent `@types/node` type pollution

packages/angular-query-experimental/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@
55
"composite": false,
66
"rootDir": "../../",
77
"customConditions": null
8-
}
8+
},
9+
"include": ["src"],
10+
"exclude": ["src/__tests__"]
911
}

packages/angular-query-persist-client/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"incremental": false,
55
"composite": false,
66
"rootDir": "../../"
7-
}
7+
},
8+
"include": ["src"],
9+
"exclude": ["src/__tests__"]
810
}

packages/eslint-plugin-query/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"incremental": false,
55
"composite": false,
66
"rootDir": "../../"
7-
}
7+
},
8+
"include": ["src"],
9+
"exclude": ["src/__tests__"]
810
}

packages/preact-query-devtools/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@
55
"composite": false,
66
"rootDir": "../../",
77
"customConditions": []
8-
}
8+
},
9+
"include": ["src"],
10+
"exclude": ["src/__tests__"]
911
}

packages/preact-query-persist-client/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"incremental": false,
55
"composite": false,
66
"rootDir": "../../"
7-
}
7+
},
8+
"include": ["src"],
9+
"exclude": ["src/__tests__"]
810
}

packages/query-async-storage-persister/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"incremental": false,
55
"composite": false,
66
"rootDir": "../../"
7-
}
7+
},
8+
"include": ["src"],
9+
"exclude": ["src/__tests__"]
810
}

packages/query-broadcast-client-experimental/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"incremental": false,
55
"composite": false,
66
"rootDir": "../../"
7-
}
7+
},
8+
"include": ["src"],
9+
"exclude": ["src/__tests__"]
810
}

packages/query-devtools/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"incremental": false,
55
"composite": false,
66
"rootDir": "../../"
7-
}
7+
},
8+
"include": ["src"],
9+
"exclude": ["src/__tests__"]
810
}

packages/query-persist-client-core/tsconfig.prod.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"incremental": false,
55
"composite": false,
66
"rootDir": "../../"
7-
}
7+
},
8+
"include": ["src"],
9+
"exclude": ["src/__tests__"]
810
}

0 commit comments

Comments
 (0)