@stryke/fs 0.17.0 → 0.18.0

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/dist/index.cjs CHANGED
@@ -58,17 +58,6 @@ Object.keys(_copyFile).forEach(function (key) {
58
58
  }
59
59
  });
60
60
  });
61
- var _getTsconfig = require("./get-tsconfig.cjs");
62
- Object.keys(_getTsconfig).forEach(function (key) {
63
- if (key === "default" || key === "__esModule") return;
64
- if (key in exports && exports[key] === _getTsconfig[key]) return;
65
- Object.defineProperty(exports, key, {
66
- enumerable: true,
67
- get: function () {
68
- return _getTsconfig[key];
69
- }
70
- });
71
- });
72
61
  var _helpers = require("./helpers.cjs");
73
62
  Object.keys(_helpers).forEach(function (key) {
74
63
  if (key === "default" || key === "__esModule") return;
@@ -146,6 +135,17 @@ Object.keys(_semverFns).forEach(function (key) {
146
135
  }
147
136
  });
148
137
  });
138
+ var _tsconfig = require("./tsconfig.cjs");
139
+ Object.keys(_tsconfig).forEach(function (key) {
140
+ if (key === "default" || key === "__esModule") return;
141
+ if (key in exports && exports[key] === _tsconfig[key]) return;
142
+ Object.defineProperty(exports, key, {
143
+ enumerable: true,
144
+ get: function () {
145
+ return _tsconfig[key];
146
+ }
147
+ });
148
+ });
149
149
  var _writeFile = require("./write-file.cjs");
