aem-eds-kit 0.4.7 → 0.4.9

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/CHANGELOG.md CHANGED
@@ -6,6 +6,31 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.4.9] - 2026-10-08
10
+
11
+ ### Added
12
+ - `eds migrate component` now pulls the component's **clientlib CSS** off disk
13
+ into the block's CSS (auto-detected, or `--clientlib <dir>`): honours
14
+ `css.txt` ordering + `#base=`, concatenates the `.css`, and flags any
15
+ LESS/SCSS that needs a build. A starting point to review and scope under
16
+ `.<block>` (the faithful, rendered-CSS path comes in a later phase).
17
+
18
+ ## [0.4.8] - 2026-10-07
19
+
20
+ ### Added
21
+ - **`eds migrate component <dir>`** - start migrating a classic AEM component to
22
+ EDS. Phase 1 (deterministic, no agent/network): parses the Touch UI dialog
23
+ (`_cq_dialog/.content.xml`) and maps its Granite/Coral fields onto the 17
24
+ Universal Editor field types - selects keep their options, multifields become
25
+ repeatable containers, tabs are preserved - then writes `blocks/<name>/` with
26
+ a UE model, a decorator stub, and a scoped CSS file to fill from the clientlib
27
+ or rendered page. Also in the `eds` menu.
28
+
29
+ ## [0.4.7] - 2026-10-07
30
+
31
+ ### Changed
32
+ - Consistent "no EDS project markers found" message across every command.
33
+
9
34
  ## [0.4.6] - 2026-10-07
10
35
 
11
36
  ### Added
@@ -155,7 +180,10 @@ harness, gradient ANSI logo. Not published (superseded by 0.3.0).
155
180
  Initial CLI scaffold: `block create`, `block from-figma`, `block list`,
156
181
  `figma setup`, `doctor`, `preview`, `publish`. Not published.
157
182
 
158
- [Unreleased]: https://github.com/piotrgodycki/aem-eds-kit/compare/v0.4.6...HEAD
183
+ [Unreleased]: https://github.com/piotrgodycki/aem-eds-kit/compare/v0.4.9...HEAD
184
+ [0.4.9]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.9
185
+ [0.4.8]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.8
186
+ [0.4.7]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.7
159
187
  [0.4.6]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.6
160
188
  [0.4.5]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.5
161
189
  [0.4.4]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.4
package/README.md CHANGED
@@ -81,6 +81,19 @@ eds init --name my-site --authoring da --org my-org --site my-site --yes
81
81
  | `--no-ci` | Skip the GitHub Actions workflow |
82
82
  | `--yes` | Skip prompts; apply with flags/defaults |
83
83
 
84
+ ### `eds migrate component [dir]`
85
+
86
+ Start migrating a **classic AEM component** to EDS. Phase 1 is deterministic (no agent, no network): it parses the component's Touch UI dialog (`_cq_dialog/.content.xml`) and maps its Granite/Coral fields onto the **17 Universal Editor field types** - selects keep their options, multifields become repeatable containers, tabs are preserved - then writes `blocks/<name>/` with a UE model (`_<name>.json`), a `decorate()` stub (port the HTL logic), and a scoped CSS file to fill from the component's clientlib or its rendered page.
87
+
88
+ It also pulls the component's **clientlib CSS** off disk into the block's CSS when it can find one (auto-detected, or `--clientlib <dir>`): it honours `css.txt` ordering (and `#base=`), concatenates the `.css`, and flags any LESS/SCSS that needs a build. Treat it as a starting point - review the selectors and scope them under `.<block>`.
89
+
90
+ ```bash
91
+ eds migrate component /path/to/apps/myproject/components/hero
92
+ eds migrate component ./components/hero --name hero --clientlib ./ui.apps/.../hero/clientlib --yes
93
+ ```
94
+
95
+ Dialogs map cleanly because Granite's `sling:resourceType` set is finite. The most faithful CSS actually comes from the **rendered page** (resolves LESS vars + cascade) - that capture lands in a later phase; for now the clientlib source gets you most of the way.
96
+
84
97
  ### `eds block create <name>`
85
98
 
86
99
  Scaffolds `blocks/<name>/` with `<name>.js`, `<name>.css`, **and a Universal Editor model `_<name>.json` by default** - so the block is authorable in UE the moment it's created. Validates kebab-case naming and checks for collisions.