aem-eds-kit 0.4.33 → 0.4.54

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.
Files changed (4) hide show
  1. package/CHANGELOG.md +138 -30
  2. package/README.md +170 -38
  3. package/dist/bin/eds.js +185 -120
  4. package/package.json +11 -3
package/CHANGELOG.md CHANGED
@@ -6,6 +6,110 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ### Changed
10
+ - **Docs and site match the CLI again** (EDS-063). README screenshots of real
11
+ runs (the menu, `eds new`, `block from-design`, `migrate component`,
12
+ `block test` / `check`, the preview harness) and design-vs-block images;
13
+ `docs.html` gains `block test` / `block check`, local models and configuration
14
+ sections plus the missing flags; the site covers `eds new`, local models,
15
+ AEMaaCS proxy / Classic UI migration and the real Figma REST limits.
16
+ - **CHANGELOG split into the versions published on npm** (0.4.22, 0.4.25,
17
+ 0.4.26, 0.4.48), worked out from the CHANGELOG inside each npm package.
18
+ Version links point at npm; the GitHub release links never existed.
19
+
20
+ ### Fixed
21
+ - **`eds init --yes` no longer prompts for the authoring model** (EDS-061). It
22
+ detects it from the `fstab.yaml` mountpoint (AEM author → Universal Editor,
23
+ `content.da.live` → DA, Google Drive, SharePoint) or a crosswalk `paths.json`,
24
+ and stops with exit 1 and a `--authoring` hint when it can't tell. Interactively
25
+ the detected model is preselected.
26
+ - **`eds init --yes` no longer prompts for the project name** (EDS-058). Without
27
+ `--name` it now takes the folder name (or `package.json`'s, unless that is still
28
+ the boilerplate's own), so it runs in CI and without a terminal.
29
+ - **`eds sandbox new --ue` used a crosswalk boilerplate that doesn't exist**
30
+ (EDS-056): `adobe/aem-boilerplate-xwalk` is now `adobe-rnd/aem-boilerplate-xwalk`,
31
+ where the Universal Editor boilerplate actually lives.
32
+
33
+ ### Added
34
+ - **`eds new [dir]`: clone the latest EDS boilerplate locally** (EDS-055). DA,
35
+ Universal Editor (crosswalk) or Commerce, or any repo / git URL; no GitHub auth.
36
+ Fresh git history by default, or `--keep-history` with an `upstream` remote;
37
+ `--ref`, `--remote`, `--install`; then `eds init`, with UE preselected for
38
+ crosswalk. Also first in the interactive menu.
39
+ - **Local models: Ollama and oMLX** (EDS-051). `--agent ollama | omlx | local`
40
+ runs `from-design` on a local model (Ollama's native API with `num_ctx`;
41
+ oMLX or any OpenAI-compatible server). The CLI embeds the design (scraped /
42
+ REST spec, SVG text) or attaches a PNG/JPG for a vision model, asks for every
43
+ file in a `=== FILE: … ===` format and writes them itself, only inside
44
+ `blocks/<name>/`. Model from `--model`, `local.model` or a coder model on the
45
+ server; context from `local.contextTokens` (default 32768, raised to fit).
46
+ Used automatically when no CLI agent is installed. New `--model` flag.
47
+
48
+ ## [0.4.48] - 2026-10-20
49
+
50
+ ### Changed
51
+ - **README rewritten for the npm page** (EDS-047): absolute links (relative
52
+ ones break on npmjs.com), a docs / changelog / e2e links row, a "What it does"
53
+ list, a wider package description and keywords.
54
+ - **Figma REST specs are embedded as compact JSON** (part of EDS-020), as
55
+ scraped specs already were - fewer prompt tokens, same data.
56
+ - **`eds block test` screenshots just the block** (EDS-021). Baselines used to
57
+ be full-page shots of a 900 px tall viewport, so a short block carried
58
+ hundreds of pixels of white and a height change inside them went unnoticed.
59
+ Existing baselines need one `eds block test --update`; a run against an old
60
+ baseline says so instead of reporting a size change.
61
+
62
+ ### Fixed
63
+ - **Figma limits described correctly** (EDS-040). Code comments, README, docs
64
+ and site said REST had a "far larger quota on every plan". Its Tier 1
65
+ endpoints are 20 calls/month on Starter or with a View/Collab seat, and
66
+ 10-20/min with Dev/Full on paid plans. The README now has the REST and MCP
67
+ limits table, with links to Figma's pages.
68
+ - **A Figma REST rate limit no longer spends your MCP budget** (EDS-039). A 429
69
+ used to fall back to Figma MCP silently. Now a short `Retry-After` (≤ 60 s)
70
+ is waited out and retried once; a plan cap stops with when it resets, the
71
+ plan tier, and the options (`--mcp`, a PNG/SVG export). `--design` reports
72
+ the same.
73
+ - **Content Fragment blocks are generated as Content Fragment blocks**
74
+ (EDS-019). With `--source cf` / `mixed`, Claude Code now defaults to
75
+ `sonnet` (a `model` in config still wins) and the prompt makes the CF field
76
+ plus an async, fetching `decorate()` a hard requirement. On the fast default
77
+ model both sources produced plain document blocks.
78
+ - **Migrated checkboxes no longer default to ticked** (EDS-032). The default
79
+ now comes from `checked`, not from `value` (which is the value a ticked box
80
+ submits), for Touch UI and Classic UI dialogs.
81
+ - **Cursor and Codex get a large prompt through its file** (EDS-017). They
82
+ take the prompt as one command-line argument; past 96 KB (a scraped page of
83
+ ~30 sections) it's replaced by a short instruction to read the saved prompt
84
+ file, so the spawn can't hit Linux's 128 KB per-argument limit (E2BIG).
85
+
86
+ ### Added
87
+ - **Changelog page on the site** (EDS-048): `site/changelog.html` is generated
88
+ from this file by `scripts/site-changelog.mjs` in the Pages workflow, with
89
+ EDS-NNN references linked to their issues. It's in the nav on every page,
90
+ the docs sidebar, the footers and the sitemap.
91
+ - **The interactive menu stays open** (EDS-042). `eds` with no command now
92
+ returns to the menu after each action (or its failure). Arrows move, Enter
93
+ runs, **Esc** goes back to the menu from any prompt and quits from the menu
94
+ itself (or pick *Exit*); Ctrl+C quits anywhere. A preview opened from the
95
+ menu stops on Esc / Enter and returns. Commands run with arguments still run
96
+ once and exit.
97
+ - **Figma REST calls are paced per minute** (EDS-041). All `eds` runs in a
98
+ project share a call log (`tmp/eds-cli/figma-rest-calls.json`) and wait for a
99
+ free slot, so generating many blocks at once doesn't trip Tier 1's per-minute
100
+ limit. `figma.restPerMinute` in config, default 10 (Professional; 15
101
+ Organization, 20 Enterprise). Twelve parallel runs: ten fetch at once, the
102
+ last two at ~61 s, no 429.
103
+ - **`eds migrate component` reads Classic UI dialogs** (EDS-018). A component
104
+ with only a `dialog.xml` (AEM 6.5) is mapped from its ExtJS xtypes - text,
105
+ textarea, richtext (incl. the foundation `rte.*` include), pathfield,
106
+ numberfield, selection (checkbox / select / radio, static options or
107
+ datasource → text), smartimage, multifield (plain multi-value, or ACS
108
+ `multifieldpanel` → container), tabpanel and `cqinclude`. Tested on the 22
109
+ Classic UI dialogs of ACS Commons 3.14: 21 migrate, 63 valid fields.
110
+
111
+ ## [0.4.26] - 2026-10-12
112
+
9
113
  ### Changed
10
114
  - **`block from-design` now fetches the design once into a cached snapshot,
11
115
  then generates from it** (fetch → cache → generate). The CLI resolves the
@@ -17,7 +121,8 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
17
121
  - **MCP usage cut to one call per block.** The prompt now uses only
18
122
  `get_design_context` (dropped `get_variable_defs`; `get_screenshot` is opt-in
19
123
  via `--screenshot`) - the Figma Dev Mode MCP server meters tool calls per plan
20
- (Starter/View/Collab: ~6-20/month). Set a Figma token to skip MCP via REST.
124
+ (20/month on Starter or with a View/Collab seat; 200-600/day with Dev/Full on
125
+ paid plans). Set a Figma token to fetch via REST instead, on its own budget.
21
126
  - **Block generation defaults to the fastest model (Haiku)**, overridable with
22
127
  `model` in config - block codegen is structured, bounded work.
23
128
  - **`eds block preview` no longer auto-launches.** After `from-design` you get a
@@ -25,10 +130,6 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
25
130
  `--serve` (opt-in, non-interactive runs only).
26
131
  - **Shorter interactive-menu labels** (details moved to each choice's
27
132
  description).
28
- - **Smaller published package (~206 kB → ~73 kB packed; 808 kB → ~220 kB
29
- unpacked).** The build no longer ships a source map (it was ~60% of the
30
- package; re-enable ad hoc with `tsup --sourcemap`) and now minifies the single
31
- bundled binary (`dist/bin/eds.js` 265 kB → ~170 kB).
32
133
 
33
134
  ### Fixed
34
135
  - **Block preview blank-screen cases.** The harness now (a) reduces a full-HTML
@@ -41,9 +142,6 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
41
142
  - **`eds block preview header|footer`** now warns that these are page chrome and
42
143
  can't render standalone (they fetch the nav/footer fragment and need the full
43
144
  page runtime).
