diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index 54bfaf1..dad290a 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -9,23 +9,25 @@ jobs:
steps:
- name: Checkout tree
- uses: actions/checkout@v3
+ uses: actions/checkout@v6
- - name: Set-up Deno
- uses: denoland/setup-deno@v1
+ - name: Set-up Node.js
+ uses: actions/setup-node@v6
with:
- deno-version: v1.x
+ node-version: lts/*
+
+ - name: Set-up Deno
+ uses: denoland/setup-deno@v2
# Build all the packages
- name: Create packages for TSConfig JSONs
run: deno run --allow-read --allow-write --allow-net scripts/create-npm-packages.ts
- name: Test
- working-directory: test/
+ working-directory: test
run: |
- corepack enable
- pnpm install
- pnpm test
+ npm install
+ npm run test
- name: Update the README
run: deno run --allow-read --allow-write --allow-net scripts/update-markdown-readme.ts
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 09ea14d..6761cf5 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -18,18 +18,16 @@ jobs:
steps:
- name: Checkout tree
- uses: actions/checkout@v3
+ uses: actions/checkout@v6
- name: Set-up Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v6
with:
node-version: lts/*
registry-url: https://registry.npmjs.org
- name: Set-up Deno
- uses: denoland/setup-deno@v1
- with:
- deno-version: v1.x
+ uses: denoland/setup-deno@v2
# Build all the packages
- name: Create packages for TSConfig JSONs
diff --git a/README.md b/README.md
index 65fcd9a..41d5a8f 100644
--- a/README.md
+++ b/README.md
@@ -137,7 +137,7 @@ Add to your `tsconfig.json`:
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
### Ember tsconfig.json
@@ -156,7 +156,7 @@ Add to your `tsconfig.json`:
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
### Next.js tsconfig.json
@@ -405,7 +405,7 @@ Add to your `tsconfig.json`:
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
### QJSEngine tsconfig.json
@@ -454,7 +454,7 @@ Add to your `tsconfig.json`:
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
### Strictest tsconfig.json
diff --git a/bases/docusaurus.json b/bases/docusaurus.json
index 7fcee4d..2a0b76c 100644
--- a/bases/docusaurus.json
+++ b/bases/docusaurus.json
@@ -3,7 +3,7 @@
"display": "Docusaurus v2",
"docs": "https://v2.docusaurus.io/docs/typescript-support",
"_version": "2.0.0",
-
+
"compilerOptions": {
"allowJs": true,
"esModuleInterop": true,
@@ -13,7 +13,6 @@
"moduleResolution": "bundler",
"noEmit": true,
"types": ["node", "@docusaurus/module-type-aliases", "@docusaurus/theme-classic"],
- "baseUrl": ".",
"paths": {
"@site/*": ["./*"]
},
diff --git a/bases/ember.json b/bases/ember.json
index 497cf30..b97bd4a 100644
--- a/bases/ember.json
+++ b/bases/ember.json
@@ -7,7 +7,8 @@
// This is the base config used by Ember apps and addons. When actually used
// via Ember CLI (e.g. ember-cli-typescript's blueprint), it additionally has
- // `compilerOptions.baseUrl`, `compilerOptions.paths`, and `include` set.
+ // `compilerOptions.paths` and `include` set.
+ // Note: `baseUrl` was removed in TypeScript 7.0. Use `paths` instead.
"compilerOptions": {
"target": "es2023",
"module": "esnext",
diff --git a/bases/nuxt.json b/bases/nuxt.json
index 876fcf8..e5cb7b2 100644
--- a/bases/nuxt.json
+++ b/bases/nuxt.json
@@ -17,7 +17,6 @@
"sourceMap": true,
"strict": true,
"noEmit": true,
- "baseUrl": ".",
"paths": {
"~/*": [
"./*"
diff --git a/bases/recommended.json b/bases/recommended.json
index 3e3fac6..f3c9a14 100644
--- a/bases/recommended.json
+++ b/bases/recommended.json
@@ -1,12 +1,22 @@
{
+ "$schema": "https://www.schemastore.org/tsconfig",
+ "display": "Recommended",
+ "_version": "2.0.0",
"compilerOptions": {
- "target": "es2016",
- "module": "commonjs",
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
+ "module": "nodenext",
+ "target": "esnext",
+ "types": [],
+ "sourceMap": true,
+ "declaration": true,
+ "declarationMap": true,
+ "noUncheckedIndexedAccess": true,
+ "exactOptionalPropertyTypes": true,
"strict": true,
+ "jsx": "react-jsx",
+ "verbatimModuleSyntax": true,
+ "isolatedModules": true,
+ "noUncheckedSideEffectImports": true,
+ "moduleDetection": "force",
"skipLibCheck": true
- },
- "display": "Recommended",
- "$schema": "https://www.schemastore.org/tsconfig"
+ }
}
diff --git a/bases/remix.json b/bases/remix.json
index 3d0e74e..b4646a5 100644
--- a/bases/remix.json
+++ b/bases/remix.json
@@ -14,7 +14,6 @@
"target": "es2019",
"strict": true,
"allowJs": true,
- "baseUrl": ".",
"paths": {
"~/*": ["./app/*"]
},
diff --git a/deno.json b/deno.json
new file mode 100644
index 0000000..994ecf2
--- /dev/null
+++ b/deno.json
@@ -0,0 +1,8 @@
+{
+ "imports": {
+ "@std/collections": "jsr:@std/collections",
+ "@std/jsonc": "jsr:@std/jsonc",
+ "@std/path": "jsr:@std/path",
+ "@std/semver": "jsr:@std/semver"
+ }
+}
diff --git a/deno.lock b/deno.lock
new file mode 100644
index 0000000..7b05934
--- /dev/null
+++ b/deno.lock
@@ -0,0 +1,45 @@
+{
+ "version": "5",
+ "specifiers": {
+ "jsr:@std/collections@*": "1.1.3",
+ "jsr:@std/internal@^1.0.12": "1.0.12",
+ "jsr:@std/json@^1.0.2": "1.0.2",
+ "jsr:@std/jsonc@*": "1.0.2",
+ "jsr:@std/path@*": "1.1.4",
+ "jsr:@std/semver@*": "1.0.7"
+ },
+ "jsr": {
+ "@std/collections@1.1.3": {
+ "integrity": "bf8b0818886df6a32b64c7d3b037a425111f28278d69fd0995aeb62777c986b0"
+ },
+ "@std/internal@1.0.12": {
+ "integrity": "972a634fd5bc34b242024402972cd5143eac68d8dffaca5eaa4dba30ce17b027"
+ },
+ "@std/json@1.0.2": {
+ "integrity": "d9e5497801c15fb679f55a2c01c7794ad7a5dfda4dd1bebab5e409cb5e0d34d4"
+ },
+ "@std/jsonc@1.0.2": {
+ "integrity": "909605dae3af22bd75b1cbda8d64a32cf1fd2cf6efa3f9e224aba6d22c0f44c7",
+ "dependencies": [
+ "jsr:@std/json"
+ ]
+ },
+ "@std/path@1.1.4": {
+ "integrity": "1d2d43f39efb1b42f0b1882a25486647cb851481862dc7313390b2bb044314b5",
+ "dependencies": [
+ "jsr:@std/internal"
+ ]
+ },
+ "@std/semver@1.0.7": {
+ "integrity": "7d5f65391762dc4358abde80fc3354086ddb40101f140295e60f290c138887d0"
+ }
+ },
+ "workspace": {
+ "dependencies": [
+ "jsr:@std/collections@*",
+ "jsr:@std/jsonc@*",
+ "jsr:@std/path@*",
+ "jsr:@std/semver@*"
+ ]
+ }
+}
diff --git a/readme-extras/docusaurus.md b/readme-extras/docusaurus.md
index a566513..dbdad56 100644
--- a/readme-extras/docusaurus.md
+++ b/readme-extras/docusaurus.md
@@ -1 +1 @@
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
diff --git a/readme-extras/ember.md b/readme-extras/ember.md
index a566513..dbdad56 100644
--- a/readme-extras/ember.md
+++ b/readme-extras/ember.md
@@ -1 +1 @@
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
diff --git a/readme-extras/nuxt.md b/readme-extras/nuxt.md
index a566513..dbdad56 100644
--- a/readme-extras/nuxt.md
+++ b/readme-extras/nuxt.md
@@ -1 +1 @@
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
diff --git a/readme-extras/remix.md b/readme-extras/remix.md
index a566513..dbdad56 100644
--- a/readme-extras/remix.md
+++ b/readme-extras/remix.md
@@ -1 +1 @@
-> **NOTE**: You may need to add `"baseUrl": "."` to your `tsconfig.json` to support proper file resolution.
+> **NOTE**: TypeScript 7 removes `baseUrl`. If you previously added `"baseUrl": "."` for module resolution, use `paths` instead (for example: `"paths": { "*": ["./*"] }`).
diff --git a/scripts/create-npm-packages.ts b/scripts/create-npm-packages.ts
index 20aac43..ac2aa07 100644
--- a/scripts/create-npm-packages.ts
+++ b/scripts/create-npm-packages.ts
@@ -1,5 +1,5 @@
-import * as path from "https://deno.land/std/path/mod.ts";
-import stripJsonComments from "https://esm.sh/strip-json-comments";
+import { parse as parseJsonc } from "@std/jsonc";
+import * as path from "@std/path";
for await (const tsconfigEntry of Deno.readDir("bases")) {
if (!tsconfigEntry.isFile) continue
@@ -9,7 +9,7 @@ for await (const tsconfigEntry of Deno.readDir("bases")) {
// Make the folder
const packagePath = path.join("packages", name)
- Deno.mkdirSync(packagePath, { recursive: true })
+ await Deno.mkdir(packagePath, { recursive: true })
// Copy over the template files
const templateDir = "./template"
@@ -17,15 +17,15 @@ for await (const tsconfigEntry of Deno.readDir("bases")) {
if (!templateFile.isFile) continue
if (templateFile.name === "README-combined.md") continue // README-combined.md is only for the combined bases
const templatedFile = path.join(templateDir, templateFile.name)
- Deno.copyFileSync(templatedFile, path.join(packagePath, templateFile.name))
+ await Deno.copyFile(templatedFile, path.join(packagePath, templateFile.name))
}
-
+
// Copy the create a tsconfig.json from the base json
const newPackageTSConfigPath = path.join(packagePath, "tsconfig.json")
- Deno.copyFileSync(tsconfigFilePath, newPackageTSConfigPath)
-
+ await Deno.copyFile(tsconfigFilePath, newPackageTSConfigPath)
+
const tsconfigText = await Deno.readTextFile(newPackageTSConfigPath)
- const tsconfigJSON = JSON.parse(stripJsonComments(tsconfigText))
+ const tsconfigJSON = parseJsonc(tsconfigText) as { display: string; _version?: string }
// Drop `display` field in tsconfig.json for npm package
await Deno.writeTextFile(newPackageTSConfigPath, tsconfigText.replace(/\s*"display.*/,''))
@@ -48,7 +48,7 @@ for await (const tsconfigEntry of Deno.readDir("bases")) {
let packageText = await Deno.readTextFile(fileToEdit)
packageText = packageText.replace(/\[filename\]/g, name)
.replace(/\[display_title\]/g, title)
- .replace(/\[tsconfig\]/g, Deno.readTextFileSync(newPackageTSConfigPath))
+ .replace(/\[tsconfig\]/g, await Deno.readTextFile(newPackageTSConfigPath))
// Inject readme-extra if any
try {
@@ -111,7 +111,7 @@ async function buildTsconfigBases() {
// Make the folder
const packagePath = path.join("packages", name)
- Deno.mkdirSync(packagePath, { recursive: true })
+ await Deno.mkdir(packagePath, { recursive: true })
// Copy over the template files
const templateDir = "./template"
@@ -119,7 +119,7 @@ async function buildTsconfigBases() {
if (!templateFile.isFile) continue
if (templateFile.name === "README.md") continue
const templatedFile = path.join(templateDir, templateFile.name)
- Deno.copyFileSync(
+ await Deno.copyFile(
templatedFile,
path.join(
packagePath,
@@ -146,7 +146,7 @@ async function buildTsconfigBases() {
const newPackageTSConfigPath = path.join(packagePath, finalTsconfigFile)
- Deno.copyFileSync(tsconfigFilePath, newPackageTSConfigPath)
+ await Deno.copyFile(tsconfigFilePath, newPackageTSConfigPath)
const tsconfigText = await Deno.readTextFile(newPackageTSConfigPath)
diff --git a/scripts/deploy-changed-npm-packages.ts b/scripts/deploy-changed-npm-packages.ts
index 22166ca..1e5a34a 100644
--- a/scripts/deploy-changed-npm-packages.ts
+++ b/scripts/deploy-changed-npm-packages.ts
@@ -1,14 +1,13 @@
-import * as path from "https://deno.land/std@0.164.0/path/mod.ts";
-import * as bufio from "https://deno.land/std@0.164.0/io/buffer.ts";
+import * as path from "@std/path";
// Loop through generated packages, deploying versions for anything which has a different tsconfig
const uploaded = []
-for (const dirEntry of Deno.readDirSync("packages")) {
+for await (const dirEntry of Deno.readDir("packages")) {
if (dirEntry.name === 'bases') continue // @tsconfig/bases package is special, it doesn't have a single tsconfig entry, it will be deployed separately
const localTsconfigPath = path.join("packages", dirEntry.name, "tsconfig.json");
- const newTSConfig = Deno.readTextFileSync(localTsconfigPath);
+ const newTSConfig = await Deno.readTextFile(localTsconfigPath);
let upload = false;
try {
@@ -22,16 +21,15 @@ for (const dirEntry of Deno.readDirSync("packages")) {
}
if (upload) {
- const process = Deno.run({
- cmd: ["npm", "publish", "--provenance", "--access", "public"],
+ const cmd = new Deno.Command("npm", {
+ args: ["publish", "--provenance", "--access", "public"],
stdout: "piped",
cwd: path.join("packages", dirEntry.name),
env: { NODE_AUTH_TOKEN: Deno.env.get("NODE_AUTH_TOKEN")! },
});
-
- for await (const line of bufio.readLines(process.stdout!)) {
- console.warn(line);
- }
+ const output = await cmd.output();
+ if (!output.success) throw new Error(`Failed to publish ${dirEntry.name}`)
+ console.warn(new TextDecoder().decode(output.stdout));
uploaded.push(dirEntry.name)
}
@@ -39,16 +37,15 @@ for (const dirEntry of Deno.readDirSync("packages")) {
if (uploaded.length) {
// If there's any uploads, we need to update the combined package too
- const process = Deno.run({
- cmd: ["npm", "publish", "--provenance", "--access", "public"],
+ const cmd = new Deno.Command("npm", {
+ args: ["publish", "--provenance", "--access", "public"],
stdout: "piped",
cwd: path.join("packages", "bases"),
env: { NODE_AUTH_TOKEN: Deno.env.get("NODE_AUTH_TOKEN")! },
});
-
- for await (const line of bufio.readLines(process.stdout!)) {
- console.warn(line);
- }
+ const output = await cmd.output();
+ if (!output.success) throw new Error("Failed to publish bases")
+ console.warn(new TextDecoder().decode(output.stdout));
console.log("Uploaded: ", uploaded.join(", "))
diff --git a/scripts/generate-lts.ts b/scripts/generate-lts.ts
index 228430b..43f6306 100644
--- a/scripts/generate-lts.ts
+++ b/scripts/generate-lts.ts
@@ -1,8 +1,7 @@
// deno run --allow-read --allow-write --allow-net scripts/generate-lts.ts
//
-import { gt } from "https://deno.land/std@0.192.0/semver/gt.ts";
-import { parse } from "https://deno.land/std@0.192.0/semver/parse.ts";
+import { greaterThan, parse } from "@std/semver";
interface NodeReleaseMetadata {
version: string;
@@ -18,7 +17,7 @@ interface NodeReleaseMetadata {
security: boolean;
}
-type Tsconfig = Record;
+type Tsconfig = Record;
const versionRegex = /v(\d+)\.(\d+)\.(\d+)/;
@@ -27,7 +26,7 @@ const releasesJson = (await releasesResponse.json()) as NodeReleaseMetadata[];
const lts = releasesJson
.filter((r) => r.lts)
.reduce(
- (prevValue, currValue) => (gt(parse(currValue.version), parse(prevValue.version)) ? currValue : prevValue),
+ (prevValue, currValue) => (greaterThan(parse(currValue.version), parse(prevValue.version)) ? currValue : prevValue),
{
version: "v0.0.0"
}
@@ -40,13 +39,13 @@ const versioned = {
_version: lts.version.substring(lts.version.indexOf("v") + 1)
};
-import * as path from "https://deno.land/std/path/mod.ts";
-import stripJsonComments from "https://esm.sh/strip-json-comments";
-import { deepMerge } from "https://deno.land/std/collections/deep_merge.ts";
+import * as path from "@std/path";
+import { parse as parseJsonc } from "@std/jsonc";
+import { deepMerge } from "@std/collections";
const packageText = await Deno.readTextFile(path.join(Deno.cwd(), "bases", `${base}.json`));
-const parsed = JSON.parse(stripJsonComments(packageText)) as Tsconfig;
+const parsed = parseJsonc(packageText) as Tsconfig;
// This is to get the _version property to show up directly under the display property
const parsedAndOrdered = deepMerge(versioned, parsed);
diff --git a/scripts/generate-recommend.ts b/scripts/generate-recommend.ts
index c89cb49..5f75343 100644
--- a/scripts/generate-recommend.ts
+++ b/scripts/generate-recommend.ts
@@ -1,24 +1,31 @@
-import stripJsonComments from "https://esm.sh/strip-json-comments";
-import * as bufio from "https://deno.land/std@0.164.0/io/buffer.ts";
-import * as path from "https://deno.land/std/path/mod.ts";
+import { deepMerge } from "@std/collections";
+import { parse as parseJsonc } from "@std/jsonc";
+import * as path from "@std/path";
const tsconfigStorage = await Deno.makeTempDir({ prefix: "tsconfig" });
// Generate a tsconfig
-const p = await Deno.run({ cmd: ["npx", "-p", "typescript", "tsc", "--init"], stdout: "piped", cwd: tsconfigStorage });
-for await (const line of bufio.readLines(p.stdout!)) {
- console.warn(line);
-}
+const cmd = new Deno.Command("npx", { args: ["-p", "typescript", "tsc", "--init"], stdout: "piped", cwd: tsconfigStorage });
+const output = await cmd.output();
+if (!output.success) throw new Error("Failed to run tsc --init")
+console.warn(new TextDecoder().decode(output.stdout));
let packageText = await Deno.readTextFile(path.join(tsconfigStorage, "tsconfig.json"));
// This will strip comments
-const parsed = JSON.parse(stripJsonComments(packageText));
+const parsed = parseJsonc(packageText);
// `display` field will be dropped at generating npm package, so prevent the order from being last in the JSON file
-parsed.display = "Recommended";
-parsed["$schema"] = "https://www.schemastore.org/tsconfig";
+const versioned = {
+ $schema: "https://www.schemastore.org/tsconfig",
+ display: "Recommended",
+ _version: "2.0.0",
+};
+
+// This is to get the _version property to show up directly under the display property
+const parsedAndOrdered = deepMerge(versioned, parsed);
+parsedAndOrdered.display = versioned.display;
-const result = JSON.stringify(parsed, null, " ");
+const result = JSON.stringify(parsedAndOrdered, null, 2);
const npmResponse = await fetch(`https://unpkg.com/@tsconfig/svelte/tsconfig.json`);
const npmPackage = await npmResponse.text();
diff --git a/scripts/update-markdown-readme.ts b/scripts/update-markdown-readme.ts
index 64c2eae..8f8c698 100644
--- a/scripts/update-markdown-readme.ts
+++ b/scripts/update-markdown-readme.ts
@@ -1,7 +1,7 @@
// deno run --allow-read --allow-write scripts/update-markdown-readme.ts
//
-import * as path from "https://deno.land/std/path/mod.ts";
-import stripJsonComments from "https://esm.sh/strip-json-comments";
+import * as path from "@std/path";
+import { parse as parseJsonc } from "@std/jsonc";
const readme = await Deno.readTextFileSync("./README.md")
let center = ""
@@ -20,7 +20,7 @@ for (const base of basePaths) {
const name = path.basename(base).replace(".json", "")
const tsconfigText = await Deno.readTextFile(tsconfigFilePath)
- const tsconfigJSON = JSON.parse(stripJsonComments(tsconfigText))
+ const tsconfigJSON = parseJsonc(tsconfigText) as { display: string }
center += `### ${tsconfigJSON.display} tsconfig.json\n`
diff --git a/test/package-lock.json b/test/package-lock.json
new file mode 100644
index 0000000..fd169b3
--- /dev/null
+++ b/test/package-lock.json
@@ -0,0 +1,56 @@
+{
+ "name": "test-bases",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "test-bases",
+ "devDependencies": {
+ "@tsconfig/bases": "file:../packages/bases",
+ "@types/node": "^24.2.1",
+ "typescript": "^5.9.2"
+ }
+ },
+ "../packages/bases": {
+ "name": "@tsconfig/bases",
+ "version": "1.0.24",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/bases": {
+ "resolved": "../packages/bases",
+ "link": true
+ },
+ "node_modules/@types/node": {
+ "version": "24.10.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.4.tgz",
+ "integrity": "sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~7.16.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
+ "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
+ "dev": true,
+ "license": "MIT"
+ }
+ }
+}
diff --git a/test/package.json b/test/package.json
index 52ef9fe..e6909ab 100644
--- a/test/package.json
+++ b/test/package.json
@@ -3,9 +3,8 @@
"scripts": {
"test": "tsc --noEmit"
},
- "packageManager": "pnpm@10.12.4",
"devDependencies": {
- "@tsconfig/bases": "link:../packages/bases",
+ "@tsconfig/bases": "file:../packages/bases",
"@types/node": "^24.2.1",
"typescript": "^5.9.2"
}
diff --git a/test/pnpm-lock.yaml b/test/pnpm-lock.yaml
deleted file mode 100644
index cdcec73..0000000
--- a/test/pnpm-lock.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- devDependencies:
- '@tsconfig/bases':
- specifier: link:../packages/bases
- version: link:../packages/bases
- '@types/node':
- specifier: ^24.2.1
- version: 24.2.1
- typescript:
- specifier: ^5.9.2
- version: 5.9.2
-
-packages:
-
- '@types/node@24.2.1':
- resolution: {integrity: sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==}
-
- typescript@5.9.2:
- resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- undici-types@7.10.0:
- resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==}
-
-snapshots:
-
- '@types/node@24.2.1':
- dependencies:
- undici-types: 7.10.0
-
- typescript@5.9.2: {}
-
- undici-types@7.10.0: {}