@embeddables/cli 0.9.6 → 0.11.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/.prompts/embeddables-cli.md +66 -3
- package/README.md +1 -0
- package/dist/assets-manifest.d.ts +31 -0
- package/dist/assets-manifest.d.ts.map +1 -0
- package/dist/assets-manifest.js +59 -0
- package/dist/assets-manifest.js.map +1 -0
- package/dist/cli.js +119 -1
- package/dist/cli.js.map +1 -1
- package/dist/command-history.d.ts +13 -0
- package/dist/command-history.d.ts.map +1 -0
- package/dist/command-history.js +35 -0
- package/dist/command-history.js.map +1 -0
- package/dist/commands/assets-sync.d.ts +6 -0
- package/dist/commands/assets-sync.d.ts.map +1 -0
- package/dist/commands/assets-sync.js +35 -0
- package/dist/commands/assets-sync.js.map +1 -0
- package/dist/commands/assets-upload.d.ts +13 -0
- package/dist/commands/assets-upload.d.ts.map +1 -0
- package/dist/commands/assets-upload.js +475 -0
- package/dist/commands/assets-upload.js.map +1 -0
- package/dist/commands/diff.d.ts +90 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +738 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/experiments-connect.js +22 -19
- package/dist/commands/experiments-connect.js.map +1 -1
- package/dist/commands/feedback.d.ts +29 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +275 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +11 -90
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +3 -0
- package/dist/commands/pull.js.map +1 -1
- package/dist/compiler/errors.d.ts +7 -0
- package/dist/compiler/errors.d.ts.map +1 -1
- package/dist/compiler/errors.js +10 -0
- package/dist/compiler/errors.js.map +1 -1
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/index.js +4 -2
- package/dist/compiler/index.js.map +1 -1
- package/dist/constants/defaultTagStylesV4.d.ts +6 -0
- package/dist/constants/defaultTagStylesV4.d.ts.map +1 -0
- package/dist/constants/defaultTagStylesV4.js +659 -0
- package/dist/constants/defaultTagStylesV4.js.map +1 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/group-context.d.ts +2 -0
- package/dist/group-context.d.ts.map +1 -0
- package/dist/group-context.js +29 -0
- package/dist/group-context.js.map +1 -0
- package/dist/helpers/typeStubs.d.ts +25 -0
- package/dist/helpers/typeStubs.d.ts.map +1 -0
- package/dist/helpers/typeStubs.js +153 -0
- package/dist/helpers/typeStubs.js.map +1 -0
- package/dist/logger.d.ts +5 -2
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +33 -12
- package/dist/logger.js.map +1 -1
- package/dist/prompts/experiments.d.ts +3 -1
- package/dist/prompts/experiments.d.ts.map +1 -1
- package/dist/prompts/experiments.js +12 -5
- package/dist/prompts/experiments.js.map +1 -1
- package/dist/stdout.d.ts +4 -0
- package/dist/stdout.d.ts.map +1 -1
- package/dist/stdout.js +33 -3
- package/dist/stdout.js.map +1 -1
- package/dist/workbench/FieldEditorPanel.d.ts +2 -1
- package/dist/workbench/FieldEditorPanel.d.ts.map +1 -1
- package/dist/workbench/FieldEditorPanel.js +21 -10
- package/dist/workbench/FieldEditorPanel.js.map +1 -1
- package/dist/workbench/UserDataPanel.d.ts.map +1 -1
- package/dist/workbench/UserDataPanel.js +103 -3
- package/dist/workbench/UserDataPanel.js.map +1 -1
- package/dist/{commands/build-workbench.d.ts → workbench/build.d.ts} +1 -1
- package/dist/workbench/build.d.ts.map +1 -0
- package/dist/{commands/build-workbench.js → workbench/build.js} +1 -1
- package/dist/workbench/build.js.map +1 -0
- package/package.json +1 -1
- package/dist/commands/build-workbench.d.ts.map +0 -1
- package/dist/commands/build-workbench.js.map +0 -1
|
@@ -219,7 +219,47 @@ Note that these are desktop-first, not mobile-first (i.e. that the default style
|
|
|
219
219
|
- Tablet: `[max-width~='720px'] ` (note trailing space)
|
|
220
220
|
- Mobile: `[max-width~='520px'] ` (note trailing space)
|
|
221
221
|
|
|
222
|
-
|
|
222
|
+
**Breakpoint config in `config.json` (high priority; must follow exactly):**
|
|
223
|
+
|
|
224
|
+
- If you need to use any breakpoints other than `720px` and `520px`, you must add them in a top-level `breakpoints` property in `config.json` (typing is `Breakpoint[]`).
|
|
225
|
+
- `breakpoints` must be a **top-level** property in `config.json`.
|
|
226
|
+
- `breakpoints` must be placed **before** the `defaults` property.
|
|
227
|
+
- Each breakpoint must contain:
|
|
228
|
+
- `max_width` (number)
|
|
229
|
+
- `name` (string)
|
|
230
|
+
- Do not rename properties or change this structure.
|
|
231
|
+
- Keep `breakpoints` ordered from largest to smallest `max_width`.
|
|
232
|
+
- Always preserve valid JSON formatting.
|
|
233
|
+
|
|
234
|
+
Required structure:
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"breakpoints": [
|
|
239
|
+
{
|
|
240
|
+
"max_width": 1280,
|
|
241
|
+
"name": "Desktop medium"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"max_width": 1024,
|
|
245
|
+
"name": "Desktop small"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"max_width": 900,
|
|
249
|
+
"name": "Tablet big"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"max_width": 380,
|
|
253
|
+
"name": "Mobile small"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"max_width": 320,
|
|
257
|
+
"name": "Mobile mini"
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
"defaults": {}
|
|
261
|
+
}
|
|
262
|
+
```
|
|
223
263
|
|
|
224
264
|
#### 3. Scope
|
|
225
265
|
|
|
@@ -282,7 +322,10 @@ Note: If you need to use any breakpoints other than 720px and 520px, you must ad
|
|
|
282
322
|
// Button text on hover (sub-element: component in selector must be the one that owns it—CustomButton, not a container)
|
|
283
323
|
.Flow-Component.ComponentType-CustomButton.ComponentTag-primary_button:hover .ElementType-ButtonText
|
|
284
324
|
|
|
285
|
-
// Mobile breakpoint
|
|
325
|
+
// Mobile breakpoint (built-in)
|
|
326
|
+
.Flow-EntireFlow[max-width~='520px'] .Flow-Component.ComponentTag-landing_container
|
|
327
|
+
|
|
328
|
+
// Custom breakpoint (only after adding it to top-level config.json "breakpoints")
|
|
286
329
|
.Flow-EntireFlow[max-width~='1024px'] .Flow-Component.ComponentTag-landing_container
|
|
287
330
|
|
|
288
331
|
// Page-scoped component (PageKey is on the component, not the page)
|
|
@@ -323,6 +366,18 @@ For placeholder images, the recommended service is placehold.co:
|
|
|
323
366
|
|
|
324
367
|
Please be consistent with your choice out of those options within a particular component or section.
|
|
325
368
|
|
|
369
|
+
### Project Asset Manifest (`assets.json`)
|
|
370
|
+
|
|
371
|
+
If an `assets.json` file exists in the project root, treat it as the source of truth for uploaded assets and their uplaoded URLs and prefer it before creating new placeholder URLs.
|
|
372
|
+
|
|
373
|
+
- `assets.json` is generated by `embeddables assets sync` and refreshed by `embeddables assets upload`.
|
|
374
|
+
- It contains DB-backed metadata (for the project/group) plus optional `relativePath` entries for files uploaded from local folders.
|
|
375
|
+
- For embeddable-specific assets, prefer entries where `flow_id` matches the current embeddable.
|
|
376
|
+
- For project-level shared assets (from `/assets`), prefer entries where `flow_id` is `null`.
|
|
377
|
+
- If an asset is referenced by local file path, use `relativePath` to resolve the matching uploaded URL from `assets.json`.
|
|
378
|
+
|
|
379
|
+
When you need an existing image/icon URL for `MediaImage.src` or button `imageUrl`, check `assets.json` first and reuse those URLs whenever possible.
|
|
380
|
+
|
|
326
381
|
## Component Sub-Element Types Reference
|
|
327
382
|
|
|
328
383
|
### OptionSelector
|
|
@@ -541,6 +596,7 @@ Example: for experiment key `hero_test` with variants `control` and `variant_b`,
|
|
|
541
596
|
The `config.json` file contains the reduced Embeddable JSON with:
|
|
542
597
|
|
|
543
598
|
- All structural properties (id, title, builder_version, etc.)
|
|
599
|
+
- Optional top-level `breakpoints` array when using custom breakpoints (must appear before `defaults`; see Breakpoint section)
|
|
544
600
|
- Page metadata (id, key, properties) but NOT component content (components are in React files)
|
|
545
601
|
- Style selectors but NOT style values (styles are in CSS files)
|
|
546
602
|
- Computed field metadata (id, key, inputs, etc.) but NOT code (code is in JS files)
|
|
@@ -609,6 +665,7 @@ The `config.json` file contains the reduced Embeddable JSON with:
|
|
|
609
665
|
- Location: `styles/index.css` — a single CSS file for the flow (do not create multiple CSS files)
|
|
610
666
|
- Format: Standard CSS with selector as class name
|
|
611
667
|
- Content: Style properties from `Flow.styles[selector]`
|
|
668
|
+
- Project root reference: `default-styles.css` contains baseline styles for standard component tags (scaffolded by `embeddables init`)
|
|
612
669
|
|
|
613
670
|
### JS Files (Computed Fields)
|
|
614
671
|
|
|
@@ -630,6 +687,9 @@ The `config.json` file contains the reduced Embeddable JSON with:
|
|
|
630
687
|
- Primary tag (required): Describes component type (e.g., `standard_button`, `price_card`)
|
|
631
688
|
- Secondary tag (optional): Variant of primary (e.g., `primary_button`, `outline_button`)
|
|
632
689
|
- Utility tag (optional): Only for margins that can't be applied via primary/secondary (e.g., `m_2`)
|
|
690
|
+
- When using **standard tags**, ensure required default selectors exist in `default-styles.css` and copy missing selectors into the embeddable's `styles/index.css` when needed
|
|
691
|
+
- Standard tags to recognize:
|
|
692
|
+
`standard_plain_text`, `standard_rich_text`, `standard_container`, `standard_image`, `standard_button`, `standard_media_embed`, `standard_slider`, `standard_input`, `standard_checkbox`, `standard_option_buttons`, `standard_dropdown`, `standard_switch`, `standard_file_upload`, `standard_stripe_checkout`, `standard_calendly`, `standard_hubspot`, `standard_progress_bar`, `standard_progress_circle`
|
|
633
693
|
|
|
634
694
|
3. **Component Types**:
|
|
635
695
|
- Use `PlainText` by default
|
|
@@ -652,6 +712,8 @@ The `config.json` file contains the reduced Embeddable JSON with:
|
|
|
652
712
|
|
|
653
713
|
11. **Action Triggers**: Actions are triggered by events (button clicks, page completion, etc.). Configuration stored in config.json, code in JS files.
|
|
654
714
|
|
|
715
|
+
12. **Asset URL Source of Truth**: If `assets.json` exists in the project root, use it as the first source for image/file URLs. Prefer matching by `flow_id` (or `flow_id: null` for project-level shared assets) and use `relativePath` when mapping local files to uploaded URLs. Always use the (uploaded) url property, not local relative paths, as the image src when building in React.
|
|
716
|
+
|
|
655
717
|
## Common Patterns
|
|
656
718
|
|
|
657
719
|
### Adding a New Page
|
|
@@ -666,7 +728,8 @@ The `config.json` file contains the reduced Embeddable JSON with:
|
|
|
666
728
|
1. Update the page's React file (`pages/{pageKey}.page.tsx`)
|
|
667
729
|
2. Add component JSX with appropriate props
|
|
668
730
|
3. If new tags are used, ensure CSS exists for those tags
|
|
669
|
-
4.
|
|
731
|
+
4. If any tag is a `standard_*` tag, check `default-styles.css` in project root and add missing style selectors for that tag to `styles/index.css`
|
|
732
|
+
5. Update config.json if component metadata is needed (rarely)
|
|
670
733
|
|
|
671
734
|
### Styling a Component
|
|
672
735
|
|
package/README.md
CHANGED
|
@@ -109,6 +109,7 @@ Options:
|
|
|
109
109
|
|
|
110
110
|
- `-i, --id <id>`: Embeddable ID to pull (skips interactive selection)
|
|
111
111
|
- `-o, --out <path>`: Output path for the compiled JSON (default: `embeddables/<id>/.generated/embeddable.json`)
|
|
112
|
+
- `--version [version]`: Version to pull; omit for latest, use without a value (`--version`) for interactive version selector, or pass a number (`--version 5`)
|
|
112
113
|
- `-b, --branch <branch_id>`: Pull a specific branch version
|
|
113
114
|
- `-f, --fix`: Remove components with missing required props instead of erroring
|
|
114
115
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
2
|
+
export interface AssetMetadataRow {
|
|
3
|
+
id: string;
|
|
4
|
+
group_id: string;
|
|
5
|
+
flow_id: string | null;
|
|
6
|
+
name: string;
|
|
7
|
+
url: string;
|
|
8
|
+
archived: boolean;
|
|
9
|
+
created_at: string;
|
|
10
|
+
updated_at: string;
|
|
11
|
+
}
|
|
12
|
+
export interface AssetManifestEntry extends AssetMetadataRow {
|
|
13
|
+
relativePath?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface AssetsManifestFile {
|
|
16
|
+
generatedAt: string;
|
|
17
|
+
groupId: string;
|
|
18
|
+
assets: AssetManifestEntry[];
|
|
19
|
+
}
|
|
20
|
+
export declare function readAssetsManifest(filePath: string): AssetsManifestFile | null;
|
|
21
|
+
export declare function writeAssetsManifest(filePath: string, manifest: AssetsManifestFile): void;
|
|
22
|
+
export declare function syncAssetsManifest(params: {
|
|
23
|
+
supabase: SupabaseClient;
|
|
24
|
+
groupId: string;
|
|
25
|
+
outFilePath?: string;
|
|
26
|
+
relativePathByUrl?: Map<string, string>;
|
|
27
|
+
}): Promise<{
|
|
28
|
+
outFilePath: string;
|
|
29
|
+
count: number;
|
|
30
|
+
}>;
|
|
31
|
+
//# sourceMappingURL=assets-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-manifest.d.ts","sourceRoot":"","sources":["../src/assets-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAC7B;AAMD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAa9E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAExF;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxC,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuClD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
function normalizeRelativePath(relativePath) {
|
|
4
|
+
return relativePath.replace(/\\/g, '/').replace(/^\.?\//, '');
|
|
5
|
+
}
|
|
6
|
+
export function readAssetsManifest(filePath) {
|
|
7
|
+
if (!fs.existsSync(filePath))
|
|
8
|
+
return null;
|
|
9
|
+
try {
|
|
10
|
+
const parsed = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
11
|
+
if (!parsed || !Array.isArray(parsed.assets))
|
|
12
|
+
return null;
|
|
13
|
+
return {
|
|
14
|
+
generatedAt: typeof parsed.generatedAt === 'string' ? parsed.generatedAt : '',
|
|
15
|
+
groupId: typeof parsed.groupId === 'string' ? parsed.groupId : '',
|
|
16
|
+
assets: parsed.assets,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function writeAssetsManifest(filePath, manifest) {
|
|
24
|
+
fs.writeFileSync(filePath, JSON.stringify(manifest, null, 2) + '\n', 'utf8');
|
|
25
|
+
}
|
|
26
|
+
export async function syncAssetsManifest(params) {
|
|
27
|
+
const { supabase, groupId } = params;
|
|
28
|
+
const outFilePath = path.resolve(params.outFilePath ?? 'assets.json');
|
|
29
|
+
const { data, error } = await supabase
|
|
30
|
+
.from('assets')
|
|
31
|
+
.select('id, group_id, flow_id, name, url, archived, created_at, updated_at')
|
|
32
|
+
.eq('group_id', groupId)
|
|
33
|
+
.order('created_at', { ascending: false });
|
|
34
|
+
if (error)
|
|
35
|
+
throw new Error(`Could not fetch assets metadata: ${error.message}`);
|
|
36
|
+
const rows = (data ?? []);
|
|
37
|
+
const existing = readAssetsManifest(outFilePath);
|
|
38
|
+
const existingRelativeByUrl = new Map();
|
|
39
|
+
for (const asset of existing?.assets ?? []) {
|
|
40
|
+
if (asset.url && asset.relativePath) {
|
|
41
|
+
existingRelativeByUrl.set(asset.url, normalizeRelativePath(asset.relativePath));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const incomingRelativeByUrl = new Map();
|
|
45
|
+
for (const [url, relativePath] of params.relativePathByUrl ?? new Map()) {
|
|
46
|
+
incomingRelativeByUrl.set(url, normalizeRelativePath(relativePath));
|
|
47
|
+
}
|
|
48
|
+
const assets = rows.map((row) => {
|
|
49
|
+
const relativePath = incomingRelativeByUrl.get(row.url) ?? existingRelativeByUrl.get(row.url);
|
|
50
|
+
return relativePath ? { ...row, relativePath } : row;
|
|
51
|
+
});
|
|
52
|
+
writeAssetsManifest(outFilePath, {
|
|
53
|
+
generatedAt: new Date().toISOString(),
|
|
54
|
+
groupId,
|
|
55
|
+
assets,
|
|
56
|
+
});
|
|
57
|
+
return { outFilePath, count: assets.length };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=assets-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-manifest.js","sourceRoot":"","sources":["../src/assets-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -22,24 +22,29 @@ Sentry.getCurrentScope().setAttributes({ cliVersion: pkg.version });
|
|
|
22
22
|
Sentry.setTag('cliVersion', pkg.version);
|
|
23
23
|
import { isLoggedIn } from './auth/index.js';
|
|
24
24
|
import { getSentryContextFromProjectConfig, setSentryContext, setSentryUserFromAuth, setSentryUserFromAuthCache, } from './sentry-context.js';
|
|
25
|
+
import { writeHistoryEntry } from './command-history.js';
|
|
25
26
|
import { runBranch } from './commands/branch.js';
|
|
26
27
|
import { runBuild } from './commands/build.js';
|
|
27
28
|
import { runDev } from './commands/dev.js';
|
|
28
29
|
import { runBuilderOpen } from './commands/builder-open.js';
|
|
29
30
|
import { runExperimentsConnect } from './commands/experiments-connect.js';
|
|
31
|
+
import { runFeedback } from './commands/feedback.js';
|
|
30
32
|
import { runInit } from './commands/init.js';
|
|
33
|
+
import { runDiff } from './commands/diff.js';
|
|
31
34
|
import { runInspect } from './commands/inspect.js';
|
|
32
35
|
import { runLogin } from './commands/login.js';
|
|
33
36
|
import { runLogout } from './commands/logout.js';
|
|
34
37
|
import { runPull } from './commands/pull.js';
|
|
35
38
|
import { runSave } from './commands/save.js';
|
|
39
|
+
import { runAssetsUpload } from './commands/assets-upload.js';
|
|
40
|
+
import { runAssetsSync } from './commands/assets-sync.js';
|
|
36
41
|
import { runUpgrade } from './commands/upgrade.js';
|
|
37
42
|
import { configureCustomHelp } from './help.js';
|
|
38
43
|
import { exit } from './logger.js';
|
|
39
44
|
import * as stdout from './stdout.js';
|
|
40
45
|
import { withCommandSpan } from './tracing.js';
|
|
41
46
|
/** Only these commands may run without being logged in. All others require login. */
|
|
42
|
-
const COMMANDS_ALLOWED_WITHOUT_LOGIN = new Set(['login', 'logout', 'upgrade']);
|
|
47
|
+
const COMMANDS_ALLOWED_WITHOUT_LOGIN = new Set(['login', 'logout', 'upgrade', 'feedback']);
|
|
43
48
|
async function requireLogin(commandName) {
|
|
44
49
|
const baseCommand = commandName.split(' ')[0];
|
|
45
50
|
if (COMMANDS_ALLOWED_WITHOUT_LOGIN.has(baseCommand))
|
|
@@ -65,6 +70,33 @@ program
|
|
|
65
70
|
.version(pkg.version, '-v, --version', 'Show CLI version')
|
|
66
71
|
.enablePositionalOptions();
|
|
67
72
|
configureCustomHelp(program, pkg.version);
|
|
73
|
+
// ─── Command history tracking ────────────────────────────────────────────────
|
|
74
|
+
let _historyStart = 0;
|
|
75
|
+
let _historyCommand = '';
|
|
76
|
+
let _historyArgs = [];
|
|
77
|
+
program.hook('preAction', (thisCommand) => {
|
|
78
|
+
_historyStart = performance.now();
|
|
79
|
+
_historyCommand = thisCommand.args?.[0] ?? thisCommand.name();
|
|
80
|
+
_historyArgs = process.argv.slice(3).map((a) => (a.length > 200 ? a.slice(0, 200) + '…' : a));
|
|
81
|
+
});
|
|
82
|
+
const COMMANDS_EXCLUDED_FROM_HISTORY = new Set(['feedback']);
|
|
83
|
+
program.hook('postAction', () => {
|
|
84
|
+
if (COMMANDS_EXCLUDED_FROM_HISTORY.has(_historyCommand))
|
|
85
|
+
return;
|
|
86
|
+
try {
|
|
87
|
+
const entry = {
|
|
88
|
+
command: _historyCommand,
|
|
89
|
+
args: _historyArgs,
|
|
90
|
+
exitCode: 0,
|
|
91
|
+
durationMs: Math.round(performance.now() - _historyStart),
|
|
92
|
+
timestamp: new Date().toISOString(),
|
|
93
|
+
};
|
|
94
|
+
writeHistoryEntry(entry);
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Never let history logging break the CLI
|
|
98
|
+
}
|
|
99
|
+
});
|
|
68
100
|
program
|
|
69
101
|
.command('init')
|
|
70
102
|
.description('Initialize a new Embeddables project')
|
|
@@ -165,6 +197,36 @@ program
|
|
|
165
197
|
engine: opts.engine,
|
|
166
198
|
}));
|
|
167
199
|
});
|
|
200
|
+
program
|
|
201
|
+
.command('diff')
|
|
202
|
+
.description('Show differences between two versions of an embeddable')
|
|
203
|
+
.option('-i, --id <id>', 'Embeddable ID (will prompt if not provided)')
|
|
204
|
+
.option('--from <version>', 'Version to compare from (number, latest, staging, prod, local, or branch@version)', 'latest')
|
|
205
|
+
.option('--to <version>', 'Version to compare to (number, latest, staging, prod, local, or branch@version)', 'local')
|
|
206
|
+
.option('--page <keysOrIds>', 'Filter to page key/id (comma-separated, no spaces)')
|
|
207
|
+
.option('--component <keysOrIds>', 'Filter to component key/id (comma-separated, no spaces)')
|
|
208
|
+
.option('--depth <level>', 'Detail level: pages, components, or props', 'components')
|
|
209
|
+
.option('--no-color', 'Disable colored output')
|
|
210
|
+
.option('-b, --branch <branch_id>', 'Embeddable branch ID')
|
|
211
|
+
.option('-e, --engine <url>', 'Engine origin', 'https://engine.embeddables.com')
|
|
212
|
+
.action(async (opts) => {
|
|
213
|
+
const needsCloud = opts.from !== 'local' || opts.to !== 'local';
|
|
214
|
+
if (needsCloud) {
|
|
215
|
+
await requireLogin('diff');
|
|
216
|
+
}
|
|
217
|
+
setSentryContextForCommand('diff');
|
|
218
|
+
await runDiff({
|
|
219
|
+
id: opts.id,
|
|
220
|
+
from: opts.from,
|
|
221
|
+
to: opts.to,
|
|
222
|
+
depth: opts.depth,
|
|
223
|
+
page: opts.page,
|
|
224
|
+
component: opts.component,
|
|
225
|
+
color: opts.color,
|
|
226
|
+
engine: opts.engine,
|
|
227
|
+
branch: opts.branch,
|
|
228
|
+
});
|
|
229
|
+
});
|
|
168
230
|
program
|
|
169
231
|
.command('save')
|
|
170
232
|
.description('Build and save an embeddable to the cloud')
|
|
@@ -200,6 +262,21 @@ program
|
|
|
200
262
|
setSentryContextForCommand('branch');
|
|
201
263
|
await withCommandSpan('branch', () => runBranch(opts));
|
|
202
264
|
});
|
|
265
|
+
program
|
|
266
|
+
.command('feedback [message]')
|
|
267
|
+
.description('Send feedback about the CLI or AI prompts')
|
|
268
|
+
.option('--positive', 'Mark as positive feedback')
|
|
269
|
+
.option('--negative', 'Mark as negative feedback (default)')
|
|
270
|
+
.option('--category <type>', 'Feedback category: cli, ai, compiler, other')
|
|
271
|
+
.action(async (message, opts) => {
|
|
272
|
+
setSentryContextForCommand('feedback');
|
|
273
|
+
await withCommandSpan('feedback', () => runFeedback({
|
|
274
|
+
message,
|
|
275
|
+
positive: opts.positive,
|
|
276
|
+
negative: opts.negative,
|
|
277
|
+
category: opts.category,
|
|
278
|
+
}));
|
|
279
|
+
});
|
|
203
280
|
const builder = program.command('builder').description('Embeddables Builder utilities');
|
|
204
281
|
builder
|
|
205
282
|
.command('open')
|
|
@@ -226,5 +303,46 @@ experiments
|
|
|
226
303
|
experimentKey: opts.experimentKey,
|
|
227
304
|
}));
|
|
228
305
|
});
|
|
306
|
+
const assets = program.command('assets').description('Manage embeddable assets');
|
|
307
|
+
assets
|
|
308
|
+
.command('upload')
|
|
309
|
+
.description('Upload local asset files to the Embeddables assets library')
|
|
310
|
+
.option('-i, --id <id>', 'Embeddable ID (will prompt if not provided)')
|
|
311
|
+
.option('--group-id <id>', 'Group ID (defaults to project ID)')
|
|
312
|
+
.option('--project', 'Upload from project-level assets/ folder (not tied to an embeddable)')
|
|
313
|
+
.option('--dir <path>', 'Asset directory (default: embeddables/<id>/assets)')
|
|
314
|
+
.option('-r, --recursive', 'Include files in subdirectories')
|
|
315
|
+
.option('--dry-run', 'Show what would be uploaded without uploading')
|
|
316
|
+
.option('--concurrency <n>', 'Number of parallel uploads (default: 5)')
|
|
317
|
+
.option('--include <glob>', 'Glob pattern(s) to include (comma-separated)')
|
|
318
|
+
.option('--exclude <glob>', 'Glob pattern(s) to exclude (comma-separated)')
|
|
319
|
+
.action(async (opts) => {
|
|
320
|
+
await requireLogin('assets upload');
|
|
321
|
+
setSentryContextForCommand('assets upload');
|
|
322
|
+
await withCommandSpan('assets_upload', () => runAssetsUpload({
|
|
323
|
+
id: opts.id,
|
|
324
|
+
groupId: opts.groupId,
|
|
325
|
+
project: opts.project,
|
|
326
|
+
dir: opts.dir,
|
|
327
|
+
recursive: opts.recursive,
|
|
328
|
+
dryRun: opts.dryRun,
|
|
329
|
+
concurrency: opts.concurrency,
|
|
330
|
+
include: opts.include,
|
|
331
|
+
exclude: opts.exclude,
|
|
332
|
+
}));
|
|
333
|
+
});
|
|
334
|
+
assets
|
|
335
|
+
.command('sync')
|
|
336
|
+
.description('Sync project asset metadata into assets.json')
|
|
337
|
+
.option('--group-id <id>', 'Group ID (defaults to project ID)')
|
|
338
|
+
.option('--out <path>', 'Output file path (default: assets.json)')
|
|
339
|
+
.action(async (opts) => {
|
|
340
|
+
await requireLogin('assets sync');
|
|
341
|
+
setSentryContextForCommand('assets sync');
|
|
342
|
+
await withCommandSpan('assets_sync', () => runAssetsSync({
|
|
343
|
+
groupId: opts.groupId,
|
|
344
|
+
out: opts.out,
|
|
345
|
+
}));
|
|
346
|
+
});
|
|
229
347
|
await program.parseAsync(process.argv);
|
|
230
348
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface CommandHistoryEntry {
|
|
2
|
+
command: string;
|
|
3
|
+
args: string[];
|
|
4
|
+
exitCode: number;
|
|
5
|
+
durationMs: number;
|
|
6
|
+
timestamp: string;
|
|
7
|
+
error?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getHistoryFilePath(): string;
|
|
10
|
+
export declare function readHistory(): CommandHistoryEntry[];
|
|
11
|
+
export declare function writeHistoryEntry(entry: CommandHistoryEntry): void;
|
|
12
|
+
export declare function getLastHistoryEntry(): CommandHistoryEntry | null;
|
|
13
|
+
//# sourceMappingURL=command-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-history.d.ts","sourceRoot":"","sources":["../src/command-history.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,WAAW,IAAI,mBAAmB,EAAE,CAUnD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAMlE;AAED,wBAAgB,mBAAmB,IAAI,mBAAmB,GAAG,IAAI,CAGhE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
const MAX_ENTRIES = 20;
|
|
5
|
+
const HISTORY_DIR = path.join(os.homedir(), '.embeddables');
|
|
6
|
+
const HISTORY_FILE = path.join(HISTORY_DIR, 'history.json');
|
|
7
|
+
export function getHistoryFilePath() {
|
|
8
|
+
return HISTORY_FILE;
|
|
9
|
+
}
|
|
10
|
+
export function readHistory() {
|
|
11
|
+
try {
|
|
12
|
+
if (!fs.existsSync(HISTORY_FILE))
|
|
13
|
+
return [];
|
|
14
|
+
const raw = fs.readFileSync(HISTORY_FILE, 'utf8');
|
|
15
|
+
const parsed = JSON.parse(raw);
|
|
16
|
+
if (!Array.isArray(parsed))
|
|
17
|
+
return [];
|
|
18
|
+
return parsed;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function writeHistoryEntry(entry) {
|
|
25
|
+
const history = readHistory();
|
|
26
|
+
history.push(entry);
|
|
27
|
+
const trimmed = history.slice(-MAX_ENTRIES);
|
|
28
|
+
fs.mkdirSync(HISTORY_DIR, { recursive: true });
|
|
29
|
+
fs.writeFileSync(HISTORY_FILE, JSON.stringify(trimmed, null, 2), 'utf8');
|
|
30
|
+
}
|
|
31
|
+
export function getLastHistoryEntry() {
|
|
32
|
+
const history = readHistory();
|
|
33
|
+
return history.length > 0 ? history[history.length - 1] : null;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=command-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-history.js","sourceRoot":"","sources":["../src/command-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,WAAW,GAAG,EAAE,CAAA;AACtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAA;AAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;AAW3D,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,EAAE,CAAA;QAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAA;QACrC,OAAO,MAA+B,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC1D,MAAM,OAAO,GAAG,WAAW,EAAE,CAAA;IAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAA;IAC3C,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAA;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-sync.d.ts","sourceRoot":"","sources":["../../src/commands/assets-sync.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC1E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getAuthenticatedSupabaseClient, isLoggedIn } from '../auth/index.js';
|
|
2
|
+
import { syncAssetsManifest } from '../assets-manifest.js';
|
|
3
|
+
import { resolveGroupId } from '../group-context.js';
|
|
4
|
+
import { createLogger, exit } from '../logger.js';
|
|
5
|
+
import * as stdout from '../stdout.js';
|
|
6
|
+
export async function runAssetsSync(opts) {
|
|
7
|
+
const logger = createLogger('runAssetsSync');
|
|
8
|
+
if (!isLoggedIn()) {
|
|
9
|
+
stdout.warn('Not logged in.');
|
|
10
|
+
stdout.dim('Run "embeddables login" first.');
|
|
11
|
+
await exit(1);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const groupId = await resolveGroupId(opts.groupId);
|
|
15
|
+
if (!groupId) {
|
|
16
|
+
stdout.error('Could not determine group ID for this project.');
|
|
17
|
+
stdout.dim('Set `org_id` in embeddables.json or pass `--group-id`.');
|
|
18
|
+
await exit(1);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const supabase = await getAuthenticatedSupabaseClient();
|
|
22
|
+
if (!supabase) {
|
|
23
|
+
stdout.error('Could not create authenticated Supabase client. Run "embeddables login" again.');
|
|
24
|
+
await exit(1);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const { outFilePath, count } = await syncAssetsManifest({
|
|
28
|
+
supabase,
|
|
29
|
+
groupId,
|
|
30
|
+
outFilePath: opts.out,
|
|
31
|
+
});
|
|
32
|
+
stdout.success(`Wrote ${count} asset metadata entr${count === 1 ? 'y' : 'ies'} to ${outFilePath}`);
|
|
33
|
+
logger.info('assets sync complete', { groupId, count, outFilePath });
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=assets-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-sync.js","sourceRoot":"","sources":["../../src/commands/assets-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAOtC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAuB;IACzD,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;IAE5C,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC7B,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC5C,MAAM,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAC9D,MAAM,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;QACpE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,8BAA8B,EAAE,CAAA;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAA;QAC9F,MAAM,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,OAAM;IACR,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAkB,CAAC;QACtD,QAAQ;QACR,OAAO;QACP,WAAW,EAAE,IAAI,CAAC,GAAG;KACtB,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,uBAAuB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,WAAW,EAAE,CAAC,CAAA;IAClG,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;AACtE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface AssetsUploadOptions {
|
|
2
|
+
id?: string;
|
|
3
|
+
groupId?: string;
|
|
4
|
+
project?: boolean;
|
|
5
|
+
dir?: string;
|
|
6
|
+
recursive?: boolean;
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
concurrency?: string;
|
|
9
|
+
include?: string;
|
|
10
|
+
exclude?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function runAssetsUpload(opts: AssetsUploadOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=assets-upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-upload.d.ts","sourceRoot":"","sources":["../../src/commands/assets-upload.ts"],"names":[],"mappings":"AAmIA,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAyDD,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB9E"}
|