Feat v0.6.12 extension css isolation
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
CI/CD / test-frontend (pull_request) Has been cancelled
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
CI/CD / test-frontend (pull_request) Has been cancelled
Prefix enforcement prevents extension CSS from leaking into the kernel
or sibling extensions. All 12 in-tree packages migrated to .ext-{slug}-*
naming convention.
- Add data-ext attribute to extension mount container
- Add CSS linter (scripts/lint-package-css.sh) enforcing .ext-{slug} prefix
- Add kernel CSS contract doc (docs/EXTENSION-CSS.md)
- Migrate 12 packages: chat, dashboard, editor, git-board, hello-dashboard,
icd-test-runner, notes, schedules, sdk-test-runner, tasks,
team-activity-log, workflow-demo (CSS + JS in lockstep)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
31
CHANGELOG.md
31
CHANGELOG.md
@@ -2,6 +2,37 @@
|
||||
|
||||
All notable changes to Armature are documented here.
|
||||
|
||||
## v0.6.12 — Extension CSS Isolation
|
||||
|
||||
Prefix enforcement prevents extension CSS from leaking into the kernel or
|
||||
sibling extensions. All 12 in-tree packages migrated to `.ext-{slug}-*`
|
||||
naming convention.
|
||||
|
||||
### Added
|
||||
|
||||
- **`data-ext` attribute** on extension mount container — enables scoped
|
||||
selectors like `[data-ext="chat"] .ext-chat-app`.
|
||||
- **CSS linter** (`scripts/lint-package-css.sh`) — validates that the first
|
||||
class selector in every extension CSS rule starts with `.ext-{slug}`.
|
||||
Exempts `:root`, `@keyframes`, `@font-face`, `@media`, kernel `.sw-*`
|
||||
classes, and CodeMirror `.cm-*` classes.
|
||||
- **Kernel CSS contract** (`docs/EXTENSION-CSS.md`) — documents stable
|
||||
public classes and CSS variables that extensions may reference. Everything
|
||||
else is internal kernel CSS.
|
||||
|
||||
### Changed
|
||||
|
||||
- **12 packages migrated** — all class selectors renamed to `.ext-{slug}-*`:
|
||||
chat, dashboard, editor, git-board, hello-dashboard, icd-test-runner,
|
||||
notes, schedules, sdk-test-runner, tasks, team-activity-log, workflow-demo.
|
||||
CSS and JS files updated in lockstep.
|
||||
- **`icd-test-runner`** — ID selectors (`#extension-mount`) converted to
|
||||
class-based selectors with proper prefix.
|
||||
- **`editor` cross-references** — compound selectors referencing notes
|
||||
classes updated to new `.ext-notes-*` names.
|
||||
- **`chat` kernel overrides** — `.sw-dialog:has(...)` override scoped under
|
||||
`[data-ext="chat"]` instead of global.
|
||||
|
||||
## v0.6.11 — CSS Deduplication
|
||||
|
||||
One class per concept. The old `primitives.css` button, toast, popup-menu,
|
||||
|
||||
Reference in New Issue
Block a user