@cordy/electro-cli 1.2.10 → 1.2.11
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.
- package/dist/index.mjs +91 -3
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -491,7 +491,7 @@ const cac = (name = "") => new CAC(name);
|
|
|
491
491
|
|
|
492
492
|
//#endregion
|
|
493
493
|
//#region package.json
|
|
494
|
-
var version$1 = "1.2.
|
|
494
|
+
var version$1 = "1.2.11";
|
|
495
495
|
|
|
496
496
|
//#endregion
|
|
497
497
|
//#region src/dev/logger.ts
|
|
@@ -2201,6 +2201,30 @@ function deduplicatePlugins(plugins) {
|
|
|
2201
2201
|
return result;
|
|
2202
2202
|
}
|
|
2203
2203
|
|
|
2204
|
+
//#endregion
|
|
2205
|
+
//#region src/dev/bridge-types.ts
|
|
2206
|
+
const GENERATED_BRIDGE_DIRS = ["views", "windows"];
|
|
2207
|
+
/**
|
|
2208
|
+
* Resolve generated bridge declaration file for a view.
|
|
2209
|
+
* Supports both historical `generated/windows/*` and current `generated/views/*`.
|
|
2210
|
+
*/
|
|
2211
|
+
function findBridgeTypesForView(files, viewName) {
|
|
2212
|
+
const byPath = files.find((f) => f.path === `generated/views/${viewName}.bridge.d.ts`) ?? files.find((f) => f.path === `generated/windows/${viewName}.bridge.d.ts`);
|
|
2213
|
+
if (byPath) return byPath;
|
|
2214
|
+
return files.find((f) => f.path.endsWith(`/${viewName}.bridge.d.ts`)) ?? null;
|
|
2215
|
+
}
|
|
2216
|
+
/** Target location for per-view bridge types next to the config file. */
|
|
2217
|
+
function resolveViewBridgePath(view) {
|
|
2218
|
+
if (!view.__source) return null;
|
|
2219
|
+
return resolve(dirname(view.__source), "bridge.d.ts");
|
|
2220
|
+
}
|
|
2221
|
+
function isGeneratedBridgeTypesPath(path) {
|
|
2222
|
+
return GENERATED_BRIDGE_DIRS.some((dir) => path.startsWith(`generated/${dir}/`) && path.endsWith(".bridge.d.ts"));
|
|
2223
|
+
}
|
|
2224
|
+
function generatedBridgeTypesPaths(viewName) {
|
|
2225
|
+
return GENERATED_BRIDGE_DIRS.map((dir) => `generated/${dir}/${viewName}.bridge.d.ts`);
|
|
2226
|
+
}
|
|
2227
|
+
|
|
2204
2228
|
//#endregion
|
|
2205
2229
|
//#region src/plugins/utils.ts
|
|
2206
2230
|
/** Strip query and hash from a URL/path. */
|
|
@@ -2911,13 +2935,28 @@ async function build$1(options) {
|
|
|
2911
2935
|
});
|
|
2912
2936
|
await mkdir(codegenDir, { recursive: true });
|
|
2913
2937
|
for (const file of files) {
|
|
2938
|
+
if (isGeneratedBridgeTypesPath(file.path)) continue;
|
|
2914
2939
|
const filePath = resolve(codegenDir, file.path);
|
|
2915
2940
|
await mkdir(dirname(filePath), { recursive: true });
|
|
2916
2941
|
await writeFile(filePath, file.content);
|
|
2917
2942
|
}
|
|
2943
|
+
for (const view of views) {
|
|
2944
|
+
const bridge = findBridgeTypesForView(files, view.name);
|
|
2945
|
+
const bridgePath = resolveViewBridgePath(view);
|
|
2946
|
+
if (bridge && bridgePath) {
|
|
2947
|
+
await mkdir(dirname(bridgePath), { recursive: true });
|
|
2948
|
+
await writeFileIfChanged$2(bridgePath, bridge.content);
|
|
2949
|
+
}
|
|
2950
|
+
for (const relPath of generatedBridgeTypesPaths(view.name)) {
|
|
2951
|
+
const legacyPath = resolve(codegenDir, relPath);
|
|
2952
|
+
try {
|
|
2953
|
+
await unlink(legacyPath);
|
|
2954
|
+
} catch {}
|
|
2955
|
+
}
|
|
2956
|
+
}
|
|
2918
2957
|
const envTypesPath = resolve(srcDir, envTypes.path);
|
|
2919
2958
|
await mkdir(dirname(envTypesPath), { recursive: true });
|
|
2920
|
-
await
|
|
2959
|
+
await writeFileIfChanged$2(envTypesPath, envTypes.content);
|
|
2921
2960
|
step("codegen", codegenTimer());
|
|
2922
2961
|
} catch (err) {
|
|
2923
2962
|
stepFail("codegen", err instanceof Error ? err.message : String(err));
|
|
@@ -2982,6 +3021,12 @@ async function build$1(options) {
|
|
|
2982
3021
|
}
|
|
2983
3022
|
footer(`Built in ${totalTimer()}`, outDir);
|
|
2984
3023
|
}
|
|
3024
|
+
async function writeFileIfChanged$2(filePath, content) {
|
|
3025
|
+
try {
|
|
3026
|
+
if (await readFile(filePath, "utf-8") === content) return;
|
|
3027
|
+
} catch {}
|
|
3028
|
+
await writeFile(filePath, content);
|
|
3029
|
+
}
|
|
2985
3030
|
async function buildMain(args) {
|
|
2986
3031
|
const runtimeEntry = args.config.runtime.entry;
|
|
2987
3032
|
const entry = resolve(dirname(args.config.runtime.__source), runtimeEntry);
|
|
@@ -3271,13 +3316,28 @@ var DevServer = class {
|
|
|
3271
3316
|
});
|
|
3272
3317
|
await mkdir(outputDir, { recursive: true });
|
|
3273
3318
|
for (const file of files) {
|
|
3319
|
+
if (isGeneratedBridgeTypesPath(file.path)) continue;
|
|
3274
3320
|
const filePath = resolve(outputDir, file.path);
|
|
3275
3321
|
await mkdir(dirname(filePath), { recursive: true });
|
|
3276
3322
|
await writeFile(filePath, file.content);
|
|
3277
3323
|
}
|
|
3324
|
+
for (const view of this.config.views ?? []) {
|
|
3325
|
+
const bridge = findBridgeTypesForView(files, view.name);
|
|
3326
|
+
const bridgePath = resolveViewBridgePath(view);
|
|
3327
|
+
if (bridge && bridgePath) {
|
|
3328
|
+
await mkdir(dirname(bridgePath), { recursive: true });
|
|
3329
|
+
await writeFileIfChanged$1(bridgePath, bridge.content);
|
|
3330
|
+
}
|
|
3331
|
+
for (const relPath of generatedBridgeTypesPaths(view.name)) {
|
|
3332
|
+
const legacyPath = resolve(outputDir, relPath);
|
|
3333
|
+
try {
|
|
3334
|
+
await unlink(legacyPath);
|
|
3335
|
+
} catch {}
|
|
3336
|
+
}
|
|
3337
|
+
}
|
|
3278
3338
|
const envTypesPath = resolve(srcDir, envTypes.path);
|
|
3279
3339
|
await mkdir(dirname(envTypesPath), { recursive: true });
|
|
3280
|
-
await
|
|
3340
|
+
await writeFileIfChanged$1(envTypesPath, envTypes.content);
|
|
3281
3341
|
}
|
|
3282
3342
|
async startRenderer() {
|
|
3283
3343
|
const views = (this.config.views ?? []).filter((v) => v.entry);
|
|
@@ -3557,6 +3617,12 @@ var DevServer = class {
|
|
|
3557
3617
|
});
|
|
3558
3618
|
}
|
|
3559
3619
|
};
|
|
3620
|
+
async function writeFileIfChanged$1(filePath, content) {
|
|
3621
|
+
try {
|
|
3622
|
+
if (await readFile(filePath, "utf-8") === content) return;
|
|
3623
|
+
} catch {}
|
|
3624
|
+
await writeFile(filePath, content);
|
|
3625
|
+
}
|
|
3560
3626
|
|
|
3561
3627
|
//#endregion
|
|
3562
3628
|
//#region src/commands/dev.ts
|
|
@@ -3617,17 +3683,39 @@ async function generate$1(options) {
|
|
|
3617
3683
|
});
|
|
3618
3684
|
console.log(`Generating ${files.length + 1} file(s)...`);
|
|
3619
3685
|
for (const file of files) {
|
|
3686
|
+
if (isGeneratedBridgeTypesPath(file.path)) continue;
|
|
3620
3687
|
const fullPath = resolve(outputDir, file.path);
|
|
3621
3688
|
await mkdir(dirname(fullPath), { recursive: true });
|
|
3622
3689
|
await writeFile(fullPath, file.content);
|
|
3623
3690
|
console.log(` .electro/${file.path}`);
|
|
3624
3691
|
}
|
|
3692
|
+
for (const view of views) {
|
|
3693
|
+
const bridge = findBridgeTypesForView(files, view.name);
|
|
3694
|
+
const bridgePath = resolveViewBridgePath(view);
|
|
3695
|
+
if (bridge && bridgePath) {
|
|
3696
|
+
await mkdir(dirname(bridgePath), { recursive: true });
|
|
3697
|
+
await writeFileIfChanged(bridgePath, bridge.content);
|
|
3698
|
+
console.log(` ${relative(process.cwd(), bridgePath)}`);
|
|
3699
|
+
}
|
|
3700
|
+
for (const relPath of generatedBridgeTypesPaths(view.name)) {
|
|
3701
|
+
const legacyPath = resolve(outputDir, relPath);
|
|
3702
|
+
try {
|
|
3703
|
+
await unlink(legacyPath);
|
|
3704
|
+
} catch {}
|
|
3705
|
+
}
|
|
3706
|
+
}
|
|
3625
3707
|
const envTypesPath = resolve(srcDir, envTypes.path);
|
|
3626
3708
|
await mkdir(dirname(envTypesPath), { recursive: true });
|
|
3627
3709
|
await writeFile(envTypesPath, envTypes.content);
|
|
3628
3710
|
console.log(` src/${envTypes.path}`);
|
|
3629
3711
|
console.log("Done.");
|
|
3630
3712
|
}
|
|
3713
|
+
async function writeFileIfChanged(filePath, content) {
|
|
3714
|
+
try {
|
|
3715
|
+
if (await readFile(filePath, "utf-8") === content) return;
|
|
3716
|
+
} catch {}
|
|
3717
|
+
await writeFile(filePath, content);
|
|
3718
|
+
}
|
|
3631
3719
|
|
|
3632
3720
|
//#endregion
|
|
3633
3721
|
//#region src/commands/preview.ts
|