@cyclonedx/cdxgen 10.8.8 → 10.9.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 +2 -1
- package/bin/cdxgen.js +7 -2
- package/binary.js +1 -1
- package/index.js +48 -1
- package/package.json +3 -3
- package/server.js +42 -8
- package/types/index.d.ts.map +1 -1
- package/types/server.d.ts.map +1 -1
- package/types/utils.d.ts +48 -0
- package/types/utils.d.ts.map +1 -1
- package/types/validator.d.ts.map +1 -1
- package/utils.js +468 -76
- package/utils.test.js +190 -9
- package/validator.js +4 -1
package/README.md
CHANGED
|
@@ -151,7 +151,7 @@ Options:
|
|
|
151
151
|
--exclude Additional glob pattern(s) to ignore [array]
|
|
152
152
|
--include-formulation Generate formulation section with git metadata and build tools. Defaults to true. Invoke
|
|
153
153
|
with --no-include-formulation to disable. [boolean] [default: true]
|
|
154
|
-
--include-crypto Include crypto libraries
|
|
154
|
+
--include-crypto Include crypto libraries as components. [boolean] [default: false]
|
|
155
155
|
--standard The list of standards which may consist of regulations, industry or organizational-specif
|
|
156
156
|
ic standards, maturity models, best practices, or any other requirements which can be eva
|
|
157
157
|
luated against or attested to.
|
|
@@ -463,6 +463,7 @@ Use the [CycloneDX CLI][cyclonedx-cli-github] tool for advanced use cases such a
|
|
|
463
463
|
## Including .NET Global Assembly Cache dependencies in the results
|
|
464
464
|
|
|
465
465
|
Global Assembly Cache (GAC) dependencies must be made available in the build output of the project for cdxgen in order for it to inspect and include in the results. A cdxgen scan with the `--deep` flag will look for additional dependencies in the form of dll files. A simple way to have the dotnet build copy the GAC dependencies into the build directory is to place the file `Directory.Build.props` into the root of the project and ensure the contents include the following:
|
|
466
|
+
|
|
466
467
|
```
|
|
467
468
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
468
469
|
<ItemDefinitionGroup>
|
package/bin/cdxgen.js
CHANGED
|
@@ -253,7 +253,7 @@ const args = yargs(hideBin(process.argv))
|
|
|
253
253
|
.option("include-crypto", {
|
|
254
254
|
type: "boolean",
|
|
255
255
|
default: false,
|
|
256
|
-
description: "Include crypto libraries
|
|
256
|
+
description: "Include crypto libraries as components.",
|
|
257
257
|
})
|
|
258
258
|
.option("standard", {
|
|
259
259
|
description:
|
|
@@ -275,6 +275,11 @@ const args = yargs(hideBin(process.argv))
|
|
|
275
275
|
description:
|
|
276
276
|
"Do not show the donation banner. Set this attribute if you are an active sponsor for OWASP CycloneDX.",
|
|
277
277
|
})
|
|
278
|
+
.option("feature-flags", {
|
|
279
|
+
description: "Experimental feature flags to enable. Advanced users only.",
|
|
280
|
+
hidden: true,
|
|
281
|
+
choices: ["safe-pip-install"],
|
|
282
|
+
})
|
|
278
283
|
.completion("completion", "Generate bash/zsh completion")
|
|
279
284
|
.array("type")
|
|
280
285
|
.array("excludeType")
|
|
@@ -283,6 +288,7 @@ const args = yargs(hideBin(process.argv))
|
|
|
283
288
|
.array("author")
|
|
284
289
|
.array("exclude")
|
|
285
290
|
.array("standard")
|
|
291
|
+
.array("feature-flags")
|
|
286
292
|
.option("auto-compositions", {
|
|
287
293
|
type: "boolean",
|
|
288
294
|
default: true,
|
|
@@ -438,7 +444,6 @@ const applyAdvancedOptions = (options) => {
|
|
|
438
444
|
}
|
|
439
445
|
return options;
|
|
440
446
|
};
|
|
441
|
-
|
|
442
447
|
applyAdvancedOptions(options);
|
|
443
448
|
|
|
444
449
|
/**
|
package/binary.js
CHANGED
package/index.js
CHANGED
|
@@ -63,12 +63,15 @@ import {
|
|
|
63
63
|
getMvnMetadata,
|
|
64
64
|
getNugetMetadata,
|
|
65
65
|
getPipFrozenTree,
|
|
66
|
+
getPipTreeForPackages,
|
|
66
67
|
getPyMetadata,
|
|
67
68
|
getPyModules,
|
|
68
69
|
getSwiftPackageMetadata,
|
|
69
70
|
getTimestamp,
|
|
70
71
|
hasAnyProjectType,
|
|
71
72
|
includeMavenTestScope,
|
|
73
|
+
isFeatureEnabled,
|
|
74
|
+
isPartialTree,
|
|
72
75
|
isValidIriReference,
|
|
73
76
|
parseBazelActionGraph,
|
|
74
77
|
parseBazelSkyframe,
|
|
@@ -2749,6 +2752,10 @@ export async function createPythonBom(path, options) {
|
|
|
2749
2752
|
if (pyProjectMode) {
|
|
2750
2753
|
const tmpParentComponent = parsePyProjectToml(pyProjectFile);
|
|
2751
2754
|
if (tmpParentComponent?.name) {
|
|
2755
|
+
// Bug fix. Version could be missing in pyproject.toml
|
|
2756
|
+
if (!tmpParentComponent.version && parentComponent.version) {
|
|
2757
|
+
tmpParentComponent.version = parentComponent.version;
|
|
2758
|
+
}
|
|
2752
2759
|
parentComponent = tmpParentComponent;
|
|
2753
2760
|
delete parentComponent.homepage;
|
|
2754
2761
|
delete parentComponent.repository;
|
|
@@ -2815,6 +2822,7 @@ export async function createPythonBom(path, options) {
|
|
|
2815
2822
|
};
|
|
2816
2823
|
dependencies.splice(0, 0, pdependencies);
|
|
2817
2824
|
}
|
|
2825
|
+
options.parentComponent = parentComponent;
|
|
2818
2826
|
return buildBomNSData(options, pkgList, "pypi", {
|
|
2819
2827
|
src: path,
|
|
2820
2828
|
filename: poetryFiles.join(", "),
|
|
@@ -2822,7 +2830,7 @@ export async function createPythonBom(path, options) {
|
|
|
2822
2830
|
parentComponent,
|
|
2823
2831
|
formulationList,
|
|
2824
2832
|
});
|
|
2825
|
-
}
|
|
2833
|
+
} // poetryMode
|
|
2826
2834
|
if (metadataFiles?.length) {
|
|
2827
2835
|
// dist-info directories
|
|
2828
2836
|
for (const mf of metadataFiles) {
|
|
@@ -3049,6 +3057,45 @@ export async function createPythonBom(path, options) {
|
|
|
3049
3057
|
pkgList = pkgList.concat(dlist);
|
|
3050
3058
|
}
|
|
3051
3059
|
}
|
|
3060
|
+
// Check and complete the dependency tree
|
|
3061
|
+
if (
|
|
3062
|
+
isFeatureEnabled(options, "safe-pip-install") &&
|
|
3063
|
+
pkgList.length &&
|
|
3064
|
+
isPartialTree(dependencies)
|
|
3065
|
+
) {
|
|
3066
|
+
// Trim the current package list first
|
|
3067
|
+
pkgList = trimComponents(pkgList);
|
|
3068
|
+
console.log(
|
|
3069
|
+
`Attempting to recover the pip dependency tree from ${pkgList.length} packages. Please wait ...`,
|
|
3070
|
+
);
|
|
3071
|
+
const newPkgMap = getPipTreeForPackages(
|
|
3072
|
+
path,
|
|
3073
|
+
pkgList,
|
|
3074
|
+
tempDir,
|
|
3075
|
+
parentComponent,
|
|
3076
|
+
);
|
|
3077
|
+
if (DEBUG_MODE && newPkgMap.failedPkgList.length) {
|
|
3078
|
+
if (newPkgMap.failedPkgList.length < pkgList.length) {
|
|
3079
|
+
console.log(
|
|
3080
|
+
`${newPkgMap.failedPkgList.length} packages failed to install.`,
|
|
3081
|
+
);
|
|
3082
|
+
}
|
|
3083
|
+
}
|
|
3084
|
+
if (newPkgMap?.pkgList?.length) {
|
|
3085
|
+
pkgList = pkgList.concat(newPkgMap.pkgList);
|
|
3086
|
+
pkgList = trimComponents(pkgList);
|
|
3087
|
+
}
|
|
3088
|
+
if (newPkgMap.dependenciesList) {
|
|
3089
|
+
dependencies = mergeDependencies(
|
|
3090
|
+
dependencies,
|
|
3091
|
+
newPkgMap.dependenciesList,
|
|
3092
|
+
parentComponent,
|
|
3093
|
+
);
|
|
3094
|
+
if (DEBUG_MODE && dependencies.length > 1) {
|
|
3095
|
+
console.log("Recovered", dependencies.length, "dependencies.");
|
|
3096
|
+
}
|
|
3097
|
+
}
|
|
3098
|
+
}
|
|
3052
3099
|
// Clean up
|
|
3053
3100
|
if (tempDir?.startsWith(tmpdir()) && rmSync) {
|
|
3054
3101
|
rmSync(tempDir, { recursive: true, force: true });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyclonedx/cdxgen",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.9.0",
|
|
4
4
|
"description": "Creates CycloneDX Software Bill of Materials (SBOM) from source or container image",
|
|
5
5
|
"homepage": "http://github.com/cyclonedx/cdxgen",
|
|
6
6
|
"author": "Prabhu Subramanian <prabhu@appthreat.com>",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"find-up": "7.0.0",
|
|
69
69
|
"glob": "^11.0.0",
|
|
70
70
|
"global-agent": "^3.0.0",
|
|
71
|
-
"got": "14.4.
|
|
71
|
+
"got": "14.4.2",
|
|
72
72
|
"iconv-lite": "^0.6.3",
|
|
73
73
|
"js-yaml": "^4.1.0",
|
|
74
74
|
"jws": "^4.0.0",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"devDependencies": {
|
|
112
112
|
"@biomejs/biome": "1.8.3",
|
|
113
113
|
"jest": "^29.7.0",
|
|
114
|
-
"typescript": "^5.5.
|
|
114
|
+
"typescript": "^5.5.4"
|
|
115
115
|
},
|
|
116
116
|
"scripts": {
|
|
117
117
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --inject-globals false docker.test.js utils.test.js display.test.js postgen.test.js",
|
package/server.js
CHANGED
|
@@ -85,21 +85,54 @@ const parseQueryString = (q, body, options = {}) => {
|
|
|
85
85
|
"only",
|
|
86
86
|
"autoCompositions",
|
|
87
87
|
"gitBranch",
|
|
88
|
-
"
|
|
88
|
+
"lifecycle",
|
|
89
|
+
"deep",
|
|
90
|
+
"profile",
|
|
91
|
+
"exclude",
|
|
92
|
+
"includeFormulation",
|
|
93
|
+
"includeCrypto",
|
|
94
|
+
"standard",
|
|
89
95
|
];
|
|
90
96
|
|
|
91
97
|
for (const param of queryParams) {
|
|
92
98
|
if (q[param]) {
|
|
93
|
-
|
|
99
|
+
let value = q[param];
|
|
100
|
+
// Convert string to boolean
|
|
101
|
+
if (value === "true") {
|
|
102
|
+
value = true;
|
|
103
|
+
} else if (value === "false") {
|
|
104
|
+
value = false;
|
|
105
|
+
}
|
|
106
|
+
options[param] = value;
|
|
94
107
|
}
|
|
95
108
|
}
|
|
96
109
|
|
|
97
110
|
options.projectType = options.type?.split(",");
|
|
98
111
|
delete options.type;
|
|
99
|
-
|
|
112
|
+
if (options.lifecycle === "pre-build") {
|
|
113
|
+
options.installDeps = false;
|
|
114
|
+
}
|
|
115
|
+
if (options.profile) {
|
|
116
|
+
applyProfileOptions(options);
|
|
117
|
+
}
|
|
100
118
|
return options;
|
|
101
119
|
};
|
|
102
120
|
|
|
121
|
+
const applyProfileOptions = (options) => {
|
|
122
|
+
switch (options.profile) {
|
|
123
|
+
case "appsec":
|
|
124
|
+
options.deep = true;
|
|
125
|
+
break;
|
|
126
|
+
case "research":
|
|
127
|
+
options.deep = true;
|
|
128
|
+
options.evidence = true;
|
|
129
|
+
options.includeCrypto = true;
|
|
130
|
+
break;
|
|
131
|
+
default:
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
|
|
103
136
|
const configureServer = (cdxgenServer) => {
|
|
104
137
|
cdxgenServer.headersTimeout = TIMEOUT_MS;
|
|
105
138
|
cdxgenServer.requestTimeout = TIMEOUT_MS;
|
|
@@ -143,18 +176,19 @@ const start = (options) => {
|
|
|
143
176
|
}
|
|
144
177
|
console.log("Generating SBOM for", srcDir);
|
|
145
178
|
let bomNSData = (await createBom(srcDir, reqOptions)) || {};
|
|
146
|
-
|
|
147
|
-
bomNSData = postProcess(bomNSData, reqOptions);
|
|
148
|
-
}
|
|
179
|
+
bomNSData = postProcess(bomNSData, reqOptions);
|
|
149
180
|
if (reqOptions.serverUrl && reqOptions.apiKey) {
|
|
150
|
-
console.log(
|
|
181
|
+
console.log(
|
|
182
|
+
`Publishing SBOM ${reqOptions.projectName} to Dependency Track`,
|
|
183
|
+
reqOptions.serverUrl,
|
|
184
|
+
);
|
|
151
185
|
const response = await submitBom(reqOptions, bomNSData.bomJson);
|
|
152
186
|
const errorMessages = response?.errors;
|
|
153
187
|
if (errorMessages) {
|
|
154
188
|
res.writeHead(500, { "Content-Type": "application/json" });
|
|
155
189
|
return res.end(
|
|
156
190
|
JSON.stringify({
|
|
157
|
-
error:
|
|
191
|
+
error: `Unable to submit the SBOM ${reqOptions.projectName} to the Dependency Track server ${reqOptions.serverUrl}`,
|
|
158
192
|
details: errorMessages,
|
|
159
193
|
}),
|
|
160
194
|
);
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"AAyvBA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAyUD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAiEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAi/BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA2chB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAkahB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BAkUhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAiDhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBA+KhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBAsHhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,qBAuBhB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BAqDhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,8BA4ChB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM,8BAwFhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBAiUhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAwJhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAmFhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAyWhB;AAED;;;;;GAKG;AACH,2CAHW,MAAM;;;;;;;;;;;;;;;;;;;;GAoChB;AAED;;;;;;;;KA+DC;AAED;;;;;;GAMG;AACH,yDA2CC;AAED;;;;;;;;;GASG;AACH,2GA6BC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,EAAE,8BAmclB;AAED;;;;;GAKG;AACH,iCAHW,MAAM,8BAiUhB;AAED;;;;;GAKG;AACH,gCAHW,MAAM,qBAsOhB;AAED;;;;;;GAMG;AACH,wDAFY,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CA2FxE"}
|
package/types/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.js"],"names":[],"mappings":"AAuIA,yDAKC;AAED,0CAuEC"}
|
package/types/utils.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Method to check if a given feature flag is enabled.
|
|
3
|
+
*
|
|
4
|
+
* @param {Object} cliOptions CLI options
|
|
5
|
+
* @param {String} feature Feature flag
|
|
6
|
+
*
|
|
7
|
+
* @returns {Boolean} True if the feature is enabled
|
|
8
|
+
*/
|
|
9
|
+
export function isFeatureEnabled(cliOptions: any, feature: string): boolean;
|
|
1
10
|
/**
|
|
2
11
|
* Method to check if the given project types are allowed by checking against include and exclude types passed from the CLI arguments.
|
|
3
12
|
*
|
|
@@ -607,6 +616,7 @@ export function parseCabalData(cabalData: any): any[];
|
|
|
607
616
|
export function parseMixLockData(mixData: any): any[];
|
|
608
617
|
export function parseGitHubWorkflowData(ghwData: any): any[];
|
|
609
618
|
export function parseCloudBuildData(cbwData: any): any[];
|
|
619
|
+
export function mapConanPkgRefToPurlStringAndNameAndVersion(conanPkgRef: any): any[];
|
|
610
620
|
export function parseConanLockData(conanLockData: any): any[];
|
|
611
621
|
export function parseConanData(conanData: any): any[];
|
|
612
622
|
export function parseLeiningenData(leinData: any): any[];
|
|
@@ -1076,6 +1086,8 @@ export function getPipFrozenTree(basePath: string, reqOrSetupFile: string, tempV
|
|
|
1076
1086
|
rootList: {
|
|
1077
1087
|
name: any;
|
|
1078
1088
|
version: any;
|
|
1089
|
+
purl: string;
|
|
1090
|
+
"bom-ref": string;
|
|
1079
1091
|
}[];
|
|
1080
1092
|
dependenciesList: {
|
|
1081
1093
|
ref: string;
|
|
@@ -1083,6 +1095,35 @@ export function getPipFrozenTree(basePath: string, reqOrSetupFile: string, tempV
|
|
|
1083
1095
|
}[];
|
|
1084
1096
|
frozen: boolean;
|
|
1085
1097
|
};
|
|
1098
|
+
/**
|
|
1099
|
+
* The problem: pip installation can fail for a number of reasons such as missing OS dependencies and devel packages.
|
|
1100
|
+
* When it fails, we don't get any dependency tree. As a workaroud, this method would attempt to install one package at a time to the same virtual environment and then attempts to obtain a dependency tree.
|
|
1101
|
+
* Such a tree could be incorrect or quite approximate, but some users might still find it useful to know the names of the indirect dependencies.
|
|
1102
|
+
*
|
|
1103
|
+
* @param {string} basePath Base path
|
|
1104
|
+
* @param {Array} pkgList Existing package list
|
|
1105
|
+
* @param {string} tempVenvDir Temp venv dir
|
|
1106
|
+
* @param {Object} parentComponent Parent component
|
|
1107
|
+
*
|
|
1108
|
+
* @returns List of packages from the virtual env
|
|
1109
|
+
*/
|
|
1110
|
+
export function getPipTreeForPackages(basePath: string, pkgList: any[], tempVenvDir: string, parentComponent: any): {
|
|
1111
|
+
failedPkgList?: undefined;
|
|
1112
|
+
rootList?: undefined;
|
|
1113
|
+
dependenciesList?: undefined;
|
|
1114
|
+
} | {
|
|
1115
|
+
failedPkgList: any[];
|
|
1116
|
+
rootList: {
|
|
1117
|
+
name: any;
|
|
1118
|
+
version: any;
|
|
1119
|
+
purl: string;
|
|
1120
|
+
"bom-ref": string;
|
|
1121
|
+
}[];
|
|
1122
|
+
dependenciesList: {
|
|
1123
|
+
ref: string;
|
|
1124
|
+
dependsOn: any;
|
|
1125
|
+
}[];
|
|
1126
|
+
};
|
|
1086
1127
|
export function parsePackageJsonName(name: any): {
|
|
1087
1128
|
scope: any;
|
|
1088
1129
|
fullName: string;
|
|
@@ -1166,6 +1207,13 @@ export function parseMakeDFile(dfile: string): any;
|
|
|
1166
1207
|
*
|
|
1167
1208
|
*/
|
|
1168
1209
|
export function isValidIriReference(iri: string): boolean;
|
|
1210
|
+
/**
|
|
1211
|
+
* Method to check if a given dependency tree is partial or not.
|
|
1212
|
+
*
|
|
1213
|
+
* @param {Array} dependencies List of dependencies
|
|
1214
|
+
* @returns {Boolean} True if the dependency tree lacks any non-root parents without children. False otherwise.
|
|
1215
|
+
*/
|
|
1216
|
+
export function isPartialTree(dependencies: any[]): boolean;
|
|
1169
1217
|
export const dirNameStr: string;
|
|
1170
1218
|
export const isWin: boolean;
|
|
1171
1219
|
export const isMac: boolean;
|
package/types/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"AAsSA;;;;;;GAMG;AACH,mGAkDC;AAgBD;;;;;GAKG;AACH,qCAHW,MAAM,WACN,MAAM,0BAqBhB;AAED;;;;;;GAMG;AACH,+CAJW,MAAM,WACN,MAAM,+BAoBhB;AAYD;;;;GAIG;AACH,gCAFa,MAAM,CAIlB;AAED;;;;;;IAMI;AACJ,iDAJW,MAAM,GACJ,OAAO,CAiBnB;AAED;;;;;;;;;GASG;AACH,iEA2BC;AAED;;;;;GAKG;AACH,6CAqDC;AAED;;;;;;GAMG;AACH,sEA0DC;AAED;;;;GAIG;AACH,4EAoCC;AAED;;;GAGG;AACH;;EAUC;AAED,sEA0BC;AAED;;;;GAIG;AACH,+DA4CC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,WACN,OAAO,kBAkFjB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,YACN,MAAM;;;GAqVhB;AAED;;;;;;;GAOG;AACH,6CAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"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"}
|
package/types/validator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../validator.js"],"names":[],"mappings":"AAmBO,qCAFI,MAAM,WA6ChB;AAOM,0CAFI,MAAM,WAiDhB;AAOM,uCAFI,MAAM,WAgEhB;AA6BM,sCAFI,MAAM,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../validator.js"],"names":[],"mappings":"AAmBO,qCAFI,MAAM,WA6ChB;AAOM,0CAFI,MAAM,WAiDhB;AAOM,uCAFI,MAAM,WAgEhB;AA6BM,sCAFI,MAAM,WA8ChB"}
|