Shared TypeScript modules consumed by both packages/login-widget and apps/login-app.
The core/ directory is not a pnpm workspace package. Instead, it is imported directly via TypeScript path aliases. This avoids the overhead of a separate build step — core modules are compiled as part of whichever consumer imports them (the widget build or the SvelteKit app).
Defined in core/tsconfig.json and mirrored in each consumer's build configuration:
| Alias | Resolves To | Description |
|---|---|---|
$core |
core/ |
Root-level core modules (stores, config, interfaces) |
$core/* |
core/* |
Any file within core |
$components |
core/components/ |
Svelte UI components |
$components/* |
core/components/* |
Any component file |
$journey |
core/journey/ |
Journey/authentication flow logic |
$journey/* |
core/journey/* |
Any journey module |
$locales |
core/locales/ |
Internationalization strings |
$locales/* |
core/locales/* |
Any locale file |
core/
├── _utilities/ # Shared utility functions (i18n, etc.)
├── components/ # Svelte UI components shared across consumers
├── journey/ # Journey/authentication flow logic
│ ├── _utilities/ # Data analysis, metadata, step utilities
│ ├── config.store.ts # Journey configuration store
│ └── ...
├── locales/ # i18n locale strings
├── oauth/ # OAuth/OIDC store and logic
├── server/ # Server interaction utilities
├── user/ # User info and token stores
├── component.store.ts # Widget component lifecycle store
├── constants.ts # Shared constants
├── interfaces.ts # Shared TypeScript interfaces
├── links.store.ts # Links configuration store
├── locale.store.ts # Locale/content configuration store
├── sdk.config.ts # SDK configuration store
├── style.store.ts # Styling configuration store
└── tsconfig.json # TypeScript config with path aliases
The .d.ts files alongside .ts files are generated type declarations. They provide type information to consumers without requiring a build step for the core module itself.
- Widget build: Core modules are bundled into the widget's
dist/output. The widget's Vite config resolves the path aliases and includes core source during compilation. - Login-app: SvelteKit resolves the aliases via its Vite config and compiles core modules as part of the app build.
- Core is not independently built or published.
© Copyright 2022-2025 Ping Identity Corporation. All Rights Reserved.