tungsten 0.4.12 → 0.4.14
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/AnyComponent.d.ts.map +1 -1
- package/dist/Components.d.ts +40 -0
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +66 -77
- 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/_client/cjsHelpers.d.ts.map +1 -1
- package/dist/_client/cjsHelpers.js +4 -2
- package/dist/_client/client.js +0 -14
- package/dist/_client/hmr.d.ts +2 -0
- package/dist/_client/hmr.d.ts.map +1 -0
- package/dist/_client/hmr.js +65 -0
- package/dist/_client/liveReload.d.ts +2 -0
- package/dist/_client/liveReload.d.ts.map +1 -0
- package/dist/_client/liveReload.js +6 -0
- package/dist/_client/liveReloadSource.d.ts +3 -0
- package/dist/_client/liveReloadSource.d.ts.map +1 -0
- package/dist/_client/liveReloadSource.js +25 -0
- 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/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.js +1 -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/bundle.d.ts.map +1 -1
- package/dist/build/bundle.js +10 -1
- 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/createClientFiles.d.ts.map +1 -1
- package/dist/build/createClientFiles.js +4 -8
- 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/getSxyClientPackageAliases.js +3 -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 +20 -13
- package/dist/componentProxyHandlers.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +134 -94
- 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 +29 -25
- package/dist/hydrate/reconcileHydratedAttributes.js +2 -2
- package/dist/indexInner.d.ts +1 -1
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/indexInner.js +1 -0
- 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.d.ts +2 -1
- package/dist/mutatingFunctions.d.ts.map +1 -1
- package/dist/mutatingFunctions.js +10 -4
- 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/processHead.d.ts.map +1 -1
- package/dist/render/processHead.js +5 -34
- 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/signals/tracking.d.ts +33 -0
- package/dist/signals/tracking.d.ts.map +1 -0
- package/dist/signals/tracking.js +87 -0
- 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/warnOnFrameworkChange.js +1 -1
- package/dist/watch.js +2 -2
- package/package.json +14 -33
- 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
|
@@ -8,7 +8,6 @@ import { getStyledContentFromFunctionComponent } from '../getStyledContentFromFu
|
|
|
8
8
|
import { FunctionElement } from '../FunctionComponentStandIn.js';
|
|
9
9
|
import { jssToCss } from '../style/jssToCss.js';
|
|
10
10
|
import { htmlEventHandlerKey } from '../htmlEventHandlerKey.js';
|
|
11
|
-
import { todo } from '../todo.js';
|
|
12
11
|
import { $contentNull } from '../symbols.js';
|
|
13
12
|
import { throwError } from '../throwError.js';
|
|
14
13
|
import { $number, $string, RenderedContentNodeIsArray, RenderedContentNodeIsLiteral, makeRenderedContentNodeNonRendered, makeRenderedContentNodeHtml, makeRenderedContentNodeLiteral, RenderedContentNodeIsNonRendered, WideRenderedContentNodeIsArray, WideRenderedContentNodeIsLiteral, WideRenderedContentNodeIsHtml, WideRenderedContentNodeIsComponent, RenderedContentNodeSingleIsHead, RenderedContentNodeSingleIsComponent, RenderedContentNodeSingleIsHtml, RenderedContentNodeIsElement, RenderedContentNodeSingleIsLiteral } from '../RenderedContentNode.js';
|
|
@@ -80,7 +79,7 @@ function debug(...texts) {
|
|
|
80
79
|
//console.log(...texts)
|
|
81
80
|
//console.log(getStackTrace().split('\n')[2])
|
|
82
81
|
}
|
|
83
|
-
const timing = false; // eslint-disable-line
|
|
82
|
+
const timing = false; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
84
83
|
// need to be adapted to work for func components?
|
|
85
84
|
export async function integrateElementUpdateVdom(element, newContent) {
|
|
86
85
|
let startTime = 0;
|
|
@@ -516,7 +515,7 @@ async function updateComponent({
|
|
|
516
515
|
instance,
|
|
517
516
|
newNode,
|
|
518
517
|
oldNode: oldNode,
|
|
519
|
-
// eslint-disable-line
|
|
518
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- oldNode is proven to be class comp, because type is the same as newNode
|
|
520
519
|
domPointer
|
|
521
520
|
});
|
|
522
521
|
} else {
|
|
@@ -526,7 +525,7 @@ async function updateComponent({
|
|
|
526
525
|
instance,
|
|
527
526
|
newNode,
|
|
528
527
|
oldNode: oldNode,
|
|
529
|
-
// eslint-disable-line
|
|
528
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- oldNode is proven to be function comp, because type is the same as newNode
|
|
530
529
|
domPointer
|
|
531
530
|
});
|
|
532
531
|
}
|
|
@@ -567,7 +566,7 @@ function moveDomNode(domNode, domPointer) {
|
|
|
567
566
|
// is not a child at all (indexOf -1), or index is past the end (undefined).
|
|
568
567
|
// one live-NodeList read, reused as the insertBefore reference below -- see
|
|
569
568
|
// DomPointer.insert() for why these reads are worth counting
|
|
570
|
-
const reference = domPointer.parent.childNodes[domPointer.index]; // eslint-disable-line
|
|
569
|
+
const reference = domPointer.parent.childNodes[domPointer.index]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- indexing past the end gives undefined, which the DOM types do not model
|
|
571
570
|
if (reference !== domNode) {
|
|
572
571
|
//console.log('document.activeElement', document.activeElement, domNode == document.activeElement, domNode === document.activeElement)
|
|
573
572
|
const ownerDocument = domNode.ownerDocument;
|
|
@@ -583,7 +582,7 @@ function moveDomNode(domNode, domPointer) {
|
|
|
583
582
|
//console.log('had focus', hasFocus)
|
|
584
583
|
if (hasFocus) domNode.focus();
|
|
585
584
|
//console.log('post document.activeElement', document.activeElement)
|
|
586
|
-
if (activeElement) activeElement.focus(); // eslint-disable-line
|
|
585
|
+
if (activeElement) activeElement.focus(); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- activeElement was a focused dom node, so it should have a focus method??
|
|
587
586
|
}
|
|
588
587
|
domPointer.increment();
|
|
589
588
|
}
|
|
@@ -836,7 +835,7 @@ async function createHtmlElement(tungstenElement, instance, node, domPointer, pa
|
|
|
836
835
|
processHtmlNode(node, parentNode);
|
|
837
836
|
debug('-createHtmlElement', node);
|
|
838
837
|
const htmlEl = documentFromParent(domPointer.parent).createElement(node[$type]);
|
|
839
|
-
const extendableEl = htmlEl; // eslint-disable-line
|
|
838
|
+
const extendableEl = htmlEl; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- attributes are attached to the element later
|
|
840
839
|
addAttributes(tungstenElement, instance, node, extendableEl);
|
|
841
840
|
if (node[$type] === 'head') {
|
|
842
841
|
for (const el of instance.persistentHeadChildren) {
|
|
@@ -887,7 +886,7 @@ async function createHtmlElement(tungstenElement, instance, node, domPointer, pa
|
|
|
887
886
|
return {
|
|
888
887
|
...node,
|
|
889
888
|
domNode: htmlEl,
|
|
890
|
-
// eslint-disable-line
|
|
889
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- as TungstenHTMLElement allows us to attach additional props later (for storing event handler funcs)
|
|
891
890
|
renderedChildren
|
|
892
891
|
};
|
|
893
892
|
}
|
|
@@ -903,9 +902,13 @@ function addAttributes(tungstenElement, instance, node, domNode) {
|
|
|
903
902
|
if (StringIsHtmlEvent(key)) {
|
|
904
903
|
debug('add', htmlEvents[key]);
|
|
905
904
|
const eventName = htmlEvents[key];
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
905
|
+
const value = attributes[key];
|
|
906
|
+
// JSX types the prop as a handler; a non-function is a spread of foreign props or a raw
|
|
907
|
+
// content tree, and addEventListener would throw a bare TypeError for it
|
|
908
|
+
if (isDev && typeof value !== 'function') {
|
|
909
|
+
throwError('integrateUpdate', `<${node[$type]}> ${key} is ${typeof value}, not a function`);
|
|
910
|
+
}
|
|
911
|
+
const handler = makeEventListener(tungstenElement, instance, eventName, value);
|
|
909
912
|
// // if its a button without type="submit", prevent default to stop it from submitting forms
|
|
910
913
|
// const handler = (key === 'onClick' && node[$type] === 'button' && node[$props].type !== 'submit')
|
|
911
914
|
// ? (event: Event) => { event.preventDefault(); return (attributes[key] as EventListener)(event) }
|
|
@@ -1431,10 +1434,10 @@ export async function hotSwapClassComponent(oldElement, NewType) {
|
|
|
1431
1434
|
// carry the old state across, unwrapping the old proxy so the new instance's own
|
|
1432
1435
|
// constructor-created proxy (bound to itself) is what ends up owning it
|
|
1433
1436
|
if ('state' in oldElement && oldElement.state !== undefined && 'state' in newElement) {
|
|
1434
|
-
const oldState = oldElement.state; // eslint-disable-line
|
|
1435
|
-
const rawOldState = $original in oldState ? oldState[$original] // eslint-disable-line
|
|
1437
|
+
const oldState = oldElement.state; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- state shape is unknown to this generic dev-only code path
|
|
1438
|
+
const rawOldState = $original in oldState ? oldState[$original] // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- $original always yields the raw backing object
|
|
1436
1439
|
: oldState;
|
|
1437
|
-
const newState = newElement.state; // eslint-disable-line
|
|
1440
|
+
const newState = newElement.state; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- state shape is unknown to this generic dev-only code path
|
|
1438
1441
|
for (const key in rawOldState) newState[key] = rawOldState[key];
|
|
1439
1442
|
}
|
|
1440
1443
|
await newElement.__init();
|
|
@@ -66,7 +66,7 @@ export {};
|
|
|
66
66
|
// //console.log(...texts)
|
|
67
67
|
// //console.log(getStackTrace().split('\n')[2])
|
|
68
68
|
// }
|
|
69
|
-
// const timing = true as boolean // eslint-disable-line
|
|
69
|
+
// const timing = true as boolean // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
70
70
|
// // need to be adapted to work for func components?
|
|
71
71
|
// export async function integrateElementUpdateVdom(
|
|
72
72
|
// element: AnyComponent, newContent: ContentNode
|
|
@@ -552,7 +552,7 @@ export {};
|
|
|
552
552
|
// parent,
|
|
553
553
|
// instance,
|
|
554
554
|
// newNode,
|
|
555
|
-
// oldNode: oldNode as RenderedContentNodeClassComponent, // eslint-disable-line
|
|
555
|
+
// oldNode: oldNode as RenderedContentNodeClassComponent, // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- oldNode is proven to be class comp, because type is the same as newNode
|
|
556
556
|
// domPointer,
|
|
557
557
|
// })
|
|
558
558
|
// } else {
|
|
@@ -561,7 +561,7 @@ export {};
|
|
|
561
561
|
// parent,
|
|
562
562
|
// instance,
|
|
563
563
|
// newNode,
|
|
564
|
-
// oldNode: oldNode as RenderedContentNodeFunctionComponent, // eslint-disable-line
|
|
564
|
+
// oldNode: oldNode as RenderedContentNodeFunctionComponent, // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- oldNode is proven to be function comp, because type is the same as newNode
|
|
565
565
|
// domPointer,
|
|
566
566
|
// })
|
|
567
567
|
// }
|
|
@@ -608,7 +608,7 @@ export {};
|
|
|
608
608
|
// //console.log('had focus', hasFocus)
|
|
609
609
|
// if (hasFocus) domNode.focus()
|
|
610
610
|
// //console.log('post document.activeElement', document.activeElement)
|
|
611
|
-
// if ( activeElement) (activeElement as Element & { focus: () => void } ).focus() // eslint-disable-line
|
|
611
|
+
// if ( activeElement) (activeElement as Element & { focus: () => void } ).focus() // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- activeElement was a focused dom node, so it should have a focus method??
|
|
612
612
|
// }
|
|
613
613
|
// domPointer.increment()
|
|
614
614
|
// }
|
|
@@ -1061,7 +1061,7 @@ export {};
|
|
|
1061
1061
|
// return htmlEl as TungstenHTMLElement
|
|
1062
1062
|
// // return {
|
|
1063
1063
|
// // ...node,
|
|
1064
|
-
// // domNode: htmlEl as TungstenHTMLElement, // eslint-disable-line
|
|
1064
|
+
// // domNode: htmlEl as TungstenHTMLElement, // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- as TungstenHTMLElement allows us to attach additional props later (for storing event handler funcs)
|
|
1065
1065
|
// // renderedChildren
|
|
1066
1066
|
// // }
|
|
1067
1067
|
// }
|
|
@@ -8,7 +8,7 @@ import { cliWarn } from './cliOutput.js';
|
|
|
8
8
|
// full process restart - this just tells the developer that's needed, rather than attempting it.
|
|
9
9
|
//
|
|
10
10
|
// Watches a single marker file (dist/.build-complete) rather than all of dist - tungsten's own
|
|
11
|
-
// build scripts touch it as their last step (see scripts/writeBuildMarker.
|
|
11
|
+
// build scripts touch it as their last step (see scripts/writeBuildMarker.ts), so one file
|
|
12
12
|
// covers every file a build could have changed without chokidar scanning the whole tree. Watch
|
|
13
13
|
// mode (build-babel --watch) does not yet write it on each cycle, only the one-shot builds do.
|
|
14
14
|
export function warnOnFrameworkChange() {
|
package/dist/watch.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chokidar from 'chokidar';
|
|
2
|
-
import slash from 'slash';
|
|
2
|
+
import slash from './slash.js';
|
|
3
3
|
export function watch({
|
|
4
4
|
dir,
|
|
5
5
|
patterns,
|
|
@@ -21,7 +21,7 @@ export function watch({
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
function addBasePath(base, items) {
|
|
24
|
-
if (base !==
|
|
24
|
+
if (base !== '.' && base !== '') {
|
|
25
25
|
items = Array.isArray(items) ? items.map(item => `${base}/${item}`) : `${base}/${items}`;
|
|
26
26
|
}
|
|
27
27
|
return items;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tungsten",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.14",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -20,15 +20,17 @@
|
|
|
20
20
|
"files": [
|
|
21
21
|
"dist",
|
|
22
22
|
"!dist/**/*.sxyt.*",
|
|
23
|
+
"vendor",
|
|
23
24
|
"types",
|
|
24
|
-
"sxy-loader.config.js",
|
|
25
25
|
"readme.md"
|
|
26
26
|
],
|
|
27
27
|
"keywords": [],
|
|
28
28
|
"author": "",
|
|
29
29
|
"license": "UNLICENSED",
|
|
30
|
+
"engines": {
|
|
31
|
+
"node": ">=24"
|
|
32
|
+
},
|
|
30
33
|
"dependencies": {
|
|
31
|
-
"@babel/cli": "^7.28.6",
|
|
32
34
|
"@babel/core": "^7.29.0",
|
|
33
35
|
"@babel/parser": "^7.29.2",
|
|
34
36
|
"@babel/plugin-syntax-import-assertions": "^7.29.7",
|
|
@@ -36,7 +38,6 @@
|
|
|
36
38
|
"@babel/preset-react": "^7.28.5",
|
|
37
39
|
"@babel/preset-typescript": "^7.29.7",
|
|
38
40
|
"@babel/types": "^7.29.0",
|
|
39
|
-
"@hono/node-server": "^1.19.11",
|
|
40
41
|
"@rollup/plugin-babel": "^6.1.0",
|
|
41
42
|
"@rollup/plugin-commonjs": "^28.0.9",
|
|
42
43
|
"@rollup/plugin-json": "^6.1.0",
|
|
@@ -44,60 +45,36 @@
|
|
|
44
45
|
"@rollup/plugin-terser": "^1.0.0",
|
|
45
46
|
"@types/babel__core": "^7.20.5",
|
|
46
47
|
"@types/express": "^5.0.6",
|
|
47
|
-
"babel-plugin-css-to-js": "^0.0.4",
|
|
48
|
-
"babel-plugin-sxy-transform-cjs-to-esm": "^0.2.6",
|
|
49
48
|
"bcryptjs": "^3.0.3",
|
|
50
49
|
"chalk": "^5.6.2",
|
|
51
50
|
"chalk-extensions": "^2.0.24",
|
|
52
51
|
"chokidar": "^3.6.0",
|
|
53
52
|
"cjs-module-lexer": "^1.4.3",
|
|
54
|
-
"cjstoesm": "^2.1.2",
|
|
55
|
-
"cookie-parser": "^1.4.7",
|
|
56
|
-
"cross-env": "^7.0.3",
|
|
57
53
|
"csstype": "^3.2.3",
|
|
58
|
-
"decamelize": "^6.0.1",
|
|
59
54
|
"dotenv": "^16.6.1",
|
|
60
|
-
"esm-reload": "^1.0.1",
|
|
61
55
|
"express": "^5.2.1",
|
|
62
|
-
"find-package-json": "^1.2.0",
|
|
63
|
-
"fs-extra": "^10.1.0",
|
|
64
|
-
"globby": "^13.2.2",
|
|
65
|
-
"hono": "^4.12.32",
|
|
66
56
|
"import-meta-resolve": "^4.2.0",
|
|
67
|
-
"ini": "^4.1.3",
|
|
68
|
-
"lodash.clonedeep": "^4.5.0",
|
|
69
|
-
"npm-run-all": "^4.1.5",
|
|
70
57
|
"open": "^8.4.2",
|
|
71
|
-
"path-to-regexp": "^8.4.2",
|
|
72
58
|
"postcss": "^8.5.24",
|
|
73
59
|
"precinct": "^12.2.0",
|
|
74
|
-
"react-router": "^6.30.3",
|
|
75
60
|
"require-resolve-hook": "^1.1.0",
|
|
76
61
|
"rollup": "^4.63.1",
|
|
77
62
|
"rollup-plugin-gzip": "^3.1.2",
|
|
78
63
|
"sass": "^1.102.0",
|
|
79
64
|
"serialize-javascript": "^6.0.2",
|
|
80
|
-
"slash": "^4.0.0",
|
|
81
|
-
"sxy-dependency-tree": "^8.1.11",
|
|
82
|
-
"sxy-filing-cabinet": "^3.4.2",
|
|
83
65
|
"sxy-lib": "^3.0.7",
|
|
84
66
|
"sxy-lib-object-copy": "^2.0.5",
|
|
85
|
-
"sxy-loader": "^3.1.0",
|
|
86
67
|
"sxy-package-investigator": "^1.0.0",
|
|
87
68
|
"sxy-types": "^1.0.23",
|
|
88
69
|
"valibot": "^1.4.2"
|
|
89
70
|
},
|
|
90
71
|
"devDependencies": {
|
|
72
|
+
"@babel/cli": "^7.29.7",
|
|
91
73
|
"@babel/generator": "^7.29.1",
|
|
92
74
|
"@stylistic/eslint-plugin": "^3.1.0",
|
|
93
75
|
"@types/babel-types": "^7.0.16",
|
|
94
76
|
"@types/babel__generator": "^7.27.0",
|
|
95
77
|
"@types/chai": "^4.3.20",
|
|
96
|
-
"@types/cookie-parser": "^1.4.10",
|
|
97
|
-
"@types/find-package-json": "^1.2.7",
|
|
98
|
-
"@types/fs-extra": "^11.0.4",
|
|
99
|
-
"@types/ini": "^1.3.34",
|
|
100
|
-
"@types/lodash.clonedeep": "^4.5.9",
|
|
101
78
|
"@types/node": "^24.1.0",
|
|
102
79
|
"@types/react": "19.1.9",
|
|
103
80
|
"@types/react-dom": "19.1.7",
|
|
@@ -108,11 +85,14 @@
|
|
|
108
85
|
"babel-plugin-sxy-transform-import-extensions": "^1.0.5",
|
|
109
86
|
"babel-plugin-transform-import-extension": "^1.0.3",
|
|
110
87
|
"chai": "^4.5.0",
|
|
88
|
+
"cross-env": "^7.0.3",
|
|
111
89
|
"eslint": "^8.57.1",
|
|
112
90
|
"eslint-import-resolver-typescript": "^2.7.1",
|
|
113
91
|
"eslint-plugin-import": "^2.32.0",
|
|
114
92
|
"eslint-plugin-no-type-assertion": "^1.3.0",
|
|
93
|
+
"eslint-plugin-unused-imports": "^3.2.0",
|
|
115
94
|
"happy-dom": "^20.11.1",
|
|
95
|
+
"npm-run-all": "^4.1.5",
|
|
116
96
|
"rimraf": "^5.0.10",
|
|
117
97
|
"rollup-plugin-visualizer": "^5.14.0",
|
|
118
98
|
"sxy-test-runner": "^2.4.9",
|
|
@@ -141,15 +121,16 @@
|
|
|
141
121
|
"build": "run-s -c clean build-prep build-watch",
|
|
142
122
|
"clean": "rimraf intermed dist",
|
|
143
123
|
"build-once": "rimraf intermed dist && pnpm build-ts-once && pnpm build-babel-once && pnpm build-component-styles",
|
|
144
|
-
"build-component-styles": "node scripts/buildComponentStyles.
|
|
145
|
-
"build-
|
|
124
|
+
"build-component-styles": "node scripts/buildComponentStyles.ts",
|
|
125
|
+
"build-vendor": "node scripts/bundleVendor.ts",
|
|
126
|
+
"build-once-nd": "rimraf intermed dist.building && pnpm build-ts-once && pnpm build-babel-staged && node scripts/syncDist.ts && node scripts/writeBuildMarker.ts",
|
|
146
127
|
"build-quick": "pnpm build-watch",
|
|
147
128
|
"build-prep": "pnpm build-ts-once",
|
|
148
129
|
"build-watch": "run-p build-ts build-babel",
|
|
149
130
|
"build-ts": "tsc --watch",
|
|
150
131
|
"build-ts-once": "tsc",
|
|
151
|
-
"build-babel": "node scripts/watchBabelAndMark.
|
|
152
|
-
"build-babel-once": "babel intermed --out-dir dist --ignore \"**/*.cjs\" --copy-files --config-file ./babel.framework.config.js && node scripts/writeBuildMarker.
|
|
132
|
+
"build-babel": "node scripts/watchBabelAndMark.ts",
|
|
133
|
+
"build-babel-once": "babel intermed --out-dir dist --ignore \"**/*.cjs\" --copy-files --config-file ./babel.framework.config.js && node scripts/writeBuildMarker.ts",
|
|
153
134
|
"build-babel-staged": "babel intermed --out-dir dist.building --ignore \"**/*.cjs\" --copy-files --config-file ./babel.framework.config.js",
|
|
154
135
|
"test": "sxy-test-runner",
|
|
155
136
|
"test-once": "sxy-test-runner once",
|
package/types/modules.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ declare module '@babel/preset-react'
|
|
|
2
2
|
declare module '@babel/preset-env'
|
|
3
3
|
declare module '@babel/preset-typescript'
|
|
4
4
|
declare module 'babel-plugin-sxy-module-resolver'
|
|
5
|
-
declare module 'babel-plugin-css-to-js'
|
|
6
5
|
declare module '@babel/plugin-transform-class-properties'
|
|
7
6
|
declare module '@rollup/plugin-node-resolve'
|
|
8
7
|
declare module '@rollup/plugin-commonjs'
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createRequire as __tungstenCreateRequire } from 'node:module';
|
|
2
|
+
const require = __tungstenCreateRequire(import.meta.url);
|
|
3
|
+
import { r as requireLib } from './chunk-C3fcZDjl.js';
|
|
4
|
+
import './chunk-C9FSKeSx.js';
|
|
5
|
+
import './chunk-CPArXGxa.js';
|
|
6
|
+
import './chunk-C12hSZn7.js';
|
|
7
|
+
import './chunk-1TN2rK3j.js';
|
|
8
|
+
import 'tty';
|
|
9
|
+
import 'util';
|
|
10
|
+
import 'os';
|
|
11
|
+
import './chunk-C3YkUGz5.js';
|
|
12
|
+
import './chunk-1UuLTU0U.js';
|
|
13
|
+
import 'assert';
|
|
14
|
+
import 'path';
|
|
15
|
+
import 'fs';
|
|
16
|
+
import 'url';
|
|
17
|
+
import 'module';
|
|
18
|
+
import './chunk-B_NeooyV.js';
|
|
19
|
+
import 'process';
|
|
20
|
+
import 'v8';
|
|
21
|
+
|
|
22
|
+
var libExports = requireLib();
|
|
23
|
+
|
|
24
|
+
const __v0 = libExports["DEFAULT_EXTENSIONS"];const __v1 = libExports["File"];const __v2 = libExports["OptionManager"];const __v3 = libExports["Plugin"];const __v4 = libExports["__esModule"];const __v5 = libExports["buildExternalHelpers"];const __v6 = libExports["createConfigItem"];const __v7 = libExports["createConfigItemAsync"];const __v8 = libExports["createConfigItemSync"];const __v9 = libExports["getEnv"];const __v10 = libExports["loadOptions"];const __v11 = libExports["loadOptionsAsync"];const __v12 = libExports["loadOptionsSync"];const __v13 = libExports["loadPartialConfig"];const __v14 = libExports["loadPartialConfigAsync"];const __v15 = libExports["loadPartialConfigSync"];const __v16 = libExports["parse"];const __v17 = libExports["parseAsync"];const __v18 = libExports["parseSync"];const __v19 = libExports["resolvePlugin"];const __v20 = libExports["resolvePreset"];const __v21 = libExports["template"];const __v22 = libExports["tokTypes"];const __v23 = libExports["transform"];const __v24 = libExports["transformAsync"];const __v25 = libExports["transformFile"];const __v26 = libExports["transformFileAsync"];const __v27 = libExports["transformFileSync"];const __v28 = libExports["transformFromAst"];const __v29 = libExports["transformFromAstAsync"];const __v30 = libExports["transformFromAstSync"];const __v31 = libExports["transformSync"];const __v32 = libExports["traverse"];const __v33 = libExports["types"];const __v34 = libExports["version"];
|
|
25
|
+
|
|
26
|
+
export { __v0 as DEFAULT_EXTENSIONS, __v1 as File, __v2 as OptionManager, __v3 as Plugin, __v4 as __esModule, __v5 as buildExternalHelpers, __v6 as createConfigItem, __v7 as createConfigItemAsync, __v8 as createConfigItemSync, libExports as default, __v9 as getEnv, __v10 as loadOptions, __v11 as loadOptionsAsync, __v12 as loadOptionsSync, __v13 as loadPartialConfig, __v14 as loadPartialConfigAsync, __v15 as loadPartialConfigSync, __v16 as parse, __v17 as parseAsync, __v18 as parseSync, __v19 as resolvePlugin, __v20 as resolvePreset, __v21 as template, __v22 as tokTypes, __v23 as transform, __v24 as transformAsync, __v25 as transformFile, __v26 as transformFileAsync, __v27 as transformFileSync, __v28 as transformFromAst, __v29 as transformFromAstAsync, __v30 as transformFromAstSync, __v31 as transformSync, __v32 as traverse, __v33 as types, __v34 as version };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire as __tungstenCreateRequire } from 'node:module';
|
|
2
|
+
const require = __tungstenCreateRequire(import.meta.url);
|
|
3
|
+
import { r as requireLib } from './chunk-CPArXGxa.js';
|
|
4
|
+
|
|
5
|
+
var libExports = requireLib();
|
|
6
|
+
|
|
7
|
+
const __v0 = libExports["__esModule"];const __v1 = libExports["parse"];const __v2 = libExports["parseExpression"];const __v3 = libExports["tokTypes"];
|
|
8
|
+
|
|
9
|
+
export { __v0 as __esModule, libExports as default, __v1 as parse, __v2 as parseExpression, __v3 as tokTypes };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createRequire as __tungstenCreateRequire } from 'node:module';
|
|
2
|
+
const require = __tungstenCreateRequire(import.meta.url);
|
|
3
|
+
import { r as requireLib$1 } from './chunk-B_NeooyV.js';
|
|
4
|
+
|
|
5
|
+
var lib = {};
|
|
6
|
+
|
|
7
|
+
var hasRequiredLib;
|
|
8
|
+
|
|
9
|
+
function requireLib () {
|
|
10
|
+
if (hasRequiredLib) return lib;
|
|
11
|
+
hasRequiredLib = 1;
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(lib, "__esModule", {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
lib.default = void 0;
|
|
17
|
+
var _helperPluginUtils = requireLib$1();
|
|
18
|
+
lib.default = (0, _helperPluginUtils.declare)(api => {
|
|
19
|
+
api.assertVersion("^7.0.0-0 || ^8.0.0-0");
|
|
20
|
+
const isPlugin = (plugin, name) => name === "plugin" || Array.isArray(plugin) && plugin[0] === "plugin";
|
|
21
|
+
const options = plugin => Array.isArray(plugin) && plugin.length > 1 ? plugin[1] : {};
|
|
22
|
+
return {
|
|
23
|
+
name: "syntax-import-assertions",
|
|
24
|
+
manipulateOptions(opts, {
|
|
25
|
+
plugins
|
|
26
|
+
}) {
|
|
27
|
+
for (let i = 0; i < plugins.length; i++) {
|
|
28
|
+
const plugin = plugins[i];
|
|
29
|
+
if (isPlugin(plugin, "deprecatedImportAssert")) return;
|
|
30
|
+
if (isPlugin(plugin, "importAttributes")) {
|
|
31
|
+
plugins.splice(i, 1, "deprecatedImportAssert", ["importAttributes", Object.assign({}, options(plugin), {
|
|
32
|
+
deprecatedAssertSyntax: true
|
|
33
|
+
})]);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
plugins.push("importAssertions");
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
return lib;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var libExports = requireLib();
|
|
47
|
+
|
|
48
|
+
const __v0 = libExports["__esModule"];
|
|
49
|
+
|
|
50
|
+
export { __v0 as __esModule, libExports as default };
|