@stencil/core 5.0.0-beta.35 → 5.0.0-beta.36

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.
@@ -146,7 +146,16 @@ const NODE_TYPE = {
146
146
  DocumentTypeNode: 10,
147
147
  DocumentFragment: 11
148
148
  };
149
+ const HYDRATE_ID = "s-id";
149
150
  const HYDRATED_STYLE_ID = "sty-id";
151
+ const HYDRATE_CHILD_ID = "c-id";
152
+ /**
153
+ * Starts an attribute value written by the `ssr` output's `ssrProp()` on a server: a reference to
154
+ * a value it put in the registry below, for the SSR runtime to take out and set as the prop.
155
+ */
156
+ const SSR_PROP_REF_PREFIX = "__stencil_ssr_ref:";
157
+ /** `Symbol.for()` key of the `ssrProp()` registry on the server's real global object. */
158
+ const SSR_PROPS_REGISTRY_KEY = "stencil.ssrProps";
150
159
  const HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
151
160
  /**
152
161
  * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
@@ -804,7 +813,7 @@ const emitEvent = (elm, name, opts) => {
804
813
  elm.dispatchEvent(ev);
805
814
  return ev;
806
815
  };
807
- const getRegistry = () => customElements;
816
+ const getRegistry = () => globalThis.customElements;
808
817
  /**
809
818
  * @param elm a defined component host
810
819
  * @returns the registry the host's class was defined in, else the active registry
@@ -2480,4 +2489,4 @@ function hasKeys(obj) {
2480
2489
  return false;
2481
2490
  }
2482
2491
  //#endregion
2483
- export { Build as C, SERVER_BUILD_FLAGS as E, setErrorHandler as S, HYDRATED_CSS as T, getAssetPath as _, transformTag as a, writeTask as b, Mixin as c, Host as d, h as f, getShadowRoot as g, getElement as h, setTagTransformer as i, getMode as l, getRenderingRef as m, jsxDEV as n, render as o, forceUpdate as p, jsxs as r, ReactiveControllerHost as s, jsx as t, setMode as u, setAssetPath as v, CLIENT_BUILD_FLAGS as w, setPlatformHelpers as x, readTask as y };
2492
+ export { SSR_PROP_REF_PREFIX as A, Build as C, HYDRATE_ID as D, HYDRATE_CHILD_ID as E, SERVER_BUILD_FLAGS as O, setErrorHandler as S, HYDRATED_CSS as T, getAssetPath as _, transformTag as a, writeTask as b, Mixin as c, Host as d, h as f, getShadowRoot as g, getElement as h, setTagTransformer as i, SSR_PROPS_REGISTRY_KEY as k, getMode as l, getRenderingRef as m, jsxDEV as n, render as o, forceUpdate as p, jsxs as r, ReactiveControllerHost as s, jsx as t, setMode as u, setAssetPath as v, CLIENT_BUILD_FLAGS as w, setPlatformHelpers as x, readTask as y };
@@ -1843,7 +1843,7 @@ const validateComponentTag = (tag) => {
1843
1843
  };
1844
1844
  //#endregion
1845
1845
  //#region src/version.ts
1846
- const version = "5.0.0-beta.35";
1846
+ const version = "5.0.0-beta.36";
1847
1847
  //#endregion
1848
1848
  //#region src/compiler/events.ts
1849
1849
  const buildEvents = () => {
@@ -8879,6 +8879,9 @@ const objectLiteralToObjectMap = (objectLiteral, typeChecker, diagnostics, error
8879
8879
  case ts$1.SyntaxKind.FalseKeyword:
8880
8880
  val = false;
8881
8881
  break;
8882
+ case ts$1.SyntaxKind.NullKeyword:
8883
+ val = null;
8884
+ break;
8882
8885
  case ts$1.SyntaxKind.Identifier:
8883
8886
  const escapedText = propAssignment.initializer.escapedText;
8884
8887
  if (escapedText === "String") val = String;
@@ -9065,7 +9068,7 @@ const getAllTypeReferences = (checker, node) => {
9065
9068
  */
9066
9069
  const getTypeReferenceLocation = (typeName, type, sourceFile, checker, program) => {
9067
9070
  const importTypeDeclaration = sourceFile.statements.find((st) => {
9068
- if (!(ts$1.isImportDeclaration(st) && st.importClause && ts$1.isImportClause(st.importClause) && st.importClause.namedBindings && ts$1.isNamedImports(st.importClause.namedBindings) && Array.isArray(st.importClause.namedBindings.elements) && st.importClause.namedBindings.elements.find((nbe) => nbe.name.getText() === typeName))) return false;
9071
+ if (!(ts$1.isImportDeclaration(st) && st.importClause && ts$1.isImportClause(st.importClause) && st.importClause.namedBindings && ts$1.isNamedImports(st.importClause.namedBindings) && Array.isArray(st.importClause.namedBindings.elements) && st.importClause.namedBindings.elements.find((nbe) => nbe.name.text === typeName))) return false;
9069
9072
  return true;
9070
9073
  });
9071
9074
  const namedImportBindings = importTypeDeclaration?.importClause?.namedBindings;
@@ -9074,7 +9077,7 @@ const getTypeReferenceLocation = (typeName, type, sourceFile, checker, program)
9074
9077
  const options = program.getCompilerOptions();
9075
9078
  const importHomeModule = getHomeModule(sourceFile, localImportPath, options, ts$1.createCompilerHost(options), program);
9076
9079
  if (importHomeModule) {
9077
- const importElement = namedImportBindings.elements.find((nbe) => nbe.name.getText() === typeName);
9080
+ const importElement = namedImportBindings.elements.find((nbe) => nbe.name.text === typeName);
9078
9081
  const importName = importElement.name;
9079
9082
  const originalTypeName = getOriginalTypeName(importName, checker);
9080
9083
  const importedAs = importElement.propertyName ? importElement.propertyName.getText() : typeName;
@@ -10498,7 +10501,7 @@ const performAutomaticKeyInsertion = (transformCtx) => {
10498
10501
  * @returns the result of handling the node
10499
10502
  */
10500
10503
  function findRenderMethodVisitor(node) {
10501
- if (ts$1.isMethodDeclaration(node) && node.name.getText() === "render" && numReturnStatements(node) === 1) {
10504
+ if (ts$1.isMethodDeclaration(node) && ts$1.isIdentifier(node.name) && node.name.text === "render" && numReturnStatements(node) === 1) {
10502
10505
  resetKeyCounter();
10503
10506
  return ts$1.visitEachChild(node, jsxElementVisitor, transformCtx);
10504
10507
  } else return ts$1.visitEachChild(node, findRenderMethodVisitor, transformCtx);
@@ -12454,8 +12457,8 @@ var ImportAliasMap = class extends Map {
12454
12457
  for (const importDeclaration of importDeclarations) if (importDeclaration.moduleSpecifier.getText().includes("@stencil/core")) {
12455
12458
  const namedBindings = importDeclaration.importClause?.namedBindings;
12456
12459
  if (namedBindings && ts$1.isNamedImports(namedBindings)) for (const element of namedBindings.elements) {
12457
- const importName = element.name.getText();
12458
- const originalImportName = element.propertyName?.getText() ?? importName;
12460
+ const importName = element.name.text;
12461
+ const originalImportName = element.propertyName?.text ?? importName;
12459
12462
  if (STENCIL_DECORATORS.includes(originalImportName)) this.set(originalImportName, importName);
12460
12463
  }
12461
12464
  }
@@ -12465,6 +12468,102 @@ var ImportAliasMap = class extends Map {
12465
12468
  }
12466
12469
  };
12467
12470
  //#endregion
12471
+ //#region src/compiler/transformers/decorators-to-static/json-serialize-prop.ts
12472
+ /**
12473
+ * `@Prop({ serialize: 'json' })` is shorthand for a `@PropSerialize()` / `@AttrDeserialize()` pair
12474
+ * that writes the value to the prop's attribute as JSON on the server, and reads it back in the
12475
+ * browser. These are the generated methods' names (no leading `_`: the runtime metadata drops
12476
+ * those keys), and the alias of the `Build` import they use.
12477
+ */
12478
+ const JSON_SERIALIZE_METHOD = "stencilSerializeJson";
12479
+ const JSON_DESERIALIZE_METHOD = "stencilDeserializeJson";
12480
+ const BUILD_ALIAS = "__stencil_Build";
12481
+ /**
12482
+ * Find the props declared `@Prop({ serialize: 'json' })`, reporting invalid combinations.
12483
+ * @param diagnostics for surfacing errors
12484
+ * @param typeChecker a TypeScript typechecker instance
12485
+ * @param decoratedMembers the class's decorated members
12486
+ * @param propDecoratorName the name `@Prop` is imported as
12487
+ * @param handWritten serializers and deserializers written with the decorators
12488
+ * @returns the names of the props to serialize as JSON
12489
+ */
12490
+ const getJsonSerializedProps = (diagnostics, typeChecker, decoratedMembers, propDecoratorName, handWritten) => decoratedMembers.flatMap((member) => {
12491
+ if (!ts$1.isPropertyDeclaration(member) && !ts$1.isGetAccessor(member)) return [];
12492
+ const decorator = retrieveTsDecorators(member)?.find(isDecoratorNamed(propDecoratorName));
12493
+ if (!decorator) return [];
12494
+ const [options] = getDecoratorParameters(decorator, typeChecker);
12495
+ if (options?.serialize == null) return [];
12496
+ const { staticName: propName } = tsPropDeclName(member, typeChecker);
12497
+ const error = (messageText) => {
12498
+ const err = buildError(diagnostics);
12499
+ err.messageText = messageText;
12500
+ augmentDiagnosticWithNode(err, decorator);
12501
+ };
12502
+ if (options.serialize !== "json") {
12503
+ error(`@Prop({ serialize }) on "${propName}" must be 'json'. For other formats, use @PropSerialize() and @AttrDeserialize().`);
12504
+ return [];
12505
+ }
12506
+ if (options.attribute === null) {
12507
+ error(`@Prop({ serialize: 'json' }) on "${propName}" needs an attribute to write to, but it has "attribute: null".`);
12508
+ return [];
12509
+ }
12510
+ if (handWritten.some((h) => h.propName === propName)) {
12511
+ error(`"${propName}" has both @Prop({ serialize: 'json' }) and its own @PropSerialize() / @AttrDeserialize(). Use one or the other.`);
12512
+ return [];
12513
+ }
12514
+ return [propName];
12515
+ });
12516
+ /**
12517
+ * The methods `@Prop({ serialize: 'json' })` uses, shared by every such prop in a class:
12518
+ *
12519
+ * ```ts
12520
+ * stencilSerializeJson(value) {
12521
+ * return __stencil_Build.isServer ? JSON.stringify(value) : null;
12522
+ * }
12523
+ * stencilDeserializeJson(value, propName) {
12524
+ * try {
12525
+ * return JSON.parse(value);
12526
+ * } catch {
12527
+ * if (__stencil_Build.isDev) console.warn(...);
12528
+ * // leave the prop as it is
12529
+ * return __stencil_Build.isServer ? undefined : this[propName];
12530
+ * }
12531
+ * }
12532
+ * ```
12533
+ *
12534
+ * The serializer only writes on the server, like a hand-written one should: in the browser the
12535
+ * attribute's job is done, and rewriting it on every change would be wasted work.
12536
+ * @returns the two method declarations
12537
+ */
12538
+ const createJsonSerializerMethods = () => {
12539
+ const f = ts$1.factory;
12540
+ const build = (flag) => f.createPropertyAccessExpression(f.createIdentifier(BUILD_ALIAS), flag);
12541
+ const jsonCall = (method, arg) => f.createCallExpression(f.createPropertyAccessExpression(f.createIdentifier("JSON"), method), void 0, [arg]);
12542
+ const param = (name) => f.createParameterDeclaration(void 0, void 0, name);
12543
+ const method = (name, params, body) => f.createMethodDeclaration(void 0, void 0, name, void 0, void 0, params.map(param), void 0, f.createBlock(body, true));
12544
+ const serialize = method(JSON_SERIALIZE_METHOD, ["value"], [f.createReturnStatement(f.createConditionalExpression(build("isServer"), void 0, jsonCall("stringify", f.createIdentifier("value")), void 0, f.createNull()))]);
12545
+ const warn = f.createIfStatement(build("isDev"), f.createExpressionStatement(f.createCallExpression(f.createPropertyAccessExpression(f.createIdentifier("console"), "warn"), void 0, [f.createTemplateExpression(f.createTemplateHead("The \""), [f.createTemplateSpan(f.createIdentifier("propName"), f.createTemplateMiddle(`" attribute isn't valid JSON, so the prop was left as it is: `)), f.createTemplateSpan(f.createIdentifier("value"), f.createTemplateTail(""))])])));
12546
+ return [serialize, method(JSON_DESERIALIZE_METHOD, ["value", "propName"], [f.createTryStatement(f.createBlock([f.createReturnStatement(jsonCall("parse", f.createIdentifier("value")))], true), f.createCatchClause(void 0, f.createBlock([warn, f.createReturnStatement(f.createConditionalExpression(build("isServer"), void 0, f.createIdentifier("undefined"), void 0, f.createElementAccessExpression(f.createThis(), f.createIdentifier("propName"))))], true)), void 0)])];
12547
+ };
12548
+ /**
12549
+ * Import `Build` (as {@link BUILD_ALIAS}) from `@stencil/core`, for the generated methods. Added
12550
+ * to an existing `@stencil/core` import, which a component's source always has.
12551
+ * @param sourceFile the source file
12552
+ * @returns the source file with the import
12553
+ */
12554
+ const addBuildImport = (sourceFile) => {
12555
+ const f = ts$1.factory;
12556
+ const specifier = f.createImportSpecifier(false, f.createIdentifier("Build"), f.createIdentifier(BUILD_ALIAS));
12557
+ let added = false;
12558
+ const statements = sourceFile.statements.map((s) => {
12559
+ if (added || !ts$1.isImportDeclaration(s) || !ts$1.isStringLiteral(s.moduleSpecifier) || s.moduleSpecifier.text !== "@stencil/core" || !s.importClause?.namedBindings || !ts$1.isNamedImports(s.importClause.namedBindings) || s.importClause.isTypeOnly) return s;
12560
+ added = true;
12561
+ return f.updateImportDeclaration(s, s.modifiers, f.updateImportClause(s.importClause, false, s.importClause.name, f.updateNamedImports(s.importClause.namedBindings, [...s.importClause.namedBindings.elements, specifier])), s.moduleSpecifier, s.attributes);
12562
+ });
12563
+ if (!added) statements.unshift(f.createImportDeclaration(void 0, f.createImportClause(false, void 0, f.createNamedImports([specifier])), f.createStringLiteral(STENCIL_CORE_ID)));
12564
+ return f.updateSourceFile(sourceFile, statements);
12565
+ };
12566
+ //#endregion
12468
12567
  //#region src/compiler/transformers/decorators-to-static/listen-decorator.ts
12469
12568
  const listenDecoratorsToStatic = (diagnostics, typeChecker, decoratedMembers, newMembers, decoratorName) => {
12470
12569
  const listeners = decoratedMembers.filter(ts$1.isMethodDeclaration).map((method) => parseListenDecorators(diagnostics, typeChecker, method, decoratorName));
@@ -12878,7 +12977,7 @@ const isTypePromise = (typeStr) => {
12878
12977
  };
12879
12978
  const validateMethods = (diagnostics, members) => {
12880
12979
  members.filter(ts$1.isMethodDeclaration).map((method) => {
12881
- if (method.name.getText() === "componentDidUnload") {
12980
+ if (ts$1.isIdentifier(method.name) && method.name.text === "componentDidUnload") {
12882
12981
  const err = buildError(diagnostics);
12883
12982
  err.header = `Replace "componentDidUnload()" with "disconnectedCallback()"`;
12884
12983
  err.messageText = `The "componentDidUnload()" method was removed in Stencil 2. Please use the "disconnectedCallback()" method instead.`;
@@ -13243,7 +13342,7 @@ const getPropertyNameText = (name) => {
13243
13342
  };
13244
13343
  //#endregion
13245
13344
  //#region src/compiler/transformers/decorators-to-static/serialize-decorators.ts
13246
- const serializeDecoratorsToStatic = (typeChecker, decoratedProps, newMembers, decoratorName, translateType, propDecoratorName) => {
13345
+ const serializeDecoratorsToStatic = (typeChecker, decoratedProps, newMembers, decoratorName, translateType, propDecoratorName, generated = []) => {
13247
13346
  const props = decoratedProps.filter((prop) => ts$1.isPropertyDeclaration(prop) || ts$1.isGetAccessor(prop)).flatMap((prop) => {
13248
13347
  if (retrieveTsDecorators(prop)?.find(isDecoratorNamed(propDecoratorName))) {
13249
13348
  const { staticName } = tsPropDeclName(prop, typeChecker);
@@ -13251,7 +13350,7 @@ const serializeDecoratorsToStatic = (typeChecker, decoratedProps, newMembers, de
13251
13350
  }
13252
13351
  return [];
13253
13352
  });
13254
- const serializers = decoratedProps.filter(ts$1.isMethodDeclaration).flatMap((method) => parseSerializeDecorator(typeChecker, method, decoratorName, props));
13353
+ const serializers = [...decoratedProps.filter(ts$1.isMethodDeclaration).flatMap((method) => parseSerializeDecorator(typeChecker, method, decoratorName, props)), ...generated];
13255
13354
  if (serializers.length > 0) {
13256
13355
  if (translateType === "PropSerialize") newMembers.push(createStaticGetter("serializers", convertValueToLiteral(serializers)));
13257
13356
  else newMembers.push(createStaticGetter("deserializers", convertValueToLiteral(serializers)));
@@ -13351,6 +13450,8 @@ const parseWatchDecorator = (typeChecker, method, decoratorName) => {
13351
13450
  * @returns a TypeScript transformer factory which can be passed to
13352
13451
  * TypeScript to transform source code during the compilation process
13353
13452
  */
13453
+ /** Source files with a `@Prop({ serialize: 'json' })`, which need a `Build` import. */
13454
+ const filesWithJsonProps = /* @__PURE__ */ new WeakSet();
13354
13455
  const convertDecoratorsToStatic = (config, diagnostics, typeChecker, program, includeClassExpressions = false) => {
13355
13456
  return (transformCtx) => {
13356
13457
  let sourceFile;
@@ -13360,7 +13461,8 @@ const convertDecoratorsToStatic = (config, diagnostics, typeChecker, program, in
13360
13461
  };
13361
13462
  return (tsSourceFile) => {
13362
13463
  sourceFile = tsSourceFile;
13363
- return ts$1.visitEachChild(tsSourceFile, visit, transformCtx);
13464
+ const updated = ts$1.visitEachChild(tsSourceFile, visit, transformCtx);
13465
+ return filesWithJsonProps.has(tsSourceFile) ? addBuildImport(updated) : updated;
13364
13466
  };
13365
13467
  };
13366
13468
  };
@@ -13398,8 +13500,20 @@ const visitClassDeclaration = (config, diagnostics, typeChecker, program, classN
13398
13500
  const filteredMethodsAndFields = removeStencilMethodDecorators(Array.from(classMembers), diagnostics, importAliasMap);
13399
13501
  if (componentDecorator && ts$1.isClassDeclaration(classNode)) componentDecoratorToStatic(config, typeChecker, diagnostics, classNode, filteredMethodsAndFields, componentDecorator);
13400
13502
  if (decoratedMembers.length > 0) {
13401
- const serializers = serializeDecoratorsToStatic(typeChecker, decoratedMembers, filteredMethodsAndFields, importAliasMap.get("PropSerialize"), "PropSerialize", importAliasMap.get("Prop"));
13402
- const deserializers = serializeDecoratorsToStatic(typeChecker, decoratedMembers, filteredMethodsAndFields, importAliasMap.get("AttrDeserialize"), "AttrDeserialize", importAliasMap.get("Prop"));
13503
+ const handWritten = serializeDecoratorsToStatic(typeChecker, decoratedMembers, [], importAliasMap.get("PropSerialize"), "PropSerialize", importAliasMap.get("Prop")).concat(serializeDecoratorsToStatic(typeChecker, decoratedMembers, [], importAliasMap.get("AttrDeserialize"), "AttrDeserialize", importAliasMap.get("Prop")));
13504
+ const jsonProps = getJsonSerializedProps(diagnostics, typeChecker, decoratedMembers, importAliasMap.get("Prop"), handWritten);
13505
+ if (jsonProps.length > 0) {
13506
+ filteredMethodsAndFields.push(...createJsonSerializerMethods());
13507
+ filesWithJsonProps.add(sourceFile);
13508
+ }
13509
+ const serializers = serializeDecoratorsToStatic(typeChecker, decoratedMembers, filteredMethodsAndFields, importAliasMap.get("PropSerialize"), "PropSerialize", importAliasMap.get("Prop"), jsonProps.map((propName) => ({
13510
+ propName,
13511
+ methodName: JSON_SERIALIZE_METHOD
13512
+ })));
13513
+ const deserializers = serializeDecoratorsToStatic(typeChecker, decoratedMembers, filteredMethodsAndFields, importAliasMap.get("AttrDeserialize"), "AttrDeserialize", importAliasMap.get("Prop"), jsonProps.map((propName) => ({
13514
+ propName,
13515
+ methodName: JSON_DESERIALIZE_METHOD
13516
+ })));
13403
13517
  propDecoratorsToStatic(config, diagnostics, decoratedMembers, typeChecker, program, filteredMethodsAndFields, importAliasMap.get("Prop"), serializers, deserializers);
13404
13518
  stateDecoratorsToStatic(decoratedMembers, filteredMethodsAndFields, typeChecker, importAliasMap.get("State"));
13405
13519
  eventDecoratorsToStatic(config, diagnostics, decoratedMembers, typeChecker, program, filteredMethodsAndFields, importAliasMap.get("Event"));
@@ -16000,9 +16114,9 @@ const updateStencilCoreImports = (updatedCoreImportPath) => {
16000
16114
  }
16001
16115
  if (moduleSpecifierText === "@stencil/core") {
16002
16116
  if (s.importClause && s.importClause.namedBindings && s.importClause.namedBindings.kind === ts$1.SyntaxKind.NamedImports) {
16003
- const keepImports = s.importClause.namedBindings.elements.map((e) => e.getText()).filter((name) => KEEP_IMPORTS.has(name));
16117
+ const keepImports = s.importClause.namedBindings.elements.filter((e) => KEEP_IMPORTS.has((e.propertyName ?? e.name).text));
16004
16118
  if (keepImports.length > 0) {
16005
- const newImport = ts$1.factory.updateImportDeclaration(s, void 0, ts$1.factory.createImportClause(false, void 0, ts$1.factory.createNamedImports(keepImports.map((name) => ts$1.factory.createImportSpecifier(false, void 0, ts$1.factory.createIdentifier(name))))), ts$1.factory.createStringLiteral(updatedCoreImportPath), void 0);
16119
+ const newImport = ts$1.factory.updateImportDeclaration(s, void 0, ts$1.factory.createImportClause(false, void 0, ts$1.factory.createNamedImports(keepImports.map((e) => ts$1.factory.createImportSpecifier(false, e.propertyName ? ts$1.factory.createIdentifier(e.propertyName.text) : void 0, ts$1.factory.createIdentifier(e.name.text))))), ts$1.factory.createStringLiteral(updatedCoreImportPath), void 0);
16006
16120
  newStatements.push(newImport);
16007
16121
  }
16008
16122
  }
@@ -1,3 +1,3 @@
1
- import { A as version, C as hasStencilHydrateImport, D as parseCssOnlyComponents, E as replaceStencilHydrateImport, M as scopeCss, O as buildId, S as hasStencilGlobalsImport, T as replaceStencilGlobalsImport, _ as cmpMetaToDocsComponent, a as createPrerenderer, b as buildHydrateCss, c as createWorkerContext, d as nodeRequire, f as optimizeCss, g as generateManifest, h as generateComponentTypesFile, i as createSystem, j as versions, k as vermoji, l as createWorkerMessageHandler, m as validateHydrated, n as transpile, o as loadConfig, p as validateConfig, r as transpileSync, s as createCompiler, t as ts, u as optimizeJs, v as getScopeId, w as replaceStencilCssComponentsImport, x as hasStencilCssComponentsImport, y as foldBuildFlags } from "../compiler-BpfMxpfR.mjs";
2
- import { a as LOG_LEVELS, i as CustomElementsExportBehaviorOptions } from "../node-eg7pofz5.mjs";
1
+ import { A as version, C as hasStencilHydrateImport, D as parseCssOnlyComponents, E as replaceStencilHydrateImport, M as scopeCss, O as buildId, S as hasStencilGlobalsImport, T as replaceStencilGlobalsImport, _ as cmpMetaToDocsComponent, a as createPrerenderer, b as buildHydrateCss, c as createWorkerContext, d as nodeRequire, f as optimizeCss, g as generateManifest, h as generateComponentTypesFile, i as createSystem, j as versions, k as vermoji, l as createWorkerMessageHandler, m as validateHydrated, n as transpile, o as loadConfig, p as validateConfig, r as transpileSync, s as createCompiler, t as ts, u as optimizeJs, v as getScopeId, w as replaceStencilCssComponentsImport, x as hasStencilCssComponentsImport, y as foldBuildFlags } from "../compiler-DHNkXDvK.mjs";
2
+ import { a as LOG_LEVELS, i as CustomElementsExportBehaviorOptions } from "../node-DwwBX_GL.mjs";
3
3
  export { CustomElementsExportBehaviorOptions, LOG_LEVELS, buildHydrateCss, buildId, cmpMetaToDocsComponent, createCompiler, createPrerenderer, createSystem, createWorkerContext, createWorkerMessageHandler, foldBuildFlags, generateComponentTypesFile, generateManifest, getScopeId, hasStencilCssComponentsImport, hasStencilGlobalsImport, hasStencilHydrateImport, loadConfig, nodeRequire, optimizeCss, optimizeJs, parseCssOnlyComponents, replaceStencilCssComponentsImport, replaceStencilGlobalsImport, replaceStencilHydrateImport, scopeCss, transpile, transpileSync, ts, validateConfig, validateHydrated, vermoji, version, versions };