everything-dev 1.26.1 → 1.28.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/api-contract.cjs.map +1 -1
- package/dist/api-contract.mjs.map +1 -1
- package/dist/cli/catalog.cjs.map +1 -1
- package/dist/cli/catalog.mjs.map +1 -1
- package/dist/cli/framework-version.cjs.map +1 -1
- package/dist/cli/framework-version.mjs.map +1 -1
- package/dist/cli/infra.cjs +1 -1
- package/dist/cli/infra.cjs.map +1 -1
- package/dist/cli/infra.mjs +1 -1
- package/dist/cli/infra.mjs.map +1 -1
- package/dist/cli/init.cjs +127 -121
- package/dist/cli/init.cjs.map +1 -1
- package/dist/cli/init.d.cts +6 -6
- package/dist/cli/init.d.cts.map +1 -1
- package/dist/cli/init.d.mts +6 -6
- package/dist/cli/init.d.mts.map +1 -1
- package/dist/cli/init.mjs +125 -121
- package/dist/cli/init.mjs.map +1 -1
- package/dist/cli/parse.cjs.map +1 -1
- package/dist/cli/parse.mjs.map +1 -1
- package/dist/cli/prompts.cjs +29 -25
- package/dist/cli/prompts.cjs.map +1 -1
- package/dist/cli/prompts.mjs +28 -25
- package/dist/cli/prompts.mjs.map +1 -1
- package/dist/cli/status.cjs.map +1 -1
- package/dist/cli/status.mjs.map +1 -1
- package/dist/cli/sync.cjs +46 -93
- package/dist/cli/sync.cjs.map +1 -1
- package/dist/cli/sync.mjs +49 -96
- package/dist/cli/sync.mjs.map +1 -1
- package/dist/cli/timing.cjs.map +1 -1
- package/dist/cli/timing.mjs.map +1 -1
- package/dist/cli/upgrade.cjs +41 -20
- package/dist/cli/upgrade.cjs.map +1 -1
- package/dist/cli/upgrade.mjs +43 -22
- package/dist/cli/upgrade.mjs.map +1 -1
- package/dist/cli.cjs +187 -12
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +187 -12
- package/dist/cli.mjs.map +1 -1
- package/dist/components/dev-view.cjs.map +1 -1
- package/dist/components/dev-view.mjs.map +1 -1
- package/dist/components/streaming-view.cjs.map +1 -1
- package/dist/components/streaming-view.mjs.map +1 -1
- package/dist/config.cjs.map +1 -1
- package/dist/config.mjs.map +1 -1
- package/dist/contract.cjs +174 -173
- package/dist/contract.cjs.map +1 -1
- package/dist/contract.d.cts +48 -44
- package/dist/contract.d.cts.map +1 -1
- package/dist/contract.d.mts +48 -44
- package/dist/contract.d.mts.map +1 -1
- package/dist/contract.mjs +3 -1
- package/dist/contract.mjs.map +1 -1
- package/dist/dev-logs.cjs.map +1 -1
- package/dist/dev-logs.mjs.map +1 -1
- package/dist/dev-session.cjs +0 -1
- package/dist/dev-session.mjs +1 -1
- package/dist/fastkv.cjs.map +1 -1
- package/dist/fastkv.mjs.map +1 -1
- package/dist/index.cjs +2 -4
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -2
- package/dist/integrity.cjs.map +1 -1
- package/dist/integrity.mjs.map +1 -1
- package/dist/internal/manifest-normalizer.cjs.map +1 -1
- package/dist/internal/manifest-normalizer.mjs.map +1 -1
- package/dist/merge.cjs.map +1 -1
- package/dist/merge.mjs.map +1 -1
- package/dist/near-cli.cjs +1 -1
- package/dist/near-cli.cjs.map +1 -1
- package/dist/near-cli.mjs +1 -1
- package/dist/near-cli.mjs.map +1 -1
- package/dist/orchestrator.cjs +1 -1
- package/dist/orchestrator.cjs.map +1 -1
- package/dist/orchestrator.mjs +1 -1
- package/dist/orchestrator.mjs.map +1 -1
- package/dist/plugin.cjs +182 -171
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts +72 -39
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.mts +71 -39
- package/dist/plugin.d.mts.map +1 -1
- package/dist/plugin.mjs +170 -160
- package/dist/plugin.mjs.map +1 -1
- package/dist/sdk.cjs +2 -2
- package/dist/sdk.d.cts +1 -1
- package/dist/sdk.d.mts +1 -1
- package/dist/sdk.mjs +1 -1
- package/dist/service-descriptor.d.cts +34 -0
- package/dist/service-descriptor.d.cts.map +1 -0
- package/dist/service-descriptor.d.mts +36 -0
- package/dist/service-descriptor.d.mts.map +1 -0
- package/dist/shared.cjs.map +1 -1
- package/dist/shared.mjs.map +1 -1
- package/dist/types.cjs +184 -184
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +5 -5
- package/dist/types.d.mts +5 -5
- package/dist/types.mjs +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/ui/types.d.cts +1 -0
- package/dist/ui/types.d.cts.map +1 -1
- package/dist/ui/types.d.mts +1 -0
- package/dist/ui/types.d.mts.map +1 -1
- package/dist/utils/banner.cjs.map +1 -1
- package/dist/utils/banner.mjs.map +1 -1
- package/dist/utils/run.cjs.map +1 -1
- package/dist/utils/run.mjs.map +1 -1
- package/package.json +3 -3
- package/skills/init-upgrade/SKILL.md +22 -16
- package/skills/publish-sync/SKILL.md +7 -18
- package/dist/utils/path-match.cjs +0 -18
- package/dist/utils/path-match.cjs.map +0 -1
- package/dist/utils/path-match.mjs +0 -17
- package/dist/utils/path-match.mjs.map +0 -1
- package/src/api-contract.ts +0 -623
- package/src/app.ts +0 -193
- package/src/cli/catalog.ts +0 -49
- package/src/cli/framework-version.ts +0 -61
- package/src/cli/help.ts +0 -13
- package/src/cli/infra.ts +0 -190
- package/src/cli/init.ts +0 -1202
- package/src/cli/parse.ts +0 -147
- package/src/cli/prompts.ts +0 -135
- package/src/cli/snapshot.ts +0 -46
- package/src/cli/status.ts +0 -99
- package/src/cli/sync.ts +0 -518
- package/src/cli/timing.ts +0 -63
- package/src/cli/upgrade.ts +0 -828
- package/src/cli.ts +0 -516
- package/src/components/dev-view.tsx +0 -352
- package/src/components/streaming-view.ts +0 -177
- package/src/config.ts +0 -893
- package/src/contract.meta.ts +0 -140
- package/src/contract.ts +0 -325
- package/src/dev-logs.ts +0 -92
- package/src/dev-session.ts +0 -283
- package/src/fastkv.ts +0 -181
- package/src/index.ts +0 -8
- package/src/integrity.ts +0 -138
- package/src/internal/manifest-normalizer.ts +0 -290
- package/src/merge.ts +0 -187
- package/src/mf.ts +0 -147
- package/src/near-cli.ts +0 -259
- package/src/network.ts +0 -3
- package/src/orchestrator.ts +0 -493
- package/src/plugin.ts +0 -1821
- package/src/sdk.ts +0 -14
- package/src/service-descriptor.ts +0 -281
- package/src/shared.ts +0 -249
- package/src/sidebar.ts +0 -140
- package/src/types.ts +0 -330
- package/src/ui/head.ts +0 -83
- package/src/ui/index.ts +0 -5
- package/src/ui/metadata.ts +0 -95
- package/src/ui/router.ts +0 -88
- package/src/ui/runtime.ts +0 -42
- package/src/ui/types.ts +0 -64
- package/src/utils/banner.ts +0 -21
- package/src/utils/linkify.ts +0 -11
- package/src/utils/path-match.ts +0 -16
- package/src/utils/run.ts +0 -31
- package/src/utils/save-config.ts +0 -20
- package/src/utils/theme.ts +0 -39
package/dist/plugin.cjs
CHANGED
|
@@ -1,39 +1,73 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
1
2
|
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
2
3
|
const require_fastkv = require('./fastkv.cjs');
|
|
3
4
|
const require_network = require('./network.cjs');
|
|
4
|
-
require('./sdk.cjs');
|
|
5
5
|
const require_config = require('./config.cjs');
|
|
6
6
|
const require_contract = require('./contract.cjs');
|
|
7
|
+
const require_sidebar = require('./sidebar.cjs');
|
|
8
|
+
const require_integrity = require('./integrity.cjs');
|
|
7
9
|
const require_api_contract = require('./api-contract.cjs');
|
|
8
10
|
const require_app = require('./app.cjs');
|
|
9
11
|
const require_infra = require('./cli/infra.cjs');
|
|
10
12
|
const require_save_config = require('./utils/save-config.cjs');
|
|
11
13
|
const require_cli_init = require('./cli/init.cjs');
|
|
12
|
-
const require_prompts = require('./cli/prompts.cjs');
|
|
13
14
|
const require_status = require('./cli/status.cjs');
|
|
14
15
|
const require_sync = require('./cli/sync.cjs');
|
|
15
|
-
const require_timing = require('./cli/timing.cjs');
|
|
16
16
|
const require_upgrade = require('./cli/upgrade.cjs');
|
|
17
|
-
const require_integrity = require('./integrity.cjs');
|
|
18
17
|
const require_near_cli = require('./near-cli.cjs');
|
|
19
18
|
const require_service_descriptor = require('./service-descriptor.cjs');
|
|
20
19
|
const require_shared = require('./shared.cjs');
|
|
21
|
-
const require_sidebar = require('./sidebar.cjs');
|
|
22
20
|
const require_run = require('./utils/run.cjs');
|
|
23
|
-
const require_theme = require('./utils/theme.cjs');
|
|
24
21
|
let node_fs = require("node:fs");
|
|
25
22
|
let node_path = require("node:path");
|
|
23
|
+
let node_events = require("node:events");
|
|
26
24
|
let node_process = require("node:process");
|
|
27
25
|
node_process = require_runtime.__toESM(node_process, 1);
|
|
28
|
-
let _clack_prompts = require("@clack/prompts");
|
|
29
|
-
_clack_prompts = require_runtime.__toESM(_clack_prompts, 1);
|
|
30
26
|
let effect = require("effect");
|
|
31
27
|
let every_plugin = require("every-plugin");
|
|
32
|
-
let
|
|
28
|
+
let zod = require("zod");
|
|
33
29
|
|
|
34
30
|
//#region src/plugin.ts
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
const pluginEvents = new node_events.EventEmitter();
|
|
32
|
+
let pendingSession = null;
|
|
33
|
+
let pendingStartSummary = null;
|
|
34
|
+
function consumeDevSession() {
|
|
35
|
+
const data = pendingSession;
|
|
36
|
+
const summary = pendingStartSummary;
|
|
37
|
+
pendingSession = null;
|
|
38
|
+
pendingStartSummary = null;
|
|
39
|
+
if (!data) return null;
|
|
40
|
+
return summary ? {
|
|
41
|
+
...data,
|
|
42
|
+
summary
|
|
43
|
+
} : data;
|
|
44
|
+
}
|
|
45
|
+
async function timePhase(timings, name, fn) {
|
|
46
|
+
pluginEvents.emit("progress", {
|
|
47
|
+
phase: name,
|
|
48
|
+
status: "running"
|
|
49
|
+
});
|
|
50
|
+
const startedAt = Date.now();
|
|
51
|
+
try {
|
|
52
|
+
const result = await fn();
|
|
53
|
+
timings.push({
|
|
54
|
+
name,
|
|
55
|
+
durationMs: Date.now() - startedAt
|
|
56
|
+
});
|
|
57
|
+
pluginEvents.emit("progress", {
|
|
58
|
+
phase: name,
|
|
59
|
+
status: "done",
|
|
60
|
+
durationMs: Date.now() - startedAt
|
|
61
|
+
});
|
|
62
|
+
return result;
|
|
63
|
+
} catch (error) {
|
|
64
|
+
pluginEvents.emit("progress", {
|
|
65
|
+
phase: name,
|
|
66
|
+
status: "error",
|
|
67
|
+
durationMs: Date.now() - startedAt
|
|
68
|
+
});
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
37
71
|
}
|
|
38
72
|
const buildCommands = {
|
|
39
73
|
host: {
|
|
@@ -273,8 +307,8 @@ async function buildWorkspaceTargets(opts) {
|
|
|
273
307
|
};
|
|
274
308
|
}
|
|
275
309
|
var plugin_default = (0, every_plugin.createPlugin)({
|
|
276
|
-
variables:
|
|
277
|
-
secrets:
|
|
310
|
+
variables: zod.z.object({ configPath: zod.z.string().optional() }),
|
|
311
|
+
secrets: zod.z.object({}),
|
|
278
312
|
contract: require_contract.bosContract,
|
|
279
313
|
initialize: (config) => effect.Effect.promise(async () => {
|
|
280
314
|
const configResult = await require_config.loadConfig({ path: config.variables.configPath });
|
|
@@ -440,6 +474,10 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
440
474
|
}),
|
|
441
475
|
dev: builder.dev.handler(async ({ input }) => {
|
|
442
476
|
require_infra.ensureEnvFile(deps.configDir);
|
|
477
|
+
pluginEvents.emit("progress", {
|
|
478
|
+
phase: "config",
|
|
479
|
+
status: "running"
|
|
480
|
+
});
|
|
443
481
|
const localPackages = require_app.detectLocalPackages(deps.bosConfig ?? void 0, deps.runtimeConfig ?? void 0);
|
|
444
482
|
const hostSource = localPackages.includes("host") ? parseSourceMode(input.host, "local") : "remote";
|
|
445
483
|
const uiSource = localPackages.includes("ui") ? parseSourceMode(input.ui, "local") : "remote";
|
|
@@ -452,9 +490,41 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
452
490
|
hostMode: hostSource,
|
|
453
491
|
bosConfig: deps.bosConfig ?? void 0,
|
|
454
492
|
extendsChain: []
|
|
455
|
-
})).catalogChanged)
|
|
456
|
-
|
|
493
|
+
})).catalogChanged) {
|
|
494
|
+
pluginEvents.emit("progress", {
|
|
495
|
+
phase: "install",
|
|
496
|
+
status: "running"
|
|
497
|
+
});
|
|
498
|
+
await require_run.run("bun", ["install"], { cwd: deps.configDir });
|
|
499
|
+
pluginEvents.emit("progress", {
|
|
500
|
+
phase: "install",
|
|
501
|
+
status: "done"
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
if (apiSource === "local" && !proxy || localPackages.some((pkg) => pkg.startsWith("plugin:"))) {
|
|
505
|
+
pluginEvents.emit("progress", {
|
|
506
|
+
phase: "build plugin",
|
|
507
|
+
status: "running"
|
|
508
|
+
});
|
|
509
|
+
await buildEveryPluginQuietly(deps.configDir);
|
|
510
|
+
pluginEvents.emit("progress", {
|
|
511
|
+
phase: "build plugin",
|
|
512
|
+
status: "done"
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
pluginEvents.emit("progress", {
|
|
516
|
+
phase: "build",
|
|
517
|
+
status: "running"
|
|
518
|
+
});
|
|
457
519
|
await buildEverythingDevQuietly(deps.configDir);
|
|
520
|
+
pluginEvents.emit("progress", {
|
|
521
|
+
phase: "build",
|
|
522
|
+
status: "done"
|
|
523
|
+
});
|
|
524
|
+
pluginEvents.emit("progress", {
|
|
525
|
+
phase: "config",
|
|
526
|
+
status: "done"
|
|
527
|
+
});
|
|
458
528
|
const refreshed = await require_config.loadConfig({ cwd: deps.configDir });
|
|
459
529
|
deps.bosConfig = refreshed?.config ?? deps.bosConfig;
|
|
460
530
|
deps.runtimeConfig = refreshed?.runtime ?? deps.runtimeConfig;
|
|
@@ -502,8 +572,11 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
502
572
|
port: runtimeConfig.host.port,
|
|
503
573
|
interactive: input.interactive
|
|
504
574
|
};
|
|
505
|
-
|
|
506
|
-
|
|
575
|
+
pendingSession = {
|
|
576
|
+
orchestrator,
|
|
577
|
+
services,
|
|
578
|
+
runtimeConfig
|
|
579
|
+
};
|
|
507
580
|
return {
|
|
508
581
|
status: "started",
|
|
509
582
|
description: orchestrator.description,
|
|
@@ -512,6 +585,10 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
512
585
|
}),
|
|
513
586
|
start: builder.start.handler(async ({ input }) => {
|
|
514
587
|
require_infra.ensureEnvFile(deps.configDir);
|
|
588
|
+
pluginEvents.emit("progress", {
|
|
589
|
+
phase: "config",
|
|
590
|
+
status: "running"
|
|
591
|
+
});
|
|
515
592
|
const account = input.account ?? node_process.default.env.BOS_ACCOUNT;
|
|
516
593
|
const domain = input.domain ?? node_process.default.env.BOS_GATEWAY;
|
|
517
594
|
let config = null;
|
|
@@ -546,10 +623,18 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
546
623
|
env: "production",
|
|
547
624
|
plugins: runtimePlugins
|
|
548
625
|
});
|
|
626
|
+
pluginEvents.emit("progress", {
|
|
627
|
+
phase: "generate artifacts",
|
|
628
|
+
status: "running"
|
|
629
|
+
});
|
|
549
630
|
await generateCodeArtifacts(deps.configDir, config, {
|
|
550
631
|
env: "production",
|
|
551
632
|
runtimeConfig
|
|
552
633
|
});
|
|
634
|
+
pluginEvents.emit("progress", {
|
|
635
|
+
phase: "generate artifacts",
|
|
636
|
+
status: "done"
|
|
637
|
+
});
|
|
553
638
|
const productionEnv = {};
|
|
554
639
|
const warnings = [];
|
|
555
640
|
if (!node_process.default.env.CORS_ORIGIN && config.domain) {
|
|
@@ -569,32 +654,40 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
569
654
|
if (missingSecrets.length > 0) warnings.push(`Missing ${missingSecrets.length} secret(s): ${missingSecrets.join(", ")}`);
|
|
570
655
|
const services = require_service_descriptor.buildServiceDescriptorMap(runtimeConfig);
|
|
571
656
|
const stagingEnvVars = isStaging ? { BOS_GATEWAY: config.staging?.domain ?? config.domain ?? "" } : {};
|
|
572
|
-
const
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
657
|
+
const summary = {
|
|
658
|
+
configSource: remoteConfig ? `bos://${account}/${domain}` : require_config.findConfigPath() ?? "bos.config.json",
|
|
659
|
+
configSourceHttp: remoteConfig && account && domain ? require_fastkv.buildRegistryConfigUrl(account, domain) : void 0,
|
|
660
|
+
account: config.account,
|
|
661
|
+
domain: config.domain ?? void 0,
|
|
662
|
+
modules: {
|
|
663
|
+
host: runtimeConfig.host.remoteUrl ?? runtimeConfig.host.url ?? "local",
|
|
664
|
+
ui: runtimeConfig.ui.url ?? "local",
|
|
665
|
+
api: runtimeConfig.api.url ?? "local",
|
|
666
|
+
auth: runtimeConfig.auth?.url ?? void 0
|
|
667
|
+
},
|
|
668
|
+
warnings
|
|
669
|
+
};
|
|
670
|
+
pendingSession = {
|
|
671
|
+
orchestrator: {
|
|
672
|
+
packages: ["host"],
|
|
673
|
+
env: {
|
|
674
|
+
NODE_ENV: "production",
|
|
675
|
+
...productionEnv,
|
|
676
|
+
...stagingEnvVars
|
|
677
|
+
},
|
|
678
|
+
description: `${isStaging ? "Staging" : "Production"} Mode (${config.account})`,
|
|
679
|
+
port,
|
|
680
|
+
interactive: input.interactive,
|
|
681
|
+
noLogs: true
|
|
590
682
|
},
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
interactive: input.interactive,
|
|
594
|
-
noLogs: true
|
|
683
|
+
services,
|
|
684
|
+
runtimeConfig
|
|
595
685
|
};
|
|
596
|
-
|
|
597
|
-
|
|
686
|
+
pendingStartSummary = summary;
|
|
687
|
+
pluginEvents.emit("progress", {
|
|
688
|
+
phase: "config",
|
|
689
|
+
status: "done"
|
|
690
|
+
});
|
|
598
691
|
return {
|
|
599
692
|
status: "running",
|
|
600
693
|
url: `http://localhost:${port}`
|
|
@@ -784,8 +877,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
784
877
|
let extendsAccount = "";
|
|
785
878
|
let extendsGateway = "";
|
|
786
879
|
let directory = input.directory;
|
|
787
|
-
|
|
788
|
-
|
|
880
|
+
const account = input.account;
|
|
881
|
+
const domain = input.domain;
|
|
789
882
|
let overrides = input.overrides;
|
|
790
883
|
let plugins = input.plugins;
|
|
791
884
|
if (input.extends) {
|
|
@@ -797,77 +890,22 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
797
890
|
}
|
|
798
891
|
extendsAccount = extendsAccount || "dev.everything.near";
|
|
799
892
|
extendsGateway = extendsGateway || "everything.dev";
|
|
800
|
-
const s = _clack_prompts.spinner();
|
|
801
|
-
s.start("Initializing project");
|
|
802
893
|
let parentPluginKeys = [];
|
|
803
894
|
let parentConfig = null;
|
|
804
895
|
try {
|
|
805
|
-
parentConfig = await
|
|
896
|
+
parentConfig = await timePhase(timings, "parent config", () => require_cli_init.fetchParentConfig(extendsAccount, extendsGateway));
|
|
806
897
|
if (parentConfig?.plugins && typeof parentConfig.plugins === "object") parentPluginKeys = Object.keys(parentConfig.plugins);
|
|
807
898
|
} catch {}
|
|
808
|
-
if (!input.noInteractive) {
|
|
809
|
-
s.stop("Config fetched");
|
|
810
|
-
const initialExtendsAccount = extendsAccount;
|
|
811
|
-
const initialExtendsGateway = extendsGateway;
|
|
812
|
-
const prompted = await require_prompts.promptInitOptions({
|
|
813
|
-
extends: `bos://${extendsAccount}/${extendsGateway}`,
|
|
814
|
-
directory,
|
|
815
|
-
account,
|
|
816
|
-
domain,
|
|
817
|
-
plugins,
|
|
818
|
-
overrides,
|
|
819
|
-
parentPluginKeys
|
|
820
|
-
});
|
|
821
|
-
extendsAccount = prompted.extendsAccount;
|
|
822
|
-
extendsGateway = prompted.extendsGateway;
|
|
823
|
-
directory = prompted.directory;
|
|
824
|
-
account = prompted.account;
|
|
825
|
-
domain = prompted.domain;
|
|
826
|
-
plugins = prompted.plugins;
|
|
827
|
-
overrides = prompted.overrides;
|
|
828
|
-
if (!parentConfig || prompted.extendsAccount !== initialExtendsAccount || prompted.extendsGateway !== initialExtendsGateway) {
|
|
829
|
-
try {
|
|
830
|
-
parentConfig = await require_timing.timePhase(timings, "parent config", () => require_cli_init.fetchParentConfig(prompted.extendsAccount, prompted.extendsGateway), s);
|
|
831
|
-
if (parentConfig?.plugins && typeof parentConfig.plugins === "object") parentPluginKeys = Object.keys(parentConfig.plugins);
|
|
832
|
-
else parentPluginKeys = [];
|
|
833
|
-
} catch {
|
|
834
|
-
return {
|
|
835
|
-
status: "error",
|
|
836
|
-
directory,
|
|
837
|
-
extendsRef: `bos://${prompted.extendsAccount}/${prompted.extendsGateway}`,
|
|
838
|
-
account,
|
|
839
|
-
domain,
|
|
840
|
-
extends: `bos://${prompted.extendsAccount}/${prompted.extendsGateway}`,
|
|
841
|
-
plugins,
|
|
842
|
-
overrides,
|
|
843
|
-
filesCopied: 0,
|
|
844
|
-
timings,
|
|
845
|
-
error: `No config found at bos://${prompted.extendsAccount}/${prompted.extendsGateway} — are you sure this is the right parent?`
|
|
846
|
-
};
|
|
847
|
-
}
|
|
848
|
-
s.stop("Config fetched");
|
|
849
|
-
}
|
|
850
|
-
if (typeof parentConfig?.title === "string" && parentConfig.title.trim() && typeof parentConfig.description === "string" && parentConfig.description.trim()) {
|
|
851
|
-
const shouldContinue = await _clack_prompts.confirm({
|
|
852
|
-
message: `You will be extending ${parentConfig.title} - ${parentConfig.description}. Continue?`,
|
|
853
|
-
initialValue: true
|
|
854
|
-
});
|
|
855
|
-
if (_clack_prompts.isCancel(shouldContinue) || !shouldContinue) node_process.default.exit(0);
|
|
856
|
-
}
|
|
857
|
-
s.start("Setting up project");
|
|
858
|
-
}
|
|
859
899
|
overrides = overrides?.length ? overrides : ["ui", "api"];
|
|
860
|
-
if (overrides.includes("plugins") &&
|
|
900
|
+
if (overrides.includes("plugins") && plugins === void 0) plugins = parentPluginKeys;
|
|
861
901
|
plugins = plugins ?? [];
|
|
862
902
|
directory = directory || domain || extendsGateway;
|
|
863
903
|
const targetDir = (0, node_path.resolve)(directory);
|
|
864
904
|
const extendsRef = `bos://${extendsAccount}/${extendsGateway}`;
|
|
865
|
-
if (overrides.includes("plugins") && !plugins.length) {}
|
|
866
905
|
const repository = await require_cli_init.detectGitRemoteUrl(node_process.default.cwd()).catch(() => void 0) ?? parentConfig?.repository;
|
|
867
906
|
if (!parentConfig) try {
|
|
868
|
-
parentConfig = await
|
|
907
|
+
parentConfig = await timePhase(timings, "parent config", () => require_cli_init.fetchParentConfig(extendsAccount, extendsGateway));
|
|
869
908
|
} catch {
|
|
870
|
-
s.stop("Failed");
|
|
871
909
|
return {
|
|
872
910
|
status: "error",
|
|
873
911
|
directory,
|
|
@@ -882,26 +920,28 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
882
920
|
error: `No config found at ${extendsRef} — are you sure this is the right parent?`
|
|
883
921
|
};
|
|
884
922
|
}
|
|
885
|
-
const { sourceDir, parentConfig: resolvedParentConfig, cleanup } = await
|
|
923
|
+
const { sourceDir, parentConfig: resolvedParentConfig, cleanup } = await timePhase(timings, "template source", () => require_cli_init.resolveSourceDir({
|
|
886
924
|
extendsAccount,
|
|
887
925
|
extendsGateway,
|
|
888
926
|
source: input.source
|
|
889
|
-
})
|
|
927
|
+
}));
|
|
890
928
|
parentConfig = resolvedParentConfig;
|
|
891
929
|
const isMinimalScaffold = sourceDir === "";
|
|
892
930
|
try {
|
|
893
931
|
let filesCopied;
|
|
894
932
|
if (isMinimalScaffold) {
|
|
895
|
-
filesCopied = await
|
|
933
|
+
filesCopied = await timePhase(timings, "scaffold project", () => require_cli_init.scaffoldMinimalProject(targetDir, parentConfig, {
|
|
896
934
|
extendsAccount,
|
|
897
935
|
extendsGateway,
|
|
898
936
|
account: account || extendsAccount,
|
|
899
937
|
domain,
|
|
900
938
|
plugins,
|
|
901
939
|
overrides,
|
|
902
|
-
repository
|
|
903
|
-
|
|
904
|
-
|
|
940
|
+
repository,
|
|
941
|
+
title: parentConfig?.title,
|
|
942
|
+
description: parentConfig?.description
|
|
943
|
+
}));
|
|
944
|
+
await timePhase(timings, "personalize config", () => require_cli_init.personalizeConfig(targetDir, {
|
|
905
945
|
extendsAccount,
|
|
906
946
|
extendsGateway,
|
|
907
947
|
account: account || extendsAccount,
|
|
@@ -909,85 +949,53 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
909
949
|
plugins,
|
|
910
950
|
overrides,
|
|
911
951
|
mode: "init",
|
|
912
|
-
repository
|
|
913
|
-
|
|
952
|
+
repository,
|
|
953
|
+
title: parentConfig?.title,
|
|
954
|
+
description: parentConfig?.description,
|
|
955
|
+
testnet: parentConfig?.testnet,
|
|
956
|
+
staging: parentConfig?.staging
|
|
957
|
+
}));
|
|
914
958
|
} else {
|
|
915
|
-
const patterns =
|
|
916
|
-
|
|
917
|
-
s.stop("Failed");
|
|
918
|
-
return {
|
|
919
|
-
status: "error",
|
|
920
|
-
directory,
|
|
921
|
-
extendsRef,
|
|
922
|
-
account,
|
|
923
|
-
domain,
|
|
924
|
-
extends: extendsRef,
|
|
925
|
-
plugins,
|
|
926
|
-
overrides,
|
|
927
|
-
filesCopied: 0,
|
|
928
|
-
error: "No .templatekeep found in template source"
|
|
929
|
-
};
|
|
930
|
-
}
|
|
931
|
-
const pluginRoutes = {};
|
|
932
|
-
if (overrides.includes("plugins")) {
|
|
933
|
-
const parentRuntimePlugins = await require_config.buildRuntimePluginsForConfig(parentConfig, sourceDir, "production");
|
|
934
|
-
for (const [key, plugin] of Object.entries(parentRuntimePlugins ?? {})) if (plugin.routes && plugin.routes.length > 0) pluginRoutes[key] = plugin.routes;
|
|
935
|
-
}
|
|
936
|
-
filesCopied = await require_timing.timePhase(timings, "copy files", () => require_cli_init.copyFilteredFiles(sourceDir, targetDir, patterns, {
|
|
959
|
+
const patterns = require_cli_init.buildInitPatterns(overrides, plugins);
|
|
960
|
+
filesCopied = await timePhase(timings, "copy files", () => require_cli_init.copyFilteredFiles(sourceDir, targetDir, patterns, {
|
|
937
961
|
overrides,
|
|
938
|
-
plugins
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
await require_timing.timePhase(timings, "personalize config", () => require_cli_init.personalizeConfig(targetDir, {
|
|
962
|
+
plugins
|
|
963
|
+
}));
|
|
964
|
+
await timePhase(timings, "personalize config", () => require_cli_init.personalizeConfig(targetDir, {
|
|
942
965
|
extendsAccount,
|
|
943
966
|
extendsGateway,
|
|
944
967
|
account: account || extendsAccount,
|
|
945
968
|
domain: domain || extendsGateway,
|
|
946
969
|
plugins,
|
|
947
970
|
overrides,
|
|
948
|
-
pluginRoutes,
|
|
949
971
|
workspaceOpts: { sourceDir },
|
|
950
|
-
repository
|
|
951
|
-
|
|
952
|
-
|
|
972
|
+
repository,
|
|
973
|
+
title: parentConfig?.title,
|
|
974
|
+
description: parentConfig?.description,
|
|
975
|
+
testnet: parentConfig?.testnet,
|
|
976
|
+
staging: parentConfig?.staging
|
|
977
|
+
}));
|
|
978
|
+
await timePhase(timings, "write snapshot", () => require_cli_init.writeInitSnapshot(targetDir, extendsAccount, extendsGateway, sourceDir, patterns, {
|
|
953
979
|
overrides,
|
|
954
|
-
plugins
|
|
955
|
-
|
|
956
|
-
}), s);
|
|
980
|
+
plugins
|
|
981
|
+
}));
|
|
957
982
|
}
|
|
958
983
|
const lockfilePath = (0, node_path.join)(targetDir, "bun.lock");
|
|
959
984
|
require_cli_init.stripOrphanedWorkspacesFromLockfile(lockfilePath, computeAllowedWorkspaces(overrides, plugins));
|
|
960
985
|
require_cli_init.removeInitLockfile(lockfilePath);
|
|
961
|
-
const initConfig = await
|
|
962
|
-
if (initConfig?.runtime) await
|
|
986
|
+
const initConfig = await timePhase(timings, "resolve config", () => require_config.loadConfig({ cwd: targetDir }));
|
|
987
|
+
if (initConfig?.runtime) await timePhase(timings, "generate env/docker", async () => {
|
|
963
988
|
require_infra.writeGeneratedInfra(targetDir, initConfig.runtime);
|
|
964
|
-
}
|
|
965
|
-
await
|
|
989
|
+
});
|
|
990
|
+
await timePhase(timings, "create env file", async () => {
|
|
966
991
|
require_infra.ensureEnvFile(targetDir);
|
|
967
|
-
}
|
|
992
|
+
});
|
|
968
993
|
if (!input.noInstall) {
|
|
969
|
-
await
|
|
970
|
-
await
|
|
971
|
-
await
|
|
972
|
-
}
|
|
973
|
-
if (input.noInstall && initConfig?.config) await require_timing.timePhase(timings, "generate code artifacts", () => generateCodeArtifacts(targetDir, initConfig.config), s);
|
|
974
|
-
s.stop("Project initialized");
|
|
975
|
-
if (!input.noInteractive) {
|
|
976
|
-
if (await _clack_prompts.confirm({
|
|
977
|
-
message: "Run docker compose up -d --wait?",
|
|
978
|
-
initialValue: true
|
|
979
|
-
}) === true) {
|
|
980
|
-
const dockerSpinner = _clack_prompts.spinner();
|
|
981
|
-
dockerSpinner.start("Starting Docker services");
|
|
982
|
-
try {
|
|
983
|
-
await require_timing.timePhase(timings, "docker compose up", () => require_cli_init.runDockerComposeUp(targetDir));
|
|
984
|
-
dockerSpinner.stop("Docker services ready");
|
|
985
|
-
} catch (error) {
|
|
986
|
-
dockerSpinner.stop("Docker services not started");
|
|
987
|
-
_clack_prompts.log.warn(`docker compose up -d --wait failed: ${error instanceof Error ? error.message : error}`);
|
|
988
|
-
}
|
|
989
|
-
}
|
|
994
|
+
await timePhase(timings, "install dependencies", () => require_cli_init.runBunInstall(targetDir));
|
|
995
|
+
await timePhase(timings, "generate types", () => require_cli_init.runTypesGen(targetDir));
|
|
996
|
+
await timePhase(timings, "generate migrations", () => require_cli_init.generateDatabaseMigrations(targetDir));
|
|
990
997
|
}
|
|
998
|
+
if (input.noInstall && initConfig?.config) await timePhase(timings, "generate code artifacts", () => generateCodeArtifacts(targetDir, initConfig.config));
|
|
991
999
|
return {
|
|
992
1000
|
status: "initialized",
|
|
993
1001
|
directory,
|
|
@@ -998,7 +1006,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
|
|
|
998
1006
|
plugins,
|
|
999
1007
|
overrides,
|
|
1000
1008
|
filesCopied,
|
|
1001
|
-
timings
|
|
1009
|
+
timings,
|
|
1010
|
+
targetDir
|
|
1002
1011
|
};
|
|
1003
1012
|
} finally {
|
|
1004
1013
|
await cleanup();
|
|
@@ -1173,10 +1182,12 @@ function computeAllowedWorkspaces(overrides, plugins) {
|
|
|
1173
1182
|
if (section === "ui") workspaces.push("ui");
|
|
1174
1183
|
if (section === "api") workspaces.push("api");
|
|
1175
1184
|
}
|
|
1176
|
-
if (plugins
|
|
1185
|
+
if (plugins && plugins.length > 0) workspaces.push("plugins/*");
|
|
1177
1186
|
return workspaces;
|
|
1178
1187
|
}
|
|
1179
1188
|
|
|
1180
1189
|
//#endregion
|
|
1181
|
-
|
|
1190
|
+
exports.consumeDevSession = consumeDevSession;
|
|
1191
|
+
exports.default = plugin_default;
|
|
1192
|
+
exports.pluginEvents = pluginEvents;
|
|
1182
1193
|
//# sourceMappingURL=plugin.cjs.map
|