@mondaydotcomorg/z2h-cli 0.23.1-feat-z2h-beta-poc-17b052e → 0.24.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/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +2 -6
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +6 -32
- package/dist/esm/commands/deploy.d.ts.map +1 -1
- package/dist/esm/commands/deploy.mjs +2 -6
- package/dist/esm/commands/doctor.d.ts.map +1 -1
- package/dist/esm/commands/doctor.mjs +6 -32
- package/dist/esm/index.mjs +0 -39
- package/dist/esm/util/tracker.d.ts.map +1 -1
- package/dist/esm/util/tracker.mjs +1 -9
- package/dist/index.js +0 -39
- package/dist/util/tracker.d.ts.map +1 -1
- package/dist/util/tracker.js +1 -10
- package/package.json +1 -2
- package/src/commands/__tests__/deploy.test.ts +0 -18
- package/src/commands/__tests__/doctor.test.ts +0 -25
- package/src/commands/deploy.ts +2 -9
- package/src/commands/doctor.ts +7 -34
- package/src/index.ts +0 -41
- package/src/util/tracker.ts +1 -10
- package/dist/commands/__tests__/beta.test.d.ts +0 -2
- package/dist/commands/__tests__/beta.test.d.ts.map +0 -1
- package/dist/commands/beta.d.ts +0 -4
- package/dist/commands/beta.d.ts.map +0 -1
- package/dist/commands/beta.js +0 -82
- package/dist/esm/commands/__tests__/beta.test.d.ts +0 -2
- package/dist/esm/commands/__tests__/beta.test.d.ts.map +0 -1
- package/dist/esm/commands/beta.d.ts +0 -4
- package/dist/esm/commands/beta.d.ts.map +0 -1
- package/dist/esm/commands/beta.mjs +0 -78
- package/dist/esm/util/__tests__/dev-env.test.d.ts +0 -2
- package/dist/esm/util/__tests__/dev-env.test.d.ts.map +0 -1
- package/dist/esm/util/__tests__/tracker.test.d.ts +0 -2
- package/dist/esm/util/__tests__/tracker.test.d.ts.map +0 -1
- package/dist/esm/util/beta/__tests__/beta-client.test.d.ts +0 -2
- package/dist/esm/util/beta/__tests__/beta-client.test.d.ts.map +0 -1
- package/dist/esm/util/beta/__tests__/beta-store.test.d.ts +0 -2
- package/dist/esm/util/beta/__tests__/beta-store.test.d.ts.map +0 -1
- package/dist/esm/util/beta/__tests__/pin-host-mf-version.test.d.ts +0 -2
- package/dist/esm/util/beta/__tests__/pin-host-mf-version.test.d.ts.map +0 -1
- package/dist/esm/util/beta/beta-client.d.ts +0 -13
- package/dist/esm/util/beta/beta-client.d.ts.map +0 -1
- package/dist/esm/util/beta/beta-client.mjs +0 -18
- package/dist/esm/util/beta/beta-store.d.ts +0 -7
- package/dist/esm/util/beta/beta-store.d.ts.map +0 -1
- package/dist/esm/util/beta/beta-store.mjs +0 -35
- package/dist/esm/util/beta/pin-host-mf-version.d.ts +0 -2
- package/dist/esm/util/beta/pin-host-mf-version.d.ts.map +0 -1
- package/dist/esm/util/beta/pin-host-mf-version.mjs +0 -11
- package/dist/esm/util/dev-env.d.ts +0 -3
- package/dist/esm/util/dev-env.d.ts.map +0 -1
- package/dist/esm/util/dev-env.mjs +0 -10
- package/dist/esm/util/update-script.d.ts +0 -2
- package/dist/esm/util/update-script.d.ts.map +0 -1
- package/dist/esm/util/update-script.mjs +0 -6
- package/dist/util/__tests__/dev-env.test.d.ts +0 -2
- package/dist/util/__tests__/dev-env.test.d.ts.map +0 -1
- package/dist/util/__tests__/tracker.test.d.ts +0 -2
- package/dist/util/__tests__/tracker.test.d.ts.map +0 -1
- package/dist/util/beta/__tests__/beta-client.test.d.ts +0 -2
- package/dist/util/beta/__tests__/beta-client.test.d.ts.map +0 -1
- package/dist/util/beta/__tests__/beta-store.test.d.ts +0 -2
- package/dist/util/beta/__tests__/beta-store.test.d.ts.map +0 -1
- package/dist/util/beta/__tests__/pin-host-mf-version.test.d.ts +0 -2
- package/dist/util/beta/__tests__/pin-host-mf-version.test.d.ts.map +0 -1
- package/dist/util/beta/beta-client.d.ts +0 -13
- package/dist/util/beta/beta-client.d.ts.map +0 -1
- package/dist/util/beta/beta-client.js +0 -21
- package/dist/util/beta/beta-store.d.ts +0 -7
- package/dist/util/beta/beta-store.d.ts.map +0 -1
- package/dist/util/beta/beta-store.js +0 -45
- package/dist/util/beta/pin-host-mf-version.d.ts +0 -2
- package/dist/util/beta/pin-host-mf-version.d.ts.map +0 -1
- package/dist/util/beta/pin-host-mf-version.js +0 -13
- package/dist/util/dev-env.d.ts +0 -3
- package/dist/util/dev-env.d.ts.map +0 -1
- package/dist/util/dev-env.js +0 -18
- package/dist/util/update-script.d.ts +0 -2
- package/dist/util/update-script.d.ts.map +0 -1
- package/dist/util/update-script.js +0 -13
- package/src/commands/__tests__/beta.test.ts +0 -165
- package/src/commands/beta.ts +0 -96
- package/src/util/__tests__/dev-env.test.ts +0 -86
- package/src/util/__tests__/tracker.test.ts +0 -61
- package/src/util/beta/__tests__/beta-client.test.ts +0 -69
- package/src/util/beta/__tests__/beta-store.test.ts +0 -66
- package/src/util/beta/__tests__/pin-host-mf-version.test.ts +0 -23
- package/src/util/beta/beta-client.ts +0 -30
- package/src/util/beta/beta-store.ts +0 -39
- package/src/util/beta/pin-host-mf-version.ts +0 -10
- package/src/util/dev-env.ts +0 -9
- package/src/util/update-script.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,UAAU,EAA2C,MAAM,4BAA4B,CAAC;AAiBtG,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAsB,aAAa,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB3E"}
|
package/dist/commands/deploy.js
CHANGED
|
@@ -9,8 +9,6 @@ const util_s3_upload = require('../util/s3/upload.js');
|
|
|
9
9
|
const constants = require('../constants.js');
|
|
10
10
|
const util_auth_brokerCredentialProvider = require('../util/auth/broker-credential-provider.js');
|
|
11
11
|
const util_auth_authStore = require('../util/auth/auth-store.js');
|
|
12
|
-
const util_beta_betaStore = require('../util/beta/beta-store.js');
|
|
13
|
-
const util_beta_pinHostMfVersion = require('../util/beta/pin-host-mf-version.js');
|
|
14
12
|
const util_appName = require('../util/app-name.js');
|
|
15
13
|
const util_git_repo = require('../util/git/repo.js');
|
|
16
14
|
const util_git_gitEnv = require('../util/git/git-env.js');
|
|
@@ -92,7 +90,6 @@ async function uploadAndRegister(opts) {
|
|
|
92
90
|
await util_broker_app.registerOrUpdateApp({ appName, token, nextVersion, entry, gitRemote, integrations, description });
|
|
93
91
|
}
|
|
94
92
|
async function deployPreview({ paths, consumerName, appName, token, opts }) {
|
|
95
|
-
const activeBeta = await util_beta_betaStore.readBetaState();
|
|
96
93
|
await fs.ensureDir(paths.shadowDir);
|
|
97
94
|
const { previewId } = await shadow_prepare.resolvePortAndMetadata(paths, util_appName.cleanAppName(consumerName));
|
|
98
95
|
const previewSlug = util_appName.buildPreviewSlug(consumerName, previewId);
|
|
@@ -117,7 +114,7 @@ async function deployPreview({ paths, consumerName, appName, token, opts }) {
|
|
|
117
114
|
gitRemote: '',
|
|
118
115
|
isPreview: true,
|
|
119
116
|
});
|
|
120
|
-
const previewUrl =
|
|
117
|
+
const previewUrl = `https://bigbrain.me/bigbrain-vibe/${previewSlug}`;
|
|
121
118
|
util_logger.output(`[z2h-cli] preview ready ✅\n app: ${appName}\n previewAppName: ${previewAppName}\n open: ${previewUrl}`, {
|
|
122
119
|
ok: true,
|
|
123
120
|
appName,
|
|
@@ -133,7 +130,6 @@ async function deployPreview({ paths, consumerName, appName, token, opts }) {
|
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
async function deployLive({ paths, consumerName, appName, token, opts }) {
|
|
136
|
-
const activeBeta = await util_beta_betaStore.readBetaState();
|
|
137
133
|
let gitRemote = await util_git_repo.getRemoteUrl(process.cwd());
|
|
138
134
|
if (gitRemote) {
|
|
139
135
|
if (opts.remote || opts.repoUrl) {
|
|
@@ -224,7 +220,7 @@ async function deployLive({ paths, consumerName, appName, token, opts }) {
|
|
|
224
220
|
// The host MF parses the app name from the URL and prepends `mf-` itself
|
|
225
221
|
// before looking it up in the manifest. So the user-facing URL must use
|
|
226
222
|
// the consumer's de-scoped package name (no `mf-` prefix, no `@scope/`).
|
|
227
|
-
const liveUrl =
|
|
223
|
+
const liveUrl = `https://bigbrain.me/bigbrain-vibe/${util_appName.cleanAppName(consumerName)}`;
|
|
228
224
|
util_logger.output(`[z2h-cli] deployed ✅\n app: ${appName}\n version: ${nextVersion}\n open: ${liveUrl}`, {
|
|
229
225
|
ok: true,
|
|
230
226
|
appName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAwSA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqEnD"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -11,7 +11,6 @@ const pc = require('picocolors');
|
|
|
11
11
|
const util_logger = require('../util/logger.js');
|
|
12
12
|
const util_workspace = require('../util/workspace.js');
|
|
13
13
|
const util_auth_authStore = require('../util/auth/auth-store.js');
|
|
14
|
-
const util_beta_betaStore = require('../util/beta/beta-store.js');
|
|
15
14
|
const constants = require('../constants.js');
|
|
16
15
|
|
|
17
16
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
@@ -103,9 +102,7 @@ function checkGitRemoteS3() {
|
|
|
103
102
|
}
|
|
104
103
|
async function checkZ2hCli() {
|
|
105
104
|
const { version } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('commands/doctor.js', document.baseURI).href)))('../../package.json');
|
|
106
|
-
|
|
107
|
-
const targetTag = activeBeta?.cliVersion ?? 'latest';
|
|
108
|
-
let targetVersion;
|
|
105
|
+
let latestVersion;
|
|
109
106
|
try {
|
|
110
107
|
const token = util_auth_authStore.tryReadAuthTokenSync();
|
|
111
108
|
if (token) {
|
|
@@ -115,40 +112,17 @@ async function checkZ2hCli() {
|
|
|
115
112
|
});
|
|
116
113
|
if (res.ok) {
|
|
117
114
|
const data = (await res.json());
|
|
118
|
-
|
|
115
|
+
latestVersion = data['dist-tags']?.latest;
|
|
119
116
|
}
|
|
120
117
|
}
|
|
121
118
|
}
|
|
122
119
|
catch {
|
|
123
120
|
// version check is best-effort — no network / token not ready
|
|
124
121
|
}
|
|
125
|
-
if (
|
|
126
|
-
return {
|
|
127
|
-
label: 'z2h-cli',
|
|
128
|
-
status: 'warn',
|
|
129
|
-
detail: `${version} (${targetTag}: ${targetVersion})`,
|
|
130
|
-
fix: UPDATE_CMD,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
label: 'z2h-cli',
|
|
135
|
-
status: 'ok',
|
|
136
|
-
detail: targetVersion ? `${version} (up to date on ${targetTag})` : version,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
async function checkActiveBeta() {
|
|
140
|
-
const active = await util_beta_betaStore.readBetaState();
|
|
141
|
-
if (!active) {
|
|
142
|
-
return { label: 'beta', status: 'ok', detail: 'none — stable' };
|
|
122
|
+
if (latestVersion && latestVersion !== version) {
|
|
123
|
+
return { label: 'z2h-cli', status: 'warn', detail: `${version} (latest: ${latestVersion})`, fix: UPDATE_CMD };
|
|
143
124
|
}
|
|
144
|
-
|
|
145
|
-
active.cliVersion && `cli@${active.cliVersion}`,
|
|
146
|
-
active.skillsBranch && `skills@${active.skillsBranch}`,
|
|
147
|
-
active.hostMfVersion && `hostMf@${active.hostMfVersion}`,
|
|
148
|
-
]
|
|
149
|
-
.filter(Boolean)
|
|
150
|
-
.join(', ');
|
|
151
|
-
return { label: 'beta', status: 'ok', detail: pins ? `${active.id} (${pins})` : active.id };
|
|
125
|
+
return { label: 'z2h-cli', status: 'ok', detail: latestVersion ? `${version} (up to date)` : version };
|
|
152
126
|
}
|
|
153
127
|
async function checkAuthToken() {
|
|
154
128
|
try {
|
|
@@ -290,7 +264,7 @@ async function doctorCommand() {
|
|
|
290
264
|
// treat as missing
|
|
291
265
|
}
|
|
292
266
|
const systemChecks = await Promise.all([checkNvm(), checkNode(), checkYarn(), checkAws(), checkGitRemoteS3()]);
|
|
293
|
-
const cliChecks = await Promise.all([checkZ2hCli(), checkAuthToken(), checkNpmTokenInProfile()
|
|
267
|
+
const cliChecks = await Promise.all([checkZ2hCli(), checkAuthToken(), checkNpmTokenInProfile()]);
|
|
294
268
|
const workspaceChecks = await Promise.all([checkWorkspace(), checkReactVersion()]);
|
|
295
269
|
const pluginChecks = await Promise.all([
|
|
296
270
|
checkPlugin('z2h@bigbrain-z2h', 'z2h plugin', true, pluginsJson),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,UAAU,EAA2C,MAAM,4BAA4B,CAAC;AAiBtG,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAsB,aAAa,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB3E"}
|
|
@@ -7,8 +7,6 @@ import { uploadDir } from '../util/s3/upload.mjs';
|
|
|
7
7
|
import { BUCKET_WRITE_NAME, brokerBaseUrl, routingHeaders, S3_PREVIEWS_FOLDER, BUCKET_READ_DNS_URL } from '../constants.mjs';
|
|
8
8
|
import { fetchDeployVersion, brokerCredentialProvider } from '../util/auth/broker-credential-provider.mjs';
|
|
9
9
|
import { readZthAuth } from '../util/auth/auth-store.mjs';
|
|
10
|
-
import { readBetaState } from '../util/beta/beta-store.mjs';
|
|
11
|
-
import { pinHostMfVersion } from '../util/beta/pin-host-mf-version.mjs';
|
|
12
10
|
import { validateAppName, cleanAppName, mfAppName, buildPreviewSlug } from '../util/app-name.mjs';
|
|
13
11
|
import { getRemoteUrl, initRepo, guardCleanTree, pullAndResolve, pushToRemote } from '../util/git/repo.mjs';
|
|
14
12
|
import { resolveGitEnv } from '../util/git/git-env.mjs';
|
|
@@ -86,7 +84,6 @@ async function uploadAndRegister(opts) {
|
|
|
86
84
|
await registerOrUpdateApp({ appName, token, nextVersion, entry, gitRemote, integrations, description });
|
|
87
85
|
}
|
|
88
86
|
async function deployPreview({ paths, consumerName, appName, token, opts }) {
|
|
89
|
-
const activeBeta = await readBetaState();
|
|
90
87
|
await ensureDir(paths.shadowDir);
|
|
91
88
|
const { previewId } = await resolvePortAndMetadata(paths, cleanAppName(consumerName));
|
|
92
89
|
const previewSlug = buildPreviewSlug(consumerName, previewId);
|
|
@@ -111,7 +108,7 @@ async function deployPreview({ paths, consumerName, appName, token, opts }) {
|
|
|
111
108
|
gitRemote: '',
|
|
112
109
|
isPreview: true,
|
|
113
110
|
});
|
|
114
|
-
const previewUrl =
|
|
111
|
+
const previewUrl = `https://bigbrain.me/bigbrain-vibe/${previewSlug}`;
|
|
115
112
|
output(`[z2h-cli] preview ready ✅\n app: ${appName}\n previewAppName: ${previewAppName}\n open: ${previewUrl}`, {
|
|
116
113
|
ok: true,
|
|
117
114
|
appName,
|
|
@@ -127,7 +124,6 @@ async function deployPreview({ paths, consumerName, appName, token, opts }) {
|
|
|
127
124
|
}
|
|
128
125
|
}
|
|
129
126
|
async function deployLive({ paths, consumerName, appName, token, opts }) {
|
|
130
|
-
const activeBeta = await readBetaState();
|
|
131
127
|
let gitRemote = await getRemoteUrl(process.cwd());
|
|
132
128
|
if (gitRemote) {
|
|
133
129
|
if (opts.remote || opts.repoUrl) {
|
|
@@ -218,7 +214,7 @@ async function deployLive({ paths, consumerName, appName, token, opts }) {
|
|
|
218
214
|
// The host MF parses the app name from the URL and prepends `mf-` itself
|
|
219
215
|
// before looking it up in the manifest. So the user-facing URL must use
|
|
220
216
|
// the consumer's de-scoped package name (no `mf-` prefix, no `@scope/`).
|
|
221
|
-
const liveUrl =
|
|
217
|
+
const liveUrl = `https://bigbrain.me/bigbrain-vibe/${cleanAppName(consumerName)}`;
|
|
222
218
|
output(`[z2h-cli] deployed ✅\n app: ${appName}\n version: ${nextVersion}\n open: ${liveUrl}`, {
|
|
223
219
|
ok: true,
|
|
224
220
|
appName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAwSA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqEnD"}
|
|
@@ -9,7 +9,6 @@ import pc from 'picocolors';
|
|
|
9
9
|
import { getOutputMode, output } from '../util/logger.mjs';
|
|
10
10
|
import { getWorkspaceHome, isZ2hWorkspace } from '../util/workspace.mjs';
|
|
11
11
|
import { tryReadAuthTokenSync, Z2H_AUTH_FILE } from '../util/auth/auth-store.mjs';
|
|
12
|
-
import { readBetaState } from '../util/beta/beta-store.mjs';
|
|
13
12
|
import { brokerNpmRegistryUrl, routingHeaders } from '../constants.mjs';
|
|
14
13
|
|
|
15
14
|
const HOME = os.homedir();
|
|
@@ -93,9 +92,7 @@ function checkGitRemoteS3() {
|
|
|
93
92
|
}
|
|
94
93
|
async function checkZ2hCli() {
|
|
95
94
|
const { version } = createRequire(import.meta.url)('../../package.json');
|
|
96
|
-
|
|
97
|
-
const targetTag = activeBeta?.cliVersion ?? 'latest';
|
|
98
|
-
let targetVersion;
|
|
95
|
+
let latestVersion;
|
|
99
96
|
try {
|
|
100
97
|
const token = tryReadAuthTokenSync();
|
|
101
98
|
if (token) {
|
|
@@ -105,40 +102,17 @@ async function checkZ2hCli() {
|
|
|
105
102
|
});
|
|
106
103
|
if (res.ok) {
|
|
107
104
|
const data = (await res.json());
|
|
108
|
-
|
|
105
|
+
latestVersion = data['dist-tags']?.latest;
|
|
109
106
|
}
|
|
110
107
|
}
|
|
111
108
|
}
|
|
112
109
|
catch {
|
|
113
110
|
// version check is best-effort — no network / token not ready
|
|
114
111
|
}
|
|
115
|
-
if (
|
|
116
|
-
return {
|
|
117
|
-
label: 'z2h-cli',
|
|
118
|
-
status: 'warn',
|
|
119
|
-
detail: `${version} (${targetTag}: ${targetVersion})`,
|
|
120
|
-
fix: UPDATE_CMD,
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
return {
|
|
124
|
-
label: 'z2h-cli',
|
|
125
|
-
status: 'ok',
|
|
126
|
-
detail: targetVersion ? `${version} (up to date on ${targetTag})` : version,
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
async function checkActiveBeta() {
|
|
130
|
-
const active = await readBetaState();
|
|
131
|
-
if (!active) {
|
|
132
|
-
return { label: 'beta', status: 'ok', detail: 'none — stable' };
|
|
112
|
+
if (latestVersion && latestVersion !== version) {
|
|
113
|
+
return { label: 'z2h-cli', status: 'warn', detail: `${version} (latest: ${latestVersion})`, fix: UPDATE_CMD };
|
|
133
114
|
}
|
|
134
|
-
|
|
135
|
-
active.cliVersion && `cli@${active.cliVersion}`,
|
|
136
|
-
active.skillsBranch && `skills@${active.skillsBranch}`,
|
|
137
|
-
active.hostMfVersion && `hostMf@${active.hostMfVersion}`,
|
|
138
|
-
]
|
|
139
|
-
.filter(Boolean)
|
|
140
|
-
.join(', ');
|
|
141
|
-
return { label: 'beta', status: 'ok', detail: pins ? `${active.id} (${pins})` : active.id };
|
|
115
|
+
return { label: 'z2h-cli', status: 'ok', detail: latestVersion ? `${version} (up to date)` : version };
|
|
142
116
|
}
|
|
143
117
|
async function checkAuthToken() {
|
|
144
118
|
try {
|
|
@@ -280,7 +254,7 @@ async function doctorCommand() {
|
|
|
280
254
|
// treat as missing
|
|
281
255
|
}
|
|
282
256
|
const systemChecks = await Promise.all([checkNvm(), checkNode(), checkYarn(), checkAws(), checkGitRemoteS3()]);
|
|
283
|
-
const cliChecks = await Promise.all([checkZ2hCli(), checkAuthToken(), checkNpmTokenInProfile()
|
|
257
|
+
const cliChecks = await Promise.all([checkZ2hCli(), checkAuthToken(), checkNpmTokenInProfile()]);
|
|
284
258
|
const workspaceChecks = await Promise.all([checkWorkspace(), checkReactVersion()]);
|
|
285
259
|
const pluginChecks = await Promise.all([
|
|
286
260
|
checkPlugin('z2h@bigbrain-z2h', 'z2h plugin', true, pluginsJson),
|
package/dist/esm/index.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import path from 'node:path';
|
|
|
4
4
|
import { Command } from 'commander';
|
|
5
5
|
import { execa } from 'execa';
|
|
6
6
|
import { getWorkspaceHome } from './util/workspace.mjs';
|
|
7
|
-
import { loadDevEnv } from './util/dev-env.mjs';
|
|
8
7
|
import { buildCommand } from './commands/build.mjs';
|
|
9
8
|
import { cleanCommand } from './commands/clean.mjs';
|
|
10
9
|
import { deployCommand } from './commands/deploy.mjs';
|
|
@@ -18,7 +17,6 @@ import { tagCommand } from './commands/tag.mjs';
|
|
|
18
17
|
import { editCommand } from './commands/edit.mjs';
|
|
19
18
|
import { backendInvokeCommand } from './commands/backend.mjs';
|
|
20
19
|
import { doctorCommand } from './commands/doctor.mjs';
|
|
21
|
-
import { betaStatusCommand, enterBetaCommand, exitBetaCommand } from './commands/beta.mjs';
|
|
22
20
|
import { fail, errorLog, setOutputMode, getOutputMode } from './util/logger.mjs';
|
|
23
21
|
import { trackDuration } from './util/tracker.mjs';
|
|
24
22
|
import { getCwdAppName } from './util/app-name.mjs';
|
|
@@ -26,9 +24,6 @@ import { getCwdAppName } from './util/app-name.mjs';
|
|
|
26
24
|
const { version } = createRequire(import.meta.url)('../package.json');
|
|
27
25
|
const UPDATE_SCRIPT = path.join(os.homedir(), 'Development', 'bigbrain-z2h', 'z2h', 'setup', 'update.sh');
|
|
28
26
|
function selfUpdate() {
|
|
29
|
-
if (process.env.Z2H_SKIP_UPDATE) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
27
|
try {
|
|
33
28
|
execa('bash', [UPDATE_SCRIPT], {
|
|
34
29
|
detached: true,
|
|
@@ -50,7 +45,6 @@ function collectTag(value, previous) {
|
|
|
50
45
|
return previous.concat(value);
|
|
51
46
|
}
|
|
52
47
|
async function main() {
|
|
53
|
-
loadDevEnv();
|
|
54
48
|
stripConflictingEnvVars();
|
|
55
49
|
const program = new Command();
|
|
56
50
|
program
|
|
@@ -277,39 +271,6 @@ async function main() {
|
|
|
277
271
|
await fail(`doctor failed: ${err.message}`, { command: 'doctor' }, 1);
|
|
278
272
|
}
|
|
279
273
|
});
|
|
280
|
-
const beta = program
|
|
281
|
-
.command('beta')
|
|
282
|
-
.description("Show the published beta, if any, and whether you're in it (self-serve — no admin required either way)")
|
|
283
|
-
.action(async () => {
|
|
284
|
-
try {
|
|
285
|
-
await betaStatusCommand();
|
|
286
|
-
}
|
|
287
|
-
catch (err) {
|
|
288
|
-
await fail(`beta failed: ${err.message}`, { command: 'beta' }, 1);
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
beta
|
|
292
|
-
.command('enter')
|
|
293
|
-
.description('Join the published beta — pins the CLI/skills version it declares, and converges immediately')
|
|
294
|
-
.action(async () => {
|
|
295
|
-
try {
|
|
296
|
-
await trackDuration('z2h_beta_enter_success', () => enterBetaCommand(), {});
|
|
297
|
-
}
|
|
298
|
-
catch (err) {
|
|
299
|
-
await fail(`beta enter failed: ${err.message}`, { command: 'beta enter' }, 1);
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
beta
|
|
303
|
-
.command('exit')
|
|
304
|
-
.description('Leave the active beta and converge back to stable')
|
|
305
|
-
.action(async () => {
|
|
306
|
-
try {
|
|
307
|
-
await trackDuration('z2h_beta_exit_success', () => exitBetaCommand(), {});
|
|
308
|
-
}
|
|
309
|
-
catch (err) {
|
|
310
|
-
await fail(`beta exit failed: ${err.message}`, { command: 'beta exit' }, 1);
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
274
|
await program.parseAsync(process.argv);
|
|
314
275
|
}
|
|
315
276
|
void main()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/util/tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/util/tracker.ts"],"names":[],"mappings":"AASA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAKZ"}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import os from 'node:os';
|
|
2
|
-
import { createRequire } from 'node:module';
|
|
3
|
-
import { readBetaState } from './beta/beta-store.mjs';
|
|
4
2
|
|
|
5
3
|
const DOORMAN_URL = 'https://track-int.bigbrain.me/prod/event';
|
|
6
4
|
const DOORMAN_URL_STAGING = 'https://track-int.bigbrainstaging.me/stage/event';
|
|
7
5
|
const username = os.userInfo().username;
|
|
8
6
|
const isStaging = process.env.NODE_ENV === 'staging';
|
|
9
|
-
const { version: cliVersion } = createRequire(import.meta.url)('../../package.json');
|
|
10
7
|
async function trackEvent(name, data) {
|
|
11
8
|
const doormanUrl = isStaging ? DOORMAN_URL_STAGING : DOORMAN_URL;
|
|
12
|
-
const betaId = (await readBetaState())?.id ?? null;
|
|
13
9
|
await fetch(doormanUrl, {
|
|
14
10
|
method: 'POST',
|
|
15
11
|
headers: { 'Content-Type': 'application/json' },
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
name,
|
|
18
|
-
source: 'z2h-cli',
|
|
19
|
-
data: { user_name: username, cli_version: cliVersion, beta_id: betaId, ...data },
|
|
20
|
-
}),
|
|
12
|
+
body: JSON.stringify({ name, source: 'z2h-cli', data: { user_name: username, ...data } }),
|
|
21
13
|
signal: AbortSignal.timeout(5000),
|
|
22
14
|
}).catch(() => { });
|
|
23
15
|
}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,6 @@ const path = require('node:path');
|
|
|
4
4
|
const commander = require('commander');
|
|
5
5
|
const execa = require('execa');
|
|
6
6
|
const util_workspace = require('./util/workspace.js');
|
|
7
|
-
const util_devEnv = require('./util/dev-env.js');
|
|
8
7
|
const commands_build = require('./commands/build.js');
|
|
9
8
|
const commands_clean = require('./commands/clean.js');
|
|
10
9
|
const commands_deploy = require('./commands/deploy.js');
|
|
@@ -18,7 +17,6 @@ const commands_tag = require('./commands/tag.js');
|
|
|
18
17
|
const commands_edit = require('./commands/edit.js');
|
|
19
18
|
const commands_backend = require('./commands/backend.js');
|
|
20
19
|
const commands_doctor = require('./commands/doctor.js');
|
|
21
|
-
const commands_beta = require('./commands/beta.js');
|
|
22
20
|
const util_logger = require('./util/logger.js');
|
|
23
21
|
const util_tracker = require('./util/tracker.js');
|
|
24
22
|
const util_appName = require('./util/app-name.js');
|
|
@@ -32,9 +30,6 @@ const path__default = /*#__PURE__*/_interopDefault(path);
|
|
|
32
30
|
const { version } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.js', document.baseURI).href)))('../package.json');
|
|
33
31
|
const UPDATE_SCRIPT = path__default.default.join(os__default.default.homedir(), 'Development', 'bigbrain-z2h', 'z2h', 'setup', 'update.sh');
|
|
34
32
|
function selfUpdate() {
|
|
35
|
-
if (process.env.Z2H_SKIP_UPDATE) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
33
|
try {
|
|
39
34
|
execa.execa('bash', [UPDATE_SCRIPT], {
|
|
40
35
|
detached: true,
|
|
@@ -56,7 +51,6 @@ function collectTag(value, previous) {
|
|
|
56
51
|
return previous.concat(value);
|
|
57
52
|
}
|
|
58
53
|
async function main() {
|
|
59
|
-
util_devEnv.loadDevEnv();
|
|
60
54
|
stripConflictingEnvVars();
|
|
61
55
|
const program = new commander.Command();
|
|
62
56
|
program
|
|
@@ -283,39 +277,6 @@ async function main() {
|
|
|
283
277
|
await util_logger.fail(`doctor failed: ${err.message}`, { command: 'doctor' }, 1);
|
|
284
278
|
}
|
|
285
279
|
});
|
|
286
|
-
const beta = program
|
|
287
|
-
.command('beta')
|
|
288
|
-
.description("Show the published beta, if any, and whether you're in it (self-serve — no admin required either way)")
|
|
289
|
-
.action(async () => {
|
|
290
|
-
try {
|
|
291
|
-
await commands_beta.betaStatusCommand();
|
|
292
|
-
}
|
|
293
|
-
catch (err) {
|
|
294
|
-
await util_logger.fail(`beta failed: ${err.message}`, { command: 'beta' }, 1);
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
beta
|
|
298
|
-
.command('enter')
|
|
299
|
-
.description('Join the published beta — pins the CLI/skills version it declares, and converges immediately')
|
|
300
|
-
.action(async () => {
|
|
301
|
-
try {
|
|
302
|
-
await util_tracker.trackDuration('z2h_beta_enter_success', () => commands_beta.enterBetaCommand(), {});
|
|
303
|
-
}
|
|
304
|
-
catch (err) {
|
|
305
|
-
await util_logger.fail(`beta enter failed: ${err.message}`, { command: 'beta enter' }, 1);
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
beta
|
|
309
|
-
.command('exit')
|
|
310
|
-
.description('Leave the active beta and converge back to stable')
|
|
311
|
-
.action(async () => {
|
|
312
|
-
try {
|
|
313
|
-
await util_tracker.trackDuration('z2h_beta_exit_success', () => commands_beta.exitBetaCommand(), {});
|
|
314
|
-
}
|
|
315
|
-
catch (err) {
|
|
316
|
-
await util_logger.fail(`beta exit failed: ${err.message}`, { command: 'beta exit' }, 1);
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
280
|
await program.parseAsync(process.argv);
|
|
320
281
|
}
|
|
321
282
|
void main()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/util/tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/util/tracker.ts"],"names":[],"mappings":"AASA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAKZ"}
|
package/dist/util/tracker.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
2
|
|
|
3
3
|
const os = require('node:os');
|
|
4
|
-
const node_module = require('node:module');
|
|
5
|
-
const util_beta_betaStore = require('./beta/beta-store.js');
|
|
6
4
|
|
|
7
|
-
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
8
5
|
const _interopDefault = e => e && e.__esModule ? e : { default: e };
|
|
9
6
|
|
|
10
7
|
const os__default = /*#__PURE__*/_interopDefault(os);
|
|
@@ -13,18 +10,12 @@ const DOORMAN_URL = 'https://track-int.bigbrain.me/prod/event';
|
|
|
13
10
|
const DOORMAN_URL_STAGING = 'https://track-int.bigbrainstaging.me/stage/event';
|
|
14
11
|
const username = os__default.default.userInfo().username;
|
|
15
12
|
const isStaging = process.env.NODE_ENV === 'staging';
|
|
16
|
-
const { version: cliVersion } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('util/tracker.js', document.baseURI).href)))('../../package.json');
|
|
17
13
|
async function trackEvent(name, data) {
|
|
18
14
|
const doormanUrl = isStaging ? DOORMAN_URL_STAGING : DOORMAN_URL;
|
|
19
|
-
const betaId = (await util_beta_betaStore.readBetaState())?.id ?? null;
|
|
20
15
|
await fetch(doormanUrl, {
|
|
21
16
|
method: 'POST',
|
|
22
17
|
headers: { 'Content-Type': 'application/json' },
|
|
23
|
-
body: JSON.stringify({
|
|
24
|
-
name,
|
|
25
|
-
source: 'z2h-cli',
|
|
26
|
-
data: { user_name: username, cli_version: cliVersion, beta_id: betaId, ...data },
|
|
27
|
-
}),
|
|
18
|
+
body: JSON.stringify({ name, source: 'z2h-cli', data: { user_name: username, ...data } }),
|
|
28
19
|
signal: AbortSignal.timeout(5000),
|
|
29
20
|
}).catch(() => { });
|
|
30
21
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mondaydotcomorg/z2h-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"bin": "./bin/z2h-cli.js",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -54,7 +54,6 @@
|
|
|
54
54
|
"chokidar": "^3.6.0",
|
|
55
55
|
"commander": "^12.1.0",
|
|
56
56
|
"cors": "^2.8.6",
|
|
57
|
-
"dotenv": "^16.6.1",
|
|
58
57
|
"execa": "^9.5.1",
|
|
59
58
|
"express": "^5.2.1",
|
|
60
59
|
"fs-extra": "^11.2.0",
|
|
@@ -14,8 +14,6 @@ import * as brokerProvider from '../../util/auth/broker-credential-provider';
|
|
|
14
14
|
import * as brokerApp from '../../util/broker/app';
|
|
15
15
|
import * as authStore from '../../util/auth/auth-store';
|
|
16
16
|
import * as gitRepo from '../../util/git/repo';
|
|
17
|
-
import * as betaStore from '../../util/beta/beta-store';
|
|
18
|
-
import { pinHostMfVersion } from '../../util/beta/pin-host-mf-version';
|
|
19
17
|
|
|
20
18
|
vi.mock('../build', () => ({
|
|
21
19
|
buildCommand: vi.fn(),
|
|
@@ -52,10 +50,6 @@ vi.mock('../../util/git/repo', () => ({
|
|
|
52
50
|
initRepo: vi.fn(),
|
|
53
51
|
}));
|
|
54
52
|
|
|
55
|
-
vi.mock('../../util/beta/beta-store', () => ({
|
|
56
|
-
readBetaState: vi.fn(),
|
|
57
|
-
}));
|
|
58
|
-
|
|
59
53
|
const ASSET_MANIFEST = {
|
|
60
54
|
sameAsHost: false,
|
|
61
55
|
skipTranslationFetch: false,
|
|
@@ -99,7 +93,6 @@ describe('deploy --preview', () => {
|
|
|
99
93
|
vi.mocked(gitRepo.pullAndResolve).mockClear();
|
|
100
94
|
vi.mocked(gitRepo.pushToRemote).mockClear();
|
|
101
95
|
vi.mocked(gitRepo.initRepo).mockClear();
|
|
102
|
-
vi.mocked(betaStore.readBetaState).mockReset().mockResolvedValue(null);
|
|
103
96
|
});
|
|
104
97
|
|
|
105
98
|
afterEach(async () => {
|
|
@@ -208,17 +201,6 @@ describe('deploy --preview', () => {
|
|
|
208
201
|
expect(openInBrowser).not.toHaveBeenCalled();
|
|
209
202
|
});
|
|
210
203
|
|
|
211
|
-
it('merges mf_test_version into the previewUrl when a beta pins hostMfVersion', async () => {
|
|
212
|
-
vi.mocked(betaStore.readBetaState).mockResolvedValue({ id: 'x', description: 'y', hostMfVersion: 'abc123' });
|
|
213
|
-
await writeMetadata(STUB_PREVIEW_ID);
|
|
214
|
-
await deployCommand({ preview: true, open: true });
|
|
215
|
-
|
|
216
|
-
const previewSlug = buildPreviewSlug('my-app', STUB_PREVIEW_ID);
|
|
217
|
-
const bareUrl = `https://bigbrain.me/bigbrain-vibe/${previewSlug}`;
|
|
218
|
-
expect(openInBrowser).toHaveBeenCalledWith(pinHostMfVersion(bareUrl, 'abc123'));
|
|
219
|
-
expect(openInBrowser).not.toHaveBeenCalledWith(bareUrl);
|
|
220
|
-
});
|
|
221
|
-
|
|
222
204
|
it('rejects deploying a preview for an app already named with the preview prefix', async () => {
|
|
223
205
|
await writeJson(path.join(tmp, 'package.json'), { name: 'zth-preview-abc123-my-app' });
|
|
224
206
|
await expect(deployCommand({ preview: true })).rejects.toThrow(/reserved for the ephemeral preview mechanism/);
|
|
@@ -4,7 +4,6 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
|
4
4
|
import { execa } from 'execa';
|
|
5
5
|
import { pathExists, readJson } from 'fs-extra';
|
|
6
6
|
import { tryReadAuthTokenSync } from '../../util/auth/auth-store';
|
|
7
|
-
import * as betaStore from '../../util/beta/beta-store';
|
|
8
7
|
import { getOutputMode, setOutputMode } from '../../util/logger';
|
|
9
8
|
import { doctorCommand } from '../doctor';
|
|
10
9
|
|
|
@@ -107,7 +106,6 @@ describe('doctorCommand', () => {
|
|
|
107
106
|
}) as never);
|
|
108
107
|
|
|
109
108
|
vi.stubEnv('Z2H_WORKSPACE_HOME', '/fake/zth-projects');
|
|
110
|
-
vi.spyOn(betaStore, 'readBetaState').mockResolvedValue(null);
|
|
111
109
|
});
|
|
112
110
|
|
|
113
111
|
afterEach(() => {
|
|
@@ -390,29 +388,6 @@ describe('doctorCommand', () => {
|
|
|
390
388
|
expect(out).not.toContain('❌');
|
|
391
389
|
});
|
|
392
390
|
|
|
393
|
-
// ── Beta ──────────────────────────────────────────────────────────────────
|
|
394
|
-
|
|
395
|
-
it('shows "none — stable" when no beta is active', async () => {
|
|
396
|
-
const out = await captureStdout(() => doctorCommand());
|
|
397
|
-
expect(out).toContain('beta');
|
|
398
|
-
expect(out).toContain('none — stable');
|
|
399
|
-
});
|
|
400
|
-
|
|
401
|
-
it('shows the active beta id and all of its pins', async () => {
|
|
402
|
-
vi.spyOn(betaStore, 'readBetaState').mockResolvedValue({
|
|
403
|
-
id: 'faster-deploy',
|
|
404
|
-
description: 'try it',
|
|
405
|
-
cliVersion: 'feat-faster-deploy',
|
|
406
|
-
skillsBranch: 'feat/faster-deploy',
|
|
407
|
-
hostMfVersion: '0a513e2e40ae',
|
|
408
|
-
});
|
|
409
|
-
const out = await captureStdout(() => doctorCommand());
|
|
410
|
-
expect(out).toContain('faster-deploy');
|
|
411
|
-
expect(out).toContain('cli@feat-faster-deploy');
|
|
412
|
-
expect(out).toContain('skills@feat/faster-deploy');
|
|
413
|
-
expect(out).toContain('hostMf@0a513e2e40ae');
|
|
414
|
-
});
|
|
415
|
-
|
|
416
391
|
// ── JSON output ───────────────────────────────────────────────────────────
|
|
417
392
|
|
|
418
393
|
it('emits structured JSON when --json flag is set', async () => {
|
package/src/commands/deploy.ts
CHANGED
|
@@ -13,8 +13,6 @@ import {
|
|
|
13
13
|
} from '../constants';
|
|
14
14
|
import { brokerCredentialProvider, fetchDeployVersion } from '../util/auth/broker-credential-provider';
|
|
15
15
|
import { readZthAuth } from '../util/auth/auth-store';
|
|
16
|
-
import { readBetaState } from '../util/beta/beta-store';
|
|
17
|
-
import { pinHostMfVersion } from '../util/beta/pin-host-mf-version';
|
|
18
16
|
import { cleanAppName, mfAppName, validateAppName, buildPreviewSlug } from '../util/app-name';
|
|
19
17
|
import { getRemoteUrl, guardCleanTree, pullAndResolve, pushToRemote, initRepo } from '../util/git/repo';
|
|
20
18
|
import { resolveGitEnv } from '../util/git/git-env';
|
|
@@ -137,7 +135,6 @@ async function uploadAndRegister(opts: {
|
|
|
137
135
|
}
|
|
138
136
|
|
|
139
137
|
async function deployPreview({ paths, consumerName, appName, token, opts }: DeployContext): Promise<void> {
|
|
140
|
-
const activeBeta = await readBetaState();
|
|
141
138
|
await ensureDir(paths.shadowDir);
|
|
142
139
|
const { previewId } = await resolvePortAndMetadata(paths, cleanAppName(consumerName));
|
|
143
140
|
|
|
@@ -168,7 +165,7 @@ async function deployPreview({ paths, consumerName, appName, token, opts }: Depl
|
|
|
168
165
|
isPreview: true,
|
|
169
166
|
});
|
|
170
167
|
|
|
171
|
-
const previewUrl =
|
|
168
|
+
const previewUrl = `https://bigbrain.me/bigbrain-vibe/${previewSlug}`;
|
|
172
169
|
output(
|
|
173
170
|
`[z2h-cli] preview ready ✅\n app: ${appName}\n previewAppName: ${previewAppName}\n open: ${previewUrl}`,
|
|
174
171
|
{
|
|
@@ -189,7 +186,6 @@ async function deployPreview({ paths, consumerName, appName, token, opts }: Depl
|
|
|
189
186
|
}
|
|
190
187
|
|
|
191
188
|
async function deployLive({ paths, consumerName, appName, token, opts }: DeployContext): Promise<void> {
|
|
192
|
-
const activeBeta = await readBetaState();
|
|
193
189
|
let gitRemote = await getRemoteUrl(process.cwd());
|
|
194
190
|
|
|
195
191
|
if (gitRemote) {
|
|
@@ -294,10 +290,7 @@ async function deployLive({ paths, consumerName, appName, token, opts }: DeployC
|
|
|
294
290
|
// The host MF parses the app name from the URL and prepends `mf-` itself
|
|
295
291
|
// before looking it up in the manifest. So the user-facing URL must use
|
|
296
292
|
// the consumer's de-scoped package name (no `mf-` prefix, no `@scope/`).
|
|
297
|
-
const liveUrl =
|
|
298
|
-
`https://bigbrain.me/bigbrain-vibe/${cleanAppName(consumerName)}`,
|
|
299
|
-
activeBeta?.hostMfVersion
|
|
300
|
-
);
|
|
293
|
+
const liveUrl = `https://bigbrain.me/bigbrain-vibe/${cleanAppName(consumerName)}`;
|
|
301
294
|
output(`[z2h-cli] deployed ✅\n app: ${appName}\n version: ${nextVersion}\n open: ${liveUrl}`, {
|
|
302
295
|
ok: true,
|
|
303
296
|
appName,
|