@rindo/core 2.18.0 → 2.22.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/cli/config-flags.d.ts +33 -21
  2. package/cli/index.cjs +670 -388
  3. package/cli/index.d.ts +3 -0
  4. package/cli/index.js +670 -388
  5. package/cli/package.json +1 -1
  6. package/compiler/lib.dom.d.ts +434 -251
  7. package/compiler/lib.dom.iterable.d.ts +7 -13
  8. package/compiler/lib.es2015.collection.d.ts +62 -1
  9. package/compiler/lib.es2015.promise.d.ts +9 -4
  10. package/compiler/lib.es2015.proxy.d.ts +91 -2
  11. package/compiler/lib.es2015.reflect.d.ts +25 -2
  12. package/compiler/lib.es2015.symbol.wellknown.d.ts +3 -3
  13. package/compiler/lib.es2017.intl.d.ts +16 -1
  14. package/compiler/lib.es2019.d.ts +1 -0
  15. package/compiler/lib.es2019.intl.d.ts +25 -0
  16. package/compiler/lib.es2020.intl.d.ts +31 -6
  17. package/compiler/lib.es2021.intl.d.ts +11 -3
  18. package/compiler/lib.es2022.d.ts +1 -0
  19. package/compiler/lib.es2022.error.d.ts +2 -2
  20. package/compiler/lib.es2022.sharedmemory.d.ts +27 -0
  21. package/compiler/lib.es5.d.ts +39 -14
  22. package/compiler/lib.esnext.intl.d.ts +5 -1
  23. package/compiler/lib.webworker.d.ts +318 -55
  24. package/compiler/lib.webworker.iterable.d.ts +11 -3
  25. package/compiler/package.json +1 -1
  26. package/compiler/rindo.d.ts +3 -25
  27. package/compiler/rindo.js +53912 -51834
  28. package/compiler/rindo.min.js +2 -2
  29. package/compiler/sys/in-memory-fs.d.ts +3 -3
  30. package/compiler/transpile.d.ts +32 -0
  31. package/dependencies.json +3 -1
  32. package/dev-server/client/app-error.d.ts +1 -1
  33. package/dev-server/client/index.d.ts +2 -2
  34. package/dev-server/client/index.js +241 -241
  35. package/dev-server/client/package.json +1 -1
  36. package/dev-server/connector.html +3 -3
  37. package/dev-server/index.d.ts +1 -1
  38. package/dev-server/index.js +2 -2
  39. package/dev-server/open-in-editor-api.js +1 -1
  40. package/dev-server/package.json +1 -1
  41. package/dev-server/server-process.js +1182 -1148
  42. package/dev-server/ws.js +1 -1
  43. package/internal/app-data/package.json +1 -1
  44. package/internal/client/css-shim.js +2 -2
  45. package/internal/client/dom.js +1 -1
  46. package/internal/client/index.js +800 -673
  47. package/internal/client/package.json +1 -1
  48. package/internal/client/patch-browser.js +19 -1
  49. package/internal/client/patch-esm.js +1 -1
  50. package/internal/client/polyfills/css-shim.js +1 -1
  51. package/internal/client/shadow-css.js +1 -1
  52. package/internal/hydrate/index.js +154 -143
  53. package/internal/hydrate/package.json +1 -1
  54. package/internal/hydrate/runner.d.ts +1 -1
  55. package/internal/hydrate/runner.js +106 -106
  56. package/internal/package.json +1 -1
  57. package/internal/rindo-core/index.d.ts +9 -10
  58. package/internal/rindo-private.d.ts +149 -80
  59. package/internal/rindo-public-compiler.d.ts +68 -32
  60. package/internal/rindo-public-docs.d.ts +24 -0
  61. package/internal/rindo-public-runtime.d.ts +79 -7
  62. package/internal/testing/index.js +187 -175
  63. package/internal/testing/package.json +1 -1
  64. package/mock-doc/index.cjs +905 -896
  65. package/mock-doc/index.d.ts +2 -2
  66. package/mock-doc/index.js +905 -896
  67. package/mock-doc/package.json +1 -1
  68. package/package.json +48 -57
  69. package/readme.md +44 -31
  70. package/screenshot/compare/build/p-f4745c2f.entry.js +1 -1
  71. package/screenshot/index.d.ts +1 -1
  72. package/screenshot/index.js +3 -3
  73. package/screenshot/package.json +1 -1
  74. package/screenshot/pixel-match.js +983 -849
  75. package/sys/node/autoprefixer.js +2 -2
  76. package/sys/node/glob.js +1 -1
  77. package/sys/node/index.d.ts +4 -0
  78. package/sys/node/index.js +407 -418
  79. package/sys/node/package.json +1 -1
  80. package/sys/node/prompts.js +1 -1
  81. package/sys/node/worker.js +1 -1
  82. package/testing/index.d.ts +6 -6
  83. package/testing/index.js +1136 -1277
  84. package/testing/jest/jest-config.d.ts +1 -1
  85. package/testing/jest/jest-preprocessor.d.ts +3 -3
  86. package/testing/jest/jest-serializer.d.ts +1 -2
  87. package/testing/matchers/index.d.ts +3 -3
  88. package/testing/mock-fetch.d.ts +1 -1
  89. package/testing/mocks.d.ts +2 -2
  90. package/testing/package.json +1 -1
  91. package/testing/puppeteer/puppeteer-declarations.d.ts +5 -5
  92. package/testing/puppeteer/puppeteer-element.d.ts +2 -2
  93. package/testing/puppeteer/puppeteer-events.d.ts +1 -1
  94. package/testing/testing-logger.d.ts +1 -1
  95. package/testing/testing-utils.d.ts +1 -1
  96. package/testing/testing.d.ts +1 -1
