feat: Use @openshock/svelte-core shared JS library#222
Open
hhvrc wants to merge 3 commits into
Open
Conversation
…heme Migrate the frontend onto the shared @openshock/svelte-core library: - shadcn-svelte ui/ now imported via the $hadcn alias; local ui/ tree removed - shared components (Code, Keyboard, metadata, svg, datetime-picker, dialog-manager, input fields, etc.) and modules (cn, pure utils, type guards, validators, shared types, is-mobile, pwned-passwords) now from $core; local copies deleted - LightSwitch and PasswordInput rewired to the library's decoupled APIs (injected color-scheme; forgotHref/onPwnedCheckError) - design-system theme via @import '@openshock/svelte-core/theme.css' - add $core and $hadcn aliases pointing at the package's dist App-coupled code (ControlModules, shares, Turnstile, errorGuards, usernameValidator, etc.) stays local.
|
Ready to review this PR? Stage has broken it down into 7 individual chapters for you: Chapters generated by Stage for commit e88a25b on Jun 26, 2026 1:39pm UTC. |
…tate - Bump @openshock/svelte-core to ^0.2.1 - Re-point colorScheme and PersistedState imports to $core/state - Delete the now-duplicated local color-scheme-state and PersistedState (incl. its test); state/classes/ is gone - Header uses the self-contained <LightSwitch /> again (no prop wiring), matching the original implementation now living in the library Tailwind picks up the library's component classes via the `@source './components'` that svelte-core's theme.css self-registers as of 0.2.1, so no app-side @source is needed.
Bump @openshock/svelte-core to ^0.2.2 and switch every import from the $core/$hadcn filesystem aliases to package-name subpaths, going through the library's JS barrels (ui/*, components, components/input, components/svg, components/datetime-picker, components/dialog-manager) instead of raw .svelte file paths. Importing a library's raw .svelte files (via alias or deep subpath) made Vite's dep optimizer crawl/pre-bundle them, which broke the dev dependency scan and caused a hydration crash. Barrel (JS) entries let vite-plugin-svelte treat the package as a Svelte library. The $core/$hadcn aliases are removed from svelte.config.js.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrate the frontend onto the shared @openshock/svelte-core library:
App-coupled code (ControlModules, shares, Turnstile, errorGuards, usernameValidator, etc.) stays local.