tungsten 0.5.1 → 0.5.3

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.
Files changed (191) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/Components.d.ts +14 -6
  3. package/dist/Components.d.ts.map +1 -1
  4. package/dist/Components.js +67 -23
  5. package/dist/DomPointer.js +1 -1
  6. package/dist/DomRegion.js +2 -2
  7. package/dist/Framework.js +1 -1
  8. package/dist/FunctionComponentStandIn.d.ts +4 -0
  9. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  10. package/dist/FunctionComponentStandIn.js +11 -1
  11. package/dist/Json.type.d.ts.map +1 -1
  12. package/dist/Servers/DevServer.js +1 -1
  13. package/dist/Servers/MatchedRouteInfo.d.ts +1 -1
  14. package/dist/Servers/MatchedRouteInfo.d.ts.map +1 -1
  15. package/dist/Servers/ProdServer.js +2 -3
  16. package/dist/Servers/initStores.d.ts.map +1 -1
  17. package/dist/Servers/loadEnvsDev.js +2 -2
  18. package/dist/Store/makeStore.d.ts.map +1 -1
  19. package/dist/Store/makeStore.js +7 -3
  20. package/dist/api/ApiMethod.type.d.ts +2 -0
  21. package/dist/api/ApiMethod.type.d.ts.map +1 -0
  22. package/dist/api/ApiRoute.d.ts +2 -2
  23. package/dist/api/ApiRoute.d.ts.map +1 -1
  24. package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts +2 -2
  25. package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -1
  26. package/dist/babelPlugins/BabelExtractComponentStylesheet.js +1 -1
  27. package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +1 -1
  28. package/dist/babelPlugins/BabelTransformBindDirect.js +2 -4
  29. package/dist/babelPlugins/BabelTransformBindVar.js +2 -3
  30. package/dist/babelPlugins/BabelTransformDocInit.js +1 -1
  31. package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
  32. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  33. package/dist/babelPlugins/BabelTransformPackageImports.js +51 -69
  34. package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
  35. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  36. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  37. package/dist/bin/commands/build.js +0 -1
  38. package/dist/bin/commands/compile.js +4 -4
  39. package/dist/build/babel.user.common.config.d.ts +2 -1
  40. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  41. package/dist/build/babel.user.common.config.js +16 -10
  42. package/dist/build/compileJavascript.d.ts.map +1 -1
  43. package/dist/build/compileJavascript.js +3 -4
  44. package/dist/build/compileStyles.d.ts.map +1 -1
  45. package/dist/build/compileStyles.js +7 -3
  46. package/dist/build/createClientFiles.js +2 -3
  47. package/dist/build/createInstanceConfigFile.js +1 -1
  48. package/dist/build/devBundle.rollup.config.js +6 -6
  49. package/dist/build/frameworkDestLocation.d.ts.map +1 -1
  50. package/dist/build/frameworkDestLocation.js +5 -2
  51. package/dist/build/makeBabelRawConfig.js +1 -1
  52. package/dist/build/makeBabelUserProdConfig.js +2 -4
  53. package/dist/build/packageIdentifier.d.ts +6 -0
  54. package/dist/build/packageIdentifier.d.ts.map +1 -0
  55. package/dist/build/packageIdentifier.js +19 -0
  56. package/dist/build/rollup.user.prod.config.js +12 -12
  57. package/dist/build/sassImportParser.js +0 -3
  58. package/dist/clone.js +1 -3
  59. package/dist/compat/types.d.ts.map +1 -1
  60. package/dist/componentProxyHandlers.js +1 -1
  61. package/dist/components/NativeHtml.d.ts +1 -1
  62. package/dist/components/NativeHtml.d.ts.map +1 -1
  63. package/dist/components/Protected.d.ts +1 -1
  64. package/dist/components/Protected.d.ts.map +1 -1
  65. package/dist/components/Stylesheet.js +0 -1
  66. package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
  67. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  68. package/dist/components/library/RichTextEditor/RichTextEditor.js +3 -3
  69. package/dist/createRef.d.ts +1 -1
  70. package/dist/createRef.d.ts.map +1 -1
  71. package/dist/createRef.js +1 -1
  72. package/dist/env/getEnvSchemas.d.ts +3 -4
  73. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  74. package/dist/env/registerEnvSchemas.d.ts +4 -2
  75. package/dist/env/registerEnvSchemas.d.ts.map +1 -1
  76. package/dist/foreach.d.ts.map +1 -1
  77. package/dist/frameworkConfigSchema.js +1 -3
  78. package/dist/helpers/forwardingFetch.d.ts +3 -0
  79. package/dist/helpers/forwardingFetch.d.ts.map +1 -0
  80. package/dist/helpers/forwardingFetch.js +14 -0
  81. package/dist/helpers/index.d.ts +2 -0
  82. package/dist/helpers/index.d.ts.map +1 -1
  83. package/dist/helpers/index.js +3 -1
  84. package/dist/helpers/perRequest.d.ts +3 -0
  85. package/dist/helpers/perRequest.d.ts.map +1 -0
  86. package/dist/helpers/perRequest.js +17 -0
  87. package/dist/hmr/instanceRegistry.js +2 -2
  88. package/dist/hooks/useCallback.d.ts.map +1 -1
  89. package/dist/hydrate/hydrate.d.ts +1 -2
  90. package/dist/hydrate/hydrate.d.ts.map +1 -1
  91. package/dist/hydrate/hydrate.js +1 -3
  92. package/dist/hydrate/reconcileHydratedAttributes.js +1 -1
  93. package/dist/importDevModuleWithRetry.js +1 -1
  94. package/dist/index.d.ts +1 -0
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +4 -0
  97. package/dist/indexInner.d.ts +1 -2
  98. package/dist/indexInner.d.ts.map +1 -1
  99. package/dist/logAndReturn.d.ts.map +1 -1
  100. package/dist/markOptionSelected.js +1 -1
  101. package/dist/mutatingFunctions.js +0 -3
  102. package/dist/postcssPlugins/TransformCssNames.js +2 -2
  103. package/dist/render/addImportMap.js +0 -1
  104. package/dist/requests/fetch/delete.d.ts +2 -1
  105. package/dist/requests/fetch/delete.d.ts.map +1 -1
  106. package/dist/requests/fetch/delete.js +7 -7
  107. package/dist/requests/fetch/get.d.ts.map +1 -1
  108. package/dist/requests/fetch/get.js +4 -6
  109. package/dist/requests/fetch/mergeFetchInit.d.ts +2 -0
  110. package/dist/requests/fetch/mergeFetchInit.d.ts.map +1 -0
  111. package/dist/requests/fetch/mergeFetchInit.js +17 -0
  112. package/dist/requests/fetch/patch.d.ts.map +1 -1
  113. package/dist/requests/fetch/patch.js +4 -6
  114. package/dist/requests/fetch/post.d.ts.map +1 -1
  115. package/dist/requests/fetch/post.js +4 -6
  116. package/dist/requests/fetch/put.d.ts.map +1 -1
  117. package/dist/requests/fetch/put.js +4 -6
  118. package/dist/routing/ParamsFromPath.d.ts.map +1 -1
  119. package/dist/routing/RouteType.d.ts +1 -8
  120. package/dist/routing/RouteType.d.ts.map +1 -1
  121. package/dist/routing/RouteTypes.d.ts +11 -0
  122. package/dist/routing/RouteTypes.d.ts.map +1 -1
  123. package/dist/routing/Routes.d.ts +7 -8
  124. package/dist/routing/Routes.d.ts.map +1 -1
  125. package/dist/routing/__fluentRouteBuilder.d.ts +80 -0
  126. package/dist/routing/__fluentRouteBuilder.d.ts.map +1 -0
  127. package/dist/routing/__fluentRouteBuilder.js +183 -0
  128. package/dist/routing/__fluentRoutes.d.ts +2 -0
  129. package/dist/routing/__fluentRoutes.d.ts.map +1 -0
  130. package/dist/routing/__fluentRoutes.js +59 -0
  131. package/dist/staticGen/staticGen.d.ts.map +1 -1
  132. package/dist/testing/host.d.ts +1 -1
  133. package/dist/testing/host.d.ts.map +1 -1
  134. package/dist/testing/host.js +1 -2
  135. package/dist/testing/hydrateTestApp.js +5 -9
  136. package/dist/testing/normalize.d.ts +2 -0
  137. package/dist/testing/normalize.d.ts.map +1 -0
  138. package/dist/testing/normalize.js +1 -0
  139. package/dist/update/guardedUpdate.d.ts +9 -0
  140. package/dist/update/guardedUpdate.d.ts.map +1 -0
  141. package/dist/update/guardedUpdate.js +20 -0
  142. package/dist/update/integrateUpdateVdom.js +2 -2
  143. package/dist/zones/react.d.ts.map +1 -1
  144. package/dist/zones/react.js +2 -2
  145. package/package.json +7 -10
  146. package/types/env.d.ts +11 -11
  147. package/types/index.d.ts +7 -3
  148. package/types/jsx/html.d.ts +5 -5
  149. package/types/jsx/html.events.d.ts +202 -200
  150. package/types/jsx/html.global.d.ts +150 -150
  151. package/types/jsx/html.values.d.ts +29 -29
  152. package/types/jsx/jsx.d.ts +16 -5
  153. package/vendor/babel-core.js +13 -8
  154. package/vendor/babel-parser.js +5 -1
  155. package/vendor/babel-plugin-syntax-import-assertions.js +5 -1
  156. package/vendor/babel-preset-react.js +13 -8
  157. package/vendor/babel-preset-typescript.js +13 -8
  158. package/vendor/babel-types.js +5 -1
  159. package/vendor/chalk-extensions.js +6 -161
  160. package/vendor/chalk.js +4 -0
  161. package/vendor/chokidar.js +17 -13
  162. package/vendor/{chunk-B_NeooyV.js → chunk-BSJqV47f.js} +4 -0
  163. package/vendor/{chunk-1UuLTU0U.js → chunk-BYvDIO7e.js} +4 -0
  164. package/vendor/chunk-BfcfwwoF.js +15 -0
  165. package/vendor/{chunk-CPArXGxa.js → chunk-BiUcnLhT.js} +4 -0
  166. package/vendor/chunk-Bu8ZRE-c.js +179 -0
  167. package/vendor/chunk-CmnhIuzX.js +167 -0
  168. package/vendor/chunk-Cqrj-Zqr.js +8579 -0
  169. package/vendor/{chunk-1TN2rK3j.js → chunk-D2EnpcLg.js} +7 -3
  170. package/vendor/{chunk-C9FSKeSx.js → chunk-DHmjZ22y.js} +4 -0
  171. package/vendor/{chunk-C3YkUGz5.js → chunk-Hy-cCmu-.js} +4 -0
  172. package/vendor/{chunk-C12hSZn7.js → chunk-Lqa6rV_r.js} +4 -0
  173. package/vendor/{chunk-C3fcZDjl.js → chunk-OUnVY4Wm.js} +24 -191
  174. package/vendor/cjs-module-lexer.js +4 -0
  175. package/vendor/dotenv.js +10 -6
  176. package/vendor/express.js +30 -31
  177. package/vendor/import-meta-resolve.js +4 -0
  178. package/vendor/manifest.json +3 -2
  179. package/vendor/postcss.js +9 -8544
  180. package/vendor/precinct.js +326959 -0
  181. package/vendor/serialize-javascript.js +4 -0
  182. package/vendor/sxy-lib-arrays.js +4 -0
  183. package/vendor/sxy-lib-object-copy.js +5 -1
  184. package/vendor/sxy-lib-objects.js +4 -0
  185. package/vendor/sxy-lib-promises.js +4 -0
  186. package/vendor/sxy-package-investigator.js +7 -3
  187. package/vendor/valibot.js +4 -0
  188. package/dist/.tsbuildinfo +0 -1
  189. package/dist/api/Method.d.ts +0 -2
  190. package/dist/api/Method.d.ts.map +0 -1
  191. /package/dist/api/{Method.js → ApiMethod.type.js} +0 -0
