strelit-ui-kit
v1.0.0
Published
Strelit UI layout workspace toolkit
Maintainers
Readme
Strelit UI Kit
Strelit UI Kit is a TypeScript docking and workspace layout library derived from the Golden Layout codebase and being modernized as a standalone product line under CTHub.
Current State
- TypeScript-first source in
src/ - Fast test runner with
Vitest - API demo app served with
Vite - Linting with
Oxlint - JSDoc access and tag validation during linting
- Formatting with
Prettier - API surface checks with
api-extractor - HTML docs generated with
TypeDoc - Migration guide and codemod available for Golden Layout adopters
Versioning
This repository uses Strelit's own version line. It is not a continuation of an upstream "version 2" product name.
1.0.0defines the first stable Strelit release, with its supported API, configuration, styling, and packaging boundary recorded in the 1.0 contract.- After
1.0.0, semantic versioning applies normally:- major for breaking API, config, or styling changes
- minor for backward-compatible features
- patch for backward-compatible fixes
See VERSIONING.md for the repo policy.
Development
Node.js 24.x is required. This release raises the previous Node.js 20.19 minimum as the project's updated development and verification baseline; browser APIs and saved-layout formats are unchanged.
Install dependencies:
npm ciMain workflows:
npm run test
npm run bench
npm run lint
npm run build
npm run doc
npm run apitest:serve
npm run migrate:golden-layout -- --target ../my-app --dry-runnpm run apitest:serve opens the local Layout Workbench
at http://localhost:3000/. It starts with a populated layout and provides
configuration editing, guided runtime actions, live saved state, and an API
method explorer for manual browser verification.
Public API documentation is generated with TypeDoc. npm run lint rejects undocumented public reflections, and new or changed public APIs must include a meaningful contract, including relevant failure and resource-limit behavior.
Benchmark workflows:
npm run benchThis builds the package and runs the benchmark specs in test/bench, including
both config-oriented and JSDOM-backed layout benchmarks.
Output
npm run build generates:
- CommonJS output in
dist/cjs - ESM output in
dist/esm - Browser IIFE output in
dist/iife/index.global.jsaswindow.strelitUIKit - Browser IIFE package path
strelit-ui-kit/dist/iife/index.global.js - rolled-up declarations in
dist/types - CSS/LESS/SCSS assets in
dist
JSR core and browser styles
The JSR distribution is configured as @strelit/core and contains the TypeScript API without CSS. Browser applications using it must also load the matching [email protected] npm release's base stylesheet and one theme. For a bundler, install strelit-ui-kit for its style assets and import:
import 'strelit-ui-kit/dist/css/strelit-base.css';
import 'strelit-ui-kit/dist/css/themes/strelit-dark-theme.css';Keep the JSR package and npm style asset versions aligned.
Notes
- Strelit exposes its own API and configuration contract; Golden Layout compatibility is handled by the migration tool rather than the runtime.
- The original upstream license notices are preserved where required.
Migration
If you are moving an existing Golden Layout based application onto Strelit UI Kit:
- read docs/migration/index.md
- run
npm run migrate:golden-layout -- --target <path> --dry-run
