Factory Pattern
Every package exports a createXxxService() factory that returns a plain object. No classes, no singletons, no hidden state. You control when and where services are created.
A collection of framework-agnostic and Vue-powered service packages built by Script Development.
All packages are published under the @script-development scope on npm.
These packages have zero Vue dependency — they work in any TypeScript project.
| Package | Description |
|---|---|
| fs-http | HTTP service factory with middleware architecture |
| fs-storage | localStorage service factory with prefix namespacing |
| fs-helpers | Tree-shakeable utilities: deep copy, type guards, case conversion |
Vue-powered reactive services for common application concerns.
| Package | Description |
|---|---|
| fs-theme | Reactive dark/light mode with system preference detection |
| fs-loading | Loading state service with HTTP middleware integration |
| fs-toast | Component-agnostic toast notification queue |
| fs-dialog | Component-agnostic dialog stack with error middleware |
| fs-translation | Type-safe reactive i18n with multi-locale support |
Higher-level packages for domain-driven application architecture.
| Package | Description |
|---|---|
| fs-adapter-store | Reactive state management with CRUD resource adapters |
| fs-router | Type-safe router with CRUD navigation and middleware pipeline |
Headless, themeable Vue components (the ui-* family) — behaviour and accessibility in the package, all styling through a CSS custom-property contract you map your design tokens onto.
| Package | Description |
|---|---|
| ui-inputs | Headless form inputs — field/label/error, text/number/date/textarea, checkbox/switch/radio, select/combobox/multi-select — themed via --ui-* variables |
Every package passes an 8-gate CI pipeline before it can be published:
npm audit for known vulnerabilities