@@ -4,7 +4,7 @@ const isPromise = value => value instanceof Promise || typeof value === 'object'
4
4
  // The same list at runtime. Underscore-prefixed members are excluded by rule
5
5
  // (the framework's naming scheme), so only the plain-named ones are listed, and
6
6
  // frameworkMembersAreComplete below fails to compile if one is ever missed.
7
- const frameworkMemberNames = ['props', 'routeParams', 'routeData', 'parentComponent', 'childComponents', 'globalData', 'state', 'storeData', 'style', 'title', 'content', 'render', 'init', 'clientInit', 'serverInit', 'componentDidMount', 'componentDidHydrate', 'componentDidUpdate', 'componentDidRender', 'componentWillUnmount', 'componentDidUnmount', 'shouldStoreComponentUpdate', 'setState', 'triggerUpdate', 'delayed', 'pickProps', 'pickState', 'using', 'reactive'];
7
+ const frameworkMemberNames = ['props', 'routeParams', 'routeData', 'parentComponent', 'childComponents', 'globalData', 'state', 'storeData', 'style', 'title', 'content', 'render', 'init', 'clientInit', 'serverInit', 'componentDidMount', 'componentDidHydrate', 'componentDidUpdate', 'componentDidRender', 'componentWillUnmount', 'componentDidUnmount', 'shouldStoreComponentUpdate', 'setState', 'triggerUpdate', 'pickProps', 'pickState', 'using', 'reactive', 'setTimeout', 'setInterval', 'clearTimeout', 'clearInterval'];
8
8
  const frameworkMembers = new Set(frameworkMemberNames);
