@dxos/app-framework 0.8.4-main.bc674ce → 0.8.4-main.bcb3aa67d6
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/.storybook/main.mts +1 -3
- package/dist/lib/browser/{capability-7PCNSWBT.mjs → capability-4NSF2SOO.mjs} +16 -11
- package/dist/lib/browser/capability-4NSF2SOO.mjs.map +7 -0
- package/dist/lib/browser/capability-EB3UKSKA.mjs +35 -0
- package/dist/lib/browser/capability-EB3UKSKA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FMZN33N4.mjs → chunk-27FZETIA.mjs} +324 -181
- package/dist/lib/browser/chunk-27FZETIA.mjs.map +7 -0
- package/dist/lib/browser/chunk-CV7I2AAB.mjs +80 -0
- package/dist/lib/browser/chunk-CV7I2AAB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6Y7PZV72.mjs → chunk-FL2XTEJH.mjs} +3 -4
- package/dist/lib/browser/chunk-FL2XTEJH.mjs.map +7 -0
- package/dist/lib/browser/chunk-H7OMDDGW.mjs +42 -0
- package/dist/lib/browser/chunk-H7OMDDGW.mjs.map +7 -0
- package/dist/lib/browser/chunk-HDQXX5DC.mjs +157 -0
- package/dist/lib/browser/chunk-HDQXX5DC.mjs.map +7 -0
- package/dist/lib/browser/chunk-I34GF4NG.mjs +34 -0
- package/dist/lib/browser/chunk-I34GF4NG.mjs.map +7 -0
- package/dist/lib/browser/chunk-KNBRTZVK.mjs +892 -0
- package/dist/lib/browser/chunk-KNBRTZVK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7IQHKD4U.mjs → chunk-NO7R7QHA.mjs} +4 -7
- package/dist/lib/browser/chunk-NO7R7QHA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TCLLRCS3.mjs → chunk-P2E7VMRF.mjs} +10 -7
- package/dist/lib/browser/chunk-P2E7VMRF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PKQT6C53.mjs → chunk-QSXYHXCE.mjs} +3 -2
- package/dist/lib/browser/chunk-QSXYHXCE.mjs.map +7 -0
- package/dist/lib/browser/chunk-RFSO3JRG.mjs +1 -0
- package/dist/lib/browser/chunk-TGX63LTL.mjs +8 -0
- package/dist/lib/browser/{chunk-FHQTHCX7.mjs.map → chunk-TGX63LTL.mjs.map} +1 -1
- package/dist/lib/browser/cli/index.mjs +90 -0
- package/dist/lib/browser/cli/index.mjs.map +7 -0
- package/dist/lib/browser/common/activation-events.mjs +24 -0
- package/dist/lib/browser/common/capabilities.mjs +46 -0
- package/dist/lib/browser/core/activation-event.mjs +1 -1
- package/dist/lib/browser/core/capability.mjs +1 -1
- package/dist/lib/browser/core/plugin-manager.mjs +4 -4
- package/dist/lib/browser/core/plugin.mjs +6 -4
- package/dist/lib/browser/core/url-loader.mjs +12 -0
- package/dist/lib/browser/index.mjs +40 -131
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/invoker-capability-P7KPBTP3.mjs +43 -0
- package/dist/lib/browser/invoker-capability-P7KPBTP3.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +56 -34
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/browser/{react → ui}/index.mjs +19 -21
- package/dist/lib/browser/ui/index.mjs.map +7 -0
- package/dist/lib/node-esm/{capability-CFLQ2QQU.mjs → capability-CB3MNEI3.mjs} +16 -11
- package/dist/lib/node-esm/capability-CB3MNEI3.mjs.map +7 -0
- package/dist/lib/node-esm/capability-CMROGK7R.mjs +36 -0
- package/dist/lib/node-esm/capability-CMROGK7R.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-STMXUEPO.mjs → chunk-37NG7SIN.mjs} +3 -4
- package/dist/lib/node-esm/chunk-37NG7SIN.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-7JPKC7OM.mjs +893 -0
- package/dist/lib/node-esm/chunk-7JPKC7OM.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-7PPVTBYR.mjs +81 -0
- package/dist/lib/node-esm/chunk-7PPVTBYR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BQ56U4QX.mjs +43 -0
- package/dist/lib/node-esm/chunk-BQ56U4QX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GT6OKM5I.mjs → chunk-CG6UBBZZ.mjs} +10 -7
- package/dist/lib/node-esm/chunk-CG6UBBZZ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EL3R25OQ.mjs +2 -0
- package/dist/lib/node-esm/chunk-EL3R25OQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-663A54LQ.mjs → chunk-EXYTXQ47.mjs} +4 -7
- package/dist/lib/node-esm/chunk-EXYTXQ47.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-UEWJDI2L.mjs → chunk-FKE4Z3D6.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-UEWJDI2L.mjs.map → chunk-FKE4Z3D6.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-OXXXRCQX.mjs +158 -0
- package/dist/lib/node-esm/chunk-OXXXRCQX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs +35 -0
- package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XYQTBFPA.mjs → chunk-YH44RHP6.mjs} +324 -181
- package/dist/lib/node-esm/chunk-YH44RHP6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7OWSHPYK.mjs → chunk-ZZ7CKK6W.mjs} +3 -2
- package/dist/lib/node-esm/chunk-ZZ7CKK6W.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +91 -0
- package/dist/lib/node-esm/cli/index.mjs.map +7 -0
- package/dist/lib/node-esm/common/activation-events.mjs +25 -0
- package/dist/lib/node-esm/common/activation-events.mjs.map +7 -0
- package/dist/lib/node-esm/common/capabilities.mjs +47 -0
- package/dist/lib/node-esm/common/capabilities.mjs.map +7 -0
- package/dist/lib/node-esm/core/activation-event.mjs +1 -1
- package/dist/lib/node-esm/core/capability.mjs +1 -1
- package/dist/lib/node-esm/core/plugin-manager.mjs +4 -4
- package/dist/lib/node-esm/core/plugin.mjs +6 -4
- package/dist/lib/node-esm/core/url-loader.mjs +13 -0
- package/dist/lib/node-esm/core/url-loader.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +40 -131
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/invoker-capability-3C5H46ZY.mjs +44 -0
- package/dist/lib/node-esm/invoker-capability-3C5H46ZY.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +56 -34
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/{react → ui}/index.mjs +19 -21
- package/dist/lib/node-esm/ui/index.mjs.map +7 -0
- package/dist/plugin/node-esm/index.mjs +384 -0
- package/dist/plugin/node-esm/index.mjs.map +7 -0
- package/dist/plugin/node-esm/meta.json +1 -0
- package/dist/types/src/{cli.d.ts → cli/cli.d.ts} +2 -2
- package/dist/types/src/cli/cli.d.ts.map +1 -0
- package/dist/types/src/cli/index.d.ts +2 -0
- package/dist/types/src/cli/index.d.ts.map +1 -0
- package/dist/types/src/common/activation-events.d.ts +27 -0
- package/dist/types/src/common/activation-events.d.ts.map +1 -0
- package/dist/types/src/common/capabilities.d.ts +110 -0
- package/dist/types/src/common/capabilities.d.ts.map +1 -0
- package/dist/types/src/common/index.d.ts +4 -9
- package/dist/types/src/common/index.d.ts.map +1 -1
- package/dist/types/src/common/operations.d.ts +8 -369
- package/dist/types/src/common/operations.d.ts.map +1 -1
- package/dist/types/src/common/translations.d.ts +0 -9
- package/dist/types/src/common/translations.d.ts.map +1 -1
- package/dist/types/src/core/activation-event.d.ts +1 -1
- package/dist/types/src/core/activation-event.d.ts.map +1 -1
- package/dist/types/src/core/capability.d.ts +7 -7
- package/dist/types/src/core/capability.d.ts.map +1 -1
- package/dist/types/src/core/index.d.ts +1 -0
- package/dist/types/src/core/index.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager.d.ts +9 -2
- package/dist/types/src/core/plugin-manager.d.ts.map +1 -1
- package/dist/types/src/core/plugin.d.ts +6 -1
- package/dist/types/src/core/plugin.d.ts.map +1 -1
- package/dist/types/src/core/url-loader.d.ts +25 -0
- package/dist/types/src/core/url-loader.d.ts.map +1 -0
- package/dist/types/src/core/url-loader.test.d.ts +2 -0
- package/dist/types/src/core/url-loader.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/capability.d.ts +1 -1
- package/dist/types/src/plugin-operation/history/errors.d.ts +30 -3
- package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +11 -3
- package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/invoker-capability.d.ts +1 -1
- package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/testing.d.ts +26 -77
- package/dist/types/src/plugin-operation/testing.d.ts.map +1 -1
- package/dist/types/src/plugin-runtime/capability.d.ts +2 -2
- package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -1
- package/dist/types/src/testing/withPluginManager.d.ts +1 -1
- package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
- package/dist/types/src/{react → ui/components/App}/App.d.ts +3 -2
- package/dist/types/src/ui/components/App/App.d.ts.map +1 -0
- package/dist/types/src/{react/Surface.stories.d.ts → ui/components/App/App.stories.d.ts} +7 -2
- package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -0
- package/dist/types/src/ui/components/App/index.d.ts +2 -0
- package/dist/types/src/ui/components/App/index.d.ts.map +1 -0
- package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -0
- package/dist/types/src/{react → ui/components/PluginManager}/PluginManagerProvider.d.ts +1 -1
- package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -0
- package/dist/types/src/ui/components/PluginManager/index.d.ts +2 -0
- package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +12 -0
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -0
- package/dist/types/src/{react/App.stories.d.ts → ui/components/Surface/SurfaceComponent.stories.d.ts} +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +48 -0
- package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/context.d.ts +5 -0
- package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/index.d.ts +26 -0
- package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -0
- package/dist/types/src/{common/surface.d.ts → ui/components/Surface/types.d.ts} +20 -18
- package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -0
- package/dist/types/src/ui/components/index.d.ts +4 -0
- package/dist/types/src/ui/components/index.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/index.d.ts +6 -0
- package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
- package/dist/types/src/{react → ui/hooks}/useApp.d.ts +26 -9
- package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
- package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
- package/dist/types/src/{react → ui/hooks}/useCapabilities.d.ts +6 -1
- package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
- package/dist/types/src/{react/common.d.ts → ui/hooks/useSettingsState.d.ts} +1 -5
- package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
- package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
- package/dist/types/src/ui/index.d.ts +3 -0
- package/dist/types/src/ui/index.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/composer-plugin.d.ts +18 -0
- package/dist/types/src/vite-plugin/composer-plugin.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/import-map-plugin.d.ts +16 -0
- package/dist/types/src/vite-plugin/import-map-plugin.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/index.d.ts +3 -0
- package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/packages.d.ts +7 -0
- package/dist/types/src/vite-plugin/packages.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/moon.yml +20 -6
- package/package.json +91 -64
- package/src/{cli.ts → cli/cli.ts} +10 -10
- package/src/{playground/debug → cli}/index.ts +1 -1
- package/src/common/activation-events.ts +44 -0
- package/src/common/capabilities.ts +172 -0
- package/src/common/index.ts +4 -9
- package/src/common/operations.ts +6 -382
- package/src/common/translations.ts +0 -12
- package/src/context.ts +1 -1
- package/src/core/activation-event.ts +5 -2
- package/src/core/capability-manager.ts +1 -1
- package/src/core/capability.ts +11 -10
- package/src/core/index.ts +1 -0
- package/src/core/plugin-manager.test.ts +313 -44
- package/src/core/plugin-manager.ts +344 -157
- package/src/core/plugin.ts +10 -2
- package/src/core/url-loader.test.ts +79 -0
- package/src/core/url-loader.ts +148 -0
- package/src/index.ts +1 -3
- package/src/plugin-operation/OperationPlugin.ts +5 -5
- package/src/plugin-operation/history/capability.ts +5 -5
- package/src/plugin-operation/history/errors.ts +2 -6
- package/src/plugin-operation/history/history-tracker.test.ts +36 -42
- package/src/plugin-operation/history/undo-mapping.ts +6 -3
- package/src/plugin-operation/history/undo-registry.test.ts +3 -3
- package/src/plugin-operation/invoker-capability.ts +21 -7
- package/src/plugin-operation/meta.ts +1 -1
- package/src/plugin-operation/testing.ts +25 -45
- package/src/plugin-runtime/RuntimePlugin.ts +4 -4
- package/src/plugin-runtime/capability.ts +5 -5
- package/src/plugin-runtime/meta.ts +1 -1
- package/src/testing/service.ts +6 -6
- package/src/testing/withPluginManager.stories.tsx +6 -6
- package/src/testing/withPluginManager.tsx +46 -19
- package/src/ui/components/App/App.stories.tsx +92 -0
- package/src/{react → ui/components/App}/App.tsx +9 -11
- package/src/{playground/layout → ui/components/App}/index.ts +1 -1
- package/src/{react → ui/components/PluginManager}/PluginManagerContext.stories.tsx +13 -14
- package/src/{react → ui/components/PluginManager}/PluginManagerProvider.ts +1 -1
- package/src/ui/components/PluginManager/index.ts +5 -0
- package/src/{react/Surface.stories.tsx → ui/components/Surface/SurfaceComponent.stories.tsx} +28 -24
- package/src/{react/Surface.tsx → ui/components/Surface/SurfaceComponent.tsx} +48 -58
- package/src/{react → ui/components/Surface}/SurfaceInfo.tsx +2 -2
- package/src/ui/components/Surface/SurfaceProfilerContext.tsx +207 -0
- package/src/ui/components/Surface/context.ts +12 -0
- package/src/ui/components/Surface/index.ts +35 -0
- package/src/{common/surface.ts → ui/components/Surface/types.ts} +22 -25
- package/src/ui/components/index.ts +7 -0
- package/src/ui/hooks/index.ts +9 -0
- package/src/ui/hooks/useApp.test.tsx +159 -0
- package/src/{react → ui/hooks}/useApp.tsx +110 -30
- package/src/{react → ui/hooks}/useCapabilities.ts +9 -5
- package/src/{react/common.ts → ui/hooks/useSettingsState.ts} +0 -11
- package/src/ui/hooks/useSurface.ts +13 -0
- package/src/ui/index.ts +6 -0
- package/src/vite-plugin/composer-plugin.ts +128 -0
- package/src/vite-plugin/import-map-plugin.ts +315 -0
- package/src/vite-plugin/index.ts +6 -0
- package/src/vite-plugin/packages.ts +29 -0
- package/tsconfig.json +4 -28
- package/tsconfig.node.json +2 -4
- package/typedoc.json +2 -4
- package/vitest.config.ts +1 -1
- package/dist/lib/browser/app-graph-builder-M2VPYQC6.mjs +0 -149
- package/dist/lib/browser/app-graph-builder-M2VPYQC6.mjs.map +0 -7
- package/dist/lib/browser/capability-7PCNSWBT.mjs.map +0 -7
- package/dist/lib/browser/capability-KP3PFEXD.mjs +0 -31
- package/dist/lib/browser/capability-KP3PFEXD.mjs.map +0 -7
- package/dist/lib/browser/chunk-6Y7PZV72.mjs.map +0 -7
- package/dist/lib/browser/chunk-7IQHKD4U.mjs.map +0 -7
- package/dist/lib/browser/chunk-BLQJSGL3.mjs +0 -732
- package/dist/lib/browser/chunk-BLQJSGL3.mjs.map +0 -7
- package/dist/lib/browser/chunk-FHQTHCX7.mjs +0 -8
- package/dist/lib/browser/chunk-FMZN33N4.mjs.map +0 -7
- package/dist/lib/browser/chunk-H4WPA7U7.mjs +0 -77
- package/dist/lib/browser/chunk-H4WPA7U7.mjs.map +0 -7
- package/dist/lib/browser/chunk-PKQT6C53.mjs.map +0 -7
- package/dist/lib/browser/chunk-TCLLRCS3.mjs.map +0 -7
- package/dist/lib/browser/chunk-XYNO72GQ.mjs +0 -746
- package/dist/lib/browser/chunk-XYNO72GQ.mjs.map +0 -7
- package/dist/lib/browser/common/index.mjs +0 -38
- package/dist/lib/browser/invoker-capability-SZRSTHEH.mjs +0 -32
- package/dist/lib/browser/invoker-capability-SZRSTHEH.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-6MP2MYOY.mjs +0 -64
- package/dist/lib/browser/operation-resolver-6MP2MYOY.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-LROHGJEM.mjs +0 -150
- package/dist/lib/node-esm/app-graph-builder-LROHGJEM.mjs.map +0 -7
- package/dist/lib/node-esm/capability-CFLQ2QQU.mjs.map +0 -7
- package/dist/lib/node-esm/capability-RCUNM2M7.mjs +0 -32
- package/dist/lib/node-esm/capability-RCUNM2M7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-663A54LQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6WXBT3EC.mjs +0 -747
- package/dist/lib/node-esm/chunk-6WXBT3EC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7OWSHPYK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GQEBIGKD.mjs +0 -733
- package/dist/lib/node-esm/chunk-GQEBIGKD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GT6OKM5I.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-STMXUEPO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XR6NMKEP.mjs +0 -78
- package/dist/lib/node-esm/chunk-XR6NMKEP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XYQTBFPA.mjs.map +0 -7
- package/dist/lib/node-esm/common/index.mjs +0 -39
- package/dist/lib/node-esm/invoker-capability-PNMA5JOS.mjs +0 -33
- package/dist/lib/node-esm/invoker-capability-PNMA5JOS.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-7YWDMTNU.mjs +0 -65
- package/dist/lib/node-esm/operation-resolver-7YWDMTNU.mjs.map +0 -7
- package/dist/types/src/cli.d.ts.map +0 -1
- package/dist/types/src/common/activation-event.d.ts +0 -66
- package/dist/types/src/common/activation-event.d.ts.map +0 -1
- package/dist/types/src/common/capability.d.ts +0 -265
- package/dist/types/src/common/capability.d.ts.map +0 -1
- package/dist/types/src/common/collaboration.d.ts +0 -26
- package/dist/types/src/common/collaboration.d.ts.map +0 -1
- package/dist/types/src/common/file.d.ts +0 -14
- package/dist/types/src/common/file.d.ts.map +0 -1
- package/dist/types/src/common/graph.d.ts +0 -21
- package/dist/types/src/common/graph.d.ts.map +0 -1
- package/dist/types/src/common/plugin.d.ts +0 -201
- package/dist/types/src/common/plugin.d.ts.map +0 -1
- package/dist/types/src/common/surface.d.ts.map +0 -1
- package/dist/types/src/playground/debug/Debug.d.ts +0 -8
- package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
- package/dist/types/src/playground/debug/index.d.ts +0 -2
- package/dist/types/src/playground/debug/index.d.ts.map +0 -1
- package/dist/types/src/playground/debug/plugin.d.ts +0 -3
- package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/generator/Main.d.ts +0 -8
- package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
- package/dist/types/src/playground/generator/Toolbar.d.ts +0 -8
- package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
- package/dist/types/src/playground/generator/generator.d.ts +0 -19
- package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
- package/dist/types/src/playground/generator/index.d.ts +0 -3
- package/dist/types/src/playground/generator/index.d.ts.map +0 -1
- package/dist/types/src/playground/generator/plugin.d.ts +0 -3
- package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/layout/Layout.d.ts +0 -10
- package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
- package/dist/types/src/playground/layout/index.d.ts +0 -2
- package/dist/types/src/playground/layout/index.d.ts.map +0 -1
- package/dist/types/src/playground/layout/plugin.d.ts +0 -3
- package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/logger/Toolbar.d.ts +0 -8
- package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
- package/dist/types/src/playground/logger/index.d.ts +0 -2
- package/dist/types/src/playground/logger/index.d.ts.map +0 -1
- package/dist/types/src/playground/logger/plugin.d.ts +0 -3
- package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/logger/schema.d.ts +0 -27
- package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
- package/dist/types/src/playground/playground.stories.d.ts +0 -11
- package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -3
- package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/actions.d.ts +0 -61
- package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -6
- package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/index.d.ts +0 -3
- package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/meta.d.ts +0 -3
- package/dist/types/src/plugin-settings/meta.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/operation-resolver.d.ts +0 -6
- package/dist/types/src/plugin-settings/operation-resolver.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/translations.d.ts +0 -11
- package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
- package/dist/types/src/react/App.d.ts.map +0 -1
- package/dist/types/src/react/App.stories.d.ts.map +0 -1
- package/dist/types/src/react/DefaultFallback.d.ts +0 -8
- package/dist/types/src/react/DefaultFallback.d.ts.map +0 -1
- package/dist/types/src/react/ErrorBoundary.d.ts +0 -30
- package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
- package/dist/types/src/react/PluginManagerContext.stories.d.ts.map +0 -1
- package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
- package/dist/types/src/react/Surface.d.ts +0 -14
- package/dist/types/src/react/Surface.d.ts.map +0 -1
- package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
- package/dist/types/src/react/SurfaceInfo.d.ts.map +0 -1
- package/dist/types/src/react/common.d.ts.map +0 -1
- package/dist/types/src/react/index.d.ts +0 -9
- package/dist/types/src/react/index.d.ts.map +0 -1
- package/dist/types/src/react/types.d.ts +0 -12
- package/dist/types/src/react/types.d.ts.map +0 -1
- package/dist/types/src/react/useApp.d.ts.map +0 -1
- package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
- package/dist/types/src/react/useLoading.d.ts.map +0 -1
- package/dist/types/src/react/useOperationResolver.d.ts +0 -19
- package/dist/types/src/react/useOperationResolver.d.ts.map +0 -1
- package/src/common/activation-event.ts +0 -99
- package/src/common/capability.ts +0 -343
- package/src/common/collaboration.ts +0 -31
- package/src/common/file.ts +0 -22
- package/src/common/graph.ts +0 -30
- package/src/common/plugin.ts +0 -364
- package/src/playground/debug/Debug.tsx +0 -49
- package/src/playground/debug/plugin.ts +0 -16
- package/src/playground/generator/Main.tsx +0 -80
- package/src/playground/generator/Toolbar.tsx +0 -57
- package/src/playground/generator/generator.ts +0 -48
- package/src/playground/generator/index.ts +0 -6
- package/src/playground/generator/plugin.ts +0 -21
- package/src/playground/layout/Layout.tsx +0 -37
- package/src/playground/layout/plugin.ts +0 -18
- package/src/playground/logger/Toolbar.tsx +0 -33
- package/src/playground/logger/index.ts +0 -5
- package/src/playground/logger/plugin.ts +0 -42
- package/src/playground/logger/schema.ts +0 -22
- package/src/playground/playground.stories.tsx +0 -54
- package/src/plugin-settings/SettingsPlugin.ts +0 -19
- package/src/plugin-settings/actions.ts +0 -64
- package/src/plugin-settings/app-graph-builder.ts +0 -140
- package/src/plugin-settings/index.ts +0 -6
- package/src/plugin-settings/meta.ts +0 -10
- package/src/plugin-settings/operation-resolver.ts +0 -55
- package/src/plugin-settings/translations.ts +0 -19
- package/src/react/App.stories.tsx +0 -63
- package/src/react/DefaultFallback.tsx +0 -26
- package/src/react/ErrorBoundary.tsx +0 -56
- package/src/react/index.ts +0 -14
- package/src/react/types.ts +0 -27
- package/src/react/useOperationResolver.ts +0 -40
- /package/dist/lib/{node-esm/react/index.mjs.map → browser/chunk-RFSO3JRG.mjs.map} +0 -0
- /package/dist/lib/{node-esm/common/index.mjs.map → browser/common/activation-events.mjs.map} +0 -0
- /package/dist/lib/browser/{react/index.mjs.map → common/capabilities.mjs.map} +0 -0
- /package/dist/lib/browser/{common/index.mjs.map → core/url-loader.mjs.map} +0 -0
- /package/dist/types/src/{react → ui/components/PluginManager}/PluginManagerContext.stories.d.ts +0 -0
- /package/dist/types/src/{react → ui/components/Surface}/SurfaceInfo.d.ts +0 -0
- /package/dist/types/src/{react → ui/hooks}/useLoading.d.ts +0 -0
- /package/src/{react → ui/hooks}/useLoading.tsx +0 -0
|
@@ -1,47 +1,45 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
App,
|
|
4
|
+
LoadingState,
|
|
4
5
|
PluginManagerProvider,
|
|
5
6
|
Surface,
|
|
6
|
-
isSurfaceAvailable,
|
|
7
7
|
useApp,
|
|
8
|
-
useAppGraph,
|
|
9
8
|
useAtomCapability,
|
|
10
9
|
useAtomCapabilityState,
|
|
11
10
|
useCapabilities,
|
|
12
11
|
useCapability,
|
|
13
|
-
|
|
12
|
+
useLoading,
|
|
14
13
|
useOperationInvoker,
|
|
15
|
-
useOperationResolver,
|
|
16
14
|
usePluginManager,
|
|
17
15
|
useSettingsState,
|
|
18
|
-
useSurface
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
16
|
+
useSurface
|
|
17
|
+
} from "../chunk-7JPKC7OM.mjs";
|
|
18
|
+
import "../chunk-FKE4Z3D6.mjs";
|
|
19
|
+
import "../chunk-BQ56U4QX.mjs";
|
|
20
|
+
import "../chunk-7PPVTBYR.mjs";
|
|
21
|
+
import "../chunk-WZCSOX5Q.mjs";
|
|
22
|
+
import "../chunk-EL3R25OQ.mjs";
|
|
23
|
+
import "../chunk-OXXXRCQX.mjs";
|
|
24
|
+
import "../chunk-YH44RHP6.mjs";
|
|
25
|
+
import "../chunk-ZZ7CKK6W.mjs";
|
|
26
|
+
import "../chunk-CG6UBBZZ.mjs";
|
|
27
|
+
import "../chunk-37NG7SIN.mjs";
|
|
27
28
|
import "../chunk-HSLMI22Q.mjs";
|
|
28
29
|
export {
|
|
29
|
-
|
|
30
|
+
App,
|
|
31
|
+
LoadingState,
|
|
30
32
|
PluginManagerProvider,
|
|
31
33
|
Surface,
|
|
32
|
-
isSurfaceAvailable,
|
|
33
34
|
useApp,
|
|
34
|
-
useAppGraph,
|
|
35
35
|
useAtomCapability,
|
|
36
36
|
useAtomCapabilityState,
|
|
37
37
|
useCapabilities,
|
|
38
38
|
useCapability,
|
|
39
|
-
|
|
39
|
+
useLoading,
|
|
40
40
|
useOperationInvoker,
|
|
41
|
-
useOperationResolver,
|
|
42
41
|
usePluginManager,
|
|
43
42
|
useSettingsState,
|
|
44
|
-
useSurface
|
|
45
|
-
useSurfaces
|
|
43
|
+
useSurface
|
|
46
44
|
};
|
|
47
45
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// src/vite-plugin/packages.ts
|
|
4
|
+
var DEFAULT_PACKAGES = [
|
|
5
|
+
"@dxos/app-framework",
|
|
6
|
+
"@dxos/app-graph",
|
|
7
|
+
"@dxos/app-toolkit",
|
|
8
|
+
"@dxos/client",
|
|
9
|
+
"@dxos/client-protocol",
|
|
10
|
+
"@dxos/client-services",
|
|
11
|
+
"@dxos/config",
|
|
12
|
+
"@dxos/echo",
|
|
13
|
+
"@dxos/lit-ui",
|
|
14
|
+
"@dxos/react-client",
|
|
15
|
+
"@dxos/react-ui",
|
|
16
|
+
"@dxos/schema",
|
|
17
|
+
"@dxos/ui-theme",
|
|
18
|
+
"@effect/platform",
|
|
19
|
+
"effect",
|
|
20
|
+
"lit",
|
|
21
|
+
"react",
|
|
22
|
+
"react-dom"
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
// src/vite-plugin/composer-plugin.ts
|
|
26
|
+
var JSX_DEV_RUNTIME = "react/jsx-dev-runtime";
|
|
27
|
+
var EXTERNAL_DEPS = DEFAULT_PACKAGES.map((pkg) => new RegExp(`^${pkg.replace("/", "\\/")}(\\/|$)`));
|
|
28
|
+
var isExternal = (id) => id !== JSX_DEV_RUNTIME && EXTERNAL_DEPS.some((pattern) => pattern.test(id));
|
|
29
|
+
var composerPlugin = (options) => {
|
|
30
|
+
const entry = options?.entry ?? "src/plugin.tsx";
|
|
31
|
+
const port = options?.port ?? 3967;
|
|
32
|
+
const resolved = /* @__PURE__ */ new Set();
|
|
33
|
+
let base = "/";
|
|
34
|
+
return [
|
|
35
|
+
// Plugin 1: Configure vite for library-mode builds with externalized deps.
|
|
36
|
+
{
|
|
37
|
+
name: "composer-plugin",
|
|
38
|
+
config: () => ({
|
|
39
|
+
server: {
|
|
40
|
+
port,
|
|
41
|
+
// Allow the Composer host (different origin) to dynamically import plugin modules.
|
|
42
|
+
cors: true
|
|
43
|
+
},
|
|
44
|
+
preview: {
|
|
45
|
+
port
|
|
46
|
+
},
|
|
47
|
+
build: {
|
|
48
|
+
sourcemap: true,
|
|
49
|
+
lib: {
|
|
50
|
+
entry,
|
|
51
|
+
formats: [
|
|
52
|
+
"es"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
rolldownOptions: {
|
|
56
|
+
external: EXTERNAL_DEPS
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
},
|
|
61
|
+
// Plugin 2: Dev-time externalization.
|
|
62
|
+
// Vite's dev server doesn't use rollup externals, so we need to handle it manually.
|
|
63
|
+
// We intercept imports of shared deps at resolve time, mark them external, and then
|
|
64
|
+
// strip the `/@id/` prefix that Vite's import analysis injects for external modules.
|
|
65
|
+
{
|
|
66
|
+
name: "composer-plugin:externalize",
|
|
67
|
+
enforce: "pre",
|
|
68
|
+
apply: "serve",
|
|
69
|
+
// Exclude shared packages from Vite's dependency pre-bundling.
|
|
70
|
+
config: () => ({
|
|
71
|
+
optimizeDeps: {
|
|
72
|
+
exclude: DEFAULT_PACKAGES
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
// Mark shared deps as external so Vite doesn't try to bundle them.
|
|
76
|
+
resolveId: (id) => {
|
|
77
|
+
if (isExternal(id)) {
|
|
78
|
+
resolved.add(id);
|
|
79
|
+
return {
|
|
80
|
+
id,
|
|
81
|
+
external: true
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
// Return a stub for any externalized module that Vite tries to load directly.
|
|
86
|
+
load: (id) => {
|
|
87
|
+
if (resolved.has(id)) {
|
|
88
|
+
return {
|
|
89
|
+
code: "export default {};"
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
// After all plugins are resolved, inject a late-stage transform plugin that strips
|
|
94
|
+
// the `/@id/` prefix from externalized bare specifiers in the output.
|
|
95
|
+
// This must run after Vite's internal import analysis which rewrites bare specifiers.
|
|
96
|
+
configResolved: (config) => {
|
|
97
|
+
base = config.base ?? "/";
|
|
98
|
+
config.plugins.push({
|
|
99
|
+
name: "composer-plugin:strip-prefix",
|
|
100
|
+
transform: (code) => {
|
|
101
|
+
if (resolved.size === 0) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const escaped = [
|
|
105
|
+
...resolved
|
|
106
|
+
].map((s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|");
|
|
107
|
+
const pattern = new RegExp(`${base}@id/(${escaped})`, "g");
|
|
108
|
+
if (pattern.test(code)) {
|
|
109
|
+
return code.replace(pattern, (_, dep) => dep);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
// Plugin 3: JSX dev runtime shim.
|
|
116
|
+
// React refresh (used by @vitejs/plugin-react) imports from `react/jsx-dev-runtime`,
|
|
117
|
+
// but the externalized React only exposes `react/jsx-runtime`. This virtual module
|
|
118
|
+
// bridges the gap by re-exporting jsx-runtime's functions under jsx-dev-runtime's API.
|
|
119
|
+
{
|
|
120
|
+
name: "composer-plugin:jsx-dev-shim",
|
|
121
|
+
enforce: "pre",
|
|
122
|
+
apply: "serve",
|
|
123
|
+
resolveId: (id) => id === JSX_DEV_RUNTIME ? `\0${JSX_DEV_RUNTIME}` : void 0,
|
|
124
|
+
load: (id) => id === `\0${JSX_DEV_RUNTIME}` ? [
|
|
125
|
+
'import { jsx, jsxs, Fragment } from "react/jsx-runtime";',
|
|
126
|
+
"export { Fragment };",
|
|
127
|
+
"export function jsxDEV(type, props, key, isStaticChildren) {",
|
|
128
|
+
" return isStaticChildren ? jsxs(type, props, key) : jsx(type, props, key);",
|
|
129
|
+
"}"
|
|
130
|
+
].join("\n") : void 0
|
|
131
|
+
}
|
|
132
|
+
];
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
// src/vite-plugin/import-map-plugin.ts
|
|
136
|
+
import { init as initCjsLexer, parse as parseCjs } from "cjs-module-lexer";
|
|
137
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
138
|
+
import { createRequire as nodeCreateRequire } from "node:module";
|
|
139
|
+
import path from "node:path";
|
|
140
|
+
var require2 = nodeCreateRequire(import.meta.url);
|
|
141
|
+
var trimQueryString = (id) => id.replace(/\?.*$/, "");
|
|
142
|
+
var resolvedIdIsEsmModule = (resolvedId) => {
|
|
143
|
+
const file = trimQueryString(resolvedId);
|
|
144
|
+
if (file.endsWith(".mjs") || file.endsWith(".mts")) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
if (file.endsWith(".cjs") || file.endsWith(".cts")) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
let directory = path.dirname(file);
|
|
151
|
+
while (directory !== path.dirname(directory)) {
|
|
152
|
+
const packageJsonPath = path.join(directory, "package.json");
|
|
153
|
+
if (existsSync(packageJsonPath)) {
|
|
154
|
+
try {
|
|
155
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, "utf8"));
|
|
156
|
+
return pkg.type === "module";
|
|
157
|
+
} catch {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
directory = path.dirname(directory);
|
|
162
|
+
}
|
|
163
|
+
return false;
|
|
164
|
+
};
|
|
165
|
+
var findPackageJsonPath = (resolvedId, packageName) => {
|
|
166
|
+
let directory = path.dirname(trimQueryString(resolvedId));
|
|
167
|
+
while (directory !== path.dirname(directory)) {
|
|
168
|
+
const packageJsonPath = path.join(directory, "package.json");
|
|
169
|
+
if (existsSync(packageJsonPath)) {
|
|
170
|
+
try {
|
|
171
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8"));
|
|
172
|
+
if (packageJson.name === packageName) {
|
|
173
|
+
return packageJsonPath;
|
|
174
|
+
}
|
|
175
|
+
} catch {
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
directory = path.dirname(directory);
|
|
179
|
+
}
|
|
180
|
+
return void 0;
|
|
181
|
+
};
|
|
182
|
+
var resolvePackageJsonPath = (packageName) => {
|
|
183
|
+
try {
|
|
184
|
+
return findPackageJsonPath(require2.resolve(packageName), packageName);
|
|
185
|
+
} catch {
|
|
186
|
+
return void 0;
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
var importMapExcludedSubpaths = {
|
|
190
|
+
"@dxos/app-framework": /* @__PURE__ */ new Set([
|
|
191
|
+
"vite-plugin"
|
|
192
|
+
]),
|
|
193
|
+
"@dxos/ui-theme": /* @__PURE__ */ new Set([
|
|
194
|
+
"plugin"
|
|
195
|
+
])
|
|
196
|
+
};
|
|
197
|
+
var getPackageEntrypoints = (packageName, packageJsonPath) => {
|
|
198
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8"));
|
|
199
|
+
const exportsField = packageJson.exports;
|
|
200
|
+
if (!exportsField || typeof exportsField === "string" || Array.isArray(exportsField)) {
|
|
201
|
+
return [
|
|
202
|
+
packageName
|
|
203
|
+
];
|
|
204
|
+
}
|
|
205
|
+
const exportKeys = Object.keys(exportsField);
|
|
206
|
+
if (!exportKeys.some((key) => key.startsWith("."))) {
|
|
207
|
+
return [
|
|
208
|
+
packageName
|
|
209
|
+
];
|
|
210
|
+
}
|
|
211
|
+
const excluded = importMapExcludedSubpaths[packageName];
|
|
212
|
+
const modules = exportKeys.flatMap((key) => {
|
|
213
|
+
if (key === ".") {
|
|
214
|
+
return [
|
|
215
|
+
packageName
|
|
216
|
+
];
|
|
217
|
+
}
|
|
218
|
+
if (!key.startsWith("./") || key === "./package.json" || key.includes("*")) {
|
|
219
|
+
return [];
|
|
220
|
+
}
|
|
221
|
+
const subpath = key.slice(2);
|
|
222
|
+
if (excluded?.has(subpath)) {
|
|
223
|
+
return [];
|
|
224
|
+
}
|
|
225
|
+
if (/\.(css|pcss|scss|less|json|node|wasm|html|svg|png|jpg)$/.test(subpath)) {
|
|
226
|
+
return [];
|
|
227
|
+
}
|
|
228
|
+
return [
|
|
229
|
+
`${packageName}/${subpath}`
|
|
230
|
+
];
|
|
231
|
+
});
|
|
232
|
+
return modules.length > 0 ? modules : [
|
|
233
|
+
packageName
|
|
234
|
+
];
|
|
235
|
+
};
|
|
236
|
+
var getCjsNamedExports = (filePath, seen = /* @__PURE__ */ new Set()) => {
|
|
237
|
+
const normalized = trimQueryString(filePath);
|
|
238
|
+
if (seen.has(normalized)) {
|
|
239
|
+
return [];
|
|
240
|
+
}
|
|
241
|
+
seen.add(normalized);
|
|
242
|
+
try {
|
|
243
|
+
const source = readFileSync(normalized, "utf8");
|
|
244
|
+
const { exports: directExports, reexports } = parseCjs(source);
|
|
245
|
+
const reexportedNames = reexports.flatMap((reexport) => {
|
|
246
|
+
const resolved = path.resolve(path.dirname(normalized), reexport);
|
|
247
|
+
const candidates = [
|
|
248
|
+
resolved,
|
|
249
|
+
`${resolved}.js`,
|
|
250
|
+
`${resolved}.cjs`
|
|
251
|
+
];
|
|
252
|
+
const found = candidates.find((candidate) => existsSync(candidate));
|
|
253
|
+
return found ? getCjsNamedExports(found, seen) : [];
|
|
254
|
+
});
|
|
255
|
+
return [
|
|
256
|
+
.../* @__PURE__ */ new Set([
|
|
257
|
+
...directExports,
|
|
258
|
+
...reexportedNames
|
|
259
|
+
])
|
|
260
|
+
].filter((name) => name !== "default" && name !== "__esModule");
|
|
261
|
+
} catch {
|
|
262
|
+
return [];
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
var importMapPlugin = (options) => {
|
|
266
|
+
const packages = options?.packages ?? DEFAULT_PACKAGES;
|
|
267
|
+
const WRAPPER_PREFIX = "\0import-map:";
|
|
268
|
+
const chunkRefIds = {};
|
|
269
|
+
const resolvedIds = {};
|
|
270
|
+
let imports = {};
|
|
271
|
+
let modules = [];
|
|
272
|
+
let importMapIsDev = false;
|
|
273
|
+
let base = "/";
|
|
274
|
+
return [
|
|
275
|
+
// Phase 1: Resolve all package entrypoints and emit chunks (or record dev paths).
|
|
276
|
+
{
|
|
277
|
+
name: "import-map:get-chunk-ref-ids",
|
|
278
|
+
configResolved(config) {
|
|
279
|
+
base = config.base ?? "/";
|
|
280
|
+
},
|
|
281
|
+
async buildStart() {
|
|
282
|
+
importMapIsDev = this.environment.mode === "dev";
|
|
283
|
+
await initCjsLexer();
|
|
284
|
+
modules = [
|
|
285
|
+
...new Set((await Promise.all(packages.map(async (packageName) => {
|
|
286
|
+
const packageJsonPath = resolvePackageJsonPath(packageName);
|
|
287
|
+
if (!packageJsonPath) {
|
|
288
|
+
this.warn(`Unable to locate package.json for import map package: ${packageName}`);
|
|
289
|
+
return [
|
|
290
|
+
packageName
|
|
291
|
+
];
|
|
292
|
+
}
|
|
293
|
+
return getPackageEntrypoints(packageName, packageJsonPath);
|
|
294
|
+
}))).flat())
|
|
295
|
+
];
|
|
296
|
+
for (const specifier of modules) {
|
|
297
|
+
const resolved = await this.resolve(specifier);
|
|
298
|
+
if (!resolved) {
|
|
299
|
+
this.warn(`Import map: unable to resolve "${specifier}"; omitting from import map.`);
|
|
300
|
+
continue;
|
|
301
|
+
}
|
|
302
|
+
if (importMapIsDev) {
|
|
303
|
+
imports[specifier] = trimQueryString(resolved.id);
|
|
304
|
+
} else {
|
|
305
|
+
resolvedIds[specifier] = resolved.id;
|
|
306
|
+
chunkRefIds[specifier] = this.emitFile({
|
|
307
|
+
type: "chunk",
|
|
308
|
+
id: `${WRAPPER_PREFIX}${specifier}`,
|
|
309
|
+
preserveSignature: "strict"
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
// Intercept virtual wrapper IDs so Rollup doesn't try to resolve them as files.
|
|
315
|
+
resolveId(id) {
|
|
316
|
+
if (id.startsWith(WRAPPER_PREFIX)) {
|
|
317
|
+
return id;
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
// Generate the source for each virtual wrapper module.
|
|
321
|
+
// For CJS packages, explicitly re-export named exports (discovered via static analysis)
|
|
322
|
+
// because Rollup's `export *` interop doesn't preserve them for CJS.
|
|
323
|
+
load(id) {
|
|
324
|
+
if (!id.startsWith(WRAPPER_PREFIX)) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
const specifier = id.slice(WRAPPER_PREFIX.length);
|
|
328
|
+
const resolvedId = resolvedIds[specifier];
|
|
329
|
+
if (!resolvedId) {
|
|
330
|
+
return `export * from ${JSON.stringify(specifier)};
|
|
331
|
+
`;
|
|
332
|
+
}
|
|
333
|
+
const filePath = trimQueryString(resolvedId);
|
|
334
|
+
const isCjs = filePath.endsWith(".cjs") || !filePath.endsWith(".mjs") && !resolvedIdIsEsmModule(filePath);
|
|
335
|
+
if (isCjs) {
|
|
336
|
+
const named = getCjsNamedExports(filePath);
|
|
337
|
+
if (named.length > 0) {
|
|
338
|
+
return `export { default, ${named.join(", ")} } from ${JSON.stringify(specifier)};
|
|
339
|
+
`;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return `export * from ${JSON.stringify(specifier)};
|
|
343
|
+
`;
|
|
344
|
+
},
|
|
345
|
+
// After bundling, map each specifier to the URL of its emitted chunk.
|
|
346
|
+
generateBundle() {
|
|
347
|
+
if (importMapIsDev) {
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
imports = Object.fromEntries(modules.filter((specifier) => chunkRefIds[specifier] !== void 0).map((specifier) => [
|
|
351
|
+
specifier,
|
|
352
|
+
`${base}${this.getFileName(chunkRefIds[specifier])}`
|
|
353
|
+
]));
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
// Phase 2: Inject the import map into the HTML as a <script type="importmap"> tag.
|
|
357
|
+
{
|
|
358
|
+
name: "import-map:transform-index-html",
|
|
359
|
+
enforce: "post",
|
|
360
|
+
transformIndexHtml(html) {
|
|
361
|
+
const tags = [
|
|
362
|
+
{
|
|
363
|
+
tag: "script",
|
|
364
|
+
attrs: {
|
|
365
|
+
type: "importmap"
|
|
366
|
+
},
|
|
367
|
+
children: JSON.stringify({
|
|
368
|
+
imports
|
|
369
|
+
}, null, 2)
|
|
370
|
+
}
|
|
371
|
+
];
|
|
372
|
+
return {
|
|
373
|
+
html,
|
|
374
|
+
tags
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
];
|
|
379
|
+
};
|
|
380
|
+
export {
|
|
381
|
+
composerPlugin,
|
|
382
|
+
importMapPlugin
|
|
383
|
+
};
|
|
384
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/vite-plugin/packages.ts", "../../../src/vite-plugin/composer-plugin.ts", "../../../src/vite-plugin/import-map-plugin.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\n/**\n * Packages shared between the Composer host app and remote plugins.\n * The host provides these via import map so plugins don't bundle their own copies.\n * Used as the default list for both `importMapPlugin` (host) and `composerPlugin` (plugin).\n */\nexport const DEFAULT_PACKAGES = [\n '@dxos/app-framework',\n '@dxos/app-graph',\n '@dxos/app-toolkit',\n '@dxos/client',\n '@dxos/client-protocol',\n '@dxos/client-services',\n '@dxos/config',\n '@dxos/echo',\n '@dxos/lit-ui',\n '@dxos/react-client',\n '@dxos/react-ui',\n '@dxos/schema',\n '@dxos/ui-theme',\n '@effect/platform',\n 'effect',\n 'lit',\n 'react',\n 'react-dom',\n];\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { type Plugin } from 'vite';\n\nimport { DEFAULT_PACKAGES } from './packages';\n\nconst JSX_DEV_RUNTIME = 'react/jsx-dev-runtime';\n\n/** Regex patterns matching each shared package and all its subpath imports. */\nconst EXTERNAL_DEPS = DEFAULT_PACKAGES.map((pkg) => new RegExp(`^${pkg.replace('/', '\\\\/')}(\\\\/|$)`));\n\n/** Checks whether an import should be externalized (all shared deps except jsx-dev-runtime). */\nconst isExternal = (id: string) => id !== JSX_DEV_RUNTIME && EXTERNAL_DEPS.some((pattern) => pattern.test(id));\n\n/**\n * Vite plugin for **external Composer plugin projects**. Configures the build to produce\n * an ESM bundle that externalizes all framework dependencies, which the Composer host app\n * provides at runtime via import map.\n *\n * Handles three concerns:\n * 1. Build config — lib mode entry point, ES format output, rollup externals.\n * 2. Dev externalization — marks shared deps as external during `vite serve` and strips\n * the `/@id/` prefix that Vite's import analysis adds to external bare specifiers.\n * 3. JSX dev runtime shim — bridges `react/jsx-dev-runtime` (used by React refresh in dev)\n * to `react/jsx-runtime` (which is what the externalized React provides).\n */\nexport const composerPlugin = (options?: { entry?: string; port?: number }): Plugin[] => {\n const entry = options?.entry ?? 'src/plugin.tsx';\n const port = options?.port ?? 3967;\n const resolved = new Set<string>();\n let base = '/';\n\n return [\n // Plugin 1: Configure vite for library-mode builds with externalized deps.\n {\n name: 'composer-plugin',\n config: () => ({\n server: {\n port,\n // Allow the Composer host (different origin) to dynamically import plugin modules.\n cors: true,\n },\n preview: { port },\n build: {\n sourcemap: true,\n lib: {\n entry,\n formats: ['es'],\n },\n rolldownOptions: {\n external: EXTERNAL_DEPS,\n },\n },\n }),\n },\n\n // Plugin 2: Dev-time externalization.\n // Vite's dev server doesn't use rollup externals, so we need to handle it manually.\n // We intercept imports of shared deps at resolve time, mark them external, and then\n // strip the `/@id/` prefix that Vite's import analysis injects for external modules.\n {\n name: 'composer-plugin:externalize',\n enforce: 'pre',\n apply: 'serve',\n // Exclude shared packages from Vite's dependency pre-bundling.\n config: () => ({\n optimizeDeps: {\n exclude: DEFAULT_PACKAGES,\n },\n }),\n // Mark shared deps as external so Vite doesn't try to bundle them.\n resolveId: (id) => {\n if (isExternal(id)) {\n resolved.add(id);\n return { id, external: true };\n }\n },\n // Return a stub for any externalized module that Vite tries to load directly.\n load: (id) => {\n if (resolved.has(id)) {\n return { code: 'export default {};' };\n }\n },\n // After all plugins are resolved, inject a late-stage transform plugin that strips\n // the `/@id/` prefix from externalized bare specifiers in the output.\n // This must run after Vite's internal import analysis which rewrites bare specifiers.\n configResolved: (config) => {\n base = config.base ?? '/';\n (config.plugins as Plugin[]).push({\n name: 'composer-plugin:strip-prefix',\n transform: (code: string) => {\n if (resolved.size === 0) {\n return;\n }\n const escaped = [...resolved].map((s) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')).join('|');\n const pattern = new RegExp(`${base}@id/(${escaped})`, 'g');\n if (pattern.test(code)) {\n return code.replace(pattern, (_: string, dep: string) => dep);\n }\n },\n });\n },\n },\n\n // Plugin 3: JSX dev runtime shim.\n // React refresh (used by @vitejs/plugin-react) imports from `react/jsx-dev-runtime`,\n // but the externalized React only exposes `react/jsx-runtime`. This virtual module\n // bridges the gap by re-exporting jsx-runtime's functions under jsx-dev-runtime's API.\n {\n name: 'composer-plugin:jsx-dev-shim',\n enforce: 'pre',\n apply: 'serve',\n resolveId: (id) => (id === JSX_DEV_RUNTIME ? `\\0${JSX_DEV_RUNTIME}` : undefined),\n load: (id) =>\n id === `\\0${JSX_DEV_RUNTIME}`\n ? [\n 'import { jsx, jsxs, Fragment } from \"react/jsx-runtime\";',\n 'export { Fragment };',\n 'export function jsxDEV(type, props, key, isStaticChildren) {',\n ' return isStaticChildren ? jsxs(type, props, key) : jsx(type, props, key);',\n '}',\n ].join('\\n')\n : undefined,\n },\n ];\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { init as initCjsLexer, parse as parseCjs } from 'cjs-module-lexer';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { createRequire as nodeCreateRequire } from 'node:module';\nimport path from 'node:path';\n\nimport { type Plugin } from 'vite';\n\nimport { DEFAULT_PACKAGES } from './packages';\n\nconst require = nodeCreateRequire(import.meta.url);\n\n//\n// Import map helpers.\n// These utilities support `importMapPlugin` by resolving package entrypoints,\n// detecting module formats (ESM vs CJS), and extracting named exports from CJS bundles.\n//\n\n/** Strips vite query strings (e.g. `?v=123`) from resolved module IDs. */\nconst trimQueryString = (id: string) => id.replace(/\\?.*$/, '');\n\n/**\n * Determines whether a resolved file is an ESM module by checking file extension\n * first (.mjs/.cjs), then walking up to the nearest package.json for `\"type\": \"module\"`.\n */\nconst resolvedIdIsEsmModule = (resolvedId: string): boolean => {\n const file = trimQueryString(resolvedId);\n if (file.endsWith('.mjs') || file.endsWith('.mts')) {\n return true;\n }\n if (file.endsWith('.cjs') || file.endsWith('.cts')) {\n return false;\n }\n\n let directory = path.dirname(file);\n while (directory !== path.dirname(directory)) {\n const packageJsonPath = path.join(directory, 'package.json');\n if (existsSync(packageJsonPath)) {\n try {\n const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as { type?: string };\n return pkg.type === 'module';\n } catch {\n return false;\n }\n }\n directory = path.dirname(directory);\n }\n\n return false;\n};\n\n/**\n * Walks up from a resolved file path to find the package.json whose `\"name\"` matches\n * the given package name. Returns the path to that package.json, or undefined.\n */\nconst findPackageJsonPath = (resolvedId: string, packageName: string): string | undefined => {\n let directory = path.dirname(trimQueryString(resolvedId));\n\n while (directory !== path.dirname(directory)) {\n const packageJsonPath = path.join(directory, 'package.json');\n if (existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as { name?: string };\n if (packageJson.name === packageName) {\n return packageJsonPath;\n }\n } catch {}\n }\n\n directory = path.dirname(directory);\n }\n\n return undefined;\n};\n\n/** Resolves a package name to its package.json path using Node's require.resolve. */\nconst resolvePackageJsonPath = (packageName: string): string | undefined => {\n try {\n return findPackageJsonPath(require.resolve(packageName), packageName);\n } catch {\n return undefined;\n }\n};\n\n/**\n * Subpath exports that should be excluded from the import map.\n * These are node-only entrypoints (vite plugins, native addons) that shouldn't be pre-bundled for the browser.\n */\nconst importMapExcludedSubpaths: Readonly<Record<string, ReadonlySet<string>>> = {\n '@dxos/app-framework': new Set(['vite-plugin']),\n '@dxos/ui-theme': new Set(['plugin']),\n};\n\n/**\n * Reads a package's `exports` field and returns all JS subpath entrypoints as bare specifiers\n * (e.g. `@dxos/client`, `@dxos/client/echo`). Skips wildcard patterns, non-JS assets,\n * and excluded subpaths. Falls back to just the package name if exports is absent or simple.\n */\nconst getPackageEntrypoints = (packageName: string, packageJsonPath: string): string[] => {\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as {\n exports?: Record<string, unknown> | string | string[];\n };\n const exportsField = packageJson.exports;\n\n if (!exportsField || typeof exportsField === 'string' || Array.isArray(exportsField)) {\n return [packageName];\n }\n\n const exportKeys = Object.keys(exportsField);\n if (!exportKeys.some((key) => key.startsWith('.'))) {\n return [packageName];\n }\n\n const excluded = importMapExcludedSubpaths[packageName];\n const modules = exportKeys.flatMap((key) => {\n if (key === '.') {\n return [packageName];\n }\n\n if (!key.startsWith('./') || key === './package.json' || key.includes('*')) {\n return [];\n }\n\n const subpath = key.slice(2);\n if (excluded?.has(subpath)) {\n return [];\n }\n\n if (/\\.(css|pcss|scss|less|json|node|wasm|html|svg|png|jpg)$/.test(subpath)) {\n return [];\n }\n\n return [`${packageName}/${subpath}`];\n });\n\n return modules.length > 0 ? modules : [packageName];\n};\n\n/**\n * Statically analyzes a CJS file to extract named exports using cjs-module-lexer.\n * Follows re-exports (e.g. react's index.js re-exports from cjs/react.development.js)\n * and deduplicates. Filters out `default` and `__esModule` pseudo-exports.\n */\nconst getCjsNamedExports = (filePath: string, seen = new Set<string>()): string[] => {\n const normalized = trimQueryString(filePath);\n if (seen.has(normalized)) {\n return [];\n }\n seen.add(normalized);\n\n try {\n const source = readFileSync(normalized, 'utf8');\n const { exports: directExports, reexports } = parseCjs(source);\n\n const reexportedNames = reexports.flatMap((reexport) => {\n const resolved = path.resolve(path.dirname(normalized), reexport);\n const candidates = [resolved, `${resolved}.js`, `${resolved}.cjs`];\n const found = candidates.find((candidate) => existsSync(candidate));\n return found ? getCjsNamedExports(found, seen) : [];\n });\n\n return [...new Set([...directExports, ...reexportedNames])].filter(\n (name) => name !== 'default' && name !== '__esModule',\n );\n } catch {\n return [];\n }\n};\n\n/**\n * Vite plugin for the **host app** (Composer). Generates a browser import map so that\n * shared packages are loaded once and reused by both the host and any remote plugins.\n *\n * In dev mode, maps bare specifiers directly to resolved file paths.\n * In production, emits a dedicated chunk per specifier via virtual wrapper modules,\n * then injects a `<script type=\"importmap\">` tag into the HTML with the chunk URLs.\n *\n * Virtual wrappers are needed because directly emitting chunks for CJS packages loses\n * their named exports due to Rollup's interop. The wrapper re-exports them explicitly.\n */\nexport const importMapPlugin = (options?: { packages?: string[] }): Plugin[] => {\n const packages = options?.packages ?? DEFAULT_PACKAGES;\n const WRAPPER_PREFIX = '\\0import-map:';\n const chunkRefIds: Record<string, string> = {};\n const resolvedIds: Record<string, string> = {};\n let imports: Record<string, string> = {};\n let modules: string[] = [];\n let importMapIsDev = false;\n let base = '/';\n\n return [\n // Phase 1: Resolve all package entrypoints and emit chunks (or record dev paths).\n {\n name: 'import-map:get-chunk-ref-ids',\n configResolved(config) {\n base = config.base ?? '/';\n },\n async buildStart() {\n importMapIsDev = this.environment.mode === 'dev';\n await initCjsLexer();\n\n // Expand each package name into its full set of subpath entrypoints\n // (e.g. '@dxos/client' -> ['@dxos/client', '@dxos/client/echo', ...]).\n modules = [\n ...new Set(\n (\n await Promise.all(\n packages.map(async (packageName) => {\n const packageJsonPath = resolvePackageJsonPath(packageName);\n if (!packageJsonPath) {\n this.warn(`Unable to locate package.json for import map package: ${packageName}`);\n return [packageName];\n }\n\n return getPackageEntrypoints(packageName, packageJsonPath);\n }),\n )\n ).flat(),\n ),\n ];\n\n for (const specifier of modules) {\n const resolved = await this.resolve(specifier);\n if (!resolved) {\n this.warn(`Import map: unable to resolve \"${specifier}\"; omitting from import map.`);\n continue;\n }\n\n if (importMapIsDev) {\n // Dev: map bare specifier directly to the resolved file path.\n imports[specifier] = trimQueryString(resolved.id);\n } else {\n // Prod: emit a virtual wrapper chunk that re-exports from the real module.\n resolvedIds[specifier] = resolved.id;\n chunkRefIds[specifier] = this.emitFile({\n type: 'chunk',\n id: `${WRAPPER_PREFIX}${specifier}`,\n preserveSignature: 'strict',\n });\n }\n }\n },\n\n // Intercept virtual wrapper IDs so Rollup doesn't try to resolve them as files.\n resolveId(id) {\n if (id.startsWith(WRAPPER_PREFIX)) {\n return id;\n }\n },\n\n // Generate the source for each virtual wrapper module.\n // For CJS packages, explicitly re-export named exports (discovered via static analysis)\n // because Rollup's `export *` interop doesn't preserve them for CJS.\n load(id) {\n if (!id.startsWith(WRAPPER_PREFIX)) {\n return;\n }\n const specifier = id.slice(WRAPPER_PREFIX.length);\n const resolvedId = resolvedIds[specifier];\n if (!resolvedId) {\n return `export * from ${JSON.stringify(specifier)};\\n`;\n }\n\n const filePath = trimQueryString(resolvedId);\n const isCjs = filePath.endsWith('.cjs') || (!filePath.endsWith('.mjs') && !resolvedIdIsEsmModule(filePath));\n\n if (isCjs) {\n const named = getCjsNamedExports(filePath);\n if (named.length > 0) {\n return `export { default, ${named.join(', ')} } from ${JSON.stringify(specifier)};\\n`;\n }\n }\n return `export * from ${JSON.stringify(specifier)};\\n`;\n },\n\n // After bundling, map each specifier to the URL of its emitted chunk.\n generateBundle() {\n if (importMapIsDev) {\n return;\n }\n\n imports = Object.fromEntries(\n modules\n .filter((specifier) => chunkRefIds[specifier] !== undefined)\n .map((specifier) => [specifier, `${base}${this.getFileName(chunkRefIds[specifier])}`]),\n );\n },\n },\n\n // Phase 2: Inject the import map into the HTML as a <script type=\"importmap\"> tag.\n {\n name: 'import-map:transform-index-html',\n enforce: 'post',\n transformIndexHtml(html: string) {\n const tags = [\n {\n tag: 'script',\n attrs: {\n type: 'importmap',\n },\n children: JSON.stringify({ imports }, null, 2),\n },\n ];\n\n return {\n html,\n tags,\n };\n },\n },\n ];\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DEFAULT_PACKAGES", "JSX_DEV_RUNTIME", "EXTERNAL_DEPS", "DEFAULT_PACKAGES", "map", "pkg", "RegExp", "replace", "isExternal", "id", "some", "pattern", "test", "composerPlugin", "options", "entry", "port", "resolved", "Set", "base", "name", "config", "server", "cors", "preview", "build", "sourcemap", "lib", "formats", "rolldownOptions", "external", "enforce", "apply", "optimizeDeps", "exclude", "resolveId", "add", "load", "has", "code", "configResolved", "plugins", "push", "transform", "size", "escaped", "s", "join", "_", "dep", "undefined", "init", "initCjsLexer", "parse", "parseCjs", "existsSync", "readFileSync", "createRequire", "nodeCreateRequire", "path", "require", "nodeCreateRequire", "url", "trimQueryString", "id", "replace", "resolvedIdIsEsmModule", "resolvedId", "file", "endsWith", "directory", "path", "dirname", "packageJsonPath", "join", "existsSync", "pkg", "JSON", "parse", "readFileSync", "type", "findPackageJsonPath", "packageName", "packageJson", "name", "undefined", "resolvePackageJsonPath", "resolve", "importMapExcludedSubpaths", "Set", "getPackageEntrypoints", "exportsField", "exports", "Array", "isArray", "exportKeys", "Object", "keys", "some", "key", "startsWith", "excluded", "modules", "flatMap", "includes", "subpath", "slice", "has", "test", "length", "getCjsNamedExports", "filePath", "seen", "normalized", "add", "source", "directExports", "reexports", "parseCjs", "reexportedNames", "reexport", "resolved", "candidates", "found", "find", "candidate", "filter", "importMapPlugin", "options", "packages", "DEFAULT_PACKAGES", "WRAPPER_PREFIX", "chunkRefIds", "resolvedIds", "imports", "importMapIsDev", "base", "configResolved", "config", "buildStart", "environment", "mode", "initCjsLexer", "Promise", "all", "map", "warn", "flat", "specifier", "emitFile", "preserveSignature", "resolveId", "load", "stringify", "isCjs", "named", "generateBundle", "fromEntries", "getFileName", "enforce", "transformIndexHtml", "html", "tags", "tag", "attrs", "children"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"src/vite-plugin/packages.ts":{"bytes":2142,"imports":[],"format":"esm"},"src/vite-plugin/composer-plugin.ts":{"bytes":15848,"imports":[{"path":"src/vite-plugin/packages.ts","kind":"import-statement","original":"./packages"}],"format":"esm"},"src/vite-plugin/import-map-plugin.ts":{"bytes":35400,"imports":[{"path":"cjs-module-lexer","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:module","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"src/vite-plugin/packages.ts","kind":"import-statement","original":"./packages"}],"format":"esm"},"src/vite-plugin/index.ts":{"bytes":597,"imports":[{"path":"src/vite-plugin/composer-plugin.ts","kind":"import-statement","original":"./composer-plugin"},{"path":"src/vite-plugin/import-map-plugin.ts","kind":"import-statement","original":"./import-map-plugin"}],"format":"esm"}},"outputs":{"dist/plugin/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":25434},"dist/plugin/node-esm/index.mjs":{"imports":[{"path":"cjs-module-lexer","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:module","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true}],"exports":["composerPlugin","importMapPlugin"],"entryPoint":"src/vite-plugin/index.ts","inputs":{"src/vite-plugin/packages.ts":{"bytesInOutput":371},"src/vite-plugin/composer-plugin.ts":{"bytesInOutput":3835},"src/vite-plugin/index.ts":{"bytesInOutput":0},"src/vite-plugin/import-map-plugin.ts":{"bytesInOutput":7754}},"bytes":12247}}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Command from '@effect/cli/Command';
|
|
2
2
|
import * as Effect from 'effect/Effect';
|
|
3
3
|
import * as Layer from 'effect/Layer';
|
|
4
|
-
import { Plugin, PluginManager } from '
|
|
4
|
+
import { Plugin, PluginManager } from '../core';
|
|
5
5
|
type SubCommands = [Command.Command<any, any, any, any>, ...Array<Command.Command<any, any, any, any>>];
|
|
6
6
|
export type CreateCliAppOptions = {
|
|
7
7
|
rootCommand: Command.Command<any, any, any, any>;
|
|
@@ -20,7 +20,7 @@ export type CreateCliAppOptions = {
|
|
|
20
20
|
* @example
|
|
21
21
|
* const plugins = [ClientPluginCLI()];
|
|
22
22
|
* const manager = await createCliApp({ plugins });
|
|
23
|
-
* const commands = manager.capabilities.getAll(
|
|
23
|
+
* const commands = manager.capabilities.getAll(Capabilities.Command);
|
|
24
24
|
*
|
|
25
25
|
* @param options.pluginManager Optional existing PluginManager instance.
|
|
26
26
|
* @param options.pluginLoader Function to load plugins by ID.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/cli/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,EAAc,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW5D,KAAK,WAAW,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAExG,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IAC5C,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY;;;;;gBAuDvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ActivationEvent as ActivationEvent$ } from '../core';
|
|
2
|
+
/**
|
|
3
|
+
* Fired when the app is started.
|
|
4
|
+
*/
|
|
5
|
+
export declare const Startup: ActivationEvent$.ActivationEvent;
|
|
6
|
+
/**
|
|
7
|
+
* Fired to load any newly available surfaces.
|
|
8
|
+
*/
|
|
9
|
+
export declare const SetupReactSurface: ActivationEvent$.ActivationEvent;
|
|
10
|
+
/**
|
|
11
|
+
* Fired before the operation invoker is activated.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SetupOperationHandler: ActivationEvent$.ActivationEvent;
|
|
14
|
+
/**
|
|
15
|
+
* Fired before the managed runtime is created.
|
|
16
|
+
* Plugins should contribute their Layer capabilities before this event.
|
|
17
|
+
*/
|
|
18
|
+
export declare const SetupLayer: ActivationEvent$.ActivationEvent;
|
|
19
|
+
/**
|
|
20
|
+
* Fired after the operation invoker is ready.
|
|
21
|
+
*/
|
|
22
|
+
export declare const OperationInvokerReady: ActivationEvent$.ActivationEvent;
|
|
23
|
+
/**
|
|
24
|
+
* Fired after the managed runtime is ready.
|
|
25
|
+
*/
|
|
26
|
+
export declare const ManagedRuntimeReady: ActivationEvent$.ActivationEvent;
|
|
27
|
+
//# sourceMappingURL=activation-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activation-events.d.ts","sourceRoot":"","sources":["../../../../src/common/activation-events.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,OAAO,kCAAgE,CAAC;AAMrF;;GAEG;AACH,eAAO,MAAM,iBAAiB,kCAA4E,CAAC;AAE3G;;GAEG;AACH,eAAO,MAAM,qBAAqB,kCAAgF,CAAC;AAEnH;;;GAGG;AACH,eAAO,MAAM,UAAU,kCAAoE,CAAC;AAM5F;;GAEG;AACH,eAAO,MAAM,qBAAqB,kCAAgF,CAAC;AAEnH;;GAEG;AACH,eAAO,MAAM,mBAAmB,kCAA8E,CAAC"}
|