Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions packages/typescript-vfs/src/index.ts
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -290,14 +290,18 @@ export const createDefaultMapFromNodeModules = (
const path = requirePath()
const fs = requireFS()

// Resolve the lib dir from the compiler, which follows re-export wrappers (e.g. @typescript/typescript6)
// to the real stdlib; require.resolve would point at the wrapper's own lib/, which has no lib.*.d.ts.
const ts = _ts ?? (require("typescript") as typeof import("typescript"))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break browser uses?

const libDir = tsLibDirectory || path.dirname(ts.getDefaultLibFilePath(_compilerOptions))

const getLib = (name: string) => {
const lib = tsLibDirectory || path.dirname(require.resolve("typescript"))
return fs.readFileSync(path.join(lib, name), "utf8")
return fs.readFileSync(path.join(libDir, name), "utf8")
}

const isDtsFile = (file: string) => /\.d\.([^\.]+\.)?[cm]?ts$/i.test(file)

const libFiles = fs.readdirSync(tsLibDirectory || path.dirname(require.resolve("typescript")))
const libFiles = fs.readdirSync(libDir)
const knownLibFiles = libFiles.filter(f => f.startsWith("lib.") && isDtsFile(f))

const fsMap = new Map<string, string>()
Expand Down
Loading