@stryke/fs 0.24.1 → 0.25.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/package-fns.cjs +47 -29
- package/dist/package-fns.d.ts +23 -0
- package/dist/package-fns.mjs +1 -1
- package/package.json +5 -5
package/dist/package-fns.cjs
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.doesPackageMatch = doesPackageMatch;
|
|
6
7
|
exports.getPackageInfo = getPackageInfo;
|
|
8
|
+
exports.getPackageListing = getPackageListing;
|
|
7
9
|
exports.getPackageManager = getPackageManager;
|
|
8
10
|
exports.isPackageExists = isPackageExists;
|
|
9
11
|
exports.isPackageListed = isPackageListed;
|
|
@@ -15,10 +17,10 @@ var _resolve = require("@stryke/path/resolve");
|
|
|
15
17
|
var _package = require("@stryke/string-format/package");
|
|
16
18
|
var _isString = require("@stryke/type-checks/is-string");
|
|
17
19
|
var _nodeFs = require("node:fs");
|
|
20
|
+
var _semver = require("semver");
|
|
18
21
|
var _json = require("./json.cjs");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const e = (0, _getParentPath.getParentPath)(["package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lock"], n);
|
|
22
|
+
function getPackageManager(t = (0, _getWorkspaceRoot.getWorkspaceRoot)()) {
|
|
23
|
+
const e = (0, _getParentPath.getParentPath)(["package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lock"], t);
|
|
22
24
|
if (!e) return "pnpm";
|
|
23
25
|
switch ((0, _path.findFileName)(e)) {
|
|
24
26
|
case "yarn.lock":
|
|
@@ -31,46 +33,62 @@ function getPackageManager(n = (0, _getWorkspaceRoot.getWorkspaceRoot)()) {
|
|
|
31
33
|
return "npm";
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
|
-
async function
|
|
36
|
+
async function v(t) {
|
|
35
37
|
let e;
|
|
36
38
|
for (;;) {
|
|
37
|
-
if (!
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
if (
|
|
39
|
+
if (!t) return;
|
|
40
|
+
const n = (0, _path.findFilePath)(t);
|
|
41
|
+
if (n === t) return;
|
|
42
|
+
if (t = n, e = (0, _path.joinPaths)(t, "package.json"), await (0, _path.exists)(e)) break;
|
|
41
43
|
}
|
|
42
44
|
return e;
|
|
43
45
|
}
|
|
44
|
-
async function
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
46
|
+
async function x(t, e = {}) {
|
|
47
|
+
const n = await (0, _resolve.resolvePackage)(t, e);
|
|
48
|
+
if (n) return v(n);
|
|
47
49
|
}
|
|
48
|
-
async function getPackageInfo(
|
|
49
|
-
const
|
|
50
|
-
if (!
|
|
51
|
-
const s = await (0, _json.readJsonFile)(
|
|
50
|
+
async function getPackageInfo(t, e = {}) {
|
|
51
|
+
const n = await x(t, e);
|
|
52
|
+
if (!n) return;
|
|
53
|
+
const s = await (0, _json.readJsonFile)(n);
|
|
52
54
|
return {
|
|
53
|
-
name:
|
|
55
|
+
name: t,
|
|
54
56
|
version: s.version,
|
|
55
|
-
rootPath: (0, _path.findFilePath)(
|
|
56
|
-
packageJsonPath:
|
|
57
|
+
rootPath: (0, _path.findFilePath)(n),
|
|
58
|
+
packageJsonPath: n,
|
|
57
59
|
packageJson: s
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
|
-
async function loadPackageJson(
|
|
61
|
-
const e = (0, _getParentPath.getParentPath)("package.json",
|
|
62
|
+
async function loadPackageJson(t = (0, _getWorkspaceRoot.getWorkspaceRoot)()) {
|
|
63
|
+
const e = (0, _getParentPath.getParentPath)("package.json", t, {
|
|
62
64
|
skipCwd: !1
|
|
63
65
|
});
|
|
64
66
|
return !e || !(0, _nodeFs.existsSync)(e) ? null : (0, _json.readJsonFile)(e);
|
|
65
67
|
}
|
|
66
|
-
async function isPackageListed(
|
|
67
|
-
const
|
|
68
|
-
s = (0, _isString.isString)(e) ? e : e?.cwd
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
async function isPackageListed(t, e) {
|
|
69
|
+
const n = (0, _package.getPackageName)(t),
|
|
70
|
+
s = (0, _isString.isString)(e) ? e : e?.cwd,
|
|
71
|
+
a = await loadPackageJson(s);
|
|
72
|
+
return a ? !!(a.dependencies && n in a.dependencies && a.dependencies[n] || a.devDependencies && n in a.devDependencies && a.devDependencies[n]) : !1;
|
|
73
|
+
}
|
|
74
|
+
async function getPackageListing(t, e) {
|
|
75
|
+
const n = (0, _package.getPackageName)(t),
|
|
76
|
+
s = (0, _isString.isString)(e) ? e : e?.cwd,
|
|
77
|
+
a = await loadPackageJson(s);
|
|
78
|
+
if (!a) return;
|
|
79
|
+
const i = a.dependencies && n in a.dependencies ? a.dependencies[n] : a.devDependencies && n in a.devDependencies ? a.devDependencies[n] : void 0,
|
|
80
|
+
o = (a.dependencies && n in a.dependencies ? "dependencies" : a.devDependencies && n in a.devDependencies ? "devDependencies" : void 0) || void 0;
|
|
81
|
+
return i && o ? {
|
|
82
|
+
version: i,
|
|
83
|
+
type: o
|
|
84
|
+
} : void 0;
|
|
85
|
+
}
|
|
86
|
+
async function doesPackageMatch(t, e, n) {
|
|
87
|
+
const s = await getPackageListing(t, {
|
|
88
|
+
cwd: n
|
|
89
|
+
});
|
|
90
|
+
return s ? s.version.startsWith("catalog:") || s.version.startsWith("workspace:") || (0, _semver.subset)(s.version, e) : !1;
|
|
73
91
|
}
|
|
74
|
-
function isPackageExists(
|
|
75
|
-
return !!(0, _resolve.resolvePackage)(
|
|
92
|
+
function isPackageExists(t, e = {}) {
|
|
93
|
+
return !!(0, _resolve.resolvePackage)(t, e);
|
|
76
94
|
}
|
package/dist/package-fns.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ export interface PackageExistsOptions {
|
|
|
34
34
|
* The current working directory
|
|
35
35
|
*/
|
|
36
36
|
cwd?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface PackageMatchesOptions extends PackageExistsOptions {
|
|
37
39
|
/**
|
|
38
40
|
* The version range of the package to check
|
|
39
41
|
*/
|
|
@@ -55,6 +57,27 @@ export declare function isPackageListed(name: string, cwd?: string): Promise<boo
|
|
|
55
57
|
* @returns An indicator specifying if the package is listed
|
|
56
58
|
*/
|
|
57
59
|
export declare function isPackageListed(name: string, options?: PackageExistsOptions): Promise<boolean>;
|
|
60
|
+
export interface GetPackageListingReturn {
|
|
61
|
+
version: string;
|
|
62
|
+
type: "dependencies" | "devDependencies";
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Return the package version and dependency type listed in the package.json file
|
|
66
|
+
*
|
|
67
|
+
* @param name - The name of the package
|
|
68
|
+
* @param cwdOrOptions - The current working directory or options to use when checking if the package is listed
|
|
69
|
+
* @returns The version and type of the package if listed, otherwise undefined
|
|
70
|
+
*/
|
|
71
|
+
export declare function getPackageListing(name: string, cwdOrOptions?: string | PackageExistsOptions): Promise<GetPackageListingReturn | undefined>;
|
|
72
|
+
/**
|
|
73
|
+
* Check if a package version matches a specific version range
|
|
74
|
+
*
|
|
75
|
+
* @param name - The name of the package
|
|
76
|
+
* @param version - The version to check against
|
|
77
|
+
* @param cwd - The current working directory
|
|
78
|
+
* @returns An indicator specifying if the package version matches the range
|
|
79
|
+
*/
|
|
80
|
+
export declare function doesPackageMatch(name: string, version: string, cwd?: string): Promise<boolean>;
|
|
58
81
|
/**
|
|
59
82
|
* Check if a package exists
|
|
60
83
|
*
|
package/dist/package-fns.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{exists as
|
|
1
|
+
import{exists as u,findFileName as m,findFilePath as r,joinPaths as P}from"@stryke/path";import{getParentPath as c}from"@stryke/path/get-parent-path";import{getWorkspaceRoot as p}from"@stryke/path/get-workspace-root";import{resolvePackage as g}from"@stryke/path/resolve";import{getPackageName as d}from"@stryke/string-format/package";import{isString as k}from"@stryke/type-checks/is-string";import{existsSync as l}from"node:fs";import{subset as y}from"semver";import{readJsonFile as f}from"./json";export function getPackageManager(t=p()){const e=c(["package-lock.json","yarn.lock","pnpm-lock.yaml","bun.lock"],t);if(!e)return"pnpm";switch(m(e)){case"yarn.lock":return"yarn";case"pnpm-lock.yaml":return"pnpm";case"bun.lock":return"bun";default:return"npm"}}async function v(t){let e;for(;;){if(!t)return;const n=r(t);if(n===t)return;if(t=n,e=P(t,"package.json"),await u(e))break}return e}async function x(t,e={}){const n=await g(t,e);if(n)return v(n)}export async function getPackageInfo(t,e={}){const n=await x(t,e);if(!n)return;const s=await f(n);return{name:t,version:s.version,rootPath:r(n),packageJsonPath:n,packageJson:s}}export async function loadPackageJson(t=p()){const e=c("package.json",t,{skipCwd:!1});return!e||!l(e)?null:f(e)}export async function isPackageListed(t,e){const n=d(t),s=k(e)?e:e?.cwd,a=await loadPackageJson(s);return a?!!(a.dependencies&&n in a.dependencies&&a.dependencies[n]||a.devDependencies&&n in a.devDependencies&&a.devDependencies[n]):!1}export async function getPackageListing(t,e){const n=d(t),s=k(e)?e:e?.cwd,a=await loadPackageJson(s);if(!a)return;const i=a.dependencies&&n in a.dependencies?a.dependencies[n]:a.devDependencies&&n in a.devDependencies?a.devDependencies[n]:void 0,o=(a.dependencies&&n in a.dependencies?"dependencies":a.devDependencies&&n in a.devDependencies?"devDependencies":void 0)||void 0;return i&&o?{version:i,type:o}:void 0}export async function doesPackageMatch(t,e,n){const s=await getPackageListing(t,{cwd:n});return s?s.version.startsWith("catalog:")||s.version.startsWith("workspace:")||y(s.version,e):!1}export function isPackageExists(t,e={}){return!!g(t,e)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/fs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.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": {
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
"directory": "packages/fs"
|
|
10
10
|
},
|
|
11
11
|
"private": false,
|
|
12
|
-
"peerDependencies": { "nx": "21.
|
|
12
|
+
"peerDependencies": { "nx": "^21.4.1" },
|
|
13
13
|
"peerDependenciesMeta": { "nx": { "optional": true } },
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@antfu/install-pkg": "^1.0.0",
|
|
16
16
|
"@ltd/j-toml": "^1.38.0",
|
|
17
17
|
"@stryke/convert": "^0.3.1",
|
|
18
18
|
"@stryke/path": "^0.12.5",
|
|
19
|
-
"@stryke/string-format": "0.10.0",
|
|
19
|
+
"@stryke/string-format": "^0.10.0",
|
|
20
20
|
"@zkochan/js-yaml": "^0.0.7",
|
|
21
21
|
"chalk": "^5.4.1",
|
|
22
22
|
"defu": "^6.1.4",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^22.14.0",
|
|
33
33
|
"@types/semver": "^7.5.8",
|
|
34
|
-
"nx": "21.
|
|
34
|
+
"nx": "^21.4.1",
|
|
35
35
|
"tinyexec": "^0.3.2"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": { "access": "public" },
|
|
@@ -338,5 +338,5 @@
|
|
|
338
338
|
"main": "./dist/index.cjs",
|
|
339
339
|
"module": "./dist/index.mjs",
|
|
340
340
|
"types": "./dist/index.d.ts",
|
|
341
|
-
"gitHead": "
|
|
341
|
+
"gitHead": "a4337f9cb38835e8f5b60e857c08235552b7db77"
|
|
342
342
|
}
|