diff --git a/.changeset/evil-seas-dig.md b/.changeset/evil-seas-dig.md new file mode 100644 index 0000000000..a845151cc8 --- /dev/null +++ b/.changeset/evil-seas-dig.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.yarnrc.yml b/.yarnrc.yml index cc54a6fd34..c7f02e4b98 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,11 +1,14 @@ catalog: "@types/jest": ^29.2.1 - "@typescript/native-preview": ^7.0.0-0 eslint: ^9.0.0 jest: ^29.2.1 oxfmt: ^0.46.0 oxlint: ^1.61.0 - typescript: ^6.0.0 + typescript: ^7.0.1-0 + +catalogs: + compat: + typescript: "^6.0.0" compressionLevel: 0 @@ -50,6 +53,9 @@ packageExtensions: babel-plugin-transform-flow-enums@*: peerDependencies: "@babel/core": ^7.20.0 + eslint-plugin-es-x@7.8: + dependencies: + typescript: ^6.0.0 metro-config@0.83: dependencies: # `metro-config` fails to resolve `JsTransformerConfig` because it's in another package diff --git a/docsite/yarn.lock b/docsite/yarn.lock index 85833f553e..f702140513 100644 --- a/docsite/yarn.lock +++ b/docsite/yarn.lock @@ -4006,84 +4006,143 @@ __metadata: languageName: node linkType: hard -"@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260216.1": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260216.1" +"@typescript/typescript-aix-ppc64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-aix-ppc64@npm:7.0.1-rc" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@typescript/typescript-darwin-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-darwin-arm64@npm:7.0.1-rc" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260216.1": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260216.1" +"@typescript/typescript-darwin-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-darwin-x64@npm:7.0.1-rc" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260216.1": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260216.1" +"@typescript/typescript-freebsd-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-freebsd-arm64@npm:7.0.1-rc" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-freebsd-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-freebsd-x64@npm:7.0.1-rc" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-arm64@npm:7.0.1-rc" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260216.1": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260216.1" +"@typescript/typescript-linux-arm@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-arm@npm:7.0.1-rc" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260216.1": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260216.1" +"@typescript/typescript-linux-loong64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-loong64@npm:7.0.1-rc" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-mips64el@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-mips64el@npm:7.0.1-rc" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@typescript/typescript-linux-ppc64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-ppc64@npm:7.0.1-rc" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-riscv64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-riscv64@npm:7.0.1-rc" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-s390x@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-s390x@npm:7.0.1-rc" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@typescript/typescript-linux-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-x64@npm:7.0.1-rc" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260216.1": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260216.1" - conditions: os=win32 & cpu=arm64 +"@typescript/typescript-netbsd-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-netbsd-arm64@npm:7.0.1-rc" + conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260216.1": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260216.1" - conditions: os=win32 & cpu=x64 +"@typescript/typescript-netbsd-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-netbsd-x64@npm:7.0.1-rc" + conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@typescript/native-preview@npm:^7.0.0-0": - version: 7.0.0-dev.20260216.1 - resolution: "@typescript/native-preview@npm:7.0.0-dev.20260216.1" - dependencies: - "@typescript/native-preview-darwin-arm64": "npm:7.0.0-dev.20260216.1" - "@typescript/native-preview-darwin-x64": "npm:7.0.0-dev.20260216.1" - "@typescript/native-preview-linux-arm": "npm:7.0.0-dev.20260216.1" - "@typescript/native-preview-linux-arm64": "npm:7.0.0-dev.20260216.1" - "@typescript/native-preview-linux-x64": "npm:7.0.0-dev.20260216.1" - "@typescript/native-preview-win32-arm64": "npm:7.0.0-dev.20260216.1" - "@typescript/native-preview-win32-x64": "npm:7.0.0-dev.20260216.1" - dependenciesMeta: - "@typescript/native-preview-darwin-arm64": - optional: true - "@typescript/native-preview-darwin-x64": - optional: true - "@typescript/native-preview-linux-arm": - optional: true - "@typescript/native-preview-linux-arm64": - optional: true - "@typescript/native-preview-linux-x64": - optional: true - "@typescript/native-preview-win32-arm64": - optional: true - "@typescript/native-preview-win32-x64": - optional: true - bin: - tsgo: bin/tsgo.js - checksum: 10c0/db461ea3c92cf34f865e37418498aa6af38375af71d747550121468e310f8a1cc3e74467a61c240ad55b33d5c4728dc2be8eb3a1b2ee718d8c783af710df3c68 +"@typescript/typescript-openbsd-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-openbsd-arm64@npm:7.0.1-rc" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-openbsd-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-openbsd-x64@npm:7.0.1-rc" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-sunos-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-sunos-x64@npm:7.0.1-rc" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-win32-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-win32-arm64@npm:7.0.1-rc" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-win32-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-win32-x64@npm:7.0.1-rc" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -12226,13 +12285,74 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^6.0.0": - version: 6.0.3 - resolution: "typescript@npm:6.0.3" +"typescript@npm:^7.0.1-0": + version: 7.0.1-rc + resolution: "typescript@npm:7.0.1-rc" + dependencies: + "@typescript/typescript-aix-ppc64": "npm:7.0.1-rc" + "@typescript/typescript-darwin-arm64": "npm:7.0.1-rc" + "@typescript/typescript-darwin-x64": "npm:7.0.1-rc" + "@typescript/typescript-freebsd-arm64": "npm:7.0.1-rc" + "@typescript/typescript-freebsd-x64": "npm:7.0.1-rc" + "@typescript/typescript-linux-arm": "npm:7.0.1-rc" + "@typescript/typescript-linux-arm64": "npm:7.0.1-rc" + "@typescript/typescript-linux-loong64": "npm:7.0.1-rc" + "@typescript/typescript-linux-mips64el": "npm:7.0.1-rc" + "@typescript/typescript-linux-ppc64": "npm:7.0.1-rc" + "@typescript/typescript-linux-riscv64": "npm:7.0.1-rc" + "@typescript/typescript-linux-s390x": "npm:7.0.1-rc" + "@typescript/typescript-linux-x64": "npm:7.0.1-rc" + "@typescript/typescript-netbsd-arm64": "npm:7.0.1-rc" + "@typescript/typescript-netbsd-x64": "npm:7.0.1-rc" + "@typescript/typescript-openbsd-arm64": "npm:7.0.1-rc" + "@typescript/typescript-openbsd-x64": "npm:7.0.1-rc" + "@typescript/typescript-sunos-x64": "npm:7.0.1-rc" + "@typescript/typescript-win32-arm64": "npm:7.0.1-rc" + "@typescript/typescript-win32-x64": "npm:7.0.1-rc" + dependenciesMeta: + "@typescript/typescript-aix-ppc64": + optional: true + "@typescript/typescript-darwin-arm64": + optional: true + "@typescript/typescript-darwin-x64": + optional: true + "@typescript/typescript-freebsd-arm64": + optional: true + "@typescript/typescript-freebsd-x64": + optional: true + "@typescript/typescript-linux-arm": + optional: true + "@typescript/typescript-linux-arm64": + optional: true + "@typescript/typescript-linux-loong64": + optional: true + "@typescript/typescript-linux-mips64el": + optional: true + "@typescript/typescript-linux-ppc64": + optional: true + "@typescript/typescript-linux-riscv64": + optional: true + "@typescript/typescript-linux-s390x": + optional: true + "@typescript/typescript-linux-x64": + optional: true + "@typescript/typescript-netbsd-arm64": + optional: true + "@typescript/typescript-netbsd-x64": + optional: true + "@typescript/typescript-openbsd-arm64": + optional: true + "@typescript/typescript-openbsd-x64": + optional: true + "@typescript/typescript-sunos-x64": + optional: true + "@typescript/typescript-win32-arm64": + optional: true + "@typescript/typescript-win32-x64": + optional: true bin: tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 + checksum: 10c0/f83e3c85823b5b76d131a985fad2112d01006bce2ad752f4b92ee4794c53a760acd5f6c760ec4d9f105baa848f4ffe0f8107a5c80b8abd504a1c906bef34e29f languageName: node linkType: hard diff --git a/incubator/typedoc-tsc6/README.md b/incubator/typedoc-tsc6/README.md new file mode 100644 index 0000000000..2bea81b17b --- /dev/null +++ b/incubator/typedoc-tsc6/README.md @@ -0,0 +1,16 @@ +# @rnx-kit/typedoc-tsc6 + +[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml) +[![npm version](https://img.shields.io/npm/v/@rnx-kit/typedoc-tsc6)](https://www.npmjs.com/package/@rnx-kit/typedoc-tsc6) + +This is a package for forcing TypeDoc to use TypeScript 6.0. + +## Motivation + +Normally, TypeDoc will use whatever TypeScript version is installed. However, +TypeDoc does not yet support 7.0 and we want to use 7.0 because it's faster. + +## Installation + +This package is not meant for public use. It is only used internally, by +`scripts/src/commands/updateApiReadme.js`. diff --git a/incubator/typedoc-tsc6/package.json b/incubator/typedoc-tsc6/package.json new file mode 100644 index 0000000000..4e7fa3f3a8 --- /dev/null +++ b/incubator/typedoc-tsc6/package.json @@ -0,0 +1,27 @@ +{ + "name": "@rnx-kit/typedoc-tsc6", + "version": "0.0.1", + "private": true, + "description": "Forces TypeDoc to use TypeScript 6.0", + "homepage": "https://github.com/microsoft/rnx-kit/tree/main/incubator/typedoc-tsc6#readme", + "license": "MIT", + "author": { + "name": "Microsoft Open Source", + "email": "microsoftopensource@users.noreply.github.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/microsoft/rnx-kit", + "directory": "incubator/typedoc-tsc6" + }, + "type": "module", + "main": "src/index.ts", + "dependencies": { + "typedoc": "^0.28.0", + "typescript": "catalog:compat" + }, + "engines": { + "node": ">=20.18" + }, + "experimental": true +} diff --git a/incubator/typedoc-tsc6/src/index.ts b/incubator/typedoc-tsc6/src/index.ts new file mode 100644 index 0000000000..1dbfb9cc75 --- /dev/null +++ b/incubator/typedoc-tsc6/src/index.ts @@ -0,0 +1,2 @@ +// oxlint-disable-next-line @rnx-kit/no-export-all +export * from "typedoc"; diff --git a/package.json b/package.json index 8141f7a82b..df2994d3c6 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ "devDependencies": { "@changesets/cli": "^2.22.0", "@types/node": "^24.0.0", - "@typescript/native-preview": "catalog:", "@yarnpkg/types": "^4.0.0", "eslint": "catalog:", "knip": "^6.0.0", diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 34d40e5d4d..5e77e66e37 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -42,7 +42,7 @@ "scripts": { "build": "rnx-kit-scripts build", "format": "rnx-kit-scripts format", - "lint": "eslint", + "lint": "eslint src/ test/**/*.test.ts", "test": "rnx-kit-scripts test" }, "dependencies": { diff --git a/packages/metro-config/package.json b/packages/metro-config/package.json index 1564bc5d5a..f996ee090f 100644 --- a/packages/metro-config/package.json +++ b/packages/metro-config/package.json @@ -18,7 +18,7 @@ ], "main": "src/index.js", "scripts": { - "build": "rnx-kit-scripts build --with-tsc", + "build": "rnx-kit-scripts build", "format": "rnx-kit-scripts format", "lint": "rnx-kit-scripts lint", "test": "rnx-kit-scripts test" diff --git a/packages/metro-config/src/assetPlugins/escapeAssetURLs.js b/packages/metro-config/src/assetPlugins/escapeAssetURLs.js index fa46f541de..81ec54ddc0 100644 --- a/packages/metro-config/src/assetPlugins/escapeAssetURLs.js +++ b/packages/metro-config/src/assetPlugins/escapeAssetURLs.js @@ -1,5 +1,6 @@ /** - * @typedef {import("metro").AssetData} AssetData; + * @typedef {import("metro").AssetData} ReadOnlyAssetData; + * @typedef {import("type-fest").Writable} AssetData; */ /** @@ -24,8 +25,8 @@ function replaceString(str, searchValue, replaceValue) { * * For more details, see https://github.com/react/metro/issues/290. * - * @param {import("type-fest").Writable} assetData - * @returns {AssetData} + * @param {AssetData} assetData + * @returns {ReadOnlyAssetData} */ function assetPlugin(assetData) { const url = assetData.httpServerLocation; @@ -42,5 +43,6 @@ function restoreAssetURL(url) { return replaceString(url, "@@/", "../"); } +assetPlugin.restoreAssetURL = restoreAssetURL; + module.exports = assetPlugin; -module.exports.restoreAssetURL = restoreAssetURL; diff --git a/packages/metro-config/test/assetPlugins/escapeAssetURLs.test.ts b/packages/metro-config/test/assetPlugins/escapeAssetURLs.test.ts index 9615822175..1a9bd12992 100644 --- a/packages/metro-config/test/assetPlugins/escapeAssetURLs.test.ts +++ b/packages/metro-config/test/assetPlugins/escapeAssetURLs.test.ts @@ -1,12 +1,11 @@ import type { AssetData } from "metro"; import { equal } from "node:assert/strict"; import { describe, it } from "node:test"; -import { - default as escapeAssetURL, - restoreAssetURL, -} from "../../src/assetPlugins/escapeAssetURLs.js"; +import escapeAssetURL from "../../src/assetPlugins/escapeAssetURLs.js"; describe("assetPlugins/escapeRelativePaths", () => { + const { restoreAssetURL } = escapeAssetURL; + const cases = [ ["/assets/./node_modules", "/assets/./node_modules"], ["/assets/../node_modules", "/assets/@@/node_modules"], diff --git a/packages/suggestion-bot/cli.js b/packages/suggestion-bot/cli.js index 0b8da0a848..068d668913 100755 --- a/packages/suggestion-bot/cli.js +++ b/packages/suggestion-bot/cli.js @@ -2,8 +2,8 @@ import * as fs from "node:fs"; import * as path from "node:path"; -import { fileURLToPath, URL } from "node:url"; import { parseArgs } from "node:util"; +import manifest from "./package.json" with { type: "json" }; import suggest from "./src/index.js"; function printHelp() { @@ -61,9 +61,7 @@ const { values, positionals } = parseArgs({ if (values.help) { printHelp(); } else if (values.version) { - const p = fileURLToPath(new URL("package.json", import.meta.url)); - const manifest = fs.readFileSync(p, { encoding: "utf-8" }); - const { name, version } = JSON.parse(manifest); + const { name, version } = manifest; console.log(name, version); } else { if (positionals.length > 0) { diff --git a/packages/suggestion-bot/package.json b/packages/suggestion-bot/package.json index ca06ac4834..4252ecb531 100644 --- a/packages/suggestion-bot/package.json +++ b/packages/suggestion-bot/package.json @@ -38,8 +38,7 @@ "./package.json": "./package.json" }, "scripts": { - "//build": "We run `tsgo` directly because we don't want to output to `lib`", - "build": "yarn clean && tsgo", + "build": "yarn clean && rnx-kit-scripts build --emitDeclarationOnly", "clean": "git clean -dfqx -- src/ test/", "format": "rnx-kit-scripts format", "lint": "rnx-kit-scripts lint", diff --git a/scripts/dependencies.config.js b/scripts/dependencies.config.js index af4b2ef6f0..780839c7eb 100644 --- a/scripts/dependencies.config.js +++ b/scripts/dependencies.config.js @@ -7,6 +7,7 @@ import * as path from "node:path"; * @typedef {{ * scripts?: Record; * dependencies?: Record; + * peerDependencies?: Record; * jest?: unknown; * }} Manifest; */ @@ -29,14 +30,6 @@ function hasOwn(obj, property) { return Object.hasOwn(obj, property); } -/** - * @param {string} filename - * @returns {(cwd: string) => boolean} - */ -function lookForFile(filename) { - return (cwd) => fs.existsSync(path.join(cwd, filename)); -} - /** * @param {string} cwd * @param {Manifest} manifest @@ -61,11 +54,26 @@ function needsLint(_cwd, manifest) { ); } -const needsTypeScript = lookForFile("tsconfig.json"); +/** + * @param {string} cwd + * @param {Manifest} manifest + * @returns {boolean | string} + */ +function needsTypeScript(cwd, manifest) { + const compat = "catalog:compat"; + const { dependencies, peerDependencies } = manifest; + if (dependencies && hasOwn(dependencies, "typescript-eslint")) { + return compat; + } + if (peerDependencies && hasOwn(peerDependencies, "typescript")) { + return compat; + } + + return fs.existsSync(path.join(cwd, "tsconfig.json")); +} const COMMON_DEPENDENCIES = /** @type {const} */ ([ ["@types/jest", needsJest], - ["@typescript/native-preview", needsTypeScript], ["oxlint", needsLint], ["jest", needsJest], ["oxfmt", always], @@ -80,9 +88,11 @@ export default function ({ cwd, manifest }) { let extensions = undefined; for (const [pkg, test] of COMMON_DEPENDENCIES) { - if (test(cwd, manifest)) { + const result = test(cwd, manifest); + if (result) { extensions ||= { dependencies: {} }; - extensions.dependencies[pkg] = "catalog:"; + extensions.dependencies[pkg] ??= + typeof result === "string" ? result : "catalog:"; } } diff --git a/scripts/package.json b/scripts/package.json index e14dfa130d..057a17ccb3 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -23,14 +23,13 @@ "lint": "rnx-kit-scripts lint" }, "dependencies": { - "@typescript/native-preview": "catalog:", + "@rnx-kit/typedoc-tsc6": "workspace:*", "@yarnpkg/cli": "^4.6.0", "clipanion": "^4.0.0-rc.4", "esbuild": "^0.28.1", "jest": "^29.2.1", "markdown-table": "^3.0.0", "oxfmt": "catalog:", - "typedoc": "^0.28.0", "typescript": "catalog:" }, "devDependencies": { diff --git a/scripts/src/commands/build.js b/scripts/src/commands/build.js index f91d98bad3..5fcca21844 100644 --- a/scripts/src/commands/build.js +++ b/scripts/src/commands/build.js @@ -22,8 +22,8 @@ export class BuildCommand extends Command { description: "Also build the package's dependencies", }); - withTsc = Option.Boolean("--with-tsc", false, { - description: "Use `tsc` instead of `tsgo` to build the package", + emitDeclarationOnly = Option.Boolean("--emitDeclarationOnly", false, { + description: "Only output d.ts files", }); args = Option.Rest(); @@ -35,12 +35,10 @@ export class BuildCommand extends Command { return await runScript("nx", "build", name); } - if (this.withTsc) { - return await runScript("tsc", "--outDir", "lib", ...this.args); - } - const tsc = await this.getNativeBinaryPath(); - return await execute(tsc, "--outDir", "lib", ...this.args); + return this.emitDeclarationOnly + ? await execute(tsc, "--emitDeclarationOnly", ...this.args) + : await execute(tsc, "--outDir", "lib", ...this.args); } async getNativeBinaryPath() { @@ -48,23 +46,22 @@ export class BuildCommand extends Command { workspaceRoot(), "node_modules", ".cache", - "tsgo" + "tsc" ); if (fs.existsSync(cachePath)) { - const tsgo = fs.readFileSync(cachePath, { encoding: "utf-8" }); - if (fs.existsSync(tsgo)) { - return tsgo; + const tsc = fs.readFileSync(cachePath, { encoding: "utf-8" }); + if (fs.existsSync(tsc)) { + return tsc; } } - // If we haven't cached the location of `tsgo` yet, we can find it by - // calling `getExePath` from `@typescript/native-preview`. This is what - // `tsgo.js` does internally, but it does not cache the location and does - // this lookup every time it is executed. + // If we haven't cached the location of `tsc` yet, we can find it by calling + // `getExePath` from `typescript`. This is what `tsc.js` does internally, + // but it does not cache the location and does this lookup every time it is + // executed. - const manifestPath = import.meta - .resolve("@typescript/native-preview/package.json"); + const manifestPath = import.meta.resolve("typescript/package.json"); const manifest = JSON.parse( fs.readFileSync(fileURLToPath(manifestPath), { encoding: "utf-8" }) ); @@ -75,13 +72,13 @@ export class BuildCommand extends Command { manifestPath ); const getExePath = await import(getExePathPath.href); - const tsgo = getExePath.default(); + const tsc = getExePath.default(); // Save the location of the native binary so that we don't have to do the // lookup again next time. fs.mkdirSync(path.dirname(cachePath), { recursive: true }); - fs.writeFile(cachePath, tsgo, { encoding: "utf-8" }, () => undefined); + fs.writeFile(cachePath, tsc, { encoding: "utf-8" }, () => undefined); - return tsgo; + return tsc; } } diff --git a/scripts/src/commands/updateApiReadme.js b/scripts/src/commands/updateApiReadme.js index 29ad296152..c583377988 100644 --- a/scripts/src/commands/updateApiReadme.js +++ b/scripts/src/commands/updateApiReadme.js @@ -5,7 +5,7 @@ import * as fs from "node:fs"; import * as path from "node:path"; /** - * @import { JSONOutput } from "typedoc"; + * @import { JSONOutput } from "@rnx-kit/typedoc-tsc6"; * @typedef {JSONOutput.Comment} Comment * @typedef {JSONOutput.CommentDisplayPart} CommentDisplayPart * @typedef {JSONOutput.ParameterReflection} ParameterReflection @@ -61,15 +61,14 @@ function warnUndocumented(source, identifier) { } /** - * @param {typeof import("typedoc")} typedoc + * @param {typeof import("@rnx-kit/typedoc-tsc6")} typedoc */ async function parse(typedoc) { - const ts = await import("typescript"); const app = await typedoc.Application.bootstrap( { compilerOptions: { - module: ts.server.protocol.ModuleKind.ES2022, - moduleResolution: ts.server.protocol.ModuleResolutionKind.Bundler, + module: "es2022", + moduleResolution: "bundler", customConditions: ["typescript"], }, entryPoints: ["src/index.ts"], @@ -188,7 +187,7 @@ async function updateReadme(exportedTypes, exportedFunctions) { } export async function updateApiReadme() { - const typedoc = await import("typedoc"); + const typedoc = await import("@rnx-kit/typedoc-tsc6"); const project = await parse(typedoc); const children = project?.children; diff --git a/yarn.lock b/yarn.lock index ffa6e5f1de..5e0ff896c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1601,11 +1601,11 @@ __metadata: languageName: node linkType: hard -"@changesets/apply-release-plan@npm:^7.1.0": - version: 7.1.0 - resolution: "@changesets/apply-release-plan@npm:7.1.0" +"@changesets/apply-release-plan@npm:^7.1.1": + version: 7.1.1 + resolution: "@changesets/apply-release-plan@npm:7.1.1" dependencies: - "@changesets/config": "npm:^3.1.3" + "@changesets/config": "npm:^3.1.4" "@changesets/get-version-range-type": "npm:^0.4.0" "@changesets/git": "npm:^3.0.4" "@changesets/should-skip-package": "npm:^0.1.2" @@ -1618,21 +1618,21 @@ __metadata: prettier: "npm:^2.7.1" resolve-from: "npm:^5.0.0" semver: "npm:^7.5.3" - checksum: 10c0/c8b4fa55f204a0c343c450ca44ae32a892752eaa81b594fb8941e9d1eb8675aba6245c8d80e5e9726e915d2643c542d22cba40d430c76a71ff438ad368d91f5c + checksum: 10c0/27de184e74e8e48b43fca1f73e7c7a2887b0cdacfe7ba9c09cdc4547dff0de1587bed5fe2d5ec0a3754fa422f6b8a528e0ac452c22ac7a6ae5211f5ac089bfb2 languageName: node linkType: hard -"@changesets/assemble-release-plan@npm:^6.0.9": - version: 6.0.9 - resolution: "@changesets/assemble-release-plan@npm:6.0.9" +"@changesets/assemble-release-plan@npm:^6.0.10": + version: 6.0.10 + resolution: "@changesets/assemble-release-plan@npm:6.0.10" dependencies: "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.3" + "@changesets/get-dependents-graph": "npm:^2.1.4" "@changesets/should-skip-package": "npm:^0.1.2" "@changesets/types": "npm:^6.1.0" "@manypkg/get-packages": "npm:^1.1.3" semver: "npm:^7.5.3" - checksum: 10c0/128f87975f65d9ceb2c997df186a5deae8637fd3868098bb4fb9772f35fdd3b47883ccbdc2761d0468e60a83ef4e2c1561a8e58f8052bfe2daf1ea046803fe1a + checksum: 10c0/a0ea336a5f19f8d0a97b684983bcd9c3bb8d6881b7b6abd5b482b301795ae4600924c188982f5f98dc48ac88e94a063b66ab72659041eb2623ade3e35f05d555 languageName: node linkType: hard @@ -1646,16 +1646,16 @@ __metadata: linkType: hard "@changesets/cli@npm:^2.22.0": - version: 2.30.0 - resolution: "@changesets/cli@npm:2.30.0" + version: 2.31.0 + resolution: "@changesets/cli@npm:2.31.0" dependencies: - "@changesets/apply-release-plan": "npm:^7.1.0" - "@changesets/assemble-release-plan": "npm:^6.0.9" + "@changesets/apply-release-plan": "npm:^7.1.1" + "@changesets/assemble-release-plan": "npm:^6.0.10" "@changesets/changelog-git": "npm:^0.2.1" - "@changesets/config": "npm:^3.1.3" + "@changesets/config": "npm:^3.1.4" "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.3" - "@changesets/get-release-plan": "npm:^4.0.15" + "@changesets/get-dependents-graph": "npm:^2.1.4" + "@changesets/get-release-plan": "npm:^4.0.16" "@changesets/git": "npm:^3.0.4" "@changesets/logger": "npm:^0.1.1" "@changesets/pre": "npm:^2.0.2" @@ -1677,23 +1677,23 @@ __metadata: term-size: "npm:^2.1.0" bin: changeset: bin.js - checksum: 10c0/2b06343ae6df20b627ee89027f4078c074bdd758f82bb5dbf16ef7c4900138f733b59ceeb1c960fca1e9e59cf6973bb4d5984e4c7dd6d50a3949b39c490f31e0 + checksum: 10c0/3b15f4f5fc7ccaa0b82ca4f9803977ed141b6bed66f83cf8004c2f4ab8e3a00c3a813569b76e4c757d0a8ca5e778bcb6df6e4df91be6c98e0dfaa2cff87c9434 languageName: node linkType: hard -"@changesets/config@npm:^3.1.3": - version: 3.1.3 - resolution: "@changesets/config@npm:3.1.3" +"@changesets/config@npm:^3.1.4": + version: 3.1.4 + resolution: "@changesets/config@npm:3.1.4" dependencies: "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.3" + "@changesets/get-dependents-graph": "npm:^2.1.4" "@changesets/logger": "npm:^0.1.1" "@changesets/should-skip-package": "npm:^0.1.2" "@changesets/types": "npm:^6.1.0" "@manypkg/get-packages": "npm:^1.1.3" fs-extra: "npm:^7.0.1" micromatch: "npm:^4.0.8" - checksum: 10c0/68764135cbd014aca24b20429ffaf6f90e440286c7d233c33ddc968f0ab54b9e6e5dd5015a619dd0e0dd2eb172f028064a229fa610c260b779ff5315a840be1e + checksum: 10c0/1c0e7975aa719e2c87dfda3f5a1eb81b9f4852cdfb5b5c9d181fa2f8f485e92370b3bdfdb6f666432207dd75a3f79fa8fffe7847d48fb11308acb5ecf327bc12 languageName: node linkType: hard @@ -1706,29 +1706,29 @@ __metadata: languageName: node linkType: hard -"@changesets/get-dependents-graph@npm:^2.1.3": - version: 2.1.3 - resolution: "@changesets/get-dependents-graph@npm:2.1.3" +"@changesets/get-dependents-graph@npm:^2.1.4": + version: 2.1.4 + resolution: "@changesets/get-dependents-graph@npm:2.1.4" dependencies: "@changesets/types": "npm:^6.1.0" "@manypkg/get-packages": "npm:^1.1.3" picocolors: "npm:^1.1.0" semver: "npm:^7.5.3" - checksum: 10c0/b9d9992440b7e09dcaf22f57d28f1d8e0e31996e1bc44dbbfa1801e44f93fa49ebba6f9356c60f6ff0bd85cd0f0d0b8602f7e0f2addc5be647b686e6f8985f70 + checksum: 10c0/37b12ba42f16c458d0b574bcafa0247ff2b9a218686a64c86fc75bccc9ba3982f9c27206542941cf3a0563d9b199f40a830682b45e9fd902536de91344cbd0a2 languageName: node linkType: hard -"@changesets/get-release-plan@npm:^4.0.15": - version: 4.0.15 - resolution: "@changesets/get-release-plan@npm:4.0.15" +"@changesets/get-release-plan@npm:^4.0.16": + version: 4.0.16 + resolution: "@changesets/get-release-plan@npm:4.0.16" dependencies: - "@changesets/assemble-release-plan": "npm:^6.0.9" - "@changesets/config": "npm:^3.1.3" + "@changesets/assemble-release-plan": "npm:^6.0.10" + "@changesets/config": "npm:^3.1.4" "@changesets/pre": "npm:^2.0.2" "@changesets/read": "npm:^0.6.7" "@changesets/types": "npm:^6.1.0" "@manypkg/get-packages": "npm:^1.1.3" - checksum: 10c0/d059c18ef5aab1c1aa1dd4f68d74e2fc351d965e28a76ab7f7c63c3290787d645f887d89c50b92f9f6bb63148a5d17329cfbb9cdea8e02c669a47768ec3456bc + checksum: 10c0/4be4553e13fe331f6d5b2ed98fece21c8d2b38c04a0543f726a0398b7538ef8fd073d712c35ae4540ed4fc6f84f08de6335318bc09dd562b189fb6968d049e95 languageName: node linkType: hard @@ -5708,16 +5708,15 @@ __metadata: resolution: "@rnx-kit/scripts@workspace:scripts" dependencies: "@rnx-kit/tsconfig": "workspace:*" + "@rnx-kit/typedoc-tsc6": "workspace:*" "@types/jest": "npm:^29.2.1" "@types/node": "npm:^24.0.0" - "@typescript/native-preview": "catalog:" "@yarnpkg/cli": "npm:^4.6.0" clipanion: "npm:^4.0.0-rc.4" esbuild: "npm:^0.28.1" jest: "npm:^29.2.1" markdown-table: "npm:^3.0.0" oxfmt: "catalog:" - typedoc: "npm:^0.28.0" typescript: "catalog:" bin: rnx-kit-scripts: src/index.js @@ -6114,6 +6113,15 @@ __metadata: languageName: unknown linkType: soft +"@rnx-kit/typedoc-tsc6@workspace:*, @rnx-kit/typedoc-tsc6@workspace:incubator/typedoc-tsc6": + version: 0.0.0-use.local + resolution: "@rnx-kit/typedoc-tsc6@workspace:incubator/typedoc-tsc6" + dependencies: + typedoc: "npm:^0.28.0" + typescript: "catalog:compat" + languageName: unknown + linkType: soft + "@rnx-kit/types-bundle-config@npm:^1.0.0, @rnx-kit/types-bundle-config@workspace:packages/types-bundle-config": version: 0.0.0-use.local resolution: "@rnx-kit/types-bundle-config@workspace:packages/types-bundle-config" @@ -7159,84 +7167,143 @@ __metadata: languageName: node linkType: hard -"@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260607.1": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260607.1" +"@typescript/typescript-aix-ppc64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-aix-ppc64@npm:7.0.1-rc" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@typescript/typescript-darwin-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-darwin-arm64@npm:7.0.1-rc" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260607.1": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260607.1" +"@typescript/typescript-darwin-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-darwin-x64@npm:7.0.1-rc" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260607.1": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260607.1" +"@typescript/typescript-freebsd-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-freebsd-arm64@npm:7.0.1-rc" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-freebsd-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-freebsd-x64@npm:7.0.1-rc" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-arm64@npm:7.0.1-rc" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260607.1": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260607.1" +"@typescript/typescript-linux-arm@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-arm@npm:7.0.1-rc" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260607.1": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260607.1" +"@typescript/typescript-linux-loong64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-loong64@npm:7.0.1-rc" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-mips64el@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-mips64el@npm:7.0.1-rc" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@typescript/typescript-linux-ppc64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-ppc64@npm:7.0.1-rc" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-riscv64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-riscv64@npm:7.0.1-rc" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-s390x@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-s390x@npm:7.0.1-rc" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@typescript/typescript-linux-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-linux-x64@npm:7.0.1-rc" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260607.1": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260607.1" - conditions: os=win32 & cpu=arm64 +"@typescript/typescript-netbsd-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-netbsd-arm64@npm:7.0.1-rc" + conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260607.1": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260607.1" - conditions: os=win32 & cpu=x64 +"@typescript/typescript-netbsd-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-netbsd-x64@npm:7.0.1-rc" + conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@typescript/native-preview@npm:^7.0.0-0": - version: 7.0.0-dev.20260607.1 - resolution: "@typescript/native-preview@npm:7.0.0-dev.20260607.1" - dependencies: - "@typescript/native-preview-darwin-arm64": "npm:7.0.0-dev.20260607.1" - "@typescript/native-preview-darwin-x64": "npm:7.0.0-dev.20260607.1" - "@typescript/native-preview-linux-arm": "npm:7.0.0-dev.20260607.1" - "@typescript/native-preview-linux-arm64": "npm:7.0.0-dev.20260607.1" - "@typescript/native-preview-linux-x64": "npm:7.0.0-dev.20260607.1" - "@typescript/native-preview-win32-arm64": "npm:7.0.0-dev.20260607.1" - "@typescript/native-preview-win32-x64": "npm:7.0.0-dev.20260607.1" - dependenciesMeta: - "@typescript/native-preview-darwin-arm64": - optional: true - "@typescript/native-preview-darwin-x64": - optional: true - "@typescript/native-preview-linux-arm": - optional: true - "@typescript/native-preview-linux-arm64": - optional: true - "@typescript/native-preview-linux-x64": - optional: true - "@typescript/native-preview-win32-arm64": - optional: true - "@typescript/native-preview-win32-x64": - optional: true - bin: - tsgo: bin/tsgo.js - checksum: 10c0/58407f863949da5bd54c3656db499b288003520a0d91f42f7eaf25a198f562a52293e21f33f6eacdacf7b2b827d91f875a39ddd0916657de2e6b19f06686968e +"@typescript/typescript-openbsd-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-openbsd-arm64@npm:7.0.1-rc" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-openbsd-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-openbsd-x64@npm:7.0.1-rc" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-sunos-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-sunos-x64@npm:7.0.1-rc" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-win32-arm64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-win32-arm64@npm:7.0.1-rc" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-win32-x64@npm:7.0.1-rc": + version: 7.0.1-rc + resolution: "@typescript/typescript-win32-x64@npm:7.0.1-rc" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -16141,7 +16208,6 @@ __metadata: dependencies: "@changesets/cli": "npm:^2.22.0" "@types/node": "npm:^24.0.0" - "@typescript/native-preview": "catalog:" "@yarnpkg/types": "npm:^4.0.0" eslint: "catalog:" knip: "npm:^6.0.0" @@ -17419,6 +17485,77 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^7.0.1-0": + version: 7.0.1-rc + resolution: "typescript@npm:7.0.1-rc" + dependencies: + "@typescript/typescript-aix-ppc64": "npm:7.0.1-rc" + "@typescript/typescript-darwin-arm64": "npm:7.0.1-rc" + "@typescript/typescript-darwin-x64": "npm:7.0.1-rc" + "@typescript/typescript-freebsd-arm64": "npm:7.0.1-rc" + "@typescript/typescript-freebsd-x64": "npm:7.0.1-rc" + "@typescript/typescript-linux-arm": "npm:7.0.1-rc" + "@typescript/typescript-linux-arm64": "npm:7.0.1-rc" + "@typescript/typescript-linux-loong64": "npm:7.0.1-rc" + "@typescript/typescript-linux-mips64el": "npm:7.0.1-rc" + "@typescript/typescript-linux-ppc64": "npm:7.0.1-rc" + "@typescript/typescript-linux-riscv64": "npm:7.0.1-rc" + "@typescript/typescript-linux-s390x": "npm:7.0.1-rc" + "@typescript/typescript-linux-x64": "npm:7.0.1-rc" + "@typescript/typescript-netbsd-arm64": "npm:7.0.1-rc" + "@typescript/typescript-netbsd-x64": "npm:7.0.1-rc" + "@typescript/typescript-openbsd-arm64": "npm:7.0.1-rc" + "@typescript/typescript-openbsd-x64": "npm:7.0.1-rc" + "@typescript/typescript-sunos-x64": "npm:7.0.1-rc" + "@typescript/typescript-win32-arm64": "npm:7.0.1-rc" + "@typescript/typescript-win32-x64": "npm:7.0.1-rc" + dependenciesMeta: + "@typescript/typescript-aix-ppc64": + optional: true + "@typescript/typescript-darwin-arm64": + optional: true + "@typescript/typescript-darwin-x64": + optional: true + "@typescript/typescript-freebsd-arm64": + optional: true + "@typescript/typescript-freebsd-x64": + optional: true + "@typescript/typescript-linux-arm": + optional: true + "@typescript/typescript-linux-arm64": + optional: true + "@typescript/typescript-linux-loong64": + optional: true + "@typescript/typescript-linux-mips64el": + optional: true + "@typescript/typescript-linux-ppc64": + optional: true + "@typescript/typescript-linux-riscv64": + optional: true + "@typescript/typescript-linux-s390x": + optional: true + "@typescript/typescript-linux-x64": + optional: true + "@typescript/typescript-netbsd-arm64": + optional: true + "@typescript/typescript-netbsd-x64": + optional: true + "@typescript/typescript-openbsd-arm64": + optional: true + "@typescript/typescript-openbsd-x64": + optional: true + "@typescript/typescript-sunos-x64": + optional: true + "@typescript/typescript-win32-arm64": + optional: true + "@typescript/typescript-win32-x64": + optional: true + bin: + tsc: bin/tsc + checksum: 10c0/f83e3c85823b5b76d131a985fad2112d01006bce2ad752f4b92ee4794c53a760acd5f6c760ec4d9f105baa848f4ffe0f8107a5c80b8abd504a1c906bef34e29f + languageName: node + linkType: hard + "uc.micro@npm:^2.0.0, uc.micro@npm:^2.1.0": version: 2.1.0 resolution: "uc.micro@npm:2.1.0"