@visulima/tsconfig 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## @visulima/tsconfig [1.0.9](https://github.com/visulima/visulima/compare/@visulima/tsconfig@1.0.8...@visulima/tsconfig@1.0.9) (2024-08-30)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * updated dev dependencies ([45c2a76](https://github.com/visulima/visulima/commit/45c2a76bc974ecb2c6b172c3af03373d4cc6a5ce))
6
+
7
+
8
+ ### Dependencies
9
+
10
+ * **@visulima/fs:** upgraded to 2.1.14
11
+ * **@visulima/path:** upgraded to 1.0.5
12
+
1
13
  ## @visulima/tsconfig [1.0.8](https://github.com/visulima/visulima/compare/@visulima/tsconfig@1.0.7...@visulima/tsconfig@1.0.8) (2024-08-08)
2
14
 
3
15
  ### Miscellaneous Chores
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var N=Object.defineProperty;var g=(n,s)=>N(n,"name",{value:s,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@visulima/fs"),x=require("@visulima/fs/error"),r=require("@visulima/path"),P=require("jsonc-parser"),j=require("node:fs"),q=require("node:module"),k=require("resolve-pkg-maps"),T=require("@visulima/fs/utils"),J=g(n=>n&&typeof n=="object"&&"default"in n?n.default:n,"_interopDefaultCompat"),M=J(q);var _=Object.defineProperty,S=g((n,s)=>_(n,"name",{value:s,configurable:!0}),"d");const B=S(n=>P.parse(a.readFileSync(n)),"readJsonc"),z=S(()=>{const{findPnpApi:n}=M;return n?.(process.cwd())},"getPnpApi"),b=S((n,s,c,t)=>{const i="resolveFromPackageJsonPath:"+n+":"+s+":"+(c?"yes":"no");if(t?.has(i))return t.get(i);const e=B(n);if(!e)return;let o=s||"tsconfig.json";if(!c&&e.exports)try{const[f]=k.resolveExports(e.exports,s,["require","types"]);o=f}catch{return!1}else!s&&e.tsconfig&&(o=e.tsconfig);return o=r.join(n,"..",o),t?.set(i,o),o},"resolveFromPackageJsonPath"),C="package.json",v="tsconfig.json",W=S((n,s,c)=>{let t=n;if(n===".."&&(t=r.join(t,v)),n.startsWith(".")&&(t=r.resolve(s,t)),r.isAbsolute(t)){if(a.isAccessibleSync(t)){if(j.statSync(t).isFile())return t}else if(!t.endsWith(".json")){const l=`${t}.json`;if(a.isAccessibleSync(l))return l}return}const[i,...e]=n.split("/"),o=i.startsWith("@")?i+"/"+e.shift():i,f=e.join("/"),u=z();if(u){const{resolveRequest:l}=u;try{if(o===n){const d=l(r.join(o,C),s);if(d){const m=b(d,f,!1,c);if(m&&a.isAccessibleSync(m))return m}}else{let d;try{d=l(n,s,{extensions:[".json"]})}catch{d=l(r.join(n,v),s)}if(d)return d}}catch{}}const p=a.findUpSync(l=>{const d=r.join(r.resolve(l),"node_modules",o);if(a.isAccessibleSync(d))return r.join("node_modules",o)},{cwd:s,type:"directory"});if(!p||!j.statSync(p).isDirectory())return;const h=r.join(p,C);if(a.isAccessibleSync(h)){const l=b(h,f,!1,c);if(l===!1)return;if(l&&a.isAccessibleSync(l)&&j.statSync(l).isFile())return l}const y=r.join(p,f),O=y.endsWith(".json");if(!O){const l=y+".json";if(a.isAccessibleSync(l))return l}if(a.isAccessibleSync(y)){if(j.statSync(y).isDirectory()){const l=r.join(y,C);if(a.isAccessibleSync(l)){const m=b(l,"",!0,c);if(m&&a.isAccessibleSync(m))return m}const d=r.join(y,v);if(a.isAccessibleSync(d))return d}else if(O)return y}},"resolveExtendsPath");var R=Object.defineProperty,w=g((n,s)=>R(n,"name",{value:s,configurable:!0}),"c");const V=w(n=>P.parse(a.readFileSync(n)),"readJsonc"),A=w(n=>r.toNamespacedPath(/^\.{1,2}(?:\/.*)?$/.test(n)?n:`./${n}`),"normalizePath"),G=w((n,s,c,t)=>{const i=W(n,s);if(!i)throw new x.NotFoundError(`No such file or directory, for '${n}' found.`);if(c.has(i))throw new Error(`Circularity detected while resolving configuration: ${i}`);c.add(i);const e=r.dirname(i),o=D(i,t,c);delete o.references;const{compilerOptions:f}=o;if(f){const u=["baseUrl","outDir"];for(const p of u){const h=f[p];h&&(f[p]=r.relative(s,r.join(e,h)).replaceAll("\\","/")||"./")}}return o.files&&(o.files=o.files.map(u=>r.relative(s,r.join(e,u)))),o.include&&(o.include=o.include.map(u=>r.relative(s,r.join(e,u)))),o.exclude&&(o.exclude=o.exclude.map(u=>r.relative(s,r.join(e,u)))),o},"resolveExtends"),D=w((n,s,c=new Set)=>{let t;try{t=V(n)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${n}`)}if(typeof t!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${n}`);const i=r.dirname(n);if(t.compilerOptions){const{compilerOptions:e}=t;e.paths&&!e.baseUrl&&(e[I]=i)}if(t.extends){const e=Array.isArray(t.extends)?t.extends:[t.extends];delete t.extends;for(const o of e.reverse()){const f=G(o,i,new Set(c),s),u={...f,...t,compilerOptions:{...f.compilerOptions,...t.compilerOptions}};f.watchOptions&&(u.watchOptions={...f.watchOptions,...t.watchOptions}),t=u}}if(t.compilerOptions){const{compilerOptions:e}=t,o=["baseUrl","rootDir"];for(const u of o){const p=e[u];if(p){const h=r.resolve(i,p),y=r.relative(i,h);e[u]=A(y)}}const{outDir:f}=e;f&&(Array.isArray(t.exclude)||(t.exclude=[]),t.exclude.includes(f)||t.exclude.push(f),e.outDir=A(f)),s?.tscCompatible&&e.module==="node16"&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0,e.esModuleInterop=e.esModuleInterop??!0,e.moduleDetection=e.moduleDetection??"force",e.moduleResolution=e.moduleResolution??"node16",e.target=e.target??"es2022",e.useDefineForClassFields=e.useDefineForClassFields??!0),s?.tscCompatible&&e.strict&&(e.noImplicitAny=e.noImplicitAny??!0,e.noImplicitThis=e.noImplicitThis??!0,e.strictNullChecks=e.strictNullChecks??!0,e.strictFunctionTypes=e.strictFunctionTypes??!0,e.strictBindCallApply=e.strictBindCallApply??!0,e.strictPropertyInitialization=e.strictPropertyInitialization??!0,e.alwaysStrict=e.alwaysStrict??!0,e.useUnknownInCatchVariables=e.useUnknownInCatchVariables??!0),s?.tscCompatible&&e.isolatedModules&&(e.preserveConstEnums=e.preserveConstEnums??!0),s?.tscCompatible&&e.esModuleInterop&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0),s?.tscCompatible&&e.target==="esnext"&&(e.useDefineForClassFields=e.useDefineForClassFields??!0)}else t.compilerOptions={};if(t.files&&(t.files=t.files.map(e=>A(e))),t.include&&(t.include=t.include.map(e=>r.normalize(e))),t.watchOptions){const{watchOptions:e}=t;e.excludeDirectories&&(e.excludeDirectories=e.excludeDirectories.map(o=>r.resolve(i,o)))}return t},"internalParseTsConfig"),I=Symbol("implicitBaseUrl"),F=w((n,s)=>D(n,s),"readTsConfig");var H=Object.defineProperty,U=g((n,s)=>H(n,"name",{value:s,configurable:!0}),"s");const E=new Map,K=U(async(n,s={})=>{const c=s.configFileName??"tsconfig.json";let t=await a.findUp(c,{...n&&{cwd:n},type:"file"});if(t||(t=await a.findUp("jsconfig.json",{...n&&{cwd:n},type:"file"})),!t)throw new x.NotFoundError(`No such file or directory, for ${c} or jsconfig.json found.`);const i=s.cache&&typeof s.cache!="boolean"?s.cache:E;if(s.cache&&i.has(t))return i.get(t);const e={config:F(t),path:t};return s.cache&&i.set(t,e),e},"findTsConfig"),L=U((n,s={})=>{const c=s.configFileName??"tsconfig.json";let t=a.findUpSync(c,{...n&&{cwd:n},type:"file"});if(t||(t=a.findUpSync("jsconfig.json",{...n&&{cwd:n},type:"file"})),!t)throw new x.NotFoundError(`No such file or directory, for ${c} or jsconfig.json found.`);const i=s.cache&&typeof s.cache!="boolean"?s.cache:E;if(s.cache&&i.has(t))return i.get(t);const e={config:F(t),path:t};return s.cache&&i.set(t,e),e},"findTsConfigSync");var Q=Object.defineProperty,$=g((n,s)=>Q(n,"name",{value:s,configurable:!0}),"r");const X=$(async(n,s={})=>{const{cwd:c,...t}=s,i=T.toPath(c??process.cwd());await a.writeJson(r.join(i,"tsconfig.json"),n,t)},"writeTsConfig"),Y=$((n,s={})=>{const{cwd:c,...t}=s,i=T.toPath(c??process.cwd());a.writeJsonSync(r.join(i,"tsconfig.json"),n,t)},"writeTsConfigSync");exports.findTsConfig=K;exports.findTsConfigSync=L;exports.implicitBaseUrlSymbol=I;exports.readTsConfig=F;exports.writeTsConfig=X;exports.writeTsConfigSync=Y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./shared/findTsConfig-D2TOrVoT.cjs"),n=require("./shared/implicitBaseUrlSymbol-DRKC4-0H.cjs"),e=require("./shared/writeTsConfig-D_MA7_Uu.cjs");exports.findTsConfig=i.findTsConfig;exports.findTsConfigSync=i.findTsConfigSync;exports.implicitBaseUrlSymbol=n.implicitBaseUrlSymbol;exports.readTsConfig=n.readTsConfig;exports.writeTsConfig=e.writeTsConfig;exports.writeTsConfigSync=e.writeTsConfigSync;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var B=Object.defineProperty;var w=(o,n)=>B(o,"name",{value:n,configurable:!0});import{readFileSync as A,isAccessibleSync as u,findUpSync as D,findUp as T,writeJson as W,writeJsonSync as R}from"@visulima/fs";import{NotFoundError as P}from"@visulima/fs/error";import{join as f,resolve as v,isAbsolute as q,toNamespacedPath as V,dirname as $,relative as g,normalize as _}from"@visulima/path";import{parse as E}from"jsonc-parser";import{statSync as j}from"node:fs";import G from"node:module";import{resolveExports as H}from"resolve-pkg-maps";import{toPath as N}from"@visulima/fs/utils";var K=Object.defineProperty,b=w((o,n)=>K(o,"name",{value:n,configurable:!0}),"d");const L=b(o=>E(A(o)),"readJsonc"),Q=b(()=>{const{findPnpApi:o}=G;return o?.(process.cwd())},"getPnpApi"),x=b((o,n,r,t)=>{const s="resolveFromPackageJsonPath:"+o+":"+n+":"+(r?"yes":"no");if(t?.has(s))return t.get(s);const e=L(o);if(!e)return;let i=n||"tsconfig.json";if(!r&&e.exports)try{const[l]=H(e.exports,n,["require","types"]);i=l}catch{return!1}else!n&&e.tsconfig&&(i=e.tsconfig);return i=f(o,"..",i),t?.set(s,i),i},"resolveFromPackageJsonPath"),S="package.json",F="tsconfig.json",X=b((o,n,r)=>{let t=o;if(o===".."&&(t=f(t,F)),o.startsWith(".")&&(t=v(n,t)),q(t)){if(u(t)){if(j(t).isFile())return t}else if(!t.endsWith(".json")){const c=`${t}.json`;if(u(c))return c}return}const[s,...e]=o.split("/"),i=s.startsWith("@")?s+"/"+e.shift():s,l=e.join("/"),a=Q();if(a){const{resolveRequest:c}=a;try{if(i===o){const p=c(f(i,S),n);if(p){const y=x(p,l,!1,r);if(y&&u(y))return y}}else{let p;try{p=c(o,n,{extensions:[".json"]})}catch{p=c(f(o,F),n)}if(p)return p}}catch{}}const d=D(c=>{const p=f(v(c),"node_modules",i);if(u(p))return f("node_modules",i)},{cwd:n,type:"directory"});if(!d||!j(d).isDirectory())return;const h=f(d,S);if(u(h)){const c=x(h,l,!1,r);if(c===!1)return;if(c&&u(c)&&j(c).isFile())return c}const m=f(d,l),I=m.endsWith(".json");if(!I){const c=m+".json";if(u(c))return c}if(u(m)){if(j(m).isDirectory()){const c=f(m,S);if(u(c)){const y=x(c,"",!0,r);if(y&&u(y))return y}const p=f(m,F);if(u(p))return p}else if(I)return m}},"resolveExtendsPath");var Y=Object.defineProperty,C=w((o,n)=>Y(o,"name",{value:n,configurable:!0}),"c");const Z=C(o=>E(A(o)),"readJsonc"),O=C(o=>V(/^\.{1,2}(?:\/.*)?$/.test(o)?o:`./${o}`),"normalizePath"),ee=C((o,n,r,t)=>{const s=X(o,n);if(!s)throw new P(`No such file or directory, for '${o}' found.`);if(r.has(s))throw new Error(`Circularity detected while resolving configuration: ${s}`);r.add(s);const e=$(s),i=U(s,t,r);delete i.references;const{compilerOptions:l}=i;if(l){const a=["baseUrl","outDir"];for(const d of a){const h=l[d];h&&(l[d]=g(n,f(e,h)).replaceAll("\\","/")||"./")}}return i.files&&(i.files=i.files.map(a=>g(n,f(e,a)))),i.include&&(i.include=i.include.map(a=>g(n,f(e,a)))),i.exclude&&(i.exclude=i.exclude.map(a=>g(n,f(e,a)))),i},"resolveExtends"),U=C((o,n,r=new Set)=>{let t;try{t=Z(o)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${o}`)}if(typeof t!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${o}`);const s=$(o);if(t.compilerOptions){const{compilerOptions:e}=t;e.paths&&!e.baseUrl&&(e[te]=s)}if(t.extends){const e=Array.isArray(t.extends)?t.extends:[t.extends];delete t.extends;for(const i of e.reverse()){const l=ee(i,s,new Set(r),n),a={...l,...t,compilerOptions:{...l.compilerOptions,...t.compilerOptions}};l.watchOptions&&(a.watchOptions={...l.watchOptions,...t.watchOptions}),t=a}}if(t.compilerOptions){const{compilerOptions:e}=t,i=["baseUrl","rootDir"];for(const a of i){const d=e[a];if(d){const h=v(s,d),m=g(s,h);e[a]=O(m)}}const{outDir:l}=e;l&&(Array.isArray(t.exclude)||(t.exclude=[]),t.exclude.includes(l)||t.exclude.push(l),e.outDir=O(l)),n?.tscCompatible&&e.module==="node16"&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0,e.esModuleInterop=e.esModuleInterop??!0,e.moduleDetection=e.moduleDetection??"force",e.moduleResolution=e.moduleResolution??"node16",e.target=e.target??"es2022",e.useDefineForClassFields=e.useDefineForClassFields??!0),n?.tscCompatible&&e.strict&&(e.noImplicitAny=e.noImplicitAny??!0,e.noImplicitThis=e.noImplicitThis??!0,e.strictNullChecks=e.strictNullChecks??!0,e.strictFunctionTypes=e.strictFunctionTypes??!0,e.strictBindCallApply=e.strictBindCallApply??!0,e.strictPropertyInitialization=e.strictPropertyInitialization??!0,e.alwaysStrict=e.alwaysStrict??!0,e.useUnknownInCatchVariables=e.useUnknownInCatchVariables??!0),n?.tscCompatible&&e.isolatedModules&&(e.preserveConstEnums=e.preserveConstEnums??!0),n?.tscCompatible&&e.esModuleInterop&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0),n?.tscCompatible&&e.target==="esnext"&&(e.useDefineForClassFields=e.useDefineForClassFields??!0)}else t.compilerOptions={};if(t.files&&(t.files=t.files.map(e=>O(e))),t.include&&(t.include=t.include.map(e=>_(e))),t.watchOptions){const{watchOptions:e}=t;e.excludeDirectories&&(e.excludeDirectories=e.excludeDirectories.map(i=>v(s,i)))}return t},"internalParseTsConfig"),te=Symbol("implicitBaseUrl"),k=C((o,n)=>U(o,n),"readTsConfig");var oe=Object.defineProperty,J=w((o,n)=>oe(o,"name",{value:n,configurable:!0}),"s");const M=new Map,de=J(async(o,n={})=>{const r=n.configFileName??"tsconfig.json";let t=await T(r,{...o&&{cwd:o},type:"file"});if(t||(t=await T("jsconfig.json",{...o&&{cwd:o},type:"file"})),!t)throw new P(`No such file or directory, for ${r} or jsconfig.json found.`);const s=n.cache&&typeof n.cache!="boolean"?n.cache:M;if(n.cache&&s.has(t))return s.get(t);const e={config:k(t),path:t};return n.cache&&s.set(t,e),e},"findTsConfig"),me=J((o,n={})=>{const r=n.configFileName??"tsconfig.json";let t=D(r,{...o&&{cwd:o},type:"file"});if(t||(t=D("jsconfig.json",{...o&&{cwd:o},type:"file"})),!t)throw new P(`No such file or directory, for ${r} or jsconfig.json found.`);const s=n.cache&&typeof n.cache!="boolean"?n.cache:M;if(n.cache&&s.has(t))return s.get(t);const e={config:k(t),path:t};return n.cache&&s.set(t,e),e},"findTsConfigSync");var ne=Object.defineProperty,z=w((o,n)=>ne(o,"name",{value:n,configurable:!0}),"r");const he=z(async(o,n={})=>{const{cwd:r,...t}=n,s=N(r??process.cwd());await W(f(s,"tsconfig.json"),o,t)},"writeTsConfig"),ye=z((o,n={})=>{const{cwd:r,...t}=n,s=N(r??process.cwd());R(f(s,"tsconfig.json"),o,t)},"writeTsConfigSync");export{de as findTsConfig,me as findTsConfigSync,te as implicitBaseUrlSymbol,k as readTsConfig,he as writeTsConfig,ye as writeTsConfigSync};
1
+ import{f as s,a as f}from"./shared/findTsConfig-B8xt1i_T.mjs";import{i as a,r as n}from"./shared/implicitBaseUrlSymbol-DTC0mZot.mjs";import{w as t,a as g}from"./shared/writeTsConfig-CWU3Vidv.mjs";export{s as findTsConfig,f as findTsConfigSync,a as implicitBaseUrlSymbol,n as readTsConfig,t as writeTsConfig,g as writeTsConfigSync};
@@ -0,0 +1 @@
1
+ var p=Object.defineProperty;var t=(o,e)=>p(o,"name",{value:e,configurable:!0});import{findUp as r,findUpSync as s}from"@visulima/fs";import{NotFoundError as a}from"@visulima/fs/error";import{r as h}from"./implicitBaseUrlSymbol-DTC0mZot.mjs";var l=Object.defineProperty,g=t((o,e)=>l(o,"name",{value:e,configurable:!0}),"s");const d=new Map,m=g(async(o,e={})=>{const f=e.configFileName??"tsconfig.json";let c=await r(f,{...o&&{cwd:o},type:"file"});if(c||(c=await r("jsconfig.json",{...o&&{cwd:o},type:"file"})),!c)throw new a(`No such file or directory, for ${f} or jsconfig.json found.`);const n=e.cache&&typeof e.cache!="boolean"?e.cache:d;if(e.cache&&n.has(c))return n.get(c);const i={config:h(c),path:c};return e.cache&&n.set(c,i),i},"findTsConfig"),C=g((o,e={})=>{const f=e.configFileName??"tsconfig.json";let c=s(f,{...o&&{cwd:o},type:"file"});if(c||(c=s("jsconfig.json",{...o&&{cwd:o},type:"file"})),!c)throw new a(`No such file or directory, for ${f} or jsconfig.json found.`);const n=e.cache&&typeof e.cache!="boolean"?e.cache:d;if(e.cache&&n.has(c))return n.get(c);const i={config:h(c),path:c};return e.cache&&n.set(c,i),i},"findTsConfigSync");export{C as a,m as f};
@@ -0,0 +1 @@
1
+ "use strict";var l=Object.defineProperty;var r=(c,e)=>l(c,"name",{value:e,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@visulima/fs"),s=require("@visulima/fs/error"),a=require("./implicitBaseUrlSymbol-DRKC4-0H.cjs");var h=Object.defineProperty,d=r((c,e)=>h(c,"name",{value:e,configurable:!0}),"s");const g=new Map,u=d(async(c,e={})=>{const i=e.configFileName??"tsconfig.json";let n=await t.findUp(i,{...c&&{cwd:c},type:"file"});if(n||(n=await t.findUp("jsconfig.json",{...c&&{cwd:c},type:"file"})),!n)throw new s.NotFoundError(`No such file or directory, for ${i} or jsconfig.json found.`);const o=e.cache&&typeof e.cache!="boolean"?e.cache:g;if(e.cache&&o.has(n))return o.get(n);const f={config:a.readTsConfig(n),path:n};return e.cache&&o.set(n,f),f},"findTsConfig"),y=d((c,e={})=>{const i=e.configFileName??"tsconfig.json";let n=t.findUpSync(i,{...c&&{cwd:c},type:"file"});if(n||(n=t.findUpSync("jsconfig.json",{...c&&{cwd:c},type:"file"})),!n)throw new s.NotFoundError(`No such file or directory, for ${i} or jsconfig.json found.`);const o=e.cache&&typeof e.cache!="boolean"?e.cache:g;if(e.cache&&o.has(n))return o.get(n);const f={config:a.readTsConfig(n),path:n};return e.cache&&o.set(n,f),f},"findTsConfigSync");exports.findTsConfig=u;exports.findTsConfigSync=y;
@@ -0,0 +1 @@
1
+ "use strict";var P=Object.defineProperty;var S=(s,i)=>P(s,"name",{value:i,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@visulima/fs"),I=require("@visulima/fs/error"),o=require("@visulima/path"),D=require("jsonc-parser"),j=require("node:fs"),E=require("node:module"),k=require("resolve-pkg-maps"),q=S(s=>s&&typeof s=="object"&&"default"in s?s.default:s,"_interopDefaultCompat"),T=q(E);var U=Object.defineProperty,v=S((s,i)=>U(s,"name",{value:i,configurable:!0}),"d");const $=v(s=>D.parse(u.readFileSync(s)),"readJsonc"),M=v(()=>{const{findPnpApi:s}=T;return s?.(process.cwd())},"getPnpApi"),w=v((s,i,f,t)=>{const r="resolveFromPackageJsonPath:"+s+":"+i+":"+(f?"yes":"no");if(t?.has(r))return t.get(r);const e=$(s);if(!e)return;let n=i||"tsconfig.json";if(!f&&e.exports)try{const[l]=k.resolveExports(e.exports,i,["require","types"]);n=l}catch{return!1}else!i&&e.tsconfig&&(n=e.tsconfig);return n=o.join(s,"..",n),t?.set(r,n),n},"resolveFromPackageJsonPath"),g="package.json",C="tsconfig.json",_=v((s,i,f)=>{let t=s;if(s===".."&&(t=o.join(t,C)),s.startsWith(".")&&(t=o.resolve(i,t)),o.isAbsolute(t)){if(u.isAccessibleSync(t)){if(j.statSync(t).isFile())return t}else if(!t.endsWith(".json")){const c=`${t}.json`;if(u.isAccessibleSync(c))return c}return}const[r,...e]=s.split("/"),n=r.startsWith("@")?r+"/"+e.shift():r,l=e.join("/"),a=M();if(a){const{resolveRequest:c}=a;try{if(n===s){const p=c(o.join(n,g),i);if(p){const h=w(p,l,!1,f);if(h&&u.isAccessibleSync(h))return h}}else{let p;try{p=c(s,i,{extensions:[".json"]})}catch{p=c(o.join(s,C),i)}if(p)return p}}catch{}}const d=u.findUpSync(c=>{const p=o.join(o.resolve(c),"node_modules",n);if(u.isAccessibleSync(p))return o.join("node_modules",n)},{cwd:i,type:"directory"});if(!d||!j.statSync(d).isDirectory())return;const m=o.join(d,g);if(u.isAccessibleSync(m)){const c=w(m,l,!1,f);if(c===!1)return;if(c&&u.isAccessibleSync(c)&&j.statSync(c).isFile())return c}const y=o.join(d,l),x=y.endsWith(".json");if(!x){const c=y+".json";if(u.isAccessibleSync(c))return c}if(u.isAccessibleSync(y)){if(j.statSync(y).isDirectory()){const c=o.join(y,g);if(u.isAccessibleSync(c)){const h=w(c,"",!0,f);if(h&&u.isAccessibleSync(h))return h}const p=o.join(y,C);if(u.isAccessibleSync(p))return p}else if(x)return y}},"resolveExtendsPath");var B=Object.defineProperty,b=S((s,i)=>B(s,"name",{value:i,configurable:!0}),"c");const J=b(s=>D.parse(u.readFileSync(s)),"readJsonc"),A=b(s=>o.toNamespacedPath(/^\.{1,2}(?:\/.*)?$/.test(s)?s:`./${s}`),"normalizePath"),N=b((s,i,f,t)=>{const r=_(s,i);if(!r)throw new I.NotFoundError(`No such file or directory, for '${s}' found.`);if(f.has(r))throw new Error(`Circularity detected while resolving configuration: ${r}`);f.add(r);const e=o.dirname(r),n=F(r,t,f);delete n.references;const{compilerOptions:l}=n;if(l){const a=["baseUrl","outDir"];for(const d of a){const m=l[d];m&&(l[d]=o.relative(i,o.join(e,m)).replaceAll("\\","/")||"./")}}return n.files&&(n.files=n.files.map(a=>o.relative(i,o.join(e,a)))),n.include&&(n.include=n.include.map(a=>o.relative(i,o.join(e,a)))),n.exclude&&(n.exclude=n.exclude.map(a=>o.relative(i,o.join(e,a)))),n},"resolveExtends"),F=b((s,i,f=new Set)=>{let t;try{t=J(s)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${s}`)}if(typeof t!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${s}`);const r=o.dirname(s);if(t.compilerOptions){const{compilerOptions:e}=t;e.paths&&!e.baseUrl&&(e[O]=r)}if(t.extends){const e=Array.isArray(t.extends)?t.extends:[t.extends];delete t.extends;for(const n of e.reverse()){const l=N(n,r,new Set(f),i),a={...l,...t,compilerOptions:{...l.compilerOptions,...t.compilerOptions}};l.watchOptions&&(a.watchOptions={...l.watchOptions,...t.watchOptions}),t=a}}if(t.compilerOptions){const{compilerOptions:e}=t,n=["baseUrl","rootDir"];for(const a of n){const d=e[a];if(d){const m=o.resolve(r,d),y=o.relative(r,m);e[a]=A(y)}}const{outDir:l}=e;l&&(Array.isArray(t.exclude)||(t.exclude=[]),t.exclude.includes(l)||t.exclude.push(l),e.outDir=A(l)),i?.tscCompatible&&e.module==="node16"&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0,e.esModuleInterop=e.esModuleInterop??!0,e.moduleDetection=e.moduleDetection??"force",e.moduleResolution=e.moduleResolution??"node16",e.target=e.target??"es2022",e.useDefineForClassFields=e.useDefineForClassFields??!0),i?.tscCompatible&&e.strict&&(e.noImplicitAny=e.noImplicitAny??!0,e.noImplicitThis=e.noImplicitThis??!0,e.strictNullChecks=e.strictNullChecks??!0,e.strictFunctionTypes=e.strictFunctionTypes??!0,e.strictBindCallApply=e.strictBindCallApply??!0,e.strictPropertyInitialization=e.strictPropertyInitialization??!0,e.alwaysStrict=e.alwaysStrict??!0,e.useUnknownInCatchVariables=e.useUnknownInCatchVariables??!0),i?.tscCompatible&&e.isolatedModules&&(e.preserveConstEnums=e.preserveConstEnums??!0),i?.tscCompatible&&e.esModuleInterop&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0),i?.tscCompatible&&e.target==="esnext"&&(e.useDefineForClassFields=e.useDefineForClassFields??!0)}else t.compilerOptions={};if(t.files&&(t.files=t.files.map(e=>A(e))),t.include&&(t.include=t.include.map(e=>o.normalize(e))),t.watchOptions){const{watchOptions:e}=t;e.excludeDirectories&&(e.excludeDirectories=e.excludeDirectories.map(n=>o.resolve(r,n)))}return t},"internalParseTsConfig"),O=Symbol("implicitBaseUrl"),z=b((s,i)=>F(s,i),"readTsConfig");exports.implicitBaseUrlSymbol=O;exports.readTsConfig=z;
@@ -0,0 +1 @@
1
+ var $=Object.defineProperty;var b=(o,s)=>$(o,"name",{value:s,configurable:!0});import{readFileSync as j,isAccessibleSync as u,findUpSync as k}from"@visulima/fs";import{NotFoundError as U}from"@visulima/fs/error";import{join as a,resolve as C,isAbsolute as T,toNamespacedPath as J,dirname as A,relative as w,normalize as N}from"@visulima/path";import{parse as P}from"jsonc-parser";import{statSync as x}from"node:fs";import z from"node:module";import{resolveExports as B}from"resolve-pkg-maps";var M=Object.defineProperty,v=b((o,s)=>M(o,"name",{value:s,configurable:!0}),"d");const W=v(o=>P(j(o)),"readJsonc"),R=v(()=>{const{findPnpApi:o}=z;return o?.(process.cwd())},"getPnpApi"),D=v((o,s,p,t)=>{const n="resolveFromPackageJsonPath:"+o+":"+s+":"+(p?"yes":"no");if(t?.has(n))return t.get(n);const e=W(o);if(!e)return;let r=s||"tsconfig.json";if(!p&&e.exports)try{const[c]=B(e.exports,s,["require","types"]);r=c}catch{return!1}else!s&&e.tsconfig&&(r=e.tsconfig);return r=a(o,"..",r),t?.set(n,r),r},"resolveFromPackageJsonPath"),F="package.json",O="tsconfig.json",q=v((o,s,p)=>{let t=o;if(o===".."&&(t=a(t,O)),o.startsWith(".")&&(t=C(s,t)),T(t)){if(u(t)){if(x(t).isFile())return t}else if(!t.endsWith(".json")){const i=`${t}.json`;if(u(i))return i}return}const[n,...e]=o.split("/"),r=n.startsWith("@")?n+"/"+e.shift():n,c=e.join("/"),l=R();if(l){const{resolveRequest:i}=l;try{if(r===o){const f=i(a(r,F),s);if(f){const y=D(f,c,!1,p);if(y&&u(y))return y}}else{let f;try{f=i(o,s,{extensions:[".json"]})}catch{f=i(a(o,O),s)}if(f)return f}}catch{}}const d=k(i=>{const f=a(C(i),"node_modules",r);if(u(f))return a("node_modules",r)},{cwd:s,type:"directory"});if(!d||!x(d).isDirectory())return;const h=a(d,F);if(u(h)){const i=D(h,c,!1,p);if(i===!1)return;if(i&&u(i)&&x(i).isFile())return i}const m=a(d,c),I=m.endsWith(".json");if(!I){const i=m+".json";if(u(i))return i}if(u(m)){if(x(m).isDirectory()){const i=a(m,F);if(u(i)){const y=D(i,"",!0,p);if(y&&u(y))return y}const f=a(m,O);if(u(f))return f}else if(I)return m}},"resolveExtendsPath");var V=Object.defineProperty,g=b((o,s)=>V(o,"name",{value:s,configurable:!0}),"c");const _=g(o=>P(j(o)),"readJsonc"),S=g(o=>J(/^\.{1,2}(?:\/.*)?$/.test(o)?o:`./${o}`),"normalizePath"),G=g((o,s,p,t)=>{const n=q(o,s);if(!n)throw new U(`No such file or directory, for '${o}' found.`);if(p.has(n))throw new Error(`Circularity detected while resolving configuration: ${n}`);p.add(n);const e=A(n),r=E(n,t,p);delete r.references;const{compilerOptions:c}=r;if(c){const l=["baseUrl","outDir"];for(const d of l){const h=c[d];h&&(c[d]=w(s,a(e,h)).replaceAll("\\","/")||"./")}}return r.files&&(r.files=r.files.map(l=>w(s,a(e,l)))),r.include&&(r.include=r.include.map(l=>w(s,a(e,l)))),r.exclude&&(r.exclude=r.exclude.map(l=>w(s,a(e,l)))),r},"resolveExtends"),E=g((o,s,p=new Set)=>{let t;try{t=_(o)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${o}`)}if(typeof t!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${o}`);const n=A(o);if(t.compilerOptions){const{compilerOptions:e}=t;e.paths&&!e.baseUrl&&(e[H]=n)}if(t.extends){const e=Array.isArray(t.extends)?t.extends:[t.extends];delete t.extends;for(const r of e.reverse()){const c=G(r,n,new Set(p),s),l={...c,...t,compilerOptions:{...c.compilerOptions,...t.compilerOptions}};c.watchOptions&&(l.watchOptions={...c.watchOptions,...t.watchOptions}),t=l}}if(t.compilerOptions){const{compilerOptions:e}=t,r=["baseUrl","rootDir"];for(const l of r){const d=e[l];if(d){const h=C(n,d),m=w(n,h);e[l]=S(m)}}const{outDir:c}=e;c&&(Array.isArray(t.exclude)||(t.exclude=[]),t.exclude.includes(c)||t.exclude.push(c),e.outDir=S(c)),s?.tscCompatible&&e.module==="node16"&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0,e.esModuleInterop=e.esModuleInterop??!0,e.moduleDetection=e.moduleDetection??"force",e.moduleResolution=e.moduleResolution??"node16",e.target=e.target??"es2022",e.useDefineForClassFields=e.useDefineForClassFields??!0),s?.tscCompatible&&e.strict&&(e.noImplicitAny=e.noImplicitAny??!0,e.noImplicitThis=e.noImplicitThis??!0,e.strictNullChecks=e.strictNullChecks??!0,e.strictFunctionTypes=e.strictFunctionTypes??!0,e.strictBindCallApply=e.strictBindCallApply??!0,e.strictPropertyInitialization=e.strictPropertyInitialization??!0,e.alwaysStrict=e.alwaysStrict??!0,e.useUnknownInCatchVariables=e.useUnknownInCatchVariables??!0),s?.tscCompatible&&e.isolatedModules&&(e.preserveConstEnums=e.preserveConstEnums??!0),s?.tscCompatible&&e.esModuleInterop&&(e.allowSyntheticDefaultImports=e.allowSyntheticDefaultImports??!0),s?.tscCompatible&&e.target==="esnext"&&(e.useDefineForClassFields=e.useDefineForClassFields??!0)}else t.compilerOptions={};if(t.files&&(t.files=t.files.map(e=>S(e))),t.include&&(t.include=t.include.map(e=>N(e))),t.watchOptions){const{watchOptions:e}=t;e.excludeDirectories&&(e.excludeDirectories=e.excludeDirectories.map(r=>C(n,r)))}return t},"internalParseTsConfig"),H=Symbol("implicitBaseUrl"),oe=g((o,s)=>E(o,s),"readTsConfig");export{H as i,oe as r};
@@ -0,0 +1 @@
1
+ var w=Object.defineProperty;var t=(o,n)=>w(o,"name",{value:n,configurable:!0});import{writeJson as f,writeJsonSync as p}from"@visulima/fs";import{toPath as c}from"@visulima/fs/utils";import{join as e}from"@visulima/path";var g=Object.defineProperty,a=t((o,n)=>g(o,"name",{value:n,configurable:!0}),"r");const C=a(async(o,n={})=>{const{cwd:s,...i}=n,r=c(s??process.cwd());await f(e(r,"tsconfig.json"),o,i)},"writeTsConfig"),T=a((o,n={})=>{const{cwd:s,...i}=n,r=c(s??process.cwd());p(e(r,"tsconfig.json"),o,i)},"writeTsConfigSync");export{T as a,C as w};
@@ -0,0 +1 @@
1
+ "use strict";var f=Object.defineProperty;var s=(n,t)=>f(n,"name",{value:t,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@visulima/fs"),c=require("@visulima/fs/utils"),a=require("@visulima/path");var g=Object.defineProperty,w=s((n,t)=>g(n,"name",{value:t,configurable:!0}),"r");const u=w(async(n,t={})=>{const{cwd:e,...i}=t,o=c.toPath(e??process.cwd());await r.writeJson(a.join(o,"tsconfig.json"),n,i)},"writeTsConfig"),y=w((n,t={})=>{const{cwd:e,...i}=t,o=c.toPath(e??process.cwd());r.writeJsonSync(a.join(o,"tsconfig.json"),n,i)},"writeTsConfigSync");exports.writeTsConfig=u;exports.writeTsConfigSync=y;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/tsconfig",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "Find and/or parse the tsconfig.json file from a directory path.",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -60,8 +60,8 @@
60
60
  "CHANGELOG.md"
61
61
  ],
62
62
  "dependencies": {
63
- "@visulima/fs": "2.1.13",
64
- "@visulima/path": "1.0.4",
63
+ "@visulima/fs": "2.1.14",
64
+ "@visulima/path": "1.0.5",
65
65
  "jsonc-parser": "^3.3.1",
66
66
  "resolve-pkg-maps": "^1.0.0"
67
67
  },
@@ -73,9 +73,9 @@
73
73
  "@babel/core": "^7.25.2",
74
74
  "@rushstack/eslint-plugin-security": "^0.8.2",
75
75
  "@secretlint/secretlint-rule-preset-recommend": "^8.2.4",
76
- "@total-typescript/ts-reset": "^0.5.1",
76
+ "@total-typescript/ts-reset": "^0.6.0",
77
77
  "@types/node": "18.18.14",
78
- "@visulima/packem": "^1.0.0-alpha.60",
78
+ "@visulima/packem": "^1.0.0-alpha.86",
79
79
  "@vitest/coverage-v8": "^2.0.5",
80
80
  "@vitest/ui": "^2.0.5",
81
81
  "conventional-changelog-conventionalcommits": "8.0.0",
@@ -88,14 +88,14 @@
88
88
  "eslint-plugin-mdx": "^3.1.5",
89
89
  "eslint-plugin-vitest": "^0.4.1",
90
90
  "eslint-plugin-vitest-globals": "^1.5.0",
91
- "execa": "^9.3.0",
91
+ "execa": "^9.3.1",
92
92
  "prettier": "^3.3.3",
93
93
  "rimraf": "5.0.9",
94
94
  "secretlint": "8.2.4",
95
- "semantic-release": "^24.0.0",
95
+ "semantic-release": "^24.1.0",
96
96
  "strip-ansi": "^7.1.0",
97
97
  "tempy": "^3.1.0",
98
- "type-fest": "^4.24.0",
98
+ "type-fest": "^4.26.0",
99
99
  "typescript": "5.4.5",
100
100
  "vitest": "^2.0.5"
101
101
  },