Skip to content

Commit

Permalink
Merge branch 'faster-type-bundling'
Browse files Browse the repository at this point in the history
  • Loading branch information
lgarron committed Jan 15, 2024
2 parents 9165dda + 8c661e3 commit d6b63eb
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 8 deletions.
3 changes: 0 additions & 3 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- run: make setup
- run: make build-site-docs
- name: Upload artifact
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ build-lib-js:
${BUN_RUN} ./script/build/lib/build-lib-js.ts
.PHONY: build-lib-types
build-lib-types:
${BUN_RUN} ./script/build/lib/build-lib-types.ts
nice -n -19 ${BUN_RUN} ./script/build/lib/build-lib-types.ts
.PHONY: build-bin
build-bin:
${BUN_RUN} ./script/build/bin/build-bin.ts
Expand Down Expand Up @@ -164,7 +164,7 @@ test-dist-lib-node-import: build-lib-js
${NODE} script/test/dist/lib/cubing/node/import/main.js
.PHONY: test-dist-lib-bun-scramble-all-events
test-dist-lib-bun-scramble-all-events: build-lib-js
${BUN} script/test/dist/lib/cubing/node/scramble-all-events/main.js
nice -n -19 ${BUN} script/test/dist/lib/cubing/node/scramble-all-events/main.js
.PHONY: test-dist-lib-perf
test-dist-lib-perf: build-lib-js
${BUN} script/test/dist/lib/cubing/perf/*.js
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,10 @@
"engines": {
"node": ">=19"
},
"files": ["./dist/bin/", "./dist/lib/"],
"files": [
"./dist/bin/",
"./dist/lib/"
],
"scripts": {
"default": "make default",
"build": "make build",
Expand Down
24 changes: 22 additions & 2 deletions script/build/lib/build-lib-types.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,34 @@
import { rename } from "fs/promises";
import { spawnPromise } from "../../lib/execPromise";
import { packageEntryPoints } from "../common/package-info";
import { packageNames } from "../common/package-info";

const UNBUNDLED_TYPES_ROOT = "./.temp/unbundled-types/src/cubing";

console.warn(`
⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳
Note: The \`types\` target is slow. Expect several seconds.
⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳
`);
await spawnPromise("rm", ["-rf", "./.temp/unbundled-types"]);

await spawnPromise("npx", [
"tsc",
"--project",
"./unbundled-types.tsconfig.json",
]);

for (const packageName of packageNames) {
rename(
`${UNBUNDLED_TYPES_ROOT}/${packageName}/index.d.ts`,
`${UNBUNDLED_TYPES_ROOT}/${packageName}/index.ts`,
);
}

await spawnPromise("npx", [
"tsup",
...packageEntryPoints,
...packageNames.map(
(packageName) => `${UNBUNDLED_TYPES_ROOT}/${packageName}/index.ts`,
),
"--dts-only",
"--format",
"esm",
Expand Down
9 changes: 9 additions & 0 deletions unbundled-types.tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"noEmit": false,
"outDir": "./.temp/unbundled-types",
"skipLibCheck": true
},
"include": ["src/cubing", "node_modules/@types/node"]
}

0 comments on commit d6b63eb

Please sign in to comment.