tungsten 0.5.0 → 0.5.2

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 (200) 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.d.ts.map +1 -1
  8. package/dist/Framework.js +9 -3
  9. package/dist/FrameworkConfig.d.ts +0 -1
  10. package/dist/FrameworkConfig.d.ts.map +1 -1
  11. package/dist/FunctionComponentStandIn.d.ts +4 -0
  12. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  13. package/dist/FunctionComponentStandIn.js +11 -1
  14. package/dist/Json.type.d.ts.map +1 -1
  15. package/dist/Servers/DevServer.js +1 -1
  16. package/dist/Servers/MatchedRouteInfo.d.ts +1 -1
  17. package/dist/Servers/MatchedRouteInfo.d.ts.map +1 -1
  18. package/dist/Servers/ProdServer.js +2 -3
  19. package/dist/Servers/initStores.d.ts.map +1 -1
  20. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  21. package/dist/Servers/loadEnvsDev.js +8 -3
  22. package/dist/Store/makeStore.d.ts.map +1 -1
  23. package/dist/Store/makeStore.js +7 -3
  24. package/dist/api/ApiMethod.type.d.ts +2 -0
  25. package/dist/api/ApiMethod.type.d.ts.map +1 -0
  26. package/dist/api/ApiRoute.d.ts +2 -2
  27. package/dist/api/ApiRoute.d.ts.map +1 -1
  28. package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts +2 -2
  29. package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -1
  30. package/dist/babelPlugins/BabelExtractComponentStylesheet.js +1 -1
  31. package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +1 -1
  32. package/dist/babelPlugins/BabelTransformBindDirect.js +2 -4
  33. package/dist/babelPlugins/BabelTransformBindVar.js +2 -3
  34. package/dist/babelPlugins/BabelTransformDocInit.js +1 -1
  35. package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
  36. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  37. package/dist/babelPlugins/BabelTransformPackageImports.js +51 -69
  38. package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
  39. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  40. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  41. package/dist/bin/commands/build.js +0 -1
  42. package/dist/build/babel.user.common.config.d.ts +2 -1
  43. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  44. package/dist/build/babel.user.common.config.js +16 -10
  45. package/dist/build/compileJavascript.d.ts.map +1 -1
  46. package/dist/build/compileJavascript.js +3 -4
  47. package/dist/build/compileStyles.d.ts.map +1 -1
  48. package/dist/build/compileStyles.js +7 -3
  49. package/dist/build/createClientFiles.js +2 -3
  50. package/dist/build/createInstanceConfigFile.js +1 -1
  51. package/dist/build/devBundle.rollup.config.js +6 -6
  52. package/dist/build/frameworkDestLocation.d.ts.map +1 -1
  53. package/dist/build/frameworkDestLocation.js +5 -2
  54. package/dist/build/makeBabelRawConfig.js +1 -1
  55. package/dist/build/makeBabelUserProdConfig.js +2 -4
  56. package/dist/build/packageIdentifier.d.ts +6 -0
  57. package/dist/build/packageIdentifier.d.ts.map +1 -0
  58. package/dist/build/packageIdentifier.js +19 -0
  59. package/dist/build/rollup.user.prod.config.js +12 -12
  60. package/dist/build/sassImportParser.js +0 -3
  61. package/dist/clone.js +1 -3
  62. package/dist/compat/types.d.ts.map +1 -1
  63. package/dist/componentProxyHandlers.js +1 -1
  64. package/dist/components/NativeHtml.d.ts +1 -1
  65. package/dist/components/NativeHtml.d.ts.map +1 -1
  66. package/dist/components/Protected.d.ts +1 -1
  67. package/dist/components/Protected.d.ts.map +1 -1
  68. package/dist/components/Stylesheet.js +0 -1
  69. package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
  70. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  71. package/dist/components/library/RichTextEditor/RichTextEditor.js +3 -3
  72. package/dist/createRef.d.ts +1 -1
  73. package/dist/createRef.d.ts.map +1 -1
  74. package/dist/createRef.js +1 -1
  75. package/dist/env/droppedCoreEnvKeys.d.ts +5 -0
  76. package/dist/env/droppedCoreEnvKeys.d.ts.map +1 -0
  77. package/dist/env/droppedCoreEnvKeys.js +9 -0
  78. package/dist/foreach.d.ts.map +1 -1
  79. package/dist/frameworkConfigSchema.d.ts +11 -0
  80. package/dist/frameworkConfigSchema.d.ts.map +1 -1
  81. package/dist/frameworkConfigSchema.js +15 -4
  82. package/dist/getUserConfig.d.ts.map +1 -1
  83. package/dist/getUserConfig.js +7 -2
  84. package/dist/headChildren.d.ts +2 -0
  85. package/dist/headChildren.d.ts.map +1 -0
  86. package/dist/headChildren.js +16 -0
  87. package/dist/helpers/forwardingFetch.d.ts +3 -0
  88. package/dist/helpers/forwardingFetch.d.ts.map +1 -0
  89. package/dist/helpers/forwardingFetch.js +14 -0
  90. package/dist/helpers/index.d.ts +2 -0
  91. package/dist/helpers/index.d.ts.map +1 -1
  92. package/dist/helpers/index.js +3 -1
  93. package/dist/helpers/perRequest.d.ts +3 -0
  94. package/dist/helpers/perRequest.d.ts.map +1 -0
  95. package/dist/helpers/perRequest.js +17 -0
  96. package/dist/hmr/instanceRegistry.js +2 -2
  97. package/dist/hooks/useCallback.d.ts.map +1 -1
  98. package/dist/hydrate/hydrate.d.ts +1 -2
  99. package/dist/hydrate/hydrate.d.ts.map +1 -1
  100. package/dist/hydrate/hydrate.js +13 -20
  101. package/dist/hydrate/reconcileHydratedAttributes.js +1 -1
  102. package/dist/importDevModuleWithRetry.js +1 -1
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +4 -0
  106. package/dist/indexInner.d.ts +1 -2
  107. package/dist/indexInner.d.ts.map +1 -1
  108. package/dist/logAndReturn.d.ts.map +1 -1
  109. package/dist/markOptionSelected.js +1 -1
  110. package/dist/mutatingFunctions.js +0 -3
  111. package/dist/postcssPlugins/TransformCssNames.js +2 -2
  112. package/dist/render/addImportMap.d.ts.map +1 -1
  113. package/dist/render/addImportMap.js +1 -1
  114. package/dist/render/processHead.d.ts.map +1 -1
  115. package/dist/render/processHead.js +18 -12
  116. package/dist/requests/fetch/delete.d.ts +2 -1
  117. package/dist/requests/fetch/delete.d.ts.map +1 -1
  118. package/dist/requests/fetch/delete.js +7 -7
  119. package/dist/requests/fetch/get.d.ts.map +1 -1
  120. package/dist/requests/fetch/get.js +4 -6
  121. package/dist/requests/fetch/mergeFetchInit.d.ts +2 -0
  122. package/dist/requests/fetch/mergeFetchInit.d.ts.map +1 -0
  123. package/dist/requests/fetch/mergeFetchInit.js +17 -0
  124. package/dist/requests/fetch/patch.d.ts.map +1 -1
  125. package/dist/requests/fetch/patch.js +4 -6
  126. package/dist/requests/fetch/post.d.ts.map +1 -1
  127. package/dist/requests/fetch/post.js +4 -6
  128. package/dist/requests/fetch/put.d.ts.map +1 -1
  129. package/dist/requests/fetch/put.js +4 -6
  130. package/dist/routing/ParamsFromPath.d.ts.map +1 -1
  131. package/dist/routing/RouteType.d.ts +1 -8
  132. package/dist/routing/RouteType.d.ts.map +1 -1
  133. package/dist/routing/RouteTypes.d.ts +11 -0
  134. package/dist/routing/RouteTypes.d.ts.map +1 -1
  135. package/dist/routing/Routes.d.ts +7 -8
  136. package/dist/routing/Routes.d.ts.map +1 -1
  137. package/dist/routing/__fluentRouteBuilder.d.ts +80 -0
  138. package/dist/routing/__fluentRouteBuilder.d.ts.map +1 -0
  139. package/dist/routing/__fluentRouteBuilder.js +183 -0
  140. package/dist/routing/__fluentRoutes.d.ts +2 -0
  141. package/dist/routing/__fluentRoutes.d.ts.map +1 -0
  142. package/dist/routing/__fluentRoutes.js +59 -0
  143. package/dist/staticGen/staticGen.d.ts.map +1 -1
  144. package/dist/testing/host.d.ts.map +1 -1
  145. package/dist/testing/host.js +1 -2
  146. package/dist/testing/hydrateTestApp.js +5 -9
  147. package/dist/update/guardedUpdate.d.ts +9 -0
  148. package/dist/update/guardedUpdate.d.ts.map +1 -0
  149. package/dist/update/guardedUpdate.js +20 -0
  150. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  151. package/dist/update/integrateUpdateVdom.js +5 -3
  152. package/dist/zones/react.d.ts.map +1 -1
  153. package/dist/zones/react.js +2 -2
  154. package/package.json +7 -10
  155. package/types/env.d.ts +11 -11
  156. package/types/index.d.ts +7 -3
  157. package/types/jsx/html.d.ts +5 -5
  158. package/types/jsx/html.events.d.ts +202 -200
  159. package/types/jsx/html.global.d.ts +150 -150
  160. package/types/jsx/html.values.d.ts +29 -29
  161. package/types/jsx/jsx.d.ts +16 -5
  162. package/vendor/babel-core.js +13 -8
  163. package/vendor/babel-parser.js +5 -1
  164. package/vendor/babel-plugin-syntax-import-assertions.js +5 -1
  165. package/vendor/babel-preset-react.js +13 -8
  166. package/vendor/babel-preset-typescript.js +13 -8
  167. package/vendor/babel-types.js +5 -1
  168. package/vendor/chalk-extensions.js +6 -161
  169. package/vendor/chalk.js +4 -0
  170. package/vendor/chokidar.js +17 -13
  171. package/vendor/{chunk-B_NeooyV.js → chunk-BSJqV47f.js} +4 -0
  172. package/vendor/{chunk-1UuLTU0U.js → chunk-BYvDIO7e.js} +4 -0
  173. package/vendor/chunk-BfcfwwoF.js +15 -0
  174. package/vendor/{chunk-CPArXGxa.js → chunk-BiUcnLhT.js} +4 -0
  175. package/vendor/chunk-Bu8ZRE-c.js +179 -0
  176. package/vendor/chunk-CmnhIuzX.js +167 -0
  177. package/vendor/chunk-Cqrj-Zqr.js +8579 -0
  178. package/vendor/{chunk-1TN2rK3j.js → chunk-D2EnpcLg.js} +7 -3
  179. package/vendor/{chunk-C9FSKeSx.js → chunk-DHmjZ22y.js} +4 -0
  180. package/vendor/{chunk-C3YkUGz5.js → chunk-Hy-cCmu-.js} +4 -0
  181. package/vendor/{chunk-C12hSZn7.js → chunk-Lqa6rV_r.js} +4 -0
  182. package/vendor/{chunk-C3fcZDjl.js → chunk-OUnVY4Wm.js} +24 -191
  183. package/vendor/cjs-module-lexer.js +4 -0
  184. package/vendor/dotenv.js +10 -6
  185. package/vendor/express.js +30 -31
  186. package/vendor/import-meta-resolve.js +4 -0
  187. package/vendor/manifest.json +3 -2
  188. package/vendor/postcss.js +9 -8544
  189. package/vendor/precinct.js +326959 -0
  190. package/vendor/serialize-javascript.js +4 -0
  191. package/vendor/sxy-lib-arrays.js +4 -0
  192. package/vendor/sxy-lib-object-copy.js +5 -1
  193. package/vendor/sxy-lib-objects.js +4 -0
  194. package/vendor/sxy-lib-promises.js +4 -0
  195. package/vendor/sxy-package-investigator.js +7 -3
  196. package/vendor/valibot.js +4 -0
  197. package/dist/.tsbuildinfo +0 -1
  198. package/dist/api/Method.d.ts +0 -2
  199. package/dist/api/Method.d.ts.map +0 -1
  200. /package/dist/api/{Method.js → ApiMethod.type.js} +0 -0
