snyk-nuget-plugin 1.22.1 → 1.23.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.
|
@@ -68,9 +68,19 @@ async function fetchNugetInformationFromPackages(flattenedPackageList, targetFra
|
|
|
68
68
|
// begin collecting information from .nuget files on installed packages
|
|
69
69
|
debug('Trying to analyze .nuspec files');
|
|
70
70
|
for (const name of Object.keys(flattenedPackageList)) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
try {
|
|
72
|
+
const dep = flattenedPackageList[name];
|
|
73
|
+
debug('...' + name);
|
|
74
|
+
const resolved = await nuspec_parser_1.parseNuspec(dep, targetFramework);
|
|
75
|
+
nugetPackageInformation.push(resolved);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
debug('Failed parsing nuspec file');
|
|
79
|
+
debug(e);
|
|
80
|
+
//log but make sure to rethrow the error
|
|
81
|
+
//why? if we cannot parse nuspec file, we got nothing to do!
|
|
82
|
+
throw e;
|
|
83
|
+
}
|
|
74
84
|
}
|
|
75
85
|
return nugetPackageInformation;
|
|
76
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotnet-framework-parser.js","sourceRoot":"","sources":["../../lib/nuget-parser/dotnet-framework-parser.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAC7B,6CAAwE;AACxE,mDAA8C;AAC9C,qCAAqC;
|
|
1
|
+
{"version":3,"file":"dotnet-framework-parser.js","sourceRoot":"","sources":["../../lib/nuget-parser/dotnet-framework-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseNuspec = void 0;
|
|
3
|
+
exports._parsedNuspec = exports.parseNuspec = void 0;
|
|
4
4
|
const JSZip = require("jszip");
|
|
5
5
|
const fs = require("fs");
|
|
6
6
|
const path = require("path");
|
|
@@ -9,61 +9,113 @@ const debugModule = require("debug");
|
|
|
9
9
|
const debug = debugModule('snyk');
|
|
10
10
|
const targetFrameworkRegex = /([.a-zA-Z]+)([.0-9]+)/;
|
|
11
11
|
async function parseNuspec(dep, targetFramework) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
})
|
|
24
|
-
.then(nuspecContent => {
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
parseXML.parseString(nuspecContent, (err, result) => {
|
|
27
|
-
if (err) {
|
|
28
|
-
return reject(err);
|
|
29
|
-
}
|
|
30
|
-
let ownDeps = [];
|
|
31
|
-
// We are only going to check the first targetFramework we encounter
|
|
32
|
-
// in the future we may want to support multiple, but only once
|
|
33
|
-
// we have dependency version conflict resolution implemented
|
|
34
|
-
result.package.metadata.forEach(metadata => {
|
|
35
|
-
metadata.dependencies.forEach(rawDependency => {
|
|
36
|
-
// Find and add target framework version specific dependencies
|
|
37
|
-
const depsForTargetFramework = extractDepsForTargetFramework(rawDependency, targetFramework);
|
|
38
|
-
if (depsForTargetFramework && depsForTargetFramework.group) {
|
|
39
|
-
ownDeps = ownDeps.concat(extractDepsFromRaw(depsForTargetFramework.group.dependency));
|
|
40
|
-
}
|
|
41
|
-
// Find all groups with no targetFramework attribute
|
|
42
|
-
// add their deps
|
|
43
|
-
const depsFromPlainGroups = extractDepsForPlainGroups(rawDependency);
|
|
44
|
-
if (depsFromPlainGroups) {
|
|
45
|
-
depsFromPlainGroups.forEach(depGroup => {
|
|
46
|
-
ownDeps = ownDeps.concat(extractDepsFromRaw(depGroup.dependency));
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
// Add the default dependencies
|
|
50
|
-
ownDeps = ownDeps.concat(extractDepsFromRaw(rawDependency.dependency));
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
return resolve({
|
|
54
|
-
children: ownDeps,
|
|
55
|
-
name: dep.name,
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
})
|
|
60
|
-
.catch(err => {
|
|
61
|
-
// parsing problems are coerced into an empty nuspec
|
|
62
|
-
debug('Error parsing dependency', JSON.stringify(dep), err);
|
|
12
|
+
//precaution
|
|
13
|
+
if (!dep) {
|
|
14
|
+
throw new Error('expected DependencyInfo parameter to have value but found it undefined');
|
|
15
|
+
}
|
|
16
|
+
//another precaution
|
|
17
|
+
if (!targetFramework) {
|
|
18
|
+
throw new Error('expected TargetFramework parameter to have value but found it undefined');
|
|
19
|
+
}
|
|
20
|
+
const nuspecContent = await loadNuspecFromAsync(dep);
|
|
21
|
+
if (nuspecContent === null) {
|
|
22
|
+
debug('failed to load nuspec content');
|
|
63
23
|
return null;
|
|
64
|
-
}
|
|
24
|
+
}
|
|
25
|
+
return await _parsedNuspec(nuspecContent, targetFramework, dep.name);
|
|
65
26
|
}
|
|
66
27
|
exports.parseNuspec = parseNuspec;
|
|
28
|
+
async function loadNuspecFromAsync(dep) {
|
|
29
|
+
const nupkgPath = path.resolve(dep.path, dep.name + '.' + dep.version + '.nupkg');
|
|
30
|
+
let nupkgData;
|
|
31
|
+
try {
|
|
32
|
+
nupkgData = fs.readFileSync(nupkgPath);
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
if (err.code == 'ENOENT') {
|
|
36
|
+
debug('No nupkg file found at ' + nupkgPath);
|
|
37
|
+
return null; //this is needed not to break existing code flow
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw err;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const nuspecZipData = await JSZip.loadAsync(nupkgData);
|
|
44
|
+
const nuspecFile = Object.keys(nuspecZipData.files).find(file => {
|
|
45
|
+
return path.extname(file) === '.nuspec';
|
|
46
|
+
});
|
|
47
|
+
if (!nuspecFile) {
|
|
48
|
+
throw new Error('`failed to read nupkg file from: ${nupkgPath}`');
|
|
49
|
+
}
|
|
50
|
+
if (!nuspecZipData) {
|
|
51
|
+
throw new Error(`failed to open nupkg file as an archive from: ${nupkgPath}`);
|
|
52
|
+
}
|
|
53
|
+
return await nuspecZipData.files[nuspecFile].async('text');
|
|
54
|
+
}
|
|
55
|
+
//this is exported for testing, but should not executed directly. Hence the '_' in the name.
|
|
56
|
+
async function _parsedNuspec(nuspecContent, targetFramework, depName) {
|
|
57
|
+
var _a;
|
|
58
|
+
const parsedNuspec = await parseXML.parseStringPromise(nuspecContent);
|
|
59
|
+
let ownDeps = [];
|
|
60
|
+
//note: this will throw if assertion fails
|
|
61
|
+
assertNuspecSchema(parsedNuspec);
|
|
62
|
+
for (const metadata of parsedNuspec.package.metadata) {
|
|
63
|
+
(_a = metadata.dependencies) === null || _a === void 0 ? void 0 : _a.forEach(rawDependency => {
|
|
64
|
+
// Find and add target framework version specific dependencies
|
|
65
|
+
const depsForTargetFramework = extractDepsForTargetFramework(rawDependency, targetFramework);
|
|
66
|
+
if (depsForTargetFramework && depsForTargetFramework.group) {
|
|
67
|
+
ownDeps = ownDeps.concat(extractDepsFromRaw(depsForTargetFramework.group.dependency));
|
|
68
|
+
}
|
|
69
|
+
// Find all groups with no targetFramework attribute
|
|
70
|
+
// add their deps
|
|
71
|
+
const depsFromPlainGroups = extractDepsForPlainGroups(rawDependency);
|
|
72
|
+
if (depsFromPlainGroups) {
|
|
73
|
+
depsFromPlainGroups.forEach(depGroup => {
|
|
74
|
+
ownDeps = ownDeps.concat(extractDepsFromRaw(depGroup.dependency));
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Add the default dependencies
|
|
78
|
+
ownDeps = ownDeps.concat(extractDepsFromRaw(rawDependency.dependency));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
children: ownDeps,
|
|
83
|
+
name: depName,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
exports._parsedNuspec = _parsedNuspec;
|
|
87
|
+
function assertNuspecSchema(parsedNuspec) {
|
|
88
|
+
var _a;
|
|
89
|
+
if (!((_a = parsedNuspec.package) === null || _a === void 0 ? void 0 : _a.metadata)) {
|
|
90
|
+
throw new Error('This is an invalid nuspec file. Package or Metadata xml section is missing. This is a required element. See https://docs.microsoft.com/en-us/nuget/reference/nuspec');
|
|
91
|
+
}
|
|
92
|
+
//just in case, this should *not* happen
|
|
93
|
+
if (!Array.isArray(parsedNuspec.package.metadata)) {
|
|
94
|
+
throw new Error('This is an invalid nuspec file; the metadata tag is supposed to be a collection of objects but it is not!');
|
|
95
|
+
}
|
|
96
|
+
for (const metadata of parsedNuspec.package.metadata) {
|
|
97
|
+
//just in case, this shouldn't happen as this would indicate invalid/malformed nuspec file
|
|
98
|
+
if (metadata == null || typeof metadata !== 'object') {
|
|
99
|
+
throw new Error('Expected elements in a "metadata" tag to be objects, but they were ' +
|
|
100
|
+
typeof metadata +
|
|
101
|
+
', this is not supposed to happen and is likely due to malformed nuspec file.');
|
|
102
|
+
}
|
|
103
|
+
if (metadata.dependencies) {
|
|
104
|
+
//just in case, error would indicate malformed nuspec
|
|
105
|
+
if (!Array.isArray(metadata.dependencies)) {
|
|
106
|
+
throw new Error('Expected that "dependencies" tag would be an array but it isn\'t. This is not supposed to happen and is likely due to malformed nuspec file!');
|
|
107
|
+
}
|
|
108
|
+
for (const rawDependency of metadata.dependencies) {
|
|
109
|
+
//just in case, shouldn't happen as this would indicate malformed nuspec format
|
|
110
|
+
if (typeof rawDependency !== 'object') {
|
|
111
|
+
throw new Error('Unexpected dependency value. Expected it to be object but it was ' +
|
|
112
|
+
typeof rawDependency +
|
|
113
|
+
', this is likely a malformed nuspec');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
67
119
|
function extractDepsForPlainGroups(rawDependency) {
|
|
68
120
|
if (!rawDependency.group) {
|
|
69
121
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nuspec-parser.js","sourceRoot":"","sources":["../../lib/nuget-parser/nuspec-parser.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,yBAAyB;AACzB,6BAA6B;AAC7B,mCAAmC;AAEnC,qCAAqC;
|
|
1
|
+
{"version":3,"file":"nuspec-parser.js","sourceRoot":"","sources":["../../lib/nuget-parser/nuspec-parser.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,yBAAyB;AACzB,6BAA6B;AAC7B,mCAAmC;AAEnC,qCAAqC;AAIrC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAElC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE9C,KAAK,UAAU,WAAW,CAC/B,GAAmB,EACnB,eAAgC;IAEhC,YAAY;IACZ,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;KACH;IAED,oBAAoB;IACpB,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;KACH;IAED,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,aAAa,KAAK,IAAI,EAAE;QAC1B,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,MAAM,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAzBD,kCAyBC;AAED,KAAK,UAAU,mBAAmB,CAChC,GAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAC5B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,QAAQ,CACxC,CAAC;IAEF,IAAI,SAAiB,CAAC;IACtB,IAAI;QACF,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;KACxC;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,CAAC,IAAI,IAAI,QAAQ,EAAE;YACxB,KAAK,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,CAAC,gDAAgD;SAC9D;aAAM;YACL,MAAM,GAAG,CAAC;SACX;KACF;IACD,MAAM,aAAa,GAAQ,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CACb,iDAAiD,SAAS,EAAE,CAC7D,CAAC;KACH;IAED,OAAO,MAAM,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,4FAA4F;AACrF,KAAK,UAAU,aAAa,CACjC,aAAqB,EACrB,eAAgC,EAChC,OAAe;;IAEf,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACtE,IAAI,OAAO,GAAiB,EAAE,CAAC;IAE/B,0CAA0C;IAC1C,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAEjC,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;QACpD,MAAA,QAAQ,CAAC,YAAY,0CAAE,OAAO,CAAC,aAAa,CAAC,EAAE;YAC7C,8DAA8D;YAC9D,MAAM,sBAAsB,GAAG,6BAA6B,CAC1D,aAAa,EACb,eAAe,CAChB,CAAC;YACF,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,KAAK,EAAE;gBAC1D,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,kBAAkB,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,CAC5D,CAAC;aACH;YAED,oDAAoD;YACpD,iBAAiB;YACjB,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAErE,IAAI,mBAAmB,EAAE;gBACvB,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACrC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;aACJ;YAED,+BAA+B;YAC/B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;QACzE,CAAC,EAAE;KACJ;IAED,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,OAAO;KACd,CAAC;AACJ,CAAC;AA3CD,sCA2CC;AAED,SAAS,kBAAkB,CAAC,YAAiB;;IAC3C,IAAI,QAAC,YAAY,CAAC,OAAO,0CAAE,QAAQ,CAAA,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,qKAAqK,CACtK,CAAC;KACH;IAED,wCAAwC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;KACH;IAED,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;QACpD,0FAA0F;QAC1F,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YACpD,MAAM,IAAI,KAAK,CACb,qEAAqE;gBACnE,OAAO,QAAQ;gBACf,8EAA8E,CACjF,CAAC;SACH;QAED,IAAI,QAAQ,CAAC,YAAY,EAAE;YACzB,qDAAqD;YACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBACzC,MAAM,IAAI,KAAK,CACb,8IAA8I,CAC/I,CAAC;aACH;YAED,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,YAAY,EAAE;gBACjD,+EAA+E;gBAC/E,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;oBACrC,MAAM,IAAI,KAAK,CACb,mEAAmE;wBACjE,OAAO,aAAa;wBACpB,qCAAqC,CACxC,CAAC;iBACH;aACF;SACF;KACF;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,aAAa;IAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACxC,mEAAmE;QACnE,OAAO,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,aAAa,EAAE,eAAe;IACnE,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;QAC1C,OAAO;KACR;IAED,OAAO,aAAa,CAAC,KAAK;SACvB,MAAM,CAAC,KAAK,CAAC,EAAE;;QACd,OAAO,CACL,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,CAAC,0CAAE,eAAe;YACzB,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CACnD,CAAC;IACJ,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAClE,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACnB,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;SAClB,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE;YAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAC9C;QAED,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,EAAE;QACZ,OAAO,CACL,eAAe,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAC7C,eAAe,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CAAC,eAAe;IACzC,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC;gBACR,YAAY,EAAE,EAAE;gBAChB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBACd,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO;aACvB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED