tungsten 0.3.2 → 0.3.4
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/.build-complete +1 -0
- package/dist/Components.d.ts +6 -1
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +103 -40
- package/dist/DomPointer.d.ts +11 -0
- package/dist/DomPointer.d.ts.map +1 -1
- package/dist/DomPointer.js +15 -0
- package/dist/DomRegion.d.ts +2 -0
- package/dist/DomRegion.d.ts.map +1 -1
- package/dist/DomRegion.js +23 -3
- package/dist/Framework.d.ts +2 -0
- package/dist/Framework.d.ts.map +1 -1
- package/dist/Framework.js +94 -61
- package/dist/FrameworkConfig.d.ts +4 -0
- package/dist/FrameworkConfig.d.ts.map +1 -1
- package/dist/Instance/Instance.d.ts +1 -1
- package/dist/Instance/Instance.d.ts.map +1 -1
- package/dist/Instance/Instance.js +18 -1
- package/dist/Instance/InstanceConfig.d.ts +1 -0
- package/dist/Instance/InstanceConfig.d.ts.map +1 -1
- package/dist/PopMessage.type.d.ts +6 -0
- package/dist/PopMessage.type.d.ts.map +1 -0
- package/dist/PopMessage.type.js +1 -0
- package/dist/Servers/DevServer.d.ts +2 -0
- package/dist/Servers/DevServer.d.ts.map +1 -1
- package/dist/Servers/DevServer.js +87 -11
- package/dist/Servers/MatchedRouteInfo.d.ts +1 -1
- package/dist/Servers/MatchedRouteInfo.d.ts.map +1 -1
- package/dist/Servers/ProdServer.d.ts +2 -1
- package/dist/Servers/ProdServer.d.ts.map +1 -1
- package/dist/Servers/ProdServer.js +92 -8
- package/dist/Servers/hono/DevServerHono.js +25 -29
- package/dist/Servers/hono/ProdServerHono.js +49 -142
- package/dist/Servers/hono/TungstenServerHono.d.ts +1 -1
- package/dist/Servers/hono/TungstenServerHono.d.ts.map +1 -1
- package/dist/Servers/hono/TungstenServerHono.js +12 -29
- package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +16 -5
- package/dist/Servers/routing.d.ts.map +1 -1
- package/dist/Servers/routing.js +10 -6
- package/dist/Servers/tungstenCorePrivateEnvSchema.d.ts +0 -3
- package/dist/Servers/tungstenCorePrivateEnvSchema.d.ts.map +1 -1
- package/dist/Servers/tungstenCorePrivateEnvSchema.js +3 -3
- package/dist/Servers/tungstenCorePublicEnvSchema.d.ts +8 -0
- package/dist/Servers/tungstenCorePublicEnvSchema.d.ts.map +1 -0
- package/dist/Servers/tungstenCorePublicEnvSchema.js +14 -0
- package/dist/Store/InternalStoreSchema.d.ts +2 -0
- package/dist/Store/InternalStoreSchema.d.ts.map +1 -1
- package/dist/Store/InternalStoreSchema.js +1 -0
- package/dist/api/Request.d.ts +1 -1
- package/dist/api/Request.d.ts.map +1 -1
- package/dist/api/Response.d.ts +1 -1
- package/dist/api/Response.d.ts.map +1 -1
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts +13 -0
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -0
- package/dist/babelPlugins/BabelExtractComponentStylesheet.js +24 -0
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts +2 -0
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.js +21 -5
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +21 -9
- package/dist/babelPlugins/BabelTypes.d.ts +2 -2
- package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTypes.js +0 -1
- package/dist/bin/commands/build.d.ts.map +1 -1
- package/dist/bin/commands/build.js +12 -2
- package/dist/bin/commands/compile.d.ts.map +1 -1
- package/dist/bin/commands/compile.js +7 -2
- package/dist/bin/commands/dev.d.ts.map +1 -1
- package/dist/bin/commands/dev.js +15 -4
- package/dist/bin/commands/devmon.d.ts +2 -0
- package/dist/bin/commands/devmon.d.ts.map +1 -0
- package/dist/bin/commands/devmon.js +66 -0
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +6 -0
- package/dist/booleanAttributeValue.d.ts +21 -0
- package/dist/booleanAttributeValue.d.ts.map +1 -0
- package/dist/booleanAttributeValue.js +23 -0
- package/dist/build/CompilationInfo.d.ts +1 -0
- package/dist/build/CompilationInfo.d.ts.map +1 -1
- package/dist/build/combineComponentCss.d.ts +1 -1
- package/dist/build/combineComponentCss.d.ts.map +1 -1
- package/dist/build/combineComponentCss.js +3 -3
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +3 -3
- package/dist/build/compileUserApp.d.ts +2 -1
- package/dist/build/compileUserApp.d.ts.map +1 -1
- package/dist/build/compileUserApp.js +18 -8
- package/dist/build/createInstanceConfigFile.js +1 -1
- package/dist/build/frameworkStylesheets.d.ts +5 -0
- package/dist/build/frameworkStylesheets.d.ts.map +1 -0
- package/dist/build/frameworkStylesheets.js +49 -0
- package/dist/build/getPackageDirForFile.d.ts +2 -0
- package/dist/build/getPackageDirForFile.d.ts.map +1 -0
- package/dist/build/getPackageDirForFile.js +11 -0
- package/dist/build/getSxyClientPackageAliases.d.ts.map +1 -1
- package/dist/build/getSxyClientPackageAliases.js +3 -1
- package/dist/build/makeBabelUserDevConfig.d.ts +1 -1
- package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserDevConfig.js +3 -2
- package/dist/build/makeBabelUserProdConfig.d.ts +1 -1
- package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserProdConfig.js +4 -2
- package/dist/build/rollup.user.prod.config.d.ts.map +1 -1
- package/dist/build/rollup.user.prod.config.js +4 -1
- package/dist/build/rollupExtractComponentStylesheets.d.ts +12 -0
- package/dist/build/rollupExtractComponentStylesheets.d.ts.map +1 -0
- package/dist/build/rollupExtractComponentStylesheets.js +35 -0
- package/dist/compat/context.d.ts +1 -1
- package/dist/compat/context.d.ts.map +1 -1
- package/dist/compat/types.d.ts +1 -1
- package/dist/compat/types.d.ts.map +1 -1
- package/dist/componentCss/i/T-components-library-RichTextEditor-RichTextEditor.css +115 -0
- package/dist/componentCss/i/T-components-library-__StatefulMessage-StatefulMessage.css +25 -0
- package/dist/componentCss/tungsten.css +2 -0
- package/dist/componentProxyHandlers.d.ts +2 -1
- package/dist/componentProxyHandlers.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +45 -9
- package/dist/components/GoToComponent.d.ts +1 -1
- package/dist/components/GoToComponent.d.ts.map +1 -1
- package/dist/components/PopMessages.d.ts +12 -0
- package/dist/components/PopMessages.d.ts.map +1 -0
- package/dist/components/PopMessages.js +45 -0
- package/dist/components/_GoToComponent.d.ts +10 -0
- package/dist/components/_GoToComponent.d.ts.map +1 -0
- package/dist/components/_GoToComponent.js +13 -0
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts +50 -0
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/RichTextEditor.js +458 -0
- package/dist/components/library/RichTextEditor/StoredContentNode.d.ts +5 -0
- package/dist/components/library/RichTextEditor/StoredContentNode.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/StoredContentNode.js +1 -0
- package/dist/components/library/RichTextEditor/activeFormats.d.ts +20 -0
- package/dist/components/library/RichTextEditor/activeFormats.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/activeFormats.js +48 -0
- package/dist/components/library/RichTextEditor/contentTree.d.ts +30 -0
- package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/contentTree.js +81 -0
- package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.d.ts +30 -0
- package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.js +97 -0
- package/dist/components/library/__StatefulMessage/MessageData.d.ts +7 -0
- package/dist/components/library/__StatefulMessage/MessageData.d.ts.map +1 -0
- package/dist/components/library/__StatefulMessage/MessageData.js +1 -0
- package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts +22 -0
- package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts.map +1 -0
- package/dist/components/library/__StatefulMessage/StatefulMessage.js +88 -0
- package/dist/components/library/index.d.ts +5 -0
- package/dist/components/library/index.d.ts.map +1 -0
- package/dist/components/library/index.js +7 -0
- package/dist/defaultConfig.d.ts +2 -0
- package/dist/defaultConfig.d.ts.map +1 -1
- package/dist/defaultConfig.js +3 -1
- package/dist/env/Interfaces.d.ts +2 -1
- package/dist/env/Interfaces.d.ts.map +1 -1
- package/dist/env/getEnvSchemas.d.ts +1 -1
- package/dist/env/getEnvSchemas.d.ts.map +1 -1
- package/dist/env/injectEnv.d.ts +1 -1
- package/dist/env/injectEnv.d.ts.map +1 -1
- package/dist/env/injectEnv.js +16 -6
- package/dist/env/publicEnv.d.ts.map +1 -1
- package/dist/env/publicEnv.js +4 -1
- package/dist/findUserConfig.d.ts +1 -1
- package/dist/frameworkConfigSchema.d.ts +4 -0
- package/dist/frameworkConfigSchema.d.ts.map +1 -1
- package/dist/frameworkConfigSchema.js +2 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useInstance.d.ts +3 -0
- package/dist/hooks/useInstance.d.ts.map +1 -0
- package/dist/hooks/useInstance.js +4 -0
- package/dist/hydrate/hydrate.d.ts +6 -4
- package/dist/hydrate/hydrate.d.ts.map +1 -1
- package/dist/hydrate/hydrate.js +51 -13
- package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +1 -1
- package/dist/hydrate/reconcileHydratedAttributes.js +4 -3
- package/dist/hydrate/renderHydrationMismatchBanner.d.ts +7 -0
- package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +1 -0
- package/dist/hydrate/renderHydrationMismatchBanner.js +69 -0
- package/dist/indexInner.d.ts +13 -5
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/indexInner.js +9 -2
- package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -1
- package/dist/makeInstanceConfigFromFrameworkConfig.js +2 -1
- package/dist/pop.d.ts +10 -0
- package/dist/pop.d.ts.map +1 -0
- package/dist/pop.js +49 -0
- package/dist/postcssPlugins/TransformCssNames.d.ts.map +1 -1
- package/dist/postcssPlugins/TransformCssNames.js +10 -2
- package/dist/propsAreEqual.d.ts +8 -0
- package/dist/propsAreEqual.d.ts.map +1 -0
- package/dist/propsAreEqual.js +97 -0
- package/dist/rawHtml/filterContentNode.d.ts +20 -0
- package/dist/rawHtml/filterContentNode.d.ts.map +1 -0
- package/dist/rawHtml/filterContentNode.js +96 -0
- package/dist/rawHtml/parseHtml.d.ts +14 -0
- package/dist/rawHtml/parseHtml.d.ts.map +1 -1
- package/dist/rawHtml/parseHtml.js +4 -4
- package/dist/rawHtml/sanitizeHtml.d.ts +17 -0
- package/dist/rawHtml/sanitizeHtml.d.ts.map +1 -0
- package/dist/rawHtml/sanitizeHtml.js +19 -0
- package/dist/render/HeadData.d.ts +2 -0
- package/dist/render/HeadData.d.ts.map +1 -1
- package/dist/render/contentNodeToHtml.d.ts +18 -0
- package/dist/render/contentNodeToHtml.d.ts.map +1 -0
- package/dist/render/contentNodeToHtml.js +66 -0
- package/dist/render/contentToHtml.d.ts.map +1 -1
- package/dist/render/contentToHtml.js +3 -1
- package/dist/render/instantiateClassComponent.d.ts.map +1 -1
- package/dist/render/instantiateClassComponent.js +4 -0
- package/dist/render/processHead.d.ts.map +1 -1
- package/dist/render/processHead.js +22 -3
- package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
- package/dist/render/renderingTreeToHtml.js +8 -1
- package/dist/routing/ErrorRouteType.d.ts +6 -0
- package/dist/routing/ErrorRouteType.d.ts.map +1 -0
- package/dist/routing/ErrorRouteType.js +1 -0
- package/dist/routing/RouteTypes.d.ts +2 -1
- package/dist/routing/RouteTypes.d.ts.map +1 -1
- package/dist/routing/Routes.d.ts +5 -0
- package/dist/routing/Routes.d.ts.map +1 -1
- package/dist/routing/TungstenErrorInfo.d.ts +6 -0
- package/dist/routing/TungstenErrorInfo.d.ts.map +1 -0
- package/dist/routing/TungstenErrorInfo.js +6 -0
- package/dist/settings.d.ts +2 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +3 -0
- package/dist/stateTracking.d.ts +47 -0
- package/dist/stateTracking.d.ts.map +1 -0
- package/dist/stateTracking.js +83 -0
- package/dist/staticGen/staticGen.d.ts.map +1 -1
- package/dist/staticGen/staticGen.js +117 -107
- package/dist/style/styleContentSxy.js +21 -0
- package/dist/testing/hydrateTestApp.d.ts +38 -0
- package/dist/testing/hydrateTestApp.d.ts.map +1 -0
- package/dist/testing/hydrateTestApp.js +242 -0
- package/dist/testing/index.d.ts +4 -3
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +16 -2
- package/dist/testing/installTestStyleProcessors.d.ts +2 -0
- package/dist/testing/installTestStyleProcessors.d.ts.map +1 -0
- package/dist/testing/installTestStyleProcessors.js +21 -0
- package/dist/testing/temp/componentPackageMock.d.ts +18 -0
- package/dist/testing/temp/componentPackageMock.d.ts.map +1 -0
- package/dist/testing/temp/componentPackageMock.js +37 -0
- package/dist/testing/temp/contentHtmlElements.d.ts +3 -0
- package/dist/testing/temp/contentHtmlElements.d.ts.map +1 -0
- package/dist/testing/temp/contentHtmlElements.js +12 -0
- package/dist/timeProfiler.d.ts +6 -0
- package/dist/timeProfiler.d.ts.map +1 -0
- package/dist/timeProfiler.js +31 -0
- package/dist/update/integrateUpdateVdom.d.ts +11 -0
- package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
- package/dist/update/integrateUpdateVdom.js +169 -54
- package/dist/update/pendingMounts.d.ts +25 -0
- package/dist/update/pendingMounts.d.ts.map +1 -0
- package/dist/update/pendingMounts.js +55 -0
- package/dist/warnOnFrameworkChange.d.ts.map +1 -1
- package/dist/warnOnFrameworkChange.js +8 -8
- package/package.json +21 -17
- package/dist/FunctionComponentStandIn.sxyt.d.ts +0 -2
- package/dist/FunctionComponentStandIn.sxyt.d.ts.map +0 -1
- package/dist/FunctionComponentStandIn.sxyt.js +0 -52
- package/dist/Instance/gotoRedirect.sxyt.d.ts +0 -2
- package/dist/Instance/gotoRedirect.sxyt.d.ts.map +0 -1
- package/dist/Instance/gotoRedirect.sxyt.js +0 -148
- package/dist/Instance/runTrackedWork.sxyt.d.ts +0 -2
- package/dist/Instance/runTrackedWork.sxyt.d.ts.map +0 -1
- package/dist/Instance/runTrackedWork.sxyt.js +0 -35
- package/dist/Servers/devErrorPageAutoRetry.sxyt.d.ts +0 -2
- package/dist/Servers/devErrorPageAutoRetry.sxyt.d.ts.map +0 -1
- package/dist/Servers/devErrorPageAutoRetry.sxyt.js +0 -117
- package/dist/_client/cjsHelpers.sxyt.d.ts +0 -2
- package/dist/_client/cjsHelpers.sxyt.d.ts.map +0 -1
- package/dist/_client/cjsHelpers.sxyt.js +0 -45
- package/dist/auth/passwordHashing.sxyt.d.ts +0 -2
- package/dist/auth/passwordHashing.sxyt.d.ts.map +0 -1
- package/dist/auth/passwordHashing.sxyt.js +0 -46
- package/dist/auth/ref/checkPasswordResetToken.sxyt.d.ts +0 -2
- package/dist/auth/ref/checkPasswordResetToken.sxyt.d.ts.map +0 -1
- package/dist/auth/ref/checkPasswordResetToken.sxyt.js +0 -40
- package/dist/auth/ref/createPasswordResetToken.sxyt.d.ts +0 -2
- package/dist/auth/ref/createPasswordResetToken.sxyt.d.ts.map +0 -1
- package/dist/auth/ref/createPasswordResetToken.sxyt.js +0 -10
- package/dist/babelPlugins/BabelAddDevCacheBust.sxyt.d.ts +0 -2
- package/dist/babelPlugins/BabelAddDevCacheBust.sxyt.d.ts.map +0 -1
- package/dist/babelPlugins/BabelAddDevCacheBust.sxyt.js +0 -138
- package/dist/babelPlugins/fixImportsInSassErrorMessage.sxyt.d.ts +0 -2
- package/dist/babelPlugins/fixImportsInSassErrorMessage.sxyt.d.ts.map +0 -1
- package/dist/babelPlugins/fixImportsInSassErrorMessage.sxyt.js +0 -108
- package/dist/babelPlugins/transformPackageImports/resolveBareImport.sxyt.d.ts +0 -2
- package/dist/babelPlugins/transformPackageImports/resolveBareImport.sxyt.d.ts.map +0 -1
- package/dist/babelPlugins/transformPackageImports/resolveBareImport.sxyt.js +0 -104
- package/dist/bin/commands/compile.sxyt.d.ts +0 -2
- package/dist/bin/commands/compile.sxyt.d.ts.map +0 -1
- package/dist/bin/commands/compile.sxyt.js +0 -255
- package/dist/build/modifySassImports.sxyt.d.ts +0 -2
- package/dist/build/modifySassImports.sxyt.d.ts.map +0 -1
- package/dist/build/modifySassImports.sxyt.js +0 -55
- package/dist/build/sassImportParser.sxyt.d.ts +0 -2
- package/dist/build/sassImportParser.sxyt.d.ts.map +0 -1
- package/dist/build/sassImportParser.sxyt.js +0 -110
- package/dist/build/scssImportParserChatgpt.sxyt.d.ts +0 -2
- package/dist/build/scssImportParserChatgpt.sxyt.d.ts.map +0 -1
- package/dist/build/scssImportParserChatgpt.sxyt.js +0 -120
- package/dist/clone.sxyt.d.ts +0 -2
- package/dist/clone.sxyt.d.ts.map +0 -1
- package/dist/clone.sxyt.js +0 -24
- package/dist/componentProxyHandlers.sxyt.d.ts +0 -2
- package/dist/componentProxyHandlers.sxyt.d.ts.map +0 -1
- package/dist/componentProxyHandlers.sxyt.js +0 -130
- package/dist/components/RawHtml.sxyt.d.ts +0 -2
- package/dist/components/RawHtml.sxyt.d.ts.map +0 -1
- package/dist/components/RawHtml.sxyt.js +0 -104
- package/dist/components/bindable/BindableSelect.sxyt.d.ts +0 -2
- package/dist/components/bindable/BindableSelect.sxyt.d.ts.map +0 -1
- package/dist/components/bindable/BindableSelect.sxyt.js +0 -186
- package/dist/env/injectEnv.sxyt.d.ts +0 -2
- package/dist/env/injectEnv.sxyt.d.ts.map +0 -1
- package/dist/env/injectEnv.sxyt.js +0 -20
- package/dist/env/parseEnv.d.ts +0 -2
- package/dist/env/parseEnv.d.ts.map +0 -1
- package/dist/env/parseEnv.js +0 -14
- package/dist/env/parseEnv.sxyt.d.ts +0 -2
- package/dist/env/parseEnv.sxyt.d.ts.map +0 -1
- package/dist/env/parseEnv.sxyt.js +0 -11
- package/dist/findProjectDir.sxyt.d.ts +0 -2
- package/dist/findProjectDir.sxyt.d.ts.map +0 -1
- package/dist/findProjectDir.sxyt.js +0 -82
- package/dist/hmr/applyHmrModule.sxyt.d.ts +0 -2
- package/dist/hmr/applyHmrModule.sxyt.d.ts.map +0 -1
- package/dist/hmr/applyHmrModule.sxyt.js +0 -182
- package/dist/hmr/instanceRegistry.sxyt.d.ts +0 -2
- package/dist/hmr/instanceRegistry.sxyt.d.ts.map +0 -1
- package/dist/hmr/instanceRegistry.sxyt.js +0 -24
- package/dist/hmr/refreshStylesheets.sxyt.d.ts +0 -2
- package/dist/hmr/refreshStylesheets.sxyt.d.ts.map +0 -1
- package/dist/hmr/refreshStylesheets.sxyt.js +0 -46
- package/dist/hydrate/hydrate.sxyt.d.ts +0 -2
- package/dist/hydrate/hydrate.sxyt.d.ts.map +0 -1
- package/dist/hydrate/hydrate.sxyt.js +0 -302
- package/dist/hydrate/reconcileHydratedAttributes.sxyt.d.ts +0 -2
- package/dist/hydrate/reconcileHydratedAttributes.sxyt.d.ts.map +0 -1
- package/dist/hydrate/reconcileHydratedAttributes.sxyt.js +0 -190
- package/dist/importDevModuleWithRetry.sxyt.d.ts +0 -2
- package/dist/importDevModuleWithRetry.sxyt.d.ts.map +0 -1
- package/dist/importDevModuleWithRetry.sxyt.js +0 -104
- package/dist/innerHtmlFromProps.sxyt.d.ts +0 -2
- package/dist/innerHtmlFromProps.sxyt.d.ts.map +0 -1
- package/dist/innerHtmlFromProps.sxyt.js +0 -99
- package/dist/postcssPlugins/parseSelectors.sxyt.d.ts +0 -2
- package/dist/postcssPlugins/parseSelectors.sxyt.d.ts.map +0 -1
- package/dist/postcssPlugins/parseSelectors.sxyt.js +0 -62
- package/dist/postcssPlugins/parseSelectorsRich.sxyt.d.ts +0 -2
- package/dist/postcssPlugins/parseSelectorsRich.sxyt.d.ts.map +0 -1
- package/dist/postcssPlugins/parseSelectorsRich.sxyt.js +0 -155
- package/dist/rawHtml/parseHtml.sxyt.d.ts +0 -2
- package/dist/rawHtml/parseHtml.sxyt.d.ts.map +0 -1
- package/dist/rawHtml/parseHtml.sxyt.js +0 -239
- package/dist/render/getFunctionBodyAsString.sxyt.d.ts +0 -2
- package/dist/render/getFunctionBodyAsString.sxyt.d.ts.map +0 -1
- package/dist/render/getFunctionBodyAsString.sxyt.js +0 -37
- package/dist/render/processHead.sxyt.d.ts +0 -2
- package/dist/render/processHead.sxyt.d.ts.map +0 -1
- package/dist/render/processHead.sxyt.js +0 -93
- package/dist/render/processProps.sxyt.d.ts +0 -2
- package/dist/render/processProps.sxyt.d.ts.map +0 -1
- package/dist/render/processProps.sxyt.js +0 -90
- package/dist/routing/compareRequestToRegex.sxyt.d.ts +0 -2
- package/dist/routing/compareRequestToRegex.sxyt.d.ts.map +0 -1
- package/dist/routing/compareRequestToRegex.sxyt.js +0 -65
- package/dist/routing/getPathPriority.sxyt.d.ts +0 -2
- package/dist/routing/getPathPriority.sxyt.d.ts.map +0 -1
- package/dist/routing/getPathPriority.sxyt.js +0 -24
- package/dist/routing/matchPath.sxyt.d.ts +0 -2
- package/dist/routing/matchPath.sxyt.d.ts.map +0 -1
- package/dist/routing/matchPath.sxyt.js +0 -41
- package/dist/routing/patternToRegex.sxyt.d.ts +0 -2
- package/dist/routing/patternToRegex.sxyt.d.ts.map +0 -1
- package/dist/routing/patternToRegex.sxyt.js +0 -69
- package/dist/routing/splitRequest.sxyt.d.ts +0 -2
- package/dist/routing/splitRequest.sxyt.d.ts.map +0 -1
- package/dist/routing/splitRequest.sxyt.js +0 -47
- package/dist/style/jssToCss.sxyt.d.ts +0 -2
- package/dist/style/jssToCss.sxyt.d.ts.map +0 -1
- package/dist/style/jssToCss.sxyt.js +0 -17
- package/dist/testing/createTestApp.sxyt.d.ts +0 -2
- package/dist/testing/createTestApp.sxyt.d.ts.map +0 -1
- package/dist/testing/createTestApp.sxyt.js +0 -470
- package/dist/testing/ensureTestEnvLoaded.sxyt.d.ts +0 -2
- package/dist/testing/ensureTestEnvLoaded.sxyt.d.ts.map +0 -1
- package/dist/testing/ensureTestEnvLoaded.sxyt.js +0 -20
- package/dist/update/hotSwap.sxyt.d.ts +0 -2
- package/dist/update/hotSwap.sxyt.d.ts.map +0 -1
- package/dist/update/hotSwap.sxyt.js +0 -252
|
@@ -1,51 +1,34 @@
|
|
|
1
|
-
//import type { Response as ExpressResponse } from 'express'
|
|
2
|
-
import { Hono } from 'hono';
|
|
3
1
|
import { ContentNodeIsClassComponent } from "../../ContentNode.js";
|
|
4
2
|
import { RoutingRedirect } from "../../routing/RoutingRedirect.js";
|
|
5
3
|
import { cliTodo } from "../../cliOutput.js";
|
|
6
4
|
import { RouteRedirectComponent } from "../../components/RouteRedirectComponent.js";
|
|
5
|
+
import { WebRedirectComponent } from "../../components/WebRedirectComponent.js";
|
|
7
6
|
import { $props, $type } from "../../contentNodeSymbols.js";
|
|
8
7
|
import { WebRedirect } from "../../routing/WebRedirect.js";
|
|
9
|
-
import { throwError } from "../../throwError.js";
|
|
10
|
-
const app = new Hono();
|
|
11
|
-
app.get(async c => {
|
|
12
|
-
const id = c.req.param('id');
|
|
13
|
-
c.res;
|
|
14
|
-
// ...
|
|
15
|
-
});
|
|
16
|
-
function debug(...texts) {
|
|
17
|
-
// console.log(...texts)
|
|
18
|
-
}
|
|
19
8
|
export class TungstenServerHono {
|
|
9
|
+
// Hono's c.redirect() builds a Response but doesn't send it - unlike Express's res.redirect()
|
|
10
|
+
// (which sends immediately), the caller here must return the Response itself for Hono to
|
|
11
|
+
// actually deliver it. Returns false when there's no redirect to make.
|
|
20
12
|
handleRedirects(c /* any */, matchedRouteInfo) {
|
|
21
13
|
// handle any redirect issued during routing
|
|
22
14
|
if (matchedRouteInfo.data instanceof RoutingRedirect) {
|
|
23
15
|
const redirect = matchedRouteInfo.data;
|
|
24
|
-
c.redirect(redirect.to, redirect.code);
|
|
25
|
-
return true;
|
|
16
|
+
return c.redirect(redirect.to, redirect.code);
|
|
26
17
|
} else if (matchedRouteInfo.data instanceof WebRedirect) {
|
|
27
18
|
const redirect = matchedRouteInfo.data;
|
|
28
|
-
c.redirect(redirect.to, redirect.code);
|
|
29
|
-
return true;
|
|
19
|
+
return c.redirect(redirect.to, redirect.code);
|
|
30
20
|
}
|
|
31
|
-
// console.log('content', matchedRouteInfo.content)
|
|
32
|
-
// console.log('is func', typeof matchedRouteInfo.content !== 'function')
|
|
33
|
-
// console.log('ContentNodeIsClassComponent', ContentNodeIsClassComponent(matchedRouteInfo.content as any))
|
|
34
|
-
// console.log('instanceof', (matchedRouteInfo as any).content[$type] instanceof RedirectComponent)
|
|
35
|
-
// console.log('prototype instanceof', (matchedRouteInfo as any).content[$type].prototype instanceof RedirectComponent)
|
|
36
|
-
// console.log('__tungstenRedirect', (matchedRouteInfo as any).content[$type].__tungstenRedirect)
|
|
37
|
-
// console.log('$type', (matchedRouteInfo as any).content[$type])
|
|
38
|
-
//console.log('content[$type]', matchedRouteInfo.content[$type])
|
|
39
|
-
//console.log('instanceof', matchedRouteInfo.content instanceof RedirectComponent)
|
|
40
21
|
if (typeof matchedRouteInfo.content !== 'function' && ContentNodeIsClassComponent(matchedRouteInfo.content)) {
|
|
41
22
|
if (matchedRouteInfo.content[$type] === RouteRedirectComponent || matchedRouteInfo.content[$type].prototype instanceof RouteRedirectComponent) {
|
|
42
23
|
cliTodo('consider type of RedirectComponent props');
|
|
43
24
|
const code = matchedRouteInfo.content[$props].code || 302;
|
|
44
25
|
const to = matchedRouteInfo.content[$props].to;
|
|
45
|
-
c.redirect(to, code);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
26
|
+
return c.redirect(to, code);
|
|
27
|
+
} else if (matchedRouteInfo.content[$type] === WebRedirectComponent || matchedRouteInfo.content[$type].prototype instanceof WebRedirectComponent) {
|
|
28
|
+
cliTodo('consider type of RedirectComponent props');
|
|
29
|
+
const code = matchedRouteInfo.content[$props].code || 302;
|
|
30
|
+
const to = matchedRouteInfo.content[$props].to;
|
|
31
|
+
return c.redirect(to, code);
|
|
49
32
|
}
|
|
50
33
|
}
|
|
51
34
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadEnvsDev.d.ts","sourceRoot":"","sources":["../../src/Servers/loadEnvsDev.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"loadEnvsDev.d.ts","sourceRoot":"","sources":["../../src/Servers/loadEnvsDev.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAUpE,KAAK,UAAU,GAAG;IACd,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;CACf,CAAA;AAED,wBAAsB,WAAW,CAC7B,MAAM,EAAE,uBAAuB,EAE/B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,UAAU,EAC7B,UAAU,EAAE,OAAO,EACnB,eAAe,UAAQ,iBAkI1B"}
|
|
@@ -7,6 +7,8 @@ import { cliLog, cliOut } from "../cliOutput.js";
|
|
|
7
7
|
import { injectEnv } from "../env/injectEnv.js";
|
|
8
8
|
import { throwError } from 'tungsten/throwError.js';
|
|
9
9
|
import { tungstenCorePrivateEnvSchema } from "./tungstenCorePrivateEnvSchema.js";
|
|
10
|
+
import { tungstenCorePublicEnvSchema } from "./tungstenCorePublicEnvSchema.js";
|
|
11
|
+
import z from 'zod';
|
|
10
12
|
export async function loadEnvsDev(config,
|
|
11
13
|
//load: Load,
|
|
12
14
|
iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false) {
|
|
@@ -42,7 +44,7 @@ iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false) {
|
|
|
42
44
|
someEnvLoaded = true;
|
|
43
45
|
if (_firstLoad) cliOut(`${fileName} loaded from ${filePath}`);
|
|
44
46
|
//cliOut(fileName, JSON.stringify(env, null, 4))
|
|
45
|
-
injectEnv(env, tempEnv, prefix);
|
|
47
|
+
injectEnv(env, tempEnv, prefix, initialProcessEnv, config.suppressEnvOverwriteWarnings);
|
|
46
48
|
//if (_firstLoad) console.log('loaded env file', fileName)
|
|
47
49
|
} catch (e) {
|
|
48
50
|
if (e !== null && typeof e === 'object' && 'errno' in e && e.errno === -4058) {
|
|
@@ -65,7 +67,7 @@ iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false) {
|
|
|
65
67
|
// global.tungstenPrivateEnv = envSchemas.privateEnvSchema.parse(process.env)
|
|
66
68
|
const result = envSchemas.privateEnvSchema.safeParse(tempEnv);
|
|
67
69
|
if (!result.success) {
|
|
68
|
-
throwError('Your environment variables failed your privateEnvSchema validation', '\n' + JSON.stringify(result.error
|
|
70
|
+
throwError('Your environment variables failed your privateEnvSchema validation', '\n' + JSON.stringify(z.treeifyError(result.error), null, 4) + '\nenv: ' + JSON.stringify(tempEnv, null, 4)
|
|
69
71
|
//+ '\nparsed env ' + JSON.stringify(tempEnv, null, 4)
|
|
70
72
|
);
|
|
71
73
|
}
|
|
@@ -74,7 +76,7 @@ iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false) {
|
|
|
74
76
|
if (!coreResult.success) {
|
|
75
77
|
throwError('Your private environment variables don\'t meet the Tungsten requirements. Ensure your .env and privateEnvSchema provide an output meeting these requirements. You may need to coerce data to the correct type.',
|
|
76
78
|
// eslint-disable-line max-len
|
|
77
|
-
'\n' + JSON.stringify(coreResult.error
|
|
79
|
+
'\n' + JSON.stringify(z.treeifyError(coreResult.error), null, 4) + '\nenv: ' + JSON.stringify(tempEnv, null, 4)
|
|
78
80
|
//+ '\nparsed env ' + JSON.stringify(tempEnv, null, 4)
|
|
79
81
|
);
|
|
80
82
|
}
|
|
@@ -89,9 +91,18 @@ iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false) {
|
|
|
89
91
|
});
|
|
90
92
|
const result = envSchemas.publicEnvSchema.safeParse(tempPublicEnv);
|
|
91
93
|
if (!result.success) {
|
|
92
|
-
throwError('Public Env failed schema validation', '\n' + JSON.stringify(result.error
|
|
94
|
+
throwError('Public Env failed schema validation', '\n' + JSON.stringify(z.treeifyError(result.error), null, 4) + '\nenv: ' + JSON.stringify(tempEnv, null, 4) + '\nparsed public env ' + JSON.stringify(tempPublicEnv, null, 4));
|
|
93
95
|
}
|
|
94
|
-
|
|
96
|
+
const coreResult = tungstenCorePublicEnvSchema.safeParse(result.data);
|
|
97
|
+
//console.log('coreResult', coreResult)
|
|
98
|
+
if (!coreResult.success) {
|
|
99
|
+
throwError('Your private environment variables don\'t meet the Tungsten requirements. Ensure your .env and privateEnvSchema provide an output meeting these requirements. You may need to coerce data to the correct type.',
|
|
100
|
+
// eslint-disable-line max-len
|
|
101
|
+
'\n' + JSON.stringify(z.treeifyError(coreResult.error), null, 4) + '\nenv: ' + JSON.stringify(tempEnv, null, 4)
|
|
102
|
+
//+ '\nparsed env ' + JSON.stringify(tempEnv, null, 4)
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
global.tungstenPublicEnv = coreResult.data;
|
|
95
106
|
//console.log('global.tungstenPublicEnv', global.tungstenPublicEnv)
|
|
96
107
|
if (_firstLoad) cliOut('tungsten public env loaded and passed schema validation'); // save this so that we can show all messages about loading .env files first
|
|
97
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/Servers/routing.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/Servers/routing.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAIjE,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAE,iBAAiB,GAAG,IAAW,GAC5G,OAAO,CAAC,gBAAgB,CAAC,CA+D9B"}
|
package/dist/Servers/routing.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Default404 } from "../routing/Default404.js";
|
|
2
2
|
import { matchPath } from "../routing/matchPath.js";
|
|
3
|
+
import { makeTungstenErrorInfo } from "../routing/TungstenErrorInfo.js";
|
|
3
4
|
import { jsx as _jsx } from "tungsten/jsxRuntime.js";
|
|
4
5
|
export async function routing(location, routes, serverDataLoading = null) {
|
|
5
6
|
let defaultRoute, _404Route, errorRoute;
|
|
@@ -25,7 +26,7 @@ export async function routing(location, routes, serverDataLoading = null) {
|
|
|
25
26
|
if (match !== null) {
|
|
26
27
|
const params = match.params;
|
|
27
28
|
let data = undefined;
|
|
28
|
-
if (route
|
|
29
|
+
if ('data' in route) {
|
|
29
30
|
if (serverDataLoading) serverDataLoading.value = true;
|
|
30
31
|
data = await route.data(params, location, match.query);
|
|
31
32
|
if (serverDataLoading) serverDataLoading.value = false;
|
|
@@ -50,11 +51,14 @@ export async function routing(location, routes, serverDataLoading = null) {
|
|
|
50
51
|
params: {},
|
|
51
52
|
content: _404Route.content
|
|
52
53
|
};
|
|
53
|
-
if (errorRoute)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
if (errorRoute) {
|
|
55
|
+
return {
|
|
56
|
+
key: 'error',
|
|
57
|
+
params: {},
|
|
58
|
+
content: errorRoute.content,
|
|
59
|
+
data: makeTungstenErrorInfo(new Error(`No route matched '${location}'`))
|
|
60
|
+
};
|
|
61
|
+
}
|
|
58
62
|
return {
|
|
59
63
|
key: null,
|
|
60
64
|
params: {},
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const tungstenCorePrivateEnvSchema: z.ZodObject<{
|
|
3
3
|
TUNGSTEN_SERVER_PORT: z.ZodOptional<z.ZodNumber>;
|
|
4
|
-
FRONTEND_PROTO: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"http">, z.ZodLiteral<"https">]>>;
|
|
5
|
-
FRONTEND_HOST: z.ZodOptional<z.ZodString>;
|
|
6
|
-
FRONTEND_PORT: z.ZodOptional<z.ZodNumber>;
|
|
7
4
|
DEBUG: z.ZodOptional<z.ZodBoolean>;
|
|
8
5
|
}, z.core.$loose>;
|
|
9
6
|
export type TungstenCorePrivateEnv = typeof tungstenCorePrivateEnvSchema._output;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tungstenCorePrivateEnvSchema.d.ts","sourceRoot":"","sources":["../../src/Servers/tungstenCorePrivateEnvSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"tungstenCorePrivateEnvSchema.d.ts","sourceRoot":"","sources":["../../src/Servers/tungstenCorePrivateEnvSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,eAAO,MAAM,4BAA4B;;;iBASvC,CAAA;AAGF,MAAM,MAAM,sBAAsB,GAAG,OAAO,4BAA4B,CAAC,OAAO,CAAA"}
|
|
@@ -14,9 +14,9 @@ const protoSchema = z.union([z.literal('http'), z.literal('https')]);
|
|
|
14
14
|
const portSchema = z.number().gt(0);
|
|
15
15
|
export const tungstenCorePrivateEnvSchema = z.looseObject({
|
|
16
16
|
TUNGSTEN_SERVER_PORT: z.optional(portSchema),
|
|
17
|
-
FRONTEND_PROTO: z.optional(protoSchema),
|
|
18
|
-
FRONTEND_HOST: z.optional(z.string()),
|
|
19
|
-
FRONTEND_PORT: z.optional(portSchema),
|
|
17
|
+
// FRONTEND_PROTO: z.optional(protoSchema),
|
|
18
|
+
// FRONTEND_HOST: z.optional(z.string()),
|
|
19
|
+
// FRONTEND_PORT: z.optional(portSchema),
|
|
20
20
|
DEBUG: z.optional(z.boolean())
|
|
21
21
|
// SUPPRESS: z.optional(z.object({
|
|
22
22
|
// ORIGIN_MISMATCH_WARNING: z.optional(z.boolean())
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const tungstenCorePublicEnvSchema: z.ZodObject<{
|
|
3
|
+
FRONTEND_PROTO: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"http">, z.ZodLiteral<"https">]>>;
|
|
4
|
+
FRONTEND_HOST: z.ZodOptional<z.ZodString>;
|
|
5
|
+
FRONTEND_PORT: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
}, z.core.$loose>;
|
|
7
|
+
export type TungstenCorePublicEnv = typeof tungstenCorePublicEnvSchema._output;
|
|
8
|
+
//# sourceMappingURL=tungstenCorePublicEnvSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tungstenCorePublicEnvSchema.d.ts","sourceRoot":"","sources":["../../src/Servers/tungstenCorePublicEnvSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAWvB,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,OAAO,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// FRONTEND_PROTO/FRONTEND_HOST/FRONTEND_PORT are tungsten's own fields (used to
|
|
3
|
+
// report the dev/prod server's own location - see DevServer.ts/ProdServer.ts).
|
|
4
|
+
// Optional here because most apps keep them in the private env instead - see
|
|
5
|
+
// tungstenCorePrivateEnvSchema.ts, which declares the same three fields. An
|
|
6
|
+
// app is free to declare either or both; the servers check private first,
|
|
7
|
+
// then public.
|
|
8
|
+
const protoSchema = z.union([z.literal('http'), z.literal('https')]);
|
|
9
|
+
const portSchema = z.number().gt(0);
|
|
10
|
+
export const tungstenCorePublicEnvSchema = z.looseObject({
|
|
11
|
+
FRONTEND_PROTO: z.optional(protoSchema),
|
|
12
|
+
FRONTEND_HOST: z.optional(z.string()),
|
|
13
|
+
FRONTEND_PORT: z.optional(portSchema)
|
|
14
|
+
});
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { MatchedRouteInfo } from '../Servers/MatchedRouteInfo.js';
|
|
2
|
+
import type { PopMessage } from '../PopMessage.type.js';
|
|
2
3
|
export declare class InternalStoreSchema {
|
|
3
4
|
location: string;
|
|
4
5
|
matchedRouteInfo: MatchedRouteInfo;
|
|
6
|
+
popMessages: PopMessage[];
|
|
5
7
|
constructor(location: string, matchedRouteInfo: MatchedRouteInfo);
|
|
6
8
|
}
|
|
7
9
|
//# sourceMappingURL=InternalStoreSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalStoreSchema.d.ts","sourceRoot":"","sources":["../../src/Store/InternalStoreSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"InternalStoreSchema.d.ts","sourceRoot":"","sources":["../../src/Store/InternalStoreSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,qBAAa,mBAAmB;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,EAAE,UAAU,EAAE,CAAK;gBAClB,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB;CAInE"}
|
|
@@ -5,6 +5,7 @@ export class InternalStoreSchema {
|
|
|
5
5
|
constructor(location, matchedRouteInfo) {
|
|
6
6
|
_defineProperty(this, "location", void 0);
|
|
7
7
|
_defineProperty(this, "matchedRouteInfo", void 0);
|
|
8
|
+
_defineProperty(this, "popMessages", []);
|
|
8
9
|
this.location = location;
|
|
9
10
|
this.matchedRouteInfo = matchedRouteInfo;
|
|
10
11
|
}
|
package/dist/api/Request.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Request } from 'express';
|
|
1
|
+
export type { Request } from 'express';
|
|
2
2
|
//# sourceMappingURL=Request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../src/api/Request.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../src/api/Request.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/api/Response.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Response } from 'express';
|
|
1
|
+
export type { Response } from 'express';
|
|
2
2
|
//# sourceMappingURL=Response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/api/Response.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/api/Response.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ClassProperty } from '@babel/types';
|
|
2
|
+
import type { Babel, NodePath, PluginPass } from './BabelTypes.js';
|
|
3
|
+
type Opts = {
|
|
4
|
+
onStylesheet: (rel: string, sourceFile: string) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function MakeBabelExtractComponentStylesheet(opts: Opts): (_babel: Babel) => {
|
|
7
|
+
name: string;
|
|
8
|
+
visitor: {
|
|
9
|
+
ClassProperty(path: NodePath<ClassProperty>, state: PluginPass): void;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=BabelExtractComponentStylesheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BabelExtractComponentStylesheet.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelExtractComponentStylesheet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAElE,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1D,CAAA;AAKD,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,IAAI,IACV,QAAQ,KAAK;;;4BAI7B,QAAQ,CAAC,aAAa,CAAC,SAAS,UAAU;;EAc7E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Reads and erases the `$stylesheet` static emitted by BabelTransformComponentStyles. The value
|
|
2
|
+
// names a css file inside the package; it is extracted here so the file can be copied into the
|
|
3
|
+
// build, and removed so it never reaches the browser.
|
|
4
|
+
export function MakeBabelExtractComponentStylesheet(opts) {
|
|
5
|
+
return function BabelExtractComponentStylesheet(_babel) {
|
|
6
|
+
return {
|
|
7
|
+
name: 'extract-component-stylesheet',
|
|
8
|
+
visitor: {
|
|
9
|
+
ClassProperty(path, state) {
|
|
10
|
+
const {
|
|
11
|
+
key,
|
|
12
|
+
value
|
|
13
|
+
} = path.node;
|
|
14
|
+
if (key.type !== 'Identifier' || key.name !== '$stylesheet') return;
|
|
15
|
+
if (value === null || value === undefined || value.type !== 'StringLiteral') return;
|
|
16
|
+
const sourceFile = state.filename;
|
|
17
|
+
if (typeof sourceFile !== 'string') return;
|
|
18
|
+
opts.onStylesheet(value.value, sourceFile);
|
|
19
|
+
path.remove();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformComponentStyles.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformComponentStyles.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAc,MAAM,iBAAiB,CAAA;AAa7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAmPvD,KAAK,IAAI,GAAG;IACR,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wBAAwB,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"BabelTransformComponentStyles.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformComponentStyles.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAc,MAAM,iBAAiB,CAAA;AAa7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAmPvD,KAAK,IAAI,GAAG;IACR,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wBAAwB,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAKxB,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAID,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,IAAI,IAkMV,OAAO,KAAK;;;;6BAMjC,MAAM;;mBAIZ,MAAM;;;uCAkBkB,QAAQ,CAAC,wBAAwB,CAAC;sBAf3D,MAAM;kBACV;gBACF,IAAI;qCATS,MAAM;kBASL;aACjB;+BACkB,MAAM;;;EAsLpC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// that can be applied to component output at runtime
|
|
7
7
|
// (I think)
|
|
8
8
|
import fs from 'fs';
|
|
9
|
-
import { join, dirname, basename,
|
|
9
|
+
import { join, dirname, basename, relative } from 'path';
|
|
10
10
|
import * as sass from 'sass';
|
|
11
11
|
import postcss from 'postcss';
|
|
12
12
|
import { mapToArray as objectMapToArray } from 'sxy-lib/objects.js';
|
|
@@ -195,7 +195,7 @@ export function MakeBabelTransformComponentStyles(opts) {
|
|
|
195
195
|
'ReactZoneScss': ReactZoneScss
|
|
196
196
|
//'Less': Less,
|
|
197
197
|
};
|
|
198
|
-
const watchStyles = opts.cssOutputFile || opts.cssModulesOutputDir;
|
|
198
|
+
const watchStyles = opts.watch !== false && (opts.cssOutputFile !== '' || opts.cssModulesOutputDir !== '');
|
|
199
199
|
// should this code be moved to babel - pre?
|
|
200
200
|
// prepare the css file by creating a blank file or clearing the existing file
|
|
201
201
|
if (opts.cssOutputFile) {
|
|
@@ -259,14 +259,19 @@ export function MakeBabelTransformComponentStyles(opts) {
|
|
|
259
259
|
if (name === undefined) {
|
|
260
260
|
throwError('BabelTransformComponentStyles', `could not derive a module name from ${relFilePath}`);
|
|
261
261
|
}
|
|
262
|
-
|
|
262
|
+
// Forward slash, not `sep`: relFilePath is sliced from a path that
|
|
263
|
+
// slash() has already normalised, so on Windows splitting by `\` gave
|
|
264
|
+
// a single part and every module name collapsed to its bare filename —
|
|
265
|
+
// platform-dependent class names, and two components sharing a filename
|
|
266
|
+
// scoped identically.
|
|
267
|
+
const parts = relFilePath.split('/');
|
|
263
268
|
if (name === 'index') {
|
|
264
269
|
parts.pop();
|
|
265
270
|
} else {
|
|
266
271
|
parts[parts.length - 1] = name;
|
|
267
272
|
}
|
|
268
273
|
if (index > 1) parts.push(index);
|
|
269
|
-
const moduleName = parts.join('-');
|
|
274
|
+
const moduleName = (opts.modulePrefix ?? '') + parts.join('-');
|
|
270
275
|
return moduleName;
|
|
271
276
|
}
|
|
272
277
|
function writeOutIfNeeded(css, names, opts) {
|
|
@@ -409,8 +414,19 @@ export function MakeBabelTransformComponentStyles(opts) {
|
|
|
409
414
|
names,
|
|
410
415
|
transformedCss
|
|
411
416
|
} = tagName === 'ReactZoneScss' ? cssToReactZoneStyles(css, fullFilePath, moduleName) : cssToLocalClassNames(css, fullFilePath, moduleName);
|
|
412
|
-
|
|
417
|
+
// `#` is a fragment delimiter in the `@import "i/….css"`
|
|
418
|
+
// the manifest is built from, so it cannot survive into
|
|
419
|
+
// a filename. The prefix's trailing `-` keeps the result
|
|
420
|
+
// readable and distinct.
|
|
421
|
+
stylesheets[moduleName] = moduleName.replaceAll('#', '') + '.css';
|
|
413
422
|
writeOutIfNeeded(transformedCss, names, opts);
|
|
423
|
+
// Kept out of the style object, which ships to the browser: a separate
|
|
424
|
+
// static the build can extract and then erase.
|
|
425
|
+
const classBody = path.findParent(parent => parent.isClassBody());
|
|
426
|
+
if (classBody !== null && classBody.isClassBody()) {
|
|
427
|
+
classBody.node.body.push(t.classProperty(t.identifier('$stylesheet'), t.stringLiteral(`${individualFolderName}/${stylesheets[moduleName]}`), null, null, false, true // static
|
|
428
|
+
));
|
|
429
|
+
}
|
|
414
430
|
// increment for the next one
|
|
415
431
|
state.__stylesheetIndex++;
|
|
416
432
|
state.file.opts.stylesheetIndex++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformPackageImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformPackageImports.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAOrD,OAAO,EAGH,QAAQ,EACX,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"BabelTransformPackageImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformPackageImports.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAOrD,OAAO,EAGH,QAAQ,EACX,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AA8B5C,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;AAErE,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,QAAQ,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AAEnD,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,WAAW,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;CACxB,CAAA;AAGD,MAAM,MAAM,WAAW,GAAG;IACtB,CAAC,GAAG,EAAC,MAAM,GAAG,WAAW,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACvC,KAAK,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,CAAC,GAAG,EAAC,MAAM,GAAG,cAAc,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,QAAQ,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG,mBAAmB,GAAG;IAClE,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,EAAE,CAAA;AAEnC,KAAK,IAAI,GAAG;IACR,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAChD,kBAAkB,EAAE,eAAe,CAAA;IACnC,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAGxC,QAAQ,EAAE,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;AAC3D,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAA;AACjE,MAAM,MAAM,oCAAoC,GAC1C,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAA;AACpG,MAAM,MAAM,kCAAkC,GACxC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAmC,MAAM,CAAA;AAChF,MAAM,MAAM,uCAAuC,GAC7C,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAmC,MAAM,CAAA;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,MAAM,CAAA;AACrF,MAAM,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,KAAK,MAAM,CAAA;AA0DzF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,IAAI;eAm2BpC,SAAS;;kCAkBmB,QAAQ,CAAC,iBAAiB,CAAC;;;EA8H7E"}
|
|
@@ -21,6 +21,8 @@ const babelPluginSyntaxImportAssertions = babelPluginSyntaxImportAssertionsModul
|
|
|
21
21
|
import { init as lexerInit, parse as lexerParse } from 'cjs-module-lexer';
|
|
22
22
|
lexerInit();
|
|
23
23
|
import { MakeBabelTransformCjsToFunction } from "./BabelTransformCjsToFunction.js";
|
|
24
|
+
import { MakeBabelExtractComponentStylesheet } from "./BabelExtractComponentStylesheet.js";
|
|
25
|
+
import { recordFrameworkStylesheet } from "../build/frameworkStylesheets.js";
|
|
24
26
|
import { MakeBabelTransformDependencyImportsEsm } from "./transformPackageImports/BabelTransformDependencyImportsEsm.js";
|
|
25
27
|
import { MakeBabelTransformDependencyImportsCjs } from "./transformPackageImports/BabelTransformDependencyImportsCjs.js";
|
|
26
28
|
import { frameworkDistFolder, packageName as frameworkPackageName, packageName, packagesFolder /*, packagesCacheInfoName*/ } from "../settings.js";
|
|
@@ -325,7 +327,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
325
327
|
//console.log('packageDir', packageDir)
|
|
326
328
|
return getPackageInfo(packageDir);
|
|
327
329
|
};
|
|
328
|
-
function makeModifyImportsEsmBabelOptions(nonEsmDeps) {
|
|
330
|
+
function makeModifyImportsEsmBabelOptions(nonEsmDeps, onStylesheet) {
|
|
329
331
|
return {
|
|
330
332
|
plugins: [babelPluginSyntaxImportAssertions, MakeBabelTransformDependencyImportsEsm({
|
|
331
333
|
nonEsmDeps
|
|
@@ -335,11 +337,13 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
335
337
|
getExternalImportFinalImportLocation,
|
|
336
338
|
getFileFinalLocation,
|
|
337
339
|
makeCjsEntryFile
|
|
340
|
+
}), MakeBabelExtractComponentStylesheet({
|
|
341
|
+
onStylesheet
|
|
338
342
|
})]
|
|
339
343
|
};
|
|
340
344
|
}
|
|
341
|
-
async function babelFileEsm(file /*, packageInfo*/, nonEsmDeps) {
|
|
342
|
-
const result = await babelTransformFileAsync(file, makeModifyImportsEsmBabelOptions(nonEsmDeps.map(d => d.webLocation)));
|
|
345
|
+
async function babelFileEsm(file /*, packageInfo*/, nonEsmDeps, onStylesheet) {
|
|
346
|
+
const result = await babelTransformFileAsync(file, makeModifyImportsEsmBabelOptions(nonEsmDeps.map(d => d.webLocation), onStylesheet));
|
|
343
347
|
if (result === null) {
|
|
344
348
|
throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (1) returned null: ${file}`);
|
|
345
349
|
}
|
|
@@ -400,14 +404,14 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
400
404
|
//if (file.includes('domexception')) console.log('transformed imports', code)
|
|
401
405
|
return result.code;
|
|
402
406
|
}
|
|
403
|
-
function addToDependencyGraphFromFileInfo(fileInfo, dependencies) {
|
|
404
|
-
return addToDependencyGraph(fileInfo.fileIdentifier, fileInfo.file, fileInfo.cacheDest, fileInfo.finalDest, fileInfo.packageInfo.type, dependencies);
|
|
407
|
+
function addToDependencyGraphFromFileInfo(fileInfo, dependencies, stylesheet) {
|
|
408
|
+
return addToDependencyGraph(fileInfo.fileIdentifier, fileInfo.file, fileInfo.cacheDest, fileInfo.finalDest, fileInfo.packageInfo.type, dependencies, stylesheet);
|
|
405
409
|
}
|
|
406
410
|
function addToDependencyGraphFromCacheNode(fileIdentifier, cacheNode, dependencies) {
|
|
407
411
|
//throw new TungstenError(`addToDependencyGraphFromCacheNode() not implemented yet`)
|
|
408
|
-
return addToDependencyGraph(fileIdentifier, cacheNode.originalLocation, cacheNode.cacheLocation, cacheNode.finalLocation, cacheNode.type, dependencies);
|
|
412
|
+
return addToDependencyGraph(fileIdentifier, cacheNode.originalLocation, cacheNode.cacheLocation, cacheNode.finalLocation, cacheNode.type, dependencies, cacheNode.stylesheet);
|
|
409
413
|
}
|
|
410
|
-
function addToDependencyGraph(fileIdentifier, file, cacheLocation, finalLocation, fileType, dependencies) {
|
|
414
|
+
function addToDependencyGraph(fileIdentifier, file, cacheLocation, finalLocation, fileType, dependencies, stylesheet) {
|
|
411
415
|
//console.log('addToDependencyGraph')
|
|
412
416
|
//console.log(type, file, dependencies.length)
|
|
413
417
|
opts.dependencyGraph[fileIdentifier] = {
|
|
@@ -417,6 +421,11 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
417
421
|
finalLocation: finalLocation
|
|
418
422
|
};
|
|
419
423
|
if (dependencies) opts.dependencyGraph[fileIdentifier].dependencies = dependencies;
|
|
424
|
+
// both paths land here, so a restored file contributes its css as a transformed one does
|
|
425
|
+
if (stylesheet !== undefined) {
|
|
426
|
+
opts.dependencyGraph[fileIdentifier].stylesheet = stylesheet;
|
|
427
|
+
recordFrameworkStylesheet(getPackageDirForFile(file), stylesheet);
|
|
428
|
+
}
|
|
420
429
|
}
|
|
421
430
|
function resolveFile(file) {
|
|
422
431
|
//console.log('resolve file', file)
|
|
@@ -447,6 +456,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
447
456
|
finalDest,
|
|
448
457
|
packageInfo
|
|
449
458
|
} = fileInfo;
|
|
459
|
+
let stylesheet;
|
|
450
460
|
//try {
|
|
451
461
|
const dependencies = getFileDependencies(fileInfo, sourceFilename, history);
|
|
452
462
|
// cliInfo(`deps for ${file}`)
|
|
@@ -464,7 +474,9 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
464
474
|
if (hasJavascriptFileExtension(file)) {
|
|
465
475
|
if (getModuleFormatForFile(file) === 'esm' && file.endsWith('.js') || file.endsWith('.mjs')) {
|
|
466
476
|
try {
|
|
467
|
-
const code = await babelFileEsm(file /*, packageInfo*/, nonEsmDependenciesFull
|
|
477
|
+
const code = await babelFileEsm(file /*, packageInfo*/, nonEsmDependenciesFull, rel => {
|
|
478
|
+
stylesheet = rel;
|
|
479
|
+
});
|
|
468
480
|
//console.log('writing file', cacheDest)
|
|
469
481
|
//console.log('writing file', finalDest)
|
|
470
482
|
await fsPromises.writeFile(cacheDest, code); // rel contains the slash at start
|
|
@@ -494,7 +506,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
494
506
|
await fsPromises.copyFile(file, finalDest);
|
|
495
507
|
}
|
|
496
508
|
const dependenciesFileIndentifiers = dependenciesFull.map(d => d.fileIdentifier);
|
|
497
|
-
addToDependencyGraphFromFileInfo(fileInfo, dependenciesFileIndentifiers);
|
|
509
|
+
addToDependencyGraphFromFileInfo(fileInfo, dependenciesFileIndentifiers, stylesheet);
|
|
498
510
|
// add deps to dependencyGraph
|
|
499
511
|
// returns the deps
|
|
500
512
|
await processDependencies(dependenciesFull, sourceFilename, [...history, file]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type * as BabelCore from '@babel/core';
|
|
2
|
-
export { BabelCore };
|
|
3
|
-
export { NodePath, PluginPass } from '@babel/core';
|
|
2
|
+
export type { BabelCore };
|
|
3
|
+
export type { NodePath, PluginPass } from '@babel/core';
|
|
4
4
|
export type Babel = typeof BabelCore;
|
|
5
5
|
export * as BabelTypes from '@babel/types';
|
|
6
6
|
//# sourceMappingURL=BabelTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTypes.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,
|
|
1
|
+
{"version":3,"file":"BabelTypes.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,CAAA;AACzB,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvD,MAAM,MAAM,KAAK,GAAG,OAAO,SAAS,CAAC;AAErC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/build.ts"],"names":[],"mappings":"AAqDA,OAAO,EAAE,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
// build
|
|
2
2
|
import chalk from 'chalk-extensions';
|
|
3
3
|
import { Framework } from "../../Framework.js";
|
|
4
|
-
import { cliOut, cliNews } from "../../cliOutput.js";
|
|
4
|
+
import { cliOut, cliNews, cliWarn } from "../../cliOutput.js";
|
|
5
5
|
import { staticSiteFolder } from "../../settings.js";
|
|
6
|
+
import { createTimeProfiler } from "../../timeProfiler.js";
|
|
7
|
+
const profile = process.argv.slice(3).includes('--profile');
|
|
6
8
|
//// prep the app
|
|
7
9
|
const sxyFramework = new Framework();
|
|
10
|
+
sxyFramework.profiler = createTimeProfiler(profile);
|
|
8
11
|
await sxyFramework.init();
|
|
9
12
|
await sxyFramework.clean('prod');
|
|
10
13
|
await sxyFramework.build('prod');
|
|
@@ -24,4 +27,11 @@ if (sxyFramework.config.staticSite) {
|
|
|
24
27
|
} else {
|
|
25
28
|
cliNews(`Production build complete`);
|
|
26
29
|
}
|
|
27
|
-
|
|
30
|
+
// The build no longer holds anything open, so it ends by draining the event loop - hard-exiting
|
|
31
|
+
// here used to abort the process outright when an fs-extra copy still had a chmod in flight
|
|
32
|
+
// (libuv `!(handle->flags & UV_HANDLE_CLOSING)`). Safety net only, in case a future change
|
|
33
|
+
// leaks a handle again: unref'd, so a clean build still exits the moment it is done.
|
|
34
|
+
setTimeout(() => {
|
|
35
|
+
cliWarn(`Build finished but something is still holding the process open - exiting anyway.`);
|
|
36
|
+
process.exit(0);
|
|
37
|
+
}, 10_000).unref();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/compile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/compile.ts"],"names":[],"mappings":"AAuRA,OAAO,EAAE,CAAA"}
|
|
@@ -3,12 +3,13 @@ import { promises as fsPromises } from 'fs';
|
|
|
3
3
|
import { removeRecursive } from "../../removeRecursive.js";
|
|
4
4
|
import { compileJavascript } from "../../build/compileJavascript.js";
|
|
5
5
|
import { compileStyles } from "../../build/compileStyles.js";
|
|
6
|
+
import { writeFrameworkCss } from "../../build/frameworkStylesheets.js";
|
|
6
7
|
import { copyAssets } from "../../build/copyAssets.js";
|
|
7
8
|
import { copyPublicFiles } from "../../build/copyPublicFiles.js";
|
|
8
9
|
import { createClientFiles } from "../../build/createClientFiles.js";
|
|
9
10
|
import { createInstanceConfigFile } from "../../build/createInstanceConfigFile.js";
|
|
10
11
|
import { getUserConfig } from "../../getUserConfig.js";
|
|
11
|
-
import { buildCodeSubPath, assetsFolder, clientFolder, componentCssFolder, devBuildOuterFolder, packagesCacheFolder, packagesFolder, publicFolder, staticFolder } from "../../settings.js";
|
|
12
|
+
import { buildCodeSubPath, assetsFolder, clientFolder, componentCssFolder, devBuildOuterFolder, frameworkCssFolder, packagesCacheFolder, packagesFolder, publicFolder, staticFolder } from "../../settings.js";
|
|
12
13
|
import { cliError, cliNews, cliOut } from "../../cliOutput.js";
|
|
13
14
|
const targetOptions = {
|
|
14
15
|
'--js': 'js',
|
|
@@ -121,7 +122,9 @@ async function markReady() {
|
|
|
121
122
|
await clearReadyFile();
|
|
122
123
|
const cleanTasks = [];
|
|
123
124
|
if (clean && targets.has('js')) {
|
|
124
|
-
cleanTasks.push(removeRecursive(buildCodeLocation), removeRecursive(join(buildLocation, componentCssFolder)),
|
|
125
|
+
cleanTasks.push(removeRecursive(buildCodeLocation), removeRecursive(join(buildLocation, componentCssFolder)),
|
|
126
|
+
// else a component the app no longer imports keeps its stale stylesheet linked
|
|
127
|
+
removeRecursive(join(buildLocation, frameworkCssFolder)), removeRecursive(join(buildLocation, packagesFolder)), removeRecursive(packagesCacheLocation));
|
|
125
128
|
}
|
|
126
129
|
if (clean && targets.has('css')) {
|
|
127
130
|
cleanTasks.push(removeRecursive(join(buildLocation, staticFolder)));
|
|
@@ -171,6 +174,8 @@ if (targets.has('public')) {
|
|
|
171
174
|
compilationTasks.push(copyPublicFiles(projectDir, config, buildLocation, watch));
|
|
172
175
|
}
|
|
173
176
|
const compilationResults = await Promise.allSettled(compilationTasks);
|
|
177
|
+
// after the js task: the package walk that records the stylesheets runs inside it
|
|
178
|
+
if (targets.has('js')) await writeFrameworkCss(buildLocation);
|
|
174
179
|
const failures = compilationResults.filter(result => result.status === 'rejected').map(result => result.reason);
|
|
175
180
|
const initialSuccess = failures.length === 0 && javascriptInitialSuccess;
|
|
176
181
|
if (initialSuccess) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/dev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/dev.ts"],"names":[],"mappings":"AAqDA,OAAO,EAAE,CAAA"}
|