@@ -30,14 +30,13 @@ export async function createClientFiles(config, mode, buildLocation) {
30
30
  const possibleRootComponentExportName = rcFile.slice(0, rcFile.lastIndexOf('.'));
31
31
  const rootComponentPromise = fsPromises.writeFile(clientRootComponentFileLocation,
32
32
  // to
33
- `export * as module from '../${codeSubPath}${fixExtension(rootComponentRelFilePath)}'; export const filename = '${possibleRootComponentExportName}'` // eslint-disable-line max-len
33
+ `export * as module from '../${codeSubPath}${fixExtension(rootComponentRelFilePath)}'; export const filename = '${possibleRootComponentExportName}'` // eslint-disable-line @stylistic/max-len
34
34
  );
35
35
  promises.push(rootComponentPromise);
36
36
  } else {
37
37
  const rootComponentPromise = fsPromises.writeFile(clientRootComponentFileLocation,
38
38
  // to
39
- `export default null` // eslint-disable-line max-len
40
- );
39
+ `export default null`);
41
40
  promises.push(rootComponentPromise);
42
41
  }
43
42
  // if (config.useRootComponent) {
@@ -20,7 +20,7 @@ export async function createInstanceConfigFile(config, mode, buildLocation) {
20
20
  });
21
21
  await fsPromises.writeFile(appConfigLocation,
22
22
  // to
23
- `export default { prod: ${(mode === 'prod').toString()}, useRootComponent: ${config.useRootComponent.toString()}, siteBasePath: "${siteBasePath}", clientSideNav: ${config.clientSideNav.toString()}, staticSite: ${config.staticSite.toString()}, csr: ${config.csr.toString()} };` // eslint-disable-line max-len
23
+ `export default { prod: ${(mode === 'prod').toString()}, useRootComponent: ${config.useRootComponent.toString()}, siteBasePath: "${siteBasePath}", clientSideNav: ${config.clientSideNav.toString()}, staticSite: ${config.staticSite.toString()}, csr: ${config.csr.toString()} };` // eslint-disable-line @stylistic/max-len
24
24
  );
