@stryke/fs 0.19.0 → 0.20.1
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/package-fns.cjs +29 -42
- package/dist/package-fns.d.ts +2 -16
- package/dist/package-fns.mjs +1 -1
- package/dist/tsconfig.cjs +12 -107
- package/dist/tsconfig.d.ts +1 -15
- package/dist/tsconfig.mjs +1 -4
- package/package.json +3 -2
package/dist/package-fns.cjs
CHANGED
|
@@ -4,19 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getPackageInfo = getPackageInfo;
|
|
7
|
-
exports.getPackageInfoSync = getPackageInfoSync;
|
|
8
7
|
exports.getPackageManager = getPackageManager;
|
|
9
8
|
exports.isPackageExists = isPackageExists;
|
|
10
9
|
exports.isPackageListed = isPackageListed;
|
|
11
|
-
exports.
|
|
12
|
-
var _stormJson = require("@stryke/json/storm-json");
|
|
10
|
+
exports.loadPackageJson = loadPackageJson;
|
|
13
11
|
var _path = require("@stryke/path");
|
|
14
12
|
var _getParentPath = require("@stryke/path/get-parent-path");
|
|
15
13
|
var _getWorkspaceRoot = require("@stryke/path/get-workspace-root");
|
|
16
14
|
var _resolve = require("@stryke/path/resolve");
|
|
15
|
+
var _nodeFs = require("node:fs");
|
|
17
16
|
var _readFile = require("./read-file.cjs");
|
|
18
|
-
function getPackageManager(
|
|
19
|
-
const n = (0, _getParentPath.getParentPath)(["package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lock"],
|
|
17
|
+
function getPackageManager(a = (0, _getWorkspaceRoot.getWorkspaceRoot)()) {
|
|
18
|
+
const n = (0, _getParentPath.getParentPath)(["package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lock"], a);
|
|
20
19
|
if (!n) return "pnpm";
|
|
21
20
|
switch ((0, _path.findFileName)(n)) {
|
|
22
21
|
case "yarn.lock":
|
|
@@ -29,56 +28,44 @@ function getPackageManager(e = (0, _getWorkspaceRoot.getWorkspaceRoot)()) {
|
|
|
29
28
|
return "npm";
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
|
-
async function
|
|
31
|
+
async function f(a) {
|
|
33
32
|
let n;
|
|
34
33
|
for (;;) {
|
|
35
|
-
if (!
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
if (
|
|
34
|
+
if (!a) return;
|
|
35
|
+
const e = (0, _path.findFilePath)(a);
|
|
36
|
+
if (e === a) return;
|
|
37
|
+
if (a = e, n = (0, _path.joinPaths)(a, "package.json"), await (0, _path.exists)(n)) break;
|
|
39
38
|
}
|
|
40
39
|
return n;
|
|
41
40
|
}
|
|
42
|
-
async function
|
|
43
|
-
const
|
|
44
|
-
if (
|
|
41
|
+
async function u(a, n = {}) {
|
|
42
|
+
const e = await (0, _resolve.resolvePackage)(a, n);
|
|
43
|
+
if (e) return f(e);
|
|
45
44
|
}
|
|
46
|
-
async function getPackageInfo(
|
|
47
|
-
const
|
|
48
|
-
if (!
|
|
49
|
-
const t =
|
|
45
|
+
async function getPackageInfo(a, n = {}) {
|
|
46
|
+
const e = await u(a, n);
|
|
47
|
+
if (!e) return;
|
|
48
|
+
const t = await (0, _readFile.readJsonFile)(e);
|
|
50
49
|
return {
|
|
51
|
-
name:
|
|
50
|
+
name: a,
|
|
52
51
|
version: t.version,
|
|
53
|
-
rootPath: (0, _path.findFilePath)(
|
|
54
|
-
packageJsonPath:
|
|
52
|
+
rootPath: (0, _path.findFilePath)(e),
|
|
53
|
+
packageJsonPath: e,
|
|
55
54
|
packageJson: t
|
|
56
55
|
};
|
|
57
56
|
}
|
|
58
|
-
async function
|
|
59
|
-
const
|
|
60
|
-
if (!a) return;
|
|
61
|
-
const t = _stormJson.StormJSON.parse(await (0, _readFile.readFile)(a));
|
|
62
|
-
return {
|
|
63
|
-
name: e,
|
|
64
|
-
version: t.version,
|
|
65
|
-
rootPath: (0, _path.findFilePath)(a),
|
|
66
|
-
packageJsonPath: a,
|
|
67
|
-
packageJson: t
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
async function loadPackageJSON(e = (0, _getWorkspaceRoot.getWorkspaceRoot)()) {
|
|
71
|
-
const n = (0, _getParentPath.getParentPath)("package.json", e, {
|
|
57
|
+
async function loadPackageJson(a = (0, _getWorkspaceRoot.getWorkspaceRoot)()) {
|
|
58
|
+
const n = (0, _getParentPath.getParentPath)("package.json", a, {
|
|
72
59
|
skipCwd: !1
|
|
73
60
|
});
|
|
74
|
-
return !n || !(
|
|
61
|
+
return !n || !(0, _nodeFs.existsSync)(n) ? null : (0, _readFile.readJsonFile)(n);
|
|
75
62
|
}
|
|
76
|
-
async function isPackageListed(
|
|
77
|
-
let
|
|
78
|
-
|
|
79
|
-
const t = (await
|
|
80
|
-
return
|
|
63
|
+
async function isPackageListed(a, n) {
|
|
64
|
+
let e = a;
|
|
65
|
+
e.includes("@") && (e = !e.startsWith("@") || e.lastIndexOf("@") > 0 ? e.slice(0, e.lastIndexOf("@")) : e);
|
|
66
|
+
const t = (await loadPackageJson(n)) ?? {};
|
|
67
|
+
return e in (t.dependencies ?? {}) || e in (t.devDependencies ?? {});
|
|
81
68
|
}
|
|
82
|
-
function isPackageExists(
|
|
83
|
-
return !!(0, _resolve.resolvePackage)(
|
|
69
|
+
function isPackageExists(a, n = {}) {
|
|
70
|
+
return !!(0, _resolve.resolvePackage)(a, n);
|
|
84
71
|
}
|
package/dist/package-fns.d.ts
CHANGED
|
@@ -19,21 +19,7 @@ export declare function getPackageInfo(name: string, options?: PackageResolvingO
|
|
|
19
19
|
version: any;
|
|
20
20
|
rootPath: any;
|
|
21
21
|
packageJsonPath: any;
|
|
22
|
-
packageJson:
|
|
23
|
-
} | undefined>;
|
|
24
|
-
/**
|
|
25
|
-
* Get package info synchronously
|
|
26
|
-
*
|
|
27
|
-
* @param name - The name of the package
|
|
28
|
-
* @param options - The options to use when resolving the package
|
|
29
|
-
* @returns The package info
|
|
30
|
-
*/
|
|
31
|
-
export declare function getPackageInfoSync(name: string, options?: PackageResolvingOptions): Promise<{
|
|
32
|
-
name: string;
|
|
33
|
-
version: any;
|
|
34
|
-
rootPath: any;
|
|
35
|
-
packageJsonPath: any;
|
|
36
|
-
packageJson: any;
|
|
22
|
+
packageJson: PackageJson;
|
|
37
23
|
} | undefined>;
|
|
38
24
|
/**
|
|
39
25
|
* Get the package info from the package.json file
|
|
@@ -41,7 +27,7 @@ export declare function getPackageInfoSync(name: string, options?: PackageResolv
|
|
|
41
27
|
* @param cwd - The current working directory
|
|
42
28
|
* @returns The package info
|
|
43
29
|
*/
|
|
44
|
-
export declare function
|
|
30
|
+
export declare function loadPackageJson(cwd?: any): Promise<PackageJson | null>;
|
|
45
31
|
/**
|
|
46
32
|
* Check if a package is listed in the package.json file
|
|
47
33
|
*
|
package/dist/package-fns.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{exists as p,findFileName as g,findFilePath as o,joinPaths as k}from"@stryke/path";import{getParentPath as r}from"@stryke/path/get-parent-path";import{getWorkspaceRoot as s}from"@stryke/path/get-workspace-root";import{resolvePackage as i}from"@stryke/path/resolve";import{existsSync as l}from"node:fs";import{readJsonFile as c}from"./read-file";export function getPackageManager(a=s()){const n=r(["package-lock.json","yarn.lock","pnpm-lock.yaml","bun.lock"],a);if(!n)return"pnpm";switch(g(n)){case"yarn.lock":return"yarn";case"pnpm-lock.yaml":return"pnpm";case"bun.lock":return"bun";default:return"npm"}}async function f(a){let n;for(;;){if(!a)return;const e=o(a);if(e===a)return;if(a=e,n=k(a,"package.json"),await p(n))break}return n}async function u(a,n={}){const e=await i(a,n);if(e)return f(e)}export async function getPackageInfo(a,n={}){const e=await u(a,n);if(!e)return;const t=await c(e);return{name:a,version:t.version,rootPath:o(e),packageJsonPath:e,packageJson:t}}export async function loadPackageJson(a=s()){const n=r("package.json",a,{skipCwd:!1});return!n||!l(n)?null:c(n)}export async function isPackageListed(a,n){let e=a;e.includes("@")&&(e=!e.startsWith("@")||e.lastIndexOf("@")>0?e.slice(0,e.lastIndexOf("@")):e);const t=await loadPackageJson(n)??{};return e in(t.dependencies??{})||e in(t.devDependencies??{})}export function isPackageExists(a,n={}){return!!i(a,n)}
|
package/dist/tsconfig.cjs
CHANGED
|
@@ -4,119 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.loadTsConfig = loadTsConfig;
|
|
7
|
-
exports.loadTsConfigSync = loadTsConfigSync;
|
|
8
|
-
var _path = require("@stryke/path");
|
|
9
7
|
var _exists = require("@stryke/path/exists");
|
|
10
8
|
var _filePathFns = require("@stryke/path/file-path-fns");
|
|
11
9
|
var _joinPaths = require("@stryke/path/join-paths");
|
|
12
|
-
var _base = require("@stryke/types/base");
|
|
13
10
|
var _defu = _interopRequireDefault(require("defu"));
|
|
14
|
-
var
|
|
11
|
+
var _jiti = require("jiti");
|
|
15
12
|
var _readFile = require("./read-file.cjs");
|
|
16
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
for (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
v = (e, {
|
|
28
|
-
whitespace: t = !0,
|
|
29
|
-
trailingCommas: o = !1
|
|
30
|
-
} = {}) => {
|
|
31
|
-
if (typeof e != "string") throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof e}\``);
|
|
32
|
-
const i = t ? k : E;
|
|
33
|
-
let s = !1,
|
|
34
|
-
l = !1,
|
|
35
|
-
r = 0,
|
|
36
|
-
f = "",
|
|
37
|
-
u = "",
|
|
38
|
-
c = -1;
|
|
39
|
-
for (let n = 0; n < e.length; n++) {
|
|
40
|
-
const a = e[n],
|
|
41
|
-
m = e[n + 1];
|
|
42
|
-
!l && a === '"' && ($(e, n) || (s = !s)), !s && (!l && a + (m ?? _base.EMPTY_STRING) === "//" ? (f += e.slice(r, n), r = n, l = x, n++) : l === x && a + (m ?? _base.EMPTY_STRING) === `\r
|
|
43
|
-
` ? (n++, l = !1, f += i(e, r, n), r = n) : l === x && a === `
|
|
44
|
-
` ? (l = !1, f += i(e, r, n), r = n) : !l && a + (m ?? _base.EMPTY_STRING) === "/*" ? (f += e.slice(r, n), r = n, l = L, n++) : l === L && a + (m ?? _base.EMPTY_STRING) === "*/" ? (n++, l = !1, f += i(e, r, n + 1), r = n + 1) : o && !l && (c !== -1 ? a === "}" || a === "]" ? (f += e.slice(r, n), u += i(f, 0, 1) + f.slice(1), f = "", r = n, c = -1) : a !== " " && a !== " " && a !== "\r" && a !== `
|
|
45
|
-
` && (f += e.slice(r, n), r = n, c = -1) : a === "," && (u += f + e.slice(r, n), f = "", r = n, c = n)));
|
|
46
|
-
}
|
|
47
|
-
return u + f + (l ? i(e.slice(r)) : e.slice(r));
|
|
48
|
-
},
|
|
49
|
-
P = e => {
|
|
50
|
-
try {
|
|
51
|
-
return new Function(`return ${v(e).trim()}`)();
|
|
52
|
-
} catch {
|
|
53
|
-
return {};
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
J = (0, _nodeModule.createRequire)(require('url').pathToFileURL(__filename).toString());
|
|
57
|
-
function R(e, t) {
|
|
58
|
-
if ((0, _path.isAbsolutePath)(t)) return (0, _exists.existsSync)(t) ? t : null;
|
|
59
|
-
const o = t.endsWith(".json") ? t : `${t}.json`;
|
|
60
|
-
return (0, _exists.existsSync)((0, _joinPaths.joinPaths)(e, o)) ? (0, _joinPaths.joinPaths)(e, o) : (0, _path.getParentPath)(o, e, {
|
|
61
|
-
ignoreCase: !0,
|
|
62
|
-
skipCwd: !0,
|
|
63
|
-
targetType: "file"
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function W(e, t) {
|
|
67
|
-
if ((0, _path.isAbsolutePath)(t)) return (0, _exists.existsSync)(t) ? t : null;
|
|
68
|
-
const o = t.endsWith(".json") ? t : `${t}.json`;
|
|
69
|
-
return (0, _exists.existsSync)((0, _joinPaths.joinPaths)(e, o)) ? (0, _joinPaths.joinPaths)(e, o) : o.startsWith(".") ? (0, _path.getParentPath)((0, _filePathFns.findFileName)(o), e, {
|
|
70
|
-
ignoreCase: !0,
|
|
71
|
-
skipCwd: !1,
|
|
72
|
-
targetType: "file"
|
|
73
|
-
}) : J.resolve(t, {
|
|
74
|
-
paths: [e]
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
async function I(e, t, o = !1) {
|
|
78
|
-
const i = o ? W((0, _path.slash)(e), t) : R((0, _path.slash)(e), t);
|
|
79
|
-
if (!i) return null;
|
|
80
|
-
let s = P(await (0, _readFile.readFile)(i));
|
|
81
|
-
const l = (0, _filePathFns.findFilePath)(i);
|
|
82
|
-
s?.compilerOptions?.baseUrl && (s.compilerOptions.baseUrl = (0, _joinPaths.joinPaths)(l, s.compilerOptions.baseUrl));
|
|
83
|
-
const r = [];
|
|
84
|
-
if (s.extends) {
|
|
85
|
-
const f = Array.isArray(s.extends) ? s.extends : [s.extends];
|
|
86
|
-
for (const u of f) {
|
|
87
|
-
const c = await I(l, u, !0);
|
|
88
|
-
c && (s = (0, _defu.default)(s, c.data ?? {}), r.push(...c.files));
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return s.extends = void 0, {
|
|
92
|
-
path: i,
|
|
93
|
-
data: s,
|
|
94
|
-
files: [...r, i]
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
function O(e, t, o = !1) {
|
|
98
|
-
const i = o ? W((0, _path.slash)(e), t) : R((0, _path.slash)(e), t);
|
|
99
|
-
if (!i) return null;
|
|
100
|
-
let s = P((0, _readFile.readFileSync)(i));
|
|
101
|
-
const l = (0, _filePathFns.findFilePath)(i);
|
|
102
|
-
s?.compilerOptions?.baseUrl && (s.compilerOptions.baseUrl = (0, _joinPaths.joinPaths)(l, s.compilerOptions.baseUrl));
|
|
103
|
-
const r = [];
|
|
104
|
-
if (s.extends) {
|
|
105
|
-
const f = Array.isArray(s.extends) ? s.extends : [s.extends];
|
|
106
|
-
for (const u of f) {
|
|
107
|
-
const c = O(l, u, !0);
|
|
108
|
-
c && (s = (0, _defu.default)(s, c.data ?? {}), r.push(...c.files));
|
|
14
|
+
const d = (0, _jiti.createJiti)(require('url').pathToFileURL(__filename).toString());
|
|
15
|
+
async function loadTsConfig(s = process.cwd()) {
|
|
16
|
+
let e = s.endsWith(".json") ? s : (0, _joinPaths.joinPaths)(s, "tsconfig.json");
|
|
17
|
+
if (!(0, _exists.existsSync)(e) && (e = d.esmResolve(s), !(0, _exists.existsSync)(e))) throw new Error(`tsconfig.json not found at ${e}. Please ensure the file exists.`);
|
|
18
|
+
let o = await (0, _readFile.readJsonFile)(e);
|
|
19
|
+
if (o?.compilerOptions?.baseUrl && (o.compilerOptions.baseUrl = (0, _joinPaths.joinPaths)((0, _filePathFns.findFilePath)(e), o.compilerOptions.baseUrl)), o?.extends) {
|
|
20
|
+
const f = Array.isArray(o.extends) ? o.extends : [o.extends];
|
|
21
|
+
for (const m of f) {
|
|
22
|
+
const i = await loadTsConfig((0, _joinPaths.joinPaths)((0, _filePathFns.findFilePath)(e), m));
|
|
23
|
+
i && (o = (0, _defu.default)(o, i ?? {}));
|
|
109
24
|
}
|
|
110
25
|
}
|
|
111
|
-
return
|
|
112
|
-
path: i,
|
|
113
|
-
data: s,
|
|
114
|
-
files: [...r, i]
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
async function loadTsConfig(e, t) {
|
|
118
|
-
return I((0, _filePathFns.findFilePath)(e) ? (0, _filePathFns.findFilePath)(e) : process.cwd(), t ? (0, _filePathFns.findFileName)(t) : "tsconfig.json");
|
|
119
|
-
}
|
|
120
|
-
function loadTsConfigSync(e, t) {
|
|
121
|
-
return O((0, _filePathFns.findFilePath)(e) ? (0, _filePathFns.findFilePath)(e) : process.cwd(), t ? (0, _filePathFns.findFileName)(t) : "tsconfig.json");
|
|
26
|
+
return o.extends = void 0, o;
|
|
122
27
|
}
|
package/dist/tsconfig.d.ts
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
1
|
import type { TsConfigJson } from "@stryke/types/tsconfig";
|
|
2
|
-
export interface LoadTsConfigResult {
|
|
3
|
-
path: string;
|
|
4
|
-
data: TsConfigJson;
|
|
5
|
-
files: string[];
|
|
6
|
-
}
|
|
7
2
|
/**
|
|
8
3
|
* Loads a tsconfig.json file and returns the parsed JSON object.
|
|
9
4
|
*
|
|
10
5
|
* @param filePath - The directory to start searching for the tsconfig.json file.
|
|
11
|
-
* @param fileName - The name of the tsconfig.json file.
|
|
12
6
|
* @returns The parsed tsconfig.json object or null if not found.
|
|
13
7
|
*/
|
|
14
|
-
export declare function loadTsConfig(filePath
|
|
15
|
-
/**
|
|
16
|
-
* Synchronously loads a tsconfig.json file and returns the parsed JSON object.
|
|
17
|
-
*
|
|
18
|
-
* @param filePath - The directory to start searching for the tsconfig.json file.
|
|
19
|
-
* @param fileName - The name of the tsconfig.json file.
|
|
20
|
-
* @returns The parsed tsconfig.json object or null if not found.
|
|
21
|
-
*/
|
|
22
|
-
export declare function loadTsConfigSync(filePath: string, fileName?: string): LoadTsConfigResult | null;
|
|
8
|
+
export declare function loadTsConfig(filePath?: string): Promise<TsConfigJson>;
|
package/dist/tsconfig.mjs
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`?(n++,l=!1,f+=i(e,r,n),r=n):l===x&&a===`
|
|
3
|
-
`?(l=!1,f+=i(e,r,n),r=n):!l&&a+(m??h)==="/*"?(f+=e.slice(r,n),r=n,l=L,n++):l===L&&a+(m??h)==="*/"?(n++,l=!1,f+=i(e,r,n+1),r=n+1):o&&!l&&(c!==-1?a==="}"||a==="]"?(f+=e.slice(r,n),u+=i(f,0,1)+f.slice(1),f="",r=n,c=-1):a!==" "&&a!==" "&&a!=="\r"&&a!==`
|
|
4
|
-
`&&(f+=e.slice(r,n),r=n,c=-1):a===","&&(u+=f+e.slice(r,n),f="",r=n,c=n)))}return u+f+(l?i(e.slice(r)):e.slice(r))},P=e=>{try{return new Function(`return ${v(e).trim()}`)()}catch{return{}}},J=U(import.meta.url);function R(e,t){if(T(t))return C(t)?t:null;const o=t.endsWith(".json")?t:`${t}.json`;return C(d(e,o))?d(e,o):b(o,e,{ignoreCase:!0,skipCwd:!0,targetType:"file"})}function W(e,t){if(T(t))return C(t)?t:null;const o=t.endsWith(".json")?t:`${t}.json`;return C(d(e,o))?d(e,o):o.startsWith(".")?b(y(o),e,{ignoreCase:!0,skipCwd:!1,targetType:"file"}):J.resolve(t,{paths:[e]})}async function I(e,t,o=!1){const i=o?W(g(e),t):R(g(e),t);if(!i)return null;let s=P(await w(i));const l=p(i);s?.compilerOptions?.baseUrl&&(s.compilerOptions.baseUrl=d(l,s.compilerOptions.baseUrl));const r=[];if(s.extends){const f=Array.isArray(s.extends)?s.extends:[s.extends];for(const u of f){const c=await I(l,u,!0);c&&(s=F(s,c.data??{}),r.push(...c.files))}}return s.extends=void 0,{path:i,data:s,files:[...r,i]}}function O(e,t,o=!1){const i=o?W(g(e),t):R(g(e),t);if(!i)return null;let s=P(A(i));const l=p(i);s?.compilerOptions?.baseUrl&&(s.compilerOptions.baseUrl=d(l,s.compilerOptions.baseUrl));const r=[];if(s.extends){const f=Array.isArray(s.extends)?s.extends:[s.extends];for(const u of f){const c=O(l,u,!0);c&&(s=F(s,c.data??{}),r.push(...c.files))}}return s.extends=void 0,{path:i,data:s,files:[...r,i]}}export async function loadTsConfig(e,t){return I(p(e)?p(e):process.cwd(),t?y(t):"tsconfig.json")}export function loadTsConfigSync(e,t){return O(p(e)?p(e):process.cwd(),t?y(t):"tsconfig.json")}
|
|
1
|
+
import{existsSync as n}from"@stryke/path/exists";import{findFilePath as r}from"@stryke/path/file-path-fns";import{joinPaths as t}from"@stryke/path/join-paths";import p from"defu";import{createJiti as a}from"jiti";import{readJsonFile as c}from"./read-file";const d=a(import.meta.url);export async function loadTsConfig(s=process.cwd()){let e=s.endsWith(".json")?s:t(s,"tsconfig.json");if(!n(e)&&(e=d.esmResolve(s),!n(e)))throw new Error(`tsconfig.json not found at ${e}. Please ensure the file exists.`);let o=await c(e);if(o?.compilerOptions?.baseUrl&&(o.compilerOptions.baseUrl=t(r(e),o.compilerOptions.baseUrl)),o?.extends){const f=Array.isArray(o.extends)?o.extends:[o.extends];for(const m of f){const i=await loadTsConfig(t(r(e),m));i&&(o=p(o,i??{}))}}return o.extends=void 0,o}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/fs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.1",
|
|
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": {
|
|
@@ -20,9 +20,10 @@
|
|
|
20
20
|
"chalk": "^5.4.1",
|
|
21
21
|
"defu": "^6.1.4",
|
|
22
22
|
"glob": "^11.0.1",
|
|
23
|
+
"jiti": "^2.4.2",
|
|
23
24
|
"nanotar": "^0.2.0",
|
|
24
25
|
"semver": "7.7.1",
|
|
25
|
-
"@stryke/json": "^0.
|
|
26
|
+
"@stryke/json": "^0.9.0",
|
|
26
27
|
"@stryke/type-checks": "^0.3.3",
|
|
27
28
|
"@stryke/types": "^0.8.3"
|
|
28
29
|
},
|