@cordy/electro-generator 1.2.15 → 1.2.16
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 +10 -3
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -28,7 +28,7 @@ function methodStub(featureId, serviceId, method) {
|
|
|
28
28
|
* Structure: `window.electro.{featureId}.{serviceId}.{method}()`
|
|
29
29
|
* Only EXPOSED scope services are included.
|
|
30
30
|
*/
|
|
31
|
-
function generatePreload(viewName, features, policy,
|
|
31
|
+
function generatePreload(viewName, features, policy, preloadExtensions = []) {
|
|
32
32
|
const allowedFeatures = features.filter((f) => policy.canAccess(viewName, f.id));
|
|
33
33
|
const featureEntries = [];
|
|
34
34
|
for (const feature of allowedFeatures) {
|
|
@@ -61,7 +61,10 @@ import { contextBridge, ipcRenderer } from "electron";
|
|
|
61
61
|
|
|
62
62
|
contextBridge.exposeInMainWorld("electro", ${featureEntries.length > 0 ? `{\n${featureEntries.join("\n")}\n}` : "{}"});
|
|
63
63
|
`;
|
|
64
|
-
if (
|
|
64
|
+
if (preloadExtensions.length > 0) {
|
|
65
|
+
content += `\n// User extensions\n`;
|
|
66
|
+
for (const extension of preloadExtensions) content += `import "${extension}";\n`;
|
|
67
|
+
}
|
|
65
68
|
return {
|
|
66
69
|
path: `generated/preload/${viewName}.gen.ts`,
|
|
67
70
|
content
|
|
@@ -241,7 +244,11 @@ function generate(input) {
|
|
|
241
244
|
for (const view of views) {
|
|
242
245
|
const knownIds = new Set(scanResult.features.map((f) => f.id));
|
|
243
246
|
for (const fId of view.features ?? []) if (!knownIds.has(fId)) console.warn(`[generator] View "${view.name}" references unknown feature "${fId}"`);
|
|
244
|
-
|
|
247
|
+
const preloadExtensions = /* @__PURE__ */ new Set();
|
|
248
|
+
if (typeof view.preload === "string" && view.preload.length > 0) preloadExtensions.add(view.preload);
|
|
249
|
+
const webPreferencesPreload = view.webPreferences?.preload;
|
|
250
|
+
if (typeof webPreferencesPreload === "string" && webPreferencesPreload.length > 0) preloadExtensions.add(webPreferencesPreload);
|
|
251
|
+
files.push(generatePreload(view.name, scanResult.features, policy, [...preloadExtensions]));
|
|
245
252
|
files.push(generateBridgeTypes(view, scanResult.features, policy));
|
|
246
253
|
}
|
|
247
254
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cordy/electro-generator",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.16",
|
|
4
4
|
"description": "Code generator for @cordy/electro — scans features and emits preload scripts and bridge types",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -44,14 +44,14 @@
|
|
|
44
44
|
"prepublishOnly": "bun run build"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"@cordy/electro": "1.2.
|
|
47
|
+
"@cordy/electro": "1.2.16"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"oxc-parser": "^0.114.0",
|
|
51
51
|
"tinyglobby": "^0.2.15"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@cordy/electro": "1.2.
|
|
54
|
+
"@cordy/electro": "1.2.16",
|
|
55
55
|
"tsdown": "^0.20.3",
|
|
56
56
|
"vitest": "v4.1.0-beta.3"
|
|
57
57
|
}
|