@stencil/core 2.9.0-0 → 2.11.0

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 (71) hide show
  1. package/cli/index.cjs +14 -3
  2. package/cli/index.js +14 -3
  3. package/cli/package.json +1 -1
  4. package/compiler/lib.dom.d.ts +263 -648
  5. package/compiler/lib.dom.iterable.d.ts +1 -5
  6. package/compiler/lib.es2015.core.d.ts +2 -2
  7. package/compiler/lib.es2015.iterable.d.ts +1 -1
  8. package/compiler/lib.es2015.symbol.wellknown.d.ts +10 -10
  9. package/compiler/lib.es2018.asynciterable.d.ts +1 -1
  10. package/compiler/lib.es2020.bigint.d.ts +1 -1
  11. package/compiler/lib.es2020.intl.d.ts +6 -7
  12. package/compiler/lib.es2020.symbol.wellknown.d.ts +1 -1
  13. package/compiler/lib.es2021.d.ts +24 -0
  14. package/compiler/lib.es2021.full.d.ts +25 -0
  15. package/compiler/lib.es2021.promise.d.ts +43 -0
  16. package/compiler/lib.es2021.string.d.ts +35 -0
  17. package/compiler/lib.es2021.weakref.d.ts +75 -0
  18. package/compiler/lib.es5.d.ts +9 -9
  19. package/compiler/lib.esnext.d.ts +1 -4
  20. package/compiler/lib.esnext.promise.d.ts +26 -26
  21. package/compiler/lib.esnext.string.d.ts +18 -18
  22. package/compiler/lib.esnext.weakref.d.ts +58 -58
  23. package/compiler/lib.webworker.d.ts +98 -153
  24. package/compiler/lib.webworker.iterable.d.ts +1 -1
  25. package/compiler/package.json +1 -1
  26. package/compiler/stencil.js +762 -747
  27. package/compiler/stencil.min.js +2 -2
  28. package/dependencies.json +6 -1
  29. package/dev-server/client/index.js +1 -1
  30. package/dev-server/client/package.json +1 -1
  31. package/dev-server/connector.html +2 -2
  32. package/dev-server/index.js +1 -1
  33. package/dev-server/package.json +1 -1
  34. package/dev-server/server-process.js +2 -2
  35. package/internal/app-data/package.json +1 -1
  36. package/internal/client/css-shim.js +1 -1
  37. package/internal/client/dom.js +1 -1
  38. package/internal/client/index.js +119 -102
  39. package/internal/client/package.json +1 -1
  40. package/internal/client/patch-browser.js +1 -1
  41. package/internal/client/patch-esm.js +1 -1
  42. package/internal/client/shadow-css.js +9 -10
  43. package/internal/hydrate/index.js +44 -40
  44. package/internal/hydrate/package.json +1 -1
  45. package/internal/hydrate/shadow-css.js +59 -62
  46. package/internal/index.js +1 -0
  47. package/internal/package.json +1 -1
  48. package/internal/stencil-private.d.ts +38 -0
  49. package/internal/stencil-public-compiler.d.ts +5 -2
  50. package/internal/testing/index.js +54 -47
  51. package/internal/testing/package.json +1 -1
  52. package/internal/testing/shadow-css.js +54 -57
  53. package/mock-doc/index.cjs +4 -1
  54. package/mock-doc/index.d.ts +7 -6
  55. package/mock-doc/index.js +4 -1
  56. package/mock-doc/package.json +1 -1
  57. package/package.json +13 -5
  58. package/readme.md +2 -2
  59. package/screenshot/index.js +1 -1
  60. package/screenshot/package.json +1 -1
  61. package/sys/node/index.js +2 -2
  62. package/sys/node/package.json +1 -1
  63. package/sys/node/worker.js +1 -1
  64. package/testing/index.js +9 -5
  65. package/testing/mocks.d.ts +1 -5
  66. package/testing/package.json +1 -1
  67. package/testing/testing-sys.d.ts +6 -1
  68. package/screenshot/index.js.map +0 -1
  69. package/sys/deno/index.js +0 -1791
  70. package/sys/deno/node-compat.js +0 -2654
  71. package/sys/deno/worker.js +0 -44
