@fiestaboard/ui 1.6.3 → 1.6.4
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/README.md +18 -38
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -6,23 +6,18 @@ FiestaUI is the [FiestaBoard](https://github.com/Fiestaboard/FiestaBoard) design
|
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
2. Configure npm (in `~/.npmrc`, NOT committed to any repo):
|
|
13
|
-
|
|
14
|
-
```ini
|
|
15
|
-
@fiestaboard:registry=https://npm.pkg.github.com
|
|
16
|
-
//npm.pkg.github.com/:_authToken=YOUR_TOKEN
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
3. Install:
|
|
9
|
+
```bash
|
|
10
|
+
npm install @fiestaboard/ui
|
|
11
|
+
```
|
|
20
12
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
No token, no `.npmrc`, no registry configuration — the package is public on
|
|
14
|
+
[registry.npmjs.org](https://www.npmjs.com/package/@fiestaboard/ui) and installs anonymously,
|
|
15
|
+
in CI and Docker builds as much as locally.
|
|
24
16
|
|
|
25
|
-
|
|
17
|
+
> Before 1.6.3 this package lived on the GitHub Packages npm registry, which requires
|
|
18
|
+
> authentication for every read even when the package is public. If you still have a
|
|
19
|
+
> `@fiestaboard:registry=https://npm.pkg.github.com` line in an `.npmrc` anywhere, delete it —
|
|
20
|
+
> it will pin you to the old registry and to versions no longer published there.
|
|
26
21
|
|
|
27
22
|
Peer dependencies: `react` / `react-dom` ^19, `lucide-react`, and `tailwindcss` ^4 in the consuming app.
|
|
28
23
|
|
|
@@ -96,17 +91,15 @@ npm run build && npm pack # produces fiestaboard-ui-<version>.tgz
|
|
|
96
91
|
|
|
97
92
|
## Releasing
|
|
98
93
|
|
|
99
|
-
Releases are
|
|
94
|
+
Releases are continuous: every merge to `main` that changes shipped code bumps the version, tags `v<version>`, publishes to [registry.npmjs.org](https://www.npmjs.com/package/@fiestaboard/ui), and creates a GitHub Release. `scripts/release/gate.mjs` decides whether a merge earns a release and how big a bump; CI-only changes (workflows, `scripts/ci`, VRT baselines) mint nothing. **Actions → Release → Run workflow** remains the manual override.
|
|
100
95
|
|
|
101
|
-
Publishing
|
|
96
|
+
Publishing uses [npm Trusted Publishing](https://docs.npmjs.com/trusted-publishers/) (OIDC). The workflow's `id-token: write` permission mints a short-lived credential that npm exchanges for publish rights, so there is no npm token anywhere — nothing to store, leak, or rotate. Provenance is attested from the OIDC claims, linking each tarball to the workflow run that built it.
|
|
102
97
|
|
|
103
|
-
|
|
98
|
+
This requires a **trusted publisher configured on the npmjs package** — repository `Fiestaboard/FiestaUI`, workflow `release.yml`. Without it the publish step fails outright; it does not fall back to a token.
|
|
104
99
|
|
|
105
|
-
###
|
|
100
|
+
### Publishing by hand
|
|
106
101
|
|
|
107
|
-
`npm run release:npmjs`
|
|
108
|
-
command by design: Trusted Publishing can only be configured on a package that already
|
|
109
|
-
exists on npmjs, and the 2FA challenge cannot come from CI.
|
|
102
|
+
`npm run release:npmjs` builds and publishes from a local checkout. It exists as an escape hatch for when the workflow is broken — normal releases should go through CI.
|
|
110
103
|
|
|
111
104
|
```bash
|
|
112
105
|
npm login # once — web-based, completes 2FA in the browser
|
|
@@ -114,22 +107,9 @@ npm run release:npmjs -- --dry-run # inspect the tarball contents first
|
|
|
114
107
|
npm run release:npmjs # publish; completes 2FA interactively
|
|
115
108
|
```
|
|
116
109
|
|
|
117
|
-
The account's 2FA mode is `auth-and-writes` (check with `npm profile get`), so the
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
With `auth-type=web` (npm's default) the CLI instead prints a
|
|
121
|
-
`https://www.npmjs.com/login/<uuid>` URL; open it, satisfy the passkey, and the publish
|
|
122
|
-
continues. `--otp=<code>` remains valid only for authenticator-app users.
|
|
123
|
-
|
|
124
|
-
The script rebuilds before publishing (`files` ships only `dist`, and there is no
|
|
125
|
-
`prepack` hook, so a stale `dist/` would otherwise publish silently-wrong contents) and
|
|
126
|
-
passes `--access public` because scoped packages default to `restricted`. The
|
|
127
|
-
`--registry` flag overrides `publishConfig.registry`, so this leaves the GitHub Packages
|
|
128
|
-
release workflow untouched — both registries serve the same version until the migration
|
|
129
|
-
completes.
|
|
130
|
-
|
|
131
|
-
Publish from an up-to-date `main`. The version comes from `package.json`, so a stale
|
|
132
|
-
checkout would point npmjs's `latest` tag at a superseded release.
|
|
110
|
+
The account's 2FA mode is `auth-and-writes` (check with `npm profile get`), so the publish needs a second factor. **Do not pass `--otp`** unless you have a TOTP authenticator app — with a passkey or hardware security key there is no code to type. With `auth-type=web` (npm's default) the CLI prints a `https://www.npmjs.com/login/<uuid>` URL; open it, satisfy the passkey, and the publish continues.
|
|
111
|
+
|
|
112
|
+
The script rebuilds first because `files` ships only `dist` and there is no `prepack` hook, so a stale `dist/` would otherwise publish silently-wrong contents — unrecoverable, since npm forbids republishing a version. Publish from an up-to-date `main`: the version comes from `package.json`, so a stale checkout would point npmjs's `latest` tag at a superseded release.
|
|
133
113
|
|
|
134
114
|
## Downstream upgrade automation
|
|
135
115
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiestaboard/ui",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.4",
|
|
4
4
|
"description": "FiestaUI — the FiestaBoard design system. React components on Base UI with Tailwind v4 design tokens.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"perf:bench": "node scripts/perf/bench.mjs",
|
|
54
54
|
"perf:test": "node --test scripts/perf/tests/*.test.mjs",
|
|
55
55
|
"release:test": "node --test scripts/ci/tests/*.test.mjs scripts/release/tests/*.test.mjs",
|
|
56
|
-
"release:npmjs": "npm run build && npm publish
|
|
56
|
+
"release:npmjs": "npm run build && npm publish"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@base-ui/react": "^1.6.0",
|
|
@@ -103,6 +103,7 @@
|
|
|
103
103
|
"vite": "^8.1.5"
|
|
104
104
|
},
|
|
105
105
|
"publishConfig": {
|
|
106
|
-
"registry": "https://
|
|
106
|
+
"registry": "https://registry.npmjs.org",
|
|
107
|
+
"access": "public"
|
|
107
108
|
}
|
|
108
109
|
}
|