@viliha/vui-ui 1.5.1 → 1.5.3
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/AGENT.md +70 -0
- package/CHANGELOG.md +107 -0
- package/README.md +20 -0
- package/bin/vui.mjs +11 -5
- package/package.json +2 -1
package/AGENT.md
CHANGED
|
@@ -86,6 +86,47 @@ dependencies** with the package manager it detects from the lockfile (npm / pnpm
|
|
|
86
86
|
Other flags: `--yes` / `--force` / `--dry-run`. If you only need the components, pass
|
|
87
87
|
`--theme-only` (or skip `init` entirely) and follow the setup below.
|
|
88
88
|
|
|
89
|
+
### Inside a Turborepo / monorepo
|
|
90
|
+
|
|
91
|
+
**Never scaffold into the repo root** — a monorepo root has no `app/` and no Next
|
|
92
|
+
app. Target the specific application, e.g. `apps/web`. Two equivalent ways:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# A) from the repo root, name the app dir
|
|
96
|
+
npx @viliha/vui-ui init --turbo --dir apps/web
|
|
97
|
+
|
|
98
|
+
# B) from inside the app (simplest to reason about)
|
|
99
|
+
cd apps/web
|
|
100
|
+
npx @viliha/vui-ui init
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
In turbo mode the CLI **does not auto-install** (installs are workspace-specific),
|
|
104
|
+
so finish the setup yourself, scoped to that app:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
cd apps/web # be inside the app, not the root
|
|
108
|
+
pnpm add @viliha/vui-ui … # or: pnpm --filter <app-name> add @viliha/vui-ui …
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Then confirm the app is in your workspace globs (`pnpm-workspace.yaml` /
|
|
112
|
+
`package.json` `workspaces`) and run it with a filter: `pnpm --filter <app-name>
|
|
113
|
+
dev`. The theme import, `transpilePackages`, and the `@/*` alias all belong in
|
|
114
|
+
**that app's** `globals.css` / `next.config` / `tsconfig`, not the root.
|
|
115
|
+
|
|
116
|
+
### End-to-end walkthroughs
|
|
117
|
+
|
|
118
|
+
- **New standalone app** — `npx create-next-app@latest my-app --ts --tailwind
|
|
119
|
+
--app --no-src-dir --use-npm`, then `cd my-app && npx @viliha/vui-ui init`
|
|
120
|
+
(fresh + prebuilt). It scaffolds config + shell + demo, installs deps, and you
|
|
121
|
+
run `npm run dev` → `/dashboard`.
|
|
122
|
+
- **New app in a monorepo** — scaffold your app under `apps/<name>` (e.g. with
|
|
123
|
+
`create-next-app`), then from that app dir run `npx @viliha/vui-ui init` (or
|
|
124
|
+
`--turbo --dir apps/<name>` from the root) and install deps in that app.
|
|
125
|
+
- **Existing app** — run `npx @viliha/vui-ui init --existing`. It never
|
|
126
|
+
overwrites your config; wire up the four things it prints (`transpilePackages`,
|
|
127
|
+
the `theme.css` import, the `@/*` alias, `import "./globals.css"`). Prefer only
|
|
128
|
+
the components? Use `--theme-only` (copies nothing) and follow the setup below.
|
|
129
|
+
|
|
89
130
|
VUI ships as TypeScript source.
|
|
90
131
|
|
|
91
132
|
## Next.js
|
|
@@ -109,6 +150,35 @@ Import the theme once. No extra transpilation needed.
|
|
|
109
150
|
|
|
110
151
|
---
|
|
111
152
|
|
|
153
|
+
# Upgrading
|
|
154
|
+
|
|
155
|
+
When you bump `@viliha/vui-ui`, follow these steps — the package version and the
|
|
156
|
+
scaffolded files in the repo are two separate things.
|
|
157
|
+
|
|
158
|
+
1. **Read the [CHANGELOG](./CHANGELOG.md) for the target version.** Note anything
|
|
159
|
+
under *Removed*, *Changed*, or *Breaking*, and any new peer dependency. The
|
|
160
|
+
project follows semver: patch/minor are backward-compatible, major may break.
|
|
161
|
+
2. **Bump and install** with the project's package manager:
|
|
162
|
+
```bash
|
|
163
|
+
npm i @viliha/vui-ui@latest # or: pnpm up, yarn up, bun update
|
|
164
|
+
```
|
|
165
|
+
In a monorepo, install in the specific app (or with a workspace filter, e.g.
|
|
166
|
+
`pnpm --filter <app> up @viliha/vui-ui`), never at the repo root.
|
|
167
|
+
3. **No rebuild needed.** The package ships TypeScript source, so there's no
|
|
168
|
+
build/dts step — just restart the dev server. If a new version adds a peer
|
|
169
|
+
dependency, install it (the CHANGELOG and the "Module not found" error name it).
|
|
170
|
+
4. **Scaffolded files are yours.** `init` copies the shell and demo pages into
|
|
171
|
+
the repo once; upgrading the package does **not** touch them. To pull
|
|
172
|
+
scaffolder improvements into an existing project, preview first with
|
|
173
|
+
`npx @viliha/vui-ui@latest init --dry-run`, then re-run with `--force` (commit
|
|
174
|
+
or stash your work first so you can review the diff) or copy in just the files
|
|
175
|
+
you want.
|
|
176
|
+
5. **Re-check token overrides.** If you overrode any `theme.css` tokens, confirm
|
|
177
|
+
they still line up after the upgrade.
|
|
178
|
+
6. **Verify** before you commit: run type-check, lint, and build.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
112
182
|
# Design Tokens
|
|
113
183
|
|
|
114
184
|
VUI is entirely token-driven. Never hardcode colors, spacing, radius, typography, shadows, or borders — reach for the semantic design token instead. For example: `--button-primary`, `--button-primary-hover`, `--background`, `--foreground`, `--border`, `--ring`, `--chart-1`, `--sidebar-primary`.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@viliha/vui-ui` are documented here. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/), and the project uses
|
|
5
|
+
[semantic versioning](https://semver.org/): **patch** for fixes, **minor** for
|
|
6
|
+
backward-compatible features, **major** for breaking changes.
|
|
7
|
+
|
|
8
|
+
To upgrade, see [Upgrading](./AGENT.md#upgrading) in the agent guide.
|
|
9
|
+
|
|
10
|
+
## 1.5.3 — 2026-07-24
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- The changelog and the **[Upgrading](./AGENT.md#upgrading)** guide now ship in
|
|
15
|
+
the npm package. (They were authored for 1.5.2 but missed that tarball, which
|
|
16
|
+
was published a moment before.)
|
|
17
|
+
|
|
18
|
+
## 1.5.2 — 2026-07-24
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **Turborepo guidance throughout.** `init`'s monorepo note now walks you through
|
|
23
|
+
`cd`-ing into the target app (e.g. `apps/web`), installing deps in that app (or
|
|
24
|
+
via a workspace filter), checking workspace globs, and running with a filter —
|
|
25
|
+
and states clearly that turbo mode does not auto-install.
|
|
26
|
+
- **Fuller `AGENT.md`.** Added an "Inside a Turborepo / monorepo" section and
|
|
27
|
+
end-to-end walkthroughs for new-standalone, new-in-monorepo, and existing apps.
|
|
28
|
+
|
|
29
|
+
## 1.5.1 — 2026-07-24
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Rewrote the README and `AGENT.md` prose to a clearer, more natural voice. No
|
|
34
|
+
API changes.
|
|
35
|
+
|
|
36
|
+
## 1.5.0 — 2026-07-24
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
|
|
40
|
+
- **`init` installs dependencies for you**, using the package manager it detects
|
|
41
|
+
from your lockfile (npm, pnpm, yarn, or bun). It prompts first; `--yes` skips
|
|
42
|
+
the prompt and `--no-install` opts out. This ends the "Module not found"
|
|
43
|
+
cascade from running `dev` before installing peers.
|
|
44
|
+
|
|
45
|
+
## 1.4.3 — 2026-07-24
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- The scaffolded `globals.css` no longer imports `tw-animate-css`, so the theme
|
|
50
|
+
is self-contained and needs no extra CSS dependency (VUI's own animations live
|
|
51
|
+
in `theme.css`).
|
|
52
|
+
|
|
53
|
+
## 1.4.1 — 2026-07-24
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- **Turborepo support in `init`** (`--turbo` + `--dir`) — scaffolds into a target
|
|
58
|
+
app directory.
|
|
59
|
+
- A `tsconfig.json` in the scaffold (`@/*` → `./*`) so the shell's imports
|
|
60
|
+
resolve, and a TypeScript `next.config.ts` (so a fresh scaffold overwrites
|
|
61
|
+
create-next-app's config instead of leaving two).
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- Scaffolding into a fresh Next.js app now works end to end.
|
|
66
|
+
- Pinned a patched `postcss` (`^8.5.12`) via pnpm overrides to clear a
|
|
67
|
+
high-severity advisory (GHSA-6g55-p6wh-862q).
|
|
68
|
+
|
|
69
|
+
> 1.4.1 shipped `next.config.mjs` and 1.4.2 was an interim republish; use **1.4.3
|
|
70
|
+
> or later**, which ship `next.config.ts` and the self-contained theme.
|
|
71
|
+
|
|
72
|
+
## 1.4.0 — 2026-07-24
|
|
73
|
+
|
|
74
|
+
### Added
|
|
75
|
+
|
|
76
|
+
- **`init` decision tree**: fresh vs. existing project, and pre-built (shell +
|
|
77
|
+
demo) vs. theme-only (`--fresh`/`--existing`, `--prebuilt`/`--theme-only`).
|
|
78
|
+
|
|
79
|
+
## 1.3.0 — 2026-07-24
|
|
80
|
+
|
|
81
|
+
### Added
|
|
82
|
+
|
|
83
|
+
- **`RecordFormPanel`** — the standard Add/Edit/View slide-over as a standalone
|
|
84
|
+
export, for use outside a table (e.g. a Kanban board).
|
|
85
|
+
- `RecordField` gains an `input` type (`number`/`date`) and renders a `Select`
|
|
86
|
+
for `options` fields in the Add/Edit form.
|
|
87
|
+
|
|
88
|
+
## 1.2.0 — 2026-07-23
|
|
89
|
+
|
|
90
|
+
### Added
|
|
91
|
+
|
|
92
|
+
- **`npx @viliha/vui-ui init`** — a scaffolder that copies the app shell (layout,
|
|
93
|
+
sidebar, open tabs, command palette, nav config, logo) and demo pages into your
|
|
94
|
+
repo. Ships a `bin` and a bundled `template/` regenerated from the reference app
|
|
95
|
+
on publish.
|
|
96
|
+
- Navigation & open-tabs documentation.
|
|
97
|
+
|
|
98
|
+
## 1.1.8 — 2026-07-23
|
|
99
|
+
|
|
100
|
+
### Fixed
|
|
101
|
+
|
|
102
|
+
- The slide-over record form auto-sizes its width to the content, so long field
|
|
103
|
+
labels no longer wrap or overflow.
|
|
104
|
+
|
|
105
|
+
## 1.1.7 — 2026-07-23
|
|
106
|
+
|
|
107
|
+
Baseline release.
|
package/README.md
CHANGED
|
@@ -109,6 +109,26 @@ cd my-app && bunx @viliha/vui-ui init && bun dev
|
|
|
109
109
|
the demo pages, overwriting the create-next-app boilerplate, and installs the
|
|
110
110
|
dependencies. The demo then runs out of the box at `/dashboard`.
|
|
111
111
|
|
|
112
|
+
### Turborepo / monorepo
|
|
113
|
+
|
|
114
|
+
Scaffold **inside the target app** (e.g. `apps/web`), never at the repo root —
|
|
115
|
+
the root has no `app/` and no Next.js app. Run `init` from the app, or name it
|
|
116
|
+
from the root with `--dir`:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# from inside the app (simplest)
|
|
120
|
+
cd apps/web && npx @viliha/vui-ui init
|
|
121
|
+
|
|
122
|
+
# …or from the repo root
|
|
123
|
+
npx @viliha/vui-ui init --turbo --dir apps/web
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
In monorepo mode `init` does **not** auto-install (installs are
|
|
127
|
+
workspace-specific), so add the deps to that app afterward — `cd apps/web && pnpm
|
|
128
|
+
add @viliha/vui-ui …`, or from the root `pnpm --filter web add @viliha/vui-ui …`.
|
|
129
|
+
The `transpilePackages` entry, the `theme.css` import, and the `@/*` alias all
|
|
130
|
+
belong to **that app**, not the root.
|
|
131
|
+
|
|
112
132
|
### ⚠️ Existing project — read this first
|
|
113
133
|
|
|
114
134
|
Adding VUI to an app you already have takes a little care. **`init --existing`
|
package/bin/vui.mjs
CHANGED
|
@@ -306,11 +306,17 @@ The shell + demo were added under app/(app)/ and app/_components/ — review the
|
|
|
306
306
|
}
|
|
307
307
|
|
|
308
308
|
if (turbo) {
|
|
309
|
-
console.log(`Turborepo
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
309
|
+
console.log(`Turborepo — finish inside the target app (${appDir}):
|
|
310
|
+
1. cd ${appDir}
|
|
311
|
+
2. Install the deps in THIS app (not the repo root):
|
|
312
|
+
${ADD_CMD[pm]} ${installList}
|
|
313
|
+
(or from the root with your workspace filter, e.g.
|
|
314
|
+
${pm} --filter <app-name> add ${installList})
|
|
315
|
+
3. Make sure your workspace globs include this app
|
|
316
|
+
(pnpm-workspace.yaml \`packages:\` or package.json \`workspaces\`).
|
|
317
|
+
4. Run it: ${pm} --filter <app-name> dev (or \`cd ${appDir} && ${pm} dev\`)
|
|
318
|
+
|
|
319
|
+
Deps were NOT auto-installed for a monorepo — installs are workspace-specific.
|
|
314
320
|
`);
|
|
315
321
|
}
|
|
316
322
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@viliha/vui-ui",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.3",
|
|
4
4
|
"description": "Vui UI — a clean, token-driven React admin/CRM component library built on Tailwind CSS v4, shadcn-style patterns, and Radix Icons. Ships as TypeScript source (Just-in-Time), compiled by the consuming app.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Suman Bonakurthi",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"bin",
|
|
37
37
|
"template",
|
|
38
38
|
"AGENT.md",
|
|
39
|
+
"CHANGELOG.md",
|
|
39
40
|
"CLAUDE.template.md"
|
|
40
41
|
],
|
|
41
42
|
"bin": {
|