diff --git a/.github/workflows/lint-and-test.yml b/.github/workflows/lint-and-test.yml index 668ca6125d..a2d37e77f6 100644 --- a/.github/workflows/lint-and-test.yml +++ b/.github/workflows/lint-and-test.yml @@ -29,6 +29,8 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Checkout and Setup Node uses: ./.github/actions/setup-node + - name: Build package and check exports + run: pnpm package - name: Lint run: pnpm run --if-present lint:ci check-types: @@ -47,3 +49,5 @@ jobs: uses: ./.github/actions/setup-node - name: Run Unit Tests run: pnpm test + - name: Test packaged catalog exports + run: pnpm catalog:test-package diff --git a/package.json b/package.json index 90d1c62982..0444b17c21 100644 --- a/package.json +++ b/package.json @@ -58,11 +58,11 @@ "preview:docker": "VITE_API=http://localhost:8080 VITE_TEMPORAL_UI_BUILD_TARGET=local vite preview", "preview:local-temporal": "VITE_API=http://localhost:8081 vite build --sourcemap && VITE_TEMPORAL_UI_BUILD_TARGET=local vite preview --port 3001", "preview:local-temporal:full": "trap 'kill 0' EXIT INT TERM; pnpm temporal-server & pnpm dev:local-temporal & pnpm preview:local-temporal", - "package": "svelte-package", - "package:patch": "pnpm version patch && svelte-package", - "package:minor": "pnpm version minor && svelte-package", - "package:major": "pnpm version major && svelte-package", - "prepack": "svelte-package && node scripts/generate-exports.mjs", + "package": "pnpm check:exports && svelte-package && pnpm validate:exports", + "package:patch": "pnpm version patch && pnpm package", + "package:minor": "pnpm version minor && pnpm package", + "package:major": "pnpm version major && pnpm package", + "prepack": "pnpm package", "catalog": "esno scripts/catalog/catalog-cli.ts", "catalog:test-package": "CATALOG_PACKAGE_TEST=1 TZ=UTC vitest run scripts/catalog/catalog-artifacts.test.ts -t 'clean consumer' --pool=forks --maxWorkers=1", "stories:dev": "storybook dev -p 6006", @@ -70,6 +70,9 @@ "stories:test": "test-storybook --index-json", "stylelint": "stylelint \"src/**/*.{css,postcss,svelte}\"", "stylelint:fix": "stylelint --fix \"src/**/*.{css,postcss,svelte}\"", + "generate:exports": "esno scripts/generate-exports.ts", + "check:exports": "esno scripts/generate-exports.ts --check", + "validate:exports": "esno scripts/generate-exports.ts --validate-dist", "generate:locales": "esno scripts/generate-locales.ts", "generate:proto": "esno scripts/generate-temporal-proto.ts", "demo": "esno utilities/demo/demo-cli.ts", @@ -279,47 +282,996 @@ }, "packageManager": "pnpm@10.10.0", "exports": { - "./_": "Wildcard entries below are replaced with explicit paths by scripts/generate-exports.mjs during prepack", - "./io/icon": { - "types": "./dist/io/icon/index.d.ts", - "import": "./dist/io/icon/index.js" + "./catalog/authoring": { + "types": "./dist/catalog/authoring.d.ts", + "import": "./dist/catalog/authoring.js", + "default": "./dist/catalog/authoring.js" + }, + "./catalog/browser/catalog": { + "types": "./dist/catalog/browser/catalog.d.ts", + "import": "./dist/catalog/browser/catalog.js", + "default": "./dist/catalog/browser/catalog.js" + }, + "./catalog/browser/catalog-detail.svelte": { + "types": "./dist/catalog/browser/catalog-detail.svelte.d.ts", + "svelte": "./dist/catalog/browser/catalog-detail.svelte", + "default": "./dist/catalog/browser/catalog-detail.svelte" + }, + "./catalog/browser/catalog-list.svelte": { + "types": "./dist/catalog/browser/catalog-list.svelte.d.ts", + "svelte": "./dist/catalog/browser/catalog-list.svelte", + "default": "./dist/catalog/browser/catalog-list.svelte" + }, + "./catalog/browser/routing": { + "types": "./dist/catalog/browser/routing.d.ts", + "import": "./dist/catalog/browser/routing.js", + "default": "./dist/catalog/browser/routing.js" + }, + "./catalog/browser/session-store": { + "types": "./dist/catalog/browser/session-store.d.ts", + "import": "./dist/catalog/browser/session-store.js", + "default": "./dist/catalog/browser/session-store.js" + }, + "./catalog/browser/types": { + "types": "./dist/catalog/browser/types.d.ts", + "import": "./dist/catalog/browser/types.js", + "default": "./dist/catalog/browser/types.js" + }, + "./catalog/browser/workbench-host": { + "types": "./dist/catalog/browser/workbench-host.d.ts", + "import": "./dist/catalog/browser/workbench-host.js", + "default": "./dist/catalog/browser/workbench-host.js" + }, + "./catalog/host/ui-services": { + "types": "./dist/catalog/host/ui-services.d.ts", + "import": "./dist/catalog/host/ui-services.js", + "default": "./dist/catalog/host/ui-services.js" + }, + "./catalog/worker/connection-config": { + "types": "./dist/catalog/worker/connection-config.d.ts", + "import": "./dist/catalog/worker/connection-config.js", + "default": "./dist/catalog/worker/connection-config.js" + }, + "./catalog/worker/development": { + "types": "./dist/catalog/worker/development.d.ts", + "import": "./dist/catalog/worker/development.js", + "default": "./dist/catalog/worker/development.js" + }, + "./catalog/worker/registry": { + "types": "./dist/catalog/worker/registry.d.ts", + "import": "./dist/catalog/worker/registry.js", + "default": "./dist/catalog/worker/registry.js" + }, + "./catalog/worker/routing-config": { + "types": "./dist/catalog/worker/routing-config.d.ts", + "import": "./dist/catalog/worker/routing-config.js", + "default": "./dist/catalog/worker/routing-config.js" + }, + "./catalog/worker/runner": { + "types": "./dist/catalog/worker/runner.d.ts", + "import": "./dist/catalog/worker/runner.js", + "default": "./dist/catalog/worker/runner.js" + }, + "./catalog/worker/shared-registrations": { + "types": "./dist/catalog/worker/shared-registrations.d.ts", + "import": "./dist/catalog/worker/shared-registrations.js", + "default": "./dist/catalog/worker/shared-registrations.js" + }, + "./catalog/worker/workflow-execution-logger": { + "types": "./dist/catalog/worker/workflow-execution-logger.d.ts", + "import": "./dist/catalog/worker/workflow-execution-logger.js", + "default": "./dist/catalog/worker/workflow-execution-logger.js" + }, + "./catalog/worker/workflows": { + "types": "./dist/catalog/worker/workflows.d.ts", + "import": "./dist/catalog/worker/workflows.js", + "default": "./dist/catalog/worker/workflows.js" + }, + "./components/bottom-nav.svelte": { + "types": "./dist/components/bottom-nav.svelte.d.ts", + "svelte": "./dist/components/bottom-nav.svelte", + "default": "./dist/components/bottom-nav.svelte" + }, + "./components/codec-server-form/codec-server-form.svelte": { + "types": "./dist/components/codec-server-form/codec-server-form.svelte.d.ts", + "svelte": "./dist/components/codec-server-form/codec-server-form.svelte", + "default": "./dist/components/codec-server-form/codec-server-form.svelte" + }, + "./components/dark-mode-menu.svelte": { + "types": "./dist/components/dark-mode-menu.svelte.d.ts", + "svelte": "./dist/components/dark-mode-menu.svelte", + "default": "./dist/components/dark-mode-menu.svelte" + }, + "./components/data-encoder-settings.svelte": { + "types": "./dist/components/data-encoder-settings.svelte.d.ts", + "svelte": "./dist/components/data-encoder-settings.svelte", + "default": "./dist/components/data-encoder-settings.svelte" + }, + "./components/data-encoder-status.svelte": { + "types": "./dist/components/data-encoder-status.svelte.d.ts", + "svelte": "./dist/components/data-encoder-status.svelte", + "default": "./dist/components/data-encoder-status.svelte" + }, + "./components/form/form-error.svelte": { + "types": "./dist/components/form/form-error.svelte.d.ts", + "svelte": "./dist/components/form/form-error.svelte", + "default": "./dist/components/form/form-error.svelte" + }, + "./components/form/message.svelte": { + "types": "./dist/components/form/message.svelte.d.ts", + "svelte": "./dist/components/form/message.svelte", + "default": "./dist/components/form/message.svelte" + }, + "./components/news-feed/news-feed-widget.svelte": { + "types": "./dist/components/news-feed/news-feed-widget.svelte.d.ts", + "svelte": "./dist/components/news-feed/news-feed-widget.svelte", + "default": "./dist/components/news-feed/news-feed-widget.svelte" + }, + "./components/search-attributes-form/search-attributes-form.svelte": { + "types": "./dist/components/search-attributes-form/search-attributes-form.svelte.d.ts", + "svelte": "./dist/components/search-attributes-form/search-attributes-form.svelte", + "default": "./dist/components/search-attributes-form/search-attributes-form.svelte" + }, + "./components/search-attributes-form/types": { + "types": "./dist/components/search-attributes-form/types.d.ts", + "import": "./dist/components/search-attributes-form/types.js", + "default": "./dist/components/search-attributes-form/types.js" + }, + "./components/skip-nav.svelte": { + "types": "./dist/components/skip-nav.svelte.d.ts", + "svelte": "./dist/components/skip-nav.svelte", + "default": "./dist/components/skip-nav.svelte" + }, + "./components/timestamp.svelte": { + "types": "./dist/components/timestamp.svelte.d.ts", + "svelte": "./dist/components/timestamp.svelte", + "default": "./dist/components/timestamp.svelte" + }, + "./components/timezone-select.svelte": { + "types": "./dist/components/timezone-select.svelte.d.ts", + "svelte": "./dist/components/timezone-select.svelte", + "default": "./dist/components/timezone-select.svelte" + }, + "./components/top-nav.svelte": { + "types": "./dist/components/top-nav.svelte.d.ts", + "svelte": "./dist/components/top-nav.svelte", + "default": "./dist/components/top-nav.svelte" + }, + "./components/workers/workers-table/task-queue-workers-table.svelte": { + "types": "./dist/components/workers/workers-table/task-queue-workers-table.svelte.d.ts", + "svelte": "./dist/components/workers/workers-table/task-queue-workers-table.svelte", + "default": "./dist/components/workers/workers-table/task-queue-workers-table.svelte" + }, + "./components/workflow/workflow-common-errors.svelte": { + "types": "./dist/components/workflow/workflow-common-errors.svelte.d.ts", + "svelte": "./dist/components/workflow/workflow-common-errors.svelte", + "default": "./dist/components/workflow/workflow-common-errors.svelte" + }, + "./components/workflow/workflow-relationships.svelte": { + "types": "./dist/components/workflow/workflow-relationships.svelte.d.ts", + "svelte": "./dist/components/workflow/workflow-relationships.svelte", + "default": "./dist/components/workflow/workflow-relationships.svelte" + }, + "./holocene/accordion/accordion.svelte": { + "types": "./dist/holocene/accordion/accordion.svelte.d.ts", + "svelte": "./dist/holocene/accordion/accordion.svelte", + "default": "./dist/holocene/accordion/accordion.svelte" + }, + "./holocene/alert.svelte": { + "types": "./dist/holocene/alert.svelte.d.ts", + "svelte": "./dist/holocene/alert.svelte", + "default": "./dist/holocene/alert.svelte" + }, + "./holocene/button.svelte": { + "types": "./dist/holocene/button.svelte.d.ts", + "svelte": "./dist/holocene/button.svelte", + "default": "./dist/holocene/button.svelte" + }, + "./holocene/card.svelte": { + "types": "./dist/holocene/card.svelte.d.ts", + "svelte": "./dist/holocene/card.svelte", + "default": "./dist/holocene/card.svelte" + }, + "./holocene/checkbox.svelte": { + "types": "./dist/holocene/checkbox.svelte.d.ts", + "svelte": "./dist/holocene/checkbox.svelte", + "default": "./dist/holocene/checkbox.svelte" + }, + "./holocene/code-block.svelte": { + "types": "./dist/holocene/code-block.svelte.d.ts", + "svelte": "./dist/holocene/code-block.svelte", + "default": "./dist/holocene/code-block.svelte" + }, + "./holocene/combobox/combobox.svelte": { + "types": "./dist/holocene/combobox/combobox.svelte.d.ts", + "svelte": "./dist/holocene/combobox/combobox.svelte", + "default": "./dist/holocene/combobox/combobox.svelte" + }, + "./holocene/copyable/button.svelte": { + "types": "./dist/holocene/copyable/button.svelte.d.ts", + "svelte": "./dist/holocene/copyable/button.svelte", + "default": "./dist/holocene/copyable/button.svelte" + }, + "./holocene/copyable/index.svelte": { + "types": "./dist/holocene/copyable/index.svelte.d.ts", + "svelte": "./dist/holocene/copyable/index.svelte", + "default": "./dist/holocene/copyable/index.svelte" + }, + "./holocene/date-picker.svelte": { + "types": "./dist/holocene/date-picker.svelte.d.ts", + "svelte": "./dist/holocene/date-picker.svelte", + "default": "./dist/holocene/date-picker.svelte" + }, + "./holocene/drawer-content.svelte": { + "types": "./dist/holocene/drawer-content.svelte.d.ts", + "svelte": "./dist/holocene/drawer-content.svelte", + "default": "./dist/holocene/drawer-content.svelte" + }, + "./holocene/drawer.svelte": { + "types": "./dist/holocene/drawer.svelte.d.ts", + "svelte": "./dist/holocene/drawer.svelte", + "default": "./dist/holocene/drawer.svelte" + }, + "./holocene/empty-state.svelte": { + "types": "./dist/holocene/empty-state.svelte.d.ts", + "svelte": "./dist/holocene/empty-state.svelte", + "default": "./dist/holocene/empty-state.svelte" + }, + "./holocene/error.svelte": { + "types": "./dist/holocene/error.svelte.d.ts", + "svelte": "./dist/holocene/error.svelte", + "default": "./dist/holocene/error.svelte" + }, + "./holocene/icon-button.svelte": { + "types": "./dist/holocene/icon-button.svelte.d.ts", + "svelte": "./dist/holocene/icon-button.svelte", + "default": "./dist/holocene/icon-button.svelte" + }, + "./holocene/input/chip-input.svelte": { + "types": "./dist/holocene/input/chip-input.svelte.d.ts", + "svelte": "./dist/holocene/input/chip-input.svelte", + "default": "./dist/holocene/input/chip-input.svelte" + }, + "./holocene/input/input.svelte": { + "types": "./dist/holocene/input/input.svelte.d.ts", + "svelte": "./dist/holocene/input/input.svelte", + "default": "./dist/holocene/input/input.svelte" + }, + "./holocene/input/number-input.svelte": { + "types": "./dist/holocene/input/number-input.svelte.d.ts", + "svelte": "./dist/holocene/input/number-input.svelte", + "default": "./dist/holocene/input/number-input.svelte" + }, + "./holocene/label.svelte": { + "types": "./dist/holocene/label.svelte.d.ts", + "svelte": "./dist/holocene/label.svelte", + "default": "./dist/holocene/label.svelte" + }, + "./holocene/link.svelte": { + "types": "./dist/holocene/link.svelte.d.ts", + "svelte": "./dist/holocene/link.svelte", + "default": "./dist/holocene/link.svelte" + }, + "./holocene/loading.svelte": { + "types": "./dist/holocene/loading.svelte.d.ts", + "svelte": "./dist/holocene/loading.svelte", + "default": "./dist/holocene/loading.svelte" + }, + "./holocene/main-content-container.svelte": { + "types": "./dist/holocene/main-content-container.svelte.d.ts", + "svelte": "./dist/holocene/main-content-container.svelte", + "default": "./dist/holocene/main-content-container.svelte" + }, + "./holocene/menu/index": { + "types": "./dist/holocene/menu/index.d.ts", + "import": "./dist/holocene/menu/index.js", + "default": "./dist/holocene/menu/index.js" + }, + "./holocene/menu/menu-button.svelte": { + "types": "./dist/holocene/menu/menu-button.svelte.d.ts", + "svelte": "./dist/holocene/menu/menu-button.svelte", + "default": "./dist/holocene/menu/menu-button.svelte" + }, + "./holocene/menu/menu-container.svelte": { + "types": "./dist/holocene/menu/menu-container.svelte.d.ts", + "svelte": "./dist/holocene/menu/menu-container.svelte", + "default": "./dist/holocene/menu/menu-container.svelte" + }, + "./holocene/menu/menu-divider.svelte": { + "types": "./dist/holocene/menu/menu-divider.svelte.d.ts", + "svelte": "./dist/holocene/menu/menu-divider.svelte", + "default": "./dist/holocene/menu/menu-divider.svelte" + }, + "./holocene/menu/menu-item.svelte": { + "types": "./dist/holocene/menu/menu-item.svelte.d.ts", + "svelte": "./dist/holocene/menu/menu-item.svelte", + "default": "./dist/holocene/menu/menu-item.svelte" + }, + "./holocene/menu/menu.svelte": { + "types": "./dist/holocene/menu/menu.svelte.d.ts", + "svelte": "./dist/holocene/menu/menu.svelte", + "default": "./dist/holocene/menu/menu.svelte" + }, + "./holocene/modal.svelte": { + "types": "./dist/holocene/modal.svelte.d.ts", + "svelte": "./dist/holocene/modal.svelte", + "default": "./dist/holocene/modal.svelte" + }, + "./holocene/navigation/navigation-badge.svelte": { + "types": "./dist/holocene/navigation/navigation-badge.svelte.d.ts", + "svelte": "./dist/holocene/navigation/navigation-badge.svelte", + "default": "./dist/holocene/navigation/navigation-badge.svelte" + }, + "./holocene/navigation/navigation-button.svelte": { + "types": "./dist/holocene/navigation/navigation-button.svelte.d.ts", + "svelte": "./dist/holocene/navigation/navigation-button.svelte", + "default": "./dist/holocene/navigation/navigation-button.svelte" + }, + "./holocene/navigation/navigation-container.svelte": { + "types": "./dist/holocene/navigation/navigation-container.svelte.d.ts", + "svelte": "./dist/holocene/navigation/navigation-container.svelte", + "default": "./dist/holocene/navigation/navigation-container.svelte" + }, + "./holocene/navigation/navigation-item.svelte": { + "types": "./dist/holocene/navigation/navigation-item.svelte.d.ts", + "svelte": "./dist/holocene/navigation/navigation-item.svelte", + "default": "./dist/holocene/navigation/navigation-item.svelte" + }, + "./holocene/pill-container/pill-container.svelte": { + "types": "./dist/holocene/pill-container/pill-container.svelte.d.ts", + "svelte": "./dist/holocene/pill-container/pill-container.svelte", + "default": "./dist/holocene/pill-container/pill-container.svelte" + }, + "./holocene/pill-container/pill.svelte": { + "types": "./dist/holocene/pill-container/pill.svelte.d.ts", + "svelte": "./dist/holocene/pill-container/pill.svelte", + "default": "./dist/holocene/pill-container/pill.svelte" + }, + "./holocene/radio-input/radio-group.svelte": { + "types": "./dist/holocene/radio-input/radio-group.svelte.d.ts", + "svelte": "./dist/holocene/radio-input/radio-group.svelte", + "default": "./dist/holocene/radio-input/radio-group.svelte" + }, + "./holocene/radio-input/radio-input.svelte": { + "types": "./dist/holocene/radio-input/radio-input.svelte.d.ts", + "svelte": "./dist/holocene/radio-input/radio-input.svelte", + "default": "./dist/holocene/radio-input/radio-input.svelte" + }, + "./holocene/select/filter-select.svelte": { + "types": "./dist/holocene/select/filter-select.svelte.d.ts", + "svelte": "./dist/holocene/select/filter-select.svelte", + "default": "./dist/holocene/select/filter-select.svelte" + }, + "./holocene/select/multi-select.svelte": { + "types": "./dist/holocene/select/multi-select.svelte.d.ts", + "svelte": "./dist/holocene/select/multi-select.svelte", + "default": "./dist/holocene/select/multi-select.svelte" + }, + "./holocene/select/option.svelte": { + "types": "./dist/holocene/select/option.svelte.d.ts", + "svelte": "./dist/holocene/select/option.svelte", + "default": "./dist/holocene/select/option.svelte" + }, + "./holocene/select/select.svelte": { + "types": "./dist/holocene/select/select.svelte.d.ts", + "svelte": "./dist/holocene/select/select.svelte", + "default": "./dist/holocene/select/select.svelte" + }, + "./holocene/skeleton/index.svelte": { + "types": "./dist/holocene/skeleton/index.svelte.d.ts", + "svelte": "./dist/holocene/skeleton/index.svelte", + "default": "./dist/holocene/skeleton/index.svelte" + }, + "./holocene/skeleton/table.svelte": { + "types": "./dist/holocene/skeleton/table.svelte.d.ts", + "svelte": "./dist/holocene/skeleton/table.svelte", + "default": "./dist/holocene/skeleton/table.svelte" + }, + "./holocene/split-button.svelte": { + "types": "./dist/holocene/split-button.svelte.d.ts", + "svelte": "./dist/holocene/split-button.svelte", + "default": "./dist/holocene/split-button.svelte" + }, + "./holocene/tab/tab-list.svelte": { + "types": "./dist/holocene/tab/tab-list.svelte.d.ts", + "svelte": "./dist/holocene/tab/tab-list.svelte", + "default": "./dist/holocene/tab/tab-list.svelte" + }, + "./holocene/tab/tab-panel.svelte": { + "types": "./dist/holocene/tab/tab-panel.svelte.d.ts", + "svelte": "./dist/holocene/tab/tab-panel.svelte", + "default": "./dist/holocene/tab/tab-panel.svelte" + }, + "./holocene/tab/tab.svelte": { + "types": "./dist/holocene/tab/tab.svelte.d.ts", + "svelte": "./dist/holocene/tab/tab.svelte", + "default": "./dist/holocene/tab/tab.svelte" + }, + "./holocene/tab/tabs.svelte": { + "types": "./dist/holocene/tab/tabs.svelte.d.ts", + "svelte": "./dist/holocene/tab/tabs.svelte", + "default": "./dist/holocene/tab/tabs.svelte" + }, + "./holocene/table/paginated-table/api-paginated.svelte": { + "types": "./dist/holocene/table/paginated-table/api-paginated.svelte.d.ts", + "svelte": "./dist/holocene/table/paginated-table/api-paginated.svelte", + "default": "./dist/holocene/table/paginated-table/api-paginated.svelte" + }, + "./holocene/table/paginated-table/index.svelte": { + "types": "./dist/holocene/table/paginated-table/index.svelte.d.ts", + "svelte": "./dist/holocene/table/paginated-table/index.svelte", + "default": "./dist/holocene/table/paginated-table/index.svelte" + }, + "./holocene/table/paginated-table/paginated.svelte": { + "types": "./dist/holocene/table/paginated-table/paginated.svelte.d.ts", + "svelte": "./dist/holocene/table/paginated-table/paginated.svelte", + "default": "./dist/holocene/table/paginated-table/paginated.svelte" + }, + "./holocene/table/table-header-row.svelte": { + "types": "./dist/holocene/table/table-header-row.svelte.d.ts", + "svelte": "./dist/holocene/table/table-header-row.svelte", + "default": "./dist/holocene/table/table-header-row.svelte" + }, + "./holocene/table/table-row.svelte": { + "types": "./dist/holocene/table/table-row.svelte.d.ts", + "svelte": "./dist/holocene/table/table-row.svelte", + "default": "./dist/holocene/table/table-row.svelte" + }, + "./holocene/table/table.svelte": { + "types": "./dist/holocene/table/table.svelte.d.ts", + "svelte": "./dist/holocene/table/table.svelte", + "default": "./dist/holocene/table/table.svelte" + }, + "./holocene/textarea.svelte": { + "types": "./dist/holocene/textarea.svelte.d.ts", + "svelte": "./dist/holocene/textarea.svelte", + "default": "./dist/holocene/textarea.svelte" + }, + "./holocene/toaster.svelte": { + "types": "./dist/holocene/toaster.svelte.d.ts", + "svelte": "./dist/holocene/toaster.svelte", + "default": "./dist/holocene/toaster.svelte" + }, + "./holocene/toggle-button/toggle-button.svelte": { + "types": "./dist/holocene/toggle-button/toggle-button.svelte.d.ts", + "svelte": "./dist/holocene/toggle-button/toggle-button.svelte", + "default": "./dist/holocene/toggle-button/toggle-button.svelte" + }, + "./holocene/toggle-button/toggle-buttons.svelte": { + "types": "./dist/holocene/toggle-button/toggle-buttons.svelte.d.ts", + "svelte": "./dist/holocene/toggle-button/toggle-buttons.svelte", + "default": "./dist/holocene/toggle-button/toggle-buttons.svelte" + }, + "./holocene/toggle-switch.svelte": { + "types": "./dist/holocene/toggle-switch.svelte.d.ts", + "svelte": "./dist/holocene/toggle-switch.svelte", + "default": "./dist/holocene/toggle-switch.svelte" + }, + "./holocene/tooltip.svelte": { + "types": "./dist/holocene/tooltip.svelte.d.ts", + "svelte": "./dist/holocene/tooltip.svelte", + "default": "./dist/holocene/tooltip.svelte" + }, + "./holocene/vertical-nav/vertical-nav-item.svelte": { + "types": "./dist/holocene/vertical-nav/vertical-nav-item.svelte.d.ts", + "svelte": "./dist/holocene/vertical-nav/vertical-nav-item.svelte", + "default": "./dist/holocene/vertical-nav/vertical-nav-item.svelte" + }, + "./holocene/vertical-nav/vertical-nav.svelte": { + "types": "./dist/holocene/vertical-nav/vertical-nav.svelte.d.ts", + "svelte": "./dist/holocene/vertical-nav/vertical-nav.svelte", + "default": "./dist/holocene/vertical-nav/vertical-nav.svelte" + }, + "./i18n/index": { + "types": "./dist/i18n/index.d.ts", + "import": "./dist/i18n/index.js", + "default": "./dist/i18n/index.js" + }, + "./i18n/locales/en/nexus": { + "types": "./dist/i18n/locales/en/nexus.d.ts", + "import": "./dist/i18n/locales/en/nexus.js", + "default": "./dist/i18n/locales/en/nexus.js" + }, + "./i18n/locales/en/workers": { + "types": "./dist/i18n/locales/en/workers.d.ts", + "import": "./dist/i18n/locales/en/workers.js", + "default": "./dist/i18n/locales/en/workers.js" + }, + "./i18n/locales/index": { + "types": "./dist/i18n/locales/index.d.ts", + "import": "./dist/i18n/locales/index.js", + "default": "./dist/i18n/locales/index.js" + }, + "./i18n/translate": { + "types": "./dist/i18n/translate.d.ts", + "import": "./dist/i18n/translate.js", + "default": "./dist/i18n/translate.js" }, "./io/badge": { "types": "./dist/io/badge/index.d.ts", - "import": "./dist/io/badge/index.js" + "import": "./dist/io/badge/index.js", + "default": "./dist/io/badge/index.js" }, "./io/badge-count": { "types": "./dist/io/badge-count/index.d.ts", - "import": "./dist/io/badge-count/index.js" + "import": "./dist/io/badge-count/index.js", + "default": "./dist/io/badge-count/index.js" }, "./io/badge-status": { "types": "./dist/io/badge-status/index.d.ts", - "import": "./dist/io/badge-status/index.js" + "import": "./dist/io/badge-status/index.js", + "default": "./dist/io/badge-status/index.js" }, "./io/chip": { "types": "./dist/io/chip/index.d.ts", - "import": "./dist/io/chip/index.js" + "import": "./dist/io/chip/index.js", + "default": "./dist/io/chip/index.js" }, "./io/chip-status": { "types": "./dist/io/chip-status/index.d.ts", - "import": "./dist/io/chip-status/index.js" + "import": "./dist/io/chip-status/index.js", + "default": "./dist/io/chip-status/index.js" + }, + "./io/icon": { + "types": "./dist/io/icon/index.d.ts", + "import": "./dist/io/icon/index.js", + "default": "./dist/io/icon/index.js" + }, + "./io/icon/icon-svg-wrapper.svelte": { + "types": "./dist/io/icon/icon-svg-wrapper.svelte.d.ts", + "svelte": "./dist/io/icon/icon-svg-wrapper.svelte", + "default": "./dist/io/icon/icon-svg-wrapper.svelte" }, "./io/tag": { "types": "./dist/io/tag/index.d.ts", - "import": "./dist/io/tag/index.js" + "import": "./dist/io/tag/index.js", + "default": "./dist/io/tag/index.js" + }, + "./layouts/standalone-activity-layout.svelte": { + "types": "./dist/layouts/standalone-activity-layout.svelte.d.ts", + "svelte": "./dist/layouts/standalone-activity-layout.svelte", + "default": "./dist/layouts/standalone-activity-layout.svelte" + }, + "./layouts/standalone-nexus-operation-layout.svelte": { + "types": "./dist/layouts/standalone-nexus-operation-layout.svelte.d.ts", + "svelte": "./dist/layouts/standalone-nexus-operation-layout.svelte", + "default": "./dist/layouts/standalone-nexus-operation-layout.svelte" + }, + "./layouts/workers-layout.svelte": { + "types": "./dist/layouts/workers-layout.svelte.d.ts", + "svelte": "./dist/layouts/workers-layout.svelte", + "default": "./dist/layouts/workers-layout.svelte" + }, + "./layouts/workflow-history-layout.svelte": { + "types": "./dist/layouts/workflow-history-layout.svelte.d.ts", + "svelte": "./dist/layouts/workflow-history-layout.svelte", + "default": "./dist/layouts/workflow-history-layout.svelte" + }, + "./layouts/workflow-run-layout.svelte": { + "types": "./dist/layouts/workflow-run-layout.svelte.d.ts", + "svelte": "./dist/layouts/workflow-run-layout.svelte", + "default": "./dist/layouts/workflow-run-layout.svelte" + }, + "./layouts/workflow-timeline-layout.svelte": { + "types": "./dist/layouts/workflow-timeline-layout.svelte.d.ts", + "svelte": "./dist/layouts/workflow-timeline-layout.svelte", + "default": "./dist/layouts/workflow-timeline-layout.svelte" + }, + "./models/core-user": { + "types": "./dist/models/core-user.d.ts", + "import": "./dist/models/core-user.js", + "default": "./dist/models/core-user.js" + }, + "./pages/batch-operation.svelte": { + "types": "./dist/pages/batch-operation.svelte.d.ts", + "svelte": "./dist/pages/batch-operation.svelte", + "default": "./dist/pages/batch-operation.svelte" + }, + "./pages/batch-operations.svelte": { + "types": "./dist/pages/batch-operations.svelte.d.ts", + "svelte": "./dist/pages/batch-operations.svelte", + "default": "./dist/pages/batch-operations.svelte" + }, + "./pages/deployment.svelte": { + "types": "./dist/pages/deployment.svelte.d.ts", + "svelte": "./dist/pages/deployment.svelte", + "default": "./dist/pages/deployment.svelte" + }, + "./pages/deployments.svelte": { + "types": "./dist/pages/deployments.svelte.d.ts", + "svelte": "./dist/pages/deployments.svelte", + "default": "./dist/pages/deployments.svelte" + }, + "./pages/nexus-create-endpoint.svelte": { + "types": "./dist/pages/nexus-create-endpoint.svelte.d.ts", + "svelte": "./dist/pages/nexus-create-endpoint.svelte", + "default": "./dist/pages/nexus-create-endpoint.svelte" + }, + "./pages/nexus-edit-endpoint.svelte": { + "types": "./dist/pages/nexus-edit-endpoint.svelte.d.ts", + "svelte": "./dist/pages/nexus-edit-endpoint.svelte", + "default": "./dist/pages/nexus-edit-endpoint.svelte" + }, + "./pages/nexus-empty-state.svelte": { + "types": "./dist/pages/nexus-empty-state.svelte.d.ts", + "svelte": "./dist/pages/nexus-empty-state.svelte", + "default": "./dist/pages/nexus-empty-state.svelte" + }, + "./pages/nexus-endpoint.svelte": { + "types": "./dist/pages/nexus-endpoint.svelte.d.ts", + "svelte": "./dist/pages/nexus-endpoint.svelte", + "default": "./dist/pages/nexus-endpoint.svelte" + }, + "./pages/nexus-form.svelte": { + "types": "./dist/pages/nexus-form.svelte.d.ts", + "svelte": "./dist/pages/nexus-form.svelte", + "default": "./dist/pages/nexus-form.svelte" + }, + "./pages/schedule-edit.svelte": { + "types": "./dist/pages/schedule-edit.svelte.d.ts", + "svelte": "./dist/pages/schedule-edit.svelte", + "default": "./dist/pages/schedule-edit.svelte" + }, + "./pages/schedule-view.svelte": { + "types": "./dist/pages/schedule-view.svelte.d.ts", + "svelte": "./dist/pages/schedule-view.svelte", + "default": "./dist/pages/schedule-view.svelte" + }, + "./pages/schedules-create.svelte": { + "types": "./dist/pages/schedules-create.svelte.d.ts", + "svelte": "./dist/pages/schedules-create.svelte", + "default": "./dist/pages/schedules-create.svelte" + }, + "./pages/schedules.svelte": { + "types": "./dist/pages/schedules.svelte.d.ts", + "svelte": "./dist/pages/schedules.svelte", + "default": "./dist/pages/schedules.svelte" + }, + "./pages/serverless-worker-create.svelte": { + "types": "./dist/pages/serverless-worker-create.svelte.d.ts", + "svelte": "./dist/pages/serverless-worker-create.svelte", + "default": "./dist/pages/serverless-worker-create.svelte" + }, + "./pages/standalone-activities.svelte": { + "types": "./dist/pages/standalone-activities.svelte.d.ts", + "svelte": "./dist/pages/standalone-activities.svelte", + "default": "./dist/pages/standalone-activities.svelte" + }, + "./pages/standalone-activity-details.svelte": { + "types": "./dist/pages/standalone-activity-details.svelte.d.ts", + "svelte": "./dist/pages/standalone-activity-details.svelte", + "default": "./dist/pages/standalone-activity-details.svelte" + }, + "./pages/standalone-activity-metadata.svelte": { + "types": "./dist/pages/standalone-activity-metadata.svelte.d.ts", + "svelte": "./dist/pages/standalone-activity-metadata.svelte", + "default": "./dist/pages/standalone-activity-metadata.svelte" + }, + "./pages/standalone-activity-search-attributes.svelte": { + "types": "./dist/pages/standalone-activity-search-attributes.svelte.d.ts", + "svelte": "./dist/pages/standalone-activity-search-attributes.svelte", + "default": "./dist/pages/standalone-activity-search-attributes.svelte" + }, + "./pages/standalone-activity-workers.svelte": { + "types": "./dist/pages/standalone-activity-workers.svelte.d.ts", + "svelte": "./dist/pages/standalone-activity-workers.svelte", + "default": "./dist/pages/standalone-activity-workers.svelte" + }, + "./pages/standalone-nexus-operation-details.svelte": { + "types": "./dist/pages/standalone-nexus-operation-details.svelte.d.ts", + "svelte": "./dist/pages/standalone-nexus-operation-details.svelte", + "default": "./dist/pages/standalone-nexus-operation-details.svelte" + }, + "./pages/standalone-nexus-operation-metadata.svelte": { + "types": "./dist/pages/standalone-nexus-operation-metadata.svelte.d.ts", + "svelte": "./dist/pages/standalone-nexus-operation-metadata.svelte", + "default": "./dist/pages/standalone-nexus-operation-metadata.svelte" + }, + "./pages/standalone-nexus-operation-search-attributes.svelte": { + "types": "./dist/pages/standalone-nexus-operation-search-attributes.svelte.d.ts", + "svelte": "./dist/pages/standalone-nexus-operation-search-attributes.svelte", + "default": "./dist/pages/standalone-nexus-operation-search-attributes.svelte" + }, + "./pages/standalone-nexus-operations.svelte": { + "types": "./dist/pages/standalone-nexus-operations.svelte.d.ts", + "svelte": "./dist/pages/standalone-nexus-operations.svelte", + "default": "./dist/pages/standalone-nexus-operations.svelte" + }, + "./pages/start-standalone-activity.svelte": { + "types": "./dist/pages/start-standalone-activity.svelte.d.ts", + "svelte": "./dist/pages/start-standalone-activity.svelte", + "default": "./dist/pages/start-standalone-activity.svelte" + }, + "./pages/start-standalone-nexus-operation.svelte": { + "types": "./dist/pages/start-standalone-nexus-operation.svelte.d.ts", + "svelte": "./dist/pages/start-standalone-nexus-operation.svelte", + "default": "./dist/pages/start-standalone-nexus-operation.svelte" + }, + "./pages/start-workflow.svelte": { + "types": "./dist/pages/start-workflow.svelte.d.ts", + "svelte": "./dist/pages/start-workflow.svelte", + "default": "./dist/pages/start-workflow.svelte" + }, + "./pages/task-queue.svelte": { + "types": "./dist/pages/task-queue.svelte.d.ts", + "svelte": "./dist/pages/task-queue.svelte", + "default": "./dist/pages/task-queue.svelte" + }, + "./pages/worker-deployment-version-create.svelte": { + "types": "./dist/pages/worker-deployment-version-create.svelte.d.ts", + "svelte": "./dist/pages/worker-deployment-version-create.svelte", + "default": "./dist/pages/worker-deployment-version-create.svelte" + }, + "./pages/worker-deployment-version-edit.svelte": { + "types": "./dist/pages/worker-deployment-version-edit.svelte.d.ts", + "svelte": "./dist/pages/worker-deployment-version-edit.svelte", + "default": "./dist/pages/worker-deployment-version-edit.svelte" + }, + "./pages/worker-details.svelte": { + "types": "./dist/pages/worker-details.svelte.d.ts", + "svelte": "./dist/pages/worker-details.svelte", + "default": "./dist/pages/worker-details.svelte" + }, + "./pages/workers.svelte": { + "types": "./dist/pages/workers.svelte.d.ts", + "svelte": "./dist/pages/workers.svelte", + "default": "./dist/pages/workers.svelte" + }, + "./pages/workflow-call-stack.svelte": { + "types": "./dist/pages/workflow-call-stack.svelte.d.ts", + "svelte": "./dist/pages/workflow-call-stack.svelte", + "default": "./dist/pages/workflow-call-stack.svelte" + }, + "./pages/workflow-history-event.svelte": { + "types": "./dist/pages/workflow-history-event.svelte.d.ts", + "svelte": "./dist/pages/workflow-history-event.svelte", + "default": "./dist/pages/workflow-history-event.svelte" + }, + "./pages/workflow-memo.svelte": { + "types": "./dist/pages/workflow-memo.svelte.d.ts", + "svelte": "./dist/pages/workflow-memo.svelte", + "default": "./dist/pages/workflow-memo.svelte" + }, + "./pages/workflow-metadata.svelte": { + "types": "./dist/pages/workflow-metadata.svelte.d.ts", + "svelte": "./dist/pages/workflow-metadata.svelte", + "default": "./dist/pages/workflow-metadata.svelte" + }, + "./pages/workflow-nexus-links.svelte": { + "types": "./dist/pages/workflow-nexus-links.svelte.d.ts", + "svelte": "./dist/pages/workflow-nexus-links.svelte", + "default": "./dist/pages/workflow-nexus-links.svelte" + }, + "./pages/workflow-pending-activities.svelte": { + "types": "./dist/pages/workflow-pending-activities.svelte.d.ts", + "svelte": "./dist/pages/workflow-pending-activities.svelte", + "default": "./dist/pages/workflow-pending-activities.svelte" + }, + "./pages/workflow-query.svelte": { + "types": "./dist/pages/workflow-query.svelte.d.ts", + "svelte": "./dist/pages/workflow-query.svelte", + "default": "./dist/pages/workflow-query.svelte" + }, + "./pages/workflow-search-attributes.svelte": { + "types": "./dist/pages/workflow-search-attributes.svelte.d.ts", + "svelte": "./dist/pages/workflow-search-attributes.svelte", + "default": "./dist/pages/workflow-search-attributes.svelte" + }, + "./pages/workflow-user-metadata.svelte": { + "types": "./dist/pages/workflow-user-metadata.svelte.d.ts", + "svelte": "./dist/pages/workflow-user-metadata.svelte", + "default": "./dist/pages/workflow-user-metadata.svelte" + }, + "./pages/workflows-with-new-search.svelte": { + "types": "./dist/pages/workflows-with-new-search.svelte.d.ts", + "svelte": "./dist/pages/workflows-with-new-search.svelte", + "default": "./dist/pages/workflows-with-new-search.svelte" + }, + "./services/deployments-service": { + "types": "./dist/services/deployments-service.d.ts", + "import": "./dist/services/deployments-service.js", + "default": "./dist/services/deployments-service.js" + }, + "./services/workflow-service": { + "types": "./dist/services/workflow-service.d.ts", + "import": "./dist/services/workflow-service.js", + "default": "./dist/services/workflow-service.js" + }, + "./stores/batch-operations": { + "types": "./dist/stores/batch-operations.d.ts", + "import": "./dist/stores/batch-operations.js", + "default": "./dist/stores/batch-operations.js" + }, + "./stores/error": { + "types": "./dist/stores/error.d.ts", + "import": "./dist/stores/error.js", + "default": "./dist/stores/error.js" + }, + "./stores/filters": { + "types": "./dist/stores/filters.d.ts", + "import": "./dist/stores/filters.js", + "default": "./dist/stores/filters.js" + }, + "./stores/namespaces": { + "types": "./dist/stores/namespaces.d.ts", + "import": "./dist/stores/namespaces.js", + "default": "./dist/stores/namespaces.js" + }, + "./stores/nav-open": { + "types": "./dist/stores/nav-open.d.ts", + "import": "./dist/stores/nav-open.js", + "default": "./dist/stores/nav-open.js" + }, + "./stores/previous-events": { + "types": "./dist/stores/previous-events.d.ts", + "import": "./dist/stores/previous-events.js", + "default": "./dist/stores/previous-events.js" + }, + "./stores/search-attributes": { + "types": "./dist/stores/search-attributes.d.ts", + "import": "./dist/stores/search-attributes.js", + "default": "./dist/stores/search-attributes.js" + }, + "./stores/time-format": { + "types": "./dist/stores/time-format.d.ts", + "import": "./dist/stores/time-format.js", + "default": "./dist/stores/time-format.js" + }, + "./stores/toaster": { + "types": "./dist/stores/toaster.d.ts", + "import": "./dist/stores/toaster.js", + "default": "./dist/stores/toaster.js" + }, + "./stores/workflow-run": { + "types": "./dist/stores/workflow-run.d.ts", + "import": "./dist/stores/workflow-run.js", + "default": "./dist/stores/workflow-run.js" + }, + "./svelte-mocks/app/environment": { + "types": "./dist/svelte-mocks/app/environment.d.ts", + "import": "./dist/svelte-mocks/app/environment.js", + "default": "./dist/svelte-mocks/app/environment.js" + }, + "./svelte-mocks/app/navigation": { + "types": "./dist/svelte-mocks/app/navigation.d.ts", + "import": "./dist/svelte-mocks/app/navigation.js", + "default": "./dist/svelte-mocks/app/navigation.js" + }, + "./svelte-mocks/app/paths": { + "types": "./dist/svelte-mocks/app/paths.d.ts", + "import": "./dist/svelte-mocks/app/paths.js", + "default": "./dist/svelte-mocks/app/paths.js" + }, + "./svelte-mocks/app/state": { + "types": "./dist/svelte-mocks/app/state.d.ts", + "import": "./dist/svelte-mocks/app/state.js", + "default": "./dist/svelte-mocks/app/state.js" + }, + "./svelte-mocks/app/stores": { + "types": "./dist/svelte-mocks/app/stores.d.ts", + "import": "./dist/svelte-mocks/app/stores.js", + "default": "./dist/svelte-mocks/app/stores.js" + }, + "./theme/io/themes": { + "types": "./dist/theme/io/themes.d.ts", + "import": "./dist/theme/io/themes.js", + "default": "./dist/theme/io/themes.js" }, "./theme/preset": { "types": "./dist/theme/preset.d.ts", "import": "./dist/theme/preset.js", "default": "./dist/theme/preset.js" }, - "./*.svelte": { - "types": "./dist/*.svelte.d.ts", - "svelte": "./dist/*.svelte" + "./types/deployments": { + "types": "./dist/types/deployments.d.ts", + "import": "./dist/types/deployments.js", + "default": "./dist/types/deployments.js" }, - "./*": { - "types": "./dist/*.d.ts", - "import": "./dist/*.js" - } + "./types/global": { + "types": "./dist/types/global.d.ts", + "import": "./dist/types/global.js", + "default": "./dist/types/global.js" + }, + "./types/index": { + "types": "./dist/types/index.d.ts", + "import": "./dist/types/index.js", + "default": "./dist/types/index.js" + }, + "./types/nexus": { + "types": "./dist/types/nexus.d.ts", + "import": "./dist/types/nexus.js", + "default": "./dist/types/nexus.js" + }, + "./types/workflows": { + "types": "./dist/types/workflows.d.ts", + "import": "./dist/types/workflows.js", + "default": "./dist/types/workflows.js" + }, + "./utilities/copy-to-clipboard": { + "types": "./dist/utilities/copy-to-clipboard.d.ts", + "import": "./dist/utilities/copy-to-clipboard.js", + "default": "./dist/utilities/copy-to-clipboard.js" + }, + "./utilities/core-context": { + "types": "./dist/utilities/core-context.d.ts", + "import": "./dist/utilities/core-context.js", + "default": "./dist/utilities/core-context.js" + }, + "./utilities/core-provider": { + "types": "./dist/utilities/core-provider.d.ts", + "import": "./dist/utilities/core-provider.js", + "default": "./dist/utilities/core-provider.js" + }, + "./utilities/dark-mode/dark-mode": { + "types": "./dist/utilities/dark-mode/dark-mode.d.ts", + "import": "./dist/utilities/dark-mode/dark-mode.js", + "default": "./dist/utilities/dark-mode/dark-mode.js" + }, + "./utilities/dark-mode/dark-mode.svelte": { + "types": "./dist/utilities/dark-mode/dark-mode.svelte.d.ts", + "svelte": "./dist/utilities/dark-mode/dark-mode.svelte", + "default": "./dist/utilities/dark-mode/dark-mode.svelte" + }, + "./utilities/decode-payload": { + "types": "./dist/utilities/decode-payload.d.ts", + "import": "./dist/utilities/decode-payload.js", + "default": "./dist/utilities/decode-payload.js" + }, + "./utilities/format-camel-case": { + "types": "./dist/utilities/format-camel-case.d.ts", + "import": "./dist/utilities/format-camel-case.js", + "default": "./dist/utilities/format-camel-case.js" + }, + "./utilities/format-date": { + "types": "./dist/utilities/format-date.d.ts", + "import": "./dist/utilities/format-date.js", + "default": "./dist/utilities/format-date.js" + }, + "./utilities/format-json": { + "types": "./dist/utilities/format-json.d.ts", + "import": "./dist/utilities/format-json.js", + "default": "./dist/utilities/format-json.js" + }, + "./utilities/has": { + "types": "./dist/utilities/has.d.ts", + "import": "./dist/utilities/has.js", + "default": "./dist/utilities/has.js" + }, + "./utilities/is-email": { + "types": "./dist/utilities/is-email.d.ts", + "import": "./dist/utilities/is-email.js", + "default": "./dist/utilities/is-email.js" + }, + "./utilities/parse-with-big-int": { + "types": "./dist/utilities/parse-with-big-int.d.ts", + "import": "./dist/utilities/parse-with-big-int.js", + "default": "./dist/utilities/parse-with-big-int.js" + }, + "./utilities/pluralize": { + "types": "./dist/utilities/pluralize.d.ts", + "import": "./dist/utilities/pluralize.js", + "default": "./dist/utilities/pluralize.js" + }, + "./utilities/render-markdown": { + "types": "./dist/utilities/render-markdown.d.ts", + "import": "./dist/utilities/render-markdown.js", + "default": "./dist/utilities/render-markdown.js" + }, + "./utilities/request-from-api": { + "types": "./dist/utilities/request-from-api.d.ts", + "import": "./dist/utilities/request-from-api.js", + "default": "./dist/utilities/request-from-api.js" + }, + "./utilities/timezone": { + "types": "./dist/utilities/timezone.d.ts", + "import": "./dist/utilities/timezone.js", + "default": "./dist/utilities/timezone.js" + }, + "./utilities/update-query-parameters": { + "types": "./dist/utilities/update-query-parameters.d.ts", + "import": "./dist/utilities/update-query-parameters.js", + "default": "./dist/utilities/update-query-parameters.js" + }, + "./package.json": "./package.json" } } diff --git a/scripts/catalog/catalog-artifacts.test.ts b/scripts/catalog/catalog-artifacts.test.ts index 7d3efead1b..17e892fc47 100644 --- a/scripts/catalog/catalog-artifacts.test.ts +++ b/scripts/catalog/catalog-artifacts.test.ts @@ -1441,7 +1441,7 @@ registry.registerExample({ 'package.json', 'svelte.config.js', 'tsconfig.json', - 'scripts/generate-exports.mjs', + 'scripts/generate-exports.ts', 'src/lib/holocene/button.svelte', 'src/lib/holocene/card.svelte', 'src/lib/holocene/copyable', @@ -1554,10 +1554,38 @@ registry.registerExample({ await readFile(join(packageDirectory, 'package.json'), 'utf8'), ); packageJson.scripts.prepare = 'svelte-kit sync'; + packageJson.scripts.prepack = 'pnpm generate:exports && pnpm package'; await writeFile( join(packageDirectory, 'package.json'), `${JSON.stringify(packageJson, null, 2)}\n`, ); + await writeFile( + join(packageDirectory, 'scripts/public-exports.ts'), + [ + 'export const publicSubpaths = [', + " 'catalog/authoring',", + " 'catalog/browser/catalog',", + " 'catalog/browser/catalog-detail.svelte',", + " 'catalog/browser/catalog-list.svelte',", + " 'catalog/browser/routing',", + " 'catalog/worker/connection-config',", + " 'catalog/worker/development',", + " 'catalog/worker/registry',", + " 'catalog/worker/routing-config',", + " 'catalog/worker/runner',", + " 'catalog/worker/shared-registrations',", + " 'catalog/worker/workflow-execution-logger',", + " 'catalog/worker/workflows',", + " 'io/icon',", + " 'svelte-mocks/app/environment',", + " 'svelte-mocks/app/navigation',", + " 'svelte-mocks/app/paths',", + " 'svelte-mocks/app/state',", + " 'svelte-mocks/app/stores',", + '];', + '', + ].join('\n'), + ); await symlink( join(rootDirectory, 'node_modules'), join(packageDirectory, 'node_modules'), diff --git a/scripts/generate-exports.mjs b/scripts/generate-exports.mjs deleted file mode 100644 index 027077ede3..0000000000 --- a/scripts/generate-exports.mjs +++ /dev/null @@ -1,85 +0,0 @@ -import { readdirSync, readFileSync, writeFileSync } from 'node:fs'; -import { dirname, join, relative, resolve } from 'node:path'; - -function* walk(dir) { - for (const entry of readdirSync(dir, { withFileTypes: true })) { - const full = join(dir, entry.name); - if (entry.isDirectory()) yield* walk(full); - else yield full; - } -} - -const distPath = new URL('../dist', import.meta.url).pathname; -const pkgUrl = new URL('../package.json', import.meta.url); -const pkg = JSON.parse(readFileSync(pkgUrl)); -const pkgName = pkg.name; - -const allFiles = new Set( - [...walk(distPath)].map((f) => relative(distPath, f).replace(/\\/g, '/')), -); - -const isTestOrSpec = (rel) => /\.(test|spec)\./.test(rel); - -const exports = {}; - -for (const rel of allFiles) { - if (isTestOrSpec(rel)) continue; - - if (rel.endsWith('.svelte') && !rel.includes('.d.ts')) { - exports[`./${rel}`] = { - types: `./dist/${rel.replace(/\.svelte$/, '.svelte.d.ts')}`, - svelte: `./dist/${rel}`, - default: `./dist/${rel}`, - }; - } else if (rel.endsWith('.svelte.js')) { - const svelteCounterpart = rel.replace(/\.js$/, ''); - if (!allFiles.has(svelteCounterpart)) { - const key = `./${rel.replace(/\.js$/, '')}`; - exports[key] = { - types: `./dist/${rel.replace(/\.js$/, '.d.ts')}`, - import: `./dist/${rel}`, - default: `./dist/${rel}`, - }; - } - } else if (rel.endsWith('.js') && !rel.includes('.svelte.')) { - const base = rel.replace(/\.js$/, ''); - const entry = { - types: `./dist/${base}.d.ts`, - import: `./dist/${rel}`, - default: `./dist/${rel}`, - }; - exports[`./${base}`] = entry; - - // `exports` has no directory-index resolution, so alias each barrel's - // `/index` path to its directory - if (base.endsWith('/index')) { - exports[`./${base.slice(0, -'/index'.length)}`] = entry; - } - } -} - -exports['./package.json'] = './package.json'; - -for (const rel of allFiles) { - if (!rel.endsWith('.svelte') || rel.includes('.d.ts')) continue; - - const file = join(distPath, rel); - const dir = dirname(file); - let code = readFileSync(file, 'utf-8'); - - const rewritten = code.replace( - /from '(\.[^']+\.svelte)'/g, - (_, relImport) => { - const abs = resolve(dir, relImport); - const pkgRel = relative(distPath, abs).replace(/\\/g, '/'); - return `from '${pkgName}/${pkgRel}'`; - }, - ); - - if (rewritten !== code) writeFileSync(file, rewritten); -} - -pkg.exports = exports; -writeFileSync(pkgUrl, JSON.stringify(pkg, null, 2) + '\n'); - -console.log(`Generated ${Object.keys(exports).length} explicit export entries`); diff --git a/scripts/generate-exports.ts b/scripts/generate-exports.ts new file mode 100644 index 0000000000..d6f2fe47c9 --- /dev/null +++ b/scripts/generate-exports.ts @@ -0,0 +1,176 @@ +import { existsSync, readFileSync, writeFileSync } from 'node:fs'; +import { join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import { z } from 'zod'; + +import { publicSubpaths } from './public-exports.js'; + +const repoRoot = fileURLToPath(new URL('..', import.meta.url)); +const libRoot = join(repoRoot, 'src/lib'); +const packagePath = join(repoRoot, 'package.json'); + +type ExportConditions = Record; +type PackageExport = string | ExportConditions; +type PackageExports = Record; + +const resolveEntry = (source: string): ExportConditions | null => { + if (source.endsWith('.svelte')) { + if (!existsSync(join(libRoot, source))) return null; + + return { + types: `./dist/${source}.d.ts`, + svelte: `./dist/${source}`, + default: `./dist/${source}`, + }; + } + + const candidates = [ + { + source: `${source}.ts`, + output: `${source}.js`, + types: `${source}.d.ts`, + }, + { + source: `${source}.js`, + output: `${source}.js`, + types: `${source}.d.ts`, + }, + { + source: `${source}.svelte.ts`, + output: `${source}.svelte.js`, + types: `${source}.svelte.d.ts`, + }, + { + source: `${source}.svelte.js`, + output: `${source}.svelte.js`, + types: `${source}.svelte.d.ts`, + }, + { + source: `${source}/index.ts`, + output: `${source}/index.js`, + types: `${source}/index.d.ts`, + }, + { + source: `${source}/index.js`, + output: `${source}/index.js`, + types: `${source}/index.d.ts`, + }, + ]; + + for (const candidate of candidates) { + if (!existsSync(join(libRoot, candidate.source))) continue; + + return { + types: `./dist/${candidate.types}`, + import: `./dist/${candidate.output}`, + default: `./dist/${candidate.output}`, + }; + } + + return null; +}; + +const createPackageExports = (): PackageExports => { + const packageExports: PackageExports = {}; + const duplicateSubpaths: string[] = []; + const unresolvedSubpaths: string[] = []; + + for (const source of [...publicSubpaths].sort()) { + const subpath = `./${source}`; + if (subpath in packageExports) { + duplicateSubpaths.push(subpath); + continue; + } + + const entry = resolveEntry(source); + if (!entry) { + unresolvedSubpaths.push(subpath); + continue; + } + packageExports[subpath] = entry; + } + + if (duplicateSubpaths.length) { + console.error( + `Found ${duplicateSubpaths.length} duplicate public export(s):`, + ); + for (const subpath of duplicateSubpaths) console.error(` - ${subpath}`); + } + + if (unresolvedSubpaths.length) { + console.error( + `Could not resolve ${unresolvedSubpaths.length} public export(s) in src/lib:`, + ); + for (const subpath of unresolvedSubpaths) console.error(` - ${subpath}`); + } + + if (duplicateSubpaths.length || unresolvedSubpaths.length) process.exit(1); + + packageExports['./package.json'] = './package.json'; + return packageExports; +}; + +const packageJson = z + .record(z.string(), z.json()) + .parse(JSON.parse(readFileSync(packagePath, 'utf8'))); +const packageExports = createPackageExports(); +const serializedExports = JSON.stringify(packageExports); +const exportsAreCurrent = + JSON.stringify(packageJson.exports) === serializedExports; +const mode = process.argv[2]; + +if ( + process.argv.length > 3 || + ![undefined, '--check', '--validate-dist'].includes(mode) +) { + console.error( + 'Usage: esno scripts/generate-exports.ts [--check|--validate-dist]', + ); + process.exit(1); +} + +if (mode === '--check') { + if (!exportsAreCurrent) { + console.error('package.json exports are stale. Run pnpm generate:exports.'); + process.exit(1); + } + console.log(`Verified ${Object.keys(packageExports).length} package exports`); + process.exit(0); +} + +if (mode === '--validate-dist') { + if (!exportsAreCurrent) { + console.error('package.json exports are stale. Run pnpm generate:exports.'); + process.exit(1); + } + + const missingTargets = new Set(); + for (const entry of Object.values(packageExports)) { + const targets = typeof entry === 'string' ? [entry] : Object.values(entry); + for (const target of targets) { + if (!existsSync(join(repoRoot, target))) missingTargets.add(target); + } + } + + if (missingTargets.size) { + console.error(`Missing ${missingTargets.size} package export target(s):`); + for (const target of [...missingTargets].sort()) + console.error(` - ${target}`); + process.exit(1); + } + + console.log( + `Validated ${Object.keys(packageExports).length} package exports`, + ); + process.exit(0); +} + +if (exportsAreCurrent) { + console.log('package.json exports are already up to date'); + process.exit(0); +} + +packageJson.exports = packageExports; +writeFileSync(packagePath, `${JSON.stringify(packageJson, null, 2)}\n`); +console.log(`Generated ${Object.keys(packageExports).length} package exports`); diff --git a/scripts/public-exports.ts b/scripts/public-exports.ts new file mode 100644 index 0000000000..77ed9fc4d2 --- /dev/null +++ b/scripts/public-exports.ts @@ -0,0 +1,200 @@ +export const publicSubpaths = [ + 'catalog/authoring', + 'catalog/browser/catalog', + 'catalog/browser/catalog-detail.svelte', + 'catalog/browser/catalog-list.svelte', + 'catalog/browser/routing', + 'catalog/browser/session-store', + 'catalog/browser/types', + 'catalog/browser/workbench-host', + 'catalog/host/ui-services', + 'catalog/worker/connection-config', + 'catalog/worker/development', + 'catalog/worker/registry', + 'catalog/worker/routing-config', + 'catalog/worker/runner', + 'catalog/worker/shared-registrations', + 'catalog/worker/workflow-execution-logger', + 'catalog/worker/workflows', + 'components/bottom-nav.svelte', + 'components/codec-server-form/codec-server-form.svelte', + 'components/dark-mode-menu.svelte', + 'components/data-encoder-settings.svelte', + 'components/data-encoder-status.svelte', + 'components/form/form-error.svelte', + 'components/form/message.svelte', + 'components/news-feed/news-feed-widget.svelte', + 'components/search-attributes-form/search-attributes-form.svelte', + 'components/search-attributes-form/types', + 'components/skip-nav.svelte', + 'components/timestamp.svelte', + 'components/timezone-select.svelte', + 'components/top-nav.svelte', + 'components/workers/workers-table/task-queue-workers-table.svelte', + 'components/workflow/workflow-common-errors.svelte', + 'components/workflow/workflow-relationships.svelte', + 'holocene/accordion/accordion.svelte', + 'holocene/alert.svelte', + 'holocene/button.svelte', + 'holocene/card.svelte', + 'holocene/checkbox.svelte', + 'holocene/code-block.svelte', + 'holocene/combobox/combobox.svelte', + 'holocene/copyable/button.svelte', + 'holocene/copyable/index.svelte', + 'holocene/date-picker.svelte', + 'holocene/drawer-content.svelte', + 'holocene/drawer.svelte', + 'holocene/empty-state.svelte', + 'holocene/error.svelte', + 'holocene/icon-button.svelte', + 'holocene/input/chip-input.svelte', + 'holocene/input/input.svelte', + 'holocene/input/number-input.svelte', + 'holocene/label.svelte', + 'holocene/link.svelte', + 'holocene/loading.svelte', + 'holocene/main-content-container.svelte', + 'holocene/menu/index', + 'holocene/menu/menu-button.svelte', + 'holocene/menu/menu-container.svelte', + 'holocene/menu/menu-divider.svelte', + 'holocene/menu/menu-item.svelte', + 'holocene/menu/menu.svelte', + 'holocene/modal.svelte', + 'holocene/navigation/navigation-badge.svelte', + 'holocene/navigation/navigation-button.svelte', + 'holocene/navigation/navigation-container.svelte', + 'holocene/navigation/navigation-item.svelte', + 'holocene/pill-container/pill-container.svelte', + 'holocene/pill-container/pill.svelte', + 'holocene/radio-input/radio-group.svelte', + 'holocene/radio-input/radio-input.svelte', + 'holocene/select/filter-select.svelte', + 'holocene/select/multi-select.svelte', + 'holocene/select/option.svelte', + 'holocene/select/select.svelte', + 'holocene/skeleton/index.svelte', + 'holocene/skeleton/table.svelte', + 'holocene/split-button.svelte', + 'holocene/tab/tab-list.svelte', + 'holocene/tab/tab-panel.svelte', + 'holocene/tab/tab.svelte', + 'holocene/tab/tabs.svelte', + 'holocene/table/paginated-table/api-paginated.svelte', + 'holocene/table/paginated-table/index.svelte', + 'holocene/table/paginated-table/paginated.svelte', + 'holocene/table/table-header-row.svelte', + 'holocene/table/table-row.svelte', + 'holocene/table/table.svelte', + 'holocene/textarea.svelte', + 'holocene/toaster.svelte', + 'holocene/toggle-button/toggle-button.svelte', + 'holocene/toggle-button/toggle-buttons.svelte', + 'holocene/toggle-switch.svelte', + 'holocene/tooltip.svelte', + 'holocene/vertical-nav/vertical-nav-item.svelte', + 'holocene/vertical-nav/vertical-nav.svelte', + 'i18n/index', + 'i18n/locales/en/nexus', + 'i18n/locales/en/workers', + 'i18n/locales/index', + 'i18n/translate', + 'io/badge', + 'io/badge-count', + 'io/badge-status', + 'io/chip', + 'io/chip-status', + 'io/icon', + 'io/icon/icon-svg-wrapper.svelte', + 'io/tag', + 'layouts/standalone-activity-layout.svelte', + 'layouts/standalone-nexus-operation-layout.svelte', + 'layouts/workers-layout.svelte', + 'layouts/workflow-history-layout.svelte', + 'layouts/workflow-run-layout.svelte', + 'layouts/workflow-timeline-layout.svelte', + 'models/core-user', + 'pages/batch-operation.svelte', + 'pages/batch-operations.svelte', + 'pages/deployment.svelte', + 'pages/deployments.svelte', + 'pages/nexus-create-endpoint.svelte', + 'pages/nexus-edit-endpoint.svelte', + 'pages/nexus-empty-state.svelte', + 'pages/nexus-endpoint.svelte', + 'pages/nexus-form.svelte', + 'pages/schedule-edit.svelte', + 'pages/schedule-view.svelte', + 'pages/schedules-create.svelte', + 'pages/schedules.svelte', + 'pages/serverless-worker-create.svelte', + 'pages/standalone-activities.svelte', + 'pages/standalone-activity-details.svelte', + 'pages/standalone-activity-metadata.svelte', + 'pages/standalone-activity-search-attributes.svelte', + 'pages/standalone-activity-workers.svelte', + 'pages/standalone-nexus-operation-details.svelte', + 'pages/standalone-nexus-operation-metadata.svelte', + 'pages/standalone-nexus-operation-search-attributes.svelte', + 'pages/standalone-nexus-operations.svelte', + 'pages/start-standalone-activity.svelte', + 'pages/start-standalone-nexus-operation.svelte', + 'pages/start-workflow.svelte', + 'pages/task-queue.svelte', + 'pages/worker-deployment-version-create.svelte', + 'pages/worker-deployment-version-edit.svelte', + 'pages/worker-details.svelte', + 'pages/workers.svelte', + 'pages/workflow-call-stack.svelte', + 'pages/workflow-history-event.svelte', + 'pages/workflow-memo.svelte', + 'pages/workflow-metadata.svelte', + 'pages/workflow-nexus-links.svelte', + 'pages/workflow-pending-activities.svelte', + 'pages/workflow-query.svelte', + 'pages/workflow-search-attributes.svelte', + 'pages/workflow-user-metadata.svelte', + 'pages/workflows-with-new-search.svelte', + 'services/deployments-service', + 'services/workflow-service', + 'stores/batch-operations', + 'stores/error', + 'stores/filters', + 'stores/namespaces', + 'stores/nav-open', + 'stores/previous-events', + 'stores/search-attributes', + 'stores/time-format', + 'stores/toaster', + 'stores/workflow-run', + 'svelte-mocks/app/environment', + 'svelte-mocks/app/navigation', + 'svelte-mocks/app/paths', + 'svelte-mocks/app/state', + 'svelte-mocks/app/stores', + 'theme/io/themes', + 'theme/preset', + 'types/deployments', + 'types/global', + 'types/index', + 'types/nexus', + 'types/workflows', + 'utilities/copy-to-clipboard', + 'utilities/core-context', + 'utilities/core-provider', + 'utilities/dark-mode/dark-mode', + 'utilities/dark-mode/dark-mode.svelte', + 'utilities/decode-payload', + 'utilities/format-camel-case', + 'utilities/format-date', + 'utilities/format-json', + 'utilities/has', + 'utilities/is-email', + 'utilities/parse-with-big-int', + 'utilities/pluralize', + 'utilities/render-markdown', + 'utilities/request-from-api', + 'utilities/timezone', + 'utilities/update-query-parameters', +];