diff --git a/.changeset/tsrs-0-20.md b/.changeset/tsrs-0-20.md new file mode 100644 index 00000000..c47aeb02 --- /dev/null +++ b/.changeset/tsrs-0-20.md @@ -0,0 +1,5 @@ +--- +"@stll/oxlint-config": patch +--- + +Move to tsrs 0.20.1, which publishes Intel macOS and Windows x64 binaries, and read its Node API from `tsrs/async` instead of the removed `tsrs/unstable/async` path. diff --git a/README.md b/README.md index f06bb763..f0c3b388 100644 --- a/README.md +++ b/README.md @@ -348,8 +348,8 @@ Every repository that uses these configs follows one toolchain: them points tsdown at tsrs instead: `dts: { generator: "tsgo", tsgo: { path: } }`. - **Compiler-API code does not import `typescript`.** Programs, the type - checker and tsconfig resolution use `tsrs` `0.18.0-ts7.1.0-dev.20260929` - through its async API only (`import { API } from "tsrs/unstable/async"`; close + checker and tsconfig resolution use `tsrs` `0.20.1-ts7.1.0-beta` + through its async API only (`import { API } from "tsrs/async"`; close the API with `await api.close()` on every path). The `tsrs` CLI accepts `--noEmit`, `--pretty false`, `-p`, `--build --force`, `--listFilesOnly`, `--extendedDiagnostics` and `--declaration --emitDeclarationOnly --outDir`; diff --git a/bun.lock b/bun.lock index b317aa90..f19e0716 100644 --- a/bun.lock +++ b/bun.lock @@ -43,7 +43,7 @@ "picomatch": "4.0.7", "semver": "7.8.5", "smol-toml": "1.9.1", - "tsrs": "0.18.0-ts7.1.0-dev.20260929", + "tsrs": "0.20.1-ts7.1.0-beta", "tsx": "4.23.15", "yaml": "2.9.1", }, @@ -359,15 +359,19 @@ "@stll/typescript-config": ["@stll/typescript-config@workspace:packages/typescript-config"], - "@tsrs/darwin-arm64": ["@tsrs/darwin-arm64@0.18.0-ts7.1.0-dev.20260929", "", { "os": "darwin", "cpu": "arm64" }, "sha512-sAirMpaGA9uRQm2W+t4zC7PjnijNuFa4PCSIfLKKo0JyAUCRfnMeev0UGBQ9F3g+9Nz187tvikUs5Irh5+eajA=="], + "@tsrs/darwin-arm64": ["@tsrs/darwin-arm64@0.20.1-ts7.1.0-beta", "", { "os": "darwin", "cpu": "arm64" }, "sha512-35FzlwW1basYFfHM4aEXD9ix/BJ7xfBM4/k0CLnooHVYKELg279gK5peLGQzI7IuTMWlwxt8IB9MRKT7GfKWXA=="], - "@tsrs/linux-arm64-gnu": ["@tsrs/linux-arm64-gnu@0.18.0-ts7.1.0-dev.20260929", "", { "os": "linux", "cpu": "arm64", "libc": "glibc" }, "sha512-zm9/z9yylig68JiZF4Aq0Cm26n09KEU8YoQRlG7tdDWTBNAIViYw8knxnWYsjMWVZ2XiU4mYq1xdrOKuOgABHg=="], + "@tsrs/darwin-x64": ["@tsrs/darwin-x64@0.20.1-ts7.1.0-beta", "", { "os": "darwin", "cpu": "x64" }, "sha512-WvAYTRLKEMin3yJOxnER6DHOv9Bkgy6Cua+aZPoI8S/D8gR3x2ZR/NdF9mozwPxaK2PdsZPVZTJpTaJmiGf1AA=="], - "@tsrs/linux-arm64-musl": ["@tsrs/linux-arm64-musl@0.18.0-ts7.1.0-dev.20260929", "", { "os": "linux", "cpu": "arm64", "libc": "musl" }, "sha512-Lw7VVU/YQ9JcarODICEiwzMLdFqZprqh5RGTgbS5Uc6I95P635/g5xA1pOC8RVs4efBvAR30J54iDG3l5JEYiw=="], + "@tsrs/linux-arm64-gnu": ["@tsrs/linux-arm64-gnu@0.20.1-ts7.1.0-beta", "", { "os": "linux", "cpu": "arm64", "libc": "glibc" }, "sha512-VznDJaK3ddbR13fjSYmOPXINGsyKSQkQDsGpSvt33hjumsiHY9N7awR4de+Pk+gtmUv9ylkJnruiLQdt1LDEiw=="], - "@tsrs/linux-x64-gnu": ["@tsrs/linux-x64-gnu@0.18.0-ts7.1.0-dev.20260929", "", { "os": "linux", "cpu": "x64", "libc": "glibc" }, "sha512-EdBwBgNICGu1r1h23ixdcKwsMo6E9ll7ZsY3mNERNYqE1Pwdtcat99d5E7zB1J+oy/Xk6YqiizaB6nolIjpDTw=="], + "@tsrs/linux-arm64-musl": ["@tsrs/linux-arm64-musl@0.20.1-ts7.1.0-beta", "", { "os": "linux", "cpu": "arm64", "libc": "musl" }, "sha512-AEj++EKJ+ZlRLWdFtYopctph5klOpUtZ+ehiezsrgMr/GP118E0H+5ux1vg1FM20jbAipNxecPg/311MOzN/fw=="], - "@tsrs/linux-x64-musl": ["@tsrs/linux-x64-musl@0.18.0-ts7.1.0-dev.20260929", "", { "os": "linux", "cpu": "x64", "libc": "musl" }, "sha512-LHk+AOAtXuTlhJhOJ2+elriEIX17ycXljojeNxrrzckOipTG1LksoVWuCSas2nu00EnWAzrdKpt9oqPylUKZfQ=="], + "@tsrs/linux-x64-gnu": ["@tsrs/linux-x64-gnu@0.20.1-ts7.1.0-beta", "", { "os": "linux", "cpu": "x64", "libc": "glibc" }, "sha512-DhRKQrdKmY20gdl/I2aNAAwTH1+CKs1SpUoE/Xsxd/AoNpGqU+KKOGZaX1aWDgff3GTdAnK1fhQItSdz5jqp0A=="], + + "@tsrs/linux-x64-musl": ["@tsrs/linux-x64-musl@0.20.1-ts7.1.0-beta", "", { "os": "linux", "cpu": "x64", "libc": "musl" }, "sha512-DoqErlQkQioKYunFyl6nUXWR1kjerqoRV56dggx7qMKvauSZMGkjBQ2Za4tmnISIn4BiJBOyZa/SYc0wfnxDpA=="], + + "@tsrs/win32-x64": ["@tsrs/win32-x64@0.20.1-ts7.1.0-beta", "", { "os": "win32", "cpu": "x64" }, "sha512-hQ98/ViclULVELy4bsFHlWM1PsR2K/ohuPVxx2H9wg1iJ/Rhfezdo3lXB3rq7x+NyYMXIBHX7c51ztA74VytPQ=="], "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="], @@ -609,7 +613,7 @@ "tsdown": ["tsdown@0.23.1", "", { "dependencies": { "cac": "^7.0.1", "defu": "^6.1.7", "empathic": "^2.1.0", "hookable": "^6.1.2", "import-without-cache": "^0.4.1", "obug": "^3.0.0", "picomatch": "^4.0.7", "rolldown": "~1.2.13", "rolldown-plugin-dts": "^0.28.7", "tinyexec": "^1.3.1", "tinyglobby": "^0.2.17", "tree-kill": "^1.2.2", "unconfig-core": "^7.5.0", "verkit": "^0.5.0" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", "@tsdown/css": "0.23.1", "@tsdown/exe": "0.23.1", "@vitejs/devtools": "*", "publint": "^0.3.8", "tsx": "*", "typescript": "^5.0.0 || ^6.0.0 || ^7.0.0", "unplugin-unused": ">=0.5.0", "unrun": "*" }, "optionalPeers": ["@arethetypeswrong/core", "@tsdown/css", "@tsdown/exe", "@vitejs/devtools", "publint", "tsx", "typescript", "unplugin-unused", "unrun"], "bin": { "tsdown": "./dist/run.mjs" } }, "sha512-MSC2WSOts3in95J334/VIS7KPfor3eCSvndJ6KdoVj9Aak9Kh1aNfz9ws5owhdukuTNSXRdfkPEzA/ihpDD6SA=="], - "tsrs": ["tsrs@0.18.0-ts7.1.0-dev.20260929", "", { "optionalDependencies": { "@tsrs/darwin-arm64": "0.18.0-ts7.1.0-dev.20260929", "@tsrs/linux-arm64-gnu": "0.18.0-ts7.1.0-dev.20260929", "@tsrs/linux-arm64-musl": "0.18.0-ts7.1.0-dev.20260929", "@tsrs/linux-x64-gnu": "0.18.0-ts7.1.0-dev.20260929", "@tsrs/linux-x64-musl": "0.18.0-ts7.1.0-dev.20260929" }, "bin": { "tsrs": "./bin/tsrs" } }, "sha512-9T0b4Uam/yMFIK16GUx0fUrJqYZnJ/gvSmV9JB8NTyDePvwCI45WFWxyEV/UMV3KfdNRJG/PBsm3fSIB9WmWsA=="], + "tsrs": ["tsrs@0.20.1-ts7.1.0-beta", "", { "optionalDependencies": { "@tsrs/darwin-arm64": "0.20.1-ts7.1.0-beta", "@tsrs/darwin-x64": "0.20.1-ts7.1.0-beta", "@tsrs/linux-arm64-gnu": "0.20.1-ts7.1.0-beta", "@tsrs/linux-arm64-musl": "0.20.1-ts7.1.0-beta", "@tsrs/linux-x64-gnu": "0.20.1-ts7.1.0-beta", "@tsrs/linux-x64-musl": "0.20.1-ts7.1.0-beta", "@tsrs/win32-x64": "0.20.1-ts7.1.0-beta" }, "bin": { "tsrs": "./bin/tsrs" } }, "sha512-9BiTYTorhgJTEjlJmU0yy14wx2kJBbPIE5aSQjZ3G1cDKZFWRRThAASNlwt870EN1oiuiibxdjxxoIW3jBRDBg=="], "tsx": ["tsx@4.23.15", "", { "dependencies": { "esbuild": "~0.28.0" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw=="], diff --git a/bunfig.toml b/bunfig.toml index b2886d1c..0fb21b18 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -2,10 +2,8 @@ # 5-day quarantine: reject fresh package versions to reduce supply-chain risk. minimumReleaseAge = 432000 # stll-quarantine --sync maintains exact permanent first-party exemptions. -# bun-types ships only declarations and must match the pinned Bun runtime. minimumReleaseAgeExcludes = [ "@stll/time", # quarantine-excluded-since: 2026-10-17T13:44:24.000Z - "bun-types", # quarantine-expires: 2026-10-27T10:17:50.170Z ] [fmt] diff --git a/packages/oxlint-config/package.json b/packages/oxlint-config/package.json index 076ac82a..51c8b1eb 100644 --- a/packages/oxlint-config/package.json +++ b/packages/oxlint-config/package.json @@ -138,7 +138,7 @@ "picomatch": "4.0.7", "semver": "7.8.5", "smol-toml": "1.9.1", - "tsrs": "0.18.0-ts7.1.0-dev.20260929", + "tsrs": "0.20.1-ts7.1.0-beta", "tsx": "4.23.15", "yaml": "2.9.1" }, diff --git a/packages/oxlint-config/src/node-script-types.test.ts b/packages/oxlint-config/src/node-script-types.test.ts index 810565cb..77dddb4e 100644 --- a/packages/oxlint-config/src/node-script-types.test.ts +++ b/packages/oxlint-config/src/node-script-types.test.ts @@ -13,7 +13,7 @@ import { import { createRequire } from "node:module"; import { tmpdir } from "node:os"; import path from "node:path"; -import { API } from "tsrs/unstable/async"; +import { API } from "tsrs/async"; const require = createRequire(import.meta.url); const configDirectory = path.resolve( diff --git a/packages/oxlint-config/src/toolchain-node-projects.ts b/packages/oxlint-config/src/toolchain-node-projects.ts index 80874c62..4fcdc251 100644 --- a/packages/oxlint-config/src/toolchain-node-projects.ts +++ b/packages/oxlint-config/src/toolchain-node-projects.ts @@ -123,8 +123,7 @@ type ProjectConfig = { const resolveProjectApi = (root: string) => { for (const base of [import.meta.url, path.join(root, "package.json")]) try { - return pathToFileURL(createRequire(base).resolve("tsrs/unstable/async")) - .href; + return pathToFileURL(createRequire(base).resolve("tsrs/async")).href; } catch (error) { const code = record(error) ? error["code"] : undefined; if (code !== "MODULE_NOT_FOUND" && code !== "ERR_MODULE_NOT_FOUND")