@@ -3,6 +3,85 @@ function createWindowFromHtml(e, t) {
3
3
  return null == r && (r = new MockWindow(e), templateWindows.set(t, r)), cloneWindow(r);
4
4
  }
5
5
 
6
+ function inspectElement(e, t, r) {
7
+ const s = t.children;
8
+ for (let t = 0, n = s.length; t < n; t++) {
9
+ const n = s[t], o = n.nodeName.toLowerCase();
10
+ if (o.includes("-")) {
11
+ const t = e.components.find((e => e.tag === o));
12
+ null != t && (t.count++, r > t.depth && (t.depth = r));
13
+ } else switch (o) {
14
+ case "a":
15
+ const t = collectAttributes(n);
16
+ t.href = n.href, "string" == typeof t.href && (e.anchors.some((e => e.href === t.href)) || e.anchors.push(t));
17
+ break;
18
+
19
+ case "img":
20
+ const r = collectAttributes(n);
21
+ r.src = n.src, "string" == typeof r.src && (e.imgs.some((e => e.src === r.src)) || e.imgs.push(r));
22
+ break;
23
+
24
+ case "link":
25
+ const s = collectAttributes(n);
26
+ s.href = n.href, "string" == typeof s.rel && "stylesheet" === s.rel.toLowerCase() && "string" == typeof s.href && (e.styles.some((e => e.link === s.href)) || (delete s.rel,
27
+ delete s.type, e.styles.push(s)));
28
+ break;
29
+
30
+ case "script":
31
+ const o = collectAttributes(n);
32
+ if (n.hasAttribute("src")) o.src = n.src, "string" == typeof o.src && (e.scripts.some((e => e.src === o.src)) || e.scripts.push(o)); else {
33
+ const t = n.getAttribute("data-rindo-static");
34
+ t && e.staticData.push({
35
+ id: t,
36
+ type: n.getAttribute("type"),
37
+ content: n.textContent
38
+ });
39
+ }
40
+ }
41
+ inspectElement(e, n, ++r);
42
+ }
43
+ }
44
+
45
+ function collectAttributes(e) {
46
+ const t = {}, r = e.attributes;
47
+ for (let e = 0, s = r.length; e < s; e++) {
48
+ const s = r.item(e), n = s.nodeName.toLowerCase();
49
+ if (SKIP_ATTRS.has(n)) continue;
50
+ const o = s.nodeValue;
51
+ "class" === n && "" === o || (t[n] = o);
52
+ }
53
+ return t;
54
+ }
55
+
56
+ function patchDomImplementation(e, t) {
57
+ let r;
58
+ if (null != e.defaultView ? (t.destroyWindow = !0, patchWindow(e.defaultView), r = e.defaultView) : (t.destroyWindow = !0,
59
+ t.destroyDocument = !1, r = new MockWindow(!1)), r.document !== e && (r.document = e),
60
+ e.defaultView !== r && (e.defaultView = r), "function" != typeof e.documentElement.constructor.prototype.getRootNode && (e.createElement("unknown-element").constructor.prototype.getRootNode = getRootNode),
61
+ "function" == typeof e.createEvent) {
62
+ const t = e.createEvent("CustomEvent").constructor;
63
+ r.CustomEvent !== t && (r.CustomEvent = t);
64
+ }
65
+ try {
66
+ e.baseURI;
67
+ } catch (t) {
68
+ Object.defineProperty(e, "baseURI", {
69
+ get() {
70
+ const t = e.querySelector("base[href]");
71
+ return t ? new URL(t.getAttribute("href"), r.location.href).href : r.location.href;
72
+ }
73
+ });
74
+ }
75
+ return r;
76
+ }
77
+
78
+ function getRootNode(e) {
79
+ const t = null != e && !0 === e.composed;
80
+ let r = this;
81
+ for (;null != r.parentNode; ) r = r.parentNode, !0 === t && null == r.parentNode && null != r.host && (r = r.host);
82
+ return r;
83
+ }
84
+
6
85
  function normalizeHydrateOptions(e) {
7
86
  const t = Object.assign({
8
87
  serializeToHtml: !1,
@@ -26,7 +105,7 @@ function mapValidTags(e) {
26
105
  }
27
106
 
28
107
  function generateHydrateResults(e) {
29
- "string" != typeof e.url && (e.url = "https://hydrate-rindojs.web.app/"), "string" != typeof e.buildId && (e.buildId = createHydrateBuildId());
108
+ "string" != typeof e.url && (e.url = "https://rindojs-hydrate.web.app/"), "string" != typeof e.buildId && (e.buildId = createHydrateBuildId());
30
109
  const t = {
31
110
  buildId: e.buildId,
32
111
  diagnostics: [],
@@ -50,7 +129,7 @@ function generateHydrateResults(e) {
50
129
  title: null
51
130
  };
52
131
  try {
53
- const r = new URL(e.url, "https://hydrate-rindojs.web.app/");
132
+ const r = new URL(e.url, "https://rindojs-hydrate.web.app/");
54
133
  t.url = r.href, t.host = r.host, t.hostname = r.hostname, t.href = r.href, t.port = r.port,
55
134
  t.pathname = r.pathname, t.search = r.search, t.hash = r.hash;
56
135
  } catch (e) {
@@ -87,85 +166,6 @@ function runtimeLog(e, t, r) {
87
166
  global.console[t].apply(global.console, [ `[ ${e} ${t} ] `, ...r ]);
88
167
  }
89
168
 
90
- function inspectElement(e, t, r) {
91
- const s = t.children;
92
- for (let t = 0, n = s.length; t < n; t++) {
93
- const n = s[t], o = n.nodeName.toLowerCase();
94
- if (o.includes("-")) {
95
- const t = e.components.find((e => e.tag === o));
96
- null != t && (t.count++, r > t.depth && (t.depth = r));
97
- } else switch (o) {
98
- case "a":
99
- const t = collectAttributes(n);
100
- t.href = n.href, "string" == typeof t.href && (e.anchors.some((e => e.href === t.href)) || e.anchors.push(t));
101
- break;
102
-
103
- case "img":
104
- const r = collectAttributes(n);
105
- r.src = n.src, "string" == typeof r.src && (e.imgs.some((e => e.src === r.src)) || e.imgs.push(r));
106
- break;
107
-
108
- case "link":
109
- const s = collectAttributes(n);
110
- s.href = n.href, "string" == typeof s.rel && "stylesheet" === s.rel.toLowerCase() && "string" == typeof s.href && (e.styles.some((e => e.link === s.href)) || (delete s.rel,
111
- delete s.type, e.styles.push(s)));
112
- break;
113
-
114
- case "script":
115
- const o = collectAttributes(n);
116
- if (n.hasAttribute("src")) o.src = n.src, "string" == typeof o.src && (e.scripts.some((e => e.src === o.src)) || e.scripts.push(o)); else {
117
- const t = n.getAttribute("data-rindo-static");
118
- t && e.staticData.push({
119
- id: t,
120
- type: n.getAttribute("type"),
121
- content: n.textContent
122
- });
123
- }
124
- }
125
- inspectElement(e, n, ++r);
126
- }
127
- }
128
-
129
- function collectAttributes(e) {
130
- const t = {}, r = e.attributes;
131
- for (let e = 0, s = r.length; e < s; e++) {
132
- const s = r.item(e), n = s.nodeName.toLowerCase();
133
- if (SKIP_ATTRS.has(n)) continue;
134
- const o = s.nodeValue;
135
- "class" === n && "" === o || (t[n] = o);
136
- }
137
- return t;
138
- }
139
-
140
- function patchDomImplementation(e, t) {
141
- let r;
142
- if (null != e.defaultView ? (t.destroyWindow = !0, patchWindow(e.defaultView), r = e.defaultView) : (t.destroyWindow = !0,
143
- t.destroyDocument = !1, r = new MockWindow(!1)), r.document !== e && (r.document = e),
144
- e.defaultView !== r && (e.defaultView = r), "function" != typeof e.documentElement.constructor.prototype.getRootNode && (e.createElement("unknown-element").constructor.prototype.getRootNode = getRootNode),
145
- "function" == typeof e.createEvent) {
146
- const t = e.createEvent("CustomEvent").constructor;
147
- r.CustomEvent !== t && (r.CustomEvent = t);
148
- }
149
- try {
150
- e.baseURI;
151
- } catch (t) {
152
- Object.defineProperty(e, "baseURI", {
153
- get() {
154
- const t = e.querySelector("base[href]");
155
- return t ? new URL(t.getAttribute("href"), r.location.href).href : r.location.href;
156
- }
157
- });
158
- }
159
- return r;
160
- }
161
-
162
- function getRootNode(e) {
163
- const t = null != e && !0 === e.composed;
164
- let r = this;
165
- for (;null != r.parentNode; ) r = r.parentNode, !0 === t && null == r.parentNode && null != r.host && (r = r.host);
166
- return r;
167
- }
168
-
169
169
  function renderToString(e, t) {
170
170
  const r = normalizeHydrateOptions(t);
171
171
  return r.serializeToHtml = !0, new Promise((t => {
@@ -381,29 +381,11 @@ function removeScripts(e) {
381
381
  }
382
382
  }
383
383
 
384
- import { MockWindow, cloneWindow, constrainTimeouts, patchWindow, serializeNodeToHtml } from "@rindo/core/mock-doc";
384
+ import { MockWindow, cloneWindow, patchWindow, constrainTimeouts, serializeNodeToHtml } from "@rindo/core/mock-doc";
385
385
 
386
386
  import { hydrateFactory } from "@rindo/core/hydrate-factory";
387
387
 
388
- const templateWindows = new Map, createHydrateBuildId = () => {
389
- let e = "abcdefghijklmnopqrstuvwxyz", t = "";
390
- for (;t.length < 8; ) t += e[Math.floor(Math.random() * e.length)], 1 === t.length && (e += "0123456789");
391
- return t;
392
- }, isPromise = e => !!e && ("object" == typeof e || "function" == typeof e) && "function" == typeof e.then, hasError = e => null != e && 0 !== e.length && e.some((e => "error" === e.level && "runtime" !== e.type)), shouldIgnoreError = e => e === TASK_CANCELED_MSG, TASK_CANCELED_MSG = "task canceled", SKIP_ATTRS = new Set([ "s-id", "c-id" ]), collectUsedSelectors = (e, t) => {
393
- if (null != t && 1 === t.nodeType) {
394
- const r = t.children, s = t.nodeName.toLowerCase();
395
- e.tags.add(s);
396
- const n = t.attributes;
397
- for (let r = 0, s = n.length; r < s; r++) {
398
- const s = n.item(r), o = s.name.toLowerCase();
399
- if (e.attrs.add(o), "class" === o) {
400
- const r = t.classList;
401
- for (let t = 0, s = r.length; t < s; t++) e.classNames.add(r.item(t));
402
- } else "id" === o && e.ids.add(s.value);
403
- }
404
- if (r) for (let t = 0, s = r.length; t < s; t++) collectUsedSelectors(e, r[t]);
405
- }
406
- }, parseCss = (e, t) => {
388
+ const templateWindows = new Map, isPromise = e => !!e && ("object" == typeof e || "function" == typeof e) && "function" == typeof e.then, hasError = e => null != e && 0 !== e.length && e.some((e => "error" === e.level && "runtime" !== e.type)), shouldIgnoreError = e => e === TASK_CANCELED_MSG, TASK_CANCELED_MSG = "task canceled", parseCss = (e, t) => {
407
389
  let r = 1, s = 1;
408
390
  const n = [], o = e => {
409
391
  const t = e.match(/\n/g);
@@ -460,12 +442,12 @@ const templateWindows = new Map, createHydrateBuildId = () => {
460
442
  }, d = () => {
461
443
  let t;
462
444
  const r = [];
463
- for (m(), h(r); e.length && "}" !== e.charAt(0) && (t = w() || A()); ) !1 !== t && (r.push(t),
464
- h(r));
445
+ for (m(), h(r); e.length && "}" !== e.charAt(0) && (t = w() || A()); ) r.push(t),
446
+ h(r);
465
447
  return r;
466
448
  }, m = () => u(/^\s*/), h = e => {
467
449
  let t;
468
- for (e = e || []; t = p(); ) !1 !== t && e.push(t);
450
+ for (e = e || []; t = p(); ) e.push(t);
469
451
  return e;
470
452
  }, p = () => {
471
453
  const t = i();
@@ -500,7 +482,7 @@ const templateWindows = new Map, createHydrateBuildId = () => {
500
482
  const e = [];
501
483
  if (!l()) return a("missing '{'");
502
484
  let t;
503
- for (h(e); t = g(); ) !1 !== t && (e.push(t), h(e));
485
+ for (h(e); t = g(); ) e.push(t), h(e);
504
486
  return c() ? e : a("missing '}'");
505
487
  }, C = () => {
506
488
  let e;
@@ -736,7 +718,21 @@ const templateWindows = new Map, createHydrateBuildId = () => {
736
718
  t += " ";
737
719
  } else t += r;
738
720
  return t;
739
- }, CSS_WS_REG = /\s/, CSS_NEXT_CHAR_REG = /[>\(\)\~\,\+\s]/, CSS_PREV_CHAR_REG = /[>\(\~\,\+]/, removeUnusedStyleText = (e, t, r) => {
721
+ }, CSS_WS_REG = /\s/, CSS_NEXT_CHAR_REG = /[>\(\)\~\,\+\s]/, CSS_PREV_CHAR_REG = /[>\(\~\,\+]/, collectUsedSelectors = (e, t) => {
722
+ if (null != t && 1 === t.nodeType) {
723
+ const r = t.children, s = t.nodeName.toLowerCase();
724
+ e.tags.add(s);
725
+ const n = t.attributes;
726
+ for (let r = 0, s = n.length; r < s; r++) {
727
+ const s = n.item(r), o = s.name.toLowerCase();
728
+ if (e.attrs.add(o), "class" === o) {
729
+ const r = t.classList;
730
+ for (let t = 0, s = r.length; t < s; t++) e.classNames.add(r.item(t));
731
+ } else "id" === o && e.ids.add(s.value);
732
+ }
733
+ if (r) for (let t = 0, s = r.length; t < s; t++) collectUsedSelectors(e, r[t]);
734
+ }
735
+ }, removeUnusedStyleText = (e, t, r) => {
740
736
  try {
741
737
  const s = parseCss(r.innerHTML);
742
738
  if (t.push(...s.diagnostics), hasError(t)) return;
@@ -772,6 +768,10 @@ const templateWindows = new Map, createHydrateBuildId = () => {
772
768
  messageText: e
773
769
  });
774
770
  }
771
+ }, SKIP_ATTRS = new Set([ "s-id", "c-id" ]), createHydrateBuildId = () => {
772
+ let e = "abcdefghijklmnopqrstuvwxyz", t = "";
773
+ for (;t.length < 8; ) t += e[Math.floor(Math.random() * e.length)], 1 === t.length && (e += "0123456789");
774
+ return t;
775
775
  };
776
776
 
777
777
  export { createWindowFromHtml, hydrateDocument, renderToString, serializeDocumentToString };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core/internal",
3
- "version": "2.18.0",
3
+ "version": "2.22.3",
4
4
  "description": "Rindo internals only to be imported by the Rindo Compiler. Breaking changes can and will happen at any time.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -1,9 +1,10 @@
1
+ export type { RindoConfig as Config, PrerenderConfig } from '../rindo-public-compiler';
1
2
  export type {
2
3
  ChildNode,
3
- ComponentOptions,
4
4
  ComponentDidLoad,
5
5
  ComponentDidUpdate,
6
6
  ComponentInterface,
7
+ ComponentOptions,
7
8
  ComponentWillLoad,
8
9
  ComponentWillUpdate,
9
10
  EventEmitter,
@@ -11,42 +12,40 @@ export type {
11
12
  FunctionalComponent,
12
13
  FunctionalUtilities,
13
14
  JSX,
14
- MethodOptions,
15
- ModeStyles,
16
15
  ListenOptions,
17
16
  ListenTargetOptions,
17
+ MethodOptions,
18
+ ModeStyles,
18
19
  PropOptions,
19
20
  QueueApi,
20
21
  RafCallback,
21
22
  VNode,
22
23
  VNodeData,
23
24
  } from '../rindo-public-runtime';
24
-
25
25
  export {
26
26
  Build,
27
27
  Component,
28
28
  Element,
29
+ Env,
29
30
  Event,
31
+ forceUpdate,
32
+ Fragment,
30
33
  getAssetPath,
31
34
  getElement,
32
35
  getMode,
33
36
  getRenderingRef,
34
- Fragment,
35
- forceUpdate,
36
37
  h,
37
38
  Host,
38
- Env,
39
39
  Listen,
40
40
  Method,
41
41
  Prop,
42
42
  readTask,
43
43
  setAssetPath,
44
+ setErrorHandler,
44
45
  setMode,
46
+ setNonce,
45
47
  setPlatformHelpers,
46
48
  State,
47
49
  Watch,
48
50
  writeTask,
49
- setErrorHandler,
50
51
  } from '../rindo-public-runtime';
51
-
52
- export type { RindoConfig as Config, PrerenderConfig } from '../rindo-public-compiler';