150
150
  Object.keys(_writeFile).forEach(function (key) {
151
151
  if (key === "default" || key === "__esModule") return;
package/dist/index.d.ts CHANGED
@@ -11,7 +11,6 @@ export * from "./command-exists";
11
11
  export * from "./compress";
12
12
  export * from "./constants";
13
13
  export * from "./copy-file";
14
- export * from "./get-tsconfig";
15
14
  export * from "./helpers";
16
15
  export * from "./install";
17
16
  export * from "./list-files";
@@ -19,4 +18,5 @@ export * from "./package-fns";
19
18
  export * from "./read-file";
20
19
  export * from "./remove-file";
21
20
  export * from "./semver-fns";
21
+ export * from "./tsconfig";
22
22
  export * from "./write-file";
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export*from"./chmod-x";export*from"./command-exists";export*from"./compress";export*from"./constants";export*from"./copy-file";export*from"./get-tsconfig";export*from"./helpers";export*from"./install";export*from"./list-files";export*from"./package-fns";export*from"./read-file";export*from"./remove-file";export*from"./semver-fns";export*from"./write-file";
1
+ export*from"./chmod-x";export*from"./command-exists";export*from"./compress";export*from"./constants";export*from"./copy-file";export*from"./helpers";export*from"./install";export*from"./list-files";export*from"./package-fns";export*from"./read-file";export*from"./remove-file";export*from"./semver-fns";export*from"./tsconfig";export*from"./write-file";
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.loadTsConfig = loadTsConfig;
7
+ var _path = require("@stryke/path");
8
+ var _exists = require("@stryke/path/exists");
9
+ var _filePathFns = require("@stryke/path/file-path-fns");
10
+ var _joinPaths = require("@stryke/path/join-paths");
11
+ var _base = require("@stryke/types/base");
12
+ var _defu = _interopRequireDefault(require("defu"));
13
+ var _nodeModule = require("node:module");
14
+ var _readFile = require("./read-file.cjs");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const h = Symbol("singleComment"),
17
+ F = Symbol("multiComment"),
18
+ R = () => "",
19
+ k = (e, t, n) => e.slice(t, n).replace(/\S/g, " "),
20
+ L = (e, t) => {
21
+ let n = t - 1,
22
+ f = 0;
23
+ for (; e[n] === "\\";) n -= 1, f += 1;
24
+ return !!(f % 2);
25
+ },
26
+ $ = (e, {
27
+ whitespace: t = !0,
28
+ trailingCommas: n = !1
29
+ } = {}) => {
30
+ if (typeof e != "string") throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof e}\``);
31
+ const f = t ? k : R;
32
+ let o = !1,
33
+ i = !1,
34
+ r = 0,
35
+ l = "",
36
+ u = "",
37
+ a = -1;
38
+ for (let s = 0; s < e.length; s++) {
39
+ const c = e[s],
40
+ m = e[s + 1];
41
+ !i && c === '"' && (L(e, s) || (o = !o)), !o && (!i && c + (m ?? _base.EMPTY_STRING) === "//" ? (l += e.slice(r, s), r = s, i = h, s++) : i === h && c + (m ?? _base.EMPTY_STRING) === `\r
42
+ ` ? (s++, i = !1, l += f(e, r, s), r = s) : i === h && c === `
43
+ ` ? (i = !1, l += f(e, r, s), r = s) : !i && c + (m ?? _base.EMPTY_STRING) === "/*" ? (l += e.slice(r, s), r = s, i = F, s++) : i === F && c + (m ?? _base.EMPTY_STRING) === "*/" ? (s++, i = !1, l += f(e, r, s + 1), r = s + 1) : n && !i && (a !== -1 ? c === "}" || c === "]" ? (l += e.slice(r, s), u += f(l, 0, 1) + l.slice(1), l = "", r = s, a = -1) : c !== " " && c !== " " && c !== "\r" && c !== `
44
+ ` && (l += e.slice(r, s), r = s, a = -1) : c === "," && (u += l + e.slice(r, s), l = "", r = s, a = s)));
45
+ }
46
+ return u + l + (i ? f(e.slice(r)) : e.slice(r));
47
+ },
48
+ v = e => {
49
+ try {
50
+ return new Function(`return ${$(e).trim()}`)();
51
+ } catch {
52
+ return {};
53
+ }
54
+ },
55
+ A = (0, _nodeModule.createRequire)(require('url').pathToFileURL(__filename).toString());
56
+ function J(e, t) {
57
+ if ((0, _path.isAbsolutePath)(t)) return (0, _exists.existsSync)(t) ? t : null;
58
+ const n = t.endsWith(".json") ? t : `${t}.json`;
59
+ return (0, _exists.existsSync)((0, _joinPaths.joinPaths)(e, n)) ? (0, _joinPaths.joinPaths)(e, n) : (0, _path.getParentPath)(n, e, {
60
+ ignoreCase: !0,
61
+ skipCwd: !0,
62
+ targetType: "file"
63
+ });
64
+ }
65
+ function O(e, t) {
66
+ if ((0, _path.isAbsolutePath)(t)) return (0, _exists.existsSync)(t) ? t : null;
67
+ const n = t.endsWith(".json") ? t : `${t}.json`;
68
+ return (0, _exists.existsSync)((0, _joinPaths.joinPaths)(e, n)) ? (0, _joinPaths.joinPaths)(e, n) : n.startsWith(".") ? (0, _path.getParentPath)((0, _filePathFns.findFileName)(n), e, {
69
+ ignoreCase: !0,
70
+ skipCwd: !1,
71
+ targetType: "file"
72
+ }) : A.resolve(t, {
73
+ paths: [e]
74
+ });
75
+ }
76
+ function W(e, t, n = !1) {
77
+ const f = n ? O((0, _path.slash)(e), t) : J((0, _path.slash)(e), t);
78
+ if (!f) return null;
79
+ let o = v((0, _readFile.readFileSync)(f));
80
+ const i = (0, _filePathFns.findFilePath)(f);
81
+ o?.compilerOptions?.baseUrl && (o.compilerOptions.baseUrl = (0, _joinPaths.joinPaths)(i, o.compilerOptions.baseUrl));
82
+ const r = [];
83
+ if (o.extends) {
84
+ const l = Array.isArray(o.extends) ? o.extends : [o.extends];
85
+ for (const u of l) {
86
+ const a = W(i, u, !0);
87
+ a && (o = (0, _defu.default)(o, a.data ?? {}), r.push(...a.files));
88
+ }
89
+ }
90
+ return o.extends = void 0, {
91
+ path: f,
92
+ data: o,
93
+ files: [...r, f]
94
+ };
95
+ }
96
+ function loadTsConfig(e, t) {
97
+ return W((0, _filePathFns.findFilePath)(e) ? (0, _filePathFns.findFilePath)(e) : process.cwd(), t ? (0, _filePathFns.findFileName)(t) : "tsconfig.json");
98
+ }
@@ -0,0 +1,14 @@
1
+ import type { TsConfigJson } from "@stryke/types/tsconfig";
2
+ export interface LoadTsConfigResult {
3
+ path: string;
4
+ data: TsConfigJson;
5
+ files: string[];
6
+ }
7
+ /**
8
+ * Loads a tsconfig.json file and returns the parsed JSON object.
9
+ *
10
+ * @param filePath - The directory to start searching for the tsconfig.json file.
11
+ * @param fileName - The name of the tsconfig.json file.
12
+ * @returns The parsed JSON object.
13
+ */
14
+ export declare function loadTsConfig(filePath: string, fileName?: string): LoadTsConfigResult | null;
@@ -0,0 +1,4 @@
1
+ import{getParentPath as y,isAbsolutePath as b,slash as T}from"@stryke/path";import{existsSync as g}from"@stryke/path/exists";import{findFileName as x,findFilePath as C}from"@stryke/path/file-path-fns";import{joinPaths as p}from"@stryke/path/join-paths";import{EMPTY_STRING as d}from"@stryke/types/base";import P from"defu";import{createRequire as E}from"node:module";import{readFileSync as I}from"./read-file";const h=Symbol("singleComment"),F=Symbol("multiComment"),R=()=>"",k=(e,t,n)=>e.slice(t,n).replace(/\S/g," "),L=(e,t)=>{let n=t-1,f=0;for(;e[n]==="\\";)n-=1,f+=1;return!!(f%2)},$=(e,{whitespace:t=!0,trailingCommas:n=!1}={})=>{if(typeof e!="string")throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof e}\``);const f=t?k:R;let o=!1,i=!1,r=0,l="",u="",a=-1;for(let s=0;s<e.length;s++){const c=e[s],m=e[s+1];!i&&c==='"'&&(L(e,s)||(o=!o)),!o&&(!i&&c+(m??d)==="//"?(l+=e.slice(r,s),r=s,i=h,s++):i===h&&c+(m??d)===`\r
2
+ `?(s++,i=!1,l+=f(e,r,s),r=s):i===h&&c===`
3
+ `?(i=!1,l+=f(e,r,s),r=s):!i&&c+(m??d)==="/*"?(l+=e.slice(r,s),r=s,i=F,s++):i===F&&c+(m??d)==="*/"?(s++,i=!1,l+=f(e,r,s+1),r=s+1):n&&!i&&(a!==-1?c==="}"||c==="]"?(l+=e.slice(r,s),u+=f(l,0,1)+l.slice(1),l="",r=s,a=-1):c!==" "&&c!==" "&&c!=="\r"&&c!==`
4
+ `&&(l+=e.slice(r,s),r=s,a=-1):c===","&&(u+=l+e.slice(r,s),l="",r=s,a=s)))}return u+l+(i?f(e.slice(r)):e.slice(r))},v=e=>{try{return new Function(`return ${$(e).trim()}`)()}catch{return{}}},A=E(import.meta.url);function J(e,t){if(b(t))return g(t)?t:null;const n=t.endsWith(".json")?t:`${t}.json`;return g(p(e,n))?p(e,n):y(n,e,{ignoreCase:!0,skipCwd:!0,targetType:"file"})}function O(e,t){if(b(t))return g(t)?t:null;const n=t.endsWith(".json")?t:`${t}.json`;return g(p(e,n))?p(e,n):n.startsWith(".")?y(x(n),e,{ignoreCase:!0,skipCwd:!1,targetType:"file"}):A.resolve(t,{paths:[e]})}function W(e,t,n=!1){const f=n?O(T(e),t):J(T(e),t);if(!f)return null;let o=v(I(f));const i=C(f);o?.compilerOptions?.baseUrl&&(o.compilerOptions.baseUrl=p(i,o.compilerOptions.baseUrl));const r=[];if(o.extends){const l=Array.isArray(o.extends)?o.extends:[o.extends];for(const u of l){const a=W(i,u,!0);a&&(o=P(o,a.data??{}),r.push(...a.files))}}return o.extends=void 0,{path:f,data:o,files:[...r,f]}}export function loadTsConfig(e,t){return W(C(e)?C(e):process.cwd(),t?x(t):"tsconfig.json")}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stryke/fs",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "type": "module",
5
5
  "description": "A package containing various file system utilities that expand the functionality of NodeJs's built-in `fs` module.",
