tungsten 0.4.14 → 0.5.1

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 (171) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/Components.d.ts +1 -0
  4. package/dist/Components.d.ts.map +1 -1
  5. package/dist/Components.js +2 -0
  6. package/dist/ContentNode.d.ts +8 -2
  7. package/dist/ContentNode.d.ts.map +1 -1
  8. package/dist/ContentNode.js +4 -1
  9. package/dist/Framework.d.ts.map +1 -1
  10. package/dist/Framework.js +12 -6
  11. package/dist/FrameworkConfig.d.ts +0 -3
  12. package/dist/FrameworkConfig.d.ts.map +1 -1
  13. package/dist/FunctionComponentStandIn.d.ts +1 -1
  14. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  15. package/dist/FunctionComponentStandIn.js +1 -0
  16. package/dist/Instance/Instance.js +2 -2
  17. package/dist/RenderingNode.d.ts +2 -2
  18. package/dist/RenderingNode.d.ts.map +1 -1
  19. package/dist/Script.d.ts +1 -1
  20. package/dist/Script.d.ts.map +1 -1
  21. package/dist/Servers/DevServer.d.ts.map +1 -1
  22. package/dist/Servers/DevServer.js +10 -0
  23. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  24. package/dist/Servers/loadEnvsDev.js +16 -11
  25. package/dist/Servers/routing.d.ts.map +1 -1
  26. package/dist/Servers/routing.js +8 -9
  27. package/dist/Store/makeStore.d.ts +4 -4
  28. package/dist/Store/makeStore.d.ts.map +1 -1
  29. package/dist/Store/makeStore.js +23 -57
  30. package/dist/babelPlugins/BabelTransformDocInit.d.ts +9 -0
  31. package/dist/babelPlugins/BabelTransformDocInit.d.ts.map +1 -0
  32. package/dist/babelPlugins/BabelTransformDocInit.js +201 -0
  33. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  34. package/dist/babelPlugins/BabelTransformPackageImports.js +1 -10
  35. package/dist/bin/index.d.ts.map +1 -1
  36. package/dist/bin/index.js +82 -75
  37. package/dist/browserStorage.d.ts +56 -18
  38. package/dist/browserStorage.d.ts.map +1 -1
  39. package/dist/browserStorage.js +172 -102
  40. package/dist/build/bundle.d.ts +1 -1
  41. package/dist/build/bundle.d.ts.map +1 -1
  42. package/dist/build/bundle.js +45 -40
  43. package/dist/build/compileJavascript.d.ts.map +1 -1
  44. package/dist/build/compileJavascript.js +0 -1
  45. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  46. package/dist/build/makeBabelUserDevConfig.js +5 -1
  47. package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
  48. package/dist/build/makeBabelUserProdConfig.js +5 -1
  49. package/dist/cliOutput.d.ts +5 -0
  50. package/dist/cliOutput.d.ts.map +1 -1
  51. package/dist/cliOutput.js +22 -0
  52. package/dist/components/Link.d.ts +1 -1
  53. package/dist/components/Link.d.ts.map +1 -1
  54. package/dist/components/NativeHtml.d.ts +10 -0
  55. package/dist/components/NativeHtml.d.ts.map +1 -0
  56. package/dist/components/NativeHtml.js +12 -0
  57. package/dist/components/PopMessages.d.ts +1 -1
  58. package/dist/components/PopMessages.d.ts.map +1 -1
  59. package/dist/components/Protected.d.ts +10 -0
  60. package/dist/components/Protected.d.ts.map +1 -0
  61. package/dist/components/Protected.js +12 -0
  62. package/dist/components/Stylesheet.d.ts +1 -1
  63. package/dist/components/Stylesheet.d.ts.map +1 -1
  64. package/dist/components/bindable/BindableCheckbox.d.ts +1 -1
  65. package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
  66. package/dist/components/bindable/BindableInput.d.ts +1 -1
  67. package/dist/components/bindable/BindableInput.d.ts.map +1 -1
  68. package/dist/components/bindable/BindableInputNonString.d.ts +1 -1
  69. package/dist/components/bindable/BindableInputNonString.d.ts.map +1 -1
  70. package/dist/components/bindable/BindableInputString.d.ts +1 -1
  71. package/dist/components/bindable/BindableInputString.d.ts.map +1 -1
  72. package/dist/components/bindable/BindableInputTyped.d.ts +1 -1
  73. package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
  74. package/dist/components/bindable/BindableInputTypedLegacy.d.ts +1 -1
  75. package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
  76. package/dist/components/bindable/BindableRadio.d.ts +1 -1
  77. package/dist/components/bindable/BindableRadio.d.ts.map +1 -1
  78. package/dist/components/bindable/BindableSelect.d.ts +1 -1
  79. package/dist/components/bindable/BindableSelect.d.ts.map +1 -1
  80. package/dist/components/bindable/BindableTextarea.d.ts +1 -1
  81. package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
  82. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts +1 -1
  83. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  84. package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -1
  85. package/dist/components/library/RichTextEditor/contentTree.js +2 -1
  86. package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts +1 -1
  87. package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts.map +1 -1
  88. package/dist/defaultConfig.d.ts.map +1 -1
  89. package/dist/defaultConfig.js +0 -1
  90. package/dist/devBanner.d.ts +4 -0
  91. package/dist/devBanner.d.ts.map +1 -0
  92. package/dist/devBanner.js +50 -0
  93. package/dist/docInit.d.ts +16 -0
  94. package/dist/docInit.d.ts.map +1 -0
  95. package/dist/docInit.js +54 -0
  96. package/dist/env/droppedCoreEnvKeys.d.ts +5 -0
  97. package/dist/env/droppedCoreEnvKeys.d.ts.map +1 -0
  98. package/dist/env/droppedCoreEnvKeys.js +9 -0
  99. package/dist/env/getEnvSchemas.d.ts +1 -1
  100. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  101. package/dist/env/getEnvSchemas.js +21 -22
  102. package/dist/env/registerEnvSchemas.d.ts +13 -0
  103. package/dist/env/registerEnvSchemas.d.ts.map +1 -0
  104. package/dist/env/registerEnvSchemas.js +23 -0
  105. package/dist/frameworkConfigSchema.d.ts +11 -2
  106. package/dist/frameworkConfigSchema.d.ts.map +1 -1
  107. package/dist/frameworkConfigSchema.js +14 -2
  108. package/dist/getUserConfig.d.ts.map +1 -1
  109. package/dist/getUserConfig.js +7 -2
  110. package/dist/headChildren.d.ts +2 -0
  111. package/dist/headChildren.d.ts.map +1 -0
  112. package/dist/headChildren.js +16 -0
  113. package/dist/hydrate/hydrate.d.ts.map +1 -1
  114. package/dist/hydrate/hydrate.js +23 -19
  115. package/dist/hydrate/renderHydrationMismatchBanner.d.ts +1 -0
  116. package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +1 -1
  117. package/dist/hydrate/renderHydrationMismatchBanner.js +11 -63
  118. package/dist/indexInner.d.ts +5 -1
  119. package/dist/indexInner.d.ts.map +1 -1
  120. package/dist/indexInner.js +5 -1
  121. package/dist/jsxRuntime.d.ts +1 -1
  122. package/dist/jsxRuntime.d.ts.map +1 -1
  123. package/dist/jsxRuntime.js +9 -7
  124. package/dist/jsxRuntimeSignals.d.ts +8 -4
  125. package/dist/jsxRuntimeSignals.d.ts.map +1 -1
  126. package/dist/jsxRuntimeSignals.js +8 -6
  127. package/dist/nbsp.d.ts +2 -2
  128. package/dist/nbsp.d.ts.map +1 -1
  129. package/dist/rawHtml/filterContentNode.d.ts.map +1 -1
  130. package/dist/rawHtml/filterContentNode.js +3 -1
  131. package/dist/render/HeadData.d.ts +1 -0
  132. package/dist/render/HeadData.d.ts.map +1 -1
  133. package/dist/render/addImportMap.d.ts.map +1 -1
  134. package/dist/render/addImportMap.js +1 -0
  135. package/dist/render/contentNodeToHtml.d.ts.map +1 -1
  136. package/dist/render/contentNodeToHtml.js +2 -1
  137. package/dist/render/contentToHtml.d.ts.map +1 -1
  138. package/dist/render/contentToHtml.js +3 -1
  139. package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
  140. package/dist/render/contentTreeToRenderingTree.js +5 -1
  141. package/dist/render/processHead.d.ts.map +1 -1
  142. package/dist/render/processHead.js +27 -11
  143. package/dist/render/readDocInitScript.d.ts +3 -0
  144. package/dist/render/readDocInitScript.d.ts.map +1 -0
  145. package/dist/render/readDocInitScript.js +15 -0
  146. package/dist/render/rootToHtmlDev.d.ts.map +1 -1
  147. package/dist/routing/Group.d.ts +1 -1
  148. package/dist/routing/Group.d.ts.map +1 -1
  149. package/dist/routing/MatchedRoute.d.ts +1 -1
  150. package/dist/routing/MatchedRoute.d.ts.map +1 -1
  151. package/dist/settings.d.ts +3 -0
  152. package/dist/settings.d.ts.map +1 -1
  153. package/dist/settings.js +4 -0
  154. package/dist/style/styleContentSxy.d.ts.map +1 -1
  155. package/dist/style/styleContentSxy.js +6 -1
  156. package/dist/testing/installTestDocInit.d.ts +2 -0
  157. package/dist/testing/installTestDocInit.d.ts.map +1 -0
  158. package/dist/testing/installTestDocInit.js +6 -0
  159. package/dist/throwError.d.ts.map +1 -1
  160. package/dist/throwError.js +4 -1
  161. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  162. package/dist/update/integrateUpdateVdom.js +42 -4
  163. package/package.json +2 -1
  164. package/readme.md +2 -135
  165. package/types/assets.d.ts +21 -0
  166. package/types/index.d.ts +24 -29
  167. package/types/jsx/html.d.ts +0 -1
  168. package/types/jsx/html.global.d.ts +0 -1
  169. package/types/jsx/html.values.d.ts +0 -1
  170. package/types/jsx/jsx.d.ts +8 -8
  171. package/vendor/manifest.json +2 -2
