@exxatdesignux/ui 0.2.11 → 0.2.12
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
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@exxatdesignux/ui` are documented here. The file ships in the npm tarball at `node_modules/@exxatdesignux/ui/CHANGELOG.md`.
|
|
4
|
+
|
|
5
|
+
## For AI assistants (upgrade handoff)
|
|
6
|
+
|
|
7
|
+
After the user bumps `@exxatdesignux/ui`, do this in order:
|
|
8
|
+
|
|
9
|
+
1. Read **`node_modules/@exxatdesignux/ui/CHANGELOG.md`** (this file) for breaking changes and new patterns.
|
|
10
|
+
2. If the repo uses bundled Cursor skills / DS docs, run
|
|
11
|
+
`npx --package=@exxatdesignux/ui@<same-version-or-latest> exxat-ui sync-extras`
|
|
12
|
+
so **`.cursor/skills/exxat-*`** and **`docs/exxat-ds/*.md`** match the installed package (including **`consumer-upgrade-checklist.md`**).
|
|
13
|
+
3. Treat **`node_modules/@exxatdesignux/ui/template/`** as the reference app for file-level parity (routes, `components/ui` shims, `AGENTS.md` structure). Diff or selectively port; do not assume only `package.json` changed.
|
|
14
|
+
4. Re-run **`pnpm install` / `npm install`** and typecheck; align **`engines.node`** in the host app if the release notes say so.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## [0.2.12] - 2026-05-13
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- This **CHANGELOG** (shipped in the package).
|
|
23
|
+
- **`consumer-upgrade-checklist.md`** under packaged patterns → copied to **`docs/exxat-ds/`** by **`exxat-ui sync-extras`**.
|
|
24
|
+
- **`exxat-ui changelog`** — prints this file from the installed package.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- **`exxat-ui update`** — now points to the CHANGELOG, template path, and AI checklist above.
|
|
29
|
+
|
|
30
|
+
## [0.2.11] - 2026-05-13
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- **`engines.node`**: `>=24` → **`>=22.0.0`** on the published package, starter template, and monorepo apps (fixes **EBADENGINE** on Node 22).
|
|
35
|
+
|
|
36
|
+
## [0.2.10] - 2026-05-13
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- Font Awesome sort icons: valid classes **`fa-arrow-up-a-z`** / **`fa-arrow-down-a-z`** (was invalid `fa-arrow-up-az`).
|
|
41
|
+
- Dropdown / select menu rows: **`[&_i]`** flex rules so FA **`<i>`** icons are not collapsed.
|
|
42
|
+
|
|
43
|
+
## [0.2.9] - 2026-05-12
|
|
44
|
+
|
|
45
|
+
Maintenance / prior release (see git history under tag **`ui-v0.2.9`** for full diff).
|
package/bin/cli.mjs
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import { execFileSync } from "child_process"
|
|
14
|
-
import { readFileSync } from "fs"
|
|
14
|
+
import { existsSync, readFileSync } from "fs"
|
|
15
15
|
import { dirname, resolve } from "path"
|
|
16
16
|
import { fileURLToPath } from "url"
|
|
17
17
|
|
|
@@ -53,6 +53,7 @@ Commands:
|
|
|
53
53
|
init Scaffold the Exxat DS starter app (must run in an empty directory).
|
|
54
54
|
sync-extras Copy packaged Cursor skills + pattern docs into this repo (DS-only paths).
|
|
55
55
|
update How to upgrade an existing project that depends on this package.
|
|
56
|
+
changelog Print CHANGELOG.md from the installed package (release notes + AI upgrade hints).
|
|
56
57
|
doctor Compare this CLI version vs npm registry "latest" (diagnose stale installs).
|
|
57
58
|
|
|
58
59
|
Do NOT use plain npx @exxatdesignux/ui — use the scoped form below.
|
|
@@ -62,6 +63,7 @@ Examples:
|
|
|
62
63
|
npx --package=@exxatdesignux/ui@latest exxat-ui sync-extras
|
|
63
64
|
npx --package=@exxatdesignux/ui@latest exxat-ui doctor
|
|
64
65
|
npx --package=@exxatdesignux/ui@latest exxat-ui update
|
|
66
|
+
npx --package=@exxatdesignux/ui@latest exxat-ui changelog
|
|
65
67
|
|
|
66
68
|
Legacy (npm create):
|
|
67
69
|
npm create exxat-app@latest
|
|
@@ -86,15 +88,25 @@ Update @exxatdesignux/ui in your application:
|
|
|
86
88
|
That refreshes **components / hooks / tokens** under node_modules only — your app
|
|
87
89
|
routes and product copy are unchanged.
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
this Git repo until maintainers publish (git tag **ui-v<version>**).
|
|
91
|
+
After upgrading — for humans and AI tools:
|
|
91
92
|
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
1. Read release notes:
|
|
94
|
+
node_modules/@exxatdesignux/ui/CHANGELOG.md
|
|
95
|
+
or run:
|
|
96
|
+
npx --package=@exxatdesignux/ui@latest exxat-ui changelog
|
|
94
97
|
|
|
95
|
-
|
|
98
|
+
2. Refresh bundled Cursor skills + docs (overwrites only .cursor/skills/exxat-*
|
|
99
|
+
and docs/exxat-ds/*.md — includes consumer-upgrade-checklist.md):
|
|
100
|
+
npx --package=@exxatdesignux/ui@latest exxat-ui sync-extras
|
|
101
|
+
|
|
102
|
+
3. Compare your app with the reference template when something new is unclear:
|
|
103
|
+
node_modules/@exxatdesignux/ui/template/
|
|
104
|
+
|
|
105
|
+
**Still seeing old code?** Run **exxat-ui doctor** — the npm "latest" tag can lag
|
|
106
|
+
this Git repo until maintainers publish (git tag **ui-v<version>**).
|
|
96
107
|
|
|
97
|
-
CLI (always pulls this scope):
|
|
108
|
+
CLI (always pulls this scope):
|
|
109
|
+
npx --package=@exxatdesignux/ui@latest exxat-ui <init|sync-extras|update|changelog|doctor|help>
|
|
98
110
|
|
|
99
111
|
Monorepo / design-system contributors (this workspace): pull latest Git and run
|
|
100
112
|
pnpm install
|
|
@@ -105,6 +117,18 @@ this CLI tarball so npm does not resolve a stale "latest" from cache.
|
|
|
105
117
|
`)
|
|
106
118
|
}
|
|
107
119
|
|
|
120
|
+
function printChangelog() {
|
|
121
|
+
const p = resolve(__dirname, "../CHANGELOG.md")
|
|
122
|
+
if (!existsSync(p)) {
|
|
123
|
+
console.error(
|
|
124
|
+
"CHANGELOG.md not found next to this CLI. Reinstall @exxatdesignux/ui or use a release that ships CHANGELOG.md (0.2.12+).",
|
|
125
|
+
)
|
|
126
|
+
process.exitCode = 1
|
|
127
|
+
return
|
|
128
|
+
}
|
|
129
|
+
console.log(readFileSync(p, "utf8"))
|
|
130
|
+
}
|
|
131
|
+
|
|
108
132
|
function printDoctor() {
|
|
109
133
|
const pkgPath = resolve(__dirname, "../package.json")
|
|
110
134
|
let cliVersion = "unknown"
|
|
@@ -161,6 +185,9 @@ switch (cmd) {
|
|
|
161
185
|
case "update":
|
|
162
186
|
printUpdate()
|
|
163
187
|
break
|
|
188
|
+
case "changelog":
|
|
189
|
+
printChangelog()
|
|
190
|
+
break
|
|
164
191
|
case "doctor":
|
|
165
192
|
printDoctor()
|
|
166
193
|
break
|
package/bin/sync-extras.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Overwrites ONLY:
|
|
6
6
|
* - `.cursor/skills/<bundled exxat-* skill folders>/`
|
|
7
|
-
* - `docs/exxat-ds/*.md` (pattern reference docs
|
|
7
|
+
* - `docs/exxat-ds/*.md` (pattern reference docs + **consumer-upgrade-checklist.md**)
|
|
8
8
|
*
|
|
9
9
|
* Does NOT touch `app/`, `pages/`, `src/` product code, or npm dependencies.
|
|
10
10
|
* Run after `npm install @exxatdesignux/ui@…` / `pnpm update @exxatdesignux/ui`.
|
|
@@ -6,8 +6,9 @@ touching product routes or pages.
|
|
|
6
6
|
|
|
7
7
|
| Path in this tarball | After `exxat-ui sync-extras` in your repo |
|
|
8
8
|
|----------------------|-------------------------------------------|
|
|
9
|
+
| `CHANGELOG.md` (package root) | Stay in `node_modules/…` — read for release notes; **`exxat-ui changelog`** prints it |
|
|
9
10
|
| `cursor-skills/exxat-*` | `.cursor/skills/exxat-*` (replaced) |
|
|
10
|
-
| `patterns/*.md` | `docs/exxat-ds/*.md` (replaced) |
|
|
11
|
+
| `patterns/*.md` | `docs/exxat-ds/*.md` (replaced) — includes **`consumer-upgrade-checklist.md`** for upgrades + AI handoff |
|
|
11
12
|
|
|
12
13
|
**Components and hooks** still come only from `node_modules/@exxatdesignux/ui`
|
|
13
14
|
via normal semver installs — `sync-extras` does not copy TS source into your app.
|
|
@@ -22,6 +22,7 @@ description: >
|
|
|
22
22
|
- **App root:** `exxat-ds/app/(app)/` — route group that wraps all authenticated pages
|
|
23
23
|
- **Single source of truth:** `exxat-ds/AGENTS.md` for full prose explanations; this skill is the actionable summary
|
|
24
24
|
- **Companion skills (narrow topics):** `exxat-fontawesome-icons`, `exxat-primary-nav-secondary-panel`, `exxat-centralized-list-dataset`, `exxat-list-page-view-shells`, `exxat-dedicated-search-surfaces`, `exxat-accessibility`, `exxat-board-cards`, `exxat-collaboration-access` — live under `.cursor/skills/`; vetted copies ship with **`@exxatdesignux/ui`** in `consumer-extras/cursor-skills/` after **`pnpm --filter @exxatdesignux/ui vendor:consumer-extras`**.
|
|
25
|
+
- **Consumer repos (npm install of `@exxatdesignux/ui`):** After a version bump, read **`node_modules/@exxatdesignux/ui/CHANGELOG.md`**, run **`npx --package=@exxatdesignux/ui@latest exxat-ui sync-extras`** so **`docs/exxat-ds/consumer-upgrade-checklist.md`** and Cursor skills match the tarball, and diff the host app against **`node_modules/@exxatdesignux/ui/template/`** for anything new to port (routes, re-exports, AGENTS). Use **`exxat-ui changelog`**, **`exxat-ui update`**, and **`exxat-ui doctor`** for CLI guidance.
|
|
25
26
|
|
|
26
27
|
---
|
|
27
28
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Upgrading `@exxatdesignux/ui` (human + AI checklist)
|
|
2
|
+
|
|
3
|
+
Use this after **`npm install @exxatdesignux/ui@…`** / **`pnpm add @exxatdesignux/ui@…`**. It is copied into **`docs/exxat-ds/`** when you run **`exxat-ui sync-extras`**, so Cursor and other tools can find it beside other DS pattern docs.
|
|
4
|
+
|
|
5
|
+
## 1. See what changed
|
|
6
|
+
|
|
7
|
+
| Source | Purpose |
|
|
8
|
+
|--------|---------|
|
|
9
|
+
| **`node_modules/@exxatdesignux/ui/CHANGELOG.md`** | Release notes for the installed version (and peers). |
|
|
10
|
+
| **`npx --package=@exxatdesignux/ui@latest exxat-ui changelog`** | Print the changelog from the package on disk / npx extract. |
|
|
11
|
+
|
|
12
|
+
## 2. Refresh AI / pattern docs (optional but recommended)
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx --package=@exxatdesignux/ui@latest exxat-ui sync-extras
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Overwrites only **`.cursor/skills/exxat-*`** and **`docs/exxat-ds/*.md`** (including this file). Does **not** change your app routes or product code.
|
|
19
|
+
|
|
20
|
+
## 3. Align app code with the reference template
|
|
21
|
+
|
|
22
|
+
The npm package includes a full Next.js reference under:
|
|
23
|
+
|
|
24
|
+
**`node_modules/@exxatdesignux/ui/template/`**
|
|
25
|
+
|
|
26
|
+
Use it when you need to know **what files exist**, **how shims re-export** `@exxatdesignux/ui`, or **what AGENTS / layout** patterns look like for the current release. Porting is manual: diff template vs your repo and apply intentional changes (imports, new components, CSS entrypoints).
|
|
27
|
+
|
|
28
|
+
## 4. Dependency and Node
|
|
29
|
+
|
|
30
|
+
- Keep **`@exxatdesignux/ui`** on the same semver your team tested; prefer explicit **`^x.y.z`** or pinned **`x.y.z`**.
|
|
31
|
+
- Match **`engines.node`** in your app to the value declared in **`node_modules/@exxatdesignux/ui/package.json`** (see CHANGELOG if it changed).
|
|
32
|
+
|
|
33
|
+
## 5. Still stuck?
|
|
34
|
+
|
|
35
|
+
- **`npx --package=@exxatdesignux/ui@latest exxat-ui doctor`** — compares local CLI version vs npm **`latest`**.
|
|
36
|
+
- **`npx --package=@exxatdesignux/ui@latest exxat-ui update`** — install commands and reminders.
|
|
37
|
+
|
|
38
|
+
Maintainers publish from the design-system monorepo with git tags **`ui-v<version>`**; registry **`latest`** follows those tags.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exxatdesignux/ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "Exxat shared design system (components, hooks, tokens). Monorepo setup: clone repo then pnpm bootstrap at workspace root — see github.com/ExxatDesign/Exxat-DS-Workspace README.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"create-exxat-app": "./bin/init.mjs"
|
|
51
51
|
},
|
|
52
52
|
"files": [
|
|
53
|
+
"CHANGELOG.md",
|
|
53
54
|
"src",
|
|
54
55
|
"bin",
|
|
55
56
|
"template",
|