tungsten 0.4.12 → 0.4.13
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 -1
- package/dist/.tsbuildinfo +1 -0
- package/dist/AnyComponent.d.ts.map +1 -1
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +11 -8
- package/dist/DomPointer.js +1 -1
- package/dist/DomRegion.js +2 -2
- package/dist/Framework.js +1 -1
- package/dist/FrameworkConfig.d.ts.map +1 -1
- package/dist/Instance/Instance.js +1 -1
- package/dist/RenderedContentNode.d.ts.map +1 -1
- package/dist/RenderedContentNode.js +2 -1
- package/dist/Sass.d.ts.map +1 -1
- package/dist/Sass.js +1 -0
- package/dist/Servers/DevServer.d.ts.map +1 -1
- package/dist/Servers/DevServer.js +4 -3
- package/dist/Servers/ProdServer.js +1 -1
- package/dist/Servers/StaticSiteServer.js +1 -1
- package/dist/Servers/loadEnvsDev.d.ts +1 -1
- package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +4 -2
- package/dist/Servers/routing.d.ts.map +1 -1
- package/dist/Servers/routing.js +1 -1
- package/dist/Store/Store.js +1 -1
- package/dist/Store/TypeSafeStore.js +1 -1
- package/dist/Store/makeStore.js +1 -1
- package/dist/Store/registerStore.js +1 -1
- package/dist/TElement.js +1 -1
- package/dist/TungstenApp.js +6 -2
- package/dist/api/getExport.d.ts.map +1 -1
- package/dist/api/getExport.js +1 -0
- package/dist/babelPlugins/BabelTransformBindDirect.js +2 -0
- package/dist/babelPlugins/BabelTransformBindVar.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -4
- package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformCssImports.js +2 -2
- package/dist/babelPlugins/BabelTransformDependencyImportsOld.js +1 -1
- package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +10 -5
- package/dist/babelPlugins/BabelTransformRemoveBlocks.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +2 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -1
- package/dist/bin/args.js +1 -1
- package/dist/bin/commands/build.js +1 -1
- package/dist/bin/commands/compileSimplePackage.js +1 -0
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +11 -3
- package/dist/bin/vendorHook.d.ts +3 -0
- package/dist/bin/vendorHook.d.ts.map +1 -0
- package/dist/bin/vendorHook.js +34 -0
- package/dist/browserStorage.js +4 -2
- package/dist/build/babel.user.common.config.d.ts +2 -0
- package/dist/build/babel.user.common.config.d.ts.map +1 -1
- package/dist/build/babel.user.common.config.js +10 -4
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +40 -27
- package/dist/build/compileStyles.js +4 -4
- package/dist/build/copyAssets.js +3 -3
- package/dist/build/copyPublicFiles.js +3 -3
- package/dist/build/frameworkStylesheets.js +1 -1
- package/dist/build/getAllSxyClientModules.d.ts.map +1 -1
- package/dist/build/getAllSxyClientModules.js +4 -28
- package/dist/build/getSxyClientPackageAliases.d.ts.map +1 -1
- package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
- package/dist/build/rollupExtractComponentStylesheets.js +1 -1
- package/dist/build/sassImportParser.js +2 -2
- package/dist/build/tallyBabel.d.ts +3 -0
- package/dist/build/tallyBabel.d.ts.map +1 -0
- package/dist/build/tallyBabel.js +11 -0
- package/dist/clone.js +4 -4
- package/dist/compat/context.d.ts.map +1 -1
- package/dist/compat/types.d.ts.map +1 -1
- package/dist/componentProxyHandlers.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +5 -9
- package/dist/components/Stylesheet.d.ts +1 -2
- package/dist/components/Stylesheet.d.ts.map +1 -1
- package/dist/components/Stylesheet.js +1 -1
- package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
- package/dist/components/bindable/BindableInput.d.ts.map +1 -1
- package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
- package/dist/components/bindable/BindableRadio.d.ts.map +1 -1
- package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
- package/dist/components/library/RichTextEditor/RichTextEditor.js +2 -2
- package/dist/components/library/RichTextEditor/contentTree.js +1 -1
- package/dist/concat.d.ts.map +1 -1
- package/dist/concat.js +2 -2
- package/dist/copy.d.ts.map +1 -1
- package/dist/createRoutes.d.ts +1 -1
- package/dist/createRoutes.d.ts.map +1 -1
- package/dist/env/Env.js +2 -2
- package/dist/env/getEnvSchemas.d.ts +2 -2
- package/dist/env/getEnvSchemas.d.ts.map +1 -1
- package/dist/env/getEnvSchemas.js +7 -5
- package/dist/env/windowGlobalEnvStatement.d.ts.map +1 -1
- package/dist/findProjectDir.d.ts.map +1 -1
- package/dist/findProjectDir.js +18 -4
- package/dist/findUserConfig.js +2 -2
- package/dist/foreach.js +1 -0
- package/dist/frameworkConfigSchema.js +2 -2
- package/dist/getComponent.d.ts.map +1 -1
- package/dist/getComponentDev.d.ts.map +1 -1
- package/dist/getRoutes.d.ts.map +1 -1
- package/dist/getRoutes.js +13 -22
- package/dist/getRoutesDevs.d.ts.map +1 -1
- package/dist/getStackTrace.js +1 -1
- package/dist/glob.d.ts +5 -0
- package/dist/glob.d.ts.map +1 -0
- package/dist/glob.js +103 -0
- package/dist/helpers/getFetchCompatibleHeaders.js +2 -2
- package/dist/hmr/applyHmrModule.js +5 -5
- package/dist/hmr/componentIdentity.js +1 -1
- package/dist/hmr/instanceRegistry.js +2 -2
- package/dist/hooks/useReducer.d.ts.map +1 -1
- package/dist/hooks/useState.d.ts.map +1 -1
- package/dist/hooks/useState.js +2 -8
- package/dist/hydrate/hydrate.d.ts +1 -1
- package/dist/hydrate/hydrate.d.ts.map +1 -1
- package/dist/hydrate/hydrate.js +26 -24
- package/dist/hydrate/reconcileHydratedAttributes.js +2 -2
- package/dist/makeFinalConfig.d.ts.map +1 -1
- package/dist/makeFinalConfig.js +2 -2
- package/dist/markOptionSelected.js +1 -1
- package/dist/mergeConfigs.d.ts.map +1 -1
- package/dist/mergeConfigs.js +11 -2
- package/dist/mutatingFunctions.js +3 -3
- package/dist/postcssPlugins/TransformCssNames.js +2 -2
- package/dist/rawHtml/parseHtml.js +1 -1
- package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
- package/dist/render/componentNodeToRenderingTree.js +6 -17
- package/dist/render/contentToHtml.d.ts.map +1 -1
- package/dist/render/contentToHtml.js +1 -1
- package/dist/render/getFunctionBodyAsString.d.ts.map +1 -1
- package/dist/render/getFunctionBodyAsString.js +2 -5
- package/dist/render/processProps.js +2 -2
- package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
- package/dist/render/rootToHtml.d.ts.map +1 -1
- package/dist/routing/Route.js +1 -1
- package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
- package/dist/routing/RoutesWithSafeParams.js +1 -1
- package/dist/routing/WebRedirect.d.ts.map +1 -1
- package/dist/routing/compareRequestToRegex.js +2 -2
- package/dist/routing/getPathPriority.js +1 -1
- package/dist/serverRpc.d.ts.map +1 -1
- package/dist/slash.d.ts +2 -0
- package/dist/slash.d.ts.map +1 -0
- package/dist/slash.js +5 -0
- package/dist/spawnShellCommand.js +1 -1
- package/dist/staticGen/staticGen.d.ts.map +1 -1
- package/dist/staticGen/staticGen.js +9 -7
- package/dist/staticGen/staticGenFunctions.js +1 -1
- package/dist/style/jssToCss.d.ts.map +1 -1
- package/dist/style/jssToCss.js +11 -9
- package/dist/style/unusedStyles.d.ts.map +1 -1
- package/dist/testing/host.js +11 -11
- package/dist/testing/hydrateTestApp.d.ts.map +1 -1
- package/dist/testing/hydrateTestApp.js +9 -9
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/installTestStyleProcessors.js +1 -1
- package/dist/testing/loadEnv.d.ts +4 -1
- package/dist/testing/loadEnv.d.ts.map +1 -1
- package/dist/testing/loadEnv.js +2 -2
- package/dist/testing/temp/componentPackageMock.js +3 -3
- package/dist/timeProfiler.d.ts +4 -0
- package/dist/timeProfiler.d.ts.map +1 -1
- package/dist/timeProfiler.js +16 -0
- package/dist/todo.js +2 -1
- package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
- package/dist/update/integrateUpdateVdom.js +17 -14
- package/dist/update/integrateUpdateVdomPrebuild.js +5 -5
- package/dist/watch.js +2 -2
- package/package.json +10 -29
- package/types/modules.d.ts +0 -1
- package/vendor/babel-core.js +26 -0
- package/vendor/babel-parser.js +9 -0
- package/vendor/babel-plugin-syntax-import-assertions.js +50 -0
- package/vendor/babel-preset-react.js +872 -0
- package/vendor/babel-preset-typescript.js +26 -0
- package/vendor/babel-types.js +9 -0
- package/vendor/chalk-extensions.js +1994 -0
- package/vendor/chalk.js +647 -0
- package/vendor/chokidar.js +6889 -0
- package/vendor/chunk-1TN2rK3j.js +1218 -0
- package/vendor/chunk-1UuLTU0U.js +34 -0
- package/vendor/chunk-B_NeooyV.js +86 -0
- package/vendor/chunk-C12hSZn7.js +88 -0
- package/vendor/chunk-C3YkUGz5.js +19 -0
- package/vendor/chunk-C3fcZDjl.js +41964 -0
- package/vendor/chunk-C9FSKeSx.js +14603 -0
- package/vendor/chunk-CPArXGxa.js +14623 -0
- package/vendor/cjs-module-lexer.js +6 -0
- package/vendor/dotenv.js +412 -0
- package/vendor/express.js +40577 -0
- package/vendor/import-meta-resolve.js +2201 -0
- package/vendor/manifest.json +29 -0
- package/vendor/postcss.js +8546 -0
- package/vendor/serialize-javascript.js +293 -0
- package/vendor/sxy-lib-arrays.js +113 -0
- package/vendor/sxy-lib-object-copy.js +1781 -0
- package/vendor/sxy-lib-objects.js +156 -0
- package/vendor/sxy-lib-promises.js +47 -0
- package/vendor/sxy-package-investigator.js +202 -0
- package/vendor/valibot.js +7664 -0
- package/dist/Servers/hono/DevServerHono.d.ts +0 -2
- package/dist/Servers/hono/DevServerHono.d.ts.map +0 -1
- package/dist/Servers/hono/DevServerHono.js +0 -423
- package/dist/Servers/hono/ProdServerHono.d.ts +0 -2
- package/dist/Servers/hono/ProdServerHono.d.ts.map +0 -1
- package/dist/Servers/hono/ProdServerHono.js +0 -220
- package/dist/Servers/hono/TungstenServerHono.d.ts +0 -6
- package/dist/Servers/hono/TungstenServerHono.d.ts.map +0 -1
- package/dist/Servers/hono/TungstenServerHono.js +0 -36
- package/dist/api/ApiEndpointHono.d.ts +0 -3
- package/dist/api/ApiEndpointHono.d.ts.map +0 -1
- package/dist/api/ApiEndpointHono.js +0 -1
- package/dist/api/ApiRouteHono.d.ts +0 -7
- package/dist/api/ApiRouteHono.d.ts.map +0 -1
- package/dist/api/ApiRouteHono.js +0 -1
- package/dist/api/ApiRoutesHono.d.ts +0 -5
- package/dist/api/ApiRoutesHono.d.ts.map +0 -1
- package/dist/api/ApiRoutesHono.js +0 -1
- package/dist/api/getApiRoutesHono.d.ts +0 -6
- package/dist/api/getApiRoutesHono.d.ts.map +0 -1
- package/dist/api/getApiRoutesHono.js +0 -14
- package/dist/build/compilePackages.d.ts +0 -2
- package/dist/build/compilePackages.d.ts.map +0 -1
- package/dist/build/compilePackages.js +0 -89
- package/dist/build/findRequiredUserModule.d.ts +0 -2
- package/dist/build/findRequiredUserModule.d.ts.map +0 -1
- package/dist/build/findRequiredUserModule.js +0 -36
- package/dist/build/processPackage.d.ts +0 -4
- package/dist/build/processPackage.d.ts.map +0 -1
- package/dist/build/processPackage.js +0 -91
- package/dist/build/tallyBabelPlugins.d.ts +0 -3
- package/dist/build/tallyBabelPlugins.d.ts.map +0 -1
- package/dist/build/tallyBabelPlugins.js +0 -63
- package/dist/testing/loadEnvSetup.d.ts +0 -2
- package/dist/testing/loadEnvSetup.d.ts.map +0 -1
- package/dist/testing/loadEnvSetup.js +0 -7
- package/sxy-loader.config.js +0 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { filter as objectFilter } from 'sxy-lib/objects.js';
|
|
2
2
|
import { jssToCss } from '../style/jssToCss.js';
|
|
3
3
|
import { StringIsHtmlEvent } from '../htmlEvents.js';
|
|
4
4
|
// Props that are instructions to Tungsten rather than HTML attributes.
|
|
@@ -12,7 +12,7 @@ import { StringIsHtmlEvent } from '../htmlEvents.js';
|
|
|
12
12
|
const omitProps = ['ref', '__zoneHtml', '__opaque', 'dangerouslySetInnerHTML'];
|
|
13
13
|
//// !!!! We need to handle bind here
|
|
14
14
|
export function processProps(props) {
|
|
15
|
-
props =
|
|
15
|
+
props = objectFilter(props, key => {
|
|
16
16
|
return !omitProps.includes(key) && !StringIsHtmlEvent(key);
|
|
17
17
|
});
|
|
18
18
|
// if ('className' in props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderingTreeToHtml.d.ts","sourceRoot":"","sources":["../../src/render/renderingTreeToHtml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAY7C,OAAO,EACH,KAAK,aAAa,EAAE,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"renderingTreeToHtml.d.ts","sourceRoot":"","sources":["../../src/render/renderingTreeToHtml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAY7C,OAAO,EACH,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAE7C,MAAM,qBAAqB,CAAA;AAU5B,wBAAsB,mBAAmB,CACrC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAC1D,UAAU,EAAE,iBAAiB,GAAG,IAAI,GACrC,OAAO,CAAC,MAAM,CAAC,CA8JjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rootToHtml.d.ts","sourceRoot":"","sources":["../../src/render/rootToHtml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"rootToHtml.d.ts","sourceRoot":"","sources":["../../src/render/rootToHtml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAGrE,wBAAsB,UAAU,CAC5B,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAAa,EACpE,kBAAkB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EACzF,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,GAAE,sBAAkC,EACzF,GAAG,UAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,CAWjB"}
|
package/dist/routing/Route.js
CHANGED
|
@@ -36,7 +36,7 @@ export {};
|
|
|
36
36
|
// __T_routeParams: routeParams,
|
|
37
37
|
// __T_routeData: routeData,
|
|
38
38
|
// __T_location: location
|
|
39
|
-
// } = this.props as InternalRouteProps // eslint-disable-line
|
|
39
|
+
// } = this.props as InternalRouteProps // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- using the type assertion to hide internal workings from users
|
|
40
40
|
// if (typeof children === 'function') {
|
|
41
41
|
// const r = children(routeParams, routeData, location)
|
|
42
42
|
// //console.log('r1', r)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteDataFunction.type.d.ts","sourceRoot":"","sources":["../../src/routing/RouteDataFunction.type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,IACvD,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"RouteDataFunction.type.d.ts","sourceRoot":"","sources":["../../src/routing/RouteDataFunction.type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,IACvD,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAClE,OAAO,CAAC,QAAQ,GAAG,eAAe,GAAG,WAAW,CAAC,CAAA"}
|
|
@@ -26,7 +26,7 @@ export {};
|
|
|
26
26
|
// ] satisfies [string, unknown][]
|
|
27
27
|
// type O = ArrayToObject<typeof a>
|
|
28
28
|
// function makeRoutes<Routes extends readonly RouteWithSafeParams<any, any>[]>(routes: Routes): Expand<RoutesArrayToObject<Routes>> {
|
|
29
|
-
// return arrayMapToObject(routes, (route => [route.path, route])) as RoutesArrayToObject<Routes> // eslint-disable-line
|
|
29
|
+
// return arrayMapToObject(routes, (route => [route.path, route])) as RoutesArrayToObject<Routes> // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
30
30
|
// }
|
|
31
31
|
// // function makeRoute<Path extends string>(path: Path, route: RouteWithSafeParams<Path, any>): [Path, RouteWithSafeParams<Path, any>] {
|
|
32
32
|
// // return [path, route]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebRedirect.d.ts","sourceRoot":"","sources":["../../src/routing/WebRedirect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"WebRedirect.d.ts","sourceRoot":"","sources":["../../src/routing/WebRedirect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,MAAM,MAAM,GAAG,GAAG,MAAM,MAAM,MAAM,EAAE,GAAG,MAAM,CAAA;AAErD,qBAAa,WAAW;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,YAAY,CAAA;gBACN,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,YAAkB;CAInD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mapToObject } from 'sxy-lib/arrays.js';
|
|
2
2
|
export function compareRequestToRegex(request, regex, keys) {
|
|
3
3
|
const matches = regex.exec(request);
|
|
4
4
|
const success = matches !== null;
|
|
5
|
-
const params = success ?
|
|
5
|
+
const params = success ? mapToObject(keys, (key, index) => [key, matches[index + 1]]) : mapToObject(keys, key => [key, undefined]);
|
|
6
6
|
return {
|
|
7
7
|
success,
|
|
8
8
|
params: params // working around the TS issues with records/mapped types. [key: string]: A and [Key in Type]?: A are inconsistent, second turns A into A | undefined. come back to this later
|
package/dist/serverRpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverRpc.d.ts","sourceRoot":"","sources":["../src/serverRpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serverRpc.d.ts","sourceRoot":"","sources":["../src/serverRpc.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,CAEtG"}
|
package/dist/slash.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash.d.ts","sourceRoot":"","sources":["../src/slash.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD"}
|
package/dist/slash.js
ADDED
|
@@ -13,7 +13,7 @@ export function spawnShellCommand(command, extras) {
|
|
|
13
13
|
if (route === 'whole-command') {
|
|
14
14
|
return spawn(command, options);
|
|
15
15
|
} else {
|
|
16
|
-
const parts = command.split(' '); // eslint-disable-line
|
|
16
|
+
const parts = command.split(' '); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- split returns an array of length at least 1
|
|
17
17
|
// if (process.platform === 'win32') {
|
|
18
18
|
// parts[0] += '.cmd'
|
|
19
19
|
// }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticGen.d.ts","sourceRoot":"","sources":["../../src/staticGen/staticGen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"staticGen.d.ts","sourceRoot":"","sources":["../../src/staticGen/staticGen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAiBhD,wBAAsB,SAAS,CAAC,SAAS,EAAE,SAAS,iBA+MnD"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { existsSync, promises as fsPromises } from 'fs';
|
|
2
2
|
import { join, dirname } from 'path';
|
|
3
|
-
|
|
3
|
+
const copy = (from, to) => fsPromises.cp(from, to, {
|
|
4
|
+
recursive: true
|
|
5
|
+
});
|
|
4
6
|
//import type { SxyFrameworkConfigComplete } from '../FrameworkConfig.js'
|
|
5
7
|
import { staticSiteFolder, staticFolder, assetsFolder, publicFolder, bundleFolder, componentCssFolder, frameworkCssFolder } from '../settings.js';
|
|
6
8
|
import { getAppRoutes } from './getAppRoutes.js';
|
|
@@ -147,17 +149,17 @@ export async function staticGen(framework) {
|
|
|
147
149
|
await renderPath(path, siteBasePath);
|
|
148
150
|
}
|
|
149
151
|
if (!quiet) cliLog('rewriteMap', rewriteMap);
|
|
150
|
-
const copyPromises = [
|
|
152
|
+
const copyPromises = [copy(join(buildLocation, staticFolder), join(projectDir, staticSiteFolder)),
|
|
151
153
|
// assets folder
|
|
152
|
-
existsSync(join(buildLocation, assetsFolder)) ?
|
|
154
|
+
existsSync(join(buildLocation, assetsFolder)) ? copy(join(buildLocation, assetsFolder), join(projectDir, staticSiteFolder, 'assets')) : null,
|
|
153
155
|
// public files
|
|
154
|
-
existsSync(join(buildLocation, publicFolder)) ?
|
|
156
|
+
existsSync(join(buildLocation, publicFolder)) ? copy(join(buildLocation, publicFolder), join(projectDir, staticSiteFolder)) : null,
|
|
155
157
|
// copy in the bundle
|
|
156
|
-
|
|
158
|
+
copy(join(projectDir, bundleFolder), join(projectDir, staticSiteFolder, 'bundle')),
|
|
157
159
|
// copy the client.js to clientWithEnv.js, because the framework looks for this file instead.
|
|
158
|
-
//
|
|
160
|
+
//copy(join(projectDir, bundleFolder, 'client.js'), join(projectDir, bundleFolder, 'clientWithEnv.js')),
|
|
159
161
|
// copy in the css
|
|
160
|
-
|
|
162
|
+
copy(join(buildLocation, componentCssFolder), join(projectDir, staticSiteFolder, componentCssFolder)), ...(existsSync(join(buildLocation, frameworkCssFolder)) ? [copy(join(buildLocation, frameworkCssFolder), join(projectDir, staticSiteFolder, frameworkCssFolder))] : [])];
|
|
161
163
|
await Promise.all(copyPromises);
|
|
162
164
|
} finally {
|
|
163
165
|
await server.stop();
|
|
@@ -12,7 +12,7 @@ export function pathToLink(path, siteBasePath) {
|
|
|
12
12
|
}
|
|
13
13
|
export function findLinks(content) {
|
|
14
14
|
const matches = [...content.matchAll(/href="(.+?)"/g)].map(x => {
|
|
15
|
-
return x[1]; // eslint-disable-line
|
|
15
|
+
return x[1]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the regex has a match group, so entry 1 will exist
|
|
16
16
|
});
|
|
17
17
|
return matches;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jssToCss.d.ts","sourceRoot":"","sources":["../../src/style/jssToCss.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jssToCss.d.ts","sourceRoot":"","sources":["../../src/style/jssToCss.ts"],"names":[],"mappings":"AAoBA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,UAqBpC"}
|
package/dist/style/jssToCss.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import decamelize from 'decamelize';
|
|
2
1
|
import { IsIndexableObject } from '../IsIndexableObject.js';
|
|
3
|
-
import {
|
|
2
|
+
import { isDev } from '../isDev.js';
|
|
4
3
|
import { throwError } from '../throwError.js';
|
|
4
|
+
// decamelize in-house: fontSize -> font-size, MozOsxFontSmoothing -> moz-osx-font-smoothing
|
|
5
5
|
function kabab(string) {
|
|
6
|
-
return
|
|
7
|
-
separator: '-'
|
|
8
|
-
});
|
|
6
|
+
return string.replace(/([\p{Ll}\d])(\p{Lu})/gu, '$1-$2').replace(/(\p{Lu}+)(\p{Lu}\p{Ll}+)/gu, '$1-$2').toLowerCase();
|
|
9
7
|
}
|
|
10
8
|
function value(key, value) {
|
|
11
9
|
if (typeof value === 'number' && value !== 0 && !(key in unitlessNumber)) {
|
|
@@ -15,12 +13,16 @@ function value(key, value) {
|
|
|
15
13
|
}
|
|
16
14
|
export function jssToCss(jss) {
|
|
17
15
|
if (IsIndexableObject(jss)) {
|
|
18
|
-
if (jss === null) return '';
|
|
19
16
|
let css = '';
|
|
20
|
-
todo(`jssToCss() Add typesafety to jss object`);
|
|
21
17
|
for (const key in jss) {
|
|
22
|
-
|
|
23
|
-
//
|
|
18
|
+
const raw = jss[key];
|
|
19
|
+
// a conditional style leaves undefined behind: no declaration, as in react
|
|
20
|
+
if (raw === undefined || raw === null) continue;
|
|
21
|
+
// the prop is typed CSSProperties; anything else here came through a spread or cast
|
|
22
|
+
if (isDev && typeof raw !== 'string' && typeof raw !== 'number') {
|
|
23
|
+
throwError('jssToCss()', `style.${key} is ${typeof raw}, expected a string or number`);
|
|
24
|
+
}
|
|
25
|
+
css += `${kabab(key)}: ${value(key, raw)};`;
|
|
24
26
|
}
|
|
25
27
|
return css;
|
|
26
28
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unusedStyles.d.ts","sourceRoot":"","sources":["../../src/style/unusedStyles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"unusedStyles.d.ts","sourceRoot":"","sources":["../../src/style/unusedStyles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAY9C,MAAM,MAAM,UAAU,GAAG;IACrB,MAAM,EAAE,QAAQ,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAUD,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,cAQ7C;AA2BD,wBAAsB,kBAAkB,kBAgBvC"}
|
package/dist/testing/host.js
CHANGED
|
@@ -25,7 +25,7 @@ export async function host(
|
|
|
25
25
|
// reference, so a generic component's own type parameters survive - see the
|
|
26
26
|
// longer note on createTestApp(), which uses the same shape.
|
|
27
27
|
ComponentType, ...args) {
|
|
28
|
-
// eslint-disable-next-line
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the conditional tuple isn't destructurable as written
|
|
29
29
|
const [props, options] = args;
|
|
30
30
|
const pending = [];
|
|
31
31
|
const failures = [];
|
|
@@ -53,7 +53,7 @@ ComponentType, ...args) {
|
|
|
53
53
|
let title;
|
|
54
54
|
const navigations = [];
|
|
55
55
|
const component = new ComponentType(componentPackageMock(
|
|
56
|
-
// eslint-disable-next-line
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- an absent props object is only reachable when Props allows {}
|
|
57
57
|
props ?? {}, {
|
|
58
58
|
trackWork,
|
|
59
59
|
// setState's work, run and awaited here rather than left to a timer
|
|
@@ -81,7 +81,7 @@ ComponentType, ...args) {
|
|
|
81
81
|
environment: options.environment
|
|
82
82
|
} : {})
|
|
83
83
|
}));
|
|
84
|
-
// eslint-disable-next-line
|
|
84
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- state isn't on the base class, see StateOf
|
|
85
85
|
const stateful = component;
|
|
86
86
|
const simple = component instanceof TungstenSimpleComponent;
|
|
87
87
|
// Not awaited here: what the component's own content function returns is
|
|
@@ -91,10 +91,10 @@ ComponentType, ...args) {
|
|
|
91
91
|
if (contentFunction === undefined) {
|
|
92
92
|
throw new Error(`host(): ${ComponentType.name} has no content or render function.`);
|
|
93
93
|
}
|
|
94
|
-
// eslint-disable-next-line
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the base declares the stateful (props, state) shape for both
|
|
95
95
|
const call = contentFunction;
|
|
96
96
|
const result = simple ? call(component.props) : call(component.props, stateful.state);
|
|
97
|
-
// eslint-disable-next-line
|
|
97
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ContentOf recovers the concrete component's own return type
|
|
98
98
|
return result;
|
|
99
99
|
};
|
|
100
100
|
await component.__init();
|
|
@@ -107,7 +107,7 @@ ComponentType, ...args) {
|
|
|
107
107
|
get props() {
|
|
108
108
|
return component.props;
|
|
109
109
|
},
|
|
110
|
-
// eslint-disable-next-line
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- as above
|
|
111
111
|
get state() {
|
|
112
112
|
return stateful.state;
|
|
113
113
|
},
|
|
@@ -123,7 +123,7 @@ ComponentType, ...args) {
|
|
|
123
123
|
// content first, then the completion lifecycles - the order
|
|
124
124
|
// __updateAndReturnContent() and its complete() callback run in.
|
|
125
125
|
const rendered = await content();
|
|
126
|
-
// eslint-disable-next-line
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- see UpdateCompletion
|
|
127
127
|
const completion = component;
|
|
128
128
|
// the framework passes the props the render saw, not the previous
|
|
129
129
|
// ones, despite componentDidUpdate's parameter name
|
|
@@ -135,11 +135,11 @@ ComponentType, ...args) {
|
|
|
135
135
|
if (stateful.state === undefined) {
|
|
136
136
|
throw new Error(`host(): ${ComponentType.name} has no state to update.`);
|
|
137
137
|
}
|
|
138
|
-
// eslint-disable-next-line
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- as above
|
|
139
139
|
const next = setter(stateful.state);
|
|
140
140
|
// a setter that mutated and returned nothing has already done the work
|
|
141
141
|
if (next !== undefined) {
|
|
142
|
-
// eslint-disable-next-line
|
|
142
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- StateOf is the component's own state type
|
|
143
143
|
stateful.state = next;
|
|
144
144
|
}
|
|
145
145
|
const rendered = await content();
|
|
@@ -147,7 +147,7 @@ ComponentType, ...args) {
|
|
|
147
147
|
return rendered;
|
|
148
148
|
}
|
|
149
149
|
};
|
|
150
|
-
// eslint-disable-next-line
|
|
150
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- componentApi() collects exactly the members ComponentApi describes
|
|
151
151
|
return Object.assign(core, componentApi(component, core));
|
|
152
152
|
}
|
|
153
153
|
// The component's own function members, bound and ready to call. Framework
|
|
@@ -160,7 +160,7 @@ function componentApi(component, core) {
|
|
|
160
160
|
if (name.startsWith('_') || frameworkMembers.has(name)) return;
|
|
161
161
|
if (name in core || name in api) return;
|
|
162
162
|
// class fields are already arrows; a prototype method needs binding
|
|
163
|
-
api[name] = descriptor.value.bind(component); // eslint-disable-line
|
|
163
|
+
api[name] = descriptor.value.bind(component); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- guarded by the typeof above
|
|
164
164
|
};
|
|
165
165
|
for (const name of Object.getOwnPropertyNames(component)) {
|
|
166
166
|
add(name, Object.getOwnPropertyDescriptor(component, name));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrateTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/hydrateTestApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAO1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;
|
|
1
|
+
{"version":3,"file":"hydrateTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/hydrateTestApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAO1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAY1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG;IAM9E,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,GAAG,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC9D,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAEpE,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAClE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAG7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAIrB,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAEvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AAkGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAChC,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAErB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,SAAS,EAClF,GAAG,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA6HpC"}
|
|
@@ -24,7 +24,7 @@ import { waitForEnvIfLoading } from './loadEnv.js';
|
|
|
24
24
|
function bridgeHappyDomGlobals(document) {
|
|
25
25
|
const window = document.defaultView;
|
|
26
26
|
if (window === null) return;
|
|
27
|
-
const globals = globalThis; // eslint-disable-line
|
|
27
|
+
const globals = globalThis; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- bridging happy-dom's globals onto the global scope
|
|
28
28
|
globals.Node = window.Node;
|
|
29
29
|
globals.Text = window.Text;
|
|
30
30
|
globals.Comment = window.Comment;
|
|
@@ -109,8 +109,8 @@ class HydrateTestAppImplementation {
|
|
|
109
109
|
*/
|
|
110
110
|
export async function hydrateTestApp(RootComponent, ...args) {
|
|
111
111
|
await waitForEnvIfLoading();
|
|
112
|
-
const options = args[0]; // eslint-disable-line
|
|
113
|
-
const suppliedDocument = options?.document ?? globalThis.document; // eslint-disable-line
|
|
112
|
+
const options = args[0]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
113
|
+
const suppliedDocument = options?.document ?? globalThis.document; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
114
114
|
if (suppliedDocument === undefined) {
|
|
115
115
|
// eslint-disable-line @typescript-eslint/no-unnecessary-condition
|
|
116
116
|
throw new Error('hydrateTestApp() requires options.document when no global document is available.');
|
|
@@ -131,10 +131,10 @@ export async function hydrateTestApp(RootComponent, ...args) {
|
|
|
131
131
|
}
|
|
132
132
|
document.body.appendChild(container);
|
|
133
133
|
}
|
|
134
|
-
const clientProps = options?.props ?? {}; // eslint-disable-line
|
|
134
|
+
const clientProps = options?.props ?? {}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
135
135
|
const serverProps = options?.serverProps ?? clientProps;
|
|
136
136
|
const location = options?.location ?? '/';
|
|
137
|
-
const globalData = options?.globalData ?? {}; // eslint-disable-line
|
|
137
|
+
const globalData = options?.globalData ?? {}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
138
138
|
const matchedRouteInfo = {
|
|
139
139
|
key: null,
|
|
140
140
|
params: options?.routeParams ?? {},
|
|
@@ -151,8 +151,8 @@ export async function hydrateTestApp(RootComponent, ...args) {
|
|
|
151
151
|
staticSite: false,
|
|
152
152
|
csr: options?.csr ?? false
|
|
153
153
|
};
|
|
154
|
-
const emptyRoutes = {}; // eslint-disable-line
|
|
155
|
-
// eslint-disable-next-line
|
|
154
|
+
const emptyRoutes = {}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- not exercised by hydration tests
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- rootToHtml.ts builds a root content node the same way
|
|
156
156
|
const componentNode = {
|
|
157
157
|
[$type]: RootComponent,
|
|
158
158
|
[$props]: serverProps
|
|
@@ -168,7 +168,7 @@ export async function hydrateTestApp(RootComponent, ...args) {
|
|
|
168
168
|
storeSubscriptions
|
|
169
169
|
} = initStores(location, null, globalData, matchedRouteInfo);
|
|
170
170
|
const ssrInstance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes,
|
|
171
|
-
// eslint-disable-line
|
|
171
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
172
172
|
internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, {
|
|
173
173
|
document,
|
|
174
174
|
window: document.defaultView,
|
|
@@ -214,7 +214,7 @@ export async function hydrateTestApp(RootComponent, ...args) {
|
|
|
214
214
|
navigation: false
|
|
215
215
|
};
|
|
216
216
|
const instance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes,
|
|
217
|
-
// eslint-disable-line
|
|
217
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
218
218
|
internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
|
|
219
219
|
try {
|
|
220
220
|
for (const override of options?.stores ?? []) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CssNames } from '../CssNames.js';
|
|
2
|
-
// The style processors are compiled away by
|
|
2
|
+
// The style processors are compiled away by BabelTransformComponentStyles in an app
|
|
3
3
|
// build. Tungsten's own build deliberately leaves them alone — transforming
|
|
4
4
|
// here would emit the stylesheet into the framework's output instead of the
|
|
5
5
|
// consuming app's — so the globals are absent when tungsten tests its own
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type LoadEnvOptions = {
|
|
2
|
+
buildLocation?: string;
|
|
3
|
+
};
|
|
4
|
+
export declare function loadEnv(options?: LoadEnvOptions): Promise<void>;
|
|
2
5
|
export declare function waitForEnvIfLoading(): Promise<void>;
|
|
3
6
|
//# sourceMappingURL=loadEnv.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/testing/loadEnv.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/testing/loadEnv.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG;IAGzB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AASD,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnE;AAID,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnD"}
|
package/dist/testing/loadEnv.js
CHANGED
|
@@ -9,14 +9,14 @@ let loadPromise;
|
|
|
9
9
|
// TUNGSTEN_TEST_ENV chooses which env files: set it to prefer .env.test* over the base files.
|
|
10
10
|
// A missing or invalid env schemas file is a hard error - an app that asked for env and did not
|
|
11
11
|
// get it must not run its tests regardless.
|
|
12
|
-
export function loadEnv() {
|
|
12
|
+
export function loadEnv(options = {}) {
|
|
13
13
|
if (loadPromise === undefined) {
|
|
14
14
|
loadPromise = (async () => {
|
|
15
15
|
const config = await getUserConfig({}, 'silent');
|
|
16
16
|
const useTestEnvFiles = testEnvIsRequested(process.env[testEnvVariableName]);
|
|
17
17
|
// iteration 0: schemas are stable within a test run.
|
|
18
18
|
// _firstLoad = false: suppress the CLI boot output.
|
|
19
|
-
await loadEnvsDev(config, 0, process.env, false, useTestEnvFiles);
|
|
19
|
+
await loadEnvsDev(config, 0, process.env, false, useTestEnvFiles, options.buildLocation);
|
|
20
20
|
})();
|
|
21
21
|
}
|
|
22
22
|
return loadPromise;
|
|
@@ -50,14 +50,14 @@ export const componentPackageMock = (props, options = {}) => ({
|
|
|
50
50
|
// read. `satisfies Partial<Instance>` checks those we do supply against
|
|
51
51
|
// the real Instance types (catching drift), while the assertion backfills
|
|
52
52
|
// the rest.
|
|
53
|
-
// eslint-disable-next-line
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
54
54
|
instance: {
|
|
55
55
|
//stores: options.stores ?? [],
|
|
56
|
-
// eslint-disable-next-line
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the mock supplies store keys, not the store machinery behind them
|
|
57
57
|
internalStore: internalStore(options.internalStore ?? {}),
|
|
58
58
|
// Route passthrough: tests supply loosely-typed route maps, narrowed
|
|
59
59
|
// to Routes here (assertion confined to this boundary).
|
|
60
|
-
// eslint-disable-next-line
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
61
61
|
getRoutes: () => options.routes ?? {},
|
|
62
62
|
// the instance's own copies of what the store holds - one source, as
|
|
63
63
|
// updateLocation() keeps them in the real thing
|
package/dist/timeProfiler.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ export declare function isProfiling(): boolean;
|
|
|
6
6
|
export declare function beginStartupProfiling(profiling: boolean): void;
|
|
7
7
|
export declare function reportStartupPhase(name: string): void;
|
|
8
8
|
export declare function tallied<T>(name: string, work: () => T): T;
|
|
9
|
+
export declare function findTally(name: string): {
|
|
10
|
+
calls: number;
|
|
11
|
+
ms: number;
|
|
12
|
+
} | undefined;
|
|
9
13
|
export declare function addEndOfRunReport(report: () => void): void;
|
|
10
14
|
export declare function reportRunTotal(name: string): void;
|
|
11
15
|
export declare function createTimeProfiler(profiling?: boolean): TimeProfiler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeProfiler.d.ts","sourceRoot":"","sources":["../src/timeProfiler.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAClD,gBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;CAChF,CAAA;AAgND,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAG9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKrD;AA0BD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAWzD;AAiCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAE1D;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CASjD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,UAAO,GAAG,YAAY,CAoCjE"}
|
|
1
|
+
{"version":3,"file":"timeProfiler.d.ts","sourceRoot":"","sources":["../src/timeProfiler.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAClD,gBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;CAChF,CAAA;AAgND,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAG9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKrD;AA0BD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAWzD;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAWjF;AAiCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAE1D;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CASjD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,UAAO,GAAG,YAAY,CAoCjE"}
|
package/dist/timeProfiler.js
CHANGED
|
@@ -225,6 +225,22 @@ export function tallied(name, work) {
|
|
|
225
225
|
tallyStack.pop();
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
|
+
// a tally's totals wherever it sits in the tree, for tests of instrumentation
|
|
229
|
+
export function findTally(name) {
|
|
230
|
+
const search = nodes => {
|
|
231
|
+
for (const node of nodes.values()) {
|
|
232
|
+
if (node.name === name) return node;
|
|
233
|
+
const found = search(node.children);
|
|
234
|
+
if (found !== undefined) return found;
|
|
235
|
+
}
|
|
236
|
+
return undefined;
|
|
237
|
+
};
|
|
238
|
+
const node = search(rootTallies);
|
|
239
|
+
return node === undefined ? undefined : {
|
|
240
|
+
calls: node.calls,
|
|
241
|
+
ms: node.ms
|
|
242
|
+
};
|
|
243
|
+
}
|
|
228
244
|
function reportTallies() {
|
|
229
245
|
if (rootTallies.size === 0) return;
|
|
230
246
|
cliOut('');
|
package/dist/todo.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACH,WAAW,EAAwC,eAAe,EAElE,uBAAuB,EAG1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAIlD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"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"}
|