From 7fc5dda8ef7d177ec2daca9dc0c2cfbd424eb0dd Mon Sep 17 00:00:00 2001 From: Philip Lehmann Date: Thu, 16 Apr 2026 06:08:47 +0200 Subject: [PATCH 1/2] Add tsgo support for type checking and update configs - Add `@typescript/native-preview` dependency - Add `tsgo` option to tsc typecheck executor and schema - Update nx.json to enable tsgo for typecheck - Update editor configs for tsgo support - Remove typescript dependency from package.json --- .vscode/settings.json | 3 ++- .zed/settings.json | 5 +++++ bun.lock | 18 +++++++++++++++++- libs/tsc/src/executors/typecheck/executor.ts | 4 ++-- libs/tsc/src/executors/typecheck/schema.d.ts | 3 ++- libs/tsc/src/executors/typecheck/schema.json | 7 ++++++- nx.json | 5 ++++- package.json | 4 ++-- tsconfig.base.json | 1 - 9 files changed, 40 insertions(+), 10 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9433c889..7d410131 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,5 @@ { "editor.defaultFormatter": "biomejs.biome", - "nxConsole.generateAiAgentRules": true + "nxConsole.generateAiAgentRules": true, + "js/ts.experimental.useTsgo": true } diff --git a/.zed/settings.json b/.zed/settings.json index d95d53b1..294df36a 100644 --- a/.zed/settings.json +++ b/.zed/settings.json @@ -2,5 +2,10 @@ "code_actions_on_format": { "source.organizeImports.biome": true, "source.fixAll.biome": true + }, + "languages": { + "TypeScript": { + "language_servers": ["tsgo", "vtsls"] + } } } diff --git a/bun.lock b/bun.lock index 9dbd50dc..2e9d8a95 100644 --- a/bun.lock +++ b/bun.lock @@ -21,12 +21,12 @@ "@swc/helpers": "0.5.21", "@types/bun": "1.3.12", "@types/nodemailer": "8.0.0", + "@typescript/native-preview": "7.0.0-dev.20260415.1", "esbuild": "0.28.0", "nodemailer": "8.0.5", "nx": "22.6.5", "playwright": "1.59.1", "testcontainers": "11.14.0", - "typescript": "6.0.2", }, }, }, @@ -617,6 +617,22 @@ "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], + "@typescript/native-preview": ["@typescript/native-preview@7.0.0-dev.20260415.1", "", { "optionalDependencies": { "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260415.1", "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260415.1", "@typescript/native-preview-linux-arm": "7.0.0-dev.20260415.1", "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260415.1", "@typescript/native-preview-linux-x64": "7.0.0-dev.20260415.1", "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260415.1", "@typescript/native-preview-win32-x64": "7.0.0-dev.20260415.1" }, "bin": { "tsgo": "bin/tsgo.js" } }, "sha512-kRQ0x4DgXZBI0bNTck65EUaj48+hbMlCHiJKfc0Se5ZVUG0SKRC6JBPLwIBCX5TfljKsm8SstuJ3qn6uw1IWpA=="], + + "@typescript/native-preview-darwin-arm64": ["@typescript/native-preview-darwin-arm64@7.0.0-dev.20260415.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-yGyyDb9bP3XfaIm8VUiaq7xkKwFSxLQ44XGYV78lrne12GhXgZ7Smbf2BVnT5MrTgT5uooMzww85P3I3XNVZng=="], + + "@typescript/native-preview-darwin-x64": ["@typescript/native-preview-darwin-x64@7.0.0-dev.20260415.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-vzac8BSbSkGPV/FMKyY/3cNZN+FgvjT1E+NNR8xWO8DfvSz4hYqbxvAL+zWPUno6R8afNFLZeJTfuIge0tJJ1g=="], + + "@typescript/native-preview-linux-arm": ["@typescript/native-preview-linux-arm@7.0.0-dev.20260415.1", "", { "os": "linux", "cpu": "arm" }, "sha512-1CI2nLfsoEibEAt6ApMVEr5M/v9EeXHmn9iD2nyyomO34ky3zqBtEPHakvgXD4QmpZg9O4WxRKc6u6EIy0Imxg=="], + + "@typescript/native-preview-linux-arm64": ["@typescript/native-preview-linux-arm64@7.0.0-dev.20260415.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jiXu+SrpCL/6J3LwuUSxU8scYs5H0wBkqu3CopdSTcJxQuzUDe6QAEoEW3O81cdrsq5qrIlfFxWH3bdohsvhJA=="], + + "@typescript/native-preview-linux-x64": ["@typescript/native-preview-linux-x64@7.0.0-dev.20260415.1", "", { "os": "linux", "cpu": "x64" }, "sha512-+4r4UqGE5ccy9vJNOhjXTqbZPkVGlqdiEgTJbdz8+EpUNQaLGMBhDj1cBMdrdK1YRuj/3C+pLfE3PD9kEsxf6Q=="], + + "@typescript/native-preview-win32-arm64": ["@typescript/native-preview-win32-arm64@7.0.0-dev.20260415.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-QsCAG7la4GE4Dp7i9MUz7Qv+HbKVDdmwlmn+8sOo0M3aSC6WssCU5gKVBUjp43WPtml/JticwzSz1qXLfdxHFA=="], + + "@typescript/native-preview-win32-x64": ["@typescript/native-preview-win32-x64@7.0.0-dev.20260415.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Z+rclKC7FqkUsqQ+ErgWJmf5J55LEl/rooFq71prC6V0vCBa5yLMmLBmFxZLLj2BsCBuwbN2O7aWUWrpCUEkmw=="], + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], "@unrs/resolver-binding-android-arm-eabi": ["@unrs/resolver-binding-android-arm-eabi@1.11.1", "", { "os": "android", "cpu": "arm" }, "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw=="], diff --git a/libs/tsc/src/executors/typecheck/executor.ts b/libs/tsc/src/executors/typecheck/executor.ts index 71c57e9e..946e93db 100644 --- a/libs/tsc/src/executors/typecheck/executor.ts +++ b/libs/tsc/src/executors/typecheck/executor.ts @@ -17,7 +17,7 @@ const possibleTsConfigs = [ ]; const tscTypecheckExecutor: Executor = async ( - { tsconfig = 'tsconfig.lib.json' }, + { tsconfig = 'tsconfig.lib.json', tsgo = false }, context, ) => { const root = projectRoot(context); @@ -31,7 +31,7 @@ const tscTypecheckExecutor: Executor = async ( } } try { - await promiseSpawn('tsc', ['--noEmit', '-p', resolve(root, tsconfig)], { + await promiseSpawn(tsgo ? 'tsgo' : 'tsc', ['--noEmit', '-p', resolve(root, tsconfig)], { cwd: context.root, env: process.env, }); diff --git a/libs/tsc/src/executors/typecheck/schema.d.ts b/libs/tsc/src/executors/typecheck/schema.d.ts index 1f8496b5..6c23be05 100644 --- a/libs/tsc/src/executors/typecheck/schema.d.ts +++ b/libs/tsc/src/executors/typecheck/schema.d.ts @@ -1,3 +1,4 @@ export interface TscTypecheckExecutorSchema { - tsconfig?: string; // specify the path to the tsconfig file + tsconfig?: string; + tsgo?: boolean; } diff --git a/libs/tsc/src/executors/typecheck/schema.json b/libs/tsc/src/executors/typecheck/schema.json index b6db7f77..4a1c6b10 100644 --- a/libs/tsc/src/executors/typecheck/schema.json +++ b/libs/tsc/src/executors/typecheck/schema.json @@ -6,7 +6,12 @@ "type": "object", "properties": { "tsconfig": { - "type": "string" + "type": "string", + "description": "Path to the tsconfig.json file" + }, + "tsgo": { + "type": "boolean", + "description": "Use tsgo for type checking" } }, "required": [] diff --git a/nx.json b/nx.json index 468cd60a..b1cd5ab8 100644 --- a/nx.json +++ b/nx.json @@ -21,7 +21,10 @@ }, "@riwi/tsc:typecheck": { "cache": true, - "inputs": ["default", "{workspaceRoot}/tsconfig.base.json"] + "inputs": ["default", "{workspaceRoot}/tsconfig.base.json"], + "options": { + "tsgo": true + } }, "@riwi/node:test": { "cache": true, diff --git a/package.json b/package.json index 14716e2b..ea17939f 100644 --- a/package.json +++ b/package.json @@ -16,12 +16,12 @@ "@swc/helpers": "0.5.21", "@types/bun": "1.3.12", "@types/nodemailer": "8.0.0", + "@typescript/native-preview": "7.0.0-dev.20260415.1", "esbuild": "0.28.0", "nodemailer": "8.0.5", "nx": "22.6.5", "playwright": "1.59.1", - "testcontainers": "11.14.0", - "typescript": "6.0.2" + "testcontainers": "11.14.0" }, "dependencies": { "puppeteer-core": "24.41.0", diff --git a/tsconfig.base.json b/tsconfig.base.json index b02803be..70d816bf 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -24,7 +24,6 @@ "noUnusedParameters": false, "noPropertyAccessFromIndexSignature": false, "types": ["bun"], - "baseUrl": "", "ignoreDeprecations": "6.0", "rootDir": ".", "paths": { From 979a9f1bd738b8aa5726603e631cb03fd800d386 Mon Sep 17 00:00:00 2001 From: Philip Lehmann Date: Thu, 16 Apr 2026 06:10:39 +0200 Subject: [PATCH 2/2] chore(release): publish 0.1.1 --- CHANGELOG.md | 4 ++++ libs/biomejs/CHANGELOG.md | 4 ++++ libs/biomejs/package.json | 2 +- libs/bun/CHANGELOG.md | 4 ++++ libs/bun/package.json | 2 +- libs/docker/CHANGELOG.md | 4 ++++ libs/docker/package.json | 2 +- libs/node/CHANGELOG.md | 4 ++++ libs/node/package.json | 2 +- libs/nx/CHANGELOG.md | 4 ++++ libs/nx/package.json | 2 +- libs/tsc/CHANGELOG.md | 4 ++++ libs/tsc/package.json | 2 +- 13 files changed, 34 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdcab202..11fba625 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 (2026-04-16) + +This was a version bump only, there were no code changes. + ## 0.1.0 (2026-03-29) This was a version bump only, there were no code changes. diff --git a/libs/biomejs/CHANGELOG.md b/libs/biomejs/CHANGELOG.md index 4922baa6..10050e06 100644 --- a/libs/biomejs/CHANGELOG.md +++ b/libs/biomejs/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 (2026-04-16) + +This was a version bump only for biomejs to align it with other projects, there were no code changes. + ## 0.1.0 (2026-03-29) This was a version bump only for biomejs to align it with other projects, there were no code changes. diff --git a/libs/biomejs/package.json b/libs/biomejs/package.json index f4b9686f..0a82289c 100644 --- a/libs/biomejs/package.json +++ b/libs/biomejs/package.json @@ -1,6 +1,6 @@ { "name": "@riwi/biomejs", - "version": "0.1.0", + "version": "0.1.1", "dependencies": {}, "type": "module", "main": "./src/index.js", diff --git a/libs/bun/CHANGELOG.md b/libs/bun/CHANGELOG.md index 3a912ba7..a5bea2bc 100644 --- a/libs/bun/CHANGELOG.md +++ b/libs/bun/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 (2026-04-16) + +This was a version bump only for bun to align it with other projects, there were no code changes. + ## 0.1.0 (2026-03-29) This was a version bump only for bun to align it with other projects, there were no code changes. diff --git a/libs/bun/package.json b/libs/bun/package.json index 33b0240a..9e6c6553 100644 --- a/libs/bun/package.json +++ b/libs/bun/package.json @@ -1,6 +1,6 @@ { "name": "@riwi/bun", - "version": "0.1.0", + "version": "0.1.1", "type": "module", "main": "./src/index.js", "typings": "./src/index.d.ts", diff --git a/libs/docker/CHANGELOG.md b/libs/docker/CHANGELOG.md index 2efaa55a..f13f2013 100644 --- a/libs/docker/CHANGELOG.md +++ b/libs/docker/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 (2026-04-16) + +This was a version bump only for docker to align it with other projects, there were no code changes. + ## 0.1.0 (2026-03-29) This was a version bump only for docker to align it with other projects, there were no code changes. diff --git a/libs/docker/package.json b/libs/docker/package.json index 45058e82..4f496ec5 100644 --- a/libs/docker/package.json +++ b/libs/docker/package.json @@ -1,6 +1,6 @@ { "name": "@riwi/docker", - "version": "0.1.0", + "version": "0.1.1", "dependencies": {}, "type": "module", "main": "./src/index.js", diff --git a/libs/node/CHANGELOG.md b/libs/node/CHANGELOG.md index ed14f103..7e10e23c 100644 --- a/libs/node/CHANGELOG.md +++ b/libs/node/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 (2026-04-16) + +This was a version bump only for node to align it with other projects, there were no code changes. + ## 0.1.0 (2026-03-29) This was a version bump only for node to align it with other projects, there were no code changes. diff --git a/libs/node/package.json b/libs/node/package.json index 0d81b753..a8aa088b 100644 --- a/libs/node/package.json +++ b/libs/node/package.json @@ -1,6 +1,6 @@ { "name": "@riwi/node", - "version": "0.1.0", + "version": "0.1.1", "dependencies": {}, "type": "module", "main": "./src/index.js", diff --git a/libs/nx/CHANGELOG.md b/libs/nx/CHANGELOG.md index 528f2865..1c7bded3 100644 --- a/libs/nx/CHANGELOG.md +++ b/libs/nx/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 (2026-04-16) + +This was a version bump only for nx to align it with other projects, there were no code changes. + ## 0.1.0 (2026-03-29) This was a version bump only for nx to align it with other projects, there were no code changes. diff --git a/libs/nx/package.json b/libs/nx/package.json index e14d602d..0a978072 100644 --- a/libs/nx/package.json +++ b/libs/nx/package.json @@ -1,6 +1,6 @@ { "name": "@riwi/nx", - "version": "0.1.0", + "version": "0.1.1", "dependencies": {}, "type": "module", "main": "./src/index.js", diff --git a/libs/tsc/CHANGELOG.md b/libs/tsc/CHANGELOG.md index cc87644b..acd1ac02 100644 --- a/libs/tsc/CHANGELOG.md +++ b/libs/tsc/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.1 (2026-04-16) + +This was a version bump only for tsc to align it with other projects, there were no code changes. + ## 0.1.0 (2026-03-29) This was a version bump only for tsc to align it with other projects, there were no code changes. diff --git a/libs/tsc/package.json b/libs/tsc/package.json index d73b0066..e46929e0 100644 --- a/libs/tsc/package.json +++ b/libs/tsc/package.json @@ -1,6 +1,6 @@ { "name": "@riwi/tsc", - "version": "0.1.0", + "version": "0.1.1", "dependencies": {}, "type": "module", "main": "./src/index.js",