From 3a241a4e2c651801c9d820f621227deeca9dd98b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 13 Feb 2026 18:07:31 +0000 Subject: [PATCH 1/3] fix: use untransformed typescript type exports --- build.config.ts | 2 +- package.json | 6 +++++- src/tsconfig/types.ts | 2 +- typescript.d.mts | 3 +++ 4 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 typescript.d.mts diff --git a/build.config.ts b/build.config.ts index b44cc28..49d9ed3 100644 --- a/build.config.ts +++ b/build.config.ts @@ -3,7 +3,7 @@ import { rm } from "node:fs/promises"; export default defineBuildConfig({ externals: [ - "typescript" + "#typescript" ], hooks: { async "build:done"() { diff --git a/package.json b/package.json index 160c937..6f9d3b4 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,12 @@ }, "types": "./dist/index.d.mts", "files": [ - "dist" + "dist", + "typescript.d.mts" ], + "imports": { + "#typescript": "./typescript.d.mts" + }, "scripts": { "build": "unbuild", "dev": "vitest --typecheck", diff --git a/src/tsconfig/types.ts b/src/tsconfig/types.ts index 7457e4a..08360bc 100644 --- a/src/tsconfig/types.ts +++ b/src/tsconfig/types.ts @@ -1,4 +1,4 @@ -import type { CompilerOptions, TypeAcquisition } from "typescript"; +import type { CompilerOptions, TypeAcquisition } from "#typescript"; export type StripEnums> = { [K in keyof T]: T[K] extends boolean diff --git a/typescript.d.mts b/typescript.d.mts new file mode 100644 index 0000000..4b87bb6 --- /dev/null +++ b/typescript.d.mts @@ -0,0 +1,3 @@ +import type ts from "typescript"; +export type CompilerOptions = ts.CompilerOptions; +export type TypeAcquisition = ts.TypeAcquisition; From 90103d015c7e8c9a738e06c1e854ef2f0ca0a26c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 10 Mar 2026 12:28:59 +0100 Subject: [PATCH 2/3] refactor: use namespace import --- build.config.ts | 5 +---- package.json | 6 +----- src/tsconfig/types.ts | 6 +++--- typescript.d.mts | 3 --- 4 files changed, 5 insertions(+), 15 deletions(-) delete mode 100644 typescript.d.mts diff --git a/build.config.ts b/build.config.ts index 6457bbf..bc2925d 100644 --- a/build.config.ts +++ b/build.config.ts @@ -1,8 +1,5 @@ -import { defineBuildConfig } from "obuild/config" +import { defineBuildConfig } from "obuild/config"; export default defineBuildConfig({ - externals: [ - "#typescript" - ], entries: ["src/index.ts"], }); diff --git a/package.json b/package.json index 454fc09..3c2a6d4 100644 --- a/package.json +++ b/package.json @@ -5,15 +5,11 @@ "license": "MIT", "repository": "unjs/pkg-types", "files": [ - "dist", - "typescript.d.mts" + "dist" ], "sideEffects": false, "main": "./dist/index.mjs", "types": "./dist/index.d.mts", - "imports": { - "#typescript": "./typescript.d.mts" - }, "exports": { ".": "./dist/index.mjs" }, diff --git a/src/tsconfig/types.ts b/src/tsconfig/types.ts index 08360bc..2ce561d 100644 --- a/src/tsconfig/types.ts +++ b/src/tsconfig/types.ts @@ -1,4 +1,4 @@ -import type { CompilerOptions, TypeAcquisition } from "#typescript"; +import type * as ts from "typescript"; export type StripEnums> = { [K in keyof T]: T[K] extends boolean @@ -15,12 +15,12 @@ export type StripEnums> = { }; export interface TSConfig { - compilerOptions?: StripEnums; + compilerOptions?: StripEnums; exclude?: string[]; compileOnSave?: boolean; extends?: string | string[]; files?: string[]; include?: string[]; - typeAcquisition?: TypeAcquisition; + typeAcquisition?: ts.TypeAcquisition; references?: { path: string }[]; } diff --git a/typescript.d.mts b/typescript.d.mts deleted file mode 100644 index 4b87bb6..0000000 --- a/typescript.d.mts +++ /dev/null @@ -1,3 +0,0 @@ -import type ts from "typescript"; -export type CompilerOptions = ts.CompilerOptions; -export type TypeAcquisition = ts.TypeAcquisition; From 2f92821ffd5af5c8ce5ca0e4af2d1b40137fd6cf Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 27 Apr 2026 11:14:13 +0100 Subject: [PATCH 3/3] build: keep typescript external for dts rollup --- build.config.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/build.config.ts b/build.config.ts index bc2925d..b89fdef 100644 --- a/build.config.ts +++ b/build.config.ts @@ -1,5 +1,11 @@ import { defineBuildConfig } from "obuild/config"; export default defineBuildConfig({ - entries: ["src/index.ts"], + entries: [ + { + type: "bundle", + input: "src/index.ts", + rolldown: { external: ["typescript"] }, + }, + ], });