@qovira/theme 1.0.1 → 1.0.2
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 +35 -6
- package/dist/theme.css +4 -7
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -57,12 +57,7 @@ import { boot } from "@qovira/theme/boot"; // the raw snippet, as a string
|
|
|
57
57
|
### 3. Toggle / persist — `@qovira/theme/runtime`
|
|
58
58
|
|
|
59
59
|
```ts
|
|
60
|
-
import {
|
|
61
|
-
getTheme,
|
|
62
|
-
setTheme,
|
|
63
|
-
toggleTheme,
|
|
64
|
-
subscribe,
|
|
65
|
-
} from "@qovira/theme/runtime";
|
|
60
|
+
import { getTheme, setTheme, toggleTheme, subscribe } from "@qovira/theme/runtime";
|
|
66
61
|
```
|
|
67
62
|
|
|
68
63
|
Framework-agnostic get/set/persist with cross-tab sync. A Svelte store/rune
|
|
@@ -242,6 +237,40 @@ pnpm lint # eslint + prettier --check
|
|
|
242
237
|
pnpm test # vitest run
|
|
243
238
|
```
|
|
244
239
|
|
|
240
|
+
## Versioning & releases
|
|
241
|
+
|
|
242
|
+
`@qovira/theme` follows **[semantic versioning](https://semver.org)**. It's the
|
|
243
|
+
upstream of the Qovira stack: a breaking change here (a removed token, a changed
|
|
244
|
+
runtime API) ripples to every consumer, so the version is a real contract.
|
|
245
|
+
|
|
246
|
+
| Bump | What changed |
|
|
247
|
+
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
248
|
+
| **major** | A breaking change: a token/utility/entry-point removed or renamed, a breaking runtime-API or storage-key change, a dropped theme/font, or a raised `tailwindcss` peer range. |
|
|
249
|
+
| **minor** | A backward-compatible addition: a new token, utility, font, or additive runtime API. |
|
|
250
|
+
| **patch** | A backward-compatible fix: a corrected token value, an accessibility/contrast fix, or a runtime edge-case fix. |
|
|
251
|
+
|
|
252
|
+
### Cutting a release
|
|
253
|
+
|
|
254
|
+
Versioning and the changelog are driven by
|
|
255
|
+
[Changesets](https://github.com/changesets/changesets). The flow:
|
|
256
|
+
|
|
257
|
+
1. **As you work**, record each consumer-visible change with a changeset —
|
|
258
|
+
`pnpm changeset` prompts for the bump level (per the table above) and a
|
|
259
|
+
summary, writing a file under `.changeset/`. (See `.changeset/README.md`.)
|
|
260
|
+
2. **To release**, run `pnpm version-packages` (`changeset version`) on `main`:
|
|
261
|
+
it consumes the pending changesets, bumps `package.json`, and updates
|
|
262
|
+
`CHANGELOG.md`. Commit that, then create and push a matching `vX.Y.Z` tag.
|
|
263
|
+
3. **The tag triggers** [`.github/workflows/release.yml`](.github/workflows/release.yml):
|
|
264
|
+
the full gate (tag-vs-`package.json`, build, lint, typecheck, test) runs on
|
|
265
|
+
Blacksmith, then a single GitHub-hosted job publishes to npm via **Trusted
|
|
266
|
+
Publishing** (tokenless OIDC) with a **provenance attestation**. Only `dist/`
|
|
267
|
+
is in the published tarball (`files: ["dist"]`).
|
|
268
|
+
|
|
269
|
+
> **One-time npm setup** (outside this repo): on npmjs.com, configure
|
|
270
|
+
> `@qovira/theme`'s **Trusted Publisher** to point at this repository and the
|
|
271
|
+
> release workflow. No `NPM_TOKEN` secret is used — Trusted Publishing replaces
|
|
272
|
+
> long-lived tokens entirely.
|
|
273
|
+
|
|
245
274
|
## Contributing
|
|
246
275
|
|
|
247
276
|
Contributions are welcome — read [CONTRIBUTING.md](./CONTRIBUTING.md) first, and
|
package/dist/theme.css
CHANGED
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
* Per-theme tint/text aliases live in the semantic layer. */
|
|
56
56
|
--color-success: #2f9e6b;
|
|
57
57
|
--color-warning: #e08a1e;
|
|
58
|
-
--color-error: #d6452e
|
|
58
|
+
--color-error: #cc4029; /* darkened from #d6452e so white text clears WCAG AA (4.5:1) on bg-error fills */
|
|
59
59
|
--color-info: #3b72c0;
|
|
60
60
|
|
|
61
61
|
/* Font families. font-family is intentionally NOT carried by the --text-*
|
|
@@ -179,12 +179,9 @@
|
|
|
179
179
|
|
|
180
180
|
--focus-ring: #e0a458; /* honey, both themes */
|
|
181
181
|
|
|
182
|
-
--shadow-sm:
|
|
183
|
-
|
|
184
|
-
--shadow-
|
|
185
|
-
0 2px 4px rgba(30, 24, 18, 0.08), 0 8px 20px rgba(30, 24, 18, 0.18);
|
|
186
|
-
--shadow-lg:
|
|
187
|
-
0 4px 8px rgba(30, 24, 18, 0.1), 0 20px 48px rgba(30, 24, 18, 0.26);
|
|
182
|
+
--shadow-sm: 0 1px 2px rgba(30, 24, 18, 0.1), 0 1px 1px rgba(30, 24, 18, 0.06);
|
|
183
|
+
--shadow-md: 0 2px 4px rgba(30, 24, 18, 0.08), 0 8px 20px rgba(30, 24, 18, 0.18);
|
|
184
|
+
--shadow-lg: 0 4px 8px rgba(30, 24, 18, 0.1), 0 20px 48px rgba(30, 24, 18, 0.26);
|
|
188
185
|
--lamp-glow: 0 0 22px rgba(224, 164, 88, 0.5);
|
|
189
186
|
|
|
190
187
|
/* Status tint/text — meaning only, never decoration. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qovira/theme",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Qovira's visual foundation — Tailwind v4 tokens, self-hosted fonts, and a framework-agnostic theming runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"qovira",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"tailwindcss": "^4.0.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
+
"@changesets/cli": "^2.31.0",
|
|
42
43
|
"@eslint/js": "^10.0.1",
|
|
43
44
|
"@fontsource-variable/figtree": "^5.2.10",
|
|
44
45
|
"@fontsource-variable/fraunces": "^5.2.9",
|
|
@@ -63,6 +64,8 @@
|
|
|
63
64
|
"typecheck": "tsc --noEmit",
|
|
64
65
|
"lint": "eslint . && prettier --check .",
|
|
65
66
|
"format": "prettier --write .",
|
|
66
|
-
"test": "vitest run"
|
|
67
|
+
"test": "vitest run",
|
|
68
|
+
"changeset": "changeset",
|
|
69
|
+
"version-packages": "changeset version"
|
|
67
70
|
}
|
|
68
71
|
}
|