25
25
  } catch (e) {
26
26
  throw new TungstenError(`createAppConfig() Error: error creating app config file`);
@@ -1,11 +1,11 @@
1
- import { nodeResolve } from "@rollup/plugin-node-resolve";
2
- import commonjs from "@rollup/plugin-commonjs";
1
+ import { nodeResolve } from '@rollup/plugin-node-resolve';
2
+ import commonjs from '@rollup/plugin-commonjs';
3
3
  //import { babel } from "@rollup/plugin-babel"
4
- import terser from "@rollup/plugin-terser";
4
+ import terser from '@rollup/plugin-terser';
5
5
  //import gzip from "rollup-plugin-gzip"
6
- import jsonModule from "@rollup/plugin-json";
7
- const json = typeof jsonModule === "function" ? jsonModule : jsonModule.default;
8
- import { visualizer } from "rollup-plugin-visualizer";
6
+ import jsonModule from '@rollup/plugin-json';
7
+ const json = typeof jsonModule === 'function' ? jsonModule : jsonModule.default;
8
+ import { visualizer } from 'rollup-plugin-visualizer';
9
9
  const rollupConfig = {
10
10
  plugins: [json(), nodeResolve(), commonjs(),
11
11
  // must be before babel
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkDestLocation.d.ts","sourceRoot":"","sources":["../../src/build/frameworkDestLocation.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB,EAAE,MAA4B,CAAA;AAC3D,eAAO,MAAM,qBAAqB,QAAyE,CAAA"}
1
+ {"version":3,"file":"frameworkDestLocation.d.ts","sourceRoot":"","sources":["../../src/build/frameworkDestLocation.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,gBAAgB,EAAE,MAA4B,CAAA;AAG3D,eAAO,MAAM,qBAAqB,QACwE,CAAA"}
@@ -1,7 +1,8 @@
1
1
  import { getPackageJson } from 'sxy-package-investigator';
2
2
  import { TungstenError } from '../TungstenError.js';
3
3
  import { getFrameworkDir } from '../getFrameworkDir.js';
4
- import { frameworkDistFolder, packageName } from '../settings.js';
4
+ import { frameworkDistFolder, packagesFolder } from '../settings.js';
5
+ import { makePackageIdentifier } from './packageIdentifier.js';
5
6
  const packageJsonResult = getPackageJson(getFrameworkDir());
6
7
  const packageJson = packageJsonResult.value;
7
8
  if (packageJson === undefined) {
@@ -11,4 +12,6 @@ if (packageJson.version === undefined) {
11
12
  throw new TungstenError(`frameworkDestLocation error: framework package.json has no version`);
12
13
  }
13
14
  export const frameworkVersion = packageJson.version;
14
- export const frameworkDestLocation = `/.packages/${packageName}@${frameworkVersion}/${frameworkDistFolder}`;
15
+ // the same identifier BabelTransformPackageImports gives the framework when it compiles it, so
16
+ // the aliases point where the files land - a linked framework is not at tungsten@<version>
17
+ export const frameworkDestLocation = `/${packagesFolder}/${makePackageIdentifier(getFrameworkDir(), packageJson)}/${frameworkDistFolder}`;
@@ -6,7 +6,7 @@ import { MakeBabelTransformJsxExtensionsToJs } from '../babelPlugins/BabelTransf
6
6
  // extension rewrite; none of the client plugins, so imports are left for node to resolve.
7
7
  export function makeBabelRawConfig(typescript) {
8
8
  const rawConfig = objectCopy(userCommonConfig);
9
- if (typescript) rawConfig.presets.push(typescriptPreset()); // eslint-disable-line @typescript-eslint/no-non-null-assertion
9
+ if (typescript) rawConfig.presets.push(typescriptPreset());
10
10
  rawConfig.plugins = [MakeBabelTransformJsxExtensionsToJs()];
11
11
  return rawConfig;
12
12
  }
@@ -8,14 +8,12 @@ import { MakeBabelTransformCssImports } from '../babelPlugins/BabelTransformCssI
8
8
  import { MakeBabelTransformDocInit } from '../babelPlugins/BabelTransformDocInit.js';
9
9
  export function makeBabelUserProdConfig(projectDir, absCodeDir, absSourceDir, typescript, absStyleImportBase, watchStyles = true) {
10
10
  const userProdConfig = objectCopy(userCommonConfig);
11
- if (typescript) userProdConfig.presets.push(typescriptPreset()); // eslint-disable-line @typescript-eslint/no-non-null-assertion
11
+ if (typescript) userProdConfig.presets.push(typescriptPreset());
12
12
  // no syntax lowering here either: the bundle step (rollup.user.prod.config.ts) owns the browser floor.
13
13
  // If stripping React `propTypes` from pre-19 React components in react-zones ever matters for
14
14
  // bundle size, babel-plugin-transform-react-remove-prop-types goes here (it used to sit in an
15
15
  // env.production block nothing switched on, uninstalled) - tungsten itself never reads propTypes
16
- userProdConfig.plugins.push(
17
- // eslint-disable-line @typescript-eslint/no-non-null-assertion
18
- MakeBabelTransformCssImports({
16
+ userProdConfig.plugins.push(MakeBabelTransformCssImports({
19
17
  projectDir,
20
18
  absSourceDir,
21
19
  absCodeDir
@@ -0,0 +1,6 @@
1
+ export declare function packageIsLocal(location: string): boolean;
2
+ export declare function makePackageIdentifier(packageDir: string, packageJson: {
3
+ name?: string;
4
+ version?: string;
5
+ }): string;
6
+ //# sourceMappingURL=packageIdentifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageIdentifier.d.ts","sourceRoot":"","sources":["../../src/build/packageIdentifier.ts"],"names":[],"mappings":"AAQA,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAKD,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE,MAAM,CAKR"}
@@ -0,0 +1,19 @@
1
+ import { createHash } from 'crypto';
2
+ import { realpathSync } from 'fs';
3
+ import slash from '../slash.js';
4
+ // A local package - a workspace package, a file:/link: dependency, npm link - is a working tree
5
+ // whose code changes under a version that does not, so there the version says nothing about the
6
+ // content. Anything under node_modules was installed at its version. Resolvers hand back real
7
+ // paths, so a symlink in node_modules to a working tree counts as local.
8
+ export function packageIsLocal(location) {
9
+ return !slash(location).includes('/node_modules/');
10
+ }
11
+ // The folder a package is served from. name@version for an installed package; for a local one
12
+ // name@local-<hash of its real path>, which no npm version can equal and which separates two
13
+ // checkouts of the same package.
14
+ export function makePackageIdentifier(packageDir, packageJson) {
15
+ if (!packageIsLocal(packageDir)) return `${packageJson.name}@${packageJson.version}`;
16
+ // .native returns the on-disk casing, so the hash is the same however the dir was reached
17
+ const real = slash(realpathSync.native(packageDir));
18
+ return `${packageJson.name}@local-${createHash('sha1').update(real).digest('hex').slice(0, 8)}`;
19
+ }
@@ -1,19 +1,19 @@
1
- import { nodeResolve } from "@rollup/plugin-node-resolve";
2
- import commonjs from "@rollup/plugin-commonjs";
3
- import { babel } from "@rollup/plugin-babel";
4
- import terser from "@rollup/plugin-terser";
1
+ import { nodeResolve } from '@rollup/plugin-node-resolve';
2
+ import commonjs from '@rollup/plugin-commonjs';
3
+ import { babel } from '@rollup/plugin-babel';
4
+ import terser from '@rollup/plugin-terser';
5
5
  //import gzip from "rollup-plugin-gzip"
6
- import jsonModule from "@rollup/plugin-json";
7
- import { bundleBabelOptions } from "./bundleBabelOptions.js";
8
- import { rollupExtractComponentStylesheets } from "./rollupExtractComponentStylesheets.js";
9
- const json = typeof jsonModule === "function" ? jsonModule : jsonModule.default;
6
+ import jsonModule from '@rollup/plugin-json';
7
+ import { bundleBabelOptions } from './bundleBabelOptions.js';
8
+ import { rollupExtractComponentStylesheets } from './rollupExtractComponentStylesheets.js';
9
+ const json = typeof jsonModule === 'function' ? jsonModule : jsonModule.default;
10
10
  function replaceProductionNodeEnv() {
11
11
  return {
12
- name: "tungsten-production-node-env",
12
+ name: 'tungsten-production-node-env',
13
13
  transform(code) {
14
- if (!code.includes("process.env.NODE_ENV")) return null;
14
+ if (!code.includes('process.env.NODE_ENV')) return null;
15
15
  return {
16
- code: code.replaceAll("process.env.NODE_ENV", JSON.stringify("production")),
16
+ code: code.replaceAll('process.env.NODE_ENV', JSON.stringify('production')),
17
17
  map: null
18
18
  };
19
19
  }
@@ -30,7 +30,7 @@ const rollupConfig = {
30
30
  rollupExtractComponentStylesheets(),
31
31
  // no node_modules exclude: the floor applies to the framework and packages in the bundle too
32
32
  babel({
33
- babelHelpers: "bundled",
33
+ babelHelpers: 'bundled',
34
34
  ...bundleBabelOptions(targets)
35
35
  }),
36
36
  // must be after commonjs
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-inner-declarations */
2
1
  import { cliLog } from '../cliOutput.js';
3
2
  import { throwError } from '../throwError.js';
4
3
  function debug(...texts) {
@@ -148,7 +147,6 @@ export function sassImportParser(code) {
148
147
  }
149
148
  }
150
149
  switch (mode) {
151
- // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- TS incorrectly reduces type of mode
152
150
  case 'search':
153
151
  {
154
152
  if (char === ' ') {
@@ -250,7 +248,6 @@ export function sassImportParser(code) {
250
248
  }
251
249
  // end of line
252
250
  switch (mode) {
253
- // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- TS incorrectly reduces type of mode
254
251
  case 'at-rule':
255
252
  {
256
253
  finishAtRule();
package/dist/clone.js CHANGED
@@ -7,9 +7,7 @@ export function clone(x) {
7
7
  } else {
8
8
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
9
9
  const newObj = objectMap(x, (k, v) => clone(v));
10
- Object.getOwnPropertySymbols(x).forEach(
11
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
12
- s => newObj[s] = x[s]);
10
+ Object.getOwnPropertySymbols(x).forEach(s => newObj[s] = x[s]);
13
11
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
14
12
  return newObj;
15
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compat/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,yBAAyB,EAAiC,MAAM,yBAAyB,CAAA;AACzH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEnE,YAAY,EAAE,WAAW,IAAI,SAAS,EAAE,kBAAkB,IAAI,YAAY,EAAE,CAAA;AAE5E,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,CAAC;AAwJ9E,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AA+B9G,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEtE,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,EAAE;IACrC,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compat/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,yBAAyB,EAAiC,MAAM,yBAAyB,CAAA;AACzH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEnE,YAAY,EAAE,WAAW,IAAI,SAAS,EAAE,kBAAkB,IAAI,YAAY,EAAE,CAAA;AAE5E,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,CAAA;AAwJ7E,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AA+B9G,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEtE,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,EAAE;IACrC,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC"}
@@ -169,7 +169,7 @@ function perElement(build) {
169
169
  };
170
170
  }
171
171
  const getStateObjectProxyHandlerCached = perElement(makeStateObjectProxyHandler);
172
- export const getStateObjectProxyHandler = element => getStateObjectProxyHandlerCached(element); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the generic only types the trap parameters; the handler itself is identical for every O
172
+ export const getStateObjectProxyHandler = element => getStateObjectProxyHandlerCached(element);
173
173
  // intercept calls to array prototype funcs that mutate the array, to trigger an update
174
174
  const makeStateArrayProxyHandler = element => {
175
175
  // what an array slot ends up holding: data holders are proxied so later writes inside them are seen
@@ -1,5 +1,5 @@
1
- import type { ContentNodeHtml } from '../indexInner.js';
2
1
  import { TungstenSimpleComponent } from '../Components.jsx';
2
+ import { ContentNodeHtml } from '../ContentNode.js';
3
3
  export interface NativeHtmlProps {
4
4
  children: ContentNodeHtml | ContentNodeHtml[];
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NativeHtml.d.ts","sourceRoot":"","sources":["../../src/components/NativeHtml.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;CAChD;AAGD,qBAAa,UAAW,SAAQ,uBAAuB,CAAC,eAAe,CAAC;IACpE,OAAgB,QAAQ,UAAO;IAC/B,OAAO,4CAA4B;CACtC"}
1
+ {"version":3,"file":"NativeHtml.d.ts","sourceRoot":"","sources":["../../src/components/NativeHtml.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;CAChD;AAGD,qBAAa,UAAW,SAAQ,uBAAuB,CAAC,eAAe,CAAC;IACpE,OAAgB,QAAQ,UAAO;IAC/B,OAAO,4CAA4B;CACtC"}
@@ -1,4 +1,4 @@
1
- import type { ContentNode } from '../indexInner.js';
1
+ import type { ContentNode } from '../ContentNode.js';
2
2
  import { TungstenSimpleComponent } from '../Components.jsx';
3
3
  export interface ProtectedHtmlProps {
4
4
  children: ContentNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Protected.d.ts","sourceRoot":"","sources":["../../src/components/Protected.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,WAAW,CAAA;CACxB;AAGD,qBAAa,SAAU,SAAQ,uBAAuB,CAAC,kBAAkB,CAAC;IACtE,OAAgB,QAAQ,UAAO;IAC/B,OAAO,oBAA4B;CACtC"}
1
+ {"version":3,"file":"Protected.d.ts","sourceRoot":"","sources":["../../src/components/Protected.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,WAAW,CAAA;CACxB;AAGD,qBAAa,SAAU,SAAQ,uBAAuB,CAAC,kBAAkB,CAAC;IACtE,OAAgB,QAAQ,UAAO;IAC/B,OAAO,oBAA4B;CACtC"}
@@ -16,7 +16,6 @@ export class Stylesheet extends TungstenSimpleComponent {
16
16
  // console.log('seek css in ', String(this.__instance.config.sourceDir) + '/' + String(this.props.children?.href))
17
17
  if (isDev && typeof this.props.children !== 'string') {
18
18
  if (typeof window !== 'undefined') {
19
- // eslint-disable-line @typescript-eslint/no-unnecessary-condition
20
19
  errorOut(`Err: invalid stylesheet passed to <Stylesheet>.` + ` Received ${this.props.children} (${typeof this.props.children}`);
21
20
  }
22
21
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"BindableInputTyped.d.ts","sourceRoot":"","sources":["../../../src/components/bindable/BindableInputTyped.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAsB9D,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;AACpD,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,GAAG,IAC3D,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEzD,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAG7F,KAAK,UAAU,GAAG;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AACD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,GAAG,CACtF,CAAC,SAAS,MAAM,GACV;IACE,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAClE,GACC;IACE,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CACrD,CACR,CAAA;AAED,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CACxE,SAAQ,uBAAuB,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,0DAAkC;CAC5C"}
1
+ {"version":3,"file":"BindableInputTyped.d.ts","sourceRoot":"","sources":["../../../src/components/bindable/BindableInputTyped.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAsB9D,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;AACpD,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,GAAG,IAC3D,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;AAExD,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAG7F,KAAK,UAAU,GAAG;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AACD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,GAAG,CACtF,CAAC,SAAS,MAAM,GACV;IACE,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAClE,GACC;IACE,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CACrD,CACR,CAAA;AAED,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CACxE,SAAQ,uBAAuB,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,0DAAkC;CAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/library/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAKvE,OAAO,KAAK,EACR,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAC5G,MAAM,sCAAsC,CAAA;AAyB7C,QAAA,MAAM,eAAe,mIAGX,CAAA;AACV,KAAK,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAyCtD,KAAK,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,EAAE,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,IAAI;IAC3G,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAGzC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAOzC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC9B,CAAA;AAED,KAAK,KAAK,GAAG;IAUT,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAGnC,WAAW,EAAE,MAAM,CAAA;IAGnB,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC/C,CAAA;AAED,qBAAa,cAAc,CACvB,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,EAAE,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,CAClG,SAAQ,yBAAyB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IACzE,KAAK,EAAE,KAAK,CAOX;IAED,UAAU,qEAAqC;IAC/C,SAAS,0EAA0C;IAUnD,kBAAkB,aAWjB;IAOD,aAAa,QAAO,QAAQ,GAAG,IAAI,CACwD;IAiB3F,aAAa,aAMZ;IAOD,UAAU,EAAE,KAAK,GAAG,IAAI,CAAO;IAE/B,gBAAgB,aAWf;IAED,gBAAgB,aAKf;IAID,gBAAgB,aAGf;IAQD,kBAAkB,aAYjB;IAED,IAAI,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,UAStC;IASD,gBAAgB,GAAI,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,UAE/D;IAED,iBAAiB,GAAI,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,UAOjE;IAED,UAAU,aAMT;IAED,UAAU,aAA4B;IACtC,eAAe,aAAkC;IACjD,IAAI,aAA0B;IAC9B,IAAI,aAA0B;IAQ9B,aAAa,GAAI,OAAO,qBAAqB,CAAC,cAAc,CAAC,UAS5D;IAED,WAAW,GAAI,OAAO,sBAAsB,CAAC,cAAc,CAAC,UAS3D;IAED,YAAY,aAaX;IAED,iBAAiB,GAAI,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,UAEjE;IAED,OAAO,GAAI,kCAAkC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,0DAyElF;IAEV,KAAK,0CA8FJ;CACJ"}
1
+ {"version":3,"file":"RichTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/library/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAKvE,OAAO,KAAK,EACR,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAC5G,MAAM,sCAAsC,CAAA;AAyB7C,QAAA,MAAM,eAAe,mIAGX,CAAA;AACV,KAAK,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAyCtD,KAAK,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,EAAE,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,IAAI;IAC3G,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAGzC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAOzC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC9B,CAAA;AAED,KAAK,KAAK,GAAG;IAUT,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAGnC,WAAW,EAAE,MAAM,CAAA;IAGnB,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC/C,CAAA;AAED,qBAAa,cAAc,CACvB,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,EAAE,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,KAAK,CAClG,SAAQ,yBAAyB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IACzE,KAAK,EAAE,KAAK,CAOX;IAED,UAAU,qEAAyC;IACnD,SAAS,0EAA8C;IAUvD,kBAAkB,aAWjB;IAOD,aAAa,QAAO,QAAQ,GAAG,IAAI,CACwD;IAiB3F,aAAa,aAMZ;IAOD,UAAU,EAAE,KAAK,GAAG,IAAI,CAAO;IAE/B,gBAAgB,aAWf;IAED,gBAAgB,aAKf;IAID,gBAAgB,aAGf;IAQD,kBAAkB,aAYjB;IAED,IAAI,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,UAStC;IASD,gBAAgB,GAAI,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,UAE/D;IAED,iBAAiB,GAAI,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,UAOjE;IAED,UAAU,aAMT;IAED,UAAU,aAA4B;IACtC,eAAe,aAAkC;IACjD,IAAI,aAA0B;IAC9B,IAAI,aAA0B;IAQ9B,aAAa,GAAI,OAAO,qBAAqB,CAAC,cAAc,CAAC,UAS5D;IAED,WAAW,GAAI,OAAO,sBAAsB,CAAC,cAAc,CAAC,UAS3D;IAED,YAAY,aAaX;IAED,iBAAiB,GAAI,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,UAEjE;IAED,OAAO,GAAI,kCAAkC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,0DAyElF;IAEV,KAAK,0CA8FJ;CACJ"}
@@ -21,7 +21,7 @@ function _toPrimitive(t, r) {
21
21
  return ("string" === r ? String : Number)(t);
22
22
  }
23
23
  import { TungstenStatefulComponent } from "../../../Components.js";
24
- import { createElementRef } from '../../../createRef.js';
24
+ import { createHtmlElementRef } from '../../../createRef.js';
25
25
  import { combineClassNames } from '../../../helpers/combineClassNames.js';
26
26
  import { parseHtml } from '../../../rawHtml/parseHtml.js';
27
27
  import { safeHtmlAllowList } from '../../../rawHtml/safeHtmlAllowList.js';
@@ -125,8 +125,8 @@ export class RichTextEditor extends TungstenStatefulComponent {
125
125
  blockFormat: 'p',
126
126
  loadedRecordKey: this.props.recordKey
127
127
  });
128
- _defineProperty(this, "surfaceRef", createElementRef());
129
- _defineProperty(this, "sourceRef", createElementRef());
128
+ _defineProperty(this, "surfaceRef", createHtmlElementRef());
129
+ _defineProperty(this, "sourceRef", createHtmlElementRef());
130
130
  // Re-seeds the surface when the page points this editor at a different
131
131
  // record. `initialHtml` is otherwise captured once and left alone (see
132
132
  // State), which is what keeps the reconciler away from the live DOM — but
@@ -3,5 +3,5 @@ export type TungstenRef<T> = {
3
3
  };
4
4
  export declare function createRef<T>(initial: T | null): TungstenRef<T>;
5
5
  export type TungstenElementRef<T extends HTMLElement> = TungstenRef<T>;
6
- export declare function createElementRef<T extends HTMLElement>(initial?: T): TungstenElementRef<T>;
6
+ export declare function createHtmlElementRef<T extends HTMLElement>(initial?: T): TungstenElementRef<T>;
7
7
  //# sourceMappingURL=createRef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createRef.d.ts","sourceRoot":"","sources":["../src/createRef.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IACzB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAE9D;AAGD,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA;AAEtE,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAE1F"}
1
+ {"version":3,"file":"createRef.d.ts","sourceRoot":"","sources":["../src/createRef.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IACzB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAE9D;AAGD,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA;AAEtE,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAE9F"}
package/dist/createRef.js CHANGED
@@ -3,6 +3,6 @@ export function createRef(initial) {
3
3
  current: initial
4
4
  };
5
5
  }
6
- export function createElementRef(initial) {
6
+ export function createHtmlElementRef(initial) {
7
7
  return createRef(initial || null);
8
8
  }
@@ -0,0 +1,5 @@
1
+ export declare function droppedCoreEnvKeys(coreSchema: {
2
+ entries: object;
3
+ }, input: object, output: object): string[];
4
+ export declare function droppedCoreEnvWarning(which: 'private' | 'public', registerName: string, keys: string[]): string;
5
+ //# sourceMappingURL=droppedCoreEnvKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droppedCoreEnvKeys.d.ts","sourceRoot":"","sources":["../../src/env/droppedCoreEnvKeys.ts"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,CAAC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3G;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAG/G"}
@@ -0,0 +1,9 @@
1
+ // The core env schemas run on the app schema's output, so an app schema that keeps only what it
2
+ // lists takes tungsten's own variables out before tungsten sees them. The core schema's entries
3
+ // are the list of what tungsten reads.
4
+ export function droppedCoreEnvKeys(coreSchema, input, output) {
5
+ return Object.keys(coreSchema.entries).filter(key => key in input && !(key in output));
6
+ }
7
+ export function droppedCoreEnvWarning(which, registerName, keys) {
8
+ return `The ${which} env schema (${registerName}) dropped ${keys.join(', ')}, which tungsten reads.` + ` Add ${keys.length === 1 ? 'it' : 'them'} to the schema, or use one that passes unknown keys through`;
9
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"foreach.d.ts","sourceRoot":"","sources":["../src/foreach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;AAOpD,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAChI,wBAAgB,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"foreach.d.ts","sourceRoot":"","sources":["../src/foreach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;AAOpD,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA;AAC/H,wBAAgB,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA"}
@@ -38,6 +38,11 @@ export declare const frameworkConfigValidator: v.VariantSchema<"useRootComponent
38
38
  readonly serverMiddleware: v.ExactOptionalSchema<v.TupleSchema<[v.StringSchema<undefined>, v.StringSchema<undefined>, v.StringSchema<undefined>], undefined>, undefined>;
39
39
  readonly apiRoutes: v.ExactOptionalSchema<v.StringSchema<undefined>, undefined>;
40
40
  readonly apiPath: v.ExactOptionalSchema<v.StringSchema<undefined>, undefined>;
41
+ readonly suppressNoHeadWarning: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
42
+ readonly suppressOriginMismatchWarning: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
43
+ readonly suppressEnvOverwriteWarnings: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
44
+ readonly warnOnFrameworkChange: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
45
+ readonly hmr: v.ExactOptionalSchema<v.UnionSchema<[v.BooleanSchema<undefined>, v.LiteralSchema<"reload", undefined>], undefined>, undefined>;
41
46
  readonly csr: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
42
47
  }, undefined>, v.ObjectSchema<{
43
48
  readonly useRootComponent: v.LiteralSchema<false, undefined>;
@@ -73,7 +78,13 @@ export declare const frameworkConfigValidator: v.VariantSchema<"useRootComponent
73
78
  readonly serverMiddleware: v.ExactOptionalSchema<v.TupleSchema<[v.StringSchema<undefined>, v.StringSchema<undefined>, v.StringSchema<undefined>], undefined>, undefined>;
74
79
  readonly apiRoutes: v.ExactOptionalSchema<v.StringSchema<undefined>, undefined>;
75
80
  readonly apiPath: v.ExactOptionalSchema<v.StringSchema<undefined>, undefined>;
81
+ readonly suppressNoHeadWarning: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
82
+ readonly suppressOriginMismatchWarning: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
83
+ readonly suppressEnvOverwriteWarnings: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
84
+ readonly warnOnFrameworkChange: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
85
+ readonly hmr: v.ExactOptionalSchema<v.UnionSchema<[v.BooleanSchema<undefined>, v.LiteralSchema<"reload", undefined>], undefined>, undefined>;
76
86
  readonly csr: v.ExactOptionalSchema<v.BooleanSchema<undefined>, undefined>;
77
87
  }, undefined>], undefined>;
78
88
  export type FrameworkConfig = v.InferOutput<typeof frameworkConfigValidator>;
89
+ export declare function unknownConfigKeys(config: unknown): string[];
79
90
  //# sourceMappingURL=frameworkConfigSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkConfigSchema.d.ts","sourceRoot":"","sources":["../src/frameworkConfigSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,MAAM,WAAW,YAAa,SAAQ,kBAAkB;CAAG;AAuE3D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAGnC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
1
+ {"version":3,"file":"frameworkConfigSchema.d.ts","sourceRoot":"","sources":["../src/frameworkConfigSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,MAAM,WAAW,YAAa,SAAQ,kBAAkB;CAAG;AA6E3D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAGnC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAO5E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAG3D"}
@@ -2,9 +2,7 @@
2
2
  // widens the value to include undefined, which FrameworkConfig's consumers then reject
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
- const babelParserOptionsSchema = v.pipe(v.looseObject({}),
6
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- see above
7
- v.transform(options => options));
5
+ const babelParserOptionsSchema = v.pipe(v.looseObject({}), v.transform(options => options));
8
6
  const stringOrStrings = v.union([v.string(), v.array(v.string())]);
9
7
  const frameworkConfigBaseEntries = {
10
8
  codeDir: v.exactOptional(v.string()),
@@ -49,6 +47,12 @@ const frameworkConfigBaseEntries = {
49
47
  serverMiddleware: v.exactOptional(v.tuple([v.string(), v.string(), v.string()])),
50
48
  apiRoutes: v.exactOptional(v.string()),
51
49
  apiPath: v.exactOptional(v.string()),
50
+ suppressNoHeadWarning: v.exactOptional(v.boolean()),
51
+ suppressOriginMismatchWarning: v.exactOptional(v.boolean()),
52
+ suppressEnvOverwriteWarnings: v.exactOptional(v.boolean()),
53
+ // accepted but not on the public config type: a framework developer's switch
54
+ warnOnFrameworkChange: v.exactOptional(v.boolean()),
55
+ hmr: v.exactOptional(v.union([v.boolean(), v.literal('reload')])),
52
56
  csr: v.exactOptional(v.boolean())
53
57
  };
54
58
  const frameworkConfigWithRootComponentSchema = v.object({
@@ -62,4 +66,11 @@ const frameworkConfigWithoutRootComponentSchema = v.object({
62
66
  });
63
67
  // variant, not union: a plain union reports one issue at the union itself ("Expected Object but
64
68
  // received Object"), where this picks the branch by useRootComponent and reports its actual fields
65
- export const frameworkConfigValidator = v.variant('useRootComponent', [frameworkConfigWithRootComponentSchema, frameworkConfigWithoutRootComponentSchema]);
69
+ export const frameworkConfigValidator = v.variant('useRootComponent', [frameworkConfigWithRootComponentSchema, frameworkConfigWithoutRootComponentSchema]);
70
+ // v.object drops keys it does not list rather than rejecting them - right for a config that may
71
+ // carry another tool's entries, but a typo or a removed key then vanishes silently, so name them
72
+ const knownConfigKeys = new Set([...Object.keys(frameworkConfigBaseEntries), 'useRootComponent', 'rootComponent']);
73
+ export function unknownConfigKeys(config) {
74
+ if (typeof config !== 'object' || config === null) return [];
75
+ return Object.keys(config).filter(key => !knownConfigKeys.has(key));
76
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"getUserConfig.d.ts","sourceRoot":"","sources":["../src/getUserConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAOxF,wBAAsB,aAAa,CAC/B,SAAS,GAAE,wBAAwB,GAAG,IAAW,EACjD,MAAM,GAAE,QAAQ,GAAG,OAAiB,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAsBlC"}
1
+ {"version":3,"file":"getUserConfig.d.ts","sourceRoot":"","sources":["../src/getUserConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAOxF,wBAAsB,aAAa,CAC/B,SAAS,GAAE,wBAAwB,GAAG,IAAW,EACjD,MAAM,GAAE,QAAQ,GAAG,OAAiB,GACrC,OAAO,CAAC,uBAAuB,CAAC,CA2BlC"}
@@ -1,9 +1,9 @@
1
1
  import { defaultConfig } from './defaultConfig.js';
2
2
  import { findUserConfig } from './findUserConfig.js';
3
- import { frameworkConfigValidator } from './frameworkConfigSchema.js';
3
+ import { frameworkConfigValidator, unknownConfigKeys } from './frameworkConfigSchema.js';
4
4
  import { makeFinalConfig } from './makeFinalConfig.js';
5
5
  import { throwError } from './throwError.js';
6
- import { cliOut } from './cliOutput.js';
6
+ import { cliOut, cliWarn } from './cliOutput.js';
7
7
  import { validate } from './standardSchema.js';
8
8
  export async function getUserConfig(overrides = null, volume = 'noisy') {
9
9
  const userConfigOrNull = await findUserConfig(process.cwd(), volume);
@@ -15,6 +15,11 @@ export async function getUserConfig(overrides = null, volume = 'noisy') {
15
15
  cliOut('Config', userConfig);
16
16
  throwError('Your tungsten config did not match the required format', '\n' + result.problems);
17
17
  }
18
+ // the validator drops what it does not list: say so, as a typo would otherwise vanish
19
+ const unknownKeys = unknownConfigKeys(userConfig.data);
20
+ if (unknownKeys.length > 0 && volume !== 'silent') {
21
+ cliWarn(`tungsten config: ignoring unknown ${unknownKeys.length === 1 ? 'key' : 'keys'} ${unknownKeys.join(', ')}`);
22
+ }
18
23
  const finalConfig = makeFinalConfig(result.value, overrides);
19
24
  //console.log('finalConfig', finalConfig)
20
25
  return finalConfig;
@@ -0,0 +1,2 @@
1
+ export declare function appHeadChildrenStart(head: HTMLElement): number;
2
+ //# sourceMappingURL=headChildren.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headChildren.d.ts","sourceRoot":"","sources":["../src/headChildren.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAW9D"}
@@ -0,0 +1,16 @@
1
+ // processHead unshifts everything the framework adds to the head in front of the app's own
2
+ // children, each marked data--t-internal (or data--t-persist, for what a re-created head keeps);
3
+ // dev banners are appended after them. The app's children are the contiguous run in between,
4
+ // and this is its start - where hydration matches them and where an update's pointer begins
5
+ export function appHeadChildrenStart(head) {
6
+ const children = head.childNodes;
7
+ let index = 0;
8
+ while (index < children.length) {
9
+ const child = children[index];
10
+ if (child.nodeType !== 1) break;
11
+ const element = child; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- nodeType 1 is an element
12
+ if (!element.hasAttribute('data--t-internal') && !element.hasAttribute('data--t-persist')) break;
13
+ index++;
14
+ }
15
+ return index;
16
+ }
@@ -0,0 +1,3 @@
1
+ import type { ReqResOrNull } from '../ReqRes.js';
2
+ export declare function forwardingFetch(reqRes: ReqResOrNull, fetchImpl?: typeof fetch): typeof fetch;
3
+ //# sourceMappingURL=forwardingFetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forwardingFetch.d.ts","sourceRoot":"","sources":["../../src/helpers/forwardingFetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAQhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,GAAE,OAAO,KAAa,GAAG,OAAO,KAAK,CAInG"}
@@ -0,0 +1,14 @@
1
+ import { getFetchCompatibleHeaders } from './getFetchCompatibleHeaders.js';
2
+ import { mergeFetchInit } from '../requests/fetch/mergeFetchInit.js';
3
+ // A fetch for calling the app's own API while the server renders a request: the visitor's headers
4
+ // (mainly the cookie) go on every call, with credentials included, under the call's own init - so
5
+ // a caller's content-type, authorization or credentials win by name. With null (the browser, or
6
+ // the server outside a request) it is the plain fetch. `fetchImpl` is for tests
7
+ export function forwardingFetch(reqRes, fetchImpl = fetch) {
8
+ if (reqRes === null) return fetchImpl;
9
+ const forwarded = {
10
+ headers: getFetchCompatibleHeaders(reqRes.req),
11
+ credentials: 'include'
12
+ };
13
+ return (input, init) => fetchImpl(input, mergeFetchInit(forwarded, init));
14
+ }
@@ -1,3 +1,5 @@
1
1
  export * from './combineClassNames.js';
2
2
  export * from './getFetchCompatibleHeaders.js';
3
+ export * from './forwardingFetch.js';
4
+ export * from './perRequest.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA"}
@@ -1,2 +1,4 @@
1
1
  export * from './combineClassNames.js';
2
- export * from './getFetchCompatibleHeaders.js';
2
+ export * from './getFetchCompatibleHeaders.js';
3
+ export * from './forwardingFetch.js';
4
+ export * from './perRequest.js';
@@ -0,0 +1,3 @@
1
+ import type { ReqResOrNull } from '../ReqRes.js';
2
+ export declare function perRequest<T>(create: (reqRes: ReqResOrNull) => T): (reqRes: ReqResOrNull) => T;
3
+ //# sourceMappingURL=perRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perRequest.d.ts","sourceRoot":"","sources":["../../src/helpers/perRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,cAAc,CAAA;AAQxD,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAQ9F"}
@@ -0,0 +1,17 @@
1
+ // One value per server request - made on first use, kept for that request alone (a WeakMap, so it
2
+ // goes with the request) - for an API client or a loader that should live exactly that long, and
3
+ // so that every caller in the request shares it (one tRPC batch for global data and route data).
4
+ // null - the browser, or the server with no request in hand (module init, a static build) - gets
5
+ // ONE value for the whole process. That value must hold no per-visitor state: never a client
6
+ // carrying a visitor's cookie
7
+ export function perRequest(create) {
8
+ const byRequest = new WeakMap();
9
+ let shared = null;
10
+ return reqRes => {
11
+ if (reqRes === null) return (shared ??= {
12
+ value: create(null)
13
+ }).value;
14
+ if (!byRequest.has(reqRes)) byRequest.set(reqRes, create(reqRes));
15
+ return byRequest.get(reqRes); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- set just above
16
+ };
17
+ }
@@ -1,6 +1,6 @@
1
1
  export function setCurrentInstance(instance) {
2
- globalThis.__tungstenHmrInstance = instance; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowing globalThis to add one optional dev-only field
2
+ globalThis.__tungstenHmrInstance = instance;
3
3
  }
4
4
  export function getCurrentInstance() {
5
- return globalThis.__tungstenHmrInstance; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowing globalThis to add one optional dev-only field
5
+ return globalThis.__tungstenHmrInstance;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useCallback.d.ts","sourceRoot":"","sources":["../../src/hooks/useCallback.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,aAAlC,GAAG,EAAE,KAAK,GAAG,CA2BxD"}
1
+ {"version":3,"file":"useCallback.d.ts","sourceRoot":"","sources":["../../src/hooks/useCallback.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,2BA2B7E"}
@@ -12,6 +12,5 @@ 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 @typescript-eslint/no-unsafe-type-assertion -- default only reached when Props is empty, same as the hardcoded {} this replaces
16
- routeParams?: Record<string, string>, routeData?: unknown): Promise<InstanceType<ComponentType>>;
15
+ export declare function hydrateRootComponent<ComponentType extends TungstenBaseComponentType<any, any>>(instance: Instance, RootComponent: ComponentType, domPointer: DomPointer, meta: HydrateMeta, props?: InstanceType<ComponentType>['props'], routeParams?: Record<string, string>, routeData?: unknown): Promise<InstanceType<ComponentType>>;
17
16
  //# 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;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;AAS3C,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,iBAgEjC;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"}
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;AAO7C,OAAO,EACH,yBAAyB,EAC5B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAmBlD,OAAO,EAC4B,KAAK,uBAAuB,EAC9D,MAAM,oCAAoC,CAAA;AAS3C,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,iBAgEjC;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,EAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CA6DtC"}