aem-eds-kit 0.4.4 → 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 +54 -1
- package/README.md +34 -0
- package/dist/bin/eds.js +3044 -2332
- package/dist/bin/eds.js.map +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,54 @@ 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
|
+
|
|
34
|
+
## [0.4.6] - 2026-10-07
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
- **`eds init`** - adapt a freshly cloned EDS boilerplate to your authoring model
|
|
38
|
+
in one interactive wizard: pick Universal Editor (crosswalk), DA (da.live),
|
|
39
|
+
Google Drive or SharePoint; set the project name (package.json + boilerplate
|
|
40
|
+
placeholders); generate `fstab.yaml` only when the model needs it; scaffold the
|
|
41
|
+
crosswalk config + `paths.json` for UE; optionally add the CI workflow; then
|
|
42
|
+
walk the external steps (code-sync, content share, Sidekick) as a clickable
|
|
43
|
+
checklist. Also in the `eds` menu. Flags: `--name`, `--authoring`,
|
|
44
|
+
`--mountpoint`, `--org`, `--site`, `--no-ci`, `--yes`.
|
|
45
|
+
|
|
46
|
+
## [0.4.5] - 2026-10-07
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
- Project-root detection no longer requires `fstab.yaml`. Universal Editor /
|
|
50
|
+
crosswalk and Document Authoring projects often don't have one, which made
|
|
51
|
+
every command (and the generated CI) fail with "Not inside an EDS project".
|
|
52
|
+
A root is now any ancestor with `fstab.yaml`, `head.html`, `scripts/scripts.js`,
|
|
53
|
+
`scripts/aem.js`, `component-definition.json`, `paths.json` or `helix-query.yaml`.
|
|
54
|
+
- `eds doctor` treats a missing `fstab.yaml` as a warning, not a hard failure,
|
|
55
|
+
so `scaffold ci`'s doctor step doesn't break CI for fstab-less projects.
|
|
56
|
+
|
|
9
57
|
## [0.4.4] - 2026-10-07
|
|
10
58
|
|
|
11
59
|
### Added
|
|
@@ -132,7 +180,12 @@ harness, gradient ANSI logo. Not published (superseded by 0.3.0).
|
|
|
132
180
|
Initial CLI scaffold: `block create`, `block from-figma`, `block list`,
|
|
133
181
|
`figma setup`, `doctor`, `preview`, `publish`. Not published.
|
|
134
182
|
|
|
135
|
-
[Unreleased]: https://github.com/piotrgodycki/aem-eds-kit/compare/v0.4.
|
|
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
|
|
187
|
+
[0.4.6]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.6
|
|
188
|
+
[0.4.5]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.5
|
|
136
189
|
[0.4.4]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.4
|
|
137
190
|
[0.4.3]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.3
|
|
138
191
|
[0.4.2]: https://github.com/piotrgodycki/aem-eds-kit/releases/tag/v0.4.2
|
package/README.md
CHANGED
|
@@ -41,6 +41,9 @@ A full A-Z reference of every command lives on the docs page: **https://piotrgod
|
|
|
41
41
|
```bash
|
|
42
42
|
eds # interactive menu
|
|
43
43
|
|
|
44
|
+
# Just cloned an EDS boilerplate? Set it up for your authoring model
|
|
45
|
+
eds init
|
|
46
|
+
|
|
44
47
|
# One-time: configure Figma MCP for your AI agent
|
|
45
48
|
eds figma setup
|
|
46
49
|
|
|
@@ -60,6 +63,37 @@ eds doctor
|
|
|
60
63
|
|
|
61
64
|
## Commands
|
|
62
65
|
|
|
66
|
+
### `eds init`
|
|
67
|
+
|
|
68
|
+
Adapt a freshly cloned EDS boilerplate to your setup in one interactive wizard. Pick the authoring model - **Universal Editor (crosswalk), DA (da.live), Google Drive or SharePoint** - and `eds` sets the project name (`package.json` + boilerplate placeholders), writes `fstab.yaml` **only when the model needs it** (UE/crosswalk doesn't), scaffolds the crosswalk config + `paths.json` for UE, optionally adds the CI workflow, then walks the **external steps** (AEM Code Sync app, content-source share, Sidekick) as a clickable checklist.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
eds init # interactive
|
|
72
|
+
eds init --name my-site --authoring da --org my-org --site my-site --yes
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
| Flag | Description |
|
|
76
|
+
|---|---|
|
|
77
|
+
| `--name <name>` | Project name (kebab-case) |
|
|
78
|
+
| `--authoring <model>` | `ue` \| `da` \| `gdrive` \| `sharepoint` |
|
|
79
|
+
| `--mountpoint <url>` | Content source URL (document models) |
|
|
80
|
+
| `--org <org>` / `--site <site>` | DA org / site (`--authoring da`) |
|
|
81
|
+
| `--no-ci` | Skip the GitHub Actions workflow |
|
|
82
|
+
| `--yes` | Skip prompts; apply with flags/defaults |
|
|
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
|
+
|
|
63
97
|
### `eds block create <name>`
|
|
64
98
|
|
|
65
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.
|