Skip to content

Commit 4b583e7

Browse files
Jake ChampionJakeChampion
authored andcommitted
chore: Add SDK metadata field to the wasm file generated from the @fastly-js-compute cli
1 parent 29acf33 commit 4b583e7

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

js-compute-runtime-cli.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { parseInputs } from './src/parseInputs.js'
44
import { printVersion } from "./src/printVersion.js";
55
import { printHelp } from "./src/printHelp.js";
6+
import { addSdkMetadataField } from "./src/addSdkMetadataField.js";
67

78
const {wasmEngine, input, component, output, version, help} = await parseInputs(process.argv.slice(2))
89

@@ -23,4 +24,5 @@ if (version) {
2324
const {compileComponent} = await import('./src/component.js');
2425
await compileComponent(output);
2526
}
27+
await addSdkMetadataField(output);
2628
}

src/addSdkMetadataField.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { metadataAdd } from '@bytecodealliance/jco';
2+
import { readFile, writeFile } from 'node:fs/promises';
3+
import { dirname, join } from "node:path";
4+
import { fileURLToPath } from "node:url";
5+
const __dirname = dirname(fileURLToPath(import.meta.url));
6+
7+
export async function addSdkMetadataField(wasmPath) {
8+
const packageJson = await readFile(join(__dirname, "../package.json"), {
9+
encoding: "utf-8",
10+
});
11+
const { name, version } = JSON.parse(packageJson);
12+
const metadata = [
13+
[
14+
"sdk",
15+
[
16+
[name, version],
17+
],
18+
],
19+
];
20+
const wasm = await readFile(wasmPath);
21+
const newWasm = await metadataAdd(wasm, metadata);
22+
await writeFile(wasmPath, newWasm);
23+
}

0 commit comments

Comments
 (0)