@@ -1,10 +1,10 @@
1
- const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColonHostRe = new RegExp("(-shadowcsshost" + _parenSuffix, "gim"), _cssColonHostContextRe = new RegExp("(-shadowcsscontext" + _parenSuffix, "gim"), _cssColonSlottedRe = new RegExp("(-shadowcssslotted" + _parenSuffix, "gim"), _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/, _shadowDOMSelectorsRe = [ /::shadow/g, /::content/g ], _polyfillHostRe = /-shadowcsshost/gim, _colonHostRe = /:host/gim, _colonSlottedRe = /::slotted/gim, _colonHostContextRe = /:host-context/gim, _commentRe = /\/\*\s*[\s\S]*?\*\//g, _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g, _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g, _curlyRe = /([{}])/g, processRules = (e, t) => {
2
- const s = escapeBlocks(e);
3
- let o = 0;
4
- return s.escapedString.replace(_ruleRe, ((...e) => {
1
+ const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColonHostRe = new RegExp("(-shadowcsshost" + _parenSuffix, "gim"), _cssColonHostContextRe = new RegExp("(-shadowcsscontext" + _parenSuffix, "gim"), _cssColonSlottedRe = new RegExp("(-shadowcssslotted" + _parenSuffix, "gim"), _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/, _shadowDOMSelectorsRe = [ /::shadow/g, /::content/g ], _polyfillHostRe = /-shadowcsshost/gim, _colonHostRe = /:host/gim, _colonSlottedRe = /::slotted/gim, _colonHostContextRe = /:host-context/gim, _commentRe = /\/\*\s*[\s\S]*?\*\//g, _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g, _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g, _curlyRe = /([{}])/g, _selectorPartsRe = /(^.*?[^\\])??((:+)(.*)|$)/, processRules = (e, t) => {
2
+ const o = escapeBlocks(e);
3
+ let s = 0;
4
+ return o.escapedString.replace(_ruleRe, ((...e) => {
5
5
  const c = e[2];
6
6
  let r = "", n = e[4], l = "";
7
- n && n.startsWith("{%BLOCK%") && (r = s.blocks[o++], n = n.substring("%BLOCK%".length + 1),
7
+ n && n.startsWith("{%BLOCK%") && (r = o.blocks[s++], n = n.substring("%BLOCK%".length + 1),
8
8
  l = "{");
9
9
  const a = t({
10
10
  selector: c,
@@ -13,111 +13,108 @@ const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColo
13
13
  return `${e[1]}${a.selector}${e[3]}${l}${a.content}${n}`;
14
14
  }));
15
15
  }, escapeBlocks = e => {
16
- const t = e.split(_curlyRe), s = [], o = [];
16
+ const t = e.split(_curlyRe), o = [], s = [];
17
17
  let c = 0, r = [];
18
18
  for (let e = 0; e < t.length; e++) {
19
19
  const n = t[e];
20
- "}" === n && c--, c > 0 ? r.push(n) : (r.length > 0 && (o.push(r.join("")), s.push("%BLOCK%"),
21
- r = []), s.push(n)), "{" === n && c++;
20
+ "}" === n && c--, c > 0 ? r.push(n) : (r.length > 0 && (s.push(r.join("")), o.push("%BLOCK%"),
21
+ r = []), o.push(n)), "{" === n && c++;
22
22
  }
23
- return r.length > 0 && (o.push(r.join("")), s.push("%BLOCK%")), {
24
- escapedString: s.join(""),
25
- blocks: o
23
+ return r.length > 0 && (s.push(r.join("")), o.push("%BLOCK%")), {
24
+ escapedString: o.join(""),
25
+ blocks: s
26
26
  };
27
- }, convertColonRule = (e, t, s) => e.replace(t, ((...e) => {
27
+ }, convertColonRule = (e, t, o) => e.replace(t, ((...e) => {
28
28
  if (e[2]) {
29
- const t = e[2].split(","), o = [];
29
+ const t = e[2].split(","), s = [];
30
30
  for (let c = 0; c < t.length; c++) {
31
31
  const r = t[c].trim();
32
32
  if (!r) break;
33
- o.push(s("-shadowcsshost-no-combinator", r, e[3]));
33
+ s.push(o("-shadowcsshost-no-combinator", r, e[3]));
34
34
  }
35
- return o.join(",");
35
+ return s.join(",");
36
36
  }
37
37
  return "-shadowcsshost-no-combinator" + e[3];
38
- })), colonHostPartReplacer = (e, t, s) => e + t.replace("-shadowcsshost", "") + s, colonHostContextPartReplacer = (e, t, s) => t.indexOf("-shadowcsshost") > -1 ? colonHostPartReplacer(e, t, s) : e + t + s + ", " + t + " " + e + s, scopeSelectors = (e, t, s, o, c) => processRules(e, (e => {
38
+ })), colonHostPartReplacer = (e, t, o) => e + t.replace("-shadowcsshost", "") + o, colonHostContextPartReplacer = (e, t, o) => t.indexOf("-shadowcsshost") > -1 ? colonHostPartReplacer(e, t, o) : e + t + o + ", " + t + " " + e + o, injectScopingSelector = (e, t) => e.replace(_selectorPartsRe, ((e, o = "", s, c = "", r = "") => o + t + c + r)), scopeSelectors = (e, t, o, s, c) => processRules(e, (e => {
39
39
  let c = e.selector, r = e.content;
40
- return "@" !== e.selector[0] ? c = ((e, t, s, o) => e.split(",").map((e => o && e.indexOf("." + o) > -1 ? e.trim() : ((e, t) => !(e => (e = e.replace(/\[/g, "\\[").replace(/\]/g, "\\]"),
41
- new RegExp("^(" + e + ")([>\\s~+[.,{:][\\s\\S]*)?$", "m")))(t).test(e))(e, t) ? ((e, t, s) => {
42
- const o = "." + (t = t.replace(/\[is=([^\]]*)\]/g, ((e, ...t) => t[0]))), c = e => {
40
+ return "@" !== e.selector[0] ? c = ((e, t, o, s) => e.split(",").map((e => s && e.indexOf("." + s) > -1 ? e.trim() : ((e, t) => !(e => (e = e.replace(/\[/g, "\\[").replace(/\]/g, "\\]"),
41
+ new RegExp("^(" + e + ")([>\\s~+[.,{:][\\s\\S]*)?$", "m")))(t).test(e))(e, t) ? ((e, t, o) => {
42
+ const s = "." + (t = t.replace(/\[is=([^\]]*)\]/g, ((e, ...t) => t[0]))), c = e => {
43
43
  let c = e.trim();
44
44
  if (!c) return "";
45
- if (e.indexOf("-shadowcsshost-no-combinator") > -1) c = ((e, t, s) => {
45
+ if (e.indexOf("-shadowcsshost-no-combinator") > -1) c = ((e, t, o) => {
46
46
  if (_polyfillHostRe.lastIndex = 0, _polyfillHostRe.test(e)) {
47
- const t = `.${s}`;
48
- return e.replace(_polyfillHostNoCombinatorRe, ((e, s) => s.replace(/([^:]*)(:*)(.*)/, ((e, s, o, c) => s + t + o + c)))).replace(_polyfillHostRe, t + " ");
47
+ const t = `.${o}`;
48
+ return e.replace(_polyfillHostNoCombinatorRe, ((e, o) => injectScopingSelector(o, t))).replace(_polyfillHostRe, t + " ");
49
49
  }
50
50
  return t + " " + e;
51
- })(e, t, s); else {
51
+ })(e, t, o); else {
52
52
  const t = e.replace(_polyfillHostRe, "");
53
- if (t.length > 0) {
54
- const e = t.match(/([^:]*)(:*)(.*)/);
55
- e && (c = e[1] + o + e[2] + e[3]);
56
- }
53
+ t.length > 0 && (c = injectScopingSelector(t, s));
57
54
  }
58
55
  return c;
59
56
  }, r = (e => {
60
57
  const t = [];
61
- let s, o = 0;
62
- return s = (e = e.replace(/(\[[^\]]*\])/g, ((e, s) => {
63
- const c = `__ph-${o}__`;
64
- return t.push(s), o++, c;
65
- }))).replace(/(:nth-[-\w]+)(\([^)]+\))/g, ((e, s, c) => {
66
- const r = `__ph-${o}__`;
67
- return t.push(c), o++, s + r;
58
+ let o, s = 0;
59
+ return o = (e = e.replace(/(\[[^\]]*\])/g, ((e, o) => {
60
+ const c = `__ph-${s}__`;
61
+ return t.push(o), s++, c;
62
+ }))).replace(/(:nth-[-\w]+)(\([^)]+\))/g, ((e, o, c) => {
63
+ const r = `__ph-${s}__`;
64
+ return t.push(c), s++, o + r;
68
65
  })), {
69
- content: s,
66
+ content: o,
70
67
  placeholders: t
71
68
  };
72
69
  })(e);
73
70
  let n, l = "", a = 0;
74
- const p = /( |>|\+|~(?!=))\s*/g;
75
- let i = !((e = r.content).indexOf("-shadowcsshost-no-combinator") > -1);
76
- for (;null !== (n = p.exec(e)); ) {
77
- const t = n[1], s = e.slice(a, n.index).trim();
78
- i = i || s.indexOf("-shadowcsshost-no-combinator") > -1, l += `${i ? c(s) : s} ${t} `,
79
- a = p.lastIndex;
71
+ const i = /( |>|\+|~(?!=))\s*/g;
72
+ let p = !((e = r.content).indexOf("-shadowcsshost-no-combinator") > -1);
73
+ for (;null !== (n = i.exec(e)); ) {
74
+ const t = n[1], o = e.slice(a, n.index).trim();
75
+ p = p || o.indexOf("-shadowcsshost-no-combinator") > -1, l += `${p ? c(o) : o} ${t} `,
76
+ a = i.lastIndex;
80
77
  }
81
78
  const h = e.substring(a);
82
- return i = i || h.indexOf("-shadowcsshost-no-combinator") > -1, l += i ? c(h) : h,
79
+ return p = p || h.indexOf("-shadowcsshost-no-combinator") > -1, l += p ? c(h) : h,
83
80
  u = r.placeholders, l.replace(/__ph-(\d+)__/g, ((e, t) => u[+t]));
84
81
  var u;
85
- })(e, t, s).trim() : e.trim())).join(", "))(e.selector, t, s, o) : (e.selector.startsWith("@media") || e.selector.startsWith("@supports") || e.selector.startsWith("@page") || e.selector.startsWith("@document")) && (r = scopeSelectors(e.content, t, s, o)),
82
+ })(e, t, o).trim() : e.trim())).join(", "))(e.selector, t, o, s) : (e.selector.startsWith("@media") || e.selector.startsWith("@supports") || e.selector.startsWith("@page") || e.selector.startsWith("@document")) && (r = scopeSelectors(e.content, t, o, s)),
86
83
  {
87
84
  selector: c.replace(/\s{2,}/g, " ").trim(),
88
85
  content: r
89
86
  };
90
- })), scopeCss = (e, t, s) => {
91
- const o = t + "-h", c = t + "-s", r = e.match(_commentWithHashRe) || [];
87
+ })), scopeCss = (e, t, o) => {
88
+ const s = t + "-h", c = t + "-s", r = e.match(_commentWithHashRe) || [];
92
89
  e = e.replace(_commentRe, "");
93
90
  const n = [];
94
- if (s) {
91
+ if (o) {
95
92
  const t = e => {
96
- const t = `/*!@___${n.length}___*/`, s = `/*!@${e.selector}*/`;
93
+ const t = `/*!@___${n.length}___*/`, o = `/*!@${e.selector}*/`;
97
94
  return n.push({
98
95
  placeholder: t,
99
- comment: s
96
+ comment: o
100
97
  }), e.selector = t + e.selector, e;
101
98
  };
102
99
  e = processRules(e, (e => "@" !== e.selector[0] ? t(e) : e.selector.startsWith("@media") || e.selector.startsWith("@supports") || e.selector.startsWith("@page") || e.selector.startsWith("@document") ? (e.content = processRules(e.content, t),
103
100
  e) : e));
104
101
  }
105
- const l = ((e, t, s, o, c) => {
102
+ const l = ((e, t, o, s, c) => {
106
103
  const r = ((e, t) => {
107
- const s = "." + t + " > ", o = [];
104
+ const o = "." + t + " > ", s = [];
108
105
  return e = e.replace(_cssColonSlottedRe, ((...e) => {
109
106
  if (e[2]) {
110
- const t = e[2].trim(), c = e[3], r = s + t + c;
107
+ const t = e[2].trim(), c = e[3], r = o + t + c;
111
108
  let n = "";
112
109
  for (let t = e[4] - 1; t >= 0; t--) {
113
- const s = e[5][t];
114
- if ("}" === s || "," === s) break;
115
- n = s + n;
110
+ const o = e[5][t];
111
+ if ("}" === o || "," === o) break;
112
+ n = o + n;
116
113
  }
117
114
  const l = n + r, a = `${n.trimRight()}${r.trim()}`;
118
115
  if (l.trim() !== a.trim()) {
119
116
  const e = `${a}, ${l}`;
120
- o.push({
117
+ s.push({
121
118
  orgSelector: l,
122
119
  updatedSelector: e
123
120
  });
@@ -126,18 +123,18 @@ const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColo
126
123
  }
127
124
  return "-shadowcsshost-no-combinator" + e[3];
128
125
  })), {
129
- selectors: o,
126
+ selectors: s,
130
127
  cssText: e
131
128
  };
132
- })(e = (e => convertColonRule(e, _cssColonHostContextRe, colonHostContextPartReplacer))(e = (e => convertColonRule(e, _cssColonHostRe, colonHostPartReplacer))(e = e.replace(_colonHostContextRe, "-shadowcsscontext").replace(_colonHostRe, "-shadowcsshost").replace(_colonSlottedRe, "-shadowcssslotted"))), o);
129
+ })(e = (e => convertColonRule(e, _cssColonHostContextRe, colonHostContextPartReplacer))(e = (e => convertColonRule(e, _cssColonHostRe, colonHostPartReplacer))(e = e.replace(_colonHostContextRe, "-shadowcsscontext").replace(_colonHostRe, "-shadowcsshost").replace(_colonSlottedRe, "-shadowcssslotted"))), s);
133
130
  return e = (e => _shadowDOMSelectorsRe.reduce(((e, t) => e.replace(t, " ")), e))(e = r.cssText),
134
- t && (e = scopeSelectors(e, t, s, o)), {
135
- cssText: (e = (e = e.replace(/-shadowcsshost-no-combinator/g, `.${s}`)).replace(/>\s*\*\s+([^{, ]+)/gm, " $1 ")).trim(),
131
+ t && (e = scopeSelectors(e, t, o, s)), {
132
+ cssText: (e = (e = e.replace(/-shadowcsshost-no-combinator/g, `.${o}`)).replace(/>\s*\*\s+([^{, ]+)/gm, " $1 ")).trim(),
136
133
  slottedSelectors: r.selectors
137
134
  };
138
- })(e, t, o, c);
139
- return e = [ l.cssText, ...r ].join("\n"), s && n.forEach((({placeholder: t, comment: s}) => {
140
- e = e.replace(t, s);
135
+ })(e, t, s, c);
136
+ return e = [ l.cssText, ...r ].join("\n"), o && n.forEach((({placeholder: t, comment: o}) => {
137
+ e = e.replace(t, o);
141
138
  })), l.slottedSelectors.forEach((t => {
142
139
  e = e.replace(t.orgSelector, t.updatedSelector);
143
140
  })), e;
package/internal/index.js CHANGED
@@ -1 +1,2 @@
1
1
  export * from '@stencil/core/internal/client';
2
+ //# sourceMappingURL=default.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/internal",
3
- "version": "2.9.0-0",
3
+ "version": "2.11.0",
4
4
  "description": "Stencil internals only to be imported by the Stencil Compiler. Breaking changes can and will happen at any time.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -1,6 +1,15 @@
1
1
  import { BuildResultsComponentGraph } from '.';
2
2
  import type { BuildEvents, BuildLog, BuildOutput, CompilerBuildResults, CompilerBuildStart, CompilerFsStats, CompilerRequestResponse, CompilerSystem, Config, CopyResults, DevServerConfig, DevServerEditor, Diagnostic, FsWriteOptions, Logger, LoggerTimeSpan, OptimizeCssInput, OptimizeCssOutput, OutputTargetWww, PageReloadStrategy, PrerenderConfig, StyleDoc, LoggerLineUpdater, TaskCommand } from './stencil-public-compiler';
3
3
  import type { ComponentInterface, ListenOptions, ListenTargetOptions, VNode, VNodeData } from './stencil-public-runtime';
4
+ export interface SourceMap {
5
+ file: string;
6
+ mappings: string;
7
+ names: string[];
8
+ sourceRoot?: string;
9
+ sources: string[];
10
+ sourcesContent?: string[];
11
+ version: number;
12
+ }
4
13
  export interface PrintLine {
5
14
  lineIndex: number;
6
15
  lineNumber: number;
@@ -298,6 +307,12 @@ export declare type SourceTarget = 'es5' | 'es2017' | 'latest';
298
307
  export interface BundleEntryInputs {
299
308
  [entryKey: string]: string;
300
309
  }
310
+ /**
311
+ * A note regarding Rollup types:
312
+ * As of this writing, there is no great way to import external types for packages that are directly embedded in the
313
+ * Stencil source. As a result, some types are duplicated here for Rollup that will be used within the codebase.
314
+ * Updates to rollup may require these typings to be updated.
315
+ */
301
316
  export declare type RollupResult = RollupChunkResult | RollupAssetResult;
302
317
  export interface RollupAssetResult {
303
318
  type: 'asset';
@@ -316,7 +331,26 @@ export interface RollupChunkResult {
316
331
  isBrowserLoader: boolean;
317
332
  imports: string[];
318
333
  moduleFormat: ModuleFormat;
334
+ map?: RollupSourceMap;
335
+ }
336
+ export interface RollupSourceMap {
337
+ file: string;
338
+ mappings: string;
339
+ names: string[];
340
+ sources: string[];
341
+ sourcesContent: string[];
342
+ version: number;
343
+ toString(): string;
344
+ toUrl(): string;
319
345
  }
346
+ /**
347
+ * Result of Stencil compressing, mangling, and otherwise 'minifying' JavaScript
348
+ */
349
+ export declare type OptimizeJsResult = {
350
+ output: string;
351
+ diagnostics: Diagnostic[];
352
+ sourceMap?: SourceMap;
353
+ };
320
354
  export interface BundleModule {
321
355
  entryKey: string;
322
356
  rollupResult: RollupChunkResult;
@@ -619,6 +653,7 @@ export interface ComponentCompilerMeta extends ComponentCompilerFeatures {
619
653
  isCollectionDependency: boolean;
620
654
  docs: CompilerJsDoc;
621
655
  jsFilePath: string;
656
+ sourceMapPath: string;
622
657
  listeners: ComponentCompilerListener[];
623
658
  events: ComponentCompilerEvent[];
624
659
  methods: ComponentCompilerMethod[];
@@ -1207,6 +1242,8 @@ export interface Module {
1207
1242
  sourceFilePath: string;
1208
1243
  staticSourceFile: any;
1209
1244
  staticSourceFileText: string;
1245
+ sourceMapPath: string;
1246
+ sourceMapFileText: string;
1210
1247
  hasVdomAttribute: boolean;
1211
1248
  hasVdomClass: boolean;
1212
1249
  hasVdomFunctional: boolean;
@@ -2102,6 +2139,7 @@ export interface CompilerWorkerContext {
2102
2139
  prepareModule(input: string, minifyOpts: any, transpile: boolean, inlineHelpers: boolean): Promise<{
2103
2140
  output: string;
2104
2141
  diagnostics: Diagnostic[];
2142
+ sourceMap?: SourceMap;
2105
2143
  }>;
2106
2144
  prerenderWorker(prerenderRequest: PrerenderUrlRequest): Promise<PrerenderUrlResults>;
2107
2145
  transformCssToEsm(input: TransformCssToEsmInput): Promise<TransformCssToEsmOutput>;
@@ -43,7 +43,7 @@ export interface StencilConfig {
43
43
  * However, it's still common to have styles which should be "global" across all components and the website.
44
44
  * A global CSS file is often useful to set CSS Variables.
45
45
  *
46
- * Additonally, the globalStyle config is can be used to precompile styles with Sass, PostCss, etc.
46
+ * Additonally, the globalStyle config can be used to precompile styles with Sass, PostCss, etc.
47
47
  * Below is an example folder structure containing a webapp's global sass file, named app.css.
48
48
  */
49
49
  globalStyle?: string;
@@ -82,6 +82,10 @@ export interface StencilConfig {
82
82
  * However, either can be added using the plugin array.
83
83
  */
84
84
  plugins?: any[];
85
+ /**
86
+ * Generate js source map files for all bundles
87
+ */
88
+ sourceMap?: boolean;
85
89
  /**
86
90
  * The srcDir config specifies the directory which should contain the source typescript files
87
91
  * for each component. The standard for Stencil apps is to use src, which is the default.
@@ -307,7 +311,6 @@ export interface Config extends StencilConfig {
307
311
  logLevel?: LogLevel;
308
312
  rootDir?: string;
309
313
  packageJsonFilePath?: string;
310
- sourceMap?: boolean;
311
314
  suppressLogs?: boolean;
312
315
  profile?: boolean;
313
316
  tsCompilerOptions?: any;
@@ -582,7 +582,8 @@ const callRender = (e, t, a) => {
582
582
  s.attributeChangedCallback = function(e, t, o) {
583
583
  plt.jmp((() => {
584
584
  const t = a.get(e);
585
- this.hasOwnProperty(t) && (o = this[t], delete this[t]), this[t] = (null !== o || "boolean" != typeof this[t]) && o;
585
+ if (this.hasOwnProperty(t)) o = this[t], delete this[t]; else if (s.hasOwnProperty(t) && "number" == typeof this[t] && this[t] == o) return;
586
+ this[t] = (null !== o || "boolean" != typeof this[t]) && o;
586
587
  }));
587
588
  }, e.observedAttributes = o.filter((([e, t]) => 15 & t[0])).map((([e, o]) => {
588
589
  const s = o[1] || e;
@@ -704,6 +705,14 @@ const callRender = (e, t, a) => {
704
705
  },
705
706
  disconnectedCallback() {
706
707
  disconnectedCallback(this), appData.BUILD.disconnectedCallback && s && s.call(this);
708
+ },
709
+ __attachShadow() {
710
+ exports.supportsShadow ? appData.BUILD.shadowDelegatesFocus ? this.attachShadow({
711
+ mode: "open",
712
+ delegatesFocus: !!(16 & a.$flags$)
713
+ }) : this.attachShadow({
714
+ mode: "open"
715
+ }) : this.shadowRoot = this;
707
716
  }
708
717
  }), e.is = a.$tagName$, proxyComponent(e, a, 3);
709
718
  }, patchCloneNode = e => {
@@ -865,11 +874,7 @@ Object.defineProperty(exports, "Env", {
865
874
  isServer: !0,
866
875
  isTesting: !0
867
876
  }, exports.Context = Context, exports.Fragment = (e, t) => t, exports.Host = Host,
868
- exports.addHostEventListeners = addHostEventListeners, exports.attachShadow = e => {
869
- exports.supportsShadow ? e.attachShadow({
870
- mode: "open"
871
- }) : e.shadowRoot = e;
872
- }, exports.bootstrapLazy = (e, t = {}) => {
877
+ exports.addHostEventListeners = addHostEventListeners, exports.bootstrapLazy = (e, t = {}) => {
873
878
  appData.BUILD.profile && performance.mark && performance.mark("st:app:start"), (() => {
874
879
  if (appData.BUILD.devTools) {
875
880
  const e = win.stencil = win.stencil || {}, t = e.inspect;
@@ -922,47 +927,49 @@ exports.addHostEventListeners = addHostEventListeners, exports.attachShadow = e
922
927
  if (Object.assign(plt, t), plt.$resourcesUrl$ = new URL(t.resourcesUrl || "./", doc.baseURI).href,
923
928
  appData.BUILD.asyncQueue && t.syncQueue && (plt.$flags$ |= 4), appData.BUILD.hydrateClientSide && (plt.$flags$ |= 2),
924
929
  appData.BUILD.hydrateClientSide && appData.BUILD.shadowDom) for (;m < d.length; m++) registerStyle(d[m].getAttribute("sty-id"), d[m].innerHTML.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{"));
925
- e.map((e => e[1].map((a => {
926
- const l = {
927
- $flags$: a[0],
928
- $tagName$: a[1],
929
- $members$: a[2],
930
- $listeners$: a[3]
931
- };
932
- appData.BUILD.member && (l.$members$ = a[2]), appData.BUILD.hostListener && (l.$listeners$ = a[3]),
933
- appData.BUILD.reflect && (l.$attrsToReflect$ = []), appData.BUILD.watchCallback && (l.$watchers$ = {}),
934
- appData.BUILD.shadowDom && !exports.supportsShadow && 1 & l.$flags$ && (l.$flags$ |= 8);
935
- const r = appData.BUILD.transformTagName && t.transformTagName ? t.transformTagName(l.$tagName$) : l.$tagName$, p = class extends HTMLElement {
936
- constructor(e) {
937
- super(e), registerHost(e = this, l), appData.BUILD.shadowDom && 1 & l.$flags$ && (exports.supportsShadow ? appData.BUILD.shadowDelegatesFocus ? e.attachShadow({
938
- mode: "open",
939
- delegatesFocus: !!(16 & l.$flags$)
940
- }) : e.attachShadow({
941
- mode: "open"
942
- }) : appData.BUILD.hydrateServerSide || "shadowRoot" in e || (e.shadowRoot = e)),
943
- appData.BUILD.slotChildNodesFix && patchChildSlotNodes(e, l);
944
- }
945
- connectedCallback() {
946
- c && (clearTimeout(c), c = null), $ ? i.push(this) : plt.jmp((() => connectedCallback(this)));
947
- }
948
- disconnectedCallback() {
949
- plt.jmp((() => disconnectedCallback(this)));
950
- }
951
- componentOnReady() {
952
- return getHostRef(this).$onReadyPromise$;
953
- }
954
- };
955
- appData.BUILD.cloneNodeFix && patchCloneNode(p.prototype), appData.BUILD.appendChildSlotFix && patchSlotAppendChild(p.prototype),
956
- appData.BUILD.hotModuleReplacement && (p.prototype["s-hmr"] = function(e) {
957
- ((e, t, a) => {
958
- const o = getHostRef(e);
959
- o.$flags$ = 1, e["s-hmr-load"] = () => {
960
- delete e["s-hmr-load"];
961
- }, initializeComponent(e, o, t);
962
- })(this, l);
963
- }), appData.BUILD.scopedSlotTextContentFix && patchTextContent(p.prototype, l),
964
- l.$lazyBundleId$ = e[0], s.includes(r) || n.get(r) || (o.push(r), n.define(r, proxyComponent(p, l, 1)));
965
- })))), appData.BUILD.invisiblePrehydration && (appData.BUILD.hydratedClass || appData.BUILD.hydratedAttribute) && (p.innerHTML = o + "{visibility:hidden}.hydrated{visibility:inherit}",
930
+ e.map((e => {
931
+ e[1].map((a => {
932
+ const l = {
933
+ $flags$: a[0],
934
+ $tagName$: a[1],
935
+ $members$: a[2],
936
+ $listeners$: a[3]
937
+ };
938
+ appData.BUILD.member && (l.$members$ = a[2]), appData.BUILD.hostListener && (l.$listeners$ = a[3]),
939
+ appData.BUILD.reflect && (l.$attrsToReflect$ = []), appData.BUILD.watchCallback && (l.$watchers$ = {}),
940
+ appData.BUILD.shadowDom && !exports.supportsShadow && 1 & l.$flags$ && (l.$flags$ |= 8);
941
+ const r = appData.BUILD.transformTagName && t.transformTagName ? t.transformTagName(l.$tagName$) : l.$tagName$, p = class extends HTMLElement {
942
+ constructor(e) {
943
+ super(e), registerHost(e = this, l), appData.BUILD.shadowDom && 1 & l.$flags$ && (exports.supportsShadow ? appData.BUILD.shadowDelegatesFocus ? e.attachShadow({
944
+ mode: "open",
945
+ delegatesFocus: !!(16 & l.$flags$)
946
+ }) : e.attachShadow({
947
+ mode: "open"
948
+ }) : appData.BUILD.hydrateServerSide || "shadowRoot" in e || (e.shadowRoot = e)),
949
+ appData.BUILD.slotChildNodesFix && patchChildSlotNodes(e, l);
950
+ }
951
+ connectedCallback() {
952
+ c && (clearTimeout(c), c = null), $ ? i.push(this) : plt.jmp((() => connectedCallback(this)));
953
+ }
954
+ disconnectedCallback() {
955
+ plt.jmp((() => disconnectedCallback(this)));
956
+ }
957
+ componentOnReady() {
958
+ return getHostRef(this).$onReadyPromise$;
959
+ }
960
+ };
961
+ appData.BUILD.cloneNodeFix && patchCloneNode(p.prototype), appData.BUILD.appendChildSlotFix && patchSlotAppendChild(p.prototype),
962
+ appData.BUILD.hotModuleReplacement && (p.prototype["s-hmr"] = function(e) {
963
+ ((e, t, a) => {
964
+ const o = getHostRef(e);
965
+ o.$flags$ = 1, e["s-hmr-load"] = () => {
966
+ delete e["s-hmr-load"];
967
+ }, initializeComponent(e, o, t);
968
+ })(this, l);
969
+ }), appData.BUILD.scopedSlotTextContentFix && patchTextContent(p.prototype, l),
970
+ l.$lazyBundleId$ = e[0], s.includes(r) || n.get(r) || (o.push(r), n.define(r, proxyComponent(p, l, 1)));
971
+ }));
972
+ })), appData.BUILD.invisiblePrehydration && (appData.BUILD.hydratedClass || appData.BUILD.hydratedAttribute) && (p.innerHTML = o + "{visibility:hidden}.hydrated{visibility:inherit}",
966
973
  p.setAttribute("data-styles", ""), l.insertBefore(p, r ? r.nextSibling : l.firstChild)),
967
974
  $ = !1, i.length ? i.map((e => e.connectedCallback())) : appData.BUILD.profile ? plt.jmp((() => c = setTimeout(appDidLoad, 30, "timeout"))) : plt.jmp((() => c = setTimeout(appDidLoad, 30))),
968
975
  a();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/internal/testing",
3
- "version": "2.9.0-0",
3
+ "version": "2.11.0",
4
4
  "description": "Stencil internal testing platform to be imported by the Stencil Compiler. Breaking changes can and will happen at any time.",
5
5
  "main": "./index.js",
6
6
  "private": true