From efe1ccb460e7d4e49772a9958885ee078b823395 Mon Sep 17 00:00:00 2001 From: amanx5 <110730645+amanx5@users.noreply.github.com> Date: Tue, 9 Jun 2026 22:32:04 +0530 Subject: [PATCH] chore: use `#*` instead of `#/*` in root package subpath imports Enable VS Code auto-import suggestions for non-relative paths without configuring tsconfig `baseUrl` or `paths`. With `typescript.preferences.importModuleSpecifier` set to `non-relative`, VS Code only suggests subpath imports when package.json uses `#*` rather than `#/*`. TypeScript 6 deprecates `baseUrl`, leaving `paths` as the main alternative, which requires extra tsconfig setup. TS v6 has built-in support for Node subpath imports. Trade-off: `#/*` provides better path completion when typing imports manually. `#*` fails in manual import suggestions. --- package.json | 2 +- scripts/build-examples.ts | 4 ++-- scripts/build-packages.mjs | 2 +- scripts/build-packages.ts | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 73bf7861..3a1b371f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "build-packages": "scripts/build-packages.mjs" }, "imports": { - "#/*": "./*" + "#*": "./*" }, "packageManager": "pnpm@11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f", "dependencies": { diff --git a/scripts/build-examples.ts b/scripts/build-examples.ts index 9407fb02..5195232a 100644 --- a/scripts/build-examples.ts +++ b/scripts/build-examples.ts @@ -1,5 +1,5 @@ -import { REPO_DIR } from "#/repo.ts"; -import { logMilestone } from "#/scripts/utils/logMilestone.ts"; +import { REPO_DIR } from "#repo.ts"; +import { logMilestone } from "#scripts/utils/logMilestone.ts"; import path from "node:path"; diff --git a/scripts/build-packages.mjs b/scripts/build-packages.mjs index e49073f9..73652a7b 100644 --- a/scripts/build-packages.mjs +++ b/scripts/build-packages.mjs @@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url"; const getModulePath = (m) => fileURLToPath(import.meta.resolve(m)); // path to the build script -const buildScriptPath = getModulePath("#/scripts/build-packages.ts"); +const buildScriptPath = getModulePath("#scripts/build-packages.ts"); // path to the tsx cli module (tsx/cli.mjs) const tsxCliPath = getModulePath("tsx/cli"); diff --git a/scripts/build-packages.ts b/scripts/build-packages.ts index b67c97a8..2b5ef699 100644 --- a/scripts/build-packages.ts +++ b/scripts/build-packages.ts @@ -1,7 +1,7 @@ -import { REPO_DIR } from "#/repo.ts"; -import { findPackageDirectories } from "#/scripts/utils/findPackageDirectories.ts"; -import { getPackageJson } from "#/scripts/utils/getPackageJson.ts"; -import { logMilestone } from "#/scripts/utils/logMilestone.ts"; +import { REPO_DIR } from "#repo.ts"; +import { findPackageDirectories } from "#scripts/utils/findPackageDirectories.ts"; +import { getPackageJson } from "#scripts/utils/getPackageJson.ts"; +import { logMilestone } from "#scripts/utils/logMilestone.ts"; import { resolve } from "node:path"; import { pathToFileURL } from "node:url";