44
- - Removed the dangling `main`/`types` fields that pointed at a never-built
45
- `dist/index.js` (a bare `import "aem-eds-kit"` would have failed) - the package
46
- is a CLI, exposed via its `bin`.
47
145
 
48
146
  ### Added
49
147
  - **`eds block preview` with no name → a live gallery of every content block**,
@@ -57,12 +155,31 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
57
155
  `figma.token` config, scope `file_content:read`) - a quota separate from the
58
156
  MCP tool-call limit. New flags `--mcp` (force MCP) and `--refresh` (ignore the
59
157
  cache).
158
+
159
+ ## [0.4.25] - 2026-10-09
160
+
161
+ ### Changed
162
+ - **Smaller published package (~206 kB → ~73 kB packed; 808 kB → ~220 kB
163
+ unpacked).** The build no longer ships a source map (it was ~60% of the
164
+ package; re-enable ad hoc with `tsup --sourcemap`) and now minifies the single
165
+ bundled binary (`dist/bin/eds.js` 265 kB → ~170 kB).
166
+
167
+ ### Fixed
168
+ - Removed the dangling `main`/`types` fields that pointed at a never-built
169
+ `dist/index.js` (a bare `import "aem-eds-kit"` would have failed) - the package
170
+ is a CLI, exposed via its `bin`.
171
+
172
+ ### Added
60
173
  - **`block from-design` records the design's frame widths** in the block's
