flatlock 1.1.0 → 1.3.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/README.md +95 -1
- package/bin/flatcover.js +398 -0
- package/bin/flatlock-cmp.js +71 -45
- package/bin/flatlock.js +158 -0
- package/package.json +21 -8
- package/src/compare.js +385 -28
- package/src/detect.js +3 -4
- package/src/index.js +9 -2
- package/src/parsers/index.js +24 -4
- package/src/parsers/npm.js +144 -14
- package/src/parsers/pnpm/detect.js +198 -0
- package/src/parsers/pnpm/index.js +359 -0
- package/src/parsers/pnpm/internal.js +41 -0
- package/src/parsers/pnpm/shrinkwrap.js +241 -0
- package/src/parsers/pnpm/v5.js +225 -0
- package/src/parsers/pnpm/v6plus.js +290 -0
- package/src/parsers/pnpm.js +11 -89
- package/src/parsers/types.js +10 -0
- package/src/parsers/yarn-berry.js +271 -36
- package/src/parsers/yarn-classic.js +81 -21
- package/src/set.js +1307 -0
- package/dist/compare.d.ts +0 -63
- package/dist/compare.d.ts.map +0 -1
- package/dist/detect.d.ts +0 -33
- package/dist/detect.d.ts.map +0 -1
- package/dist/index.d.ts +0 -70
- package/dist/index.d.ts.map +0 -1
- package/dist/parsers/index.d.ts +0 -5
- package/dist/parsers/index.d.ts.map +0 -1
- package/dist/parsers/npm.d.ts +0 -82
- package/dist/parsers/npm.d.ts.map +0 -1
- package/dist/parsers/pnpm.d.ts +0 -60
- package/dist/parsers/pnpm.d.ts.map +0 -1
- package/dist/parsers/yarn-berry.d.ts +0 -65
- package/dist/parsers/yarn-berry.d.ts.map +0 -1
- package/dist/parsers/yarn-classic.d.ts +0 -64
- package/dist/parsers/yarn-classic.d.ts.map +0 -1
- package/dist/result.d.ts +0 -12
- package/dist/result.d.ts.map +0 -1
package/dist/compare.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compare flatlock output against established parser for a lockfile
|
|
3
|
-
* @param {string} filepath - Path to lockfile
|
|
4
|
-
* @param {CompareOptions} [options] - Options
|
|
5
|
-
* @returns {Promise<ComparisonResult>}
|
|
6
|
-
*/
|
|
7
|
-
export function compare(filepath: string, options?: CompareOptions): Promise<ComparisonResult>;
|
|
8
|
-
/**
|
|
9
|
-
* Compare multiple lockfiles
|
|
10
|
-
* @param {string[]} filepaths - Paths to lockfiles
|
|
11
|
-
* @param {CompareOptions} [options] - Options
|
|
12
|
-
* @returns {AsyncGenerator<ComparisonResult & { filepath: string }>}
|
|
13
|
-
*/
|
|
14
|
-
export function compareAll(filepaths: string[], options?: CompareOptions): AsyncGenerator<ComparisonResult & {
|
|
15
|
-
filepath: string;
|
|
16
|
-
}>;
|
|
17
|
-
export type CompareOptions = {
|
|
18
|
-
/**
|
|
19
|
-
* - Temp directory for Arborist (npm only)
|
|
20
|
-
*/
|
|
21
|
-
tmpDir?: string;
|
|
22
|
-
};
|
|
23
|
-
export type ComparisonResult = {
|
|
24
|
-
/**
|
|
25
|
-
* - Lockfile type
|
|
26
|
-
*/
|
|
27
|
-
type: string;
|
|
28
|
-
/**
|
|
29
|
-
* - Whether flatlock matches comparison parser
|
|
30
|
-
*/
|
|
31
|
-
identical: boolean | null;
|
|
32
|
-
/**
|
|
33
|
-
* - Number of packages found by flatlock
|
|
34
|
-
*/
|
|
35
|
-
flatlockCount: number;
|
|
36
|
-
/**
|
|
37
|
-
* - Number of packages found by comparison parser
|
|
38
|
-
*/
|
|
39
|
-
comparisonCount?: number;
|
|
40
|
-
/**
|
|
41
|
-
* - Number of workspace packages skipped
|
|
42
|
-
*/
|
|
43
|
-
workspaceCount?: number;
|
|
44
|
-
/**
|
|
45
|
-
* - Packages only found by flatlock
|
|
46
|
-
*/
|
|
47
|
-
onlyInFlatlock?: string[];
|
|
48
|
-
/**
|
|
49
|
-
* - Packages only found by comparison parser
|
|
50
|
-
*/
|
|
51
|
-
onlyInComparison?: string[];
|
|
52
|
-
};
|
|
53
|
-
export type PackagesResult = {
|
|
54
|
-
/**
|
|
55
|
-
* - Set of package@version strings
|
|
56
|
-
*/
|
|
57
|
-
packages: Set<string>;
|
|
58
|
-
/**
|
|
59
|
-
* - Number of workspace packages skipped
|
|
60
|
-
*/
|
|
61
|
-
workspaceCount: number;
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=compare.d.ts.map
|
package/dist/compare.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../src/compare.js"],"names":[],"mappings":"AAyMA;;;;;GAKG;AACH,kCAJW,MAAM,YACN,cAAc,GACZ,OAAO,CAAC,gBAAgB,CAAC,CA6CrC;AAED;;;;;GAKG;AACH,sCAJW,MAAM,EAAE,YACR,cAAc,GACZ,cAAc,CAAC,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAMnE;;;;;aAzPa,MAAM;;;;;;UAKN,MAAM;;;;eACN,OAAO,GAAG,IAAI;;;;mBACd,MAAM;;;;sBACN,MAAM;;;;qBACN,MAAM;;;;qBACN,MAAM,EAAE;;;;uBACR,MAAM,EAAE;;;;;;cAKR,GAAG,CAAC,MAAM,CAAC;;;;oBACX,MAAM"}
|
package/dist/detect.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Detect lockfile type from content and/or path
|
|
3
|
-
*
|
|
4
|
-
* Content is the primary signal - we actually parse the content to verify
|
|
5
|
-
* it's a valid lockfile of the detected type. This prevents spoofing attacks
|
|
6
|
-
* where malicious content contains detection markers in strings/comments.
|
|
7
|
-
*
|
|
8
|
-
* Path is only used as a fallback hint when content is not provided.
|
|
9
|
-
*
|
|
10
|
-
* @param {Object} options - Detection options
|
|
11
|
-
* @param {string} [options.path] - Path to the lockfile (optional hint)
|
|
12
|
-
* @param {string} [options.content] - Lockfile content (primary signal)
|
|
13
|
-
* @returns {LockfileType}
|
|
14
|
-
* @throws {Error} If unable to detect lockfile type
|
|
15
|
-
*/
|
|
16
|
-
export function detectType({ path, content }?: {
|
|
17
|
-
path?: string | undefined;
|
|
18
|
-
content?: string | undefined;
|
|
19
|
-
}): LockfileType;
|
|
20
|
-
/**
|
|
21
|
-
* @typedef {'npm' | 'pnpm' | 'yarn-classic' | 'yarn-berry'} LockfileType
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* Lockfile type constants
|
|
25
|
-
*/
|
|
26
|
-
export const Type: Readonly<{
|
|
27
|
-
NPM: "npm";
|
|
28
|
-
PNPM: "pnpm";
|
|
29
|
-
YARN_CLASSIC: "yarn-classic";
|
|
30
|
-
YARN_BERRY: "yarn-berry";
|
|
31
|
-
}>;
|
|
32
|
-
export type LockfileType = "npm" | "pnpm" | "yarn-classic" | "yarn-berry";
|
|
33
|
-
//# sourceMappingURL=detect.d.ts.map
|
package/dist/detect.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.js"],"names":[],"mappings":"AA8FA;;;;;;;;;;;;;;GAcG;AACH,+CALG;IAAyB,IAAI;IACJ,OAAO;CAChC,GAAU,YAAY,CAgDxB;AAtJD;;GAEG;AAEH;;GAEG;AACH;;;;;GAKG;2BAXU,KAAK,GAAG,MAAM,GAAG,cAAc,GAAG,YAAY"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parse lockfile from path (auto-detect type)
|
|
3
|
-
* @param {string} path - Path to lockfile
|
|
4
|
-
* @param {Object} [options] - Parser options
|
|
5
|
-
* @returns {AsyncGenerator<Dependency>}
|
|
6
|
-
*/
|
|
7
|
-
export function fromPath(path: string, options?: Object): AsyncGenerator<Dependency>;
|
|
8
|
-
/**
|
|
9
|
-
* Parse lockfile from string (auto-detect or use options.type)
|
|
10
|
-
* @param {string} content - Lockfile content
|
|
11
|
-
* @param {Object} [options] - Parser options
|
|
12
|
-
* @param {string} [options.path] - Path hint for type detection
|
|
13
|
-
* @param {LockfileType} [options.type] - Explicit type (skip detection)
|
|
14
|
-
* @returns {Generator<Dependency>}
|
|
15
|
-
*/
|
|
16
|
-
export function fromString(content: string, options?: {
|
|
17
|
-
path?: string | undefined;
|
|
18
|
-
type?: import("./detect.js").LockfileType | undefined;
|
|
19
|
-
}): Generator<Dependency>;
|
|
20
|
-
/**
|
|
21
|
-
* Try to parse lockfile from path (returns Result)
|
|
22
|
-
* @param {string} path - Path to lockfile
|
|
23
|
-
* @param {ParseOptions} [options] - Parser options
|
|
24
|
-
* @returns {Promise<import('./result.js').Result<AsyncGenerator<Dependency>>>}
|
|
25
|
-
*/
|
|
26
|
-
export function tryFromPath(path: string, options?: ParseOptions): Promise<import("./result.js").Result<AsyncGenerator<Dependency>>>;
|
|
27
|
-
/**
|
|
28
|
-
* Try to parse lockfile from string (returns Result)
|
|
29
|
-
* @param {string} content - Lockfile content
|
|
30
|
-
* @param {ParseOptions} [options] - Parser options
|
|
31
|
-
* @returns {import('./result.js').Result<Generator<Dependency>>}
|
|
32
|
-
*/
|
|
33
|
-
export function tryFromString(content: string, options?: ParseOptions): import("./result.js").Result<Generator<Dependency>>;
|
|
34
|
-
/**
|
|
35
|
-
* Parse yarn.lock (auto-detect classic vs berry)
|
|
36
|
-
* @param {string} content - Lockfile content
|
|
37
|
-
* @param {Object} [options] - Parser options
|
|
38
|
-
* @returns {Generator<Dependency>}
|
|
39
|
-
*/
|
|
40
|
-
export function fromYarnLock(content: string, options?: Object): Generator<Dependency>;
|
|
41
|
-
/**
|
|
42
|
-
* Collect all dependencies into an array
|
|
43
|
-
* @param {string} pathOrContent - Path to lockfile or content string
|
|
44
|
-
* @param {Object} [options] - Parser options
|
|
45
|
-
* @returns {Promise<Dependency[]>}
|
|
46
|
-
*/
|
|
47
|
-
export function collect(pathOrContent: string, options?: Object): Promise<Dependency[]>;
|
|
48
|
-
export type LockfileType = import("./detect.js").LockfileType;
|
|
49
|
-
export type Dependency = import("./parsers/npm.js").Dependency;
|
|
50
|
-
export type ParseOptions = {
|
|
51
|
-
/**
|
|
52
|
-
* - Path hint for type detection
|
|
53
|
-
*/
|
|
54
|
-
path?: string;
|
|
55
|
-
/**
|
|
56
|
-
* - Explicit type (skip detection)
|
|
57
|
-
*/
|
|
58
|
-
type?: LockfileType;
|
|
59
|
-
};
|
|
60
|
-
import { Type } from './detect.js';
|
|
61
|
-
import { detectType } from './detect.js';
|
|
62
|
-
import { Ok } from './result.js';
|
|
63
|
-
import { Err } from './result.js';
|
|
64
|
-
import { fromPackageLock } from './parsers/index.js';
|
|
65
|
-
import { fromPnpmLock } from './parsers/index.js';
|
|
66
|
-
import { fromYarnClassicLock } from './parsers/index.js';
|
|
67
|
-
import { fromYarnBerryLock } from './parsers/index.js';
|
|
68
|
-
export { Type, detectType, Ok, Err, fromPackageLock, fromPnpmLock, fromYarnClassicLock, fromYarnBerryLock };
|
|
69
|
-
export { parseNpmKey, parsePnpmKey, parseYarnBerryKey, parseYarnClassicKey } from "./parsers/index.js";
|
|
70
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,+BAJW,MAAM,YACN,MAAM,GACJ,cAAc,CAAC,UAAU,CAAC,CAOtC;AAED;;;;;;;GAOG;AACH,oCANW,MAAM,YAEd;IAAyB,IAAI;IACE,IAAI;CACnC,GAAU,SAAS,CAAC,UAAU,CAAC,CA0BjC;AAED;;;;;GAKG;AACH,kCAJW,MAAM,YACN,YAAY,GACV,OAAO,CAAC,OAAO,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAS7E;AAED;;;;;GAKG;AACH,uCAJW,MAAM,YACN,YAAY,GACV,OAAO,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAW/D;AAED;;;;;GAKG;AACH,sCAJW,MAAM,YACN,MAAM,GACJ,SAAS,CAAC,UAAU,CAAC,CAUjC;AAED;;;;;GAKG;AACH,uCAJW,MAAM,YACN,MAAM,GACJ,OAAO,CAAC,UAAU,EAAE,CAAC,CAmBjC;2BAxIa,OAAO,aAAa,EAAE,YAAY;yBAClC,OAAO,kBAAkB,EAAE,UAAU;;;;;WAIrC,MAAM;;;;WACN,YAAY;;qBAfO,aAAa;2BAAb,aAAa;mBAOtB,aAAa;oBAAb,aAAa;gCAD9B,oBAAoB;6BAApB,oBAAoB;oCAApB,oBAAoB;kCAApB,oBAAoB"}
|
package/dist/parsers/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { fromPackageLock, parseLockfileKey as parseNpmKey } from "./npm.js";
|
|
2
|
-
export { fromPnpmLock, parseLockfileKey as parsePnpmKey } from "./pnpm.js";
|
|
3
|
-
export { fromYarnBerryLock, parseLockfileKey as parseYarnBerryKey } from "./yarn-berry.js";
|
|
4
|
-
export { fromYarnClassicLock, parseLockfileKey as parseYarnClassicKey } from "./yarn-classic.js";
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.js"],"names":[],"mappings":""}
|
package/dist/parsers/npm.d.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Object} Dependency
|
|
3
|
-
* @property {string} name - Package name
|
|
4
|
-
* @property {string} version - Resolved version
|
|
5
|
-
* @property {string} [integrity] - Integrity hash
|
|
6
|
-
* @property {string} [resolved] - Resolution URL
|
|
7
|
-
* @property {boolean} [link] - True if this is a symlink
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* LIMITATION: Workspace symlinks are not yielded
|
|
11
|
-
*
|
|
12
|
-
* npm workspaces create two entries in package-lock.json:
|
|
13
|
-
* 1. packages/<workspace-path> → has version (workspace definition)
|
|
14
|
-
* 2. node_modules/<pkg-name> → link:true, NO version (symlink to #1)
|
|
15
|
-
*
|
|
16
|
-
* Arborist resolves #2 to get version from #1. This parser does not.
|
|
17
|
-
* Entries with link:true but no version are skipped.
|
|
18
|
-
*
|
|
19
|
-
* To include workspace packages, users should use @npmcli/arborist directly.
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
23
|
-
* !! WARNING: DO NOT MODIFY THIS FUNCTION !!
|
|
24
|
-
* !! AI AGENTS (Claude, Copilot, etc.): DO NOT TOUCH THIS CODE !!
|
|
25
|
-
* !! !!
|
|
26
|
-
* !! This is PATH parsing, NOT spec parsing. It extracts package names from !!
|
|
27
|
-
* !! filesystem paths like "node_modules/@scope/name", NOT from package !!
|
|
28
|
-
* !! specs like "@scope/name@^1.0.0". !!
|
|
29
|
-
* !! !!
|
|
30
|
-
* !! npm-package-arg (npa) is for SPEC parsing. This is PATH parsing. !!
|
|
31
|
-
* !! They are different things. Do not "improve" this with npa. !!
|
|
32
|
-
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
33
|
-
*
|
|
34
|
-
* Extract package name from npm lockfile path.
|
|
35
|
-
*
|
|
36
|
-
* Paths in package-lock.json follow this grammar:
|
|
37
|
-
* path := (node_modules/<pkg>)+
|
|
38
|
-
* | <workspace>/<path>
|
|
39
|
-
* | <workspace>/<path>/(node_modules/<pkg>)+
|
|
40
|
-
*
|
|
41
|
-
* pkg := name (unscoped)
|
|
42
|
-
* | @scope/name (scoped)
|
|
43
|
-
*
|
|
44
|
-
* Examples:
|
|
45
|
-
* - node_modules/lodash → "lodash"
|
|
46
|
-
* - node_modules/@babel/core → "@babel/core"
|
|
47
|
-
* - node_modules/foo/node_modules/@scope/bar → "@scope/bar"
|
|
48
|
-
*
|
|
49
|
-
* @param {string} path - Lockfile path key
|
|
50
|
-
* @returns {string} Package name
|
|
51
|
-
*/
|
|
52
|
-
export function parseLockfileKey(path: string): string;
|
|
53
|
-
/**
|
|
54
|
-
* Parse npm package-lock.json (v1, v2, v3)
|
|
55
|
-
* @param {string} content - Lockfile content
|
|
56
|
-
* @param {Object} [_options] - Parser options (unused, reserved for future use)
|
|
57
|
-
* @returns {Generator<Dependency>}
|
|
58
|
-
*/
|
|
59
|
-
export function fromPackageLock(content: string, _options?: Object): Generator<Dependency>;
|
|
60
|
-
export type Dependency = {
|
|
61
|
-
/**
|
|
62
|
-
* - Package name
|
|
63
|
-
*/
|
|
64
|
-
name: string;
|
|
65
|
-
/**
|
|
66
|
-
* - Resolved version
|
|
67
|
-
*/
|
|
68
|
-
version: string;
|
|
69
|
-
/**
|
|
70
|
-
* - Integrity hash
|
|
71
|
-
*/
|
|
72
|
-
integrity?: string;
|
|
73
|
-
/**
|
|
74
|
-
* - Resolution URL
|
|
75
|
-
*/
|
|
76
|
-
resolved?: string;
|
|
77
|
-
/**
|
|
78
|
-
* - True if this is a symlink
|
|
79
|
-
*/
|
|
80
|
-
link?: boolean;
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=npm.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/parsers/npm.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,uCAHW,MAAM,GACJ,MAAM,CAQlB;AAED;;;;;GAKG;AACH,yCAJW,MAAM,aACN,MAAM,GACJ,SAAS,CAAC,UAAU,CAAC,CA6BjC;;;;;UA5Fa,MAAM;;;;aACN,MAAM;;;;gBACN,MAAM;;;;eACN,MAAM;;;;WACN,OAAO"}
|
package/dist/parsers/pnpm.d.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Object} Dependency
|
|
3
|
-
* @property {string} name - Package name
|
|
4
|
-
* @property {string} version - Resolved version
|
|
5
|
-
* @property {string} [integrity] - Integrity hash
|
|
6
|
-
* @property {string} [resolved] - Resolution URL
|
|
7
|
-
* @property {boolean} [link] - True if this is a symlink
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Parse pnpm package spec to extract name and version
|
|
11
|
-
* Examples:
|
|
12
|
-
* "/@babel/core@7.23.0" → { name: "@babel/core", version: "7.23.0" }
|
|
13
|
-
* "/lodash@4.17.21" → { name: "lodash", version: "4.17.21" }
|
|
14
|
-
* "link:packages/foo" → { name: null, version: null } (skip these)
|
|
15
|
-
*
|
|
16
|
-
* @param {string} spec - Package spec from pnpm lockfile
|
|
17
|
-
* @returns {{ name: string | null, version: string | null }}
|
|
18
|
-
*/
|
|
19
|
-
export function parseSpec(spec: string): {
|
|
20
|
-
name: string | null;
|
|
21
|
-
version: string | null;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Extract package name from pnpm lockfile key.
|
|
25
|
-
* Wraps parseSpec to return just the name (consistent with other parsers).
|
|
26
|
-
*
|
|
27
|
-
* @param {string} key - pnpm lockfile key
|
|
28
|
-
* @returns {string | null} Package name
|
|
29
|
-
*/
|
|
30
|
-
export function parseLockfileKey(key: string): string | null;
|
|
31
|
-
/**
|
|
32
|
-
* Parse pnpm-lock.yaml (v5.4, v6, v9)
|
|
33
|
-
* @param {string} content - Lockfile content
|
|
34
|
-
* @param {Object} [_options] - Parser options (unused, reserved for future use)
|
|
35
|
-
* @returns {Generator<Dependency>}
|
|
36
|
-
*/
|
|
37
|
-
export function fromPnpmLock(content: string, _options?: Object): Generator<Dependency>;
|
|
38
|
-
export type Dependency = {
|
|
39
|
-
/**
|
|
40
|
-
* - Package name
|
|
41
|
-
*/
|
|
42
|
-
name: string;
|
|
43
|
-
/**
|
|
44
|
-
* - Resolved version
|
|
45
|
-
*/
|
|
46
|
-
version: string;
|
|
47
|
-
/**
|
|
48
|
-
* - Integrity hash
|
|
49
|
-
*/
|
|
50
|
-
integrity?: string;
|
|
51
|
-
/**
|
|
52
|
-
* - Resolution URL
|
|
53
|
-
*/
|
|
54
|
-
resolved?: string;
|
|
55
|
-
/**
|
|
56
|
-
* - True if this is a symlink
|
|
57
|
-
*/
|
|
58
|
-
link?: boolean;
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=pnpm.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm.d.ts","sourceRoot":"","sources":["../../src/parsers/pnpm.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AAEH,gCAJW,MAAM,GACJ;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA4B3D;AAED;;;;;;GAMG;AACH,sCAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAIzB;AAED;;;;;GAKG;AACH,sCAJW,MAAM,aACN,MAAM,GACJ,SAAS,CAAC,UAAU,CAAC,CA6BjC;;;;;UAzFa,MAAM;;;;aACN,MAAM;;;;gBACN,MAAM;;;;eACN,MAAM;;;;WACN,OAAO"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Object} Dependency
|
|
3
|
-
* @property {string} name - Package name
|
|
4
|
-
* @property {string} version - Resolved version
|
|
5
|
-
* @property {string} [integrity] - Integrity hash
|
|
6
|
-
* @property {string} [resolved] - Resolution URL
|
|
7
|
-
* @property {boolean} [link] - True if this is a symlink
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
11
|
-
* !! WARNING: DO NOT MODIFY THIS FUNCTION !!
|
|
12
|
-
* !! AI AGENTS (Claude, Copilot, etc.): DO NOT TOUCH THIS CODE !!
|
|
13
|
-
* !! !!
|
|
14
|
-
* !! This is YARN BERRY LOCKFILE KEY parsing, NOT npm spec parsing. !!
|
|
15
|
-
* !! Yarn berry lockfile keys have their own format: !!
|
|
16
|
-
* !! - Protocol markers: @npm:, @workspace:, @patch:, @portal:, @link: !!
|
|
17
|
-
* !! - Nested protocols: @patch:pkg@npm:version#hash !!
|
|
18
|
-
* !! - Multiple comma-separated entries !!
|
|
19
|
-
* !! !!
|
|
20
|
-
* !! npm-package-arg (npa) does NOT understand these formats. !!
|
|
21
|
-
* !! Do not "improve" this with npa. !!
|
|
22
|
-
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
23
|
-
*
|
|
24
|
-
* Extract package name from yarn berry key.
|
|
25
|
-
*
|
|
26
|
-
* Examples:
|
|
27
|
-
* "lodash@npm:^4.17.21" → "lodash"
|
|
28
|
-
* "@babel/core@npm:^7.0.0" → "@babel/core"
|
|
29
|
-
* "@babel/core@npm:^7.0.0, @babel/core@npm:^7.12.3" → "@babel/core"
|
|
30
|
-
* "@ngageoint/simple-features-js@patch:@ngageoint/simple-features-js@npm:1.1.0#..." → "@ngageoint/simple-features-js"
|
|
31
|
-
*
|
|
32
|
-
* @param {string} key - Lockfile entry key
|
|
33
|
-
* @returns {string} Package name
|
|
34
|
-
*/
|
|
35
|
-
export function parseLockfileKey(key: string): string;
|
|
36
|
-
/**
|
|
37
|
-
* Parse yarn.lock v2+ (berry)
|
|
38
|
-
* @param {string} content - Lockfile content
|
|
39
|
-
* @param {Object} [_options] - Parser options (unused, reserved for future use)
|
|
40
|
-
* @returns {Generator<Dependency>}
|
|
41
|
-
*/
|
|
42
|
-
export function fromYarnBerryLock(content: string, _options?: Object): Generator<Dependency>;
|
|
43
|
-
export type Dependency = {
|
|
44
|
-
/**
|
|
45
|
-
* - Package name
|
|
46
|
-
*/
|
|
47
|
-
name: string;
|
|
48
|
-
/**
|
|
49
|
-
* - Resolved version
|
|
50
|
-
*/
|
|
51
|
-
version: string;
|
|
52
|
-
/**
|
|
53
|
-
* - Integrity hash
|
|
54
|
-
*/
|
|
55
|
-
integrity?: string;
|
|
56
|
-
/**
|
|
57
|
-
* - Resolution URL
|
|
58
|
-
*/
|
|
59
|
-
resolved?: string;
|
|
60
|
-
/**
|
|
61
|
-
* - True if this is a symlink
|
|
62
|
-
*/
|
|
63
|
-
link?: boolean;
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=yarn-berry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"yarn-berry.d.ts","sourceRoot":"","sources":["../../src/parsers/yarn-berry.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,sCAHW,MAAM,GACJ,MAAM,CAoClB;AAED;;;;;GAKG;AACH,2CAJW,MAAM,aACN,MAAM,GACJ,SAAS,CAAC,UAAU,CAAC,CA6BjC;;;;;UAtGa,MAAM;;;;aACN,MAAM;;;;gBACN,MAAM;;;;eACN,MAAM;;;;WACN,OAAO"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Object} Dependency
|
|
3
|
-
* @property {string} name - Package name
|
|
4
|
-
* @property {string} version - Resolved version
|
|
5
|
-
* @property {string} [integrity] - Integrity hash
|
|
6
|
-
* @property {string} [resolved] - Resolution URL
|
|
7
|
-
* @property {boolean} [link] - True if this is a symlink
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
11
|
-
* !! WARNING: DO NOT MODIFY THIS FUNCTION !!
|
|
12
|
-
* !! AI AGENTS (Claude, Copilot, etc.): DO NOT TOUCH THIS CODE !!
|
|
13
|
-
* !! !!
|
|
14
|
-
* !! This is YARN LOCKFILE KEY parsing, NOT npm spec parsing. !!
|
|
15
|
-
* !! Yarn lockfile keys have their own format: !!
|
|
16
|
-
* !! - Multiple comma-separated entries: "pkg@^1.0.0, pkg@^2.0.0" !!
|
|
17
|
-
* !! - npm: aliasing protocol: "alias@npm:actual@^1.0.0" !!
|
|
18
|
-
* !! !!
|
|
19
|
-
* !! npm-package-arg (npa) does NOT understand these formats. !!
|
|
20
|
-
* !! Do not "improve" this with npa. !!
|
|
21
|
-
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
22
|
-
*
|
|
23
|
-
* Extract package name from yarn classic key.
|
|
24
|
-
*
|
|
25
|
-
* Examples:
|
|
26
|
-
* "lodash@^4.17.21" → "lodash"
|
|
27
|
-
* "@babel/core@^7.0.0" → "@babel/core"
|
|
28
|
-
* "lodash@^4.17.21, lodash@^4.0.0" → "lodash" (multiple version ranges)
|
|
29
|
-
* "@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3" → "@babel/traverse--for-generate-function-map"
|
|
30
|
-
*
|
|
31
|
-
* @param {string} key - Lockfile entry key
|
|
32
|
-
* @returns {string} Package name
|
|
33
|
-
*/
|
|
34
|
-
export function parseLockfileKey(key: string): string;
|
|
35
|
-
/**
|
|
36
|
-
* Parse yarn.lock v1 (classic)
|
|
37
|
-
* @param {string} content - Lockfile content
|
|
38
|
-
* @param {Object} [_options] - Parser options (unused, reserved for future use)
|
|
39
|
-
* @returns {Generator<Dependency>}
|
|
40
|
-
*/
|
|
41
|
-
export function fromYarnClassicLock(content: string, _options?: Object): Generator<Dependency>;
|
|
42
|
-
export type Dependency = {
|
|
43
|
-
/**
|
|
44
|
-
* - Package name
|
|
45
|
-
*/
|
|
46
|
-
name: string;
|
|
47
|
-
/**
|
|
48
|
-
* - Resolved version
|
|
49
|
-
*/
|
|
50
|
-
version: string;
|
|
51
|
-
/**
|
|
52
|
-
* - Integrity hash
|
|
53
|
-
*/
|
|
54
|
-
integrity?: string;
|
|
55
|
-
/**
|
|
56
|
-
* - Resolution URL
|
|
57
|
-
*/
|
|
58
|
-
resolved?: string;
|
|
59
|
-
/**
|
|
60
|
-
* - True if this is a symlink
|
|
61
|
-
*/
|
|
62
|
-
link?: boolean;
|
|
63
|
-
};
|
|
64
|
-
//# sourceMappingURL=yarn-classic.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"yarn-classic.d.ts","sourceRoot":"","sources":["../../src/parsers/yarn-classic.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,sCAHW,MAAM,GACJ,MAAM,CAkClB;AAED;;;;;GAKG;AACH,6CAJW,MAAM,aACN,MAAM,GACJ,SAAS,CAAC,UAAU,CAAC,CA6BjC;;;;;UAnGa,MAAM;;;;aACN,MAAM;;;;gBACN,MAAM;;;;eACN,MAAM;;;;WACN,OAAO"}
|
package/dist/result.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export function Ok<T>(value: T): OkResult<T>;
|
|
2
|
-
export function Err(error: Error | string): ErrResult;
|
|
3
|
-
export type OkResult<T> = {
|
|
4
|
-
ok: true;
|
|
5
|
-
value: T;
|
|
6
|
-
};
|
|
7
|
-
export type ErrResult = {
|
|
8
|
-
ok: false;
|
|
9
|
-
error: Error;
|
|
10
|
-
};
|
|
11
|
-
export type Result<T> = OkResult<T> | ErrResult;
|
|
12
|
-
//# sourceMappingURL=result.d.ts.map
|
package/dist/result.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.js"],"names":[],"mappings":"AAwBO,mBAJM,CAAC,SACH,CAAC,GACC,QAAQ,CAAC,CAAC,CAAC,CAEwB;AAOzC,2BAHI,KAAK,GAAG,MAAM,GACZ,SAAS,CAKpB;qBAjCW,CAAC;QAEA,IAAI;WACJ,CAAC;;;QAKD,KAAK;WACL,KAAK;;mBAIN,CAAC,IACD,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS"}
|