xanix 1.0.17 → 1.0.19
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/dist/AppRoot.d.ts +6 -0
- package/dist/AppRoot.js +15 -0
- package/dist/bin/bundler/Cache.d.ts +1 -0
- package/dist/bin/bundler/Cache.js +210 -0
- package/dist/bin/bundler/External.d.ts +3 -0
- package/dist/bin/bundler/External.js +6 -0
- package/dist/bin/bundler/buildClient.js +2 -2
- package/dist/bin/bundler/buildServer.js +2 -2
- package/dist/bin/bundler/cache/buildCache.d.ts +3 -0
- package/dist/bin/bundler/cache/buildCache.js +76 -0
- package/dist/bin/bundler/cache/index.d.ts +3 -0
- package/dist/bin/bundler/cache/index.js +216 -0
- package/dist/bin/bundler/cache/manifest.d.ts +3 -0
- package/dist/bin/bundler/cache/manifest.js +27 -0
- package/dist/bin/bundler/cache/plugin/Transformer.d.ts +3 -0
- package/dist/bin/bundler/cache/plugin/Transformer.js +42 -0
- package/dist/bin/bundler/cache/types.d.ts +8 -0
- package/dist/bin/bundler/cache/types.js +1 -0
- package/dist/bin/bundler/cache/utils.d.ts +5 -0
- package/dist/bin/bundler/cache/utils.js +56 -0
- package/dist/bin/bundler/client/build.d.ts +2 -0
- package/dist/bin/bundler/client/build.js +61 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformCache.d.ts +15 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformCache.js +39 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformCacheFunction.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformCacheFunction.js +32 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformCreateSession.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformCreateSession.js +29 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformExpress.d.ts +9 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformExpress.js +26 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformPage.d.ts +29 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformPage.js +77 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformReactContext.d.ts +17 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformReactContext.js +101 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformServerAction.d.ts +15 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformServerAction.js +42 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformServerFunction.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformServerFunction.js +32 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformUseServer.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/Transformer/TransformUseServer.js +31 -0
- package/dist/bin/bundler/client/plugins/Transformer/transformModuleCache.d.ts +15 -0
- package/dist/bin/bundler/client/plugins/Transformer/transformModuleCache.js +120 -0
- package/dist/bin/bundler/client/plugins/Transformer copy.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/Transformer copy.js +70 -0
- package/dist/bin/bundler/client/plugins/Transformer.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/Transformer.js +26 -0
- package/dist/bin/bundler/client/plugins/VirtualDev.d.ts +2 -0
- package/dist/bin/bundler/client/plugins/VirtualDev.js +34 -0
- package/dist/bin/bundler/client/plugins/XanixPages.d.ts +2 -0
- package/dist/bin/bundler/client/plugins/XanixPages.js +37 -0
- package/dist/bin/bundler/client/plugins/XanixReactRefresh.d.ts +2 -0
- package/dist/bin/bundler/client/plugins/XanixReactRefresh.js +22 -0
- package/dist/bin/bundler/client/plugins/replacer/cacheFunctionReplacer.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/replacer/cacheFunctionReplacer.js +28 -0
- package/dist/bin/bundler/client/plugins/replacer/serverFunctionReplacer.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/replacer/serverFunctionReplacer.js +28 -0
- package/dist/bin/bundler/client/plugins/replacer/useServerReplacer.d.ts +3 -0
- package/dist/bin/bundler/client/plugins/replacer/useServerReplacer.js +38 -0
- package/dist/bin/bundler/client/watch.config.d.ts +3 -0
- package/dist/bin/bundler/client/watch.config.js +39 -0
- package/dist/bin/bundler/client/watch.d.ts +13 -0
- package/dist/bin/bundler/client/watch.js +71 -0
- package/dist/bin/bundler/config/loadEnv.d.ts +20 -0
- package/dist/bin/bundler/config/loadEnv.js +48 -0
- package/dist/bin/bundler/config/output.d.ts +1 -1
- package/dist/bin/bundler/config/output.js +13 -12
- package/dist/bin/bundler/externalResolver-dep.d.ts +3 -0
- package/dist/bin/bundler/externalResolver-dep.js +203 -0
- package/dist/bin/bundler/externalResolver.d.ts +3 -0
- package/dist/bin/bundler/externalResolver.js +203 -0
- package/dist/bin/bundler/plugins/TransformServer/TransformExpress.d.ts +9 -0
- package/dist/bin/bundler/plugins/TransformServer/TransformExpress.js +26 -0
- package/dist/bin/bundler/plugins/TransformServer/TransformPage.d.ts +25 -0
- package/dist/bin/bundler/plugins/TransformServer/TransformPage.js +79 -0
- package/dist/bin/bundler/plugins/TransformServer/index.d.ts +3 -0
- package/dist/bin/bundler/plugins/TransformServer/index.js +103 -0
- package/dist/bin/bundler/plugins/XanixAssets.d.ts +5 -0
- package/dist/bin/bundler/plugins/XanixAssets.js +51 -0
- package/dist/bin/bundler/plugins/XanixCacheDeps-dep.d.ts +2 -0
- package/dist/bin/bundler/plugins/XanixCacheDeps-dep.js +150 -0
- package/dist/bin/bundler/plugins/XanixCacheDeps.d.ts +2 -0
- package/dist/bin/bundler/plugins/XanixCacheDeps.js +150 -0
- package/dist/bin/bundler/plugins/XanixDocument/index.d.ts +1 -1
- package/dist/bin/bundler/plugins/XanixDocument/index.js +20 -10
- package/dist/bin/bundler/plugins/XanixEntryFinder/finder.js +0 -6
- package/dist/bin/bundler/plugins/XanixEntryFinder-dep/finder.d.ts +11 -0
- package/dist/bin/bundler/plugins/XanixEntryFinder-dep/finder.js +149 -0
- package/dist/bin/bundler/plugins/XanixEntryFinder-dep/index.d.ts +6 -0
- package/dist/bin/bundler/plugins/XanixEntryFinder-dep/index.js +37 -0
- package/dist/bin/bundler/plugins/XanixPageTransform/index.d.ts +1 -1
- package/dist/bin/bundler/plugins/XanixPageTransform/index.js +48 -33
- package/dist/bin/bundler/plugins/XanixPageTransform/transformer copy.d.ts +18 -0
- package/dist/bin/bundler/plugins/XanixPageTransform/transformer copy.js +414 -0
- package/dist/bin/bundler/plugins/XanixPageTransform/transformer.d.ts +9 -4
- package/dist/bin/bundler/plugins/XanixPageTransform/transformer.js +477 -302
- package/dist/bin/bundler/plugins/XanixReactRefresh copy.d.ts +2 -0
- package/dist/bin/bundler/plugins/XanixReactRefresh copy.js +121 -0
- package/dist/bin/bundler/plugins/XanixReactRefresh.d.ts +2 -2
- package/dist/bin/bundler/plugins/XanixReactRefresh.js +142 -93
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps/BuildClientCache.d.ts +11 -0
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps/BuildClientCache.js +129 -0
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index copy.d.ts +15 -0
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index copy.js +228 -0
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index.d.ts +7 -5
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps/index.js +156 -21
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps-dep/BuildClientCache.d.ts +11 -0
- package/dist/bin/bundler/{cacheNpmModules.js → plugins/XanixResolveCacheDeps-dep/BuildClientCache.js} +13 -9
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps-dep/index.d.ts +5 -0
- package/dist/bin/bundler/plugins/XanixResolveCacheDeps-dep/index.js +26 -0
- package/dist/bin/bundler/plugins/XanixResolver.d.ts +11 -0
- package/dist/bin/bundler/plugins/XanixResolver.js +55 -0
- package/dist/bin/bundler/plugins/XanixServerTransform.d.ts +1 -1
- package/dist/bin/bundler/plugins/XanixServerTransform.js +193 -116
- package/dist/bin/bundler/plugins/XanixTransform.d.ts +3 -0
- package/dist/bin/bundler/plugins/XanixTransform.js +23 -0
- package/dist/bin/bundler/plugins/XanixTsconfigAlias.d.ts +1 -1
- package/dist/bin/bundler/plugins/XanixUseServer.d.ts +1 -1
- package/dist/bin/bundler/plugins/XanixUseServer.js +308 -245
- package/dist/bin/bundler/plugins/plugins.d.ts +1 -5
- package/dist/bin/bundler/plugins/plugins.js +9 -154
- package/dist/bin/bundler/requireCache.d.ts +3 -0
- package/dist/bin/bundler/requireCache.js +85 -0
- package/dist/bin/bundler/server/build.d.ts +6 -0
- package/dist/bin/bundler/server/build.js +92 -0
- package/dist/bin/bundler/server/plugins/ServerAction.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/ServerAction.js +9 -0
- package/dist/bin/bundler/server/plugins/Transformer/ServerAction.d.ts +11 -0
- package/dist/bin/bundler/server/plugins/Transformer/ServerAction.js +28 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformCache.d.ts +15 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformCache.js +39 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformCacheFunction.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformCacheFunction.js +32 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformCreateSession.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformCreateSession.js +30 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformExpress copy.d.ts +11 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformExpress copy.js +22 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformExpress.d.ts +10 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformExpress.js +19 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformExpressFunction.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformExpressFunction.js +24 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformPage.d.ts +4 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformPage.js +31 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformReactContext.d.ts +17 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformReactContext.js +101 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServer.d.ts +10 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServer.js +19 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServerAction copy.d.ts +14 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServerAction copy.js +38 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServerAction.d.ts +15 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServerAction.js +44 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServerFunction.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformServerFunction.js +32 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformUseServer.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/Transformer/TransformUseServer.js +31 -0
- package/dist/bin/bundler/server/plugins/Transformer copy.d.ts +6 -0
- package/dist/bin/bundler/server/plugins/Transformer copy.js +99 -0
- package/dist/bin/bundler/server/plugins/Transformer.d.ts +7 -0
- package/dist/bin/bundler/server/plugins/Transformer.js +58 -0
- package/dist/bin/bundler/server/plugins/replacer/cacheFunctionReplacer.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/replacer/cacheFunctionReplacer.js +28 -0
- package/dist/bin/bundler/server/plugins/replacer/expressFunctionReplace.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/replacer/expressFunctionReplace.js +24 -0
- package/dist/bin/bundler/server/plugins/replacer/pageReplacer.d.ts +4 -0
- package/dist/bin/bundler/server/plugins/replacer/pageReplacer.js +31 -0
- package/dist/bin/bundler/server/plugins/replacer/serverFunctionReplacer.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/replacer/serverFunctionReplacer.js +28 -0
- package/dist/bin/bundler/server/plugins/replacer/useServerReplacer.d.ts +3 -0
- package/dist/bin/bundler/server/plugins/replacer/useServerReplacer.js +38 -0
- package/dist/bin/bundler/server/types.d.ts +5 -0
- package/dist/bin/bundler/server/types.js +1 -0
- package/dist/bin/bundler/server/watch.config.d.ts +3 -0
- package/dist/bin/bundler/server/watch.config.js +71 -0
- package/dist/bin/bundler/server/watch.d.ts +9 -0
- package/dist/bin/bundler/server/watch.js +59 -0
- package/dist/bin/bundler/watchClient.d.ts +5 -3
- package/dist/bin/bundler/watchClient.js +31 -16
- package/dist/bin/bundler/watchServer.d.ts +2 -2
- package/dist/bin/bundler/watchServer.js +67 -13
- package/dist/bin/cli/build.js +38 -10
- package/dist/bin/cli/create.d.ts +2 -0
- package/dist/bin/cli/create.js +2 -0
- package/dist/bin/cli/dev/dev.d.ts +2 -0
- package/dist/bin/cli/dev/dev.js +178 -0
- package/dist/bin/cli/dev/index.d.ts +2 -0
- package/dist/bin/cli/dev/index.js +114 -0
- package/dist/bin/cli/dev/server.d.ts +1 -0
- package/dist/bin/cli/dev/server.js +95 -0
- package/dist/bin/cli/dev/ws.d.ts +2 -0
- package/dist/bin/cli/dev/ws.js +29 -0
- package/dist/bin/cli/dev.js +120 -72
- package/dist/bin/cli/logs.d.ts +2 -0
- package/dist/bin/cli/logs.js +224 -0
- package/dist/bin/cli/restart.d.ts +2 -0
- package/dist/bin/cli/restart.js +28 -0
- package/dist/bin/cli/resurrect.d.ts +2 -0
- package/dist/bin/cli/resurrect.js +79 -0
- package/dist/bin/cli/save.d.ts +2 -0
- package/dist/bin/cli/save.js +87 -0
- package/dist/bin/cli/start/external.d.ts +2 -0
- package/dist/bin/cli/start/external.js +22 -0
- package/dist/bin/cli/start/index.d.ts +2 -0
- package/dist/bin/cli/start/index.js +27 -0
- package/dist/bin/cli/start/start.d.ts +2 -0
- package/dist/bin/cli/start/start.js +27 -0
- package/dist/bin/cli/start/utils.d.ts +0 -0
- package/dist/bin/cli/start/utils.js +1 -0
- package/dist/bin/cli/start.js +18 -10
- package/dist/bin/cli/startup.d.ts +2 -0
- package/dist/bin/cli/startup.js +170 -0
- package/dist/bin/cli/status.d.ts +2 -0
- package/dist/bin/cli/status.js +23 -0
- package/dist/bin/cli/stop.d.ts +4 -0
- package/dist/bin/cli/stop.js +83 -0
- package/dist/bin/include/callbackReplacer.d.ts +2 -0
- package/dist/bin/include/callbackReplacer.js +91 -0
- package/dist/bin/include/importFinder.d.ts +9 -0
- package/dist/bin/include/importFinder.js +69 -0
- package/dist/bin/include/loadEnv.d.ts +19 -0
- package/dist/bin/include/loadEnv.js +47 -0
- package/dist/bin/include/logger.d.ts +3 -6
- package/dist/bin/include/logger.js +4 -7
- package/dist/bin/include/manifest.d.ts +2 -3
- package/dist/bin/include/manifest.js +7 -23
- package/dist/bin/include/path.d.ts +1 -0
- package/dist/bin/include/path.js +4 -0
- package/dist/bin/include/process.d.ts +12 -0
- package/dist/bin/include/process.js +39 -0
- package/dist/bin/include/sendFinder.d.ts +6 -0
- package/dist/bin/include/sendFinder.js +100 -0
- package/dist/bin/include/spinner.d.ts +9 -0
- package/dist/bin/include/spinner.js +27 -0
- package/dist/bin/include/utils.d.ts +3 -4
- package/dist/bin/include/utils.js +10 -12
- package/dist/bin/index.js +1 -1
- package/dist/bin/modifier/callbackReplacer.d.ts +2 -0
- package/dist/bin/modifier/callbackReplacer.js +97 -0
- package/dist/bin/modifier/importFinder.d.ts +9 -0
- package/dist/bin/modifier/importFinder.js +69 -0
- package/dist/bin/modifier/pageFinder.d.ts +9 -0
- package/dist/bin/modifier/pageFinder.js +135 -0
- package/dist/bin/modifier/sriptCommnet.d.ts +2 -0
- package/dist/bin/modifier/sriptCommnet.js +8 -0
- package/dist/bin/plugins/XanixAssets.d.ts +6 -0
- package/dist/bin/plugins/XanixAssets.js +43 -0
- package/dist/bin/plugins/XanixCss.d.ts +5 -0
- package/dist/bin/plugins/XanixCss.js +57 -0
- package/dist/bin/plugins/XanixDocument/XanixDocument.d.ts +2 -0
- package/dist/bin/plugins/XanixDocument/XanixDocument.js +50 -0
- package/dist/bin/plugins/XanixDocument/index.d.ts +2 -0
- package/dist/bin/plugins/XanixDocument/index.js +50 -0
- package/dist/bin/plugins/XanixDocument.d.ts +2 -0
- package/dist/bin/plugins/XanixDocument.js +39 -0
- package/dist/bin/plugins/XanixPageTransform-dep/index.d.ts +2 -0
- package/dist/bin/plugins/XanixPageTransform-dep/index.js +62 -0
- package/dist/bin/plugins/XanixPageTransform-dep/transformer.d.ts +23 -0
- package/dist/bin/plugins/XanixPageTransform-dep/transformer.js +589 -0
- package/dist/bin/plugins/XanixServerTransform.d.ts +5 -0
- package/dist/bin/plugins/XanixServerTransform.js +207 -0
- package/dist/bin/plugins/XanixTsconfigAlias.d.ts +19 -0
- package/dist/bin/plugins/XanixTsconfigAlias.js +197 -0
- package/dist/bin/plugins/XanixUseServer.d.ts +7 -0
- package/dist/bin/plugins/XanixUseServer.js +445 -0
- package/dist/bin/plugins/plugins.d.ts +8 -0
- package/dist/bin/plugins/plugins.js +31 -0
- package/dist/bin/types.d.ts +2 -8
- package/dist/client-runtime.d.ts +0 -8
- package/dist/client-runtime.js +45 -103
- package/dist/components/BaseDocument.d.ts +1 -1
- package/dist/components/BaseDocument.js +2 -2
- package/dist/components/Body.d.ts +3 -4
- package/dist/components/Body.js +4 -3
- package/dist/components/Document.d.ts +3 -4
- package/dist/components/Document.js +3 -4
- package/dist/components/DocumentContext.d.ts +5 -3
- package/dist/components/Head.d.ts +3 -2
- package/dist/components/Head.js +17 -10
- package/dist/components/Link.d.ts +2 -2
- package/dist/components/Link.js +14 -26
- package/dist/dev.d.ts +1 -0
- package/dist/dev.js +25 -0
- package/dist/hooks/cache.d.ts +19 -0
- package/dist/hooks/cache.js +53 -0
- package/dist/hooks/encript.d.ts +2 -0
- package/dist/hooks/encript.js +30 -0
- package/dist/hooks/server.d.ts +11 -0
- package/dist/hooks/server.js +129 -0
- package/dist/hooks/session.d.ts +18 -0
- package/dist/hooks/session.js +145 -0
- package/dist/hooks/useCookies.d.ts +1 -0
- package/dist/hooks/useCookies.js +9 -40
- package/dist/hooks/usePage.d.ts +2 -2
- package/dist/hooks/usePage.js +2 -5
- package/dist/hooks/useSearchParams.js +30 -88
- package/dist/hooks/useServer.d.ts +20 -0
- package/dist/hooks/useServer.js +91 -0
- package/dist/hooks/useStore.d.ts +13 -0
- package/dist/hooks/useStore.js +45 -0
- package/dist/index.d.ts +19 -6
- package/dist/index.js +11 -7
- package/dist/navigate.d.ts +4 -6
- package/dist/navigate.js +109 -17
- package/dist/outdirs.d.ts +1 -1
- package/dist/outdirs.js +2 -2
- package/dist/react/createContext.d.ts +3 -0
- package/dist/react/createContext.js +11 -0
- package/dist/react/index.d.ts +12 -0
- package/dist/react/index.js +3 -0
- package/dist/server/express/Router.d.ts +2 -0
- package/dist/server/express/Router.js +115 -0
- package/dist/server/express/Ruter.d.ts +2 -0
- package/dist/server/express/Ruter.js +15 -0
- package/dist/server/express/index.d.ts +3 -0
- package/dist/server/express/index.js +90 -0
- package/dist/server/express/page.d.ts +10 -0
- package/dist/server/express/page.js +133 -0
- package/dist/server/index.d.ts +19 -0
- package/dist/server/index.js +44 -0
- package/dist/server/runtime/createServer.js +13 -12
- package/dist/server/runtime/readManifest.js +1 -1
- package/dist/server/runtime/xanixPage.js +9 -15
- package/dist/server/types.d.ts +52 -0
- package/dist/server/types.js +1 -0
- package/dist/types/assets.d.ts +60 -22
- package/dist/types/express.d.ts +8 -4
- package/dist/types/globals.d.ts +0 -8
- package/dist/types/xanix-virtual.d.ts +16 -22
- package/package.json +12 -24
- package/dist/bin/bundler/cacheNpmModules.d.ts +0 -11
- package/dist/bin/bundler/dep-generateClientEntries.d.ts +0 -5
- package/dist/bin/bundler/dep-generateClientEntries.js +0 -25
- package/dist/bin/bundler/generateClientEntries.d.ts +0 -5
- package/dist/bin/bundler/generateClientEntries.js +0 -25
- package/dist/bin/bundler/plugins/xanixUseDataId.d.ts +0 -4
- package/dist/bin/bundler/plugins/xanixUseDataId.js +0 -93
- package/dist/dataLoader.d.ts +0 -11
- package/dist/dataLoader.js +0 -52
- package/dist/db/index.d.ts +0 -2
- package/dist/db/index.js +0 -1
- package/dist/db/test.d.ts +0 -2
- package/dist/db/test.js +0 -1
- package/dist/hooks/useData.d.ts +0 -14
- package/dist/hooks/useData.js +0 -67
- package/dist/hooks/useServer/context.d.ts +0 -7
- package/dist/hooks/useServer/context.js +0 -19
- package/dist/hooks/useServer/core.d.ts +0 -20
- package/dist/hooks/useServer/core.js +0 -72
- package/dist/hooks/useServer/index.d.ts +0 -20
- package/dist/hooks/useServer/index.js +0 -76
- package/dist/hooks/useServer/registerUseServer.d.ts +0 -3
- package/dist/hooks/useServer/registerUseServer.js +0 -5
- package/dist/hooks/useServer/registry.d.ts +0 -7
- package/dist/hooks/useServer/registry.js +0 -12
- package/dist/hooks/useServer/state.d.ts +0 -9
- package/dist/hooks/useServer/state.js +0 -33
- package/dist/theme.d.ts +0 -3
- package/dist/theme.js +0 -10
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { builtinModules } from "node:module";
|
|
4
|
+
export function isPackageImport(source) {
|
|
5
|
+
// Relative import
|
|
6
|
+
if (source.startsWith("./") || source.startsWith("../")) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
// Absolute filesystem path
|
|
10
|
+
if (source.startsWith("/") || /^[A-Za-z]:[\\/]/.test(source)) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
// URL / virtual module
|
|
14
|
+
if (source.startsWith("node:") ||
|
|
15
|
+
source.includes(":") ||
|
|
16
|
+
source.startsWith("\0")) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
// Everything else is a bare package specifier
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
export const makeFilename = (id) => {
|
|
23
|
+
let root = process.cwd().replace(/\\/g, "/").replace(/\/+/g, "/");
|
|
24
|
+
id = id
|
|
25
|
+
.trim()
|
|
26
|
+
.replace(/\\/g, "/")
|
|
27
|
+
.replace(/\/+/g, "-")
|
|
28
|
+
.replace(`${root}/`, "")
|
|
29
|
+
.replace("node_modules/", "")
|
|
30
|
+
.toLowerCase()
|
|
31
|
+
.split("?")[0];
|
|
32
|
+
return id;
|
|
33
|
+
};
|
|
34
|
+
export const writeCacheManifest = async (cached) => {
|
|
35
|
+
const file = path.resolve("node_modules/xanix-cache/manifest.json");
|
|
36
|
+
let manifest = {};
|
|
37
|
+
for (const [key, value] of cached.entries()) {
|
|
38
|
+
manifest[key] = value;
|
|
39
|
+
}
|
|
40
|
+
await fs.promises.writeFile(file, JSON.stringify(manifest, null, 2));
|
|
41
|
+
};
|
|
42
|
+
export const readCacheManifest = async () => {
|
|
43
|
+
const file = path.resolve("node_modules/xanix-cache/manifest.json");
|
|
44
|
+
if (!fs.existsSync(file)) {
|
|
45
|
+
return new Map();
|
|
46
|
+
}
|
|
47
|
+
const content = await fs.promises.readFile(file, "utf-8");
|
|
48
|
+
const parsed = JSON.parse(content);
|
|
49
|
+
const map = new Map(Object.entries(parsed));
|
|
50
|
+
return map;
|
|
51
|
+
};
|
|
52
|
+
const nodeBuiltins = new Set(builtinModules);
|
|
53
|
+
export function isNodeBuiltin(id) {
|
|
54
|
+
const normalized = id.startsWith("node:") ? id.slice(5) : id;
|
|
55
|
+
return nodeBuiltins.has(normalized);
|
|
56
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { rolldown } from "rolldown";
|
|
2
|
+
import { frameworkDir } from "../../include/utils.js";
|
|
3
|
+
import outdirs from "../../../outdirs.js";
|
|
4
|
+
import XanixTransformer from "./plugins/Transformer.js";
|
|
5
|
+
import XanixPages from "./plugins/XanixPages.js";
|
|
6
|
+
import xanixAssets from "../../plugins/XanixAssets.js";
|
|
7
|
+
import xanixDocument from "../../plugins/XanixDocument.js";
|
|
8
|
+
import xanixTsconfigAlias from "../../plugins/XanixTsconfigAlias.js";
|
|
9
|
+
import loadEnv from "../../include/loadEnv.js";
|
|
10
|
+
import { getManifest } from "../../include/manifest.js";
|
|
11
|
+
import path from "node:path";
|
|
12
|
+
const buildClient = async () => {
|
|
13
|
+
const entries = await getManifest();
|
|
14
|
+
const build = await rolldown({
|
|
15
|
+
input: path.join(frameworkDir, "dist/client-runtime.js"),
|
|
16
|
+
treeshake: true,
|
|
17
|
+
tsconfig: true,
|
|
18
|
+
checks: {
|
|
19
|
+
moduleLevelDirective: false,
|
|
20
|
+
},
|
|
21
|
+
resolve: {
|
|
22
|
+
extensions: [".mjs", ".js", ".jsx", ".json", ".ts", ".tsx"],
|
|
23
|
+
conditionNames: ["browser", "import", "module", "default"],
|
|
24
|
+
},
|
|
25
|
+
transform: {
|
|
26
|
+
target: "es2022",
|
|
27
|
+
jsx: {
|
|
28
|
+
runtime: "automatic",
|
|
29
|
+
},
|
|
30
|
+
define: await loadEnv({
|
|
31
|
+
mode: "production",
|
|
32
|
+
isClient: true,
|
|
33
|
+
}),
|
|
34
|
+
},
|
|
35
|
+
onwarn(warning, warn) {
|
|
36
|
+
if (warning.code === "MODULE_LEVEL_DIRECTIVE" &&
|
|
37
|
+
warning.message.includes('"use client"')) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
warn(warning);
|
|
41
|
+
},
|
|
42
|
+
plugins: [
|
|
43
|
+
xanixAssets(),
|
|
44
|
+
xanixTsconfigAlias(),
|
|
45
|
+
XanixPages(),
|
|
46
|
+
xanixDocument(),
|
|
47
|
+
XanixTransformer(),
|
|
48
|
+
],
|
|
49
|
+
});
|
|
50
|
+
await build.write({
|
|
51
|
+
dir: outdirs.client,
|
|
52
|
+
minify: true,
|
|
53
|
+
format: "esm",
|
|
54
|
+
chunkFileNames: "chunks/[hash].js",
|
|
55
|
+
assetFileNames: "assets/[name][extname]",
|
|
56
|
+
entryFileNames: `runtime.js`,
|
|
57
|
+
});
|
|
58
|
+
await build.close();
|
|
59
|
+
return entries;
|
|
60
|
+
};
|
|
61
|
+
export default buildClient;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare class TransformCache {
|
|
2
|
+
replacements: {
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
|
+
value: string;
|
|
6
|
+
}[];
|
|
7
|
+
code: string;
|
|
8
|
+
cacheImported: boolean;
|
|
9
|
+
importer: string;
|
|
10
|
+
uid: string;
|
|
11
|
+
count: number;
|
|
12
|
+
constructor(code: string, importer: string, uid: string);
|
|
13
|
+
transform(node: any): void;
|
|
14
|
+
}
|
|
15
|
+
export default TransformCache;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
class TransformCache {
|
|
2
|
+
constructor(code, importer, uid) {
|
|
3
|
+
this.replacements = [];
|
|
4
|
+
this.cacheImported = false;
|
|
5
|
+
this.count = 0;
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.importer = importer;
|
|
8
|
+
this.uid = uid;
|
|
9
|
+
}
|
|
10
|
+
transform(node) {
|
|
11
|
+
// check server imported
|
|
12
|
+
if (node.type === "ImportDeclaration" &&
|
|
13
|
+
node.source.value === "xanix" &&
|
|
14
|
+
node.specifiers.some((s) => s.type === "ImportSpecifier" && s.imported.name === "cache")) {
|
|
15
|
+
this.cacheImported = true;
|
|
16
|
+
}
|
|
17
|
+
if (node.type === "CallExpression" &&
|
|
18
|
+
node.callee.type === "Identifier" &&
|
|
19
|
+
node.callee.name === "cache" &&
|
|
20
|
+
(node.arguments.length === 1 || node.arguments.length === 2)) {
|
|
21
|
+
const id = this.uid + this.count++;
|
|
22
|
+
if (node.arguments.length === 1) {
|
|
23
|
+
this.replacements.push({
|
|
24
|
+
start: node.arguments[0].end,
|
|
25
|
+
end: node.arguments[0].end,
|
|
26
|
+
value: `, undefined, "${id}"`,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.replacements.push({
|
|
31
|
+
start: node.arguments[1].end,
|
|
32
|
+
end: node.arguments[1].end,
|
|
33
|
+
value: `, "${id}"`,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export default TransformCache;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import callbackReplacer from "../../../../modifier/callbackReplacer.js";
|
|
2
|
+
import { frameworkDir } from "../../../../include/utils.js";
|
|
3
|
+
const TransformCacheFunction = (code, imports, uid, source) => {
|
|
4
|
+
let count = 0;
|
|
5
|
+
const replacer = (code, cb) => {
|
|
6
|
+
const replacedCode = callbackReplacer(code, cb, (args) => {
|
|
7
|
+
if (args[2])
|
|
8
|
+
return;
|
|
9
|
+
const id = uid + count++;
|
|
10
|
+
const fn = args[0];
|
|
11
|
+
const options = args[1] || "undefined";
|
|
12
|
+
return `${cb}(${fn}, ${options}, "${id}");`;
|
|
13
|
+
});
|
|
14
|
+
code = replacedCode;
|
|
15
|
+
return code;
|
|
16
|
+
};
|
|
17
|
+
if (source.startsWith(frameworkDir)) {
|
|
18
|
+
code = replacer(code, `cache`);
|
|
19
|
+
}
|
|
20
|
+
for (let _import of imports) {
|
|
21
|
+
if (_import.namespace) {
|
|
22
|
+
code = replacer(code, `${_import.namespace}.cache`);
|
|
23
|
+
}
|
|
24
|
+
for (let sp of _import.specifiers) {
|
|
25
|
+
if (sp.imported === "cache") {
|
|
26
|
+
code = replacer(code, sp.local);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return code;
|
|
31
|
+
};
|
|
32
|
+
export default TransformCacheFunction;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import callbackReplacer from "../../../../modifier/callbackReplacer.js";
|
|
2
|
+
import { frameworkDir } from "../../../../include/utils.js";
|
|
3
|
+
const TransformCreateSession = (code, imports, uid, source) => {
|
|
4
|
+
let count = 0;
|
|
5
|
+
const replacer = (code, cb) => {
|
|
6
|
+
const replacedCode = callbackReplacer(code, cb, (args) => {
|
|
7
|
+
const id = uid + count++;
|
|
8
|
+
const _id = args[1] || `"${id}"`;
|
|
9
|
+
return `${cb}(undefined, ${_id});`;
|
|
10
|
+
});
|
|
11
|
+
code = replacedCode;
|
|
12
|
+
return code;
|
|
13
|
+
};
|
|
14
|
+
if (source.startsWith(frameworkDir)) {
|
|
15
|
+
code = replacer(code, `createSession`);
|
|
16
|
+
}
|
|
17
|
+
for (let _import of imports) {
|
|
18
|
+
if (_import.namespace) {
|
|
19
|
+
code = replacer(code, `${_import.namespace}.createSession`);
|
|
20
|
+
}
|
|
21
|
+
for (let sp of _import.specifiers) {
|
|
22
|
+
if (sp.imported === "createSession") {
|
|
23
|
+
code = replacer(code, sp.local);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return code;
|
|
28
|
+
};
|
|
29
|
+
export default TransformCreateSession;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
class TransformExpress {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.replacements = [];
|
|
4
|
+
}
|
|
5
|
+
transform(node) {
|
|
6
|
+
if (node.type === "ImportDeclaration" && node.source.value === "express") {
|
|
7
|
+
this.replacements.push({
|
|
8
|
+
start: node.source.start + 1,
|
|
9
|
+
end: node.source.end - 1,
|
|
10
|
+
value: "xanix/express",
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
// check require express
|
|
14
|
+
if (node.type === "CallExpression" &&
|
|
15
|
+
node.callee.name === "require" &&
|
|
16
|
+
node.arguments.length === 1 &&
|
|
17
|
+
node.arguments[0].value === "express") {
|
|
18
|
+
this.replacements.push({
|
|
19
|
+
start: node.arguments[0].start + 1,
|
|
20
|
+
end: node.arguments[0].end - 1,
|
|
21
|
+
value: "xanix/express",
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export default TransformExpress;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TransformPluginContext } from "rolldown";
|
|
2
|
+
type Name = string;
|
|
3
|
+
export type Entry = {
|
|
4
|
+
name: string;
|
|
5
|
+
id: string;
|
|
6
|
+
source: string;
|
|
7
|
+
resolved: string;
|
|
8
|
+
};
|
|
9
|
+
declare class TransformPage {
|
|
10
|
+
_replacements: {
|
|
11
|
+
start: number;
|
|
12
|
+
end: number;
|
|
13
|
+
value: string;
|
|
14
|
+
}[];
|
|
15
|
+
imports: Map<Name, string>;
|
|
16
|
+
entries: Map<string, Entry>;
|
|
17
|
+
private identifiers;
|
|
18
|
+
private context;
|
|
19
|
+
private importer;
|
|
20
|
+
constructor(context: TransformPluginContext, importer: string, entries: Map<string, Entry>);
|
|
21
|
+
replacements(): Promise<{
|
|
22
|
+
start: number;
|
|
23
|
+
end: number;
|
|
24
|
+
value: string;
|
|
25
|
+
}[]>;
|
|
26
|
+
uid(source: string): string;
|
|
27
|
+
transform(node: any): void;
|
|
28
|
+
}
|
|
29
|
+
export default TransformPage;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
class TransformPage {
|
|
3
|
+
constructor(context, importer, entries) {
|
|
4
|
+
this._replacements = [];
|
|
5
|
+
this.imports = new Map();
|
|
6
|
+
this.entries = new Map();
|
|
7
|
+
this.identifiers = [];
|
|
8
|
+
this.context = context;
|
|
9
|
+
this.importer = importer;
|
|
10
|
+
this.entries = entries;
|
|
11
|
+
}
|
|
12
|
+
async replacements() {
|
|
13
|
+
for (const identifier of this.identifiers) {
|
|
14
|
+
const source = this.imports.get(identifier.name);
|
|
15
|
+
if (source) {
|
|
16
|
+
const resolved = await this.context.resolve(source, this.importer, {
|
|
17
|
+
skipSelf: true,
|
|
18
|
+
});
|
|
19
|
+
if (resolved) {
|
|
20
|
+
const id = this.uid(resolved.id);
|
|
21
|
+
this.entries.set(id, {
|
|
22
|
+
name: identifier.name,
|
|
23
|
+
id,
|
|
24
|
+
source,
|
|
25
|
+
resolved: resolved?.id,
|
|
26
|
+
});
|
|
27
|
+
this._replacements.push({
|
|
28
|
+
start: identifier.placement,
|
|
29
|
+
end: identifier.placement,
|
|
30
|
+
value: ` __xpage={{ id: "${id}", name: "${identifier.name}" }} `,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return this._replacements;
|
|
36
|
+
}
|
|
37
|
+
uid(source) {
|
|
38
|
+
return crypto
|
|
39
|
+
.createHash("sha256")
|
|
40
|
+
.update(source)
|
|
41
|
+
.digest("hex")
|
|
42
|
+
.slice(0, 12);
|
|
43
|
+
}
|
|
44
|
+
transform(node) {
|
|
45
|
+
if (node.type === "CallExpression" &&
|
|
46
|
+
node.callee.property?.name === "send" &&
|
|
47
|
+
node.arguments.length === 1 &&
|
|
48
|
+
node.arguments[0].type === "JSXElement") {
|
|
49
|
+
const element = node.arguments[0].openingElement;
|
|
50
|
+
const ComponentName = element.name.name;
|
|
51
|
+
const attrs = element.attributes;
|
|
52
|
+
let end = attrs.length > 0 ? attrs[attrs.length - 1].end : element.name.end;
|
|
53
|
+
this.identifiers.push({
|
|
54
|
+
placement: end,
|
|
55
|
+
name: ComponentName,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// find static imports and add them to this.imports array
|
|
59
|
+
if (node.type === "ImportDeclaration" &&
|
|
60
|
+
node.specifiers.length > 0 &&
|
|
61
|
+
node.specifiers[0].type === "ImportDefaultSpecifier") {
|
|
62
|
+
const source = node.source.value;
|
|
63
|
+
const specifier = node.specifiers[0].local.name;
|
|
64
|
+
this.imports.set(specifier, source);
|
|
65
|
+
}
|
|
66
|
+
// find rfom require
|
|
67
|
+
if (node.type === "VariableDeclaration" &&
|
|
68
|
+
node.declarations.length === 1 &&
|
|
69
|
+
node.declarations[0].init?.type === "CallExpression" &&
|
|
70
|
+
node.declarations[0].init.callee.name === "require") {
|
|
71
|
+
const source = node.declarations[0].init.arguments[0].value;
|
|
72
|
+
const specifier = node.declarations[0].id.name;
|
|
73
|
+
this.imports.set(specifier, source);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export default TransformPage;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Replacement = {
|
|
2
|
+
start: number;
|
|
3
|
+
end: number;
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
export declare class TransformReactContext {
|
|
7
|
+
private readonly reactNamespaces;
|
|
8
|
+
private readonly createContextBindings;
|
|
9
|
+
readonly replacements: Replacement[];
|
|
10
|
+
transform(node: any): void;
|
|
11
|
+
private detectReactImport;
|
|
12
|
+
private detectReactRequire;
|
|
13
|
+
private isReactRequire;
|
|
14
|
+
private detectCreateContext;
|
|
15
|
+
private replaceCallee;
|
|
16
|
+
}
|
|
17
|
+
export default TransformReactContext;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export class TransformReactContext {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.reactNamespaces = new Set();
|
|
4
|
+
this.createContextBindings = new Set();
|
|
5
|
+
this.replacements = [];
|
|
6
|
+
}
|
|
7
|
+
transform(node) {
|
|
8
|
+
this.detectReactImport(node);
|
|
9
|
+
this.detectReactRequire(node);
|
|
10
|
+
this.detectCreateContext(node);
|
|
11
|
+
}
|
|
12
|
+
detectReactImport(node) {
|
|
13
|
+
if (node.type !== "ImportDeclaration" || node.source?.value !== "react") {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
for (const specifier of node.specifiers) {
|
|
17
|
+
// import React from "react"
|
|
18
|
+
if (specifier.type === "ImportDefaultSpecifier") {
|
|
19
|
+
this.reactNamespaces.add(specifier.local.name);
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
// import * as React from "react"
|
|
23
|
+
if (specifier.type === "ImportNamespaceSpecifier") {
|
|
24
|
+
this.reactNamespaces.add(specifier.local.name);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
// import { createContext } from "react"
|
|
28
|
+
// import { createContext as ctx } from "react"
|
|
29
|
+
if (specifier.type === "ImportSpecifier" &&
|
|
30
|
+
specifier.imported?.name === "createContext") {
|
|
31
|
+
this.createContextBindings.add(specifier.local.name);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
detectReactRequire(node) {
|
|
36
|
+
if (node.type !== "VariableDeclarator") {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (!this.isReactRequire(node.init)) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// const React = require("react")
|
|
43
|
+
if (node.id.type === "Identifier") {
|
|
44
|
+
this.reactNamespaces.add(node.id.name);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// const { createContext } = require("react")
|
|
48
|
+
// const { createContext: ctx } = require("react")
|
|
49
|
+
if (node.id.type === "ObjectPattern") {
|
|
50
|
+
for (const property of node.id.properties) {
|
|
51
|
+
if (property.type !== "Property" || property.computed) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (property.key.type === "Identifier" &&
|
|
55
|
+
property.key.name === "createContext") {
|
|
56
|
+
const local = property.value.type === "Identifier" ? property.value.name : null;
|
|
57
|
+
if (local) {
|
|
58
|
+
this.createContextBindings.add(local);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
isReactRequire(node) {
|
|
65
|
+
return (node?.type === "CallExpression" &&
|
|
66
|
+
node.callee?.type === "Identifier" &&
|
|
67
|
+
node.callee.name === "require" &&
|
|
68
|
+
node.arguments?.length === 1 &&
|
|
69
|
+
node.arguments[0]?.type === "Literal" &&
|
|
70
|
+
node.arguments[0].value === "react");
|
|
71
|
+
}
|
|
72
|
+
detectCreateContext(node) {
|
|
73
|
+
if (node.type !== "CallExpression") {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// createContext(...)
|
|
77
|
+
// createCtx(...)
|
|
78
|
+
if (node.callee.type === "Identifier" &&
|
|
79
|
+
this.createContextBindings.has(node.callee.name)) {
|
|
80
|
+
this.replaceCallee(node.callee);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// React.createContext(...)
|
|
84
|
+
if (node.callee.type === "MemberExpression" &&
|
|
85
|
+
!node.callee.computed &&
|
|
86
|
+
node.callee.object.type === "Identifier" &&
|
|
87
|
+
node.callee.property.type === "Identifier" &&
|
|
88
|
+
node.callee.property.name === "createContext" &&
|
|
89
|
+
this.reactNamespaces.has(node.callee.object.name)) {
|
|
90
|
+
this.replaceCallee(node.callee);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
replaceCallee(callee) {
|
|
94
|
+
this.replacements.push({
|
|
95
|
+
start: callee.start,
|
|
96
|
+
end: callee.end,
|
|
97
|
+
value: "__xanix.createContext",
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
export default TransformReactContext;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare class TransformServerAction {
|
|
2
|
+
replacements: {
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
|
+
value: string;
|
|
6
|
+
}[];
|
|
7
|
+
code: string;
|
|
8
|
+
serverImported: boolean;
|
|
9
|
+
importer: string;
|
|
10
|
+
count: number;
|
|
11
|
+
uid: string;
|
|
12
|
+
constructor(code: string, importer: string, uid: string);
|
|
13
|
+
transform(node: any): void;
|
|
14
|
+
}
|
|
15
|
+
export default TransformServerAction;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
class TransformServerAction {
|
|
2
|
+
constructor(code, importer, uid) {
|
|
3
|
+
this.replacements = [];
|
|
4
|
+
this.serverImported = false;
|
|
5
|
+
this.count = 0;
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.importer = importer;
|
|
8
|
+
this.uid = uid;
|
|
9
|
+
}
|
|
10
|
+
transform(node) {
|
|
11
|
+
// check server imported
|
|
12
|
+
if (node.type === "ImportDeclaration" &&
|
|
13
|
+
node.source.value === "xanix" &&
|
|
14
|
+
node.specifiers.some((s) => s.type === "ImportSpecifier" && s.imported.name === "server")) {
|
|
15
|
+
this.serverImported = true;
|
|
16
|
+
}
|
|
17
|
+
if (node.type === "CallExpression" &&
|
|
18
|
+
node.callee.type === "Identifier" &&
|
|
19
|
+
node.callee.name === "server" &&
|
|
20
|
+
(node.arguments.length === 1 || node.arguments.length === 2) &&
|
|
21
|
+
(node.arguments[0].type === "ArrowFunctionExpression" ||
|
|
22
|
+
node.arguments[0].type === "FunctionExpression")) {
|
|
23
|
+
const id = this.uid + this.count++;
|
|
24
|
+
if (node.arguments.length === 2) {
|
|
25
|
+
const optionNode = node.arguments[1];
|
|
26
|
+
const optionString = this.code.slice(optionNode.start, optionNode.end);
|
|
27
|
+
this.replacements.push({
|
|
28
|
+
start: node.start,
|
|
29
|
+
end: node.end,
|
|
30
|
+
value: `server(undefined, ${optionString}, "${id}")`,
|
|
31
|
+
});
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.replacements.push({
|
|
35
|
+
start: node.start,
|
|
36
|
+
end: node.end,
|
|
37
|
+
value: `server(undefined, undefined, "${id}")`,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export default TransformServerAction;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import callbackReplacer from "../../../../modifier/callbackReplacer.js";
|
|
2
|
+
import { frameworkDir } from "../../../../include/utils.js";
|
|
3
|
+
const TransformServerFunction = (code, imports, uid, source) => {
|
|
4
|
+
let count = 0;
|
|
5
|
+
const replacer = (code, cb) => {
|
|
6
|
+
const replacedCode = callbackReplacer(code, cb, (args) => {
|
|
7
|
+
if (args[2])
|
|
8
|
+
return;
|
|
9
|
+
const id = uid + count++;
|
|
10
|
+
const fn = args[0];
|
|
11
|
+
const options = args[1] || "undefined";
|
|
12
|
+
return `${cb}(undefined, ${options}, "${id}");`;
|
|
13
|
+
});
|
|
14
|
+
code = replacedCode;
|
|
15
|
+
return code;
|
|
16
|
+
};
|
|
17
|
+
if (source.startsWith(frameworkDir)) {
|
|
18
|
+
code = replacer(code, `server`);
|
|
19
|
+
}
|
|
20
|
+
for (let _import of imports) {
|
|
21
|
+
if (_import.namespace) {
|
|
22
|
+
code = replacer(code, `${_import.namespace}.server`);
|
|
23
|
+
}
|
|
24
|
+
for (let sp of _import.specifiers) {
|
|
25
|
+
if (sp.imported === "server") {
|
|
26
|
+
code = replacer(code, sp.local);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return code;
|
|
31
|
+
};
|
|
32
|
+
export default TransformServerFunction;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import callbackReplacer from "../../../../modifier/callbackReplacer.js";
|
|
2
|
+
import { frameworkDir } from "../../../../include/utils.js";
|
|
3
|
+
const TransformUseServer = (code, imports, source) => {
|
|
4
|
+
let codes = [];
|
|
5
|
+
const replacer = (code, cb) => {
|
|
6
|
+
return callbackReplacer(code, cb, (args) => {
|
|
7
|
+
const fn = args[0];
|
|
8
|
+
const argString = args[1] ?? "undefined";
|
|
9
|
+
const options = args[2] || "undefined";
|
|
10
|
+
const varname = `_xserver_${Math.random().toString(36).substring(2, 7)}`;
|
|
11
|
+
const server_code = `const ${varname} = ${cb}.server(${fn}, ${options});`;
|
|
12
|
+
codes.push(server_code);
|
|
13
|
+
return `${cb}(${varname}, ${argString})`;
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
if (source.startsWith(frameworkDir)) {
|
|
17
|
+
code = replacer(code, `useServer`);
|
|
18
|
+
}
|
|
19
|
+
for (let _import of imports) {
|
|
20
|
+
if (_import.namespace) {
|
|
21
|
+
code = replacer(code, `${_import.namespace}.useServer`);
|
|
22
|
+
}
|
|
23
|
+
for (let sp of _import.specifiers) {
|
|
24
|
+
if (sp.imported === "useServer") {
|
|
25
|
+
code = replacer(code, sp.local);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return codes.join("\n") + "\n" + code;
|
|
30
|
+
};
|
|
31
|
+
export default TransformUseServer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CachedModule } from "../Transformer";
|
|
2
|
+
type Replacement = {
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
|
+
value: string;
|
|
6
|
+
};
|
|
7
|
+
declare class TransformModuleCache {
|
|
8
|
+
packages: string[];
|
|
9
|
+
replacements: Replacement[];
|
|
10
|
+
cached: Map<string, CachedModule>;
|
|
11
|
+
cacheChanged: boolean;
|
|
12
|
+
constructor(cached: Map<string, CachedModule>);
|
|
13
|
+
transform(node: any): void;
|
|
14
|
+
}
|
|
15
|
+
export default TransformModuleCache;
|