@tollerud/ui 4.0.2 → 4.0.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/AGENTS.md CHANGED
@@ -44,7 +44,7 @@ npm install @tollerud/footer
44
44
 
45
45
  Adjust `@source` relative to your CSS file. Without it, classes used only inside `@tollerud/ui` dist may be purged.
46
46
 
47
- **Optional preset shim** — extra utilities from `tollerud-preset.js`:
47
+ **Optional preset shim** — extra utilities from `@tollerud/ui/preset`:
48
48
 
49
49
  ```ts
50
50
  // tailwind.config.ts
package/CHANGELOG.md CHANGED
@@ -7,6 +7,31 @@
7
7
  • Never write bold mid-paragraph as a heading substitute — it merges into surrounding text
8
8
  -->
9
9
 
10
+ ## 4.0.3 — 2026-06-09 — Publish pipeline hardening
11
+
12
+ Patch release: aligns npm publish with `validate`, fixes preset export shape, enables provenance via OIDC, and fixes `@tollerud/footer` CI build.
13
+
14
+ ### Changed
15
+
16
+ - `prepublishOnly` and `publish-npm.yml` now run `verify:footer-sync` and `test:consumer` before publish
17
+ - `publish-npm.yml` auto-builds and publishes `@tollerud/footer` alongside `@tollerud/ui`
18
+ - `tollerud-preset.js` renamed to `tollerud-preset.cjs` — fixes publint CJS-in-ESM warning; import via `@tollerud/ui/preset`
19
+ - `@tollerud/ui/utils` subpath no longer ships `'use client'` — `cn` is safe to import from Server Components
20
+ - Removed `engines.node` from `package.json` (contributor Node/npm guidance stays in `CONTRIBUTING.md`)
21
+ - Publish uses npm Trusted Publishers (OIDC) with `--provenance` instead of `NPM_TOKEN`
22
+ - `@tollerud/footer` ships its own `tsup.config.ts` — stops inheriting root TS 6 `tsconfig.build.json` during DTS emit
23
+
24
+ ### Docs
25
+
26
+ - `README.md`, `GETTING_STARTED.md`, `SKILL.md`, `AGENTS.md` — preset import path updated
27
+ - Added `NPM_PACKAGE_PLAN.md` — npm hardening audit and task list
28
+
29
+ ### Migration
30
+
31
+ Nothing breaking. If you copied `tollerud-preset.js` locally, rename to `tollerud-preset.cjs` or switch to `import preset from '@tollerud/ui/preset'`.
32
+
33
+ ---
34
+
10
35
  ## 4.0.2 — 2026-06-10 — Repo layout and publish surface cleanup
11
36
 
12
37
  Patch release: consolidates docs and CI fixtures, stops shipping internal manifests, and clarifies docs copy after the npm-only pivot.
@@ -29,7 +29,7 @@ npm install @paper-design/shaders-react
29
29
 
30
30
  `globals.css` bundles Tailwind v4, design tokens, and all component layer styles. Point `@source` at the package `dist` folder relative to your CSS file so component utility classes are not purged.
31
31
 
32
- **Optional preset shim** — for extra theme tokens from `tollerud-preset.js`:
32
+ **Optional preset shim** — for extra theme tokens from `@tollerud/ui/preset` (`tollerud-preset.cjs`):
33
33
 
34
34
  ```ts
35
35
  // tailwind.config.ts
package/README.md CHANGED
@@ -51,7 +51,7 @@ npm install @paper-design/shaders-react
51
51
 
52
52
  Adjust the `@source` path relative to your CSS file so it resolves to `node_modules/@tollerud/ui/dist`.
53
53
 
54
- **Optional preset shim** — if you need utilities from `tollerud-preset.js` beyond what `tokens.css` provides:
54
+ **Optional preset shim** — if you need utilities from `@tollerud/ui/preset` beyond what `tokens.css` provides:
55
55
 