@@ -0,0 +1,21 @@
1
+ //// Importing a stylesheet gives the url of the compiled file, inserted at build. A string so the
2
+ //// value is a valid ContentNode and can be passed as children: `<Stylesheet>{globalStyles}</Stylesheet>`
3
+ //// No import or export in this file: as a script these are ambient declarations, where in a
4
+ //// module they would be augmentations, which cannot add exports
5
+
6
+ declare module '*.css' {
7
+ const href: string
8
+ export default href
9
+ }
10
+ declare module '*.sass' {
11
+ const href: string
12
+ export default href
13
+ }
14
+ declare module '*.scss' {
15
+ const href: string
16
+ export default href
17
+ }
18
+ declare module '*.less' {
19
+ const href: string
20
+ export default href
21
+ }
package/types/index.d.ts CHANGED
@@ -1,6 +1,15 @@
1
1
 
2
2
  /* eslint-disable no-var */
3
3
 
4
+ // the stylesheet module declarations live in a script file: this one is a module, and a
5
+ // `declare module '*.css'` here would augment the app's own '*.css' declaration, which cannot add exports.
6
+ // A reference, as an import of a script file is refused
7
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference
8
+ /// <reference path="./assets.d.ts" />
9
+ // Disposable and Symbol.dispose appear in the shipped types (component using(), browser storage), and in
10
+ // TS 6 that lib comes only with ESNext - so bring it in here rather than require it of every app's lib list
11
+ /// <reference lib="esnext.disposable" />
12
+
4
13
  import { CssNames } from 'tungsten/CssNames.js'
