源码快照 @ 2026-09-02 (source-only, 剔除非源码素材)
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { readFile } from "node:fs/promises";
|
||||
import { describe, it } from "node:test";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import YAML from "yaml";
|
||||
|
||||
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
async function readConfig(name) {
|
||||
return YAML.parse(await readFile(path.resolve(dirname, "..", name), "utf8"));
|
||||
}
|
||||
|
||||
describe("Electron distribution configs", () => {
|
||||
it("uses a stable Linux desktop identity and ships integration icons", async () => {
|
||||
const packageMetadata = JSON.parse(
|
||||
await readFile(path.resolve(dirname, "..", "package.json"), "utf8"),
|
||||
);
|
||||
const config = await readConfig("electron-builder.base.yml");
|
||||
assert.equal(packageMetadata.desktopName, "com.differentai.openwork");
|
||||
assert.equal(config.npmRebuild, false);
|
||||
assert.deepEqual(config.files.at(-1), {
|
||||
from: ".electron-runtime/node_modules",
|
||||
to: "node_modules",
|
||||
});
|
||||
assert.equal(config.linux.syncDesktopName, true);
|
||||
assert.equal(config.linux.icon, "resources/icons/linux");
|
||||
assert.deepEqual(config.linux.extraResources[0], {
|
||||
from: "resources/icons/linux",
|
||||
to: "icons/linux",
|
||||
filter: ["*.png"],
|
||||
});
|
||||
});
|
||||
|
||||
it("keeps the public artifact and protocol unchanged", async () => {
|
||||
const config = await readConfig("electron-builder.yml");
|
||||
assert.equal(config.extends, "./electron-builder.base.yml");
|
||||
assert.equal(config.appId, "com.differentai.openwork");
|
||||
assert.equal(config.productName, "OpenWork");
|
||||
assert.equal(config.protocols[0].schemes[0], "openwork");
|
||||
assert.equal(config.artifactName, "openwork-${os}-${arch}-${version}.${ext}");
|
||||
});
|
||||
|
||||
it("defines an enterprise flavor with the standard app identity and release provider", async () => {
|
||||
const config = await readConfig("electron-builder.enterprise.yml");
|
||||
assert.equal(config.extends, "./electron-builder.base.yml");
|
||||
assert.equal(config.appId, "com.differentai.openwork");
|
||||
assert.equal(config.productName, "OpenWork Enterprise");
|
||||
assert.equal(config.extraMetadata.openworkDistribution, "enterprise");
|
||||
assert.equal(config.protocols[0].schemes[0], "openwork");
|
||||
assert.equal(config.publish[0].provider, "github");
|
||||
assert.equal(config.publish[0].owner, "different-ai");
|
||||
assert.equal(config.publish[0].repo, "openwork");
|
||||
assert.equal(config.publish[0].channel, "enterprise");
|
||||
assert.equal(
|
||||
config.artifactName,
|
||||
"openwork-enterprise-${os}-${arch}-${version}.${ext}",
|
||||
);
|
||||
});
|
||||
|
||||
it("defines a Cloud flavor with its own artifacts and updater channel", async () => {
|
||||
const config = await readConfig("electron-builder.cloud.yml");
|
||||
assert.equal(config.extends, "./electron-builder.base.yml");
|
||||
assert.equal(config.appId, "com.differentai.openwork");
|
||||
assert.equal(config.productName, "OpenWork Cloud");
|
||||
assert.equal(config.extraMetadata.openworkDistribution, "cloud");
|
||||
assert.equal(config.protocols[0].schemes[0], "openwork");
|
||||
assert.equal(config.publish[0].channel, "cloud");
|
||||
assert.equal(
|
||||
config.artifactName,
|
||||
"openwork-cloud-${os}-${arch}-${version}.${ext}",
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user