56
56
  ```ts
57
57
  // tailwind.config.ts
@@ -97,13 +97,13 @@ import { Button, Card, Badge, StatusDot, CodeBlock, Kbd, CommandMenu, NoirGlowBa
97
97
 
98
98
  TypeScript types are included — no `@types/*` package needed. See **[COMPONENTS.md](COMPONENTS.md)** for the full prop reference for every component.
99
99
 
100
- Publish a new version by bumping `version` in `package.json` and pushing to `main` — the `publish-npm` GitHub Action detects the version change, runs `npm publish` (using the `NPM_TOKEN` secret), and then creates a matching GitHub Release automatically.
100
+ Publish a new version by bumping `version` in `package.json` and pushing to `main` — the `publish-npm` GitHub Action detects the version change, runs `npm publish --provenance` via npm Trusted Publishers (OIDC), and then creates a matching GitHub Release automatically.
101
101
 
102
102
  ### Copy from repo (alternative)
103
103
 
104
104
  ```bash
105
105
  npm install clsx tailwind-merge
106
- cp tollerud-preset.js globals.css components/ -r <your-next-project>/
106
+ cp tollerud-preset.cjs globals.css components/ -r <your-next-project>/
107
107
  ```
108
108
 
109
109
  Then use local paths instead of `@tollerud/ui` in the snippets above.
@@ -235,7 +235,7 @@ design-system/
235
235
  ├── globals-v3.css # Tailwind v3 legacy
236
236
  ├── globals-layers.css # Shared component CSS layers
237
237
  ├── tokens.css # Design tokens
238
- ├── tollerud-preset.js # Tailwind preset
238
+ ├── tollerud-preset.cjs # Tailwind preset (CJS)
239
239
  ├── scripts/ # Build, validate, docs, and release helpers
240
240
  ├── docs-app/ # Next.js docs site (static export → _site/)
241
241
  │ ├── app/ # App Router + globals.css
package/SKILL.md CHANGED
@@ -22,7 +22,7 @@ npm install @paper-design/shaders-react
22
22
 
23
23
  As of **v4.0.1**, install is **npm-only** — `import { Button } from '@tollerud/ui'` or subpaths like `@tollerud/ui/button`. Copy-via-shadcn registry CLI is unsupported. As of **v4.0.0**, `@tollerud/ui/globals-v4.css` is removed — use `globals.css` only. Brand assets live at `@tollerud/ui/brand/*`. As of **v3.1.1**, `.tollerud-display-shimmer` ships in `globals.css` for animated hero accent text. As of **v3.1.0**, `Monogram` ships as an inline SVG component (`color`: `yellow` | `black` | `white`). As of **v3.0.0**, the package is **ESM-only** (no CJS `require` entry). As of **v2.0.0**, Radix, Lucide, Framer Motion, and Sonner are **required peers** (not bundled).
24
24
 
25
- Apply the Tailwind preset when you need extra utilities from `tollerud-preset.js` — `globals.css` already includes tokens and component layers for v4:
25
+ Apply the Tailwind preset when you need extra utilities from `@tollerud/ui/preset` — `globals.css` already includes tokens and component layers for v4:
26
26
 
27
27
  ```css
28
28
  /* app/globals.css — Tailwind v4 (default) */
package/dist/utils.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export { cn } from './chunk-WSQNPRGN.js';
3
2
  //# sourceMappingURL=utils.js.map
4
3
  //# sourceMappingURL=utils.js.map
package/globals.css CHANGED
@@ -6,7 +6,7 @@
6
6
  @import '@tollerud/ui/globals.css';
7
7
  @source '../node_modules/@tollerud/ui/dist';
8
8
 
9
- Optional preset shim (extra theme tokens from tollerud-preset.js):
9
+ Optional preset shim (extra theme tokens from tollerud-preset.cjs):
10
10
 
11
11
  @import 'tailwindcss';
12
12
  @config './tailwind.config.ts';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tollerud/ui",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "description": "Tollerud User Interface — dark, monochrome + yellow accent. Noir aesthetic meets modern utility.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -13,11 +13,8 @@
13
13
  "url": "https://github.com/Tollerud/ui/issues"
14
14
  },
15
15
  "license": "MIT",
16
- "author": "Mathias Tollerud <mathias.tollerud@gmail.com>",
16
+ "author": "Mathias Tollerud <mathias@tollerud.no>",
17
17
  "packageManager": "npm@11.16.0",
18
- "engines": {
19
- "node": ">=20"
20
- },
21
18
  "sideEffects": [
22
19
  "*.css"
23
20
  ],
@@ -36,7 +33,7 @@
36
33
  "./globals-layers.css": "./globals-layers.css",
37
34
  "./tailwind.css": "./tailwind.css",
38
35
  "./tokens.css": "./tokens.css",
39
- "./preset": "./tollerud-preset.js",
36
+ "./preset": "./tollerud-preset.cjs",
40
37
  "./brand/tollerud-logo.svg": "./brand/tollerud-logo.svg",
41
38
  "./brand/tollerud-avatar.svg": "./brand/tollerud-avatar.svg",
42
39
  "./brand/tollerud-avatar.png": "./brand/tollerud-avatar.png",
@@ -56,7 +53,7 @@
56
53
  "globals-layers.css",
57
54
  "tailwind.css",
58
55
  "tokens.css",
59
- "tollerud-preset.js",
56
+ "tollerud-preset.cjs",
60
57
  "GETTING_STARTED.md",
61
58
  "COMPONENTS.md",
62
59
  "CHANGELOG.md",
@@ -86,7 +83,7 @@
86
83
  "docs:props": "node scripts/generate-props.mjs",
87
84
  "test:props": "node scripts/verify-props-drift.mjs",
88
85
  "validate": "npm run typecheck && npm run lint && npm run test && npm run build && npm run test:subpath && npm run test:drift && npm run test:package && npm run test:size && npm run test:props && npm run verify:footer-sync && npm run build:docs && npm run test:consumer",
89
- "prepublishOnly": "npm run sync:registry && npm run typecheck && npm run lint && npm run test && npm run build && npm run test:subpath && npm run test:drift && npm run test:package && npm run test:size && npm run test:props",
86
+ "prepublishOnly": "npm run sync:registry && npm run typecheck && npm run lint && npm run test && npm run build && npm run test:subpath && npm run test:drift && npm run test:package && npm run test:size && npm run test:props && npm run verify:footer-sync && npm run test:consumer",
90
87
  "build:docs": "node scripts/build-docs.mjs",
91
88
  "preview:docs": "npx --yes serve _site -l 4173"
92
89
  },
@@ -4,7 +4,7 @@
4
4
  * Drop this into any Tailwind project:
5
5
  *
6
6
  * // tailwind.config.ts
7
- * import tollerudPreset from './path/to/tollerud-preset'
7
+ * import tollerudPreset from '@tollerud/ui/preset'
8
8
  * export default {
9
9
  * presets: [tollerudPreset],
10
10
  * content: ['your-source-files'],