Skip to content

feat: Use @openshock/svelte-core shared JS library#222

Merged
hhvrc merged 13 commits into
developfrom
feat/use-svelte-core
Jun 30, 2026
Merged

feat: Use @openshock/svelte-core shared JS library#222
hhvrc merged 13 commits into
developfrom
feat/use-svelte-core

Conversation

@hhvrc

@hhvrc hhvrc commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

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.


Open in Stage

…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.
@hhvrc hhvrc self-assigned this Jun 25, 2026
@stage-review

stage-review Bot commented Jun 25, 2026

Copy link
Copy Markdown

Ready to review this PR? Stage has broken it down into 7 individual chapters for you:

Title
1 Configure workspace and submodules
2 Migrate core logic and utilities
3 Remove local Shadcn UI implementation
4 Migrate shared components and state
5 Rewire application routes
6 Apply global styles and integration
7 Other changes
Open in Stage

Chapters generated by Stage for commit 422aafd on Jun 30, 2026 12:06am UTC.

hhvrc and others added 4 commits June 26, 2026 14:09
…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.
@hhvrc hhvrc assigned LucHeart and unassigned hhvrc Jun 28, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 29, 2026

Copy link
Copy Markdown

Deploying openshockapp with  Cloudflare Pages  Cloudflare Pages

Latest commit: e82d550
Status: ✅  Deploy successful!
Preview URL: https://40c26e8a.openshockapp.pages.dev
Branch Preview URL: https://feat-use-svelte-core.openshockapp.pages.dev

View logs

LucHeart
LucHeart previously approved these changes Jun 29, 2026
LucHeart
LucHeart previously approved these changes Jun 29, 2026
svelte-core resolved svelte@5.56.3 while the root resolved 5.56.4,
producing two unrelated Snippet types and svelte-check errors. Add a
pnpm override to force a single svelte version.
@hhvrc hhvrc merged commit daece45 into develop Jun 30, 2026
10 checks passed
@hhvrc hhvrc deleted the feat/use-svelte-core branch June 30, 2026 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants