@stencil/core 5.0.0-beta.1 → 5.0.0-beta.10
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.
- package/dist/{client-BRu0GtRn.mjs → client-Db2rdxUM.mjs} +34 -13
- package/dist/compiler/browser.d.ts +1 -1
- package/dist/compiler/browser.js +77 -41
- package/dist/compiler/index.d.mts +1 -1
- package/dist/compiler/index.mjs +2 -2
- package/dist/compiler/utils/index.d.mts +1 -1
- package/dist/{compiler-CJG6qvQt.mjs → compiler-PoywOlbq.mjs} +259 -117
- package/dist/declarations/stencil-public-compiler.d.ts +2 -1
- package/dist/{index-DmHmu3y0.d.mts → index-BAP9T4CB.d.mts} +1 -1
- package/dist/{index-BopBfjPu.d.mts → index-BvF31nqP.d.mts} +2 -1
- package/dist/index.mjs +1 -1
- package/dist/jsx-runtime.mjs +1 -1
- package/dist/{node-75gQKkFz.mjs → node-BKtLn2R9.mjs} +1 -1
- package/dist/runtime/client/lazy.js +39 -19
- package/dist/runtime/client/runtime.js +39 -19
- package/dist/runtime/index.js +39 -19
- package/dist/runtime/server/index.mjs +39 -19
- package/dist/sys/node/index.d.mts +1 -1
- package/dist/sys/node/index.mjs +1 -1
- package/dist/sys/node/worker.mjs +2 -2
- package/dist/testing/index.d.mts +2 -1
- package/dist/testing/index.mjs +40 -20
- package/package.json +4 -4
|
@@ -1797,7 +1797,8 @@ interface StencilConfig {
|
|
|
1797
1797
|
* Will generate {@link https://nodejs.org/api/packages.html#packages_exports export map} entry points
|
|
1798
1798
|
* for each component in the build when `true`.
|
|
1799
1799
|
*
|
|
1800
|
-
*
|
|
1800
|
+
* Defaults to `true` for "no-config" projects (no `stencil.config.ts`/`.js` file), and `false`
|
|
1801
|
+
* whenever a config file is present - set this explicitly to opt an existing project in or out.
|
|
1801
1802
|
*/
|
|
1802
1803
|
generateExportMaps?: boolean;
|
|
1803
1804
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Gn as FunctionalComponent, Qn as VNode, Wn as ErrorHandler, Xn as TagTransformer, Yn as ResolutionHandler, Zn as UserBuildConditionals, a as HostElement, l as PropsType, qn as RafCallback, t as ChildType, u as RuntimeRef } from "./index-
|
|
1
|
+
import { Gn as FunctionalComponent, Qn as VNode, Wn as ErrorHandler, Xn as TagTransformer, Yn as ResolutionHandler, Zn as UserBuildConditionals, a as HostElement, l as PropsType, qn as RafCallback, t as ChildType, u as RuntimeRef } from "./index-BvF31nqP.mjs";
|
|
2
2
|
//#region src/client/client-build.d.ts
|
|
3
3
|
declare const Build: UserBuildConditionals;
|
|
4
4
|
//#endregion
|
|
@@ -1784,7 +1784,8 @@ interface StencilConfig {
|
|
|
1784
1784
|
* Will generate {@link https://nodejs.org/api/packages.html#packages_exports export map} entry points
|
|
1785
1785
|
* for each component in the build when `true`.
|
|
1786
1786
|
*
|
|
1787
|
-
*
|
|
1787
|
+
* Defaults to `true` for "no-config" projects (no `stencil.config.ts`/`.js` file), and `false`
|
|
1788
|
+
* whenever a config file is present - set this explicitly to opt an existing project in or out.
|
|
1788
1789
|
*/
|
|
1789
1790
|
generateExportMaps?: boolean;
|
|
1790
1791
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as setErrorHandler, _ as getAssetPath, a as transformTag, b as writeTask, c as Mixin, d as Host, f as h, g as getShadowRoot, h as getElement, i as setTagTransformer, l as getMode, m as getRenderingRef, o as render, p as forceUpdate, s as ReactiveControllerHost, u as setMode, v as setAssetPath, w as Build, x as setPlatformHelpers, y as readTask } from "./client-
|
|
1
|
+
import { C as setErrorHandler, _ as getAssetPath, a as transformTag, b as writeTask, c as Mixin, d as Host, f as h, g as getShadowRoot, h as getElement, i as setTagTransformer, l as getMode, m as getRenderingRef, o as render, p as forceUpdate, s as ReactiveControllerHost, u as setMode, v as setAssetPath, w as Build, x as setPlatformHelpers, y as readTask } from "./client-Db2rdxUM.mjs";
|
|
2
2
|
import { t as Fragment } from "./fragment-Di1hWOC8.mjs";
|
|
3
3
|
//#region src/client/client-decorators.ts
|
|
4
4
|
/**
|
package/dist/jsx-runtime.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __require } from "./rolldown-runtime-BhDjJH2R.mjs";
|
|
2
|
-
import "./client-
|
|
2
|
+
import "./client-Db2rdxUM.mjs";
|
|
3
3
|
import { c as isFunction, f as isString, m as noop, r as flatOne } from "./helpers-Cpp3qc3u.mjs";
|
|
4
4
|
import { $ as catchError, K as normalizePath, X as buildError, Y as TASK_CANCELED_MSG, nt as shouldIgnoreError, rt as isGlob } from "./util-IKfWWLJo.mjs";
|
|
5
5
|
import fs from "node:fs";
|
|
@@ -1983,16 +1983,33 @@ const signalNodeDisposers = /* @__PURE__ */ new WeakMap();
|
|
|
1983
1983
|
const disposeSignalVNode = (vnode) => {
|
|
1984
1984
|
const elm = vnode.$elm$;
|
|
1985
1985
|
if (elm) {
|
|
1986
|
-
|
|
1987
|
-
if (dispose) {
|
|
1988
|
-
dispose();
|
|
1989
|
-
signalNodeDisposers.delete(elm);
|
|
1990
|
-
}
|
|
1986
|
+
disposeTextSignal(elm);
|
|
1991
1987
|
disposeAllSignalAttrs(elm);
|
|
1992
1988
|
}
|
|
1993
1989
|
vnode.$children$?.forEach(disposeSignalVNode);
|
|
1994
1990
|
};
|
|
1995
1991
|
/**
|
|
1992
|
+
* Tear down a text node's signal subscription, if it has one.
|
|
1993
|
+
* @param textNode the text node to unsubscribe
|
|
1994
|
+
*/
|
|
1995
|
+
const disposeTextSignal = (textNode) => {
|
|
1996
|
+
const dispose = signalNodeDisposers.get(textNode);
|
|
1997
|
+
if (dispose) {
|
|
1998
|
+
dispose();
|
|
1999
|
+
signalNodeDisposers.delete(textNode);
|
|
2000
|
+
}
|
|
2001
|
+
};
|
|
2002
|
+
/**
|
|
2003
|
+
* Subscribe a text node to a signal, keeping its `data` in sync on every change.
|
|
2004
|
+
* @param textNode the text node to keep in sync
|
|
2005
|
+
* @param textSig the signal to subscribe to
|
|
2006
|
+
*/
|
|
2007
|
+
const wireTextSignal = (textNode, textSig) => {
|
|
2008
|
+
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
2009
|
+
textNode.data = String(textSig.value);
|
|
2010
|
+
}));
|
|
2011
|
+
};
|
|
2012
|
+
/**
|
|
1996
2013
|
* Create a DOM Node corresponding to one of the children of a given VNode.
|
|
1997
2014
|
*
|
|
1998
2015
|
* @param oldParentVNode the parent VNode from the previous render
|
|
@@ -2014,13 +2031,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
2014
2031
|
if (BUILD.isDev && newVNode.$elm$) consoleDevError(`The JSX ${newVNode.$text$ !== null ? `"${newVNode.$text$}" text` : `"${String(newVNode.$tag$)}" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`);
|
|
2015
2032
|
if (BUILD.vdomText && newVNode.$text$ != null) {
|
|
2016
2033
|
elm = newVNode.$elm$ = win.document.createTextNode(newVNode.$text$);
|
|
2017
|
-
if (BUILD.vdomSignals && newVNode.$signal$)
|
|
2018
|
-
const textSig = newVNode.$signal$;
|
|
2019
|
-
const textNode = elm;
|
|
2020
|
-
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
2021
|
-
textNode.data = String(textSig.value);
|
|
2022
|
-
}));
|
|
2023
|
-
}
|
|
2034
|
+
if (BUILD.vdomSignals && newVNode.$signal$) wireTextSignal(elm, newVNode.$signal$);
|
|
2024
2035
|
} else if (BUILD.slotRelocation && newVNode.$flags$ & VNODE_FLAGS.isSlotReference) {
|
|
2025
2036
|
elm = newVNode.$elm$ = BUILD.isDebug || BUILD.hydrateServerSide ? slotReferenceDebugNode(newVNode) : win.document.createTextNode("");
|
|
2026
2037
|
if (typeof newVNode.$attrs$?.slot === "string") elm["s-sa"] = newVNode.$attrs$.slot;
|
|
@@ -2381,7 +2392,17 @@ const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
|
|
2381
2392
|
else if (BUILD.hydrateClientSide && isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) newVNode.$children$ = oldChildren;
|
|
2382
2393
|
if (BUILD.svg && isSvgMode && tag === "svg") isSvgMode = false;
|
|
2383
2394
|
} else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm["s-cr"])) defaultHolder.parentNode.textContent = text;
|
|
2384
|
-
else if (BUILD.vdomText
|
|
2395
|
+
else if (BUILD.vdomText) {
|
|
2396
|
+
if (BUILD.vdomSignals && newVNode.$signal$) {
|
|
2397
|
+
if (newVNode.$signal$ !== oldVNode.$signal$) {
|
|
2398
|
+
disposeTextSignal(elm);
|
|
2399
|
+
wireTextSignal(elm, newVNode.$signal$);
|
|
2400
|
+
}
|
|
2401
|
+
} else {
|
|
2402
|
+
if (BUILD.vdomSignals && oldVNode.$signal$) disposeTextSignal(elm);
|
|
2403
|
+
if (oldVNode.$text$ !== text) elm.data = text;
|
|
2404
|
+
}
|
|
2405
|
+
}
|
|
2385
2406
|
};
|
|
2386
2407
|
/**
|
|
2387
2408
|
* Component-global information about nodes which are either currently being
|
|
@@ -3988,12 +4009,13 @@ const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector)
|
|
|
3988
4009
|
else return shallowPart.trim();
|
|
3989
4010
|
}).join(", ");
|
|
3990
4011
|
};
|
|
4012
|
+
const isScopableAtRule = (selector) => selector.startsWith("@media") || selector.startsWith("@supports") || selector.startsWith("@page") || selector.startsWith("@document") || selector.startsWith("@layer");
|
|
3991
4013
|
const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
|
|
3992
4014
|
return processRules(cssText, (rule) => {
|
|
3993
4015
|
let selector = rule.selector;
|
|
3994
4016
|
let content = rule.content;
|
|
3995
4017
|
if (rule.selector[0] !== "@") selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
|
|
3996
|
-
else if (
|
|
4018
|
+
else if (isScopableAtRule(rule.selector)) content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector);
|
|
3997
4019
|
return {
|
|
3998
4020
|
selector: selector.replace(/\s{2,}/g, " ").trim(),
|
|
3999
4021
|
content
|
|
@@ -4085,14 +4107,12 @@ const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
|
|
|
4085
4107
|
rule.selector = placeholder + rule.selector;
|
|
4086
4108
|
return rule;
|
|
4087
4109
|
};
|
|
4088
|
-
|
|
4110
|
+
const commentSelectors = (input) => processRules(input, (rule) => {
|
|
4089
4111
|
if (rule.selector[0] !== "@") return processCommentedSelector(rule);
|
|
4090
|
-
|
|
4091
|
-
rule.content = processRules(rule.content, processCommentedSelector);
|
|
4092
|
-
return rule;
|
|
4093
|
-
}
|
|
4112
|
+
if (isScopableAtRule(rule.selector)) rule.content = commentSelectors(rule.content);
|
|
4094
4113
|
return rule;
|
|
4095
4114
|
});
|
|
4115
|
+
cssText = commentSelectors(cssText);
|
|
4096
4116
|
}
|
|
4097
4117
|
const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector);
|
|
4098
4118
|
cssText = [scoped.cssText, ...commentsWithHash].join("\n");
|
|
@@ -1977,16 +1977,33 @@ const signalNodeDisposers = /* @__PURE__ */ new WeakMap();
|
|
|
1977
1977
|
const disposeSignalVNode = (vnode) => {
|
|
1978
1978
|
const elm = vnode.$elm$;
|
|
1979
1979
|
if (elm) {
|
|
1980
|
-
|
|
1981
|
-
if (dispose) {
|
|
1982
|
-
dispose();
|
|
1983
|
-
signalNodeDisposers.delete(elm);
|
|
1984
|
-
}
|
|
1980
|
+
disposeTextSignal(elm);
|
|
1985
1981
|
disposeAllSignalAttrs(elm);
|
|
1986
1982
|
}
|
|
1987
1983
|
vnode.$children$?.forEach(disposeSignalVNode);
|
|
1988
1984
|
};
|
|
1989
1985
|
/**
|
|
1986
|
+
* Tear down a text node's signal subscription, if it has one.
|
|
1987
|
+
* @param textNode the text node to unsubscribe
|
|
1988
|
+
*/
|
|
1989
|
+
const disposeTextSignal = (textNode) => {
|
|
1990
|
+
const dispose = signalNodeDisposers.get(textNode);
|
|
1991
|
+
if (dispose) {
|
|
1992
|
+
dispose();
|
|
1993
|
+
signalNodeDisposers.delete(textNode);
|
|
1994
|
+
}
|
|
1995
|
+
};
|
|
1996
|
+
/**
|
|
1997
|
+
* Subscribe a text node to a signal, keeping its `data` in sync on every change.
|
|
1998
|
+
* @param textNode the text node to keep in sync
|
|
1999
|
+
* @param textSig the signal to subscribe to
|
|
2000
|
+
*/
|
|
2001
|
+
const wireTextSignal = (textNode, textSig) => {
|
|
2002
|
+
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
2003
|
+
textNode.data = String(textSig.value);
|
|
2004
|
+
}));
|
|
2005
|
+
};
|
|
2006
|
+
/**
|
|
1990
2007
|
* Create a DOM Node corresponding to one of the children of a given VNode.
|
|
1991
2008
|
*
|
|
1992
2009
|
* @param oldParentVNode the parent VNode from the previous render
|
|
@@ -2008,13 +2025,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
2008
2025
|
if (BUILD$1.isDev && newVNode.$elm$) consoleDevError(`The JSX ${newVNode.$text$ !== null ? `"${newVNode.$text$}" text` : `"${String(newVNode.$tag$)}" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`);
|
|
2009
2026
|
if (BUILD$1.vdomText && newVNode.$text$ != null) {
|
|
2010
2027
|
elm = newVNode.$elm$ = win.document.createTextNode(newVNode.$text$);
|
|
2011
|
-
if (BUILD$1.vdomSignals && newVNode.$signal$)
|
|
2012
|
-
const textSig = newVNode.$signal$;
|
|
2013
|
-
const textNode = elm;
|
|
2014
|
-
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
2015
|
-
textNode.data = String(textSig.value);
|
|
2016
|
-
}));
|
|
2017
|
-
}
|
|
2028
|
+
if (BUILD$1.vdomSignals && newVNode.$signal$) wireTextSignal(elm, newVNode.$signal$);
|
|
2018
2029
|
} else if (BUILD$1.slotRelocation && newVNode.$flags$ & VNODE_FLAGS.isSlotReference) {
|
|
2019
2030
|
elm = newVNode.$elm$ = BUILD$1.isDebug || BUILD$1.hydrateServerSide ? slotReferenceDebugNode(newVNode) : win.document.createTextNode("");
|
|
2020
2031
|
if (typeof newVNode.$attrs$?.slot === "string") elm["s-sa"] = newVNode.$attrs$.slot;
|
|
@@ -2375,7 +2386,17 @@ const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
|
|
2375
2386
|
else if (BUILD$1.hydrateClientSide && isInitialRender && BUILD$1.updatable && oldChildren !== null && newChildren === null) newVNode.$children$ = oldChildren;
|
|
2376
2387
|
if (BUILD$1.svg && isSvgMode && tag === "svg") isSvgMode = false;
|
|
2377
2388
|
} else if (BUILD$1.vdomText && BUILD$1.slotRelocation && (defaultHolder = elm["s-cr"])) defaultHolder.parentNode.textContent = text;
|
|
2378
|
-
else if (BUILD$1.vdomText
|
|
2389
|
+
else if (BUILD$1.vdomText) {
|
|
2390
|
+
if (BUILD$1.vdomSignals && newVNode.$signal$) {
|
|
2391
|
+
if (newVNode.$signal$ !== oldVNode.$signal$) {
|
|
2392
|
+
disposeTextSignal(elm);
|
|
2393
|
+
wireTextSignal(elm, newVNode.$signal$);
|
|
2394
|
+
}
|
|
2395
|
+
} else {
|
|
2396
|
+
if (BUILD$1.vdomSignals && oldVNode.$signal$) disposeTextSignal(elm);
|
|
2397
|
+
if (oldVNode.$text$ !== text) elm.data = text;
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2379
2400
|
};
|
|
2380
2401
|
/**
|
|
2381
2402
|
* Component-global information about nodes which are either currently being
|
|
@@ -3982,12 +4003,13 @@ const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector)
|
|
|
3982
4003
|
else return shallowPart.trim();
|
|
3983
4004
|
}).join(", ");
|
|
3984
4005
|
};
|
|
4006
|
+
const isScopableAtRule = (selector) => selector.startsWith("@media") || selector.startsWith("@supports") || selector.startsWith("@page") || selector.startsWith("@document") || selector.startsWith("@layer");
|
|
3985
4007
|
const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
|
|
3986
4008
|
return processRules(cssText, (rule) => {
|
|
3987
4009
|
let selector = rule.selector;
|
|
3988
4010
|
let content = rule.content;
|
|
3989
4011
|
if (rule.selector[0] !== "@") selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
|
|
3990
|
-
else if (
|
|
4012
|
+
else if (isScopableAtRule(rule.selector)) content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector);
|
|
3991
4013
|
return {
|
|
3992
4014
|
selector: selector.replace(/\s{2,}/g, " ").trim(),
|
|
3993
4015
|
content
|
|
@@ -4079,14 +4101,12 @@ const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
|
|
|
4079
4101
|
rule.selector = placeholder + rule.selector;
|
|
4080
4102
|
return rule;
|
|
4081
4103
|
};
|
|
4082
|
-
|
|
4104
|
+
const commentSelectors = (input) => processRules(input, (rule) => {
|
|
4083
4105
|
if (rule.selector[0] !== "@") return processCommentedSelector(rule);
|
|
4084
|
-
|
|
4085
|
-
rule.content = processRules(rule.content, processCommentedSelector);
|
|
4086
|
-
return rule;
|
|
4087
|
-
}
|
|
4106
|
+
if (isScopableAtRule(rule.selector)) rule.content = commentSelectors(rule.content);
|
|
4088
4107
|
return rule;
|
|
4089
4108
|
});
|
|
4109
|
+
cssText = commentSelectors(cssText);
|
|
4090
4110
|
}
|
|
4091
4111
|
const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector);
|
|
4092
4112
|
cssText = [scoped.cssText, ...commentsWithHash].join("\n");
|
package/dist/runtime/index.js
CHANGED
|
@@ -1849,16 +1849,33 @@ const signalNodeDisposers = /* @__PURE__ */ new WeakMap();
|
|
|
1849
1849
|
const disposeSignalVNode = (vnode) => {
|
|
1850
1850
|
const elm = vnode.$elm$;
|
|
1851
1851
|
if (elm) {
|
|
1852
|
-
|
|
1853
|
-
if (dispose) {
|
|
1854
|
-
dispose();
|
|
1855
|
-
signalNodeDisposers.delete(elm);
|
|
1856
|
-
}
|
|
1852
|
+
disposeTextSignal(elm);
|
|
1857
1853
|
disposeAllSignalAttrs(elm);
|
|
1858
1854
|
}
|
|
1859
1855
|
vnode.$children$?.forEach(disposeSignalVNode);
|
|
1860
1856
|
};
|
|
1861
1857
|
/**
|
|
1858
|
+
* Tear down a text node's signal subscription, if it has one.
|
|
1859
|
+
* @param textNode the text node to unsubscribe
|
|
1860
|
+
*/
|
|
1861
|
+
const disposeTextSignal = (textNode) => {
|
|
1862
|
+
const dispose = signalNodeDisposers.get(textNode);
|
|
1863
|
+
if (dispose) {
|
|
1864
|
+
dispose();
|
|
1865
|
+
signalNodeDisposers.delete(textNode);
|
|
1866
|
+
}
|
|
1867
|
+
};
|
|
1868
|
+
/**
|
|
1869
|
+
* Subscribe a text node to a signal, keeping its `data` in sync on every change.
|
|
1870
|
+
* @param textNode the text node to keep in sync
|
|
1871
|
+
* @param textSig the signal to subscribe to
|
|
1872
|
+
*/
|
|
1873
|
+
const wireTextSignal = (textNode, textSig) => {
|
|
1874
|
+
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
1875
|
+
textNode.data = String(textSig.value);
|
|
1876
|
+
}));
|
|
1877
|
+
};
|
|
1878
|
+
/**
|
|
1862
1879
|
* Create a DOM Node corresponding to one of the children of a given VNode.
|
|
1863
1880
|
*
|
|
1864
1881
|
* @param oldParentVNode the parent VNode from the previous render
|
|
@@ -1880,13 +1897,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
1880
1897
|
if (BUILD.isDev && newVNode.$elm$) consoleDevError(`The JSX ${newVNode.$text$ !== null ? `"${newVNode.$text$}" text` : `"${String(newVNode.$tag$)}" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`);
|
|
1881
1898
|
if (BUILD.vdomText && newVNode.$text$ != null) {
|
|
1882
1899
|
elm = newVNode.$elm$ = win.document.createTextNode(newVNode.$text$);
|
|
1883
|
-
if (BUILD.vdomSignals && newVNode.$signal$)
|
|
1884
|
-
const textSig = newVNode.$signal$;
|
|
1885
|
-
const textNode = elm;
|
|
1886
|
-
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
1887
|
-
textNode.data = String(textSig.value);
|
|
1888
|
-
}));
|
|
1889
|
-
}
|
|
1900
|
+
if (BUILD.vdomSignals && newVNode.$signal$) wireTextSignal(elm, newVNode.$signal$);
|
|
1890
1901
|
} else if (BUILD.slotRelocation && newVNode.$flags$ & VNODE_FLAGS.isSlotReference) {
|
|
1891
1902
|
elm = newVNode.$elm$ = BUILD.isDebug || BUILD.hydrateServerSide ? slotReferenceDebugNode(newVNode) : win.document.createTextNode("");
|
|
1892
1903
|
if (typeof newVNode.$attrs$?.slot === "string") elm["s-sa"] = newVNode.$attrs$.slot;
|
|
@@ -2247,7 +2258,17 @@ const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
|
|
2247
2258
|
else if (BUILD.hydrateClientSide && isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) newVNode.$children$ = oldChildren;
|
|
2248
2259
|
if (BUILD.svg && isSvgMode && tag === "svg") isSvgMode = false;
|
|
2249
2260
|
} else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm["s-cr"])) defaultHolder.parentNode.textContent = text;
|
|
2250
|
-
else if (BUILD.vdomText
|
|
2261
|
+
else if (BUILD.vdomText) {
|
|
2262
|
+
if (BUILD.vdomSignals && newVNode.$signal$) {
|
|
2263
|
+
if (newVNode.$signal$ !== oldVNode.$signal$) {
|
|
2264
|
+
disposeTextSignal(elm);
|
|
2265
|
+
wireTextSignal(elm, newVNode.$signal$);
|
|
2266
|
+
}
|
|
2267
|
+
} else {
|
|
2268
|
+
if (BUILD.vdomSignals && oldVNode.$signal$) disposeTextSignal(elm);
|
|
2269
|
+
if (oldVNode.$text$ !== text) elm.data = text;
|
|
2270
|
+
}
|
|
2271
|
+
}
|
|
2251
2272
|
};
|
|
2252
2273
|
/**
|
|
2253
2274
|
* Component-global information about nodes which are either currently being
|
|
@@ -3854,12 +3875,13 @@ const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector)
|
|
|
3854
3875
|
else return shallowPart.trim();
|
|
3855
3876
|
}).join(", ");
|
|
3856
3877
|
};
|
|
3878
|
+
const isScopableAtRule = (selector) => selector.startsWith("@media") || selector.startsWith("@supports") || selector.startsWith("@page") || selector.startsWith("@document") || selector.startsWith("@layer");
|
|
3857
3879
|
const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
|
|
3858
3880
|
return processRules(cssText, (rule) => {
|
|
3859
3881
|
let selector = rule.selector;
|
|
3860
3882
|
let content = rule.content;
|
|
3861
3883
|
if (rule.selector[0] !== "@") selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
|
|
3862
|
-
else if (
|
|
3884
|
+
else if (isScopableAtRule(rule.selector)) content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector);
|
|
3863
3885
|
return {
|
|
3864
3886
|
selector: selector.replace(/\s{2,}/g, " ").trim(),
|
|
3865
3887
|
content
|
|
@@ -3951,14 +3973,12 @@ const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
|
|
|
3951
3973
|
rule.selector = placeholder + rule.selector;
|
|
3952
3974
|
return rule;
|
|
3953
3975
|
};
|
|
3954
|
-
|
|
3976
|
+
const commentSelectors = (input) => processRules(input, (rule) => {
|
|
3955
3977
|
if (rule.selector[0] !== "@") return processCommentedSelector(rule);
|
|
3956
|
-
|
|
3957
|
-
rule.content = processRules(rule.content, processCommentedSelector);
|
|
3958
|
-
return rule;
|
|
3959
|
-
}
|
|
3978
|
+
if (isScopableAtRule(rule.selector)) rule.content = commentSelectors(rule.content);
|
|
3960
3979
|
return rule;
|
|
3961
3980
|
});
|
|
3981
|
+
cssText = commentSelectors(cssText);
|
|
3962
3982
|
}
|
|
3963
3983
|
const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector);
|
|
3964
3984
|
cssText = [scoped.cssText, ...commentsWithHash].join("\n");
|
|
@@ -1597,16 +1597,33 @@ const signalNodeDisposers = /* @__PURE__ */ new WeakMap();
|
|
|
1597
1597
|
const disposeSignalVNode = (vnode) => {
|
|
1598
1598
|
const elm = vnode.$elm$;
|
|
1599
1599
|
if (elm) {
|
|
1600
|
-
|
|
1601
|
-
if (dispose) {
|
|
1602
|
-
dispose();
|
|
1603
|
-
signalNodeDisposers.delete(elm);
|
|
1604
|
-
}
|
|
1600
|
+
disposeTextSignal(elm);
|
|
1605
1601
|
disposeAllSignalAttrs(elm);
|
|
1606
1602
|
}
|
|
1607
1603
|
vnode.$children$?.forEach(disposeSignalVNode);
|
|
1608
1604
|
};
|
|
1609
1605
|
/**
|
|
1606
|
+
* Tear down a text node's signal subscription, if it has one.
|
|
1607
|
+
* @param textNode the text node to unsubscribe
|
|
1608
|
+
*/
|
|
1609
|
+
const disposeTextSignal = (textNode) => {
|
|
1610
|
+
const dispose = signalNodeDisposers.get(textNode);
|
|
1611
|
+
if (dispose) {
|
|
1612
|
+
dispose();
|
|
1613
|
+
signalNodeDisposers.delete(textNode);
|
|
1614
|
+
}
|
|
1615
|
+
};
|
|
1616
|
+
/**
|
|
1617
|
+
* Subscribe a text node to a signal, keeping its `data` in sync on every change.
|
|
1618
|
+
* @param textNode the text node to keep in sync
|
|
1619
|
+
* @param textSig the signal to subscribe to
|
|
1620
|
+
*/
|
|
1621
|
+
const wireTextSignal = (textNode, textSig) => {
|
|
1622
|
+
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
1623
|
+
textNode.data = String(textSig.value);
|
|
1624
|
+
}));
|
|
1625
|
+
};
|
|
1626
|
+
/**
|
|
1610
1627
|
* Create a DOM Node corresponding to one of the children of a given VNode.
|
|
1611
1628
|
*
|
|
1612
1629
|
* @param oldParentVNode the parent VNode from the previous render
|
|
@@ -1628,13 +1645,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
1628
1645
|
if (BUILD$1.isDev && newVNode.$elm$) newVNode.$text$ !== null ? `${newVNode.$text$}` : `${String(newVNode.$tag$)}`;
|
|
1629
1646
|
if (BUILD$1.vdomText && newVNode.$text$ != null) {
|
|
1630
1647
|
elm = newVNode.$elm$ = win.document.createTextNode(newVNode.$text$);
|
|
1631
|
-
if (BUILD$1.vdomSignals && newVNode.$signal$)
|
|
1632
|
-
const textSig = newVNode.$signal$;
|
|
1633
|
-
const textNode = elm;
|
|
1634
|
-
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
1635
|
-
textNode.data = String(textSig.value);
|
|
1636
|
-
}));
|
|
1637
|
-
}
|
|
1648
|
+
if (BUILD$1.vdomSignals && newVNode.$signal$) wireTextSignal(elm, newVNode.$signal$);
|
|
1638
1649
|
} else if (BUILD$1.slotRelocation && newVNode.$flags$ & VNODE_FLAGS.isSlotReference) {
|
|
1639
1650
|
elm = newVNode.$elm$ = BUILD$1.isDebug || BUILD$1.hydrateServerSide ? slotReferenceDebugNode(newVNode) : win.document.createTextNode("");
|
|
1640
1651
|
if (typeof newVNode.$attrs$?.slot === "string") elm["s-sa"] = newVNode.$attrs$.slot;
|
|
@@ -1995,7 +2006,17 @@ const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
|
|
1995
2006
|
else if (BUILD$1.hydrateClientSide && isInitialRender && BUILD$1.updatable && oldChildren !== null && newChildren === null) newVNode.$children$ = oldChildren;
|
|
1996
2007
|
if (BUILD$1.svg && isSvgMode && tag === "svg") isSvgMode = false;
|
|
1997
2008
|
} else if (BUILD$1.vdomText && BUILD$1.slotRelocation && (defaultHolder = elm["s-cr"])) defaultHolder.parentNode.textContent = text;
|
|
1998
|
-
else if (BUILD$1.vdomText
|
|
2009
|
+
else if (BUILD$1.vdomText) {
|
|
2010
|
+
if (BUILD$1.vdomSignals && newVNode.$signal$) {
|
|
2011
|
+
if (newVNode.$signal$ !== oldVNode.$signal$) {
|
|
2012
|
+
disposeTextSignal(elm);
|
|
2013
|
+
wireTextSignal(elm, newVNode.$signal$);
|
|
2014
|
+
}
|
|
2015
|
+
} else {
|
|
2016
|
+
if (BUILD$1.vdomSignals && oldVNode.$signal$) disposeTextSignal(elm);
|
|
2017
|
+
if (oldVNode.$text$ !== text) elm.data = text;
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
1999
2020
|
};
|
|
2000
2021
|
/**
|
|
2001
2022
|
* Component-global information about nodes which are either currently being
|
|
@@ -3598,12 +3619,13 @@ const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector)
|
|
|
3598
3619
|
else return shallowPart.trim();
|
|
3599
3620
|
}).join(", ");
|
|
3600
3621
|
};
|
|
3622
|
+
const isScopableAtRule = (selector) => selector.startsWith("@media") || selector.startsWith("@supports") || selector.startsWith("@page") || selector.startsWith("@document") || selector.startsWith("@layer");
|
|
3601
3623
|
const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
|
|
3602
3624
|
return processRules(cssText, (rule) => {
|
|
3603
3625
|
let selector = rule.selector;
|
|
3604
3626
|
let content = rule.content;
|
|
3605
3627
|
if (rule.selector[0] !== "@") selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
|
|
3606
|
-
else if (
|
|
3628
|
+
else if (isScopableAtRule(rule.selector)) content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector);
|
|
3607
3629
|
return {
|
|
3608
3630
|
selector: selector.replace(/\s{2,}/g, " ").trim(),
|
|
3609
3631
|
content
|
|
@@ -3695,14 +3717,12 @@ const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
|
|
|
3695
3717
|
rule.selector = placeholder + rule.selector;
|
|
3696
3718
|
return rule;
|
|
3697
3719
|
};
|
|
3698
|
-
|
|
3720
|
+
const commentSelectors = (input) => processRules(input, (rule) => {
|
|
3699
3721
|
if (rule.selector[0] !== "@") return processCommentedSelector(rule);
|
|
3700
|
-
|
|
3701
|
-
rule.content = processRules(rule.content, processCommentedSelector);
|
|
3702
|
-
return rule;
|
|
3703
|
-
}
|
|
3722
|
+
if (isScopableAtRule(rule.selector)) rule.content = commentSelectors(rule.content);
|
|
3704
3723
|
return rule;
|
|
3705
3724
|
});
|
|
3725
|
+
cssText = commentSelectors(cssText);
|
|
3706
3726
|
}
|
|
3707
3727
|
const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector);
|
|
3708
3728
|
cssText = [scoped.cssText, ...commentsWithHash].join("\n");
|
package/dist/sys/node/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as setupNodeProcess, r as createNodeLogger, t as createNodeSys } from "../../node-
|
|
1
|
+
import { n as setupNodeProcess, r as createNodeLogger, t as createNodeSys } from "../../node-BKtLn2R9.mjs";
|
|
2
2
|
export { createNodeLogger, createNodeSys, setupNodeProcess };
|
package/dist/sys/node/worker.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as createWorkerMessageHandler } from "../../compiler-
|
|
2
|
-
import { t as createNodeSys } from "../../node-
|
|
1
|
+
import { l as createWorkerMessageHandler } from "../../compiler-PoywOlbq.mjs";
|
|
2
|
+
import { t as createNodeSys } from "../../node-BKtLn2R9.mjs";
|
|
3
3
|
//#region src/sys/node/node-worker-thread.ts
|
|
4
4
|
/**
|
|
5
5
|
* Initialize a worker thread, setting up various machinery for managing
|
package/dist/testing/index.d.mts
CHANGED
|
@@ -919,7 +919,8 @@ interface StencilConfig {
|
|
|
919
919
|
* Will generate {@link https://nodejs.org/api/packages.html#packages_exports export map} entry points
|
|
920
920
|
* for each component in the build when `true`.
|
|
921
921
|
*
|
|
922
|
-
*
|
|
922
|
+
* Defaults to `true` for "no-config" projects (no `stencil.config.ts`/`.js` file), and `false`
|
|
923
|
+
* whenever a config file is present - set this explicitly to opt an existing project in or out.
|
|
923
924
|
*/
|
|
924
925
|
generateExportMaps?: boolean;
|
|
925
926
|
/**
|
package/dist/testing/index.mjs
CHANGED
|
@@ -32,7 +32,7 @@ import "@rollup/pluginutils";
|
|
|
32
32
|
import { createHash } from "crypto";
|
|
33
33
|
import { afterAll, vi } from "vitest";
|
|
34
34
|
//#region src/version.ts
|
|
35
|
-
const version = "5.0.0-beta.
|
|
35
|
+
const version = "5.0.0-beta.10";
|
|
36
36
|
const MEMBER_FLAGS = {
|
|
37
37
|
String: 1,
|
|
38
38
|
Number: 2,
|
|
@@ -2371,16 +2371,33 @@ const signalNodeDisposers = /* @__PURE__ */ new WeakMap();
|
|
|
2371
2371
|
const disposeSignalVNode = (vnode) => {
|
|
2372
2372
|
const elm = vnode.$elm$;
|
|
2373
2373
|
if (elm) {
|
|
2374
|
-
|
|
2375
|
-
if (dispose) {
|
|
2376
|
-
dispose();
|
|
2377
|
-
signalNodeDisposers.delete(elm);
|
|
2378
|
-
}
|
|
2374
|
+
disposeTextSignal(elm);
|
|
2379
2375
|
disposeAllSignalAttrs(elm);
|
|
2380
2376
|
}
|
|
2381
2377
|
vnode.$children$?.forEach(disposeSignalVNode);
|
|
2382
2378
|
};
|
|
2383
2379
|
/**
|
|
2380
|
+
* Tear down a text node's signal subscription, if it has one.
|
|
2381
|
+
* @param textNode the text node to unsubscribe
|
|
2382
|
+
*/
|
|
2383
|
+
const disposeTextSignal = (textNode) => {
|
|
2384
|
+
const dispose = signalNodeDisposers.get(textNode);
|
|
2385
|
+
if (dispose) {
|
|
2386
|
+
dispose();
|
|
2387
|
+
signalNodeDisposers.delete(textNode);
|
|
2388
|
+
}
|
|
2389
|
+
};
|
|
2390
|
+
/**
|
|
2391
|
+
* Subscribe a text node to a signal, keeping its `data` in sync on every change.
|
|
2392
|
+
* @param textNode the text node to keep in sync
|
|
2393
|
+
* @param textSig the signal to subscribe to
|
|
2394
|
+
*/
|
|
2395
|
+
const wireTextSignal = (textNode, textSig) => {
|
|
2396
|
+
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
2397
|
+
textNode.data = String(textSig.value);
|
|
2398
|
+
}));
|
|
2399
|
+
};
|
|
2400
|
+
/**
|
|
2384
2401
|
* Create a DOM Node corresponding to one of the children of a given VNode.
|
|
2385
2402
|
*
|
|
2386
2403
|
* @param oldParentVNode the parent VNode from the previous render
|
|
@@ -2402,13 +2419,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
2402
2419
|
if (BUILD.isDev && newVNode.$elm$) consoleDevError(`The JSX ${newVNode.$text$ !== null ? `"${newVNode.$text$}" text` : `"${String(newVNode.$tag$)}" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`);
|
|
2403
2420
|
if (BUILD.vdomText && newVNode.$text$ != null) {
|
|
2404
2421
|
elm = newVNode.$elm$ = win.document.createTextNode(newVNode.$text$);
|
|
2405
|
-
if (BUILD.vdomSignals && newVNode.$signal$)
|
|
2406
|
-
const textSig = newVNode.$signal$;
|
|
2407
|
-
const textNode = elm;
|
|
2408
|
-
signalNodeDisposers.set(textNode, effect$1(() => {
|
|
2409
|
-
textNode.data = String(textSig.value);
|
|
2410
|
-
}));
|
|
2411
|
-
}
|
|
2422
|
+
if (BUILD.vdomSignals && newVNode.$signal$) wireTextSignal(elm, newVNode.$signal$);
|
|
2412
2423
|
} else if (BUILD.slotRelocation && newVNode.$flags$ & VNODE_FLAGS.isSlotReference) {
|
|
2413
2424
|
elm = newVNode.$elm$ = BUILD.isDebug || BUILD.hydrateServerSide ? slotReferenceDebugNode(newVNode) : win.document.createTextNode("");
|
|
2414
2425
|
if (typeof newVNode.$attrs$?.slot === "string") elm["s-sa"] = newVNode.$attrs$.slot;
|
|
@@ -2769,7 +2780,17 @@ const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
|
|
2769
2780
|
else if (BUILD.hydrateClientSide && isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) newVNode.$children$ = oldChildren;
|
|
2770
2781
|
if (BUILD.svg && isSvgMode && tag === "svg") isSvgMode = false;
|
|
2771
2782
|
} else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm["s-cr"])) defaultHolder.parentNode.textContent = text;
|
|
2772
|
-
else if (BUILD.vdomText
|
|
2783
|
+
else if (BUILD.vdomText) {
|
|
2784
|
+
if (BUILD.vdomSignals && newVNode.$signal$) {
|
|
2785
|
+
if (newVNode.$signal$ !== oldVNode.$signal$) {
|
|
2786
|
+
disposeTextSignal(elm);
|
|
2787
|
+
wireTextSignal(elm, newVNode.$signal$);
|
|
2788
|
+
}
|
|
2789
|
+
} else {
|
|
2790
|
+
if (BUILD.vdomSignals && oldVNode.$signal$) disposeTextSignal(elm);
|
|
2791
|
+
if (oldVNode.$text$ !== text) elm.data = text;
|
|
2792
|
+
}
|
|
2793
|
+
}
|
|
2773
2794
|
};
|
|
2774
2795
|
/**
|
|
2775
2796
|
* Component-global information about nodes which are either currently being
|
|
@@ -4365,12 +4386,13 @@ const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector)
|
|
|
4365
4386
|
else return shallowPart.trim();
|
|
4366
4387
|
}).join(", ");
|
|
4367
4388
|
};
|
|
4389
|
+
const isScopableAtRule = (selector) => selector.startsWith("@media") || selector.startsWith("@supports") || selector.startsWith("@page") || selector.startsWith("@document") || selector.startsWith("@layer");
|
|
4368
4390
|
const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
|
|
4369
4391
|
return processRules(cssText, (rule) => {
|
|
4370
4392
|
let selector = rule.selector;
|
|
4371
4393
|
let content = rule.content;
|
|
4372
4394
|
if (rule.selector[0] !== "@") selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
|
|
4373
|
-
else if (
|
|
4395
|
+
else if (isScopableAtRule(rule.selector)) content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector);
|
|
4374
4396
|
return {
|
|
4375
4397
|
selector: selector.replace(/\s{2,}/g, " ").trim(),
|
|
4376
4398
|
content
|
|
@@ -4462,14 +4484,12 @@ const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
|
|
|
4462
4484
|
rule.selector = placeholder + rule.selector;
|
|
4463
4485
|
return rule;
|
|
4464
4486
|
};
|
|
4465
|
-
|
|
4487
|
+
const commentSelectors = (input) => processRules(input, (rule) => {
|
|
4466
4488
|
if (rule.selector[0] !== "@") return processCommentedSelector(rule);
|
|
4467
|
-
|
|
4468
|
-
rule.content = processRules(rule.content, processCommentedSelector);
|
|
4469
|
-
return rule;
|
|
4470
|
-
}
|
|
4489
|
+
if (isScopableAtRule(rule.selector)) rule.content = commentSelectors(rule.content);
|
|
4471
4490
|
return rule;
|
|
4472
4491
|
});
|
|
4492
|
+
cssText = commentSelectors(cssText);
|
|
4473
4493
|
}
|
|
4474
4494
|
const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector);
|
|
4475
4495
|
cssText = [scoped.cssText, ...commentsWithHash].join("\n");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stencil/core",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.10",
|
|
4
4
|
"description": "A Compiler for Web Components and Progressive Web Apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"components",
|
|
@@ -125,9 +125,9 @@
|
|
|
125
125
|
"terser": "^5.50.0",
|
|
126
126
|
"tinyglobby": "^0.2.17",
|
|
127
127
|
"typescript": ">5.0.0 <7.0.0",
|
|
128
|
-
"@stencil/
|
|
129
|
-
"@stencil/
|
|
130
|
-
"@stencil/
|
|
128
|
+
"@stencil/dev-server": "5.0.0-beta.10",
|
|
129
|
+
"@stencil/cli": "5.0.0-beta.10",
|
|
130
|
+
"@stencil/mock-doc": "5.0.0-beta.10"
|
|
131
131
|
},
|
|
132
132
|
"devDependencies": {
|
|
133
133
|
"@ionic/prettier-config": "^4.0.0",
|