5
14
 
6
15
  //export type { JSX } from './jsx/jsx.d.js'
@@ -12,12 +21,27 @@ declare global {
12
21
  var Scss: (style: TemplateStringsArray) => CssNames
13
22
  var ReactZoneScss: (style: TemplateStringsArray) => CssNames
14
23
  //var Less: (style: TemplateStringsArray) => CssNames
24
+
25
+ //// Rewritten at build by BabelTransformDocInit: fn is inlined into the document head and runs
26
+ //// there before <body>; the call becomes a read of its result (the server gets serverValue).
27
+ //// fn must be self-contained - only globals like document and localStorage exist in the head.
28
+ var DocInit: {
29
+ <T>(fn: () => T, serverValue: NoInfer<T>): T
30
+ (fn: () => void): void
31
+ }
15
32
  }
16
33
 
34
+ //// Apps fill these by declaration merging in their env module: `interface TungstenPrivateEnv extends PrivateEnv {}`.
35
+ //// Empty here on purpose: a base that extended the core env types would collide with an app whose schema
36
+ //// makes a core field required (TS2320). Tungsten's own reads of the core fields come from src/env/Interfaces.ts
37
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
17
38
  declare global {
39
+ interface TungstenPrivateEnv {}
40
+ interface TungstenPublicEnv {}
18
41
  var tungstenPrivateEnv: TungstenPrivateEnv
19
42
  var tungstenPublicEnv: TungstenPublicEnv
20
43
  }
44
+ /* eslint-enable @typescript-eslint/no-empty-object-type */
21
45
 
22
46
  //// In dev, cjsHelpers.ts installs a partial `process` on the browser global so that converted
23
47
  //// CommonJS packages can read process.env.NODE_ENV. It flags itself with __tungstenCjsShim so
