Skip to content

Commit 39da181

Browse files
authored
fix: unexported dynamic builders resulting in ts(2742) when composite: true. (#1578)
1 parent 6216e1f commit 39da181

File tree

9 files changed

+110
-1
lines changed

9 files changed

+110
-1
lines changed

.github/workflows/test.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,3 +347,31 @@ jobs:
347347

348348
- name: Run TypeScript Native tests
349349
run: pnpx @typescript/native-preview --project ./test/node/tsconfig.json
350+
351+
typescript-composite:
352+
name: TypeScript Composite
353+
runs-on: ubuntu-latest
354+
355+
steps:
356+
- name: Harden Runner
357+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
358+
with:
359+
egress-policy: audit
360+
361+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
362+
363+
- name: Install pnpm
364+
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
365+
366+
- name: Use Node.js
367+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
368+
with:
369+
cache: 'pnpm'
370+
node-version: lts/*
371+
372+
- name: Install dependencies
373+
run: pnpm i
374+
375+
- name: Test
376+
working-directory: test/composite-ts
377+
run: npm i && npm run check:types

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ dist
44
node_modules
55
.vscode
66
.idea
7+
tsconfig.tsbuildinfo

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,5 +138,5 @@
138138
"tsd": "^0.33.0",
139139
"typescript": "~5.9.2"
140140
},
141-
"packageManager": "pnpm@10.16.0+sha512.8066e7b034217b700a9a4dbb3a005061d641ba130a89915213a10b3ca4919c19c037bec8066afdc559b89635fdb806b16ea673f2468fbb28aabfa13c53e3f769"
141+
"packageManager": "pnpm@10.16.1+sha512.0e155aa2629db8672b49e8475da6226aa4bdea85fdcdfdc15350874946d4f3c91faaf64cbdc4a5d1ab8002f473d5c3fcedcd197989cf0390f9badd3c04678706"
142142
}

pnpm-workspace.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ ignoredBuiltDependencies:
1010

1111
minimumReleaseAge: 1440 # install package versions that are at least 1 day old (in minutes).
1212

13+
minimumReleaseAgeExclude:
14+
- '@types/node'
15+
1316
# `postinstall` allow list
1417
onlyBuiltDependencies:
1518
- better-sqlite3

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ export * from './schema/drop-view-builder.js'
6060
export * from './schema/alter-column-builder.js'
6161

6262
export * from './dynamic/dynamic.js'
63+
export * from './dynamic/dynamic-reference-builder.js'
64+
export * from './dynamic/dynamic-table-builder.js'
6365

6466
export * from './driver/driver.js'
6567
export * from './driver/database-connection.js'

test/composite-ts/foo.mts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { Kysely } from 'kysely'
2+
3+
export function foo<T extends 'myColumn'>(
4+
db: Kysely<{
5+
MyTable: {
6+
myColumn: string
7+
}
8+
}>,
9+
field: T,
10+
) {
11+
return db.selectFrom('MyTable').select(field)
12+
}

test/composite-ts/package-lock.json

Lines changed: 38 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/composite-ts/package.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"type": "module",
3+
"scripts": {
4+
"precheck:types": "cd ../.. && pnpm build && cp -r dist test/composite-ts/node_modules/kysely/",
5+
"check:types": "tsc --noEmit"
6+
},
7+
"devDependencies": {
8+
"typescript": "^5.8.3"
9+
},
10+
"dependencies": {
11+
"kysely": "*"
12+
}
13+
}

test/composite-ts/tsconfig.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"compilerOptions": {
3+
"lib": ["ESNext"],
4+
"module": "ES2022",
5+
"moduleResolution": "Bundler",
6+
"composite": true,
7+
"skipLibCheck": true,
8+
"strict": true
9+
},
10+
"exclude": ["node_modules"],
11+
"include": ["foo.mts"]
12+
}

0 commit comments

Comments
 (0)