everything-dev 1.44.1 → 1.46.0
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/build.cjs +328 -0
- package/dist/build.cjs.map +1 -0
- package/dist/build.mjs +320 -0
- package/dist/build.mjs.map +1 -0
- package/dist/cli/init.cjs +1 -1
- package/dist/cli/init.mjs +1 -1
- package/dist/cli/sync.cjs +7 -1
- package/dist/cli/sync.cjs.map +1 -1
- package/dist/cli/sync.mjs +7 -1
- package/dist/cli/sync.mjs.map +1 -1
- package/dist/cli/upgrade.cjs +2 -2
- package/dist/cli/upgrade.mjs +2 -2
- package/dist/cli.cjs +36 -2
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +36 -2
- package/dist/cli.mjs.map +1 -1
- package/dist/code-artifacts.cjs +25 -0
- package/dist/code-artifacts.cjs.map +1 -0
- package/dist/code-artifacts.mjs +24 -0
- package/dist/code-artifacts.mjs.map +1 -0
- package/dist/contract.cjs +16 -2
- package/dist/contract.cjs.map +1 -1
- package/dist/contract.d.cts +83 -17
- package/dist/contract.d.cts.map +1 -1
- package/dist/contract.d.mts +83 -17
- package/dist/contract.d.mts.map +1 -1
- package/dist/contract.meta.cjs +2 -0
- package/dist/contract.meta.cjs.map +1 -1
- package/dist/contract.meta.d.cts +6 -0
- package/dist/contract.meta.d.mts +6 -0
- package/dist/contract.meta.mjs +2 -0
- package/dist/contract.meta.mjs.map +1 -1
- package/dist/contract.mjs +16 -3
- package/dist/contract.mjs.map +1 -1
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/integrity.cjs +79 -0
- package/dist/integrity.cjs.map +1 -1
- package/dist/integrity.d.cts +17 -1
- package/dist/integrity.d.cts.map +1 -1
- package/dist/integrity.d.mts +17 -1
- package/dist/integrity.d.mts.map +1 -1
- package/dist/integrity.mjs +76 -1
- package/dist/integrity.mjs.map +1 -1
- package/dist/near-cli.cjs +12 -15
- package/dist/near-cli.cjs.map +1 -1
- package/dist/near-cli.mjs +12 -15
- package/dist/near-cli.mjs.map +1 -1
- package/dist/plugin.cjs +47 -347
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts +34 -15
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.mts +34 -15
- package/dist/plugin.d.mts.map +1 -1
- package/dist/plugin.mjs +32 -331
- package/dist/plugin.mjs.map +1 -1
- package/dist/publish.cjs +220 -0
- package/dist/publish.cjs.map +1 -0
- package/dist/publish.mjs +217 -0
- package/dist/publish.mjs.map +1 -0
- package/dist/types.d.cts +2 -2
- package/dist/types.d.mts +2 -2
- package/dist/utils/run.cjs +21 -3
- package/dist/utils/run.cjs.map +1 -1
- package/dist/utils/run.mjs +21 -3
- package/dist/utils/run.mjs.map +1 -1
- package/dist/utils/string.cjs +9 -0
- package/dist/utils/string.cjs.map +1 -0
- package/dist/utils/string.mjs +8 -0
- package/dist/utils/string.mjs.map +1 -0
- package/package.json +1 -1
package/dist/plugin.cjs
CHANGED
|
@@ -7,24 +7,25 @@ const require_types = require('./types.cjs');
|
|
|
7
7
|
const require_config = require('./config.cjs');
|
|
8
8
|
const require_contract = require('./contract.cjs');
|
|
9
9
|
const require_integrity = require('./integrity.cjs');
|
|
10
|
-
const require_api_contract = require('./api-contract.cjs');
|
|
11
10
|
const require_app = require('./app.cjs');
|
|
11
|
+
const require_shared_deps = require('./shared-deps.cjs');
|
|
12
|
+
const require_run = require('./utils/run.cjs');
|
|
13
|
+
const require_theme = require('./utils/theme.cjs');
|
|
14
|
+
const require_build = require('./build.cjs');
|
|
12
15
|
const require_infra = require('./cli/infra.cjs');
|
|
13
16
|
const require_save_config = require('./utils/save-config.cjs');
|
|
14
17
|
const require_cli_init = require('./cli/init.cjs');
|
|
15
18
|
const require_status = require('./cli/status.cjs');
|
|
16
|
-
const require_shared_deps = require('./shared-deps.cjs');
|
|
17
19
|
const require_sync = require('./cli/sync.cjs');
|
|
18
20
|
const require_upgrade = require('./cli/upgrade.cjs');
|
|
19
|
-
const
|
|
21
|
+
const require_code_artifacts = require('./code-artifacts.cjs');
|
|
20
22
|
const require_near_cli = require('./near-cli.cjs');
|
|
23
|
+
const require_publish = require('./publish.cjs');
|
|
21
24
|
const require_service_descriptor = require('./service-descriptor.cjs');
|
|
22
|
-
const require_run = require('./utils/run.cjs');
|
|
23
25
|
let node_fs = require("node:fs");
|
|
24
26
|
let node_path = require("node:path");
|
|
25
27
|
let effect = require("effect");
|
|
26
28
|
let node_events = require("node:events");
|
|
27
|
-
let node_fs_promises = require("node:fs/promises");
|
|
28
29
|
let node_process = require("node:process");
|
|
29
30
|
node_process = require_runtime.__toESM(node_process, 1);
|
|
30
31
|
let every_plugin = require("every-plugin");
|
|
@@ -72,25 +73,7 @@ async function timePhase(timings, name, fn) {
|
|
|
72
73
|
throw error;
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
|
-
const buildCommands = {
|
|
76
|
-
host: {
|
|
77
|
-
cmd: "bun",
|
|
78
|
-
args: ["run", "build"]
|
|
79
|
-
},
|
|
80
|
-
ui: {
|
|
81
|
-
cmd: "bun",
|
|
82
|
-
args: ["run", "build"]
|
|
83
|
-
},
|
|
84
|
-
api: {
|
|
85
|
-
cmd: "bun",
|
|
86
|
-
args: ["run", "build"]
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
76
|
const PUBLISH_FUNCTION_NAMES = ["__fastdata_kv"];
|
|
90
|
-
function getPluginRef(entry) {
|
|
91
|
-
if (!entry || typeof entry === "string") return null;
|
|
92
|
-
return entry;
|
|
93
|
-
}
|
|
94
77
|
function parseSourceMode(value, defaultValue) {
|
|
95
78
|
if (value === "local" || value === "remote") return value;
|
|
96
79
|
return defaultValue;
|
|
@@ -105,40 +88,6 @@ function buildConfigResult(bosConfig, full = false) {
|
|
|
105
88
|
full
|
|
106
89
|
};
|
|
107
90
|
}
|
|
108
|
-
async function fileExists(path) {
|
|
109
|
-
try {
|
|
110
|
-
await (0, node_fs_promises.access)(path);
|
|
111
|
-
return true;
|
|
112
|
-
} catch {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
async function readJsonFile(path) {
|
|
117
|
-
return JSON.parse(await (0, node_fs_promises.readFile)(path, "utf8"));
|
|
118
|
-
}
|
|
119
|
-
function resolveWorkspaceTarget(key, bosConfig, runtimeConfig, configDir) {
|
|
120
|
-
if (bosConfig?.app && key in bosConfig.app) {
|
|
121
|
-
const appEntry = bosConfig.app[key];
|
|
122
|
-
const devPath = require_config.resolveLocalDevelopmentPath(appEntry?.development, configDir);
|
|
123
|
-
if (devPath) return {
|
|
124
|
-
key,
|
|
125
|
-
kind: "app",
|
|
126
|
-
path: devPath
|
|
127
|
-
};
|
|
128
|
-
return {
|
|
129
|
-
key,
|
|
130
|
-
kind: "app",
|
|
131
|
-
path: `${configDir}/${key}`
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
const pluginPath = (runtimeConfig?.plugins?.[key])?.localPath ?? require_config.resolveLocalDevelopmentPath(getPluginRef(bosConfig?.plugins?.[key])?.development, configDir);
|
|
135
|
-
if (pluginPath) return {
|
|
136
|
-
key,
|
|
137
|
-
kind: "plugin",
|
|
138
|
-
path: pluginPath
|
|
139
|
-
};
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
91
|
function isValidProxyUrl(url) {
|
|
143
92
|
try {
|
|
144
93
|
const parsed = new URL(url);
|
|
@@ -169,14 +118,14 @@ function defaultPluginKey(source) {
|
|
|
169
118
|
}
|
|
170
119
|
}
|
|
171
120
|
function pluginLocalPath(configDir, attachment) {
|
|
172
|
-
const ref = getPluginRef(attachment);
|
|
121
|
+
const ref = require_build.getPluginRef(attachment);
|
|
173
122
|
const source = ref?.development ?? ref?.production;
|
|
174
123
|
if (!source?.startsWith("local:")) return null;
|
|
175
124
|
return (0, node_path.join)(configDir, source.slice(6));
|
|
176
125
|
}
|
|
177
126
|
function listPluginAttachments(config) {
|
|
178
127
|
return Object.entries(config?.plugins ?? {}).map(([key, attachment]) => {
|
|
179
|
-
const ref = getPluginRef(attachment);
|
|
128
|
+
const ref = require_build.getPluginRef(attachment);
|
|
180
129
|
return {
|
|
181
130
|
key,
|
|
182
131
|
development: ref?.development,
|
|
@@ -189,88 +138,6 @@ function listPluginAttachments(config) {
|
|
|
189
138
|
};
|
|
190
139
|
}).sort((a, b) => a.key.localeCompare(b.key));
|
|
191
140
|
}
|
|
192
|
-
async function generateCodeArtifacts(configDir, config, opts) {
|
|
193
|
-
if (opts?.env) require_config.writeResolvedConfig(configDir, config, opts.env, opts.extendsChain);
|
|
194
|
-
const runtimeConfig = opts?.runtimeConfig ?? (await require_config.loadResolvedConfig({ cwd: configDir }))?.runtime;
|
|
195
|
-
if (!runtimeConfig) return null;
|
|
196
|
-
const bridge = await require_api_contract.syncApiContractBridge({
|
|
197
|
-
configDir,
|
|
198
|
-
runtimeConfig,
|
|
199
|
-
apiBaseUrl: runtimeConfig.api.url
|
|
200
|
-
});
|
|
201
|
-
return {
|
|
202
|
-
resolvedConfigPath: opts?.env ? (0, node_path.join)(configDir, ".bos/bos.resolved-config.json") : void 0,
|
|
203
|
-
contractBridgePath: bridge.bridgePath,
|
|
204
|
-
contractStatus: bridge.status
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
function extractPublishedUrl(output) {
|
|
208
|
-
const match = output.match(/https?:\/\/[^\s"'<>]+/g);
|
|
209
|
-
if (!match || match.length === 0) return null;
|
|
210
|
-
return match[match.length - 1] ?? null;
|
|
211
|
-
}
|
|
212
|
-
function sleep(ms) {
|
|
213
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
214
|
-
}
|
|
215
|
-
async function waitForPublishedConfig(opts) {
|
|
216
|
-
const envTimeoutMs = Number(node_process.default.env.BOS_PUBLISH_CONFIRMATION_TIMEOUT_MS);
|
|
217
|
-
const envIntervalMs = Number(node_process.default.env.BOS_PUBLISH_CONFIRMATION_INTERVAL_MS);
|
|
218
|
-
const timeoutMs = opts.timeoutMs ?? (Number.isFinite(envTimeoutMs) ? envTimeoutMs : void 0) ?? 12e4;
|
|
219
|
-
const intervalMs = opts.intervalMs ?? (Number.isFinite(envIntervalMs) ? envIntervalMs : void 0) ?? 3e3;
|
|
220
|
-
const startedAt = Date.now();
|
|
221
|
-
let lastError;
|
|
222
|
-
while (Date.now() - startedAt < timeoutMs) {
|
|
223
|
-
try {
|
|
224
|
-
const verifiedConfig = await require_fastkv.fetchBosConfigFromFastKv(`bos://${opts.account}/${opts.gateway}`);
|
|
225
|
-
if (JSON.stringify(verifiedConfig) === JSON.stringify(opts.publishConfig)) return;
|
|
226
|
-
} catch (error) {
|
|
227
|
-
lastError = error;
|
|
228
|
-
}
|
|
229
|
-
await sleep(intervalMs);
|
|
230
|
-
}
|
|
231
|
-
const reason = lastError instanceof Error ? ` Last error: ${lastError.message}` : "";
|
|
232
|
-
throw new Error(`Timed out waiting for publish confirmation at bos://${opts.account}/${opts.gateway}.${reason}`);
|
|
233
|
-
}
|
|
234
|
-
async function buildEveryPluginQuietly(cwd) {
|
|
235
|
-
if (!await fileExists(`${`${cwd}/packages/every-plugin`}/package.json`)) return;
|
|
236
|
-
if (await fileExists(`${cwd}/packages/every-plugin/dist/build/rspack/plugin.mjs`)) return;
|
|
237
|
-
const result = await require_run.run("bun", [
|
|
238
|
-
"run",
|
|
239
|
-
"--cwd",
|
|
240
|
-
"packages/every-plugin",
|
|
241
|
-
"build"
|
|
242
|
-
], {
|
|
243
|
-
cwd,
|
|
244
|
-
capture: true
|
|
245
|
-
});
|
|
246
|
-
if (result.exitCode === 0) {
|
|
247
|
-
console.log("[build:ssr] build succeeded");
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
if (result.stdout.trim()) node_process.default.stdout.write(result.stdout);
|
|
251
|
-
if (result.stderr.trim()) node_process.default.stderr.write(result.stderr);
|
|
252
|
-
throw new Error(`bun run --cwd packages/every-plugin build failed with exit code ${result.exitCode}`);
|
|
253
|
-
}
|
|
254
|
-
async function buildEverythingDevQuietly(cwd) {
|
|
255
|
-
if (!await fileExists(`${`${cwd}/packages/everything-dev`}/package.json`)) return;
|
|
256
|
-
if (await fileExists(`${cwd}/packages/everything-dev/dist/index.mjs`)) return;
|
|
257
|
-
const result = await require_run.run("bun", [
|
|
258
|
-
"run",
|
|
259
|
-
"--cwd",
|
|
260
|
-
"packages/everything-dev",
|
|
261
|
-
"build"
|
|
262
|
-
], {
|
|
263
|
-
cwd,
|
|
264
|
-
capture: true
|
|
265
|
-
});
|
|
266
|
-
if (result.exitCode === 0) {
|
|
267
|
-
console.log("[everything-dev] build succeeded");
|
|
268
|
-
return;
|
|
269
|
-
}
|
|
270
|
-
if (result.stdout.trim()) node_process.default.stdout.write(result.stdout);
|
|
271
|
-
if (result.stderr.trim()) node_process.default.stderr.write(result.stderr);
|
|
272
|
-
throw new Error(`bun run --cwd packages/everything-dev build failed with exit code ${result.exitCode}`);
|
|
273
|
-
}
|
|
274
141
|
async function resolveRemoteConfigChain(accountId, gatewayId, visited) {
|
|
275
142
|
const selfRef = `bos://${accountId}/${gatewayId}`;
|
|
276
143
|
if (visited.has(selfRef)) throw new Error(`Circular extends detected: ${selfRef}`);
|
|
@@ -294,69 +161,6 @@ async function fetchPublishedConfig(accountId, gatewayId) {
|
|
|
294
161
|
throw error;
|
|
295
162
|
}
|
|
296
163
|
}
|
|
297
|
-
function selectWorkspaceTargets(packages, bosConfig) {
|
|
298
|
-
const allPackages = [...Object.keys(bosConfig?.app ?? {}), ...Object.keys(bosConfig?.plugins ?? {})];
|
|
299
|
-
if (packages === "all") return allPackages;
|
|
300
|
-
return packages.split(",").map((pkg) => pkg.trim()).filter((pkg) => allPackages.includes(pkg));
|
|
301
|
-
}
|
|
302
|
-
async function buildWorkspaceTargets(opts) {
|
|
303
|
-
const existing = [];
|
|
304
|
-
const skipped = [];
|
|
305
|
-
for (const target of opts.targets) {
|
|
306
|
-
const resolved = resolveWorkspaceTarget(target, opts.bosConfig, opts.runtimeConfig, opts.configDir);
|
|
307
|
-
if (!resolved) {
|
|
308
|
-
skipped.push(target);
|
|
309
|
-
continue;
|
|
310
|
-
}
|
|
311
|
-
if (await fileExists(`${resolved.path}/package.json`)) existing.push(resolved);
|
|
312
|
-
else skipped.push(target);
|
|
313
|
-
}
|
|
314
|
-
if (existing.length === 0) return {
|
|
315
|
-
built: [],
|
|
316
|
-
skipped
|
|
317
|
-
};
|
|
318
|
-
if ((await require_shared_deps.syncResolvedSharedDeps({
|
|
319
|
-
configDir: opts.configDir,
|
|
320
|
-
hostMode: "local",
|
|
321
|
-
bosConfig: opts.bosConfig ?? void 0,
|
|
322
|
-
extendsChain: []
|
|
323
|
-
})).catalogChanged) await require_run.run("bun", ["install"], { cwd: opts.configDir });
|
|
324
|
-
const shouldBuildPlugin = existing.some((entry) => entry.key === "api");
|
|
325
|
-
const buildTasks = [buildEverythingDevQuietly(opts.configDir)];
|
|
326
|
-
if (shouldBuildPlugin) buildTasks.push(buildEveryPluginQuietly(opts.configDir));
|
|
327
|
-
await Promise.all(buildTasks);
|
|
328
|
-
const env = {
|
|
329
|
-
...node_process.default.env,
|
|
330
|
-
NODE_ENV: opts.deploy ? "production" : "development"
|
|
331
|
-
};
|
|
332
|
-
if (opts.deploy) env.DEPLOY = "true";
|
|
333
|
-
else delete env.DEPLOY;
|
|
334
|
-
const orderedExisting = opts.deploy ? [
|
|
335
|
-
...existing.filter((entry) => entry.kind === "app" && entry.key !== "host"),
|
|
336
|
-
...existing.filter((entry) => entry.kind === "plugin"),
|
|
337
|
-
...existing.filter((entry) => entry.kind === "app" && entry.key === "host")
|
|
338
|
-
] : existing;
|
|
339
|
-
const built = [];
|
|
340
|
-
for (const resolved of orderedExisting) {
|
|
341
|
-
const pkgJson = await readJsonFile(`${resolved.path}/package.json`);
|
|
342
|
-
const buildConfig = opts.deploy && pkgJson.scripts?.deploy ? {
|
|
343
|
-
cmd: "bun",
|
|
344
|
-
args: ["run", "deploy"]
|
|
345
|
-
} : buildCommands[resolved.key] ?? {
|
|
346
|
-
cmd: "bun",
|
|
347
|
-
args: ["run", "build"]
|
|
348
|
-
};
|
|
349
|
-
await require_run.run(buildConfig.cmd, buildConfig.args, {
|
|
350
|
-
cwd: resolved.path,
|
|
351
|
-
env
|
|
352
|
-
});
|
|
353
|
-
built.push(resolved.key);
|
|
354
|
-
}
|
|
355
|
-
return {
|
|
356
|
-
built,
|
|
357
|
-
skipped
|
|
358
|
-
};
|
|
359
|
-
}
|
|
360
164
|
var plugin_default = (0, every_plugin.createPlugin)({
|
|
361
165
|
variables: zod.z.object({ configPath: zod.z.string().optional() }),
|
|
362
166
|
secrets: zod.z.object({}),
|
|
@@ -405,7 +209,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
405
209
|
plugins: nextPlugins
|
|
406
210
|
};
|
|
407
211
|
await require_save_config.saveBosConfig(deps.configDir, deps.bosConfig);
|
|
408
|
-
await generateCodeArtifacts(deps.configDir, deps.bosConfig);
|
|
212
|
+
await require_code_artifacts.generateCodeArtifacts(deps.configDir, deps.bosConfig);
|
|
409
213
|
const stored = deps.bosConfig.plugins?.[key];
|
|
410
214
|
const storedObj = stored && typeof stored === "object" ? stored : {};
|
|
411
215
|
return {
|
|
@@ -435,7 +239,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
435
239
|
plugins: Object.keys(nextPlugins).length > 0 ? nextPlugins : void 0
|
|
436
240
|
};
|
|
437
241
|
await require_save_config.saveBosConfig(deps.configDir, deps.bosConfig);
|
|
438
|
-
await generateCodeArtifacts(deps.configDir, deps.bosConfig);
|
|
242
|
+
await require_code_artifacts.generateCodeArtifacts(deps.configDir, deps.bosConfig);
|
|
439
243
|
return {
|
|
440
244
|
status: "removed",
|
|
441
245
|
key: input.key
|
|
@@ -459,7 +263,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
459
263
|
key: input.key,
|
|
460
264
|
error: `Plugin '${input.key}' is not configured`
|
|
461
265
|
};
|
|
462
|
-
const attachmentRef = getPluginRef(attachment);
|
|
266
|
+
const attachmentRef = require_build.getPluginRef(attachment);
|
|
463
267
|
const localPath = pluginLocalPath(deps.configDir, attachment);
|
|
464
268
|
if (!localPath) return {
|
|
465
269
|
status: "error",
|
|
@@ -467,12 +271,12 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
467
271
|
error: `Plugin '${input.key}' does not have a local development path`
|
|
468
272
|
};
|
|
469
273
|
const pkgPath = (0, node_path.join)(localPath, "package.json");
|
|
470
|
-
if (!await fileExists(pkgPath)) return {
|
|
274
|
+
if (!await require_build.fileExists(pkgPath)) return {
|
|
471
275
|
status: "error",
|
|
472
276
|
key: input.key,
|
|
473
277
|
error: `Missing package.json at ${localPath}`
|
|
474
278
|
};
|
|
475
|
-
const pkgJson = await readJsonFile(pkgPath);
|
|
279
|
+
const pkgJson = await require_build.readJsonFile(pkgPath);
|
|
476
280
|
const script = pkgJson.scripts?.deploy ? "deploy" : "build";
|
|
477
281
|
const { stdout, stderr, exitCode } = await require_run.run("bun", ["run", script], {
|
|
478
282
|
cwd: localPath,
|
|
@@ -489,14 +293,23 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
489
293
|
}
|
|
490
294
|
if (stdout.trim()) node_process.default.stdout.write(stdout);
|
|
491
295
|
if (stderr.trim()) node_process.default.stderr.write(stderr);
|
|
492
|
-
|
|
296
|
+
const output = `${stdout}\n${stderr}`;
|
|
297
|
+
const deployEntry = require_integrity.parseDeployLines(output).find((e) => e.urlField === `plugins.${input.key}.production`);
|
|
298
|
+
let publishedUrl;
|
|
299
|
+
let integrity;
|
|
300
|
+
if (deployEntry) {
|
|
301
|
+
publishedUrl = deployEntry.url;
|
|
302
|
+
integrity = deployEntry.integrity;
|
|
303
|
+
} else {
|
|
304
|
+
publishedUrl = require_publish.extractPublishedUrl(output) ?? void 0;
|
|
305
|
+
integrity = publishedUrl ? await require_integrity.computeSriHashForUrl(publishedUrl) ?? void 0 : void 0;
|
|
306
|
+
}
|
|
493
307
|
let manifest = null;
|
|
494
308
|
if (publishedUrl) manifest = await require_fastkv.fetchRemotePluginManifest(publishedUrl);
|
|
495
309
|
else if (attachmentRef?.production) {
|
|
496
310
|
manifest = await require_fastkv.fetchRemotePluginManifest(attachmentRef.production);
|
|
497
311
|
if (manifest) publishedUrl = attachmentRef.production;
|
|
498
312
|
}
|
|
499
|
-
const integrity = publishedUrl ? await require_integrity.computeSriHashForUrl(publishedUrl) : null;
|
|
500
313
|
const version = manifest?.plugin.version ?? pkgJson.version;
|
|
501
314
|
if (publishedUrl) {
|
|
502
315
|
const rootConfigPath = (0, node_path.join)(deps.configDir, "bos.config.json");
|
|
@@ -514,7 +327,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
514
327
|
} catch (err) {
|
|
515
328
|
console.error(` ❌ Failed to update bos.config.json:`, err instanceof Error ? err.message : err);
|
|
516
329
|
}
|
|
517
|
-
await generateCodeArtifacts(deps.configDir, deps.bosConfig);
|
|
330
|
+
await require_code_artifacts.generateCodeArtifacts(deps.configDir, deps.bosConfig);
|
|
518
331
|
}
|
|
519
332
|
return {
|
|
520
333
|
status: "published",
|
|
@@ -550,8 +363,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
550
363
|
}
|
|
551
364
|
const shouldBuildPlugin = apiSource === "local" && !proxy || localPackages.some((pkg) => pkg.startsWith("plugin:"));
|
|
552
365
|
await timePhase(devTimings, "build", async () => {
|
|
553
|
-
const buildTasks = [buildEverythingDevQuietly(deps.configDir)];
|
|
554
|
-
if (shouldBuildPlugin) buildTasks.push(buildEveryPluginQuietly(deps.configDir));
|
|
366
|
+
const buildTasks = [require_build.buildEverythingDevQuietly(deps.configDir)];
|
|
367
|
+
if (shouldBuildPlugin) buildTasks.push(require_build.buildEveryPluginQuietly(deps.configDir));
|
|
555
368
|
await Promise.all(buildTasks);
|
|
556
369
|
});
|
|
557
370
|
let devExtendsChain;
|
|
@@ -595,7 +408,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
595
408
|
require_infra.syncGeneratedInfra(deps.configDir, runtimeConfig);
|
|
596
409
|
require_infra.ensureEnvFile(deps.configDir);
|
|
597
410
|
require_infra.loadProjectEnv(deps.configDir);
|
|
598
|
-
await timePhase(devTimings, "generate artifacts", () => generateCodeArtifacts(deps.configDir, deps.bosConfig, {
|
|
411
|
+
await timePhase(devTimings, "generate artifacts", () => require_code_artifacts.generateCodeArtifacts(deps.configDir, deps.bosConfig, {
|
|
599
412
|
env: "development",
|
|
600
413
|
extendsChain: devExtendsChain,
|
|
601
414
|
runtimeConfig
|
|
@@ -699,7 +512,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
699
512
|
phase: "generate artifacts",
|
|
700
513
|
status: "running"
|
|
701
514
|
});
|
|
702
|
-
await generateCodeArtifacts(deps.configDir, config, {
|
|
515
|
+
await require_code_artifacts.generateCodeArtifacts(deps.configDir, config, {
|
|
703
516
|
env: "production",
|
|
704
517
|
runtimeConfig
|
|
705
518
|
});
|
|
@@ -773,7 +586,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
773
586
|
skipped: []
|
|
774
587
|
};
|
|
775
588
|
const buildEnv = input.deploy ? "production" : "development";
|
|
776
|
-
const targets = selectWorkspaceTargets(input.packages, deps.bosConfig);
|
|
589
|
+
const targets = require_build.selectWorkspaceTargets(input.packages, deps.bosConfig);
|
|
777
590
|
if (targets.length === 0) return {
|
|
778
591
|
status: "error",
|
|
779
592
|
built: [],
|
|
@@ -790,11 +603,11 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
790
603
|
});
|
|
791
604
|
require_config.drainConfigWarnings();
|
|
792
605
|
require_config.resumeWarnings();
|
|
793
|
-
await generateCodeArtifacts(deps.configDir, deps.bosConfig, {
|
|
606
|
+
await require_code_artifacts.generateCodeArtifacts(deps.configDir, deps.bosConfig, {
|
|
794
607
|
env: buildEnv,
|
|
795
608
|
runtimeConfig
|
|
796
609
|
});
|
|
797
|
-
const { built, skipped } = await buildWorkspaceTargets({
|
|
610
|
+
const { built, skipped } = await require_build.buildWorkspaceTargets({
|
|
798
611
|
configDir: deps.configDir,
|
|
799
612
|
bosConfig: deps.bosConfig,
|
|
800
613
|
runtimeConfig,
|
|
@@ -819,13 +632,14 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
819
632
|
registryUrl: "",
|
|
820
633
|
error: "No bos.config.json found"
|
|
821
634
|
};
|
|
822
|
-
const result = await publishToFastKv({
|
|
635
|
+
const result = await require_publish.publishToFastKv({
|
|
823
636
|
bosConfig: deps.bosConfig,
|
|
824
637
|
runtimeConfig: deps.runtimeConfig,
|
|
825
638
|
configDir: deps.configDir,
|
|
826
639
|
env: input.env,
|
|
827
640
|
build: input.deploy,
|
|
828
641
|
dryRun: input.dryRun,
|
|
642
|
+
verbose: input.verbose,
|
|
829
643
|
packages: input.packages,
|
|
830
644
|
network: input.network,
|
|
831
645
|
privateKey: input.privateKey
|
|
@@ -843,7 +657,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
843
657
|
txHash: result.txHash,
|
|
844
658
|
error: result.error,
|
|
845
659
|
built: result.built,
|
|
846
|
-
skipped: result.skipped
|
|
660
|
+
skipped: result.skipped,
|
|
661
|
+
deployResults: result.deployResults
|
|
847
662
|
};
|
|
848
663
|
}),
|
|
849
664
|
deploy: builder.deploy.handler(async ({ input }) => {
|
|
@@ -853,13 +668,14 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
853
668
|
redeployed: false,
|
|
854
669
|
error: "No bos.config.json found"
|
|
855
670
|
};
|
|
856
|
-
const result = await publishToFastKv({
|
|
671
|
+
const result = await require_publish.publishToFastKv({
|
|
857
672
|
bosConfig: deps.bosConfig,
|
|
858
673
|
runtimeConfig: deps.runtimeConfig,
|
|
859
674
|
configDir: deps.configDir,
|
|
860
675
|
env: input.env,
|
|
861
676
|
build: input.build,
|
|
862
677
|
dryRun: input.dryRun,
|
|
678
|
+
verbose: input.verbose,
|
|
863
679
|
packages: input.packages,
|
|
864
680
|
network: input.network,
|
|
865
681
|
privateKey: input.privateKey
|
|
@@ -871,7 +687,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
871
687
|
built: result.built,
|
|
872
688
|
skipped: result.skipped,
|
|
873
689
|
redeployed: false,
|
|
874
|
-
error: result.error
|
|
690
|
+
error: result.error,
|
|
691
|
+
deployResults: result.deployResults
|
|
875
692
|
};
|
|
876
693
|
if (result.status === "dry-run") return {
|
|
877
694
|
status: "dry-run",
|
|
@@ -901,6 +718,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
901
718
|
built: result.built,
|
|
902
719
|
skipped: result.skipped,
|
|
903
720
|
redeployed: false,
|
|
721
|
+
deployResults: result.deployResults,
|
|
904
722
|
error: "Config published but Railway redeploy failed: ci.railway.service is not configured in bos.config.json"
|
|
905
723
|
};
|
|
906
724
|
}
|
|
@@ -931,6 +749,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
931
749
|
skipped: result.skipped,
|
|
932
750
|
redeployed: false,
|
|
933
751
|
service,
|
|
752
|
+
deployResults: result.deployResults,
|
|
934
753
|
error: `Config published but ${railError}`
|
|
935
754
|
};
|
|
936
755
|
}
|
|
@@ -945,7 +764,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
945
764
|
built: result.built,
|
|
946
765
|
skipped: result.skipped,
|
|
947
766
|
redeployed,
|
|
948
|
-
service
|
|
767
|
+
service,
|
|
768
|
+
deployResults: result.deployResults
|
|
949
769
|
};
|
|
950
770
|
}),
|
|
951
771
|
keyPublish: builder.keyPublish.handler(async ({ input }) => {
|
|
@@ -1137,7 +957,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
1137
957
|
await timePhase(timings, "generate types", () => require_cli_init.runTypesGen(targetDir));
|
|
1138
958
|
await timePhase(timings, "generate migrations", () => require_cli_init.generateDatabaseMigrations(targetDir));
|
|
1139
959
|
}
|
|
1140
|
-
if (input.noInstall && initConfig?.config) await timePhase(timings, "generate code artifacts", () => generateCodeArtifacts(targetDir, initConfig.config));
|
|
960
|
+
if (input.noInstall && initConfig?.config) await timePhase(timings, "generate code artifacts", () => require_code_artifacts.generateCodeArtifacts(targetDir, initConfig.config));
|
|
1141
961
|
return {
|
|
1142
962
|
status: "initialized",
|
|
1143
963
|
directory,
|
|
@@ -1185,7 +1005,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
1185
1005
|
const result = await require_sync.syncTemplate(projectDir, input);
|
|
1186
1006
|
if (result.status === "synced" || result.status === "dry-run") {
|
|
1187
1007
|
const syncedConfig = await require_config.loadResolvedConfig({ cwd: projectDir });
|
|
1188
|
-
if (syncedConfig?.config) await generateCodeArtifacts(projectDir, syncedConfig.config);
|
|
1008
|
+
if (syncedConfig?.config) await require_code_artifacts.generateCodeArtifacts(projectDir, syncedConfig.config);
|
|
1189
1009
|
}
|
|
1190
1010
|
return result;
|
|
1191
1011
|
} catch (error) {
|
|
@@ -1263,7 +1083,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
1263
1083
|
source: refreshed.runtime.api.source
|
|
1264
1084
|
};
|
|
1265
1085
|
}
|
|
1266
|
-
const artifacts = await generateCodeArtifacts(projectDir, refreshed.config, { runtimeConfig: refreshed.runtime });
|
|
1086
|
+
const artifacts = await require_code_artifacts.generateCodeArtifacts(projectDir, refreshed.config, { runtimeConfig: refreshed.runtime });
|
|
1267
1087
|
const hasLocalApiWorkspace = (0, node_fs.existsSync)((0, node_path.join)(projectDir, "api", "src"));
|
|
1268
1088
|
const generated = ["ui/src/lib/api-types.gen.ts"];
|
|
1269
1089
|
if (hasLocalApiWorkspace) generated.push("api/src/lib/plugins-types.gen.ts", "api/src/lib/auth-types.gen.ts");
|
|
@@ -1361,125 +1181,6 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
1361
1181
|
})
|
|
1362
1182
|
})
|
|
1363
1183
|
});
|
|
1364
|
-
async function publishToFastKv(input) {
|
|
1365
|
-
const { env, dryRun, configDir } = input;
|
|
1366
|
-
let bosConfig = input.bosConfig;
|
|
1367
|
-
const runtimeConfig = input.runtimeConfig;
|
|
1368
|
-
const isStaging = env === "staging";
|
|
1369
|
-
const account = bosConfig.account;
|
|
1370
|
-
const gateway = isStaging ? bosConfig.staging?.domain ?? bosConfig.domain : bosConfig.domain;
|
|
1371
|
-
if (!gateway) return {
|
|
1372
|
-
status: "error",
|
|
1373
|
-
registryUrl: "",
|
|
1374
|
-
error: "bos.config.json must define domain to publish"
|
|
1375
|
-
};
|
|
1376
|
-
const network = input.network ?? require_network.getNetworkIdForAccount(account);
|
|
1377
|
-
const registryUrl = require_fastkv.buildRegistryConfigUrlForNetwork(network, account, gateway);
|
|
1378
|
-
const targets = selectWorkspaceTargets(input.packages, bosConfig);
|
|
1379
|
-
let built;
|
|
1380
|
-
let skipped;
|
|
1381
|
-
if (dryRun) return {
|
|
1382
|
-
status: "dry-run",
|
|
1383
|
-
registryUrl,
|
|
1384
|
-
built,
|
|
1385
|
-
skipped
|
|
1386
|
-
};
|
|
1387
|
-
if (input.build) {
|
|
1388
|
-
await generateCodeArtifacts(configDir, bosConfig, {
|
|
1389
|
-
env: "production",
|
|
1390
|
-
runtimeConfig: runtimeConfig ?? void 0
|
|
1391
|
-
});
|
|
1392
|
-
const result = await buildWorkspaceTargets({
|
|
1393
|
-
configDir,
|
|
1394
|
-
bosConfig,
|
|
1395
|
-
runtimeConfig,
|
|
1396
|
-
targets,
|
|
1397
|
-
deploy: true
|
|
1398
|
-
});
|
|
1399
|
-
built = result.built;
|
|
1400
|
-
skipped = result.skipped;
|
|
1401
|
-
const refreshed = await require_config.loadResolvedConfig({ cwd: configDir });
|
|
1402
|
-
if (!refreshed?.config) return {
|
|
1403
|
-
status: "error",
|
|
1404
|
-
registryUrl,
|
|
1405
|
-
built,
|
|
1406
|
-
skipped,
|
|
1407
|
-
error: "Failed to reload bos.config.json after build"
|
|
1408
|
-
};
|
|
1409
|
-
bosConfig = refreshed.config;
|
|
1410
|
-
}
|
|
1411
|
-
const rawConfigPath = (0, node_path.join)(configDir, "bos.config.json");
|
|
1412
|
-
const rawConfig = JSON.parse((0, node_fs.readFileSync)(rawConfigPath, "utf-8"));
|
|
1413
|
-
const publishPayload = isStaging ? {
|
|
1414
|
-
...rawConfig,
|
|
1415
|
-
domain: gateway
|
|
1416
|
-
} : rawConfig;
|
|
1417
|
-
const registryEntries = { [`apps/${account}/${gateway}/bos.config.json`]: JSON.stringify(publishPayload) };
|
|
1418
|
-
const payload = JSON.stringify(registryEntries);
|
|
1419
|
-
const argsBase64 = Buffer.from(payload).toString("base64");
|
|
1420
|
-
const privateKey = input.privateKey || node_process.default.env.NEAR_PRIVATE_KEY || node_process.default.env.BOS_NEAR_PRIVATE_KEY;
|
|
1421
|
-
let signingMode;
|
|
1422
|
-
try {
|
|
1423
|
-
signingMode = require_near_cli.resolveNearSigningMode(privateKey);
|
|
1424
|
-
} catch (error) {
|
|
1425
|
-
return {
|
|
1426
|
-
status: "error",
|
|
1427
|
-
registryUrl,
|
|
1428
|
-
error: error instanceof Error ? error.message : "Unknown error"
|
|
1429
|
-
};
|
|
1430
|
-
}
|
|
1431
|
-
console.log();
|
|
1432
|
-
console.log(" Publishing to:");
|
|
1433
|
-
console.log(` ${require_theme.colors.cyan(registryUrl)}`);
|
|
1434
|
-
try {
|
|
1435
|
-
console.log(" Ensuring NEAR CLI...");
|
|
1436
|
-
await effect.Effect.runPromise(require_near_cli.ensureNearCli);
|
|
1437
|
-
console.log(" NEAR CLI ready");
|
|
1438
|
-
let txHash;
|
|
1439
|
-
console.log(` Submitting transaction on ${network}...`);
|
|
1440
|
-
try {
|
|
1441
|
-
txHash = (await effect.Effect.runPromise(require_near_cli.executeTransaction({
|
|
1442
|
-
account,
|
|
1443
|
-
contract: require_fastkv.getRegistryNamespaceForNetwork(network),
|
|
1444
|
-
method: "__fastdata_kv",
|
|
1445
|
-
argsBase64,
|
|
1446
|
-
network,
|
|
1447
|
-
privateKey: signingMode._tag === "privateKey" ? signingMode.privateKey : void 0,
|
|
1448
|
-
gas: "300Tgas",
|
|
1449
|
-
deposit: "0NEAR"
|
|
1450
|
-
}, signingMode))).txHash;
|
|
1451
|
-
if (txHash) console.log(` Transaction submitted: ${require_theme.colors.dim(txHash)}`);
|
|
1452
|
-
} catch (error) {
|
|
1453
|
-
txHash = extractTransactionHash(error);
|
|
1454
|
-
if (!txHash) throw error;
|
|
1455
|
-
}
|
|
1456
|
-
console.log(" Waiting for publish confirmation...");
|
|
1457
|
-
await waitForPublishedConfig({
|
|
1458
|
-
account,
|
|
1459
|
-
gateway,
|
|
1460
|
-
publishConfig: publishPayload
|
|
1461
|
-
});
|
|
1462
|
-
return {
|
|
1463
|
-
status: "published",
|
|
1464
|
-
registryUrl,
|
|
1465
|
-
txHash,
|
|
1466
|
-
built,
|
|
1467
|
-
skipped,
|
|
1468
|
-
publishConfig: publishPayload
|
|
1469
|
-
};
|
|
1470
|
-
} catch (error) {
|
|
1471
|
-
return {
|
|
1472
|
-
status: "error",
|
|
1473
|
-
registryUrl,
|
|
1474
|
-
error: error instanceof Error ? error.message : "Unknown error",
|
|
1475
|
-
built,
|
|
1476
|
-
skipped
|
|
1477
|
-
};
|
|
1478
|
-
}
|
|
1479
|
-
}
|
|
1480
|
-
function extractTransactionHash(error) {
|
|
1481
|
-
return (error instanceof Error ? error.message : String(error)).match(/Transaction ID:\s*([A-Za-z0-9]+)/i)?.[1];
|
|
1482
|
-
}
|
|
1483
1184
|
function computeAllowedWorkspaces(overrides, plugins) {
|
|
1484
1185
|
const workspaces = [];
|
|
1485
1186
|
for (const section of overrides) {
|
|
@@ -1496,5 +1197,4 @@ exports.consumeDevSession = consumeDevSession;
|
|
|
1496
1197
|
exports.default = plugin_default;
|
|
1497
1198
|
exports.pluginEvents = pluginEvents;
|
|
1498
1199
|
exports.resolveRemoteConfigChain = resolveRemoteConfigChain;
|
|
1499
|
-
exports.waitForPublishedConfig = waitForPublishedConfig;
|
|
1500
1200
|
//# sourceMappingURL=plugin.cjs.map
|