@@ -36,33 +60,4 @@ declare global {
36
60
  // var __T_CurrentElement: TElement // eslint-disable-line no-var
37
61
  // }
38
62
 
39
- //// Allow importing css files (treated as exporting the url of the final stylesheet file
40
- //// as a string, which is actually magically inserted by compilation)
41
- //// A string is used so that the value is a valid ContentNode and can be passed as children,
42
- //// e.g. `<Stylesheet>{globalStyles}</Stylesheet>`
43
- //// For some reason these declarions are recognised, but TS complains unless the project folder
44
- //// contains an additional `declare module '*.sass'` entry
45
-
46
- // declare module '*.css'
47
- // declare module '*.sass'
48
- // declare module '*.scss'
49
- // declare module '*.less'
50
-
51
- declare module '*.css' {
52
- const href: string
53
- export default href
54
- }
55
- declare module '*.sass' {
56
- const href: string
57
- export default href
58
- }
59
- declare module '*.scss' {
60
- const href: string
61
- export default href
62
- }
63
- declare module '*.less' {
64
- const href: string
65
- export default href
66
- }
67
-
68
63
  export {}
@@ -967,7 +967,6 @@ export interface LiHTMLAttributes<T, BO extends object> extends HTMLAttributes<T
967
967
  export interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
968
968
  as?: string | undefined;
969
969
  crossOrigin?: 'anonymous' | 'use-credentials' | '' | undefined;
970
- fetchpriority?: 'high' | 'low' | 'auto';
971
970
  href?: string | undefined;
972
971
  hrefLang?: string | undefined;
973
972
  integrity?: string | undefined;
@@ -15,7 +15,6 @@ interface WheelEvent extends Event { }
15
15
  interface EventTarget { }
16
16
  interface Document { }
17
17
  interface DataTransfer { }
18
- interface StyleMedia { }
19
18
 
20
19
  interface Element { }
21
20
  interface DocumentFragment { }
@@ -7,7 +7,6 @@ export type Booleanish = boolean | 'true' | 'false'
7
7
  // ----------------------------------------------------------------------
8
8
 
9
9
  export interface AbstractView {
10
- styleMedia: StyleMedia;
11
10
  document: Document;
12
11
  }
13
12
 
@@ -1,5 +1,5 @@
1
1
 
2
- import type { ContentNode, ContentNodeComponent } from 'tungsten/ContentNode.js'
2
+ import type { ContentNode, ContentNodeElement, ContentNodeType } from 'tungsten/ContentNode.js'
3
3
  import { TungstenBaseComponent } from 'tungsten/Components.jsx'
4
4
  import type { FunctionComponent } from 'tungsten/FunctionComponent.js'
5
5
  import type { TungstenRef } from 'tungsten/createRef.js'
@@ -324,16 +324,16 @@ export interface TungstenIntrinsicElements {
324
324
  view: SVGProps<SVGViewElement>;
325
325
  }
326
326
 
327
- type IntrinsicElement = TungstenIntrinsicElements[keyof TungstenIntrinsicElements]
328
-
329
- type TungstenElementType = string | JSXElementConstructor<any>;
330
- export type TungstenElement = IntrinsicElement | ContentNodeComponent
331
- export interface TungstenElementAttributesProperty { props: {}; } // eslint-disable-line @typescript-eslint/ban-types
332
- export interface TungstenElementChildrenAttribute { children: {}; } // eslint-disable-line @typescript-eslint/ban-types
327
+ export type TungstenElement = ContentNodeElement
328
+ export interface TungstenElementAttributesProperty { props: {}; } // eslint-disable-line @typescript-eslint/no-empty-object-type
329
+ export interface TungstenElementChildrenAttribute { children: {}; } // eslint-disable-line @typescript-eslint/no-empty-object-type
333
330
 
334
331
  declare global {
335
332
  namespace JSX {
336
- export type Element = ContentNode // ContentNode allows an array. Use Core because Element is exclusive of an array of Elements
333
+ export type Element = ContentNodeElement // every JSX expression is an element node - a fragment included
334
+ // what may stand as a tag. Declared (TS 5.1+) so a component's return type is checked against
335
+ // ContentNode through its own signature, not against Element
336
+ export type ElementType = ContentNodeType
337
337
  export interface ElementAttributesProperty extends TungstenElementAttributesProperty {}
338
338
  export interface ElementChildrenAttribute extends TungstenElementChildrenAttribute {}
339
339
  export type ElementClass = TungstenBaseComponent<any, any> | FunctionComponent<any, any>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "lockfile": {
3
- "size": 246952,
4
- "mtimeMs": 1788803027627.8281
3
+ "size": 247038,
4
+ "mtimeMs": 1789221974883.9106
5
5
  },
6
6
  "specifiers": {
7
7
  "@babel/core": "babel-core",