@mongodb-js/sbom-tools 0.4.0 → 0.5.1
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.
|
@@ -13,7 +13,8 @@ export declare class WebpackDependenciesPlugin implements WebpackPluginInstance
|
|
|
13
13
|
includePackages: string[];
|
|
14
14
|
constructor(options?: WebpackDependenciesPluginOptions);
|
|
15
15
|
private isThirdPartyModule;
|
|
16
|
-
private
|
|
16
|
+
private getWebpackModulePath;
|
|
17
|
+
private addIncludedPackages;
|
|
17
18
|
apply(compiler: Compiler): void;
|
|
18
19
|
}
|
|
19
20
|
export default WebpackDependenciesPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack-dependencies-plugin.d.ts","sourceRoot":"","sources":["../src/webpack-dependencies-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"webpack-dependencies-plugin.d.ts","sourceRoot":"","sources":["../src/webpack-dependencies-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAa/D,oBAAY,gCAAgC,GAAG;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qCAAqC,CAAC,EAAE,OAAO,CAAC;CACjD,CAAC;AAMF,qBAAa,yBAA0B,YAAW,qBAAqB;IAOzD,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,cAAqB;IACpC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,eAAe,EAAE,MAAM,EAAE,CAAM;gBAEX,OAAO,GAAE,gCAAqC;IAOlE,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,mBAAmB;IAmB3B,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAwDhC;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -7,6 +7,7 @@ exports.WebpackDependenciesPlugin = void 0;
|
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const fs_1 = require("fs");
|
|
9
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const error_stack_parser_1 = __importDefault(require("error-stack-parser"));
|
|
10
11
|
const production_deps_1 = require("./production-deps");
|
|
11
12
|
const get_package_info_1 = require("./get-package-info");
|
|
12
13
|
const PLUGIN_NAME = 'WebpackDependenciesPlugin';
|
|
@@ -17,30 +18,6 @@ class WebpackDependenciesPlugin {
|
|
|
17
18
|
this.pluginName = PLUGIN_NAME;
|
|
18
19
|
this.resolvedModules = new Set();
|
|
19
20
|
this.includePackages = [];
|
|
20
|
-
this.handleTap = (compilation) => {
|
|
21
|
-
for (const module of compilation.modules) {
|
|
22
|
-
const resource = module.resource;
|
|
23
|
-
if (resource) {
|
|
24
|
-
const modulePath = resource;
|
|
25
|
-
if (typeof modulePath === 'string' &&
|
|
26
|
-
this.isThirdPartyModule(modulePath)) {
|
|
27
|
-
this.resolvedModules.add(modulePath);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
const includePackages = [
|
|
32
|
-
...(this.includeExternalProductionDependencies
|
|
33
|
-
? (0, production_deps_1.findAllProdDepsTreeLocations)(compilation.compiler.context)
|
|
34
|
-
: []),
|
|
35
|
-
...(this.includePackages || []).map((packageName) => (0, production_deps_1.findPackageLocation)(packageName, compilation.compiler.context)),
|
|
36
|
-
];
|
|
37
|
-
for (const includedPackagePath of includePackages) {
|
|
38
|
-
const packageJsonPath = path_1.default.join(includedPackagePath, 'package.json');
|
|
39
|
-
if (packageJsonPath) {
|
|
40
|
-
this.resolvedModules.add(packageJsonPath);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
21
|
this.includeExternalProductionDependencies =
|
|
45
22
|
(_a = options.includeExternalProductionDependencies) !== null && _a !== void 0 ? _a : false;
|
|
46
23
|
this.includePackages = (_b = options.includePackages) !== null && _b !== void 0 ? _b : [];
|
|
@@ -49,7 +26,46 @@ class WebpackDependenciesPlugin {
|
|
|
49
26
|
isThirdPartyModule(modulePath) {
|
|
50
27
|
return modulePath.split(path_1.default.sep).includes('node_modules');
|
|
51
28
|
}
|
|
29
|
+
getWebpackModulePath(error) {
|
|
30
|
+
const stack = error_stack_parser_1.default.parse(error);
|
|
31
|
+
const webpackEntry = stack.find((entry) => {
|
|
32
|
+
var _a;
|
|
33
|
+
return (_a = entry.fileName) === null || _a === void 0 ? void 0 : _a.split(path_1.default.win32.sep).join(path_1.default.posix.sep).includes('node_modules/webpack');
|
|
34
|
+
});
|
|
35
|
+
return webpackEntry === null || webpackEntry === void 0 ? void 0 : webpackEntry.fileName;
|
|
36
|
+
}
|
|
37
|
+
addIncludedPackages(compiler) {
|
|
38
|
+
const includePackages = [
|
|
39
|
+
...(this.includeExternalProductionDependencies
|
|
40
|
+
? (0, production_deps_1.findAllProdDepsTreeLocations)(compiler.context)
|
|
41
|
+
: []),
|
|
42
|
+
...(this.includePackages || []).map((packageName) => (0, production_deps_1.findPackageLocation)(packageName, compiler.context)),
|
|
43
|
+
];
|
|
44
|
+
for (const includedPackagePath of includePackages) {
|
|
45
|
+
const packageJsonPath = path_1.default.join(includedPackagePath, 'package.json');
|
|
46
|
+
if (packageJsonPath) {
|
|
47
|
+
this.resolvedModules.add(packageJsonPath);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
52
51
|
apply(compiler) {
|
|
52
|
+
const webpackModulePath = this.getWebpackModulePath(new Error());
|
|
53
|
+
this.addIncludedPackages(compiler);
|
|
54
|
+
compiler.hooks.done.tapAsync(PLUGIN_NAME, (stats, done) => {
|
|
55
|
+
const { modules } = stats.toJson();
|
|
56
|
+
modules === null || modules === void 0 ? void 0 : modules.forEach(({ type, nameForCondition }) => {
|
|
57
|
+
if (type === 'module' &&
|
|
58
|
+
nameForCondition &&
|
|
59
|
+
this.isThirdPartyModule(nameForCondition)) {
|
|
60
|
+
this.resolvedModules.add(nameForCondition);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
if ((modules === null || modules === void 0 ? void 0 : modules.find((m) => { var _a; return m.moduleType === 'runtime' && ((_a = m.name) === null || _a === void 0 ? void 0 : _a.startsWith('webpack/runtime')); })) &&
|
|
64
|
+
webpackModulePath) {
|
|
65
|
+
this.resolvedModules.add(webpackModulePath);
|
|
66
|
+
}
|
|
67
|
+
done();
|
|
68
|
+
});
|
|
53
69
|
compiler.hooks.shutdown.tapPromise(PLUGIN_NAME, async () => {
|
|
54
70
|
var _a;
|
|
55
71
|
const dependencyList = await Promise.all(Array.from(this.resolvedModules).map(get_package_info_1.getPackageInfo));
|
|
@@ -61,7 +77,6 @@ class WebpackDependenciesPlugin {
|
|
|
61
77
|
});
|
|
62
78
|
await fs_1.promises.writeFile(outputPath, JSON.stringify(sortedList, null, 2));
|
|
63
79
|
});
|
|
64
|
-
compiler.hooks.emit.tap(PLUGIN_NAME, this.handleTap);
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
exports.WebpackDependenciesPlugin = WebpackDependenciesPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack-dependencies-plugin.js","sourceRoot":"","sources":["../src/webpack-dependencies-plugin.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,2BAAoC;AAEpC,oDAAuB;AAEvB,uDAG2B;AAC3B,yDAAoD;AAEpD,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAYhD,MAAa,yBAAyB;IAOpC,YAAoB,UAA4C,EAAE;;QAA9C,YAAO,GAAP,OAAO,CAAuC;QANjD,eAAU,GAAG,WAAW,CAAC;QAE1C,oBAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,oBAAe,GAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"webpack-dependencies-plugin.js","sourceRoot":"","sources":["../src/webpack-dependencies-plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"email": "compass@mongodb.com"
|
|
17
17
|
},
|
|
18
18
|
"homepage": "https://github.com/mongodb-js/devtools-shared",
|
|
19
|
-
"version": "0.
|
|
19
|
+
"version": "0.5.1",
|
|
20
20
|
"repository": {
|
|
21
21
|
"type": "git",
|
|
22
22
|
"url": "https://github.com/mongodb-js/devtools-shared.git"
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"reformat": "npm run prettier -- --write ."
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@mongodb-js/eslint-config-devtools": "0.9.
|
|
52
|
+
"@mongodb-js/eslint-config-devtools": "0.9.4",
|
|
53
53
|
"@mongodb-js/mocha-config-compass": "^0.10.0",
|
|
54
54
|
"@mongodb-js/prettier-config-compass": "^0.5.0",
|
|
55
55
|
"@mongodb-js/tsconfig-compass": "^0.6.0",
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@pkgjs/nv": "^0.2.1",
|
|
78
78
|
"commander": "^10.0.1",
|
|
79
|
+
"error-stack-parser": "^2.1.4",
|
|
79
80
|
"find-up": "^4.1.0",
|
|
80
81
|
"lodash": "^4.17.21",
|
|
81
82
|
"node-fetch": "^2.6.7",
|
|
@@ -83,5 +84,5 @@
|
|
|
83
84
|
"snyk-policy": "^2.0.4",
|
|
84
85
|
"spdx-satisfies": "^5.0.1"
|
|
85
86
|
},
|
|
86
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "a9af956a4aa2737d3b50ff34ecf8b11d349ddf70"
|
|
87
88
|
}
|