@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"read-typescript-config.d.ts","sourceRoot":"","sources":["../../src/read-typescript-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;;qBAehC,iBAAiB,CAAC,SAAS,CAAC;;AAE/C,wBAGC"} | ||
| {"version":3,"file":"read-typescript-config.d.ts","sourceRoot":"","sources":["../../src/read-typescript-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;;qBAchC,iBAAiB,CAAC,SAAS,CAAC;;AAE/C,wBAGC"} |
@@ -27,3 +27,5 @@ // read the actual configuration that tsc is using | ||
| return target; | ||
| const local = resolve(from, target); | ||
| let local = resolve(from, target); | ||
| if (!isFile(local) && isFile(local + '.json')) | ||
| local += '.json'; | ||
| if (isFile(local) || | ||
@@ -39,5 +41,8 @@ target.startsWith('.\\') || | ||
| return found; | ||
| const foundTsconfig = resolve(p, 'node_modules', target, 'tsconfig.json'); | ||
| const pre = resolve(p, 'node_modules', target); | ||
| const foundTsconfig = resolve(pre, 'tsconfig.json'); | ||
| if (isFile(foundTsconfig)) | ||
| return foundTsconfig; | ||
| if (isFile(pre + '.json')) | ||
| return pre + '.json'; | ||
| } | ||
@@ -44,0 +49,0 @@ throw new Error('Could not resolve tsconfig file location', { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"read-typescript-config.js","sourceRoot":"","sources":["../../src/read-typescript-config.ts"],"names":[],"mappings":"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","sourcesContent":["// read the actual configuration that tsc is using\n// reimplemented in this way to avoid pulling in the massive pile\n// of CommonJS that is the typescript module, since we really do not\n// need most of the logic that it (reasonably) applies when parsing\n// configs, just for our purposes.\nimport { dirname, isAbsolute, resolve } from 'node:path'\nimport config from './config.js'\nimport type { ParsedCommandLine } from 'typescript'\nimport { readFileSync, statSync } from 'node:fs'\nimport { walkUp } from 'walk-up-path'\nimport JSON from 'jsonc-simple-parser'\nimport validExclude from './valid-exclude.js'\n\nconst isFile = (f: string) => {\n try {\n return statSync(f).isFile()\n } catch {\n return false\n }\n}\n\nlet parsedTsConfig: Record<string, any> & {\n compilerOptions: ParsedCommandLine['options']\n}\nexport default () => {\n const configPath = config.project ?? 'tsconfig.json'\n return (parsedTsConfig ??= parseTsConfig(resolveConfig(configPath)))\n}\n\nconst resolveConfig = (\n target: string,\n from: string = process.cwd(),\n): string => {\n if (isAbsolute(target)) return target\n const local = resolve(from, target)\n if (\n isFile(local) ||\n target.startsWith('.\\\\') ||\n target.startsWith('./')\n ) {\n return local\n }\n\n // starts with a package name?\n for (const p of walkUp(from)) {\n const found = resolve(p, 'node_modules', target)\n if (isFile(found)) return found\n const foundTsconfig = resolve(\n p,\n 'node_modules',\n target,\n 'tsconfig.json',\n )\n if (isFile(foundTsconfig)) return foundTsconfig\n }\n\n throw new Error('Could not resolve tsconfig file location', {\n cause: {\n target,\n from,\n },\n })\n}\n\nconst applyExtends = (\n data: Record<string, any>,\n base: Record<string, any>,\n) => {\n for (const [key, val] of Object.entries(base)) {\n if (typeof val !== 'object' || Array.isArray(val)) {\n data[key] ??= val\n } else if (!(key in data)) {\n data[key] = val\n } else if (\n typeof data[key] === 'object' &&\n !Array.isArray(data[key])\n ) {\n data[key] = applyExtends(data[key], val)\n }\n }\n return data\n}\n\nconst parseTsConfig = (configPath: string, seen = new Set<string>()) => {\n try {\n const data = JSON.parse(\n readFileSync(resolveConfig(configPath), 'utf8'),\n )\n if (!data || typeof data !== 'object' || Array.isArray(data)) {\n throw new Error('invalid data, expected object', {\n cause: data,\n })\n }\n if (!data.compilerOptions) data.compilerOptions = {}\n if (typeof data.extends === 'string') {\n const ext = resolveConfig(data.extends, dirname(configPath))\n if (!seen.has(ext)) {\n seen.add(ext)\n applyExtends(data, parseTsConfig(ext, seen))\n }\n }\n return data\n } catch (e) {\n throw new Error('Invalid tsconfig file', { cause: e })\n }\n}\n"]} | ||
| {"version":3,"file":"read-typescript-config.js","sourceRoot":"","sources":["../../src/read-typescript-config.ts"],"names":[],"mappings":"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","sourcesContent":["// read the actual configuration that tsc is using\n// reimplemented in this way to avoid pulling in the massive pile\n// of CommonJS that is the typescript module, since we really do not\n// need most of the logic that it (reasonably) applies when parsing\n// configs, just for our purposes.\nimport { dirname, isAbsolute, resolve } from 'node:path'\nimport config from './config.js'\nimport type { ParsedCommandLine } from 'typescript'\nimport { readFileSync, statSync } from 'node:fs'\nimport { walkUp } from 'walk-up-path'\nimport JSON from 'jsonc-simple-parser'\n\nconst isFile = (f: string) => {\n try {\n return statSync(f).isFile()\n } catch {\n return false\n }\n}\n\nlet parsedTsConfig: Record<string, any> & {\n compilerOptions: ParsedCommandLine['options']\n}\nexport default () => {\n const configPath = config.project ?? 'tsconfig.json'\n return (parsedTsConfig ??= parseTsConfig(resolveConfig(configPath)))\n}\n\nconst resolveConfig = (\n target: string,\n from: string = process.cwd(),\n): string => {\n if (isAbsolute(target)) return target\n let local = resolve(from, target)\n if (!isFile(local) && isFile(local + '.json')) local += '.json'\n if (\n isFile(local) ||\n target.startsWith('.\\\\') ||\n target.startsWith('./')\n ) {\n return local\n }\n\n // starts with a package name?\n for (const p of walkUp(from)) {\n const found = resolve(p, 'node_modules', target)\n if (isFile(found)) return found\n const pre = resolve(p, 'node_modules', target)\n const foundTsconfig = resolve(pre, 'tsconfig.json')\n if (isFile(foundTsconfig)) return foundTsconfig\n if (isFile(pre + '.json')) return pre + '.json'\n }\n\n throw new Error('Could not resolve tsconfig file location', {\n cause: {\n target,\n from,\n },\n })\n}\n\nconst applyExtends = (\n data: Record<string, any>,\n base: Record<string, any>,\n) => {\n for (const [key, val] of Object.entries(base)) {\n if (typeof val !== 'object' || Array.isArray(val)) {\n data[key] ??= val\n } else if (!(key in data)) {\n data[key] = val\n } else if (\n typeof data[key] === 'object' &&\n !Array.isArray(data[key])\n ) {\n data[key] = applyExtends(data[key], val)\n }\n }\n return data\n}\n\nconst parseTsConfig = (configPath: string, seen = new Set<string>()) => {\n try {\n const data = JSON.parse(\n readFileSync(resolveConfig(configPath), 'utf8'),\n )\n if (!data || typeof data !== 'object' || Array.isArray(data)) {\n throw new Error('invalid data, expected object', {\n cause: data,\n })\n }\n if (!data.compilerOptions) data.compilerOptions = {}\n if (typeof data.extends === 'string') {\n const ext = resolveConfig(data.extends, dirname(configPath))\n if (!seen.has(ext)) {\n seen.add(ext)\n applyExtends(data, parseTsConfig(ext, seen))\n }\n }\n return data\n } catch (e) {\n throw new Error('Invalid tsconfig file', { cause: e })\n }\n}\n"]} |
+1
-1
| { | ||
| "name": "tshy", | ||
| "version": "3.2.0", | ||
| "version": "3.2.1", | ||
| "description": "TypeScript HYbridizer - Hybrid (CommonJS/ESM) TypeScript node package builder", | ||
@@ -5,0 +5,0 @@ "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
1279692
0.06%2376
0.21%8
-11.11%