9
9
  /**
10
10
  * Constructs a component outside of any app and drives it the way the framework
@@ -91,7 +91,6 @@ 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 @typescript-eslint/no-unsafe-type-assertion -- the base declares the stateful (props, state) shape for both
95
94
  const call = contentFunction;
96
95
  const result = simple ? call(component.props) : call(component.props, stateful.state);
97
96
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ContentOf recovers the concrete component's own return type
@@ -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 @typescript-eslint/no-unsafe-type-assertion
113
- const suppliedDocument = options?.document ?? globalThis.document; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
112
+ const options = args[0];
113
+ const suppliedDocument = options?.document ?? globalThis.document;
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.');
@@ -134,7 +134,7 @@ export async function hydrateTestApp(RootComponent, ...args) {
134
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 @typescript-eslint/no-unsafe-type-assertion
137
+ const globalData = options?.globalData ?? {};
138
138
  const matchedRouteInfo = {
139
139
  key: null,
140
140
  params: options?.routeParams ?? {},
@@ -167,9 +167,7 @@ export async function hydrateTestApp(RootComponent, ...args) {
167
167
  stores,
168
168
  storeSubscriptions
169
169
  } = initStores(location, null, globalData, matchedRouteInfo);
170
- const ssrInstance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes,
171
- // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
172
- internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, {
170
+ const ssrInstance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, {
173
171
  document,
174
172
  window: document.defaultView,
175
173
  scheduler: ssrScheduler,
@@ -213,9 +211,7 @@ export async function hydrateTestApp(RootComponent, ...args) {
213
211
  scheduler,
214
212
  navigation: false
215
213
  };
216
- const instance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes,
217
- // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
218
- internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
214
+ const instance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
219
215
  try {
220
216
  for (const override of options?.stores ?? []) {
221
217
  const store = override.registration.getStore(instance.stores);
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/testing/normalize.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { UpdateResult } from './UpdateResult.js';
2
+ export type UpdateGuardHost = {
3
+ __unmountStarted: boolean;
4
+ __currentUpdate?: Promise<UpdateResult>;
5
+ __nextUpdate?: Promise<UpdateResult>;
6
+ __cancelledUpdateResult: () => UpdateResult;
7
+ };
8
+ export declare function guardedUpdate(host: UpdateGuardHost, run: () => Promise<UpdateResult>): Promise<UpdateResult>;
9
+ //# sourceMappingURL=guardedUpdate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardedUpdate.d.ts","sourceRoot":"","sources":["../../src/update/guardedUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,MAAM,eAAe,GAAG;IAC1B,gBAAgB,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACpC,uBAAuB,EAAE,MAAM,YAAY,CAAA;CAC9C,CAAA;AAKD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAiB5G"}
@@ -0,0 +1,20 @@
1
+ // One update per component at a time. A request while one is in flight gets a single rerun
2
+ // after it, shared by every such request: writes landing mid-update coalesce, and no update
3
+ // reconciles against a tree the in-flight one is about to replace (overlappingUpdate test).
4
+ export function guardedUpdate(host, run) {
5
+ const current = host.__currentUpdate;
6
+ if (current !== undefined) {
7
+ host.__nextUpdate ??= current.then(rerun, rerun);
8
+ return host.__nextUpdate;
9
+ }
10
+ const update = run().finally(() => {
11
+ if (host.__currentUpdate === update) delete host.__currentUpdate;
12
+ });
13
+ host.__currentUpdate = update;
14
+ return update;
15
+ function rerun() {
16
+ delete host.__nextUpdate;
17
+ if (host.__unmountStarted) return host.__cancelledUpdateResult();
18
+ return guardedUpdate(host, run);
19
+ }
20
+ }
@@ -80,7 +80,7 @@ function debug(...texts) {
80
80
  //console.log(...texts)
81
81
  //console.log(getStackTrace().split('\n')[2])
82
82
  }
83
- const timing = false; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
83
+ const timing = false;
84
84
  // need to be adapted to work for func components?
85
85
  export async function integrateElementUpdateVdom(element, newContent) {
86
86
  let startTime = 0;
@@ -585,7 +585,7 @@ function moveDomNode(domNode, domPointer) {
585
585
  // is not a child at all (indexOf -1), or index is past the end (undefined).
586
586
  // one live-NodeList read, reused as the insertBefore reference below -- see
587
587
  // DomPointer.insert() for why these reads are worth counting
588
- 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
588
+ const reference = domPointer.parent.childNodes[domPointer.index];
589
589
  if (reference !== domNode) {
590
590
  //console.log('document.activeElement', document.activeElement, domNode == document.activeElement, domNode === document.activeElement)
591
591
  const ownerDocument = domNode.ownerDocument;
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/zones/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAC7C,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAC3B,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAA;AAEvC,KAAK,aAAa,GAAG;IACjB,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,OAAO,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;AAE7F,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,SAAS,EAAE,GAAG,CAAA;QACd,aAAa,EAAE,kBAAkB,CAAA;KACpC,CAAA;IACD,MAAM,EAAE;QACJ,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;QACxC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAAA;KAC/D,CAAA;IACD,MAAM,EAAE;QACJ,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;KAC5C,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI;IAC/C,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,gBAAgB,CAAA;CAC5B,CAAA;AAED,qBAAa,SAAS,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/F,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAqC;IAChF,SAAS,EAAE,aAAa,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAClD,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC,SAAS,UAAQ;IAEjB,OAAO,QAAa,OAAO,CAAC,WAAW,CAAC,CAsBvC;IAED,iBAAiB,QAAO,IAAI,CAG3B;IAED,kBAAkB,QAAO,IAAI,CAE5B;IAED,oBAAoB,QAAO,IAAI,CAM9B;IAED,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,WAAW;CAOtB"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/zones/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAC7C,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAC3B,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAA;AAEvC,KAAK,aAAa,GAAG;IACjB,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,OAAO,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;AAE7F,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,SAAS,EAAE,GAAG,CAAA;QACd,aAAa,EAAE,kBAAkB,CAAA;KACpC,CAAA;IACD,MAAM,EAAE;QACJ,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;QACxC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAAA;KAC/D,CAAA;IACD,MAAM,EAAE;QACJ,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;KAC5C,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI;IAC/C,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,gBAAgB,CAAA;CAC5B,CAAA;AAED,qBAAa,SAAS,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/F,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAyC;IACpF,SAAS,EAAE,aAAa,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAClD,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC,SAAS,UAAQ;IAEjB,OAAO,QAAa,OAAO,CAAC,WAAW,CAAC,CAsBvC;IAED,iBAAiB,QAAO,IAAI,CAG3B;IAED,kBAAkB,QAAO,IAAI,CAE5B;IAED,oBAAoB,QAAO,IAAI,CAM9B;IAED,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,WAAW;CAOtB"}
@@ -2,13 +2,13 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
2
2
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import { TungstenSimpleComponent } from "../Components.js";
5
- import { createElementRef } from '../createRef.js';
5
+ import { createHtmlElementRef } from '../createRef.js';
6
6
  import { isServer } from '../isServer.js';
7
7
  import { jsx as _jsx } from "tungsten/jsx-runtime";
8
8
  export class ReactZone extends TungstenSimpleComponent {
9
9
  constructor(...args) {
10
10
  super(...args);
11
- _defineProperty(this, "hostRef", createElementRef());
11
+ _defineProperty(this, "hostRef", createHtmlElementRef());
12
12
  _defineProperty(this, "reactRoot", void 0);
13
13
  _defineProperty(this, "reactCreateElement", void 0);
14
14
  _defineProperty(this, "errorBoundary", void 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tungsten",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "bin": {
@@ -72,7 +72,8 @@
72
72
  "devDependencies": {
73
73
  "@babel/cli": "^7.29.7",
74
74
  "@babel/generator": "^7.29.1",
75
- "@stylistic/eslint-plugin": "^3.1.0",
75
+ "@eslint/js": "^10.0.1",
76
+ "@stylistic/eslint-plugin": "^5.10.0",
76
77
  "@types/babel-types": "^7.0.16",
77
78
  "@types/babel__generator": "^7.27.0",
78
79
  "@types/chai": "^4.3.20",
@@ -80,24 +81,20 @@
80
81
  "@types/react": "19.1.9",
81
82
  "@types/react-dom": "19.1.7",
82
83
  "@types/serialize-javascript": "^5.0.4",
83
- "@typescript-eslint/eslint-plugin": "^8.69.0",
84
- "@typescript-eslint/parser": "^8.69.0",
85
84
  "babel-plugin-replace-import-extension": "^1.1.5",
86
85
  "babel-plugin-sxy-transform-import-extensions": "^1.0.5",
87
86
  "babel-plugin-transform-import-extension": "^1.0.3",
88
87
  "chai": "^4.5.0",
89
88
  "cross-env": "^7.0.3",
90
- "eslint": "^8.57.1",
91
- "eslint-import-resolver-typescript": "^2.7.1",
92
- "eslint-plugin-import": "^2.32.0",
93
- "eslint-plugin-no-type-assertion": "^1.3.0",
94
- "eslint-plugin-unused-imports": "^3.2.0",
89
+ "eslint": "^10.10.0",
90
+ "eslint-plugin-unused-imports": "^4.4.1",
95
91
  "happy-dom": "^20.11.1",
96
92
  "npm-run-all": "^4.1.5",
97
93
  "rimraf": "^5.0.10",
98
94
  "rollup-plugin-visualizer": "^5.14.0",
99
95
  "sxy-test-runner": "^2.4.9",
100
- "typescript": "^6.0.3"
96
+ "typescript": "^6.0.3",
97
+ "typescript-eslint": "^8.70.0"
101
98
  },
102
99
  "peerDependencies": {
103
100
  "react": "^18.2.0 || ^19.0.0",
package/types/env.d.ts CHANGED
@@ -1,11 +1,11 @@
1
-
2
- /* eslint-disable no-var */
3
-
4
-
5
-
6
- // declare global {
7
- // var tungstenPrivateEnv: TungstenPrivateEnv | undefined
8
- // var tungstenPublicEnv: TungstenPublicEnv | undefined
9
- // }
10
-
11
- export {}
1
+
2
+
3
+
4
+
5
+
6
+ // declare global {
7
+ // var tungstenPrivateEnv: TungstenPrivateEnv | undefined
8
+ // var tungstenPublicEnv: TungstenPublicEnv | undefined
9
+ // }
10
+
11
+ export {}
package/types/index.d.ts CHANGED
@@ -1,11 +1,15 @@
1
1
 
2
- /* eslint-disable no-var */
2
+
3
3
 
4
4
  // the stylesheet module declarations live in a script file: this one is a module, and a
5
5
  // `declare module '*.css'` here would augment the app's own '*.css' declaration, which cannot add exports.
6
6
  // A reference, as an import of a script file is refused
7
7
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
8
8
  /// <reference path="./assets.d.ts" />
9
+ // The global JSX namespace, declared on purpose: it otherwise reached apps only through the
10
+ // Bindable components' declaration files happening to import from jsx.d.ts
11
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference
12
+ /// <reference path="./jsx/jsx.d.ts" />
9
13
  // Disposable and Symbol.dispose appear in the shipped types (component using(), browser storage), and in
10
14
  // TS 6 that lib comes only with ESNext - so bring it in here rather than require it of every app's lib list
11
15
  /// <reference lib="esnext.disposable" />
@@ -34,14 +38,14 @@ declare global {
34
38
  //// Apps fill these by declaration merging in their env module: `interface TungstenPrivateEnv extends PrivateEnv {}`.
35
39
  //// Empty here on purpose: a base that extended the core env types would collide with an app whose schema
36
40
  //// makes a core field required (TS2320). Tungsten's own reads of the core fields come from src/env/Interfaces.ts
37
- /* eslint-disable @typescript-eslint/no-empty-object-type */
41
+
38
42
  declare global {
39
43
  interface TungstenPrivateEnv {}
40
44
  interface TungstenPublicEnv {}
41
45
  var tungstenPrivateEnv: TungstenPrivateEnv
42
46
  var tungstenPublicEnv: TungstenPublicEnv
43
47
  }
44
- /* eslint-enable @typescript-eslint/no-empty-object-type */
48
+
45
49
 
46
50
  //// In dev, cjsHelpers.ts installs a partial `process` on the browser global so that converted
47
51
  //// CommonJS packages can read process.env.NODE_ENV. It flags itself with __tungstenCjsShim so
@@ -7,7 +7,7 @@ import type { TrustedHTML } from './html.global.js'
7
7
  import type { Booleanish } from './html.values.js'
8
8
  import type {
9
9
  AnimationEventHandler, ButtonMouseEvent, ChangeEventHandler, ClipboardEventHandler, CompositionEventHandler,
10
- DragEventHandler, ExtendedKeyboardEvent, ExtendedMouseEvent, ExtendedUIEvent, FocusEventHandler, FormEventHandler, InputKeyboardEvent, KeyboardEventHandler, MouseEventHandler,
10
+ DragEventHandler, FocusEventHandler, FormEventHandler, KeyboardEventHandler, MouseEventHandler,
11
11
  PointerEventHandler, TungstenEventHandler, SyntheticEvent, TextareaKeyboardEvent, TouchEventHandler, TransitionEventHandler, UIEventHandler,
12
12
  WheelEventHandler
13
13
  } from './html.events.js'
@@ -524,7 +524,7 @@ type AriaRole =
524
524
  | 'treeitem'
525
525
  | (string & {})
526
526
 
527
- type ClassNameType = string | undefined | (string | undefined)[];
527
+ type ClassNameType = string | undefined | (string | undefined)[]
528
528
 
529
529
  export interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
530
530
  __zoneHtml?: string | undefined;
@@ -610,7 +610,7 @@ export type HTMLAttributeAnchorTarget =
610
610
  | '_blank'
611
611
  | '_parent'
612
612
  | '_top'
613
- | (string & {});
613
+ | (string & {})
614
614
 
615
615
  type HTMLAttributeReferrerPolicy =
616
616
  | ''
@@ -621,7 +621,7 @@ type HTMLAttributeReferrerPolicy =
621
621
  | 'same-origin'
622
622
  | 'strict-origin'
623
623
  | 'strict-origin-when-cross-origin'
624
- | 'unsafe-url';
624
+ | 'unsafe-url'
625
625
 
626
626
  export interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
627
627
  download?: any;
@@ -812,7 +812,7 @@ export type HTMLInputTypeAttribute =
812
812
  | 'time'
813
813
  | 'url'
814
814
  | 'week'
815
- | (string & {});
815
+ | (string & {})
816
816
 
817
817
  // interface InputCheckboxHTMLAttributes<T, BO extends object> extends HTMLAttributes<T> {
818
818
  // accept?: string | undefined;