diff --git a/core/src/private.html b/core/src/private.html index 48948a2..253ae3e 100644 --- a/core/src/private.html +++ b/core/src/private.html @@ -9,7 +9,7 @@ "vue": "/vendor/vue.mjs", "vue-router": "/vendor/vue-router.mjs", "pinia": "/vendor/pinia.mjs", - "@KTXC/utils/helpers/fetch-wrapper-core": "/js/shared-utils.js" + "@KTXC": "/js/ktxc.mjs" } } diff --git a/core/src/shared/index.ts b/core/src/shared/index.ts new file mode 100644 index 0000000..34d4fb9 --- /dev/null +++ b/core/src/shared/index.ts @@ -0,0 +1,28 @@ +/** + * KTXC Host SDK + * + * This is the single public contract between the host application and modules. + * Modules must import from '@KTXC' (this file), never from '@KTXC/...' sub-paths. + * At runtime, '@KTXC' resolves to '/js/ktxc.mjs' via the import map. + */ + +// Stores +export { useModuleStore } from '../stores/moduleStore' +export { useTenantStore } from '../stores/tenantStore' +export { useUserStore } from '../stores/userStore' +export { useIntegrationStore } from '../stores/integrationStore' +export { useLayoutStore } from '../stores/layoutStore' + +// Composables +export { useUser } from '../composables/useUser' +export { useClipboard } from '../composables/useClipboard' + +// Services +export { userService } from '../services/user/userService' + +// Utilities +export { fetchWrapper } from '../utils/helpers/fetch-wrapper' +export { createFetchWrapper } from '../utils/helpers/fetch-wrapper-core' + +// Types +export type { ModuleIntegrations } from '../types/moduleTypes' diff --git a/core/src/utils/helpers/shared.ts b/core/src/utils/helpers/shared.ts deleted file mode 100644 index 598600f..0000000 --- a/core/src/utils/helpers/shared.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Shared utilities entry point for external modules - * This file is built separately and exposed via import map - */ - -export { - createFetchWrapper, - type FetchWrapperOptions, - type RequestCallOptions, -} from './fetch-wrapper-core'; diff --git a/vite.config.ts b/vite.config.ts index 8106dff..1b78632 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -72,15 +72,16 @@ export default defineConfig(({ mode }) => ({ input: { public: path.resolve(__dirname, 'core/src/public.html'), private: path.resolve(__dirname, 'core/src/private.html'), - 'shared-utils': path.resolve(__dirname, 'core/src/utils/helpers/shared.ts'), + 'ktxc': path.resolve(__dirname, 'core/src/shared/index.ts'), }, + preserveEntrySignatures: 'exports-only', output: { - // Preserve export names for shared-utils (used via import map by modules) + // Preserve export names for ktxc (used via import map by modules) minifyInternalExports: false, entryFileNames: (chunkInfo) => { - // Keep shared-utils without hash for stable import map reference - if (chunkInfo.name === 'shared-utils') { - return `js/[name].js`; + // Keep ktxc without hash for stable import map references + if (chunkInfo.name === 'ktxc') { + return `js/ktxc.mjs`; } return `js/[name]-[hash].js`; },