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.
Files changed (275) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/AnyComponent.d.ts.map +1 -1
  3. package/dist/Components.d.ts +40 -0
  4. package/dist/Components.d.ts.map +1 -1
  5. package/dist/Components.js +66 -77
  6. package/dist/DomPointer.js +1 -1
  7. package/dist/DomRegion.js +2 -2
  8. package/dist/Framework.js +1 -1
  9. package/dist/FrameworkConfig.d.ts.map +1 -1
  10. package/dist/Instance/Instance.js +1 -1
  11. package/dist/RenderedContentNode.d.ts.map +1 -1
  12. package/dist/RenderedContentNode.js +2 -1
  13. package/dist/Sass.d.ts.map +1 -1
  14. package/dist/Sass.js +1 -0
  15. package/dist/Servers/DevServer.d.ts.map +1 -1
  16. package/dist/Servers/DevServer.js +4 -3
  17. package/dist/Servers/ProdServer.js +1 -1
  18. package/dist/Servers/StaticSiteServer.js +1 -1
  19. package/dist/Servers/loadEnvsDev.d.ts +1 -1
  20. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  21. package/dist/Servers/loadEnvsDev.js +4 -2
  22. package/dist/Servers/routing.d.ts.map +1 -1
  23. package/dist/Servers/routing.js +1 -1
  24. package/dist/Store/Store.js +1 -1
  25. package/dist/Store/TypeSafeStore.js +1 -1
  26. package/dist/Store/makeStore.js +1 -1
  27. package/dist/Store/registerStore.js +1 -1
  28. package/dist/TElement.js +1 -1
  29. package/dist/TungstenApp.js +6 -2
  30. package/dist/_client/cjsHelpers.d.ts.map +1 -1
  31. package/dist/_client/cjsHelpers.js +4 -2
  32. package/dist/_client/client.js +0 -14
  33. package/dist/_client/hmr.d.ts +2 -0
  34. package/dist/_client/hmr.d.ts.map +1 -0
  35. package/dist/_client/hmr.js +65 -0
  36. package/dist/_client/liveReload.d.ts +2 -0
  37. package/dist/_client/liveReload.d.ts.map +1 -0
  38. package/dist/_client/liveReload.js +6 -0
  39. package/dist/_client/liveReloadSource.d.ts +3 -0
  40. package/dist/_client/liveReloadSource.d.ts.map +1 -0
  41. package/dist/_client/liveReloadSource.js +25 -0
  42. package/dist/api/getExport.d.ts.map +1 -1
  43. package/dist/api/getExport.js +1 -0
  44. package/dist/babelPlugins/BabelTransformBindDirect.js +2 -0
  45. package/dist/babelPlugins/BabelTransformBindVar.d.ts.map +1 -1
  46. package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
  47. package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
  48. package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -4
  49. package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
  50. package/dist/babelPlugins/BabelTransformCssImports.js +2 -2
  51. package/dist/babelPlugins/BabelTransformDependencyImportsOld.js +1 -1
  52. package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
  53. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  54. package/dist/babelPlugins/BabelTransformPackageImports.js +10 -5
  55. package/dist/babelPlugins/BabelTransformRemoveBlocks.d.ts.map +1 -1
  56. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  57. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +2 -1
  58. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  59. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -1
  60. package/dist/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.js +1 -1
  61. package/dist/bin/args.js +1 -1
  62. package/dist/bin/commands/build.js +1 -1
  63. package/dist/bin/commands/compileSimplePackage.js +1 -0
  64. package/dist/bin/index.d.ts.map +1 -1
  65. package/dist/bin/index.js +11 -3
  66. package/dist/bin/vendorHook.d.ts +3 -0
  67. package/dist/bin/vendorHook.d.ts.map +1 -0
  68. package/dist/bin/vendorHook.js +34 -0
  69. package/dist/browserStorage.js +4 -2
  70. package/dist/build/babel.user.common.config.d.ts +2 -0
  71. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  72. package/dist/build/babel.user.common.config.js +10 -4
  73. package/dist/build/bundle.d.ts.map +1 -1
  74. package/dist/build/bundle.js +10 -1
  75. package/dist/build/compileJavascript.d.ts.map +1 -1
  76. package/dist/build/compileJavascript.js +40 -27
  77. package/dist/build/compileStyles.js +4 -4
  78. package/dist/build/copyAssets.js +3 -3
  79. package/dist/build/copyPublicFiles.js +3 -3
  80. package/dist/build/createClientFiles.d.ts.map +1 -1
  81. package/dist/build/createClientFiles.js +4 -8
  82. package/dist/build/frameworkStylesheets.js +1 -1
  83. package/dist/build/getAllSxyClientModules.d.ts.map +1 -1
  84. package/dist/build/getAllSxyClientModules.js +4 -28
  85. package/dist/build/getSxyClientPackageAliases.d.ts.map +1 -1
  86. package/dist/build/getSxyClientPackageAliases.js +3 -1
  87. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  88. package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
  89. package/dist/build/rollupExtractComponentStylesheets.js +1 -1
  90. package/dist/build/sassImportParser.js +2 -2
  91. package/dist/build/tallyBabel.d.ts +3 -0
  92. package/dist/build/tallyBabel.d.ts.map +1 -0
  93. package/dist/build/tallyBabel.js +11 -0
  94. package/dist/clone.js +4 -4
  95. package/dist/compat/context.d.ts.map +1 -1
  96. package/dist/compat/types.d.ts.map +1 -1
  97. package/dist/componentProxyHandlers.d.ts +20 -13
  98. package/dist/componentProxyHandlers.d.ts.map +1 -1
  99. package/dist/componentProxyHandlers.js +134 -94
  100. package/dist/components/Stylesheet.d.ts +1 -2
  101. package/dist/components/Stylesheet.d.ts.map +1 -1
  102. package/dist/components/Stylesheet.js +1 -1
  103. package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
  104. package/dist/components/bindable/BindableInput.d.ts.map +1 -1
  105. package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
  106. package/dist/components/bindable/BindableRadio.d.ts.map +1 -1
  107. package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
  108. package/dist/components/library/RichTextEditor/RichTextEditor.js +2 -2
  109. package/dist/components/library/RichTextEditor/contentTree.js +1 -1
  110. package/dist/concat.d.ts.map +1 -1
  111. package/dist/concat.js +2 -2
  112. package/dist/copy.d.ts.map +1 -1
  113. package/dist/createRoutes.d.ts +1 -1
  114. package/dist/createRoutes.d.ts.map +1 -1
  115. package/dist/env/Env.js +2 -2
  116. package/dist/env/getEnvSchemas.d.ts +2 -2
  117. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  118. package/dist/env/getEnvSchemas.js +7 -5
  119. package/dist/env/windowGlobalEnvStatement.d.ts.map +1 -1
  120. package/dist/findProjectDir.d.ts.map +1 -1
  121. package/dist/findProjectDir.js +18 -4
  122. package/dist/findUserConfig.js +2 -2
  123. package/dist/foreach.js +1 -0
  124. package/dist/frameworkConfigSchema.js +2 -2
  125. package/dist/getComponent.d.ts.map +1 -1
  126. package/dist/getComponentDev.d.ts.map +1 -1
  127. package/dist/getRoutes.d.ts.map +1 -1
  128. package/dist/getRoutes.js +13 -22
  129. package/dist/getRoutesDevs.d.ts.map +1 -1
  130. package/dist/getStackTrace.js +1 -1
  131. package/dist/glob.d.ts +5 -0
  132. package/dist/glob.d.ts.map +1 -0
  133. package/dist/glob.js +103 -0
  134. package/dist/helpers/getFetchCompatibleHeaders.js +2 -2
  135. package/dist/hmr/applyHmrModule.js +5 -5
  136. package/dist/hmr/componentIdentity.js +1 -1
  137. package/dist/hmr/instanceRegistry.js +2 -2
  138. package/dist/hooks/useReducer.d.ts.map +1 -1
  139. package/dist/hooks/useState.d.ts.map +1 -1
  140. package/dist/hooks/useState.js +2 -8
  141. package/dist/hydrate/hydrate.d.ts +1 -1
  142. package/dist/hydrate/hydrate.d.ts.map +1 -1
  143. package/dist/hydrate/hydrate.js +29 -25
  144. package/dist/hydrate/reconcileHydratedAttributes.js +2 -2
  145. package/dist/indexInner.d.ts +1 -1
  146. package/dist/indexInner.d.ts.map +1 -1
  147. package/dist/indexInner.js +1 -0
  148. package/dist/makeFinalConfig.d.ts.map +1 -1
  149. package/dist/makeFinalConfig.js +2 -2
  150. package/dist/markOptionSelected.js +1 -1
  151. package/dist/mergeConfigs.d.ts.map +1 -1
  152. package/dist/mergeConfigs.js +11 -2
  153. package/dist/mutatingFunctions.d.ts +2 -1
  154. package/dist/mutatingFunctions.d.ts.map +1 -1
  155. package/dist/mutatingFunctions.js +10 -4
  156. package/dist/postcssPlugins/TransformCssNames.js +2 -2
  157. package/dist/rawHtml/parseHtml.js +1 -1
  158. package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
  159. package/dist/render/componentNodeToRenderingTree.js +6 -17
  160. package/dist/render/contentToHtml.d.ts.map +1 -1
  161. package/dist/render/contentToHtml.js +1 -1
  162. package/dist/render/getFunctionBodyAsString.d.ts.map +1 -1
  163. package/dist/render/getFunctionBodyAsString.js +2 -5
  164. package/dist/render/processHead.d.ts.map +1 -1
  165. package/dist/render/processHead.js +5 -34
  166. package/dist/render/processProps.js +2 -2
  167. package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
  168. package/dist/render/rootToHtml.d.ts.map +1 -1
  169. package/dist/routing/Route.js +1 -1
  170. package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
  171. package/dist/routing/RoutesWithSafeParams.js +1 -1
  172. package/dist/routing/WebRedirect.d.ts.map +1 -1
  173. package/dist/routing/compareRequestToRegex.js +2 -2
  174. package/dist/routing/getPathPriority.js +1 -1
  175. package/dist/serverRpc.d.ts.map +1 -1
  176. package/dist/signals/tracking.d.ts +33 -0
  177. package/dist/signals/tracking.d.ts.map +1 -0
  178. package/dist/signals/tracking.js +87 -0
  179. package/dist/slash.d.ts +2 -0
  180. package/dist/slash.d.ts.map +1 -0
  181. package/dist/slash.js +5 -0
  182. package/dist/spawnShellCommand.js +1 -1
  183. package/dist/staticGen/staticGen.d.ts.map +1 -1
  184. package/dist/staticGen/staticGen.js +9 -7
  185. package/dist/staticGen/staticGenFunctions.js +1 -1
  186. package/dist/style/jssToCss.d.ts.map +1 -1
  187. package/dist/style/jssToCss.js +11 -9
  188. package/dist/style/unusedStyles.d.ts.map +1 -1
  189. package/dist/testing/host.js +11 -11
  190. package/dist/testing/hydrateTestApp.d.ts.map +1 -1
  191. package/dist/testing/hydrateTestApp.js +9 -9
  192. package/dist/testing/index.d.ts.map +1 -1
  193. package/dist/testing/installTestStyleProcessors.js +1 -1
  194. package/dist/testing/loadEnv.d.ts +4 -1
  195. package/dist/testing/loadEnv.d.ts.map +1 -1
  196. package/dist/testing/loadEnv.js +2 -2
  197. package/dist/testing/temp/componentPackageMock.js +3 -3
  198. package/dist/timeProfiler.d.ts +4 -0
  199. package/dist/timeProfiler.d.ts.map +1 -1
  200. package/dist/timeProfiler.js +16 -0
  201. package/dist/todo.js +2 -1
  202. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  203. package/dist/update/integrateUpdateVdom.js +17 -14
  204. package/dist/update/integrateUpdateVdomPrebuild.js +5 -5
  205. package/dist/warnOnFrameworkChange.js +1 -1
  206. package/dist/watch.js +2 -2
  207. package/package.json +14 -33
  208. package/types/modules.d.ts +0 -1
  209. package/vendor/babel-core.js +26 -0
  210. package/vendor/babel-parser.js +9 -0
  211. package/vendor/babel-plugin-syntax-import-assertions.js +50 -0
  212. package/vendor/babel-preset-react.js +872 -0
  213. package/vendor/babel-preset-typescript.js +26 -0
  214. package/vendor/babel-types.js +9 -0
  215. package/vendor/chalk-extensions.js +1994 -0
  216. package/vendor/chalk.js +647 -0
  217. package/vendor/chokidar.js +6889 -0
  218. package/vendor/chunk-1TN2rK3j.js +1218 -0
  219. package/vendor/chunk-1UuLTU0U.js +34 -0
  220. package/vendor/chunk-B_NeooyV.js +86 -0
  221. package/vendor/chunk-C12hSZn7.js +88 -0
  222. package/vendor/chunk-C3YkUGz5.js +19 -0
  223. package/vendor/chunk-C3fcZDjl.js +41964 -0
  224. package/vendor/chunk-C9FSKeSx.js +14603 -0
  225. package/vendor/chunk-CPArXGxa.js +14623 -0
  226. package/vendor/cjs-module-lexer.js +6 -0
  227. package/vendor/dotenv.js +412 -0
  228. package/vendor/express.js +40577 -0
  229. package/vendor/import-meta-resolve.js +2201 -0
  230. package/vendor/manifest.json +29 -0
  231. package/vendor/postcss.js +8546 -0
  232. package/vendor/serialize-javascript.js +293 -0
  233. package/vendor/sxy-lib-arrays.js +113 -0
  234. package/vendor/sxy-lib-object-copy.js +1781 -0
  235. package/vendor/sxy-lib-objects.js +156 -0
  236. package/vendor/sxy-lib-promises.js +47 -0
  237. package/vendor/sxy-package-investigator.js +202 -0
  238. package/vendor/valibot.js +7664 -0
  239. package/dist/Servers/hono/DevServerHono.d.ts +0 -2
  240. package/dist/Servers/hono/DevServerHono.d.ts.map +0 -1
  241. package/dist/Servers/hono/DevServerHono.js +0 -423
  242. package/dist/Servers/hono/ProdServerHono.d.ts +0 -2
  243. package/dist/Servers/hono/ProdServerHono.d.ts.map +0 -1
  244. package/dist/Servers/hono/ProdServerHono.js +0 -220
  245. package/dist/Servers/hono/TungstenServerHono.d.ts +0 -6
  246. package/dist/Servers/hono/TungstenServerHono.d.ts.map +0 -1
  247. package/dist/Servers/hono/TungstenServerHono.js +0 -36
  248. package/dist/api/ApiEndpointHono.d.ts +0 -3
  249. package/dist/api/ApiEndpointHono.d.ts.map +0 -1
  250. package/dist/api/ApiEndpointHono.js +0 -1
  251. package/dist/api/ApiRouteHono.d.ts +0 -7
  252. package/dist/api/ApiRouteHono.d.ts.map +0 -1
  253. package/dist/api/ApiRouteHono.js +0 -1
  254. package/dist/api/ApiRoutesHono.d.ts +0 -5
  255. package/dist/api/ApiRoutesHono.d.ts.map +0 -1
  256. package/dist/api/ApiRoutesHono.js +0 -1
  257. package/dist/api/getApiRoutesHono.d.ts +0 -6
  258. package/dist/api/getApiRoutesHono.d.ts.map +0 -1
  259. package/dist/api/getApiRoutesHono.js +0 -14
  260. package/dist/build/compilePackages.d.ts +0 -2
  261. package/dist/build/compilePackages.d.ts.map +0 -1
  262. package/dist/build/compilePackages.js +0 -89
  263. package/dist/build/findRequiredUserModule.d.ts +0 -2
  264. package/dist/build/findRequiredUserModule.d.ts.map +0 -1
  265. package/dist/build/findRequiredUserModule.js +0 -36
  266. package/dist/build/processPackage.d.ts +0 -4
  267. package/dist/build/processPackage.d.ts.map +0 -1
  268. package/dist/build/processPackage.js +0 -91
  269. package/dist/build/tallyBabelPlugins.d.ts +0 -3
  270. package/dist/build/tallyBabelPlugins.d.ts.map +0 -1
  271. package/dist/build/tallyBabelPlugins.js +0 -63
  272. package/dist/testing/loadEnvSetup.d.ts +0 -2
  273. package/dist/testing/loadEnvSetup.d.ts.map +0 -1
  274. package/dist/testing/loadEnvSetup.js +0 -7
  275. package/sxy-loader.config.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"getEnvSchemas.d.ts","sourceRoot":"","sources":["../../src/env/getEnvSchemas.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMjF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,MAAM,MAAM,UAAU,GAAG;IACrB,gBAAgB,CAAC,EAAE,cAAc,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC;IACpE,eAAe,CAAC,EAAE,cAAc,CAAC,WAAW,GAAG,iBAAiB,CAAC,CAAC;CACrE,CAAA;AAKD,wBAAsB,aAAa,CAAC,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAChG,OAAO,CAAC,UAAU,CAAC,CAAA;AACrB,wBAAsB,aAAa,CAAC,MAAM,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GACjG,OAAO,CAAC,UAAU,CAAC,CAAA;AAsDrB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,uBAGlF"}