6
6
  "repository": {
@@ -90,6 +90,20 @@
90
90
  "default": "./dist/write-file.mjs"
91
91
  }
92
92
  },
93
+ "./tsconfig": {
94
+ "import": {
95
+ "types": "./dist/tsconfig.d.ts",
96
+ "default": "./dist/tsconfig.mjs"
97
+ },
98
+ "require": {
99
+ "types": "./dist/tsconfig.d.ts",
100
+ "default": "./dist/tsconfig.cjs"
101
+ },
102
+ "default": {
103
+ "types": "./dist/tsconfig.d.ts",
104
+ "default": "./dist/tsconfig.mjs"
105
+ }
106
+ },
93
107
  "./semver-fns": {
94
108
  "import": {
95
109
  "types": "./dist/semver-fns.d.ts",
@@ -196,20 +210,6 @@
196
210
  "default": "./dist/helpers.mjs"
197
211
  }
198
212
  },
199
- "./get-tsconfig": {
200
- "import": {
201
- "types": "./dist/get-tsconfig.d.ts",
202
- "default": "./dist/get-tsconfig.mjs"
203
- },
204
- "require": {
205
- "types": "./dist/get-tsconfig.d.ts",
206
- "default": "./dist/get-tsconfig.cjs"
207
- },
208
- "default": {
209
- "types": "./dist/get-tsconfig.d.ts",
210
- "default": "./dist/get-tsconfig.mjs"
211
- }
212
- },
213
213
  "./copy-file": {
214
214
  "import": {
215
215
  "types": "./dist/copy-file.d.ts",
@@ -1,112 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.loadTsConfigFile = exports.loadTsConfig = void 0;
7
- var _exists = require("@stryke/path/exists");
8
- var _filePathFns = require("@stryke/path/file-path-fns");
9
- var _joinPaths = require("@stryke/path/join-paths");
10
- var _base = require("@stryke/types/base");
11
- var _nodeModule = require("node:module");
12
- var _nodePath = _interopRequireDefault(require("node:path"));
13
- var _readFile = require("./read-file.cjs");
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- const g = Symbol("singleComment"),
16
- y = Symbol("multiComment"),
17
- E = () => "",
18
- w = (e, i, c) => e.slice(i, c).replace(/\S/g, " "),
19
- I = (e, i) => {
20
- let c = i - 1,
21
- l = 0;
22
- for (; e[c] === "\\";) c -= 1, l += 1;
23
- return !!(l % 2);
24
- },
25
- A = (e, {
26
- whitespace: i = !0,
27
- trailingCommas: c = !1
28
- } = {}) => {
29
- if (typeof e != "string") throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof e}\``);
30
- const l = i ? w : E;
31
- let f = !1,
32
- o = !1,
33
- n = 0,
34
- s = "",
35
- m = "",
36
- a = -1;
37
- for (let t = 0; t < e.length; t++) {
38
- const r = e[t],
39
- u = e[t + 1];
40
- !o && r === '"' && (I(e, t) || (f = !f)), !f && (!o && r + (u ?? _base.EMPTY_STRING) === "//" ? (s += e.slice(n, t), n = t, o = g, t++) : o === g && r + (u ?? _base.EMPTY_STRING) === `\r
41
- ` ? (t++, o = !1, s += l(e, n, t), n = t) : o === g && r === `
42
- ` ? (o = !1, s += l(e, n, t), n = t) : !o && r + (u ?? _base.EMPTY_STRING) === "/*" ? (s += e.slice(n, t), n = t, o = y, t++) : o === y && r + (u ?? _base.EMPTY_STRING) === "*/" ? (t++, o = !1, s += l(e, n, t + 1), n = t + 1) : c && !o && (a !== -1 ? r === "}" || r === "]" ? (s += e.slice(n, t), m += l(s, 0, 1) + s.slice(1), s = "", n = t, a = -1) : r !== " " && r !== " " && r !== "\r" && r !== `
43
- ` && (s += e.slice(n, t), n = t, a = -1) : r === "," && (m += s + e.slice(n, t), s = "", n = t, a = t)));
44
- }
45
- return m + s + (o ? l(e.slice(n)) : e.slice(n));
46
- },
47
- P = e => {
48
- try {
49
- return new Function(`return ${A(e).trim()}`)();
50
- } catch {
51
- return {};
52
- }
53
- },
54
- U = (0, _nodeModule.createRequire)(require('url').pathToFileURL(__filename).toString()),
55
- C = (e, i, c = _nodePath.default.parse(i).root) => {
56
- let l = i;
57
- for (; l !== c;) {
58
- const f = (0, _joinPaths.joinPaths)(l, e);
59
- if ((0, _exists.existsSync)(f)) return f;
60
- if (!f.endsWith(".json")) {
61
- const o = `${f}.json`;
62
- if ((0, _exists.existsSync)(o)) return o;
63
- }
64
- l = _nodePath.default.dirname(l);
65
- }
66
- return null;
67
- },
68
- _ = (e, i) => _nodePath.default.isAbsolute(i) ? (0, _exists.existsSync)(i) ? i : null : C(i, e),
69
- $ = (e, i) => _nodePath.default.isAbsolute(i) ? (0, _exists.existsSync)(i) ? i : null : i.startsWith(".") ? C(i, e) : U.resolve(i, {
70
- paths: [e]
71
- }),
72
- O = (e = process.cwd(), i = "tsconfig.json", c = !1) => {
73
- let l, f;
74
- const o = _nodePath.default.resolve(e),
75
- n = c ? $(o, i) : _(o, i);
76
- if (!n) return null;
77
- const s = P((0, _readFile.readFileSync)(n)),
78
- m = _nodePath.default.dirname(n);
79
- (l = s.compilerOptions) !== null && l.baseUrl && (s.compilerOptions.baseUrl = (0, _joinPaths.joinPaths)(m, s.compilerOptions.baseUrl));
80
- const a = [];
81
- if (s.extends) {
82
- const t = Array.isArray(s.extends) ? s.extends : [s.extends],
83
- r = {};
84
- for (const u of t) {
85
- const p = O(m, u, !0);
86
- p && (Object.assign(r, {
87
- ...(p === null ? void 0 : p.data),
88
- compilerOptions: {
89
- ...r.compilerOptions,
90
- ...((f = p === null ? void 0 : p.data) === null ? void 0 : f.compilerOptions)
91
- }
92
- }), a.push(...p.files));
93
- }
94
- Object.assign(s, {
95
- ...r,
96
- ...s,
97
- compilerOptions: {
98
- ...r.compilerOptions,
99
- ...s.compilerOptions
100
- }
101
- });
102
- }
103
- return s.extends = void 0, {
104
- path: n,
105
- data: s,
106
- files: [...a, n]
107
- };
108
- };
109
- const loadTsConfig = (e, i = "tsconfig.json") => O(e, i),
110
- loadTsConfigFile = e => loadTsConfig((0, _filePathFns.findFilePath)(e), (0, _filePathFns.findFileName)(e));
111
- exports.loadTsConfigFile = loadTsConfigFile;
112
- exports.loadTsConfig = loadTsConfig;
@@ -1,23 +0,0 @@
1
- /**
2
- * Loads a tsconfig.json file and returns the parsed JSON object.
3
- *
4
- * @param dir - The directory to start searching for the tsconfig.json file.
5
- * @param name - The name of the tsconfig.json file.
6
- * @returns The parsed JSON object.
7
- */
8
- export declare const loadTsConfig: (dir: string, name?: string) => {
9
- path: any;
10
- data: any;
11
- files: any[];
12
- } | null;
13
- /**
14
- * Loads a tsconfig.json file and returns the parsed JSON object.
15
- *
16
- * @param name - The name/path of the tsconfig.json file.
17
- * @returns The parsed JSON object.
18
- */
19
- export declare const loadTsConfigFile: (file: string) => {
20
- path: any;
21
- data: any;
22
- files: any[];
23
- } | null;
@@ -1,4 +0,0 @@
1
- import{existsSync as h}from"@stryke/path/exists";import{findFileName as F,findFilePath as v}from"@stryke/path/file-path-fns";import{joinPaths as x}from"@stryke/path/join-paths";import{EMPTY_STRING as b}from"@stryke/types/base";import{createRequire as T}from"node:module";import d from"node:path";import{readFileSync as W}from"./read-file";const g=Symbol("singleComment"),y=Symbol("multiComment"),E=()=>"",w=(e,i,c)=>e.slice(i,c).replace(/\S/g," "),I=(e,i)=>{let c=i-1,l=0;for(;e[c]==="\\";)c-=1,l+=1;return!!(l%2)},A=(e,{whitespace:i=!0,trailingCommas:c=!1}={})=>{if(typeof e!="string")throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof e}\``);const l=i?w:E;let f=!1,o=!1,n=0,s="",m="",a=-1;for(let t=0;t<e.length;t++){const r=e[t],u=e[t+1];!o&&r==='"'&&(I(e,t)||(f=!f)),!f&&(!o&&r+(u??b)==="//"?(s+=e.slice(n,t),n=t,o=g,t++):o===g&&r+(u??b)===`\r
2
- `?(t++,o=!1,s+=l(e,n,t),n=t):o===g&&r===`
3
- `?(o=!1,s+=l(e,n,t),n=t):!o&&r+(u??b)==="/*"?(s+=e.slice(n,t),n=t,o=y,t++):o===y&&r+(u??b)==="*/"?(t++,o=!1,s+=l(e,n,t+1),n=t+1):c&&!o&&(a!==-1?r==="}"||r==="]"?(s+=e.slice(n,t),m+=l(s,0,1)+s.slice(1),s="",n=t,a=-1):r!==" "&&r!==" "&&r!=="\r"&&r!==`
4
- `&&(s+=e.slice(n,t),n=t,a=-1):r===","&&(m+=s+e.slice(n,t),s="",n=t,a=t)))}return m+s+(o?l(e.slice(n)):e.slice(n))},P=e=>{try{return new Function(`return ${A(e).trim()}`)()}catch{return{}}},U=T(import.meta.url),C=(e,i,c=d.parse(i).root)=>{let l=i;for(;l!==c;){const f=x(l,e);if(h(f))return f;if(!f.endsWith(".json")){const o=`${f}.json`;if(h(o))return o}l=d.dirname(l)}return null},_=(e,i)=>d.isAbsolute(i)?h(i)?i:null:C(i,e),$=(e,i)=>d.isAbsolute(i)?h(i)?i:null:i.startsWith(".")?C(i,e):U.resolve(i,{paths:[e]}),O=(e=process.cwd(),i="tsconfig.json",c=!1)=>{let l,f;const o=d.resolve(e),n=c?$(o,i):_(o,i);if(!n)return null;const s=P(W(n)),m=d.dirname(n);(l=s.compilerOptions)!==null&&l.baseUrl&&(s.compilerOptions.baseUrl=x(m,s.compilerOptions.baseUrl));const a=[];if(s.extends){const t=Array.isArray(s.extends)?s.extends:[s.extends],r={};for(const u of t){const p=O(m,u,!0);p&&(Object.assign(r,{...p===null?void 0:p.data,compilerOptions:{...r.compilerOptions,...(f=p===null?void 0:p.data)===null?void 0:f.compilerOptions}}),a.push(...p.files))}Object.assign(s,{...r,...s,compilerOptions:{...r.compilerOptions,...s.compilerOptions}})}return s.extends=void 0,{path:n,data:s,files:[...a,n]}};export const loadTsConfig=(e,i="tsconfig.json")=>O(e,i),loadTsConfigFile=e=>loadTsConfig(v(e),F(e));