@substrat-run/cli 0.6.1 → 0.7.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/push.d.ts +11 -0
- package/dist/push.d.ts.map +1 -1
- package/dist/push.js +60 -8
- package/dist/push.js.map +1 -1
- package/package.json +6 -4
package/dist/push.d.ts
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
import { type RuntimeNeeds } from '@substrat-run/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* The Substrat→Cloudflare mapping (D-38): derive the wrangler config a `runtimeNeeds`
|
|
4
|
+
* vertical never authors. The result feeds BOTH the bundler (written to disk, passed via
|
|
5
|
+
* `--config`) and the manifest extraction below — one object, so what we bundle and what
|
|
6
|
+
* we declare cannot drift. The compatibility date is the platform's RUNTIME_BASELINE;
|
|
7
|
+
* a builder states needs, not substrate config.
|
|
8
|
+
*/
|
|
9
|
+
export declare function wranglerConfigFor(needs: RuntimeNeeds): Record<string, unknown>;
|
|
10
|
+
/** The vertical's `substrat.runtimeNeeds` block, parsed — or undefined for the wrangler.jsonc path. */
|
|
11
|
+
export declare function readRuntimeNeeds(dir: string): RuntimeNeeds | undefined;
|
|
1
12
|
export interface PushOptions {
|
|
2
13
|
dir: string;
|
|
3
14
|
slug: string;
|
package/dist/push.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAejC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkB9E;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAWtE;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;kGAC8F;IAC9F,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,kGAAkG;IAClG,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,iGAAiG;IACjG,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAwG/G;AAED,4FAA4F;AAC5F,MAAM,WAAW,YAAY;IAC3B,iHAAiH;IACjH,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mFAAmF;IACnF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;8FAC0F;IAC1F,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACxC,iHAAiH;IACjH,WAAW,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IAC5C,YAAY,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CA0B1D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAO3D;AAUD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
package/dist/push.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { execFileSync } from 'node:child_process';
|
|
2
|
-
import { mkdtempSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { existsSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { tmpdir } from 'node:os';
|
|
4
4
|
import { join, basename } from 'node:path';
|
|
5
5
|
import { webcrypto } from 'node:crypto';
|
|
6
|
-
import { deployManifest } from '@substrat-run/contracts';
|
|
6
|
+
import { deployManifest, runtimeNeeds, RUNTIME_BASELINE, } from '@substrat-run/contracts';
|
|
7
7
|
async function sha256(bytes) {
|
|
8
8
|
const digest = await webcrypto.subtle.digest('SHA-256', bytes);
|
|
9
9
|
return Buffer.from(digest).toString('hex').slice(0, 32);
|
|
@@ -15,6 +15,44 @@ function readJsonc(path) {
|
|
|
15
15
|
.replace(/(^|[^:])\/\/.*$/gm, '$1');
|
|
16
16
|
return JSON.parse(raw);
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* The Substrat→Cloudflare mapping (D-38): derive the wrangler config a `runtimeNeeds`
|
|
20
|
+
* vertical never authors. The result feeds BOTH the bundler (written to disk, passed via
|
|
21
|
+
* `--config`) and the manifest extraction below — one object, so what we bundle and what
|
|
22
|
+
* we declare cannot drift. The compatibility date is the platform's RUNTIME_BASELINE;
|
|
23
|
+
* a builder states needs, not substrate config.
|
|
24
|
+
*/
|
|
25
|
+
export function wranglerConfigFor(needs) {
|
|
26
|
+
return {
|
|
27
|
+
// wrangler requires a name; the real identity is the platform's deploymentRef.
|
|
28
|
+
name: 'substrat-vertical',
|
|
29
|
+
main: needs.entry,
|
|
30
|
+
compatibility_date: RUNTIME_BASELINE,
|
|
31
|
+
compatibility_flags: needs.needsNodeCompat ? ['nodejs_compat'] : [],
|
|
32
|
+
workers_dev: false,
|
|
33
|
+
...(needs.build ? { build: { command: needs.build } } : {}),
|
|
34
|
+
...(needs.stores.length
|
|
35
|
+
? {
|
|
36
|
+
durable_objects: {
|
|
37
|
+
bindings: needs.stores.map((s) => ({ name: s.binding, class_name: s.class })),
|
|
38
|
+
},
|
|
39
|
+
migrations: [{ tag: 'v1', new_sqlite_classes: needs.stores.map((s) => s.class) }],
|
|
40
|
+
}
|
|
41
|
+
: {}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** The vertical's `substrat.runtimeNeeds` block, parsed — or undefined for the wrangler.jsonc path. */
|
|
45
|
+
export function readRuntimeNeeds(dir) {
|
|
46
|
+
let raw;
|
|
47
|
+
try {
|
|
48
|
+
const pkg = JSON.parse(readFileSync(join(dir, 'package.json'), 'utf8'));
|
|
49
|
+
raw = pkg.substrat?.runtimeNeeds;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return raw === undefined ? undefined : runtimeNeeds.parse(raw);
|
|
55
|
+
}
|
|
18
56
|
/**
|
|
19
57
|
* Build a vertical and push its bundle to the platform's deploy endpoint
|
|
20
58
|
* (self-serve-deploy.md). The worker is built with `wrangler --dry-run --outdir` — the
|
|
@@ -24,7 +62,15 @@ function readJsonc(path) {
|
|
|
24
62
|
* hand-picked `--actor`.
|
|
25
63
|
*/
|
|
26
64
|
export async function push(opts) {
|
|
27
|
-
|
|
65
|
+
// Substrate-vocabulary path (D-38): when `substrat.runtimeNeeds` is present the builder
|
|
66
|
+
// authored no wrangler config, so none is read — the CLI derives it. The generated file
|
|
67
|
+
// lands next to the vertical (a relative `main` and the build command's cwd both resolve
|
|
68
|
+
// against the config's directory) and is removed after the build.
|
|
69
|
+
const needs = readRuntimeNeeds(opts.dir);
|
|
70
|
+
if (needs && existsSync(join(opts.dir, 'wrangler.jsonc'))) {
|
|
71
|
+
console.log('note: substrat.runtimeNeeds is set — wrangler.jsonc is ignored for this push');
|
|
72
|
+
}
|
|
73
|
+
const cfg = needs ? wranglerConfigFor(needs) : readJsonc(join(opts.dir, 'wrangler.jsonc'));
|
|
28
74
|
// A vertical's OWN stores travel with the bundle: its DO classes, and its D1 databases
|
|
29
75
|
// (e.g. a Better-Auth AUTH_DB). The control plane re-checks these against the §4 sandbox
|
|
30
76
|
// contract before the upload reaches the namespace.
|
|
@@ -46,13 +92,19 @@ export async function push(opts) {
|
|
|
46
92
|
// built-ins) can't start without them, and the runtime rejects the upload.
|
|
47
93
|
const compatibilityFlags = cfg.compatibility_flags ?? [];
|
|
48
94
|
const mainPath = cfg.main;
|
|
49
|
-
// Build the bundle (runs the vertical's own
|
|
95
|
+
// Build the bundle (runs the vertical's own build command first).
|
|
50
96
|
const out = mkdtempSync(join(tmpdir(), 'substrat-build-'));
|
|
51
97
|
console.log(`building ${opts.slug}@${opts.version} …`);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
98
|
+
const generated = needs ? join(opts.dir, '.wrangler.substrat.json') : undefined;
|
|
99
|
+
if (generated)
|
|
100
|
+
writeFileSync(generated, JSON.stringify(cfg, null, 2) + '\n');
|
|
101
|
+
try {
|
|
102
|
+
execFileSync('npx', ['wrangler', 'deploy', '--dry-run', '--outdir', out, ...(generated ? ['--config', generated] : [])], { cwd: opts.dir, stdio: 'inherit' });
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
if (generated)
|
|
106
|
+
rmSync(generated, { force: true });
|
|
107
|
+
}
|
|
56
108
|
// Collect the built modules; the entry is the bundled basename of `main`.
|
|
57
109
|
const mainBase = basename(mainPath).replace(/\.[cm]?ts$|\.[cm]?js$/, '');
|
|
58
110
|
const files = readdirSync(out).filter((f) => /\.(m?js)$/.test(f) && !f.endsWith('.map'));
|
package/dist/push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The substrat CLI — authenticated deploy tooling: push a vertical to the platform, manage its versions and channels",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -28,17 +28,19 @@
|
|
|
28
28
|
"node": ">=20"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@substrat-run/contracts": "^0.
|
|
31
|
+
"@substrat-run/contracts": "^0.23.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/node": "^22.0.0",
|
|
35
|
-
"typescript": "^7.0.0"
|
|
35
|
+
"typescript": "^7.0.0",
|
|
36
|
+
"vitest": "^3.0.0"
|
|
36
37
|
},
|
|
37
38
|
"publishConfig": {
|
|
38
39
|
"access": "public"
|
|
39
40
|
},
|
|
40
41
|
"scripts": {
|
|
41
42
|
"build": "tsc -p tsconfig.json",
|
|
42
|
-
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
43
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
44
|
+
"test": "vitest run"
|
|
43
45
|
}
|
|
44
46
|
}
|