@gtkx/cli 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/builder.d.ts +1 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +20 -3
- package/dist/builder.js.map +1 -1
- package/dist/cli.js +6 -2
- package/dist/cli.js.map +1 -1
- package/dist/codegen/freshness.js +2 -2
- package/dist/codegen/freshness.js.map +1 -1
- package/dist/codegen/report.d.ts.map +1 -1
- package/dist/codegen/report.js +3 -0
- package/dist/codegen/report.js.map +1 -1
- package/dist/codegen/run-codegen.d.ts +9 -5
- package/dist/codegen/run-codegen.d.ts.map +1 -1
- package/dist/codegen/run-codegen.js +31 -20
- package/dist/codegen/run-codegen.js.map +1 -1
- package/dist/codegen/store-resolver.d.ts +1 -1
- package/dist/codegen/store-resolver.d.ts.map +1 -1
- package/dist/codegen/store-resolver.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +5 -6
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/codegen.d.ts.map +1 -1
- package/dist/commands/codegen.js +11 -1
- package/dist/commands/codegen.js.map +1 -1
- package/dist/commands/deploy.d.ts +22 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +44 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +4 -4
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/docs.d.ts +2 -2
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +28 -4
- package/dist/commands/docs.js.map +1 -1
- package/dist/deploy/depends.d.ts +8 -0
- package/dist/deploy/depends.d.ts.map +1 -0
- package/dist/deploy/depends.js +27 -0
- package/dist/deploy/depends.js.map +1 -0
- package/dist/deploy/download.d.ts +20 -0
- package/dist/deploy/download.d.ts.map +1 -0
- package/dist/deploy/download.js +98 -0
- package/dist/deploy/download.js.map +1 -0
- package/dist/deploy/freedesktop/copyright.d.ts +4 -0
- package/dist/deploy/freedesktop/copyright.d.ts.map +1 -0
- package/dist/deploy/freedesktop/copyright.js +33 -0
- package/dist/deploy/freedesktop/copyright.js.map +1 -0
- package/dist/deploy/freedesktop/dbus-service.d.ts +4 -0
- package/dist/deploy/freedesktop/dbus-service.d.ts.map +1 -0
- package/dist/deploy/freedesktop/dbus-service.js +15 -0
- package/dist/deploy/freedesktop/dbus-service.js.map +1 -0
- package/dist/deploy/freedesktop/desktop-entry.d.ts +4 -0
- package/dist/deploy/freedesktop/desktop-entry.d.ts.map +1 -0
- package/dist/deploy/freedesktop/desktop-entry.js +73 -0
- package/dist/deploy/freedesktop/desktop-entry.js.map +1 -0
- package/dist/deploy/freedesktop/ini.d.ts +7 -0
- package/dist/deploy/freedesktop/ini.d.ts.map +1 -0
- package/dist/deploy/freedesktop/ini.js +22 -0
- package/dist/deploy/freedesktop/ini.js.map +1 -0
- package/dist/deploy/freedesktop/metainfo-sections.d.ts +13 -0
- package/dist/deploy/freedesktop/metainfo-sections.d.ts.map +1 -0
- package/dist/deploy/freedesktop/metainfo-sections.js +73 -0
- package/dist/deploy/freedesktop/metainfo-sections.js.map +1 -0
- package/dist/deploy/freedesktop/metainfo.d.ts +4 -0
- package/dist/deploy/freedesktop/metainfo.d.ts.map +1 -0
- package/dist/deploy/freedesktop/metainfo.js +29 -0
- package/dist/deploy/freedesktop/metainfo.js.map +1 -0
- package/dist/deploy/freedesktop/mime-package.d.ts +4 -0
- package/dist/deploy/freedesktop/mime-package.d.ts.map +1 -0
- package/dist/deploy/freedesktop/mime-package.js +16 -0
- package/dist/deploy/freedesktop/mime-package.js.map +1 -0
- package/dist/deploy/freedesktop/validate.d.ts +4 -0
- package/dist/deploy/freedesktop/validate.d.ts.map +1 -0
- package/dist/deploy/freedesktop/validate.js +81 -0
- package/dist/deploy/freedesktop/validate.js.map +1 -0
- package/dist/deploy/freedesktop/xml.d.ts +11 -0
- package/dist/deploy/freedesktop/xml.d.ts.map +1 -0
- package/dist/deploy/freedesktop/xml.js +33 -0
- package/dist/deploy/freedesktop/xml.js.map +1 -0
- package/dist/deploy/git.d.ts +4 -0
- package/dist/deploy/git.d.ts.map +1 -0
- package/dist/deploy/git.js +17 -0
- package/dist/deploy/git.js.map +1 -0
- package/dist/deploy/install-hints.d.ts +5 -0
- package/dist/deploy/install-hints.d.ts.map +1 -0
- package/dist/deploy/install-hints.js +88 -0
- package/dist/deploy/install-hints.js.map +1 -0
- package/dist/deploy/nfpm/config.d.ts +8 -0
- package/dist/deploy/nfpm/config.d.ts.map +1 -0
- package/dist/deploy/nfpm/config.js +119 -0
- package/dist/deploy/nfpm/config.js.map +1 -0
- package/dist/deploy/nfpm/contents.d.ts +12 -0
- package/dist/deploy/nfpm/contents.d.ts.map +1 -0
- package/dist/deploy/nfpm/contents.js +48 -0
- package/dist/deploy/nfpm/contents.js.map +1 -0
- package/dist/deploy/nfpm/description.d.ts +5 -0
- package/dist/deploy/nfpm/description.d.ts.map +1 -0
- package/dist/deploy/nfpm/description.js +5 -0
- package/dist/deploy/nfpm/description.js.map +1 -0
- package/dist/deploy/nfpm/optional.d.ts +5 -0
- package/dist/deploy/nfpm/optional.d.ts.map +1 -0
- package/dist/deploy/nfpm/optional.js +4 -0
- package/dist/deploy/nfpm/optional.js.map +1 -0
- package/dist/deploy/nfpm/pack.d.ts +5 -0
- package/dist/deploy/nfpm/pack.d.ts.map +1 -0
- package/dist/deploy/nfpm/pack.js +32 -0
- package/dist/deploy/nfpm/pack.js.map +1 -0
- package/dist/deploy/node-runtime/download.d.ts +3 -0
- package/dist/deploy/node-runtime/download.d.ts.map +1 -0
- package/dist/deploy/node-runtime/download.js +39 -0
- package/dist/deploy/node-runtime/download.js.map +1 -0
- package/dist/deploy/node-runtime/elf.d.ts +7 -0
- package/dist/deploy/node-runtime/elf.d.ts.map +1 -0
- package/dist/deploy/node-runtime/elf.js +100 -0
- package/dist/deploy/node-runtime/elf.js.map +1 -0
- package/dist/deploy/node-runtime/guard.d.ts +4 -0
- package/dist/deploy/node-runtime/guard.d.ts.map +1 -0
- package/dist/deploy/node-runtime/guard.js +22 -0
- package/dist/deploy/node-runtime/guard.js.map +1 -0
- package/dist/deploy/node-runtime/index.d.ts +4 -0
- package/dist/deploy/node-runtime/index.d.ts.map +1 -0
- package/dist/deploy/node-runtime/index.js +61 -0
- package/dist/deploy/node-runtime/index.js.map +1 -0
- package/dist/deploy/payload/copy-tree.d.ts +7 -0
- package/dist/deploy/payload/copy-tree.d.ts.map +1 -0
- package/dist/deploy/payload/copy-tree.js +36 -0
- package/dist/deploy/payload/copy-tree.js.map +1 -0
- package/dist/deploy/payload/icons.d.ts +6 -0
- package/dist/deploy/payload/icons.d.ts.map +1 -0
- package/dist/deploy/payload/icons.js +53 -0
- package/dist/deploy/payload/icons.js.map +1 -0
- package/dist/deploy/payload/launcher.d.ts +5 -0
- package/dist/deploy/payload/launcher.d.ts.map +1 -0
- package/dist/deploy/payload/launcher.js +22 -0
- package/dist/deploy/payload/launcher.js.map +1 -0
- package/dist/deploy/payload/schemas.d.ts +4 -0
- package/dist/deploy/payload/schemas.d.ts.map +1 -0
- package/dist/deploy/payload/schemas.js +17 -0
- package/dist/deploy/payload/schemas.js.map +1 -0
- package/dist/deploy/payload/stage.d.ts +15 -0
- package/dist/deploy/payload/stage.d.ts.map +1 -0
- package/dist/deploy/payload/stage.js +100 -0
- package/dist/deploy/payload/stage.js.map +1 -0
- package/dist/deploy/registry.d.ts +7 -0
- package/dist/deploy/registry.d.ts.map +1 -0
- package/dist/deploy/registry.js +30 -0
- package/dist/deploy/registry.js.map +1 -0
- package/dist/deploy/run-deploy.d.ts +11 -0
- package/dist/deploy/run-deploy.d.ts.map +1 -0
- package/dist/deploy/run-deploy.js +157 -0
- package/dist/deploy/run-deploy.js.map +1 -0
- package/dist/deploy/settings/arch.d.ts +4 -0
- package/dist/deploy/settings/arch.d.ts.map +1 -0
- package/dist/deploy/settings/arch.js +13 -0
- package/dist/deploy/settings/arch.js.map +1 -0
- package/dist/deploy/settings/categories.d.ts +4 -0
- package/dist/deploy/settings/categories.d.ts.map +1 -0
- package/dist/deploy/settings/categories.js +29 -0
- package/dist/deploy/settings/categories.js.map +1 -0
- package/dist/deploy/settings/exec.d.ts +6 -0
- package/dist/deploy/settings/exec.d.ts.map +1 -0
- package/dist/deploy/settings/exec.js +20 -0
- package/dist/deploy/settings/exec.js.map +1 -0
- package/dist/deploy/settings/identity.d.ts +18 -0
- package/dist/deploy/settings/identity.d.ts.map +1 -0
- package/dist/deploy/settings/identity.js +73 -0
- package/dist/deploy/settings/identity.js.map +1 -0
- package/dist/deploy/settings/index.d.ts +11 -0
- package/dist/deploy/settings/index.d.ts.map +1 -0
- package/dist/deploy/settings/index.js +103 -0
- package/dist/deploy/settings/index.js.map +1 -0
- package/dist/deploy/settings/package-manifest.d.ts +16 -0
- package/dist/deploy/settings/package-manifest.d.ts.map +1 -0
- package/dist/deploy/settings/package-manifest.js +42 -0
- package/dist/deploy/settings/package-manifest.js.map +1 -0
- package/dist/deploy/settings/paths.d.ts +9 -0
- package/dist/deploy/settings/paths.d.ts.map +1 -0
- package/dist/deploy/settings/paths.js +82 -0
- package/dist/deploy/settings/paths.js.map +1 -0
- package/dist/deploy/settings/screenshots.d.ts +8 -0
- package/dist/deploy/settings/screenshots.d.ts.map +1 -0
- package/dist/deploy/settings/screenshots.js +79 -0
- package/dist/deploy/settings/screenshots.js.map +1 -0
- package/dist/deploy/settings/starter.d.ts +4 -0
- package/dist/deploy/settings/starter.d.ts.map +1 -0
- package/dist/deploy/settings/starter.js +28 -0
- package/dist/deploy/settings/starter.js.map +1 -0
- package/dist/deploy/settings/version.d.ts +9 -0
- package/dist/deploy/settings/version.d.ts.map +1 -0
- package/dist/deploy/settings/version.js +37 -0
- package/dist/deploy/settings/version.js.map +1 -0
- package/dist/deploy/targets/appimage.d.ts +4 -0
- package/dist/deploy/targets/appimage.d.ts.map +1 -0
- package/dist/deploy/targets/appimage.js +105 -0
- package/dist/deploy/targets/appimage.js.map +1 -0
- package/dist/deploy/targets/deb.d.ts +4 -0
- package/dist/deploy/targets/deb.d.ts.map +1 -0
- package/dist/deploy/targets/deb.js +4 -0
- package/dist/deploy/targets/deb.js.map +1 -0
- package/dist/deploy/targets/flatpak-manifest.d.ts +6 -0
- package/dist/deploy/targets/flatpak-manifest.d.ts.map +1 -0
- package/dist/deploy/targets/flatpak-manifest.js +48 -0
- package/dist/deploy/targets/flatpak-manifest.js.map +1 -0
- package/dist/deploy/targets/flatpak-pnpm.d.ts +15 -0
- package/dist/deploy/targets/flatpak-pnpm.d.ts.map +1 -0
- package/dist/deploy/targets/flatpak-pnpm.js +69 -0
- package/dist/deploy/targets/flatpak-pnpm.js.map +1 -0
- package/dist/deploy/targets/flatpak-prebuilt.d.ts +8 -0
- package/dist/deploy/targets/flatpak-prebuilt.d.ts.map +1 -0
- package/dist/deploy/targets/flatpak-prebuilt.js +43 -0
- package/dist/deploy/targets/flatpak-prebuilt.js.map +1 -0
- package/dist/deploy/targets/flatpak-source.d.ts +5 -0
- package/dist/deploy/targets/flatpak-source.d.ts.map +1 -0
- package/dist/deploy/targets/flatpak-source.js +119 -0
- package/dist/deploy/targets/flatpak-source.js.map +1 -0
- package/dist/deploy/targets/flatpak-sources.d.ts +19 -0
- package/dist/deploy/targets/flatpak-sources.d.ts.map +1 -0
- package/dist/deploy/targets/flatpak-sources.js +122 -0
- package/dist/deploy/targets/flatpak-sources.js.map +1 -0
- package/dist/deploy/targets/flatpak.d.ts +4 -0
- package/dist/deploy/targets/flatpak.d.ts.map +1 -0
- package/dist/deploy/targets/flatpak.js +113 -0
- package/dist/deploy/targets/flatpak.js.map +1 -0
- package/dist/deploy/targets/nfpm-target.d.ts +5 -0
- package/dist/deploy/targets/nfpm-target.d.ts.map +1 -0
- package/dist/deploy/targets/nfpm-target.js +26 -0
- package/dist/deploy/targets/nfpm-target.js.map +1 -0
- package/dist/deploy/targets/rpm.d.ts +4 -0
- package/dist/deploy/targets/rpm.d.ts.map +1 -0
- package/dist/deploy/targets/rpm.js +4 -0
- package/dist/deploy/targets/rpm.js.map +1 -0
- package/dist/deploy/tools.d.ts +20 -0
- package/dist/deploy/tools.d.ts.map +1 -0
- package/dist/deploy/tools.js +106 -0
- package/dist/deploy/tools.js.map +1 -0
- package/dist/deploy/types.d.ts +140 -0
- package/dist/deploy/types.d.ts.map +1 -0
- package/dist/deploy/types.js +2 -0
- package/dist/deploy/types.js.map +1 -0
- package/dist/deploy/vendored/appimagetool.d.ts +7 -0
- package/dist/deploy/vendored/appimagetool.d.ts.map +1 -0
- package/dist/deploy/vendored/appimagetool.js +42 -0
- package/dist/deploy/vendored/appimagetool.js.map +1 -0
- package/dist/deploy/vendored/nfpm.d.ts +3 -0
- package/dist/deploy/vendored/nfpm.d.ts.map +1 -0
- package/dist/deploy/vendored/nfpm.js +60 -0
- package/dist/deploy/vendored/nfpm.js.map +1 -0
- package/dist/dev/change-queue.d.ts +11 -0
- package/dist/dev/change-queue.d.ts.map +1 -0
- package/dist/dev/change-queue.js +34 -0
- package/dist/dev/change-queue.js.map +1 -0
- package/dist/dev/failure-tracker.d.ts +10 -0
- package/dist/dev/failure-tracker.d.ts.map +1 -0
- package/dist/dev/failure-tracker.js +61 -0
- package/dist/dev/failure-tracker.js.map +1 -0
- package/dist/dev/missing-import.d.ts +4 -0
- package/dist/dev/missing-import.d.ts.map +1 -0
- package/dist/dev/missing-import.js +23 -0
- package/dist/dev/missing-import.js.map +1 -0
- package/dist/dev/runner-deps.d.ts.map +1 -1
- package/dist/dev/runner-deps.js +25 -6
- package/dist/dev/runner-deps.js.map +1 -1
- package/dist/dev/runner.d.ts +8 -4
- package/dist/dev/runner.d.ts.map +1 -1
- package/dist/dev/runner.js +334 -66
- package/dist/dev/runner.js.map +1 -1
- package/dist/dev/supervisor.d.ts +1 -2
- package/dist/dev/supervisor.d.ts.map +1 -1
- package/dist/dev/supervisor.js +1 -1
- package/dist/dev/supervisor.js.map +1 -1
- package/dist/dev/vite-dev-server.d.ts +13 -2
- package/dist/dev/vite-dev-server.d.ts.map +1 -1
- package/dist/dev/vite-dev-server.js +30 -2
- package/dist/dev/vite-dev-server.js.map +1 -1
- package/dist/internal/entry-arg.d.ts +1 -7
- package/dist/internal/entry-arg.d.ts.map +1 -1
- package/dist/internal/entry-arg.js +18 -11
- package/dist/internal/entry-arg.js.map +1 -1
- package/dist/internal/module-loads.d.ts +7 -0
- package/dist/internal/module-loads.d.ts.map +1 -0
- package/dist/internal/module-loads.js +21 -0
- package/dist/internal/module-loads.js.map +1 -0
- package/dist/internal/prepare-project.d.ts +16 -0
- package/dist/internal/prepare-project.d.ts.map +1 -0
- package/dist/internal/prepare-project.js +15 -0
- package/dist/internal/prepare-project.js.map +1 -0
- package/dist/internal/run-cli-tool.d.ts +2 -1
- package/dist/internal/run-cli-tool.d.ts.map +1 -1
- package/dist/internal/run-cli-tool.js +15 -6
- package/dist/internal/run-cli-tool.js.map +1 -1
- package/dist/internal/staging-dir.d.ts +8 -1
- package/dist/internal/staging-dir.d.ts.map +1 -1
- package/dist/internal/staging-dir.js +38 -2
- package/dist/internal/staging-dir.js.map +1 -1
- package/dist/mcp/serialize-widget.d.ts +2 -1
- package/dist/mcp/serialize-widget.d.ts.map +1 -1
- package/dist/mcp/serialize-widget.js +1 -1
- package/dist/mcp/serialize-widget.js.map +1 -1
- package/dist/mcp/testing-loader.d.ts +5 -2
- package/dist/mcp/testing-loader.d.ts.map +1 -1
- package/dist/mcp/testing-loader.js +7 -3
- package/dist/mcp/testing-loader.js.map +1 -1
- package/dist/refresh-runtime.d.ts +2 -1
- package/dist/refresh-runtime.d.ts.map +1 -1
- package/dist/refresh-runtime.js +32 -2
- package/dist/refresh-runtime.js.map +1 -1
- package/dist/settings/schema.d.ts +1 -2
- package/dist/settings/schema.d.ts.map +1 -1
- package/dist/settings/schema.js +1 -1
- package/dist/settings/schema.js.map +1 -1
- package/dist/vite-plugins/asset-extensions.d.ts +2 -1
- package/dist/vite-plugins/asset-extensions.d.ts.map +1 -1
- package/dist/vite-plugins/asset-extensions.js +2 -1
- package/dist/vite-plugins/asset-extensions.js.map +1 -1
- package/dist/vite-plugins/asset-imports.d.ts +4 -0
- package/dist/vite-plugins/asset-imports.d.ts.map +1 -0
- package/dist/vite-plugins/asset-imports.js +88 -0
- package/dist/vite-plugins/asset-imports.js.map +1 -0
- package/dist/vite-plugins/asset-specifier.d.ts +5 -0
- package/dist/vite-plugins/asset-specifier.d.ts.map +1 -0
- package/dist/vite-plugins/asset-specifier.js +7 -0
- package/dist/vite-plugins/asset-specifier.js.map +1 -0
- package/dist/vite-plugins/esm-extension.d.ts +4 -0
- package/dist/vite-plugins/esm-extension.d.ts.map +1 -0
- package/dist/vite-plugins/esm-extension.js +4 -0
- package/dist/vite-plugins/esm-extension.js.map +1 -0
- package/dist/vite-plugins/fast-refresh/swc-refresh.d.ts +1 -3
- package/dist/vite-plugins/fast-refresh/swc-refresh.d.ts.map +1 -1
- package/dist/vite-plugins/fast-refresh/swc-refresh.js +1 -1
- package/dist/vite-plugins/fast-refresh/swc-refresh.js.map +1 -1
- package/dist/vite-plugins/index.d.ts.map +1 -1
- package/dist/vite-plugins/index.js +4 -0
- package/dist/vite-plugins/index.js.map +1 -1
- package/dist/vite-plugins/resource-shared.d.ts +2 -1
- package/dist/vite-plugins/resource-shared.d.ts.map +1 -1
- package/dist/vite-plugins/resource-shared.js +2 -1
- package/dist/vite-plugins/resource-shared.js.map +1 -1
- package/dist/vite-plugins/resources.d.ts.map +1 -1
- package/dist/vite-plugins/resources.js +30 -29
- package/dist/vite-plugins/resources.js.map +1 -1
- package/dist/vite-plugins/self-contained.d.ts +4 -0
- package/dist/vite-plugins/self-contained.d.ts.map +1 -0
- package/dist/vite-plugins/self-contained.js +244 -0
- package/dist/vite-plugins/self-contained.js.map +1 -0
- package/dist/vite-plugins/settings.d.ts.map +1 -1
- package/dist/vite-plugins/settings.js +19 -40
- package/dist/vite-plugins/settings.js.map +1 -1
- package/dist/vite-plugins/store-links.d.ts +4 -0
- package/dist/vite-plugins/store-links.d.ts.map +1 -0
- package/dist/vite-plugins/store-links.js +19 -0
- package/dist/vite-plugins/store-links.js.map +1 -0
- package/dist/vite-plugins/undeclared-library.d.ts.map +1 -1
- package/dist/vite-plugins/undeclared-library.js +51 -12
- package/dist/vite-plugins/undeclared-library.js.map +1 -1
- package/dist/vite-plugins/worker.d.ts.map +1 -1
- package/dist/vite-plugins/worker.js +3 -1
- package/dist/vite-plugins/worker.js.map +1 -1
- package/env.d.ts +106 -25
- package/package.json +20 -13
- package/src/builder.ts +22 -4
- package/src/cli.ts +7 -2
- package/src/codegen/freshness.ts +2 -2
- package/src/codegen/report.ts +4 -0
- package/src/codegen/run-codegen.ts +48 -24
- package/src/codegen/store-resolver.ts +1 -1
- package/src/commands/build.ts +5 -6
- package/src/commands/codegen.ts +14 -1
- package/src/commands/deploy.ts +47 -0
- package/src/commands/dev.ts +4 -4
- package/src/commands/docs.ts +40 -4
- package/src/deploy/depends.ts +42 -0
- package/src/deploy/download.ts +148 -0
- package/src/deploy/freedesktop/copyright.ts +41 -0
- package/src/deploy/freedesktop/dbus-service.ts +19 -0
- package/src/deploy/freedesktop/desktop-entry.ts +102 -0
- package/src/deploy/freedesktop/ini.ts +39 -0
- package/src/deploy/freedesktop/metainfo-sections.ts +116 -0
- package/src/deploy/freedesktop/metainfo.ts +46 -0
- package/src/deploy/freedesktop/mime-package.ts +28 -0
- package/src/deploy/freedesktop/validate.ts +124 -0
- package/src/deploy/freedesktop/xml.ts +53 -0
- package/src/deploy/git.ts +20 -0
- package/src/deploy/install-hints.ts +111 -0
- package/src/deploy/nfpm/config.ts +153 -0
- package/src/deploy/nfpm/contents.ts +69 -0
- package/src/deploy/nfpm/description.ts +11 -0
- package/src/deploy/nfpm/optional.ts +8 -0
- package/src/deploy/nfpm/pack.ts +44 -0
- package/src/deploy/node-runtime/download.ts +48 -0
- package/src/deploy/node-runtime/elf.ts +145 -0
- package/src/deploy/node-runtime/guard.ts +29 -0
- package/src/deploy/node-runtime/index.ts +80 -0
- package/src/deploy/payload/copy-tree.ts +51 -0
- package/src/deploy/payload/icons.ts +80 -0
- package/src/deploy/payload/launcher.ts +27 -0
- package/src/deploy/payload/schemas.ts +27 -0
- package/src/deploy/payload/stage.ts +145 -0
- package/src/deploy/registry.ts +40 -0
- package/src/deploy/run-deploy.ts +241 -0
- package/src/deploy/settings/arch.ts +18 -0
- package/src/deploy/settings/categories.ts +39 -0
- package/src/deploy/settings/exec.ts +29 -0
- package/src/deploy/settings/identity.ts +133 -0
- package/src/deploy/settings/index.ts +189 -0
- package/src/deploy/settings/package-manifest.ts +68 -0
- package/src/deploy/settings/paths.ts +115 -0
- package/src/deploy/settings/screenshots.ts +125 -0
- package/src/deploy/settings/starter.ts +41 -0
- package/src/deploy/settings/version.ts +59 -0
- package/src/deploy/targets/appimage.ts +140 -0
- package/src/deploy/targets/deb.ts +6 -0
- package/src/deploy/targets/flatpak-manifest.ts +61 -0
- package/src/deploy/targets/flatpak-pnpm.ts +115 -0
- package/src/deploy/targets/flatpak-prebuilt.ts +59 -0
- package/src/deploy/targets/flatpak-source.ts +181 -0
- package/src/deploy/targets/flatpak-sources.ts +198 -0
- package/src/deploy/targets/flatpak.ts +144 -0
- package/src/deploy/targets/nfpm-target.ts +33 -0
- package/src/deploy/targets/rpm.ts +6 -0
- package/src/deploy/tools.ts +156 -0
- package/src/deploy/types.ts +174 -0
- package/src/deploy/vendored/appimagetool.ts +57 -0
- package/src/deploy/vendored/nfpm.ts +79 -0
- package/src/dev/change-queue.ts +59 -0
- package/src/dev/failure-tracker.ts +92 -0
- package/src/dev/missing-import.ts +32 -0
- package/src/dev/runner-deps.ts +34 -6
- package/src/dev/runner.ts +506 -102
- package/src/dev/supervisor.ts +0 -3
- package/src/dev/vite-dev-server.ts +54 -3
- package/src/internal/entry-arg.ts +25 -11
- package/src/internal/module-loads.ts +32 -0
- package/src/internal/prepare-project.ts +23 -0
- package/src/internal/run-cli-tool.ts +22 -6
- package/src/internal/staging-dir.ts +57 -2
- package/src/mcp/serialize-widget.ts +3 -2
- package/src/mcp/testing-loader.ts +19 -4
- package/src/refresh-runtime.ts +48 -2
- package/src/settings/schema.ts +0 -1
- package/src/vite-plugins/asset-extensions.ts +2 -1
- package/src/vite-plugins/asset-imports.ts +134 -0
- package/src/vite-plugins/asset-specifier.ts +9 -0
- package/src/vite-plugins/esm-extension.ts +4 -0
- package/src/vite-plugins/fast-refresh/swc-refresh.ts +1 -1
- package/src/vite-plugins/index.ts +4 -0
- package/src/vite-plugins/resource-shared.ts +2 -0
- package/src/vite-plugins/resources.ts +33 -33
- package/src/vite-plugins/self-contained.ts +352 -0
- package/src/vite-plugins/settings.ts +21 -48
- package/src/vite-plugins/store-links.ts +25 -0
- package/src/vite-plugins/undeclared-library.ts +74 -12
- package/src/vite-plugins/worker.ts +4 -1
- package/dist/internal.d.ts +0 -3
- package/dist/internal.d.ts.map +0 -1
- package/dist/internal.js +0 -3
- package/dist/internal.js.map +0 -1
- package/src/internal.ts +0 -2
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { mkdtempSync, renameSync, rmSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { runCliTool } from "../../internal/run-cli-tool.js";
|
|
4
|
+
import { cacheDir, downloadFile } from "../download.js";
|
|
5
|
+
const NFPM_VERSION = "2.47.0";
|
|
6
|
+
const NFPM_BASE_URL = `https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}`;
|
|
7
|
+
const NFPM_ASSET_ARCH = {
|
|
8
|
+
arm64: "arm64",
|
|
9
|
+
x64: "x86_64",
|
|
10
|
+
};
|
|
11
|
+
const NFPM_DIGESTS = {
|
|
12
|
+
arm64: "1c0f5f2999b9a974bfb04fdb0cc3306096de530ac5dbb25d739cc5f5219c919c",
|
|
13
|
+
x86_64: "0660ca602b2d2d2ae4781a06c692b3eeb9d437ffea05b831d76e41f4a3188783",
|
|
14
|
+
};
|
|
15
|
+
const assetArchFor = (arch) => {
|
|
16
|
+
const assetArch = NFPM_ASSET_ARCH[arch];
|
|
17
|
+
if (assetArch === undefined) {
|
|
18
|
+
throw new Error(`nfpm has no Linux build for ${arch}`);
|
|
19
|
+
}
|
|
20
|
+
return assetArch;
|
|
21
|
+
};
|
|
22
|
+
const assetNameFor = (arch) => `nfpm_${NFPM_VERSION}_Linux_${assetArchFor(arch)}.tar.gz`;
|
|
23
|
+
const digestFor = (arch) => {
|
|
24
|
+
const digest = NFPM_DIGESTS[assetArchFor(arch)];
|
|
25
|
+
if (digest === undefined) {
|
|
26
|
+
throw new Error(`nfpm ${NFPM_VERSION} has no pinned digest for ${arch}`);
|
|
27
|
+
}
|
|
28
|
+
return digest;
|
|
29
|
+
};
|
|
30
|
+
const extractNfpm = (archive, binary) => {
|
|
31
|
+
const dir = mkdtempSync(`${binary}-`);
|
|
32
|
+
try {
|
|
33
|
+
runCliTool({ tool: "tar", args: ["-xzf", archive, "-C", dir, "nfpm"], target: assetNameFor(process.arch) });
|
|
34
|
+
renameSync(join(dir, "nfpm"), binary);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
rmSync(dir, { recursive: true, force: true, maxRetries: 5 });
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const downloadNfpm = async (dir, binary) => {
|
|
41
|
+
const assetName = assetNameFor(process.arch);
|
|
42
|
+
const archive = await downloadFile({
|
|
43
|
+
url: `${NFPM_BASE_URL}/${assetName}`,
|
|
44
|
+
dest: join(dir, assetName),
|
|
45
|
+
label: `nfpm ${NFPM_VERSION}`,
|
|
46
|
+
sha256: digestFor(process.arch),
|
|
47
|
+
});
|
|
48
|
+
extractNfpm(archive, binary);
|
|
49
|
+
return binary;
|
|
50
|
+
};
|
|
51
|
+
const resolveNfpm = async () => {
|
|
52
|
+
const override = process.env.GTKX_NFPM;
|
|
53
|
+
if (override !== undefined && override.length > 0) {
|
|
54
|
+
return override;
|
|
55
|
+
}
|
|
56
|
+
const dir = cacheDir(["nfpm", NFPM_VERSION]);
|
|
57
|
+
return downloadNfpm(dir, join(dir, "nfpm"));
|
|
58
|
+
};
|
|
59
|
+
export { resolveNfpm };
|
|
60
|
+
//# sourceMappingURL=nfpm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nfpm.js","sourceRoot":"","sources":["../../../src/deploy/vendored/nfpm.ts"],"names":[],"mappings":"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","sourcesContent":["import { mkdtempSync, renameSync, rmSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { runCliTool } from \"../../internal/run-cli-tool.js\";\nimport { cacheDir, downloadFile } from \"../download.js\";\n\nconst NFPM_VERSION = \"2.47.0\";\nconst NFPM_BASE_URL = `https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}`;\n\nconst NFPM_ASSET_ARCH: Record<string, string> = {\n arm64: \"arm64\",\n x64: \"x86_64\",\n};\n\nconst NFPM_DIGESTS: Record<string, string> = {\n arm64: \"1c0f5f2999b9a974bfb04fdb0cc3306096de530ac5dbb25d739cc5f5219c919c\",\n x86_64: \"0660ca602b2d2d2ae4781a06c692b3eeb9d437ffea05b831d76e41f4a3188783\",\n};\n\nconst assetArchFor = (arch: string): string => {\n const assetArch = NFPM_ASSET_ARCH[arch];\n\n if (assetArch === undefined) {\n throw new Error(`nfpm has no Linux build for ${arch}`);\n }\n\n return assetArch;\n};\n\nconst assetNameFor = (arch: string): string => `nfpm_${NFPM_VERSION}_Linux_${assetArchFor(arch)}.tar.gz`;\n\nconst digestFor = (arch: string): string => {\n const digest = NFPM_DIGESTS[assetArchFor(arch)];\n\n if (digest === undefined) {\n throw new Error(`nfpm ${NFPM_VERSION} has no pinned digest for ${arch}`);\n }\n\n return digest;\n};\n\nconst extractNfpm = (archive: string, binary: string): void => {\n const dir = mkdtempSync(`${binary}-`);\n\n try {\n runCliTool({ tool: \"tar\", args: [\"-xzf\", archive, \"-C\", dir, \"nfpm\"], target: assetNameFor(process.arch) });\n renameSync(join(dir, \"nfpm\"), binary);\n } finally {\n rmSync(dir, { recursive: true, force: true, maxRetries: 5 });\n }\n};\n\nconst downloadNfpm = async (dir: string, binary: string): Promise<string> => {\n const assetName = assetNameFor(process.arch);\n\n const archive = await downloadFile({\n url: `${NFPM_BASE_URL}/${assetName}`,\n dest: join(dir, assetName),\n label: `nfpm ${NFPM_VERSION}`,\n sha256: digestFor(process.arch),\n });\n\n extractNfpm(archive, binary);\n\n return binary;\n};\n\nconst resolveNfpm = async (): Promise<string> => {\n const override = process.env.GTKX_NFPM;\n\n if (override !== undefined && override.length > 0) {\n return override;\n }\n\n const dir = cacheDir([\"nfpm\", NFPM_VERSION]);\n\n return downloadNfpm(dir, join(dir, \"nfpm\"));\n};\n\nexport { resolveNfpm };\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DevServerWatchEvent } from "./vite-dev-server.js";
|
|
2
|
+
type WatchedChange = {
|
|
3
|
+
event: DevServerWatchEvent;
|
|
4
|
+
path: string;
|
|
5
|
+
};
|
|
6
|
+
type ChangeQueue = {
|
|
7
|
+
enqueue: (change: WatchedChange) => void;
|
|
8
|
+
};
|
|
9
|
+
declare const createChangeQueue: (run: (change: WatchedChange) => Promise<void>) => ChangeQueue;
|
|
10
|
+
export { createChangeQueue, type WatchedChange };
|
|
11
|
+
//# sourceMappingURL=change-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-queue.d.ts","sourceRoot":"","sources":["../../src/dev/change-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C,CAAC;AAuCF,QAAA,MAAM,iBAAiB,GAAI,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,KAAG,WAQ1E,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const isSameChange = (left, right) => left.event === right.event && left.path === right.path;
|
|
2
|
+
const drainQueue = async (state) => {
|
|
3
|
+
state.isDraining = true;
|
|
4
|
+
try {
|
|
5
|
+
await Promise.resolve();
|
|
6
|
+
let change = state.queued.shift();
|
|
7
|
+
while (change !== undefined) {
|
|
8
|
+
await state.run(change);
|
|
9
|
+
change = state.queued.shift();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
finally {
|
|
13
|
+
state.isDraining = false;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const enqueueChange = (state, change) => {
|
|
17
|
+
if (state.queued.some((queued) => isSameChange(queued, change))) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
state.queued.push(change);
|
|
21
|
+
if (!state.isDraining) {
|
|
22
|
+
void drainQueue(state);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const createChangeQueue = (run) => {
|
|
26
|
+
const state = { queued: [], isDraining: false, run };
|
|
27
|
+
return {
|
|
28
|
+
enqueue: (change) => {
|
|
29
|
+
enqueueChange(state, change);
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export { createChangeQueue };
|
|
34
|
+
//# sourceMappingURL=change-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-queue.js","sourceRoot":"","sources":["../../src/dev/change-queue.ts"],"names":[],"mappings":"AAiBA,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,KAAoB,EAAW,EAAE,CACxE,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;AAE3D,MAAM,UAAU,GAAG,KAAK,EAAE,KAAiB,EAAiB,EAAE;IAC1D,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAElC,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;YAAS,CAAC;QACP,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IAC7B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,MAAqB,EAAQ,EAAE;IACrE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO;IACX,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE1B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAA6C,EAAe,EAAE;IACrF,MAAM,KAAK,GAAe,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAEjE,OAAO;QACH,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAChB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAsB,CAAC","sourcesContent":["import type { DevServerWatchEvent } from \"./vite-dev-server.js\";\n\ntype WatchedChange = {\n event: DevServerWatchEvent;\n path: string;\n};\n\ntype ChangeQueue = {\n enqueue: (change: WatchedChange) => void;\n};\n\ntype QueueState = {\n queued: WatchedChange[];\n isDraining: boolean;\n run: (change: WatchedChange) => Promise<void>;\n};\n\nconst isSameChange = (left: WatchedChange, right: WatchedChange): boolean =>\n left.event === right.event && left.path === right.path;\n\nconst drainQueue = async (state: QueueState): Promise<void> => {\n state.isDraining = true;\n\n try {\n await Promise.resolve();\n let change = state.queued.shift();\n\n while (change !== undefined) {\n await state.run(change);\n change = state.queued.shift();\n }\n } finally {\n state.isDraining = false;\n }\n};\n\nconst enqueueChange = (state: QueueState, change: WatchedChange): void => {\n if (state.queued.some((queued) => isSameChange(queued, change))) {\n return;\n }\n\n state.queued.push(change);\n\n if (!state.isDraining) {\n void drainQueue(state);\n }\n};\n\nconst createChangeQueue = (run: (change: WatchedChange) => Promise<void>): ChangeQueue => {\n const state: QueueState = { queued: [], isDraining: false, run };\n\n return {\n enqueue: (change) => {\n enqueueChange(state, change);\n },\n };\n};\n\nexport { createChangeQueue, type WatchedChange };\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type FailureTracker = {
|
|
2
|
+
isDown: () => boolean;
|
|
3
|
+
hasReported: () => boolean;
|
|
4
|
+
fail: (cause?: unknown) => void;
|
|
5
|
+
report: (cause: unknown) => void;
|
|
6
|
+
settleUnmount: (decide: () => void) => void;
|
|
7
|
+
};
|
|
8
|
+
declare const createFailureTracker: (announce: (cause: unknown) => void, isRefreshing: () => boolean) => FailureTracker;
|
|
9
|
+
export { createFailureTracker, type FailureTracker };
|
|
10
|
+
//# sourceMappingURL=failure-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure-tracker.d.ts","sourceRoot":"","sources":["../../src/dev/failure-tracker.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC/C,CAAC;AA4DF,QAAA,MAAM,oBAAoB,GAAI,UAAU,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EAAE,cAAc,MAAM,OAAO,KAAG,cAuB/F,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const UNMOUNT_SETTLE_MS = 0;
|
|
2
|
+
const wasAnnounced = (state, cause) => {
|
|
3
|
+
if (typeof cause !== "object" || cause === null) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
if (state.announced.has(cause)) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
state.announced.add(cause);
|
|
10
|
+
return false;
|
|
11
|
+
};
|
|
12
|
+
const recordCause = (state, cause) => {
|
|
13
|
+
state.hasReported = true;
|
|
14
|
+
if (!wasAnnounced(state, cause)) {
|
|
15
|
+
state.announce(cause);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const failState = (state, cause) => {
|
|
19
|
+
state.isDown = true;
|
|
20
|
+
if (cause !== undefined) {
|
|
21
|
+
recordCause(state, cause);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const reportState = (state, cause) => {
|
|
25
|
+
if (state.isUnmounting || state.isRefreshing()) {
|
|
26
|
+
state.isDown = true;
|
|
27
|
+
}
|
|
28
|
+
recordCause(state, cause);
|
|
29
|
+
};
|
|
30
|
+
const settleUnmountState = (state, decide) => {
|
|
31
|
+
state.isUnmounting = true;
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
state.isUnmounting = false;
|
|
34
|
+
decide();
|
|
35
|
+
}, UNMOUNT_SETTLE_MS);
|
|
36
|
+
};
|
|
37
|
+
const createFailureTracker = (announce, isRefreshing) => {
|
|
38
|
+
const state = {
|
|
39
|
+
isDown: false,
|
|
40
|
+
hasReported: false,
|
|
41
|
+
isUnmounting: false,
|
|
42
|
+
announced: new WeakSet(),
|
|
43
|
+
announce,
|
|
44
|
+
isRefreshing,
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
isDown: () => state.isDown,
|
|
48
|
+
hasReported: () => state.hasReported,
|
|
49
|
+
fail: (cause) => {
|
|
50
|
+
failState(state, cause);
|
|
51
|
+
},
|
|
52
|
+
report: (cause) => {
|
|
53
|
+
reportState(state, cause);
|
|
54
|
+
},
|
|
55
|
+
settleUnmount: (decide) => {
|
|
56
|
+
settleUnmountState(state, decide);
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export { createFailureTracker };
|
|
61
|
+
//# sourceMappingURL=failure-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure-tracker.js","sourceRoot":"","sources":["../../src/dev/failure-tracker.ts"],"names":[],"mappings":"AAiBA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,KAAc,EAAW,EAAE;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3B,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,KAAc,EAAQ,EAAE;IAC9D,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAEzB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,KAAc,EAAQ,EAAE;IAC5D,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAEpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,KAAc,EAAQ,EAAE;IAC9D,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QAC7C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAE,MAAkB,EAAQ,EAAE;IACzE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAE1B,UAAU,CAAC,GAAG,EAAE;QACZ,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;QAC3B,MAAM,EAAE,CAAC;IACb,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,QAAkC,EAAE,YAA2B,EAAkB,EAAE;IAC7G,MAAM,KAAK,GAAiB;QACxB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,IAAI,OAAO,EAAE;QACxB,QAAQ;QACR,YAAY;KACf,CAAC;IAEF,OAAO;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM;QAC1B,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW;QACpC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACZ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;YACtB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAuB,CAAC","sourcesContent":["type FailureTracker = {\n isDown: () => boolean;\n hasReported: () => boolean;\n fail: (cause?: unknown) => void;\n report: (cause: unknown) => void;\n settleUnmount: (decide: () => void) => void;\n};\n\ntype FailureState = {\n isDown: boolean;\n hasReported: boolean;\n isUnmounting: boolean;\n announced: WeakSet<object>;\n announce: (cause: unknown) => void;\n isRefreshing: () => boolean;\n};\n\nconst UNMOUNT_SETTLE_MS = 0;\n\nconst wasAnnounced = (state: FailureState, cause: unknown): boolean => {\n if (typeof cause !== \"object\" || cause === null) {\n return false;\n }\n\n if (state.announced.has(cause)) {\n return true;\n }\n\n state.announced.add(cause);\n\n return false;\n};\n\nconst recordCause = (state: FailureState, cause: unknown): void => {\n state.hasReported = true;\n\n if (!wasAnnounced(state, cause)) {\n state.announce(cause);\n }\n};\n\nconst failState = (state: FailureState, cause: unknown): void => {\n state.isDown = true;\n\n if (cause !== undefined) {\n recordCause(state, cause);\n }\n};\n\nconst reportState = (state: FailureState, cause: unknown): void => {\n if (state.isUnmounting || state.isRefreshing()) {\n state.isDown = true;\n }\n\n recordCause(state, cause);\n};\n\nconst settleUnmountState = (state: FailureState, decide: () => void): void => {\n state.isUnmounting = true;\n\n setTimeout(() => {\n state.isUnmounting = false;\n decide();\n }, UNMOUNT_SETTLE_MS);\n};\n\nconst createFailureTracker = (announce: (cause: unknown) => void, isRefreshing: () => boolean): FailureTracker => {\n const state: FailureState = {\n isDown: false,\n hasReported: false,\n isUnmounting: false,\n announced: new WeakSet(),\n announce,\n isRefreshing,\n };\n\n return {\n isDown: () => state.isDown,\n hasReported: () => state.hasReported,\n fail: (cause) => {\n failState(state, cause);\n },\n report: (cause) => {\n reportState(state, cause);\n },\n settleUnmount: (decide) => {\n settleUnmountState(state, decide);\n },\n };\n};\n\nexport { createFailureTracker, type FailureTracker };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missing-import.d.ts","sourceRoot":"","sources":["../../src/dev/missing-import.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,IAWpD,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,aAAa,MAAM,EAAE,MAAM,MAAM,KAAG,OAQ5D,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { basename, dirname, extname } from "node:path";
|
|
2
|
+
const LOAD_FAILURE_PATTERN = /Failed to load url (\S+)/;
|
|
3
|
+
const INDEX_NAME = "index";
|
|
4
|
+
const NAMELESS_URLS = new Set(["", ".", ".."]);
|
|
5
|
+
const fileName = (path) => basename(path, extname(path));
|
|
6
|
+
const missingImportName = (cause) => {
|
|
7
|
+
const message = cause instanceof Error ? cause.message : String(cause);
|
|
8
|
+
const [, url] = LOAD_FAILURE_PATTERN.exec(message) ?? [];
|
|
9
|
+
if (url === undefined) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const name = fileName(url);
|
|
13
|
+
return NAMELESS_URLS.has(name) ? null : name;
|
|
14
|
+
};
|
|
15
|
+
const isMissingImport = (createdPath, name) => {
|
|
16
|
+
const created = fileName(createdPath);
|
|
17
|
+
if (created === name) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
return created === INDEX_NAME && basename(dirname(createdPath)) === name;
|
|
21
|
+
};
|
|
22
|
+
export { isMissingImport, missingImportName };
|
|
23
|
+
//# sourceMappingURL=missing-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missing-import.js","sourceRoot":"","sources":["../../src/dev/missing-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AACxD,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAE/C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzE,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAiB,EAAE;IACxD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE3B,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,IAAY,EAAW,EAAE;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,KAAK,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC;AAC7E,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { basename, dirname, extname } from \"node:path\";\n\nconst LOAD_FAILURE_PATTERN = /Failed to load url (\\S+)/;\nconst INDEX_NAME = \"index\";\nconst NAMELESS_URLS = new Set([\"\", \".\", \"..\"]);\n\nconst fileName = (path: string): string => basename(path, extname(path));\n\nconst missingImportName = (cause: unknown): string | null => {\n const message = cause instanceof Error ? cause.message : String(cause);\n const [, url] = LOAD_FAILURE_PATTERN.exec(message) ?? [];\n\n if (url === undefined) {\n return null;\n }\n\n const name = fileName(url);\n\n return NAMELESS_URLS.has(name) ? null : name;\n};\n\nconst isMissingImport = (createdPath: string, name: string): boolean => {\n const created = fileName(createdPath);\n\n if (created === name) {\n return true;\n }\n\n return created === INDEX_NAME && basename(dirname(createdPath)) === name;\n};\n\nexport { isMissingImport, missingImportName };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-deps.d.ts","sourceRoot":"","sources":["../../src/dev/runner-deps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner-deps.d.ts","sourceRoot":"","sources":["../../src/dev/runner-deps.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsCjD,QAAA,MAAM,oBAAoB,QAAO,aA8C/B,CAAC;AAEH,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/dev/runner-deps.js
CHANGED
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
import { loadConfig } from "@gtkx/config";
|
|
2
2
|
import * as Gio from "@gtkx/gi/gio";
|
|
3
3
|
import { quitApplication } from "@gtkx/runtime";
|
|
4
|
+
import { getApplicationInstance } from "@gtkx/runtime/internal";
|
|
4
5
|
import { info, installGracefulShutdown } from "@gtkx/utils";
|
|
6
|
+
import { readFile } from "node:fs/promises";
|
|
5
7
|
import { createServer } from "vite";
|
|
6
8
|
import { startMcpClient, stopMcpClient } from "../mcp/index.js";
|
|
7
|
-
import { setTestingModuleLoader } from "../mcp/testing-loader.js";
|
|
8
|
-
import { isRefreshBoundary, performRefresh } from "../refresh-runtime.js";
|
|
9
|
+
import { mergeTestingModule, setTestingModuleLoader, } from "../mcp/testing-loader.js";
|
|
10
|
+
import { isRefreshBoundary, performRefresh, staleExportName } from "../refresh-runtime.js";
|
|
9
11
|
import { gtkxFastRefresh } from "../vite-plugins/fast-refresh/swc-refresh.js";
|
|
10
12
|
import { gtkxVitePlugins } from "../vite-plugins/index.js";
|
|
11
13
|
import { gtkxReactDomPrebundle } from "../vite-plugins/react-dom-prebundle.js";
|
|
12
14
|
const DEV_MODE = "development";
|
|
13
15
|
const APPLICATION_POLL_INTERVAL_MS = 50;
|
|
14
16
|
const currentApplicationId = () => Gio.Application.getDefault()?.applicationId ?? null;
|
|
15
|
-
const
|
|
17
|
+
const currentApplicationInstance = () => {
|
|
18
|
+
const application = Gio.Application.getDefault();
|
|
19
|
+
return application === null ? "unregistered" : getApplicationInstance(application);
|
|
20
|
+
};
|
|
21
|
+
const waitForApplicationId = async (timeoutMs, shouldKeepWaiting) => {
|
|
16
22
|
const deadline = Date.now() + timeoutMs;
|
|
17
23
|
let applicationId = currentApplicationId();
|
|
18
|
-
while (applicationId === null && Date.now() < deadline) {
|
|
24
|
+
while (applicationId === null && Date.now() < deadline && shouldKeepWaiting()) {
|
|
19
25
|
await new Promise((resolve) => setTimeout(resolve, APPLICATION_POLL_INTERVAL_MS));
|
|
20
26
|
applicationId = currentApplicationId();
|
|
21
27
|
}
|
|
22
28
|
return applicationId;
|
|
23
29
|
};
|
|
30
|
+
const readFileRevision = (path) => readFile(path, "utf8");
|
|
24
31
|
const defaultDevRunnerDeps = () => ({
|
|
25
32
|
createServer,
|
|
26
33
|
waitForApplicationId,
|
|
@@ -29,14 +36,24 @@ const defaultDevRunnerDeps = () => ({
|
|
|
29
36
|
return loaded.config.applicationId;
|
|
30
37
|
},
|
|
31
38
|
startMcpClient: (applicationId, loadAppModule) => {
|
|
32
|
-
setTestingModuleLoader(() =>
|
|
39
|
+
setTestingModuleLoader(async () => {
|
|
40
|
+
const [publicApi, internals] = await Promise.all([
|
|
41
|
+
loadAppModule("@gtkx/testing"),
|
|
42
|
+
loadAppModule("@gtkx/testing/internal"),
|
|
43
|
+
]);
|
|
44
|
+
return mergeTestingModule(publicApi, internals);
|
|
45
|
+
});
|
|
33
46
|
return startMcpClient(applicationId);
|
|
34
47
|
},
|
|
35
48
|
stopMcpClient,
|
|
36
49
|
watchApplicationShutdown: (onShutdown) => {
|
|
37
50
|
Gio.Application.getDefault()?.on("shutdown", onShutdown);
|
|
38
51
|
},
|
|
39
|
-
|
|
52
|
+
watchUncaughtErrors: (onUncaughtError) => {
|
|
53
|
+
process.on("uncaughtException", onUncaughtError);
|
|
54
|
+
process.on("unhandledRejection", onUncaughtError);
|
|
55
|
+
},
|
|
56
|
+
getApplicationInstance: currentApplicationInstance,
|
|
40
57
|
installShutdownHandlers: (onSignal) => {
|
|
41
58
|
installGracefulShutdown({ onSignal });
|
|
42
59
|
},
|
|
@@ -48,6 +65,8 @@ const defaultDevRunnerDeps = () => ({
|
|
|
48
65
|
},
|
|
49
66
|
performRefresh,
|
|
50
67
|
isRefreshBoundary,
|
|
68
|
+
staleExportName,
|
|
69
|
+
readFileRevision,
|
|
51
70
|
plugins: () => [...gtkxVitePlugins(DEV_MODE), ...gtkxFastRefresh(), gtkxReactDomPrebundle()],
|
|
52
71
|
log: info,
|
|
53
72
|
exit: (code) => process.exit(code),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-deps.js","sourceRoot":"","sources":["../../src/dev/runner-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"runner-deps.js","sourceRoot":"","sources":["../../src/dev/runner-deps.ts"],"names":[],"mappings":"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","sourcesContent":["import { loadConfig } from \"@gtkx/config\";\nimport * as Gio from \"@gtkx/gi/gio\";\nimport { quitApplication } from \"@gtkx/runtime\";\nimport { type ApplicationInstance, getApplicationInstance } from \"@gtkx/runtime/internal\";\nimport { info, installGracefulShutdown } from \"@gtkx/utils\";\nimport { readFile } from \"node:fs/promises\";\nimport { createServer } from \"vite\";\nimport type { DevRunnerDeps } from \"./runner.js\";\nimport { startMcpClient, stopMcpClient } from \"../mcp/index.js\";\nimport {\n mergeTestingModule,\n setTestingModuleLoader,\n type TestingInternalModule,\n type TestingPublicModule,\n} from \"../mcp/testing-loader.js\";\nimport { isRefreshBoundary, performRefresh, staleExportName } from \"../refresh-runtime.js\";\nimport { gtkxFastRefresh } from \"../vite-plugins/fast-refresh/swc-refresh.js\";\nimport { gtkxVitePlugins } from \"../vite-plugins/index.js\";\nimport { gtkxReactDomPrebundle } from \"../vite-plugins/react-dom-prebundle.js\";\n\nconst DEV_MODE = \"development\";\nconst APPLICATION_POLL_INTERVAL_MS = 50;\n\nconst currentApplicationId = (): string | null => Gio.Application.getDefault()?.applicationId ?? null;\n\nconst currentApplicationInstance = (): ApplicationInstance => {\n const application = Gio.Application.getDefault();\n\n return application === null ? \"unregistered\" : getApplicationInstance(application);\n};\n\nconst waitForApplicationId = async (timeoutMs: number, shouldKeepWaiting: () => boolean): Promise<string | null> => {\n const deadline = Date.now() + timeoutMs;\n let applicationId = currentApplicationId();\n\n while (applicationId === null && Date.now() < deadline && shouldKeepWaiting()) {\n await new Promise((resolve) => setTimeout(resolve, APPLICATION_POLL_INTERVAL_MS));\n applicationId = currentApplicationId();\n }\n\n return applicationId;\n};\n\nconst readFileRevision = (path: string): Promise<string> => readFile(path, \"utf8\");\n\nconst defaultDevRunnerDeps = (): DevRunnerDeps => ({\n createServer,\n waitForApplicationId,\n getConfiguredApplicationId: async (root: string) => {\n const loaded = await loadConfig(root, { mode: DEV_MODE });\n\n return loaded.config.applicationId;\n },\n startMcpClient: (applicationId, loadAppModule) => {\n setTestingModuleLoader(async () => {\n const [publicApi, internals] = await Promise.all([\n loadAppModule(\"@gtkx/testing\") as Promise<TestingPublicModule>,\n loadAppModule(\"@gtkx/testing/internal\") as Promise<TestingInternalModule>,\n ]);\n\n return mergeTestingModule(publicApi, internals);\n });\n\n return startMcpClient(applicationId);\n },\n stopMcpClient,\n watchApplicationShutdown: (onShutdown) => {\n Gio.Application.getDefault()?.on(\"shutdown\", onShutdown);\n },\n watchUncaughtErrors: (onUncaughtError) => {\n process.on(\"uncaughtException\", onUncaughtError);\n process.on(\"unhandledRejection\", onUncaughtError);\n },\n getApplicationInstance: currentApplicationInstance,\n installShutdownHandlers: (onSignal) => {\n installGracefulShutdown({ onSignal });\n },\n quitDefaultApplication: () => {\n const application = Gio.Application.getDefault();\n\n if (application) {\n quitApplication(application);\n }\n },\n performRefresh,\n isRefreshBoundary,\n staleExportName,\n readFileRevision,\n plugins: () => [...gtkxVitePlugins(DEV_MODE), ...gtkxFastRefresh(), gtkxReactDomPrebundle()],\n log: info,\n exit: (code: number): never => process.exit(code),\n});\n\nexport { defaultDevRunnerDeps };\n"]}
|
package/dist/dev/runner.d.ts
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
|
+
import type { ApplicationInstance } from "@gtkx/runtime/internal";
|
|
1
2
|
import type { InlineConfig, Plugin } from "vite";
|
|
2
3
|
import { type DevServer } from "./vite-dev-server.js";
|
|
4
|
+
type LoadAppModule = (id: string) => Promise<Record<string, unknown>>;
|
|
3
5
|
type DevRunnerDeps = {
|
|
4
6
|
createServer(config: InlineConfig): Promise<DevServer>;
|
|
5
|
-
waitForApplicationId(timeoutMs: number): Promise<string | null>;
|
|
7
|
+
waitForApplicationId(timeoutMs: number, shouldKeepWaiting: () => boolean): Promise<string | null>;
|
|
6
8
|
getConfiguredApplicationId(root: string): Promise<string | undefined>;
|
|
7
|
-
startMcpClient(applicationId: string, loadAppModule:
|
|
9
|
+
startMcpClient(applicationId: string, loadAppModule: LoadAppModule): Promise<unknown>;
|
|
8
10
|
stopMcpClient(): void;
|
|
9
11
|
watchApplicationShutdown(onShutdown: () => void): void;
|
|
10
|
-
|
|
12
|
+
watchUncaughtErrors(onUncaughtError: (cause: unknown) => void): void;
|
|
13
|
+
getApplicationInstance(): ApplicationInstance;
|
|
11
14
|
installShutdownHandlers(onSignal: () => void | Promise<void>): void;
|
|
12
15
|
quitDefaultApplication(): void;
|
|
13
16
|
performRefresh: () => void;
|
|
14
17
|
isRefreshBoundary(module: Record<string, unknown>): boolean;
|
|
18
|
+
staleExportName(previous: Record<string, unknown>, current: Record<string, unknown>): string | null;
|
|
19
|
+
readFileRevision(path: string): Promise<string>;
|
|
15
20
|
plugins(): Plugin[];
|
|
16
21
|
log(message: string): void;
|
|
17
22
|
exit(code: number): never;
|
|
@@ -20,6 +25,5 @@ type DevRunner = {
|
|
|
20
25
|
run(entryPath: string): Promise<void>;
|
|
21
26
|
};
|
|
22
27
|
declare const createDevRunner: (deps: DevRunnerDeps) => DevRunner;
|
|
23
|
-
export type { DevServer } from "./vite-dev-server.js";
|
|
24
28
|
export { createDevRunner, type DevRunnerDeps };
|
|
25
29
|
//# sourceMappingURL=runner.d.ts.map
|
package/dist/dev/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/dev/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/dev/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQjD,OAAO,EAEH,KAAK,SAAS,EAIjB,MAAM,sBAAsB,CAAC;AAE9B,KAAK,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtE,KAAK,aAAa,GAAG;IACjB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClG,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF,aAAa,IAAI,IAAI,CAAC;IACtB,wBAAwB,CAAC,UAAU,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACvD,mBAAmB,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IACrE,sBAAsB,IAAI,mBAAmB,CAAC;IAC9C,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,sBAAsB,IAAI,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC5D,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACpG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,IAAI,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7B,CAAC;AAEF,KAAK,SAAS,GAAG;IACb,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAijBF,QAAA,MAAM,eAAe,GAAI,MAAM,aAAa,KAAG,SAe7C,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,CAAC"}
|