61
174
  `.eds-meta.json` (`breakpoints`), so `eds block preview` is width-honest at the
62
175
  **real design widths**, not a fixed device set. The agent writes the widths it
63
176
  reads from the design (prompt instruction), `--widths 390,768,1440` overrides,
64
177
  and 375/768/1280 remains the fallback. New `src/lib/figma/breakpoints.ts`
65
178
  (`parseWidths` / `normalizeBreakpoints`), extended `edsMetaSchema`.
179
+
180
+ ## [0.4.22] - 2026-10-08
181
+
182
+ ### Added
66
183
  - **`eds init` writes a local-dev `.env` + `xwalk.json` by default.** `.env`
67
184
  carries the `aem up` config (`AEM_OPEN=/`, `AEM_PORT=3007`, `AEM_PAGES_URL`
68
185
  prefilled from the git remote); it's never overwritten and always gitignored.
@@ -363,25 +480,16 @@ harness, gradient ANSI logo. Not published (superseded by 0.3.0).
363
480
  Initial CLI scaffold: `block create`, `block from-figma`, `block list`,
364
481
  `figma setup`, `doctor`, `preview`, `publish`. Not published.
365
482
 
366
- [Unreleased]: https://github.com/piotrgodycki/aem-eds-kit/compare/v0.4.19...HEAD
367
- [0.4.19]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.19
368
- [0.4.18]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.18
369
- [0.4.17]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.17
370
- [0.4.16]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.16
371
- [0.4.15]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.15
372
- [0.4.14]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.14
373
- [0.4.13]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.13
374
- [0.4.12]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.12
375
- [0.4.11]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.11
376
- [0.4.10]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.10
377
- [0.4.9]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.9
378
- [0.4.8]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.8
379
- [0.4.7]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.7
380
- [0.4.6]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.6
381
- [0.4.5]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.5
382
- [0.4.4]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.4
383
- [0.4.3]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.3
384
- [0.4.2]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.2
385
- [0.4.1]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.1
386
- [0.4.0]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.0
387
- [0.3.0]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.3.0
483
+ [Unreleased]: https://github.com/piotrgodycki/aem-eds-kit/commits/main
484
+ [0.4.48]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.48
485
+ [0.4.26]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.26
486
+ [0.4.25]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.25
487
+ [0.4.22]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.22
488
+ [0.4.16]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.16
489
+ [0.4.12]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.12
490
+ [0.4.9]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.9
491
+ [0.4.7]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.7
492
+ [0.4.4]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.4
493
+ [0.4.2]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.2
494
+ [0.4.1]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.1
495
+ [0.4.0]: https://www.npmjs.com/package/aem-eds-kit/v/0.4.0