mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 10:00:42 +00:00
refactor(plugins): declare static runtime assets in package metadata
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { discoverStaticExtensionAssets } from "../../scripts/lib/static-extension-assets.mjs";
|
||||
import {
|
||||
copyStaticExtensionAssets,
|
||||
listStaticExtensionAssetOutputs,
|
||||
@@ -23,6 +24,37 @@ describe("runtime postbuild static assets", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("discovers static assets from plugin package metadata", async () => {
|
||||
const rootDir = createTempDir("openclaw-runtime-postbuild-");
|
||||
const packageDir = path.join(rootDir, "extensions", "demo");
|
||||
await fs.mkdir(packageDir, { recursive: true });
|
||||
await fs.writeFile(
|
||||
path.join(packageDir, "package.json"),
|
||||
JSON.stringify({
|
||||
name: "@openclaw/demo",
|
||||
openclaw: {
|
||||
build: {
|
||||
staticAssets: [
|
||||
{
|
||||
source: "./assets/runtime.js",
|
||||
output: "assets/runtime.js",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
}),
|
||||
"utf8",
|
||||
);
|
||||
|
||||
expect(discoverStaticExtensionAssets({ rootDir })).toEqual([
|
||||
{
|
||||
pluginDir: "demo",
|
||||
src: "extensions/demo/assets/runtime.js",
|
||||
dest: "dist/extensions/demo/assets/runtime.js",
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
it("copies declared static assets into dist", async () => {
|
||||
const rootDir = createTempDir("openclaw-runtime-postbuild-");
|
||||
const src = "extensions/acpx/src/runtime-internals/mcp-proxy.mjs";
|
||||
|
||||
Reference in New Issue
Block a user