1
+ {"version":3,"file":"getEnvSchemas.d.ts","sourceRoot":"","sources":["../../src/env/getEnvSchemas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMjF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,MAAM,MAAM,UAAU,GAAG;IACrB,gBAAgB,CAAC,EAAE,cAAc,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC;IACpE,eAAe,CAAC,EAAE,cAAc,CAAC,WAAW,GAAG,iBAAiB,CAAC,CAAC;CACrE,CAAA;AAKD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GACzF,OAAO,CAAC,UAAU,CAAC,CAAA;AACtB,wBAAsB,aAAa,CAAC,MAAM,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GACjG,OAAO,CAAC,UAAU,CAAC,CAAA;AAwDrB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,uBAG5G"}
@@ -5,16 +5,18 @@ import { devBuildFolder, prodBuildCodeFolder } from '../settings.js';
5
5
  import { throwError } from '../throwError.js';
6
6
  import { iterationQueryString } from '../iterationQueryString.js';
7
7
  import { importDevModuleWithRetry } from '../importDevModuleWithRetry.js';
8
- export async function getEnvSchemas(config, iteration = null, mode = 'prod') {
8
+ export async function getEnvSchemas(config, iteration = null, mode = 'prod',
9
+ // a compiled tree other than the mode's own - a test run's `compile --output`
10
+ buildCodeFolderOverride) {
9
11
  const {
10
12
  envSchemasLocation
11
13
  } = config;
12
14
  //if (envSchemasLocation === undefined) return {} // I think we're validating configs now, so don't need this
13
- //console.log('envSchemasLocation', envSchemasLocation)
15
+ //console.log('envSchemasLocation', envSchemasLocation)
14
16
  const projectDir = process.cwd();
15
17
  // the compiled copy in the build, like every other module the server runs - codeDir may hold
16
18
  // typescript (config.typescript) that node cannot import
17
- const buildCodeFolder = mode === 'dev' ? devBuildFolder : prodBuildCodeFolder;
19
+ const buildCodeFolder = buildCodeFolderOverride ?? (mode === 'dev' ? devBuildFolder : prodBuildCodeFolder);
18
20
  const fullFilePath = 'file://' + join(projectDir, buildCodeFolder, fixExtension(envSchemasLocation));
19
21
  let module;
20
22
  try {
@@ -44,7 +46,7 @@ export async function getEnvSchemas(config, iteration = null, mode = 'prod') {
44
46
  }
45
47
  }
46
48
  //export function getEnvSchemasDev(config: FrameworkConfigComplete, load: Load) {
47
- export function getEnvSchemasDev(config, iteration) {
49
+ export function getEnvSchemasDev(config, iteration, buildCodeFolder) {
48
50
  //return getEnvSchemas(config, load, true)
49
- return getEnvSchemas(config, iteration, 'dev');
51
+ return getEnvSchemas(config, iteration, 'dev', buildCodeFolder);
50
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"windowGlobalEnvStatement.d.ts","sourceRoot":"","sources":["../../src/env/windowGlobalEnvStatement.ts"],"names":[],"mappings":"AAGA,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7E"}
1
+ {"version":3,"file":"windowGlobalEnvStatement.d.ts","sourceRoot":"","sources":["../../src/env/windowGlobalEnvStatement.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"findProjectDir.d.ts","sourceRoot":"","sources":["../src/findProjectDir.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,qBAAqB,GAAG;IAIhC,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,UAkBxF"}
1
+ {"version":3,"file":"findProjectDir.d.ts","sourceRoot":"","sources":["../src/findProjectDir.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,qBAAqB,GAAG;IAIhC,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,UAkBxF"}
@@ -1,13 +1,27 @@
1
- import { dirname } from 'path';
1
+ import { dirname, join } from 'path';
2
+ import { existsSync, readFileSync } from 'fs';
2
3
  import { fileURLToPath } from 'url';
3
- import packageJsonFinder from 'find-package-json';
4
4
  import { TungstenError } from './TungstenError.js';
5
+ // find-package-json in-house: every package.json from startLocation up to the root
6
+ function* packageJsonFinder(startLocation) {
7
+ let dir = startLocation;
8
+ for (;;) {
9
+ const filename = join(dir, 'package.json');
10
+ if (existsSync(filename)) yield {
11
+ filename,
12
+ value: JSON.parse(readFileSync(filename, 'utf8'))
13
+ };
14
+ const parent = dirname(dir);
15
+ if (parent === dir) return;
16
+ dir = parent;
17
+ }
18
+ }
5
19
  export function findProjectDir(startLocation, options = {}) {
6
20
  if (startLocation.startsWith('file:')) startLocation = fileURLToPath(startLocation);
7
21
  const finder = packageJsonFinder(startLocation);
8
22
  let packageJson = finder.next();
9
23
  if (options.requireName) {
10
- while (!packageJson.done && !hasName(packageJson.value)) {
24
+ while (!packageJson.done && !hasName(packageJson.value.value)) {
11
25
  packageJson = finder.next();
12
26
  }
13
27
  if (packageJson.done) {
@@ -18,7 +32,7 @@ export function findProjectDir(startLocation, options = {}) {
18
32
  // couldn't find a package.json
19
33
  throw new TungstenError(`findProjectDir() error - could not find the package.json is the project directory`);
20
34
  }
21
- return dirname(packageJson.filename);
35
+ return dirname(packageJson.value.filename);
22
36
  }
23
37
  function hasName(packageJson) {
24
38
  return typeof packageJson === 'object' && packageJson !== null && 'name' in packageJson && typeof packageJson.name === 'string' && packageJson.name !== '';
@@ -1,5 +1,5 @@
1
1
  import fs from 'fs';
2
- import slash from 'slash';
2
+ import slash from './slash.js';
3
3
  import { loadPackageDotJsonFromDir } from './loadPackageDotJsonFromDir.js';
4
4
  import { configName } from './packageSettings.js';
5
5
  import { cliNote, cliWarn } from './cliOutput.js';
@@ -7,7 +7,7 @@ import { TungstenError } from './TungstenError.js';
7
7
  import { packageNameCapitalized } from './settings.js';
8
8
  //import { throwError } from './throwError.js'
9
9
  export async function findUserConfig(projectDir, volume = 'noisy') {
10
- const packageConfig = await loadPackageDotJsonFromDir(projectDir); // eslint-disable-line no-type-assertion/no-type-assertion
10
+ const packageConfig = await loadPackageDotJsonFromDir(projectDir); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
11
11
  if (packageConfig === null) {
12
12
  throw new TungstenError(`findUserConfig() error: Could not find project tungsten config`);
13
13
  }
package/dist/foreach.js CHANGED
@@ -4,6 +4,7 @@ export function foreach(list, callback) {
4
4
  if (Array.isArray(list)) {
5
5
  return list.map(callback);
6
6
  } else if (typeof list === 'object' && list !== null) {
7
+ // eslint-disable-line @typescript-eslint/no-unnecessary-condition -- runtime callers may pass anything
7
8
  //return Object.entries(list).map(([key, value]) => (callback as ObjectCallback<L, R>)(value, key, list))
8
9
  const result = [];
9
10
  for (const key in list) {
@@ -3,7 +3,7 @@
3
3
  import * as v from 'valibot';
4
4
  // shape only - babel validates its own options, and a hand-copied key list just drifts from theirs
5
5
  const babelParserOptionsSchema = v.pipe(v.looseObject({}),
6
- // eslint-disable-next-line no-type-assertion/no-type-assertion -- see above
6
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- see above
7
7
  v.transform(options => options));
8
8
  const stringOrStrings = v.union([v.string(), v.array(v.string())]);
9
9
  const frameworkConfigBaseEntries = {
@@ -19,7 +19,7 @@ const frameworkConfigBaseEntries = {
19
19
  styleImportBase: v.exactOptional(v.string()),
20
20
  // valibot has no template-literal schema, so the regex proves what the cast then states
21
21
  siteBasePath: v.exactOptional(v.pipe(v.union([v.literal(''), v.pipe(v.string(), v.regex(/^\/.*$/))]),
22
- // eslint-disable-next-line no-type-assertion/no-type-assertion -- see above
22
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- see above
23
23
  v.transform(path => path))),
24
24
  clientSideNav: v.exactOptional(v.boolean()),
25
25
  staticSite: v.exactOptional(v.boolean()),
@@ -1 +1 @@
1
- {"version":3,"file":"getComponent.d.ts","sourceRoot":"","sources":["../src/getComponent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAOhC,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAEhB,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,IAAI,GAAE,IAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CA6B3B"}
1
+ {"version":3,"file":"getComponent.d.ts","sourceRoot":"","sources":["../src/getComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAOhC,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAEhB,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,IAAI,GAAE,IAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CA6B3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getComponentDev.d.ts","sourceRoot":"","sources":["../src/getComponentDev.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAI7D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGhH"}
1
+ {"version":3,"file":"getComponentDev.d.ts","sourceRoot":"","sources":["../src/getComponentDev.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAI7D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGhH"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRoutes.d.ts","sourceRoot":"","sources":["../src/getRoutes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAM5D,wBAAsB,SAAS,CAC3B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,uBAAuB,EAE/B,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,IAAI,GAAE,IAAa,GACnB,OAAO,CAAC,SAAS,CAAC,CAmCrB"}
1
+ {"version":3,"file":"getRoutes.d.ts","sourceRoot":"","sources":["../src/getRoutes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAM5D,wBAAsB,SAAS,CAC3B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,uBAAuB,EAE/B,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,IAAI,GAAE,IAAa,GACnB,OAAO,CAAC,SAAS,CAAC,CA0BrB"}
package/dist/getRoutes.js CHANGED
@@ -9,28 +9,19 @@ export async function getRoutes(compilationInfo, config,
9
9
  iteration = null, mode = 'prod') {
10
10
  //console.log('config.routesLocation', config.routesLocation)
11
11
  //console.log('config.routesLocation', config.routesLocation)
12
- const routesLocation = config.routesLocation;
13
- if (routesLocation === null) {
14
- return routesLocation;
12
+ const [routesFile, routeExport] = config.routesLocation;
13
+ const filePath = 'file://' + fixExtension(join(compilationInfo.buildCodeLocation, routesFile));
14
+ let module;
15
+ if (mode === 'dev') {
16
+ if (iteration === null) throwError('getComponent()', 'iteration is null in dev mode');
17
+ // can we share load across the render?
18
+ module = await importDevModuleWithRetry(iterationQueryString(filePath, iteration));
15
19
  } else {
16
- const [routesFile, routeExport] = routesLocation;
17
- //console.log(join(compilationInfo.location, routesFile))
18
- //console.log(fixExtension( join(compilationInfo.location, routesFile) ))
19
- const filePath = 'file://' + fixExtension(join(compilationInfo.buildCodeLocation, routesFile));
20
- let module;
21
- if (mode === 'dev') {
22
- if (iteration === null) throwError('getComponent()', 'iteration is null in dev mode');
23
- // can we share load across the render?
24
- //const load = await createLoad(import.meta.url, sxyLoaderConfig)
25
- //module = await load(filePath)
26
- module = await importDevModuleWithRetry(iterationQueryString(filePath, iteration));
27
- } else {
28
- module = await import(filePath); // import the module
29
- }
30
- // use the config to determine the export name
31
- if (!(routeExport in module)) {
32
- throw new TungstenError(`Could not find an export named ${routeExport} in routes file ${routesFile}.` + ` These settings are set in config.routesLocation.`);
33
- }
34
- return module[routeExport];
20
+ module = await import(filePath); // import the module
35
21
  }
22
+ // use the config to determine the export name
23
+ if (!(routeExport in module)) {
24
+ throw new TungstenError(`Could not find an export named ${routeExport} in routes file ${routesFile}.` + ` These settings are set in config.routesLocation.`);
25
+ }
26
+ return module[routeExport];
36
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getRoutesDevs.d.ts","sourceRoot":"","sources":["../src/getRoutesDevs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKjE,wBAAgB,YAAY,CAAC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,uDAGhH"}
1
+ {"version":3,"file":"getRoutesDevs.d.ts","sourceRoot":"","sources":["../src/getRoutesDevs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKjE,wBAAgB,YAAY,CAAC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,uDAGhH"}
@@ -1,5 +1,5 @@
1
1
  export function getStackTrace() {
2
2
  const obj = {};
3
3
  Error.captureStackTrace(obj, getStackTrace);
4
- return obj.stack; // eslint-disable-line no-type-assertion/no-type-assertion
4
+ return obj.stack; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
5
5
  }
package/dist/glob.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export declare function globToRegExp(pattern: string): RegExp;
2
+ export declare function glob(patterns: string | string[], options?: {
3
+ cwd?: string;
4
+ }): Promise<string[]>;
5
+ //# sourceMappingURL=glob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"AA8CA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAyBD,wBAAsB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBzG"}
package/dist/glob.js ADDED
@@ -0,0 +1,103 @@
1
+ import { readdirSync } from 'fs';
2
+ import { isAbsolute } from 'path';
3
+ import slash from './slash.js';
4
+ // globby's job for the patterns tungsten uses (`**`, `*`, `?`, `{a,b}`, `[…]`, `!` excludes):
5
+ // a sync walk from each pattern's static prefix, matched with precompiled regexes. Results are
6
+ // absolute forward-slash paths. Dot segments are skipped, node_modules is not - both as globby
7
+ // did. Sync on purpose: node's fs.glob and a promise-per-directory walk both sat behind the
8
+ // sync sass compile at startup (35ms standalone, ~380ms in dev), a sync walk cannot.
9
+ const globChars = /[*?{[]/;
10
+ function escapeRegExp(text) {
11
+ return text.replace(/[.+^$()|\\]/g, '\\$&');
12
+ }
13
+ // glob source -> regex source, no anchors
14
+ function convert(pattern) {
15
+ let out = '';
16
+ for (let i = 0; i < pattern.length; i++) {
17
+ const char = pattern[i];
18
+ if (char === '*') {
19
+ if (pattern[i + 1] === '*') {
20
+ if (pattern[i + 2] === '/') {
21
+ out += '(?:[^/]*/)*';
22
+ i += 2;
23
+ } // any depth, including none
24
+ else {
25
+ out += '.*';
26
+ i += 1;
27
+ }
28
+ } else out += '[^/]*';
29
+ } else if (char === '?') {
30
+ out += '[^/]';
31
+ } else if (char === '{') {
32
+ const end = pattern.indexOf('}', i);
33
+ if (end === -1) {
34
+ out += '\\{';
35
+ continue;
36
+ }
37
+ out += `(?:${pattern.slice(i + 1, end).split(',').map(convert).join('|')})`;
38
+ i = end;
39
+ } else if (char === '[') {
40
+ const end = pattern.indexOf(']', i);
41
+ if (end === -1) {
42
+ out += '\\[';
43
+ continue;
44
+ }
45
+ const body = pattern.slice(i + 1, end);
46
+ out += `[${body.startsWith('!') ? '^' + body.slice(1) : body}]`;
47
+ i = end;
48
+ } else {
49
+ out += escapeRegExp(char ?? '');
50
+ }
51
+ }
52
+ return out;
53
+ }
54
+ export function globToRegExp(pattern) {
55
+ return new RegExp(`^${convert(pattern)}$`);
56
+ }
57
+ // the directory to walk: the segments before the first one holding a glob character
58
+ function staticPrefix(pattern) {
59
+ const segments = pattern.split('/');
60
+ const firstGlob = segments.findIndex(segment => globChars.test(segment));
61
+ return (firstGlob === -1 ? segments.slice(0, -1) : segments.slice(0, firstGlob)).join('/');
62
+ }
63
+ function walk(dir, files = []) {
64
+ let entries;
65
+ try {
66
+ entries = readdirSync(dir, {
67
+ withFileTypes: true
68
+ });
69
+ } catch (error) {
70
+ if (error.code === 'ENOENT') return files; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- fs errors carry a code
71
+ throw error;
72
+ }
73
+ for (const entry of entries) {
74
+ if (entry.name.startsWith('.')) continue;
75
+ if (entry.isDirectory()) walk(`${dir}/${entry.name}`, files);else if (entry.isFile()) files.push(`${dir}/${entry.name}`);
76
+ }
77
+ return files;
78
+ }
79
+ export async function glob(patterns, options = {}) {
80
+ const cwd = slash(options.cwd ?? process.cwd());
81
+ const full = pattern => {
82
+ const normalised = slash(pattern);
83
+ return isAbsolute(normalised) ? normalised : `${cwd}/${normalised}`;
84
+ };
85
+ const list = (Array.isArray(patterns) ? patterns : [patterns]).map(slash);
86
+ const includes = list.filter(pattern => !pattern.startsWith('!')).map(full);
87
+ const excludes = list.filter(pattern => pattern.startsWith('!')).map(pattern => globToRegExp(full(pattern.slice(1))));
88
+ // one walk per distinct base, every include tested against each of its files
89
+ const byBase = new Map();
90
+ for (const pattern of includes) {
91
+ const base = staticPrefix(pattern);
92
+ byBase.set(base, [...(byBase.get(base) ?? []), globToRegExp(pattern)]);
93
+ }
94
+ const found = new Set();
95
+ for (const [base, matchers] of byBase) {
96
+ for (const file of walk(base)) {
97
+ if (!matchers.some(matcher => matcher.test(file))) continue;
98
+ if (excludes.some(matcher => matcher.test(file))) continue;
99
+ found.add(file);
100
+ }
101
+ }
102
+ return [...found];
103
+ }
@@ -11,10 +11,10 @@ export function getFetchCompatibleHeaders(req) {
11
11
  ...restHeaders
12
12
  } = req.headers;
13
13
  const headers = block(
14
- // eslint-disable-line no-type-assertion/no-type-assertion -- this refers to the typecast at the end of this block: recast it as a record to avoid difficulty getting required values of partials
14
+ // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- this refers to the typecast at the end of this block: recast it as a record to avoid difficulty getting required values of partials
15
15
  // Headers will all be strings, except for set-cookie, so we will override the types from @types/node here
16
16
  restHeaders,
17
- // eslint-disable-line no-type-assertion/no-type-assertion -- countering bad typing in @types/node for 'http' incoming headers
17
+ // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- countering bad typing in @types/node for 'http' incoming headers
18
18
  header => header === undefined);
19
19
  return new Headers({
20
20
  ...headers
@@ -32,18 +32,18 @@ export async function applyHmrModule(moduleExports, file) {
32
32
  for (const exportName in moduleExports) {
33
33
  const exported = moduleExports[exportName];
34
34
  if (typeof exported !== 'function') continue;
35
- const NewType = exported; // eslint-disable-line no-type-assertion/no-type-assertion -- narrowed by typeof above, definitively a function/class value
35
+ const NewType = exported; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowed by typeof above, definitively a function/class value
36
36
  const newKind = componentTypeKind(NewType);
37
37
  const newKey = componentTypeIdentityKey(NewType);
38
38
  currentIdentities.add(identityToken(newKind, newKey));
39
39
  // snapshot: hot-swapping unregisters the old instance and registers its replacement,
40
40
  // mutating registeredComponents mid-loop otherwise
41
41
  for (const component of [...instance.registeredComponents]) {
42
- const anyComponent = component; // eslint-disable-line no-type-assertion/no-type-assertion -- every registered component is actually a class instance or FunctionElement stand-in
42
+ const anyComponent = component; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- every registered component is actually a class instance or FunctionElement stand-in
43
43
  if (liveComponentKind(anyComponent) !== newKind) continue;
44
44
  if (liveComponentIdentityKey(anyComponent) !== newKey) continue;
45
- const swapped = AnyComponentIsFunctionComponentStandIn(anyComponent) ? await hotSwapFunctionComponent(anyComponent, NewType) // eslint-disable-line no-type-assertion/no-type-assertion -- newKind === 'function' guaranteed by the kind check above
46
- : await hotSwapClassComponent(anyComponent, NewType); // eslint-disable-line no-type-assertion/no-type-assertion -- newKind === 'class' guaranteed by the kind check above
45
+ const swapped = AnyComponentIsFunctionComponentStandIn(anyComponent) ? await hotSwapFunctionComponent(anyComponent, NewType) // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- newKind === 'function' guaranteed by the kind check above
46
+ : await hotSwapClassComponent(anyComponent, NewType); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- newKind === 'class' guaranteed by the kind check above
47
47
  if (swapped !== null) matchedCount++;
48
48
  }
49
49
  }
@@ -56,7 +56,7 @@ export async function applyHmrModule(moduleExports, file) {
56
56
  const kind = tokenKind(previousToken);
57
57
  const key = tokenKey(previousToken);
58
58
  const stillLive = [...instance.registeredComponents].some(component => {
59
- const anyComponent = component; // eslint-disable-line no-type-assertion/no-type-assertion -- every registered component is actually a class instance or FunctionElement stand-in
59
+ const anyComponent = component; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- every registered component is actually a class instance or FunctionElement stand-in
60
60
  return liveComponentKind(anyComponent) === kind && liveComponentIdentityKey(anyComponent) === key;
61
61
  });
62
62
  if (stillLive) {
@@ -7,7 +7,7 @@ export function componentTypeKind(Type) {
7
7
  return AnyComponentTypeIsClassComponentType(Type) ? 'class' : 'function';
8
8
  }
9
9
  export function liveComponentType(component) {
10
- return AnyComponentIsFunctionComponentStandIn(component) ? component.func : component.constructor; // eslint-disable-line no-type-assertion/no-type-assertion -- constructor of a TungstenBaseComponent instance is its component type
10
+ return AnyComponentIsFunctionComponentStandIn(component) ? component.func : component.constructor; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- constructor of a TungstenBaseComponent instance is its component type
11
11
  }
12
12
  export function liveComponentKind(component) {
13
13
  return AnyComponentIsFunctionComponentStandIn(component) ? 'function' : 'class';
@@ -1,6 +1,6 @@
1
1
  export function setCurrentInstance(instance) {
2
- globalThis.__tungstenHmrInstance = instance; // eslint-disable-line no-type-assertion/no-type-assertion -- narrowing globalThis to add one optional dev-only field
2
+ globalThis.__tungstenHmrInstance = instance; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowing globalThis to add one optional dev-only field
3
3
  }
4
4
  export function getCurrentInstance() {
5
- return globalThis.__tungstenHmrInstance; // eslint-disable-line no-type-assertion/no-type-assertion -- narrowing globalThis to add one optional dev-only field
5
+ return globalThis.__tungstenHmrInstance; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowing globalThis to add one optional dev-only field
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useReducer.d.ts","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,GAAG,SAiCtH"}
1
+ {"version":3,"file":"useReducer.d.ts","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CACtB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,UAAU,EAAE,GAAG,EAC1D,IAAI,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,GAAG,SAkCnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;AASrD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,SAAS,SAAS,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GACnG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CA4B/B"}
1
+ {"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;AAOrD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,SAAS,SAAS,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GACnG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAwB/B"}
@@ -1,7 +1,4 @@
1
1
  import { getCurrentComponent } from './getCurrentComponent.js';
2
- import { TungstenError, TungstenProductionError } from '../TungstenError.js';
3
- import { isDev } from '../isDev.js';
4
- const thisHook = 'useState';
5
2
  // overloads just so TS errs say defaultValue not args
6
3
  // export function useState<T extends undefined>(defaultValue?: T): [T, (newValue: T) => void]
7
4
  // export function useState<T>(defaultValue: T): [T, (newValue: T) => void]
@@ -9,10 +6,7 @@ const thisHook = 'useState';
9
6
  // : [T, (newValue: T) => void] {
10
7
  export function useState(...defaultValue) {
11
8
  // what do we do here?
12
- const c = getCurrentComponent();
13
- if (c === undefined) {
14
- if (isDev) throw new TungstenError(`Invalid call to ${thisHook} outside of a component`);else throw new TungstenProductionError();
15
- }
9
+ const c = getCurrentComponent(); // throws outside a component
16
10
  const index = c.useStateIndex++;
17
11
  //console.log('c.state', c.state)
18
12
  //console.log('looking for'. indexOf.toString(), 'in component')
@@ -32,6 +26,6 @@ export function useState(...defaultValue) {
32
26
  } else {
33
27
  //console.log('useState initial run')
34
28
  c.state[index] = defaultValue[0];
35
- return [defaultValue[0], update]; // eslint-disable-line no-type-assertion/no-type-assertion -- args[0] can only be undefined if T includes undefined
29
+ return [defaultValue[0], update]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- args[0] can only be undefined if T includes undefined
36
30
  }
37
31
  }
@@ -12,6 +12,6 @@ export type HydrateMeta = {
12
12
  };
13
13
  export declare function makeDefaultHydrateMeta(): HydrateMeta;
14
14
  export declare function hydrate(appRoutes: AppRoutes, RootComponent: TungstenBaseComponentType | null, instanceConfig: InstanceConfig): Promise<void>;
15
- export declare function hydrateRootComponent<ComponentType extends TungstenBaseComponentType<any, any>>(instance: Instance, RootComponent: ComponentType, domPointer: DomPointer, meta: HydrateMeta, props?: InstanceType<ComponentType>['props'], // eslint-disable-line no-type-assertion/no-type-assertion -- default only reached when Props is empty, same as the hardcoded {} this replaces
15
+ export declare function hydrateRootComponent<ComponentType extends TungstenBaseComponentType<any, any>>(instance: Instance, RootComponent: ComponentType, domPointer: DomPointer, meta: HydrateMeta, props?: InstanceType<ComponentType>['props'], // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- default only reached when Props is empty, same as the hardcoded {} this replaces
16
16
  routeParams?: Record<string, string>, routeData?: unknown): Promise<InstanceType<ComponentType>>;
17
17
  //# sourceMappingURL=hydrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/hydrate/hydrate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAoBxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAM7C,OAAO,EAAE,yBAAyB,EAAoD,MAAM,mBAAmB,CAAA;AAE/G,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAoBlD,OAAO,EAC4B,KAAK,uBAAuB,EAC9D,MAAM,oCAAoC,CAAA;AAQ3C,OAAO,0BAA0B,CAAA;AASjC,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,uBAAuB,EAAE,CAAA;IAGrC,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AACD,wBAAgB,sBAAsB,IAAI,WAAW,CAEpD;AAID,wBAAsB,OAAO,CACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,yBAAyB,GAAG,IAAI,EAC/C,cAAc,EAAE,cAAc,iBA2DjC;AAyBD,wBAAsB,oBAAoB,CACtC,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEzD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,WAAW,EAIjB,KAAK,GAAE,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAA8C,EAAE,8IAA8I;AACxO,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CA6DtC"}
1
+ {"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/hydrate/hydrate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAmBxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAM7C,OAAO,EACH,yBAAyB,EAC5B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAmBlD,OAAO,EAC4B,KAAK,uBAAuB,EAC9D,MAAM,oCAAoC,CAAA;AAQ3C,OAAO,0BAA0B,CAAA;AASjC,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,uBAAuB,EAAE,CAAA;IAGrC,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AACD,wBAAgB,sBAAsB,IAAI,WAAW,CAEpD;AAID,wBAAsB,OAAO,CACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,yBAAyB,GAAG,IAAI,EAC/C,cAAc,EAAE,cAAc,iBA2DjC;AAyBD,wBAAsB,oBAAoB,CACtC,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEzD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,WAAW,EAIjB,KAAK,GAAE,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAAM,EAAE,sJAAsJ;AACxM,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CA6DtC"}