fix(javascript): retain package entrypoint provenance
This commit is contained in:
1 parent
c27560e434
commit
7c8eb63fcc
8 files changed
+228
-26
No files matched your search
@@ -53,6 +53,7 @@ interface PackageRoleInput {
|
||||
readonly packageFile: JavaScriptArtifactFile;
|
||||
readonly kind: "electron-main" | "electron-renderer";
|
||||
readonly declaredPath: string | null;
|
||||
readonly field: "main" | "renderer" | "browser" | "module";
|
||||
}
|
||||
|
||||
/** Create the exact root artifact node from the inventory manifest. */
|
||||
@@ -552,7 +553,9 @@ export const addJavaScriptPackageNodes = (
|
||||
version: packageValue.version,
|
||||
main: packageValue.main,
|
||||
main_status: packageValue.main_status,
|
||||
renderer: packageValue.renderer,
|
||||
// Legacy derived candidate; source fields live in renderer_declarations.
|
||||
renderer: packageValue.renderer_entrypoint?.path ?? null,
|
||||
renderer_declarations: packageValue.renderer_declarations,
|
||||
parse_status: packageValue.status,
|
||||
},
|
||||
evidence: artifactObservationEvidence({
|
||||
@@ -612,13 +615,16 @@ export const addJavaScriptPackageNodes = (
|
||||
packageFile: file,
|
||||
kind: "electron-main",
|
||||
declaredPath: packageValue.main,
|
||||
field: "main",
|
||||
});
|
||||
addPackageRole(context, {
|
||||
packageNode: node,
|
||||
packageFile: file,
|
||||
kind: "electron-renderer",
|
||||
declaredPath: packageValue.renderer,
|
||||
});
|
||||
if (packageValue.renderer_entrypoint !== null)
|
||||
addPackageRole(context, {
|
||||
packageNode: node,
|
||||
packageFile: file,
|
||||
kind: "electron-renderer",
|
||||
declaredPath: packageValue.renderer_entrypoint.path,
|
||||
field: packageValue.renderer_entrypoint.field,
|
||||
});
|
||||
}
|
||||
return roots;
|
||||
};
|
||||
@@ -755,16 +761,14 @@ const addPackageRole = (
|
||||
kind: input.kind,
|
||||
anchor: input.packageFile,
|
||||
resolution,
|
||||
mechanism:
|
||||
input.kind === "electron-main"
|
||||
? "package.json:main"
|
||||
: "package.json:renderer",
|
||||
mechanism: `package.json:${input.field}`,
|
||||
});
|
||||
context.accumulator.addEdge({
|
||||
source_node_id: input.packageNode.node_id,
|
||||
target_node_id: role.node_id,
|
||||
relation: "loads",
|
||||
properties: {
|
||||
source_field: input.field,
|
||||
declared_path: input.declaredPath,
|
||||
resolution_context: resolution.resolution_context,
|
||||
resolved_path: resolution.resolved_path,
|
||||
|
||||
Reference in new issue
Block a user