@stryke/fs 0.33.58 → 0.33.59
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 +6 -0
- package/dist/resolve.cjs +19 -2
- package/dist/resolve.d.cts.map +1 -1
- package/dist/resolve.d.mts.map +1 -1
- package/dist/resolve.mjs +20 -3
- package/dist/resolve.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog for Stryke - Fs
|
|
4
4
|
|
|
5
|
+
## [0.33.59](https://github.com/storm-software/stryke/releases/tag/fs%400.33.59) (03/14/2026)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **fs:** Added logic to handle resolution paths without extensions ([1b970819](https://github.com/storm-software/stryke/commit/1b970819))
|
|
10
|
+
|
|
5
11
|
## [0.33.58](https://github.com/storm-software/stryke/releases/tag/fs%400.33.58) (03/13/2026)
|
|
6
12
|
|
|
7
13
|
### Updated Dependencies
|
package/dist/resolve.cjs
CHANGED
|
@@ -69,7 +69,7 @@ function getNodeModulesPaths(paths = []) {
|
|
|
69
69
|
* @param options - The options containing resolution paths.
|
|
70
70
|
* @returns An array of unique, corrected resolution paths.
|
|
71
71
|
*/
|
|
72
|
-
function
|
|
72
|
+
function innerGetResolutionCombinations(path, options = {}) {
|
|
73
73
|
let paths = getResolutionPaths(options.paths);
|
|
74
74
|
if (require_is_type.isNpmScopedPackage(path)) paths = getNodeModulesPaths(paths);
|
|
75
75
|
else paths.push(...getNodeModulesPaths(paths));
|
|
@@ -80,13 +80,30 @@ function getResolutionCombinations(path, options = {}) {
|
|
|
80
80
|
ret.push(require_join_paths.joinPaths(combination, "index"));
|
|
81
81
|
return ret;
|
|
82
82
|
}, []);
|
|
83
|
-
if (!require_file_path_fns.
|
|
83
|
+
if (!require_file_path_fns.hasFileExtension(path)) combinations = combinations.reduce((ret, combination) => {
|
|
84
84
|
ret.push(combination);
|
|
85
85
|
extensions.forEach((ext) => {
|
|
86
86
|
ret.push(require_append.appendExtension(combination, ext));
|
|
87
87
|
});
|
|
88
88
|
return ret;
|
|
89
89
|
}, []);
|
|
90
|
+
return combinations;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get all combinations of resolution paths for a given path and options.
|
|
94
|
+
*
|
|
95
|
+
* @param path - The base path to combine with resolution paths.
|
|
96
|
+
* @param options - The options containing resolution paths.
|
|
97
|
+
* @returns An array of unique, corrected resolution paths.
|
|
98
|
+
*/
|
|
99
|
+
function getResolutionCombinations(path, options = {}) {
|
|
100
|
+
const combinations = innerGetResolutionCombinations(path, options);
|
|
101
|
+
if (!require_file_path_fns.hasFileExtension(path)) {
|
|
102
|
+
combinations.push(...combinations.map((combination) => require_join_paths.joinPaths(combination, "index")));
|
|
103
|
+
combinations.push(...combinations.flatMap((combination) => {
|
|
104
|
+
return options.extensions ? options.extensions.map((ext) => require_append.appendExtension(combination, ext)) : DEFAULT_EXTENSIONS.map((ext) => require_append.appendExtension(combination, ext));
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
90
107
|
return require_get_unique.getUnique(combinations.filter(Boolean)).map((p) => require_correct_path.correctPath(p));
|
|
91
108
|
}
|
|
92
109
|
/**
|
package/dist/resolve.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.cts","names":[],"sources":["../src/resolve.ts"],"sourcesContent":[],"mappings":";cAkCa;AAAA,UAeI,cAAA,CAFhB;EAEgB;AA4BjB;AAuCA;
|
|
1
|
+
{"version":3,"file":"resolve.d.cts","names":[],"sources":["../src/resolve.ts"],"sourcesContent":[],"mappings":";cAkCa;AAAA,UAeI,cAAA,CAFhB;EAEgB;AA4BjB;AAuCA;EAmEgB,KAAA,CAAA,EAAA,MAAA,EAAA;EA4BM;AA2DtB;AAuEA;AAeA;AAcA;AAmBA;AAyBA;;;;;;;;;;;;;;iBAjVgB,kBAAA;;;;;;;iBAuCA,mBAAA;;;;;;;;iBAmEA,yBAAA,yBAEL;;;;;;;;iBA0BW,OAAA,yBAEX,iBACR;;;;;;;;iBAwDa,WAAA,yBAAmC;;;;;;;;iBAuE7B,WAAA,yBAAmC,iBAAmB;;;;;;;;iBAe5D,eAAA,yBAAuC;;;;;;;iBAcjC,qCAAqC,QAAQ;;;;;;;;;;iBAmB7C,cAAA,yBAEX,iBAAmB;;;;;;;;;;;iBAuBd,kBAAA,yBAA0C"}
|
package/dist/resolve.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.mts","names":[],"sources":["../src/resolve.ts"],"sourcesContent":[],"mappings":";cAkCa;AAAA,UAeI,cAAA,CAFhB;EAEgB;AA4BjB;AAuCA;
|
|
1
|
+
{"version":3,"file":"resolve.d.mts","names":[],"sources":["../src/resolve.ts"],"sourcesContent":[],"mappings":";cAkCa;AAAA,UAeI,cAAA,CAFhB;EAEgB;AA4BjB;AAuCA;EAmEgB,KAAA,CAAA,EAAA,MAAA,EAAA;EA4BM;AA2DtB;AAuEA;AAeA;AAcA;AAmBA;AAyBA;;;;;;;;;;;;;;iBAjVgB,kBAAA;;;;;;;iBAuCA,mBAAA;;;;;;;;iBAmEA,yBAAA,yBAEL;;;;;;;;iBA0BW,OAAA,yBAEX,iBACR;;;;;;;;iBAwDa,WAAA,yBAAmC;;;;;;;;iBAuE7B,WAAA,yBAAmC,iBAAmB;;;;;;;;iBAe5D,eAAA,yBAAuC;;;;;;;iBAcjC,qCAAqC,QAAQ;;;;;;;;;;iBAmB7C,cAAA,yBAEX,iBAAmB;;;;;;;;;;;iBAuBd,kBAAA,yBAA0C"}
|
package/dist/resolve.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { isAbsolutePath, isNpmScopedPackage } from "./path/src/is-type.mjs";
|
|
|
3
3
|
import { joinPaths } from "./path/src/join-paths.mjs";
|
|
4
4
|
import { appendExtension } from "./path/src/append.mjs";
|
|
5
5
|
import { correctPath, toAbsolutePath } from "./path/src/correct-path.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import { findFileName, findFilePath, findFolderName, hasFileExtension } from "./path/src/file-path-fns.mjs";
|
|
7
7
|
import { existsSync } from "./exists.mjs";
|
|
8
8
|
import { getWorkspaceRoot } from "./get-workspace-root.mjs";
|
|
9
9
|
import { getUnique } from "./helpers/src/get-unique.mjs";
|
|
@@ -68,7 +68,7 @@ function getNodeModulesPaths(paths = []) {
|
|
|
68
68
|
* @param options - The options containing resolution paths.
|
|
69
69
|
* @returns An array of unique, corrected resolution paths.
|
|
70
70
|
*/
|
|
71
|
-
function
|
|
71
|
+
function innerGetResolutionCombinations(path, options = {}) {
|
|
72
72
|
let paths = getResolutionPaths(options.paths);
|
|
73
73
|
if (isNpmScopedPackage(path)) paths = getNodeModulesPaths(paths);
|
|
74
74
|
else paths.push(...getNodeModulesPaths(paths));
|
|
@@ -79,13 +79,30 @@ function getResolutionCombinations(path, options = {}) {
|
|
|
79
79
|
ret.push(joinPaths(combination, "index"));
|
|
80
80
|
return ret;
|
|
81
81
|
}, []);
|
|
82
|
-
if (!
|
|
82
|
+
if (!hasFileExtension(path)) combinations = combinations.reduce((ret, combination) => {
|
|
83
83
|
ret.push(combination);
|
|
84
84
|
extensions.forEach((ext) => {
|
|
85
85
|
ret.push(appendExtension(combination, ext));
|
|
86
86
|
});
|
|
87
87
|
return ret;
|
|
88
88
|
}, []);
|
|
89
|
+
return combinations;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get all combinations of resolution paths for a given path and options.
|
|
93
|
+
*
|
|
94
|
+
* @param path - The base path to combine with resolution paths.
|
|
95
|
+
* @param options - The options containing resolution paths.
|
|
96
|
+
* @returns An array of unique, corrected resolution paths.
|
|
97
|
+
*/
|
|
98
|
+
function getResolutionCombinations(path, options = {}) {
|
|
99
|
+
const combinations = innerGetResolutionCombinations(path, options);
|
|
100
|
+
if (!hasFileExtension(path)) {
|
|
101
|
+
combinations.push(...combinations.map((combination) => joinPaths(combination, "index")));
|
|
102
|
+
combinations.push(...combinations.flatMap((combination) => {
|
|
103
|
+
return options.extensions ? options.extensions.map((ext) => appendExtension(combination, ext)) : DEFAULT_EXTENSIONS.map((ext) => appendExtension(combination, ext));
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
89
106
|
return getUnique(combinations.filter(Boolean)).map((p) => correctPath(p));
|
|
90
107
|
}
|
|
91
108
|
/**
|
package/dist/resolve.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.mjs","names":["result: string | undefined","error: Error | undefined","result!: string"],"sources":["../src/resolve.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { getUnique } from \"@stryke/helpers/get-unique\";\nimport { appendExtension } from \"@stryke/path\";\nimport { correctPath, toAbsolutePath } from \"@stryke/path/correct-path\";\nimport { cwd } from \"@stryke/path/cwd\";\nimport {\n findFileExtension,\n findFileName,\n findFilePath,\n findFolderName\n} from \"@stryke/path/file-path-fns\";\nimport { isAbsolutePath, isNpmScopedPackage } from \"@stryke/path/is-type\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { interopDefault, resolvePath, resolvePathSync } from \"mlly\";\nimport { existsSync } from \"./exists\";\nimport { getWorkspaceRoot } from \"./get-workspace-root\";\n\nexport const DEFAULT_EXTENSIONS = [\n \"js\",\n \"jsx\",\n \"mjs\",\n \"cjs\",\n \"ts\",\n \"tsx\",\n \"mts\",\n \"cts\",\n \"json\",\n \"jsonc\",\n \"json5\",\n \"node\"\n];\n\nexport interface ResolveOptions {\n /**\n * Paths to resolve the package from\n */\n paths?: string[];\n\n /**\n * File extensions to consider when resolving the module\n *\n * @remarks\n * Extensions can be provided with or without the leading dot. The resolver utilities will handle both cases.\n *\n * @defaultValue [\"js\", \"jsx\", \"mjs\", \"cjs\", \"ts\", \"tsx\", \"mts\", \"cts\", \"json\", \"jsonc\", \"json5\", \"node\", \"wasm\"]\n */\n extensions?: string[];\n\n /**\n * Conditions to consider when resolving package exports.\n */\n conditions?: string[];\n}\n\n/**\n * Get the resolution paths based on the provided paths, current working directory, and workspace root.\n *\n * @param paths - An array of paths to include in the resolution.\n * @returns An array of unique, corrected resolution paths.\n */\nexport function getResolutionPaths(paths: string[] = []) {\n let resolutionPaths = paths;\n if (!resolutionPaths.includes(cwd())) {\n resolutionPaths.push(cwd());\n }\n\n const workspaceRoot = getWorkspaceRoot();\n if (!resolutionPaths.includes(workspaceRoot)) {\n resolutionPaths.push(workspaceRoot);\n }\n\n resolutionPaths = getUnique(\n resolutionPaths\n .filter(Boolean)\n .map(path => correctPath(path))\n .reduce((ret, path, _, arr) => {\n ret.push(path);\n if (!isAbsolutePath(path)) {\n ret.push(toAbsolutePath(path, cwd()));\n ret.push(toAbsolutePath(path, workspaceRoot));\n\n arr.forEach(existing => {\n ret.push(toAbsolutePath(path, existing));\n });\n }\n\n return ret;\n }, [] as string[])\n );\n\n return resolutionPaths;\n}\n\n/**\n * Get the node_modules resolution paths based on the provided paths.\n *\n * @param paths - An array of paths to include in the resolution.\n * @returns An array of unique, corrected node_modules resolution paths.\n */\nexport function getNodeModulesPaths(paths: string[] = []) {\n return getUnique(\n paths.reduce((ret, path) => {\n if (findFolderName(path) === \"node_modules\") {\n ret.push(correctPath(path));\n }\n\n if (existsSync(joinPaths(path, \"node_modules\"))) {\n ret.push(correctPath(joinPaths(path, \"node_modules\")));\n }\n\n return ret;\n }, [] as string[])\n );\n}\n\n/**\n * Get all combinations of resolution paths for a given path and options.\n *\n * @param path - The base path to combine with resolution paths.\n * @param options - The options containing resolution paths.\n * @returns An array of unique, corrected resolution paths.\n */\nexport function getResolutionCombinations(\n path: string,\n options: ResolveOptions = {}\n) {\n let paths = getResolutionPaths(options.paths);\n if (isNpmScopedPackage(path)) {\n paths = getNodeModulesPaths(paths);\n } else {\n paths.push(...getNodeModulesPaths(paths));\n }\n\n const extensions = options.extensions ?? DEFAULT_EXTENSIONS;\n\n let combinations = paths.map(base => joinPaths(base, path));\n if (findFileName(path, { withExtension: false }) !== \"index\") {\n combinations = combinations.reduce((ret, combination) => {\n ret.push(combination);\n ret.push(joinPaths(combination, \"index\"));\n\n return ret;\n }, [] as string[]);\n }\n\n if (!findFileExtension(path)) {\n combinations = combinations.reduce((ret, combination) => {\n ret.push(combination);\n extensions.forEach(ext => {\n ret.push(appendExtension(combination, ext));\n });\n\n return ret;\n }, [] as string[]);\n }\n\n return getUnique(combinations.filter(Boolean)).map(p => correctPath(p));\n}\n\n/**\n * Resolve the path to a specified module\n *\n * @param path - The path to the module\n * @param options - The options to use when resolving the module\n * @returns A promise for the path to the module\n */\nexport async function resolve(\n path: string,\n options: ResolveOptions = {}\n): Promise<string> {\n let paths = getResolutionPaths(options.paths);\n if (isNpmScopedPackage(path)) {\n paths = getNodeModulesPaths(paths);\n } else {\n paths.push(...getNodeModulesPaths(paths));\n }\n\n let result: string | undefined;\n let error: Error | undefined;\n\n try {\n result = await resolvePath(path, {\n url: paths,\n extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n conditions: options.conditions\n });\n } catch (err) {\n error = err as Error;\n }\n\n // if (!result) {\n // for (let i = 0; i < paths.length && !result; i++) {\n // try {\n // result = await resolvePath(replacePath(path, paths[i]), {\n // url: paths,\n // extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n // conditions: options.conditions\n // });\n // } catch (err) {\n // error = err as Error;\n // }\n // }\n // }\n\n if (!result) {\n throw new Error(\n `Unable to resolve module \"${\n path\n }\". The following import paths were tried: \\n${paths.join(\"\\n\")}`,\n {\n cause: error\n }\n );\n }\n\n return correctPath(result);\n}\n\n/**\n * Resolve the path to a specified module\n *\n * @param path - The path to the module\n * @param options - The options to use when resolving the module\n * @returns The path to the module or undefined\n */\nexport function resolveSync(path: string, options: ResolveOptions = {}) {\n let paths = getResolutionPaths(options.paths);\n if (isNpmScopedPackage(path)) {\n paths = getNodeModulesPaths(paths);\n } else {\n paths.push(...getNodeModulesPaths(paths));\n }\n\n let result!: string;\n let error: Error | undefined;\n\n try {\n result = resolvePathSync(path, {\n url: paths,\n extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n conditions: options.conditions\n });\n } catch (err) {\n error = err as Error;\n }\n\n // if (!result) {\n // for (let i = 0; i < paths.length && !result; i++) {\n // try {\n // result = resolvePathSync(replacePath(path, paths[i]), {\n // url: paths,\n // extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n // conditions: options.conditions\n // });\n // } catch (err) {\n // error = err as Error;\n // }\n // }\n // }\n\n // if (!result && findFileName(path, { withExtension: false }) !== \"index\") {\n // try {\n // result = resolveSync(joinPaths(path, \"index\"), {\n // ...options,\n // paths\n // });\n // if (result) {\n // // Remove the previously added index file from the path\n // result = findFilePath(result);\n // }\n // } catch (err) {\n // error = err as Error;\n // }\n // }\n\n if (!result) {\n throw new Error(\n `Unable to resolve module \"${\n path\n }\". The following import paths were tried: \\n${paths.join(\"\\n\")}`,\n {\n cause: error\n }\n );\n }\n\n return correctPath(result);\n}\n\n/**\n * Resolve the path to a specified module with error handling\n *\n * @param name - The name of the module\n * @param options - The options to use when resolving the module\n * @returns A promise for the path to the module\n */\nexport async function resolveSafe(name: string, options: ResolveOptions = {}) {\n try {\n return await resolve(name, options);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Resolve the path to a specified module with error handling\n *\n * @param name - The name of the module\n * @param options - The options to use when resolving the module\n * @returns The path to the module or undefined\n */\nexport function resolveSafeSync(name: string, options: ResolveOptions = {}) {\n try {\n return resolveSync(name, options);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Import a module from a specified path\n *\n * @param path - The path to the module\n * @returns The module\n */\nexport async function importModule<T = any>(path: string): Promise<T> {\n const i = await import(path);\n\n if (i) {\n return interopDefault(i);\n }\n\n return i;\n}\n\n/**\n * Resolve the path to a specified package asynchronously\n *\n * @remarks\n * This path points to the root of the package, which is usually the directory containing the `package.json` file. Please note: this path does not include the `package.json` file itself.\n *\n * @param name - The name of the module\n * @returns A promise for the module or undefined\n */\nexport async function resolvePackage(\n name: string,\n options: ResolveOptions = {}\n) {\n let result = await resolveSafe(joinPaths(name, \"package.json\"), options);\n if (!result) {\n result = await resolveSafe(joinPaths(name, \"index.js\"), options);\n if (!result) {\n result = await resolveSafe(name, options);\n }\n }\n\n return result ? findFilePath(result) : undefined;\n}\n\n/**\n * Resolve the path to a specified package synchronously\n *\n * @remarks\n * This path points to the root of the package, which is usually the directory containing the `package.json` file. Please note: this path does not include the `package.json` file itself.\n *\n * @param name - The name of the module\n * @param options - The options to use when resolving the module\n * @returns The module or undefined\n */\nexport function resolvePackageSync(name: string, options: ResolveOptions = {}) {\n let result = resolveSafeSync(joinPaths(name, \"package.json\"), options);\n if (!result) {\n result = resolveSafeSync(joinPaths(name, \"index.js\"), options);\n if (!result) {\n result = resolveSafeSync(name, options);\n }\n }\n\n return result ? findFilePath(result) : undefined;\n}\n"],"mappings":";;;;;;;;;;;;AAkCA,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;;;;AA8BD,SAAgB,mBAAmB,QAAkB,EAAE,EAAE;CACvD,IAAI,kBAAkB;AACtB,KAAI,CAAC,gBAAgB,SAAS,KAAK,CAAC,CAClC,iBAAgB,KAAK,KAAK,CAAC;CAG7B,MAAM,gBAAgB,kBAAkB;AACxC,KAAI,CAAC,gBAAgB,SAAS,cAAc,CAC1C,iBAAgB,KAAK,cAAc;AAGrC,mBAAkB,UAChB,gBACG,OAAO,QAAQ,CACf,KAAI,SAAQ,YAAY,KAAK,CAAC,CAC9B,QAAQ,KAAK,MAAM,GAAG,QAAQ;AAC7B,MAAI,KAAK,KAAK;AACd,MAAI,CAAC,eAAe,KAAK,EAAE;AACzB,OAAI,KAAK,eAAe,MAAM,KAAK,CAAC,CAAC;AACrC,OAAI,KAAK,eAAe,MAAM,cAAc,CAAC;AAE7C,OAAI,SAAQ,aAAY;AACtB,QAAI,KAAK,eAAe,MAAM,SAAS,CAAC;KACxC;;AAGJ,SAAO;IACN,EAAE,CAAa,CACrB;AAED,QAAO;;;;;;;;AAST,SAAgB,oBAAoB,QAAkB,EAAE,EAAE;AACxD,QAAO,UACL,MAAM,QAAQ,KAAK,SAAS;AAC1B,MAAI,eAAe,KAAK,KAAK,eAC3B,KAAI,KAAK,YAAY,KAAK,CAAC;AAG7B,MAAI,WAAW,UAAU,MAAM,eAAe,CAAC,CAC7C,KAAI,KAAK,YAAY,UAAU,MAAM,eAAe,CAAC,CAAC;AAGxD,SAAO;IACN,EAAE,CAAa,CACnB;;;;;;;;;AAUH,SAAgB,0BACd,MACA,UAA0B,EAAE,EAC5B;CACA,IAAI,QAAQ,mBAAmB,QAAQ,MAAM;AAC7C,KAAI,mBAAmB,KAAK,CAC1B,SAAQ,oBAAoB,MAAM;KAElC,OAAM,KAAK,GAAG,oBAAoB,MAAM,CAAC;CAG3C,MAAM,aAAa,QAAQ,cAAc;CAEzC,IAAI,eAAe,MAAM,KAAI,SAAQ,UAAU,MAAM,KAAK,CAAC;AAC3D,KAAI,aAAa,MAAM,EAAE,eAAe,OAAO,CAAC,KAAK,QACnD,gBAAe,aAAa,QAAQ,KAAK,gBAAgB;AACvD,MAAI,KAAK,YAAY;AACrB,MAAI,KAAK,UAAU,aAAa,QAAQ,CAAC;AAEzC,SAAO;IACN,EAAE,CAAa;AAGpB,KAAI,CAAC,kBAAkB,KAAK,CAC1B,gBAAe,aAAa,QAAQ,KAAK,gBAAgB;AACvD,MAAI,KAAK,YAAY;AACrB,aAAW,SAAQ,QAAO;AACxB,OAAI,KAAK,gBAAgB,aAAa,IAAI,CAAC;IAC3C;AAEF,SAAO;IACN,EAAE,CAAa;AAGpB,QAAO,UAAU,aAAa,OAAO,QAAQ,CAAC,CAAC,KAAI,MAAK,YAAY,EAAE,CAAC;;;;;;;;;AAUzE,eAAsB,QACpB,MACA,UAA0B,EAAE,EACX;CACjB,IAAI,QAAQ,mBAAmB,QAAQ,MAAM;AAC7C,KAAI,mBAAmB,KAAK,CAC1B,SAAQ,oBAAoB,MAAM;KAElC,OAAM,KAAK,GAAG,oBAAoB,MAAM,CAAC;CAG3C,IAAIA;CACJ,IAAIC;AAEJ,KAAI;AACF,WAAS,MAAM,YAAY,MAAM;GAC/B,KAAK;GACL,YAAY,QAAQ,cAAc;GAClC,YAAY,QAAQ;GACrB,CAAC;UACK,KAAK;AACZ,UAAQ;;AAiBV,KAAI,CAAC,OACH,OAAM,IAAI,MACR,6BACE,KACD,8CAA8C,MAAM,KAAK,KAAK,IAC/D,EACE,OAAO,OACR,CACF;AAGH,QAAO,YAAY,OAAO;;;;;;;;;AAU5B,SAAgB,YAAY,MAAc,UAA0B,EAAE,EAAE;CACtE,IAAI,QAAQ,mBAAmB,QAAQ,MAAM;AAC7C,KAAI,mBAAmB,KAAK,CAC1B,SAAQ,oBAAoB,MAAM;KAElC,OAAM,KAAK,GAAG,oBAAoB,MAAM,CAAC;CAG3C,IAAIC;CACJ,IAAID;AAEJ,KAAI;AACF,WAAS,gBAAgB,MAAM;GAC7B,KAAK;GACL,YAAY,QAAQ,cAAc;GAClC,YAAY,QAAQ;GACrB,CAAC;UACK,KAAK;AACZ,UAAQ;;AAgCV,KAAI,CAAC,OACH,OAAM,IAAI,MACR,6BACE,KACD,8CAA8C,MAAM,KAAK,KAAK,IAC/D,EACE,OAAO,OACR,CACF;AAGH,QAAO,YAAY,OAAO;;;;;;;;;AAU5B,eAAsB,YAAY,MAAc,UAA0B,EAAE,EAAE;AAC5E,KAAI;AACF,SAAO,MAAM,QAAQ,MAAM,QAAQ;SAC7B;AACN;;;;;;;;;;AAWJ,SAAgB,gBAAgB,MAAc,UAA0B,EAAE,EAAE;AAC1E,KAAI;AACF,SAAO,YAAY,MAAM,QAAQ;SAC3B;AACN;;;;;;;;;AAUJ,eAAsB,aAAsB,MAA0B;CACpE,MAAM,IAAI,MAAM,OAAO;AAEvB,KAAI,EACF,QAAO,eAAe,EAAE;AAG1B,QAAO;;;;;;;;;;;AAYT,eAAsB,eACpB,MACA,UAA0B,EAAE,EAC5B;CACA,IAAI,SAAS,MAAM,YAAY,UAAU,MAAM,eAAe,EAAE,QAAQ;AACxE,KAAI,CAAC,QAAQ;AACX,WAAS,MAAM,YAAY,UAAU,MAAM,WAAW,EAAE,QAAQ;AAChE,MAAI,CAAC,OACH,UAAS,MAAM,YAAY,MAAM,QAAQ;;AAI7C,QAAO,SAAS,aAAa,OAAO,GAAG;;;;;;;;;;;;AAazC,SAAgB,mBAAmB,MAAc,UAA0B,EAAE,EAAE;CAC7E,IAAI,SAAS,gBAAgB,UAAU,MAAM,eAAe,EAAE,QAAQ;AACtE,KAAI,CAAC,QAAQ;AACX,WAAS,gBAAgB,UAAU,MAAM,WAAW,EAAE,QAAQ;AAC9D,MAAI,CAAC,OACH,UAAS,gBAAgB,MAAM,QAAQ;;AAI3C,QAAO,SAAS,aAAa,OAAO,GAAG"}
|
|
1
|
+
{"version":3,"file":"resolve.mjs","names":["result: string | undefined","error: Error | undefined","result!: string"],"sources":["../src/resolve.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { getUnique } from \"@stryke/helpers/get-unique\";\nimport { appendExtension } from \"@stryke/path\";\nimport { correctPath, toAbsolutePath } from \"@stryke/path/correct-path\";\nimport { cwd } from \"@stryke/path/cwd\";\nimport {\n findFileName,\n findFilePath,\n findFolderName,\n hasFileExtension\n} from \"@stryke/path/file-path-fns\";\nimport { isAbsolutePath, isNpmScopedPackage } from \"@stryke/path/is-type\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { interopDefault, resolvePath, resolvePathSync } from \"mlly\";\nimport { existsSync } from \"./exists\";\nimport { getWorkspaceRoot } from \"./get-workspace-root\";\n\nexport const DEFAULT_EXTENSIONS = [\n \"js\",\n \"jsx\",\n \"mjs\",\n \"cjs\",\n \"ts\",\n \"tsx\",\n \"mts\",\n \"cts\",\n \"json\",\n \"jsonc\",\n \"json5\",\n \"node\"\n];\n\nexport interface ResolveOptions {\n /**\n * Paths to resolve the package from\n */\n paths?: string[];\n\n /**\n * File extensions to consider when resolving the module\n *\n * @remarks\n * Extensions can be provided with or without the leading dot. The resolver utilities will handle both cases.\n *\n * @defaultValue [\"js\", \"jsx\", \"mjs\", \"cjs\", \"ts\", \"tsx\", \"mts\", \"cts\", \"json\", \"jsonc\", \"json5\", \"node\", \"wasm\"]\n */\n extensions?: string[];\n\n /**\n * Conditions to consider when resolving package exports.\n */\n conditions?: string[];\n}\n\n/**\n * Get the resolution paths based on the provided paths, current working directory, and workspace root.\n *\n * @param paths - An array of paths to include in the resolution.\n * @returns An array of unique, corrected resolution paths.\n */\nexport function getResolutionPaths(paths: string[] = []) {\n let resolutionPaths = paths;\n if (!resolutionPaths.includes(cwd())) {\n resolutionPaths.push(cwd());\n }\n\n const workspaceRoot = getWorkspaceRoot();\n if (!resolutionPaths.includes(workspaceRoot)) {\n resolutionPaths.push(workspaceRoot);\n }\n\n resolutionPaths = getUnique(\n resolutionPaths\n .filter(Boolean)\n .map(path => correctPath(path))\n .reduce((ret, path, _, arr) => {\n ret.push(path);\n if (!isAbsolutePath(path)) {\n ret.push(toAbsolutePath(path, cwd()));\n ret.push(toAbsolutePath(path, workspaceRoot));\n\n arr.forEach(existing => {\n ret.push(toAbsolutePath(path, existing));\n });\n }\n\n return ret;\n }, [] as string[])\n );\n\n return resolutionPaths;\n}\n\n/**\n * Get the node_modules resolution paths based on the provided paths.\n *\n * @param paths - An array of paths to include in the resolution.\n * @returns An array of unique, corrected node_modules resolution paths.\n */\nexport function getNodeModulesPaths(paths: string[] = []) {\n return getUnique(\n paths.reduce((ret, path) => {\n if (findFolderName(path) === \"node_modules\") {\n ret.push(correctPath(path));\n }\n\n if (existsSync(joinPaths(path, \"node_modules\"))) {\n ret.push(correctPath(joinPaths(path, \"node_modules\")));\n }\n\n return ret;\n }, [] as string[])\n );\n}\n\n/**\n * Get all combinations of resolution paths for a given path and options.\n *\n * @param path - The base path to combine with resolution paths.\n * @param options - The options containing resolution paths.\n * @returns An array of unique, corrected resolution paths.\n */\nfunction innerGetResolutionCombinations(\n path: string,\n options: ResolveOptions = {}\n) {\n let paths = getResolutionPaths(options.paths);\n if (isNpmScopedPackage(path)) {\n paths = getNodeModulesPaths(paths);\n } else {\n paths.push(...getNodeModulesPaths(paths));\n }\n\n const extensions = options.extensions ?? DEFAULT_EXTENSIONS;\n\n let combinations = paths.map(base => joinPaths(base, path));\n if (findFileName(path, { withExtension: false }) !== \"index\") {\n combinations = combinations.reduce((ret, combination) => {\n ret.push(combination);\n ret.push(joinPaths(combination, \"index\"));\n\n return ret;\n }, [] as string[]);\n }\n\n if (!hasFileExtension(path)) {\n combinations = combinations.reduce((ret, combination) => {\n ret.push(combination);\n extensions.forEach(ext => {\n ret.push(appendExtension(combination, ext));\n });\n\n return ret;\n }, [] as string[]);\n }\n\n return combinations;\n}\n\n/**\n * Get all combinations of resolution paths for a given path and options.\n *\n * @param path - The base path to combine with resolution paths.\n * @param options - The options containing resolution paths.\n * @returns An array of unique, corrected resolution paths.\n */\nexport function getResolutionCombinations(\n path: string,\n options: ResolveOptions = {}\n) {\n const combinations = innerGetResolutionCombinations(path, options);\n if (!hasFileExtension(path)) {\n combinations.push(\n ...combinations.map(combination => joinPaths(combination, \"index\"))\n );\n combinations.push(\n ...combinations.flatMap(combination => {\n return options.extensions\n ? options.extensions.map(ext => appendExtension(combination, ext))\n : DEFAULT_EXTENSIONS.map(ext => appendExtension(combination, ext));\n })\n );\n }\n\n return getUnique(combinations.filter(Boolean)).map(p => correctPath(p));\n}\n\n/**\n * Resolve the path to a specified module\n *\n * @param path - The path to the module\n * @param options - The options to use when resolving the module\n * @returns A promise for the path to the module\n */\nexport async function resolve(\n path: string,\n options: ResolveOptions = {}\n): Promise<string> {\n let paths = getResolutionPaths(options.paths);\n if (isNpmScopedPackage(path)) {\n paths = getNodeModulesPaths(paths);\n } else {\n paths.push(...getNodeModulesPaths(paths));\n }\n\n let result: string | undefined;\n let error: Error | undefined;\n\n try {\n result = await resolvePath(path, {\n url: paths,\n extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n conditions: options.conditions\n });\n } catch (err) {\n error = err as Error;\n }\n\n // if (!result) {\n // for (let i = 0; i < paths.length && !result; i++) {\n // try {\n // result = await resolvePath(replacePath(path, paths[i]), {\n // url: paths,\n // extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n // conditions: options.conditions\n // });\n // } catch (err) {\n // error = err as Error;\n // }\n // }\n // }\n\n if (!result) {\n throw new Error(\n `Unable to resolve module \"${\n path\n }\". The following import paths were tried: \\n${paths.join(\"\\n\")}`,\n {\n cause: error\n }\n );\n }\n\n return correctPath(result);\n}\n\n/**\n * Resolve the path to a specified module\n *\n * @param path - The path to the module\n * @param options - The options to use when resolving the module\n * @returns The path to the module or undefined\n */\nexport function resolveSync(path: string, options: ResolveOptions = {}) {\n let paths = getResolutionPaths(options.paths);\n if (isNpmScopedPackage(path)) {\n paths = getNodeModulesPaths(paths);\n } else {\n paths.push(...getNodeModulesPaths(paths));\n }\n\n let result!: string;\n let error: Error | undefined;\n\n try {\n result = resolvePathSync(path, {\n url: paths,\n extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n conditions: options.conditions\n });\n } catch (err) {\n error = err as Error;\n }\n\n // if (!result) {\n // for (let i = 0; i < paths.length && !result; i++) {\n // try {\n // result = resolvePathSync(replacePath(path, paths[i]), {\n // url: paths,\n // extensions: options.extensions ?? DEFAULT_EXTENSIONS,\n // conditions: options.conditions\n // });\n // } catch (err) {\n // error = err as Error;\n // }\n // }\n // }\n\n // if (!result && findFileName(path, { withExtension: false }) !== \"index\") {\n // try {\n // result = resolveSync(joinPaths(path, \"index\"), {\n // ...options,\n // paths\n // });\n // if (result) {\n // // Remove the previously added index file from the path\n // result = findFilePath(result);\n // }\n // } catch (err) {\n // error = err as Error;\n // }\n // }\n\n if (!result) {\n throw new Error(\n `Unable to resolve module \"${\n path\n }\". The following import paths were tried: \\n${paths.join(\"\\n\")}`,\n {\n cause: error\n }\n );\n }\n\n return correctPath(result);\n}\n\n/**\n * Resolve the path to a specified module with error handling\n *\n * @param name - The name of the module\n * @param options - The options to use when resolving the module\n * @returns A promise for the path to the module\n */\nexport async function resolveSafe(name: string, options: ResolveOptions = {}) {\n try {\n return await resolve(name, options);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Resolve the path to a specified module with error handling\n *\n * @param name - The name of the module\n * @param options - The options to use when resolving the module\n * @returns The path to the module or undefined\n */\nexport function resolveSafeSync(name: string, options: ResolveOptions = {}) {\n try {\n return resolveSync(name, options);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Import a module from a specified path\n *\n * @param path - The path to the module\n * @returns The module\n */\nexport async function importModule<T = any>(path: string): Promise<T> {\n const i = await import(path);\n\n if (i) {\n return interopDefault(i);\n }\n\n return i;\n}\n\n/**\n * Resolve the path to a specified package asynchronously\n *\n * @remarks\n * This path points to the root of the package, which is usually the directory containing the `package.json` file. Please note: this path does not include the `package.json` file itself.\n *\n * @param name - The name of the module\n * @returns A promise for the module or undefined\n */\nexport async function resolvePackage(\n name: string,\n options: ResolveOptions = {}\n) {\n let result = await resolveSafe(joinPaths(name, \"package.json\"), options);\n if (!result) {\n result = await resolveSafe(joinPaths(name, \"index.js\"), options);\n if (!result) {\n result = await resolveSafe(name, options);\n }\n }\n\n return result ? findFilePath(result) : undefined;\n}\n\n/**\n * Resolve the path to a specified package synchronously\n *\n * @remarks\n * This path points to the root of the package, which is usually the directory containing the `package.json` file. Please note: this path does not include the `package.json` file itself.\n *\n * @param name - The name of the module\n * @param options - The options to use when resolving the module\n * @returns The module or undefined\n */\nexport function resolvePackageSync(name: string, options: ResolveOptions = {}) {\n let result = resolveSafeSync(joinPaths(name, \"package.json\"), options);\n if (!result) {\n result = resolveSafeSync(joinPaths(name, \"index.js\"), options);\n if (!result) {\n result = resolveSafeSync(name, options);\n }\n }\n\n return result ? findFilePath(result) : undefined;\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/fs",
|
|
3
|
-
"version": "0.33.
|
|
3
|
+
"version": "0.33.59",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A package containing various file system utilities that expand the functionality of NodeJs's built-in `fs` module.",
|
|
6
6
|
"repository": {
|
|
@@ -129,5 +129,5 @@
|
|
|
129
129
|
"peerDependencies": { "nx": "^22.5.4" },
|
|
130
130
|
"peerDependenciesMeta": { "nx": { "optional": true } },
|
|
131
131
|
"publishConfig": { "access": "public" },
|
|
132
|
-
"gitHead": "
|
|
132
|
+
"gitHead": "32d60fd4caab5b36724067ee5429e3eed399bb55"
|
|
133
133
|
}
|