@lwc/ssr-runtime 9.3.5 → 9.3.7

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/index.cjs CHANGED
@@ -680,7 +680,7 @@ function normalizeTabIndex(value) {
680
680
  const shouldNormalize = value > 0 && typeof value !== 'boolean';
681
681
  return shouldNormalize ? 0 : value;
682
682
  }
683
- /** version: 9.3.5 */
683
+ /** version: 9.3.7 */
684
684
 
685
685
  /**
686
686
  * Copyright (c) 2026 Salesforce, Inc.
@@ -704,7 +704,7 @@ function normalizeTabIndex(value) {
704
704
  * @param value
705
705
  * @param msg
706
706
  */
707
- /** version: 9.3.5 */
707
+ /** version: 9.3.7 */
708
708
 
709
709
  /*
710
710
  * Copyright (c) 2023, salesforce.com, inc.
@@ -728,7 +728,7 @@ class SignalBaseClass {
728
728
  }
729
729
  }
730
730
  }
731
- /** version: 9.3.5 */
731
+ /** version: 9.3.7 */
732
732
 
733
733
  /**
734
734
  * Copyright (c) 2026 Salesforce, Inc.
@@ -749,7 +749,6 @@ const features = {
749
749
  ENABLE_WIRE_SYNC_EMIT: null,
750
750
  DISABLE_LIGHT_DOM_UNSCOPED_CSS: null,
751
751
  ENABLE_FROZEN_TEMPLATE: null,
752
- ENABLE_LEGACY_SCOPE_TOKENS: null,
753
752
  ENABLE_EXPERIMENTAL_SIGNALS: null,
754
753
  DISABLE_SYNTHETIC_SHADOW: null,
755
754
  DISABLE_HOST_ATTACH_SHADOW_GUARD: null,
@@ -815,7 +814,7 @@ function setFeatureFlagForTest(name, value) {
815
814
  setFeatureFlag(name, value);
816
815
  }
817
816
  }
818
- /** version: 9.3.5 */
817
+ /** version: 9.3.7 */
819
818
 
820
819
  /*
821
820
  * Copyright (c) 2024, Salesforce, Inc.
@@ -2132,6 +2131,36 @@ function* toIteratorDirective(iterable) {
2132
2131
  }
2133
2132
  }
2134
2133
 
2134
+ /** The class property that holds a component's resolved `@api` allowlist. */
2135
+ const PUBLIC_PROPERTIES_KEY = '__lwcPublicProperties__';
2136
+ /**
2137
+ * Union of a class's own `@api` names with its immediate superclass's already-resolved allowlist.
2138
+ * Stored back on each class, so this one-level union chains transitively up the prototype chain —
2139
+ * resolving the actual (incl. dynamically-chosen) superclass the compiler can't see.
2140
+ */
2141
+ function resolvePublicProperties(Component, ownPublicProps) {
2142
+ const SuperClass = Object.getPrototypeOf(Component);
2143
+ const superPublicProps = SuperClass[PUBLIC_PROPERTIES_KEY] ?? [];
2144
+ return new Set([...ownPublicProps, ...superPublicProps]);
2145
+ }
2146
+ /**
2147
+ * Attach the resolved allowlist to a class and return it. This is the single place that writes
2148
+ * `__lwcPublicProperties__`; `setStaticInternals` delegates the write here and layers on the rest
2149
+ * of its machinery (generate-markup, default template, wire adapters). The compiler emits a full
2150
+ * `setStaticInternals` only for the exported component, so it calls this directly for non-exported
2151
+ * in-file base classes, giving them their own allowlist for the runtime union (W-23508928).
2152
+ */
2153
+ function registerPublicProperties(Component, ownPublicProps) {
2154
+ const publicProps = resolvePublicProperties(Component, ownPublicProps);
2155
+ Object.defineProperty(Component, PUBLIC_PROPERTIES_KEY, {
2156
+ configurable: false,
2157
+ enumerable: false,
2158
+ writable: false,
2159
+ value: publicProps,
2160
+ });
2161
+ return publicProps;
2162
+ }
2163
+
2135
2164
  /*
2136
2165
  * Copyright (c) 2026, Salesforce, Inc.
2137
2166
  * All rights reserved.
@@ -2212,15 +2241,7 @@ function makeGenerateMarkupSync(Component, defaultTagName, publicProps, wireAdap
2212
2241
  };
2213
2242
  }
2214
2243
  function setStaticInternals(Component, defaultTagName, cmpPublicProps, wireAdapters, compilationMode, defaultTemplate) {
2215
- const SuperClass = Object.getPrototypeOf(Component);
2216
- const superPublicProps = SuperClass.__lwcPublicProperties__ ?? [];
2217
- const publicProps = new Set([...cmpPublicProps, ...superPublicProps]);
2218
- Object.defineProperty(Component, '__lwcPublicProperties__', {
2219
- configurable: false,
2220
- enumerable: false,
2221
- writable: false,
2222
- value: publicProps,
2223
- });
2244
+ const publicProps = registerPublicProperties(Component, cmpPublicProps);
2224
2245
  Object.defineProperty(Component, SYMBOL__GENERATE_MARKUP, {
2225
2246
  configurable: false,
2226
2247
  enumerable: false,
@@ -2270,6 +2291,7 @@ exports.parseSVGFragment = parseSVGFragment;
2270
2291
  exports.readonly = readonly;
2271
2292
  exports.registerComponent = registerComponent;
2272
2293
  exports.registerDecorators = registerDecorators;
2294
+ exports.registerPublicProperties = registerPublicProperties;
2273
2295
  exports.registerTemplate = registerTemplate;
2274
2296
  exports.renderAttrs = renderAttrs;
2275
2297
  exports.renderAttrsNoYield = renderAttrsNoYield;
@@ -2295,5 +2317,5 @@ exports.track = track;
2295
2317
  exports.unwrap = unwrap$1;
2296
2318
  exports.validateStyleTextContents = validateStyleTextContents;
2297
2319
  exports.wire = wire;
2298
- /** version: 9.3.5 */
2320
+ /** version: 9.3.7 */
2299
2321
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -13,4 +13,5 @@ export { validateStyleTextContents } from './validate-style-text-contents';
13
13
  export { createContextProvider, establishContextfulRelationship, connectContext } from './wire';
14
14
  export { readonly } from './get-read-only-proxy';
15
15
  export { setStaticInternals } from './set-static-internals';
16
+ export { registerPublicProperties } from './register-public-properties';
16
17
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -676,7 +676,7 @@ function normalizeTabIndex(value) {
676
676
  const shouldNormalize = value > 0 && typeof value !== 'boolean';
677
677
  return shouldNormalize ? 0 : value;
678
678
  }
679
- /** version: 9.3.5 */
679
+ /** version: 9.3.7 */
680
680
 
681
681
  /**
682
682
  * Copyright (c) 2026 Salesforce, Inc.
@@ -700,7 +700,7 @@ function normalizeTabIndex(value) {
700
700
  * @param value
701
701
  * @param msg
702
702
  */
703
- /** version: 9.3.5 */
703
+ /** version: 9.3.7 */
704
704
 
705
705
  /*
706
706
  * Copyright (c) 2023, salesforce.com, inc.
@@ -724,7 +724,7 @@ class SignalBaseClass {
724
724
  }
725
725
  }
726
726
  }
727
- /** version: 9.3.5 */
727
+ /** version: 9.3.7 */
728
728
 
729
729
  /**
730
730
  * Copyright (c) 2026 Salesforce, Inc.
@@ -745,7 +745,6 @@ const features = {
745
745
  ENABLE_WIRE_SYNC_EMIT: null,
746
746
  DISABLE_LIGHT_DOM_UNSCOPED_CSS: null,
747
747
  ENABLE_FROZEN_TEMPLATE: null,
748
- ENABLE_LEGACY_SCOPE_TOKENS: null,
749
748
  ENABLE_EXPERIMENTAL_SIGNALS: null,
750
749
  DISABLE_SYNTHETIC_SHADOW: null,
751
750
  DISABLE_HOST_ATTACH_SHADOW_GUARD: null,
@@ -811,7 +810,7 @@ function setFeatureFlagForTest(name, value) {
811
810
  setFeatureFlag(name, value);
812
811
  }
813
812
  }
814
- /** version: 9.3.5 */
813
+ /** version: 9.3.7 */
815
814
 
816
815
  /*
817
816
  * Copyright (c) 2024, Salesforce, Inc.
@@ -2128,6 +2127,36 @@ function* toIteratorDirective(iterable) {
2128
2127
  }
2129
2128
  }
2130
2129
 
2130
+ /** The class property that holds a component's resolved `@api` allowlist. */
2131
+ const PUBLIC_PROPERTIES_KEY = '__lwcPublicProperties__';
2132
+ /**
2133
+ * Union of a class's own `@api` names with its immediate superclass's already-resolved allowlist.
2134
+ * Stored back on each class, so this one-level union chains transitively up the prototype chain —
2135
+ * resolving the actual (incl. dynamically-chosen) superclass the compiler can't see.
2136
+ */
2137
+ function resolvePublicProperties(Component, ownPublicProps) {
2138
+ const SuperClass = Object.getPrototypeOf(Component);
2139
+ const superPublicProps = SuperClass[PUBLIC_PROPERTIES_KEY] ?? [];
2140
+ return new Set([...ownPublicProps, ...superPublicProps]);
2141
+ }
2142
+ /**
2143
+ * Attach the resolved allowlist to a class and return it. This is the single place that writes
2144
+ * `__lwcPublicProperties__`; `setStaticInternals` delegates the write here and layers on the rest
2145
+ * of its machinery (generate-markup, default template, wire adapters). The compiler emits a full
2146
+ * `setStaticInternals` only for the exported component, so it calls this directly for non-exported
2147
+ * in-file base classes, giving them their own allowlist for the runtime union (W-23508928).
2148
+ */
2149
+ function registerPublicProperties(Component, ownPublicProps) {
2150
+ const publicProps = resolvePublicProperties(Component, ownPublicProps);
2151
+ Object.defineProperty(Component, PUBLIC_PROPERTIES_KEY, {
2152
+ configurable: false,
2153
+ enumerable: false,
2154
+ writable: false,
2155
+ value: publicProps,
2156
+ });
2157
+ return publicProps;
2158
+ }
2159
+
2131
2160
  /*
2132
2161
  * Copyright (c) 2026, Salesforce, Inc.
2133
2162
  * All rights reserved.
@@ -2208,15 +2237,7 @@ function makeGenerateMarkupSync(Component, defaultTagName, publicProps, wireAdap
2208
2237
  };
2209
2238
  }
2210
2239
  function setStaticInternals(Component, defaultTagName, cmpPublicProps, wireAdapters, compilationMode, defaultTemplate) {
2211
- const SuperClass = Object.getPrototypeOf(Component);
2212
- const superPublicProps = SuperClass.__lwcPublicProperties__ ?? [];
2213
- const publicProps = new Set([...cmpPublicProps, ...superPublicProps]);
2214
- Object.defineProperty(Component, '__lwcPublicProperties__', {
2215
- configurable: false,
2216
- enumerable: false,
2217
- writable: false,
2218
- value: publicProps,
2219
- });
2240
+ const publicProps = registerPublicProperties(Component, cmpPublicProps);
2220
2241
  Object.defineProperty(Component, SYMBOL__GENERATE_MARKUP, {
2221
2242
  configurable: false,
2222
2243
  enumerable: false,
@@ -2235,6 +2256,6 @@ function setStaticInternals(Component, defaultTagName, cmpPublicProps, wireAdapt
2235
2256
  }
2236
2257
  }
2237
2258
 
2238
- export { ClassList, LightningElement, SYMBOL__DEFAULT_TEMPLATE, SYMBOL__GENERATE_MARKUP, SYMBOL__SET_INTERNALS, SignalBaseClass, addTrustedContext as __dangerous_do_not_use_addTrustedContext, addSlottedContent, api, connectContext$1 as connectContext, createContextProvider, createElement, establishContextfulRelationship, fallbackTmpl, fallbackTmplNoYield, freezeTemplate, getComponentDef, hasScopedStaticStylesheets, hot, htmlEscape, isComponentConstructor, isTrustedSignal, mutationTracker, normalizeClass, normalizeTabIndex, normalizeTextContent, parseFragment, parseSVGFragment, readonly, registerComponent, registerDecorators, registerTemplate, renderAttrs, renderAttrsNoYield, serverSideRenderComponent as renderComponent, renderStylesheets, renderTextContent, renderer, sanitizeAttribute, sanitizeHtmlContent, serverSideRenderComponent, setContextKeys, setFeatureFlag, setFeatureFlagForTest, setHooks, setStaticInternals, setTrustedContextSet, setTrustedSignalSet, swapComponent, swapStyle, swapTemplate, toIteratorDirective, track, unwrap$1 as unwrap, validateStyleTextContents, wire };
2239
- /** version: 9.3.5 */
2259
+ export { ClassList, LightningElement, SYMBOL__DEFAULT_TEMPLATE, SYMBOL__GENERATE_MARKUP, SYMBOL__SET_INTERNALS, SignalBaseClass, addTrustedContext as __dangerous_do_not_use_addTrustedContext, addSlottedContent, api, connectContext$1 as connectContext, createContextProvider, createElement, establishContextfulRelationship, fallbackTmpl, fallbackTmplNoYield, freezeTemplate, getComponentDef, hasScopedStaticStylesheets, hot, htmlEscape, isComponentConstructor, isTrustedSignal, mutationTracker, normalizeClass, normalizeTabIndex, normalizeTextContent, parseFragment, parseSVGFragment, readonly, registerComponent, registerDecorators, registerPublicProperties, registerTemplate, renderAttrs, renderAttrsNoYield, serverSideRenderComponent as renderComponent, renderStylesheets, renderTextContent, renderer, sanitizeAttribute, sanitizeHtmlContent, serverSideRenderComponent, setContextKeys, setFeatureFlag, setFeatureFlagForTest, setHooks, setStaticInternals, setTrustedContextSet, setTrustedSignalSet, swapComponent, swapStyle, swapTemplate, toIteratorDirective, track, unwrap$1 as unwrap, validateStyleTextContents, wire };
2260
+ /** version: 9.3.7 */
2240
2261
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,18 @@
1
+ import type { LightningElementConstructor } from './lightning-element';
2
+ /** The class property that holds a component's resolved `@api` allowlist. */
3
+ export declare const PUBLIC_PROPERTIES_KEY = "__lwcPublicProperties__";
4
+ /**
5
+ * Union of a class's own `@api` names with its immediate superclass's already-resolved allowlist.
6
+ * Stored back on each class, so this one-level union chains transitively up the prototype chain —
7
+ * resolving the actual (incl. dynamically-chosen) superclass the compiler can't see.
8
+ */
9
+ export declare function resolvePublicProperties(Component: LightningElementConstructor, ownPublicProps: string[]): Set<string>;
10
+ /**
11
+ * Attach the resolved allowlist to a class and return it. This is the single place that writes
12
+ * `__lwcPublicProperties__`; `setStaticInternals` delegates the write here and layers on the rest
13
+ * of its machinery (generate-markup, default template, wire adapters). The compiler emits a full
14
+ * `setStaticInternals` only for the exported component, so it calls this directly for non-exported
15
+ * in-file base classes, giving them their own allowlist for the runtime union (W-23508928).
16
+ */
17
+ export declare function registerPublicProperties(Component: LightningElementConstructor, ownPublicProps: string[]): Set<string>;
18
+ //# sourceMappingURL=register-public-properties.d.ts.map
@@ -1,4 +1,5 @@
1
1
  import { SYMBOL__DEFAULT_TEMPLATE, type LightningElementConstructor } from './lightning-element';
2
+ import { type PUBLIC_PROPERTIES_KEY } from './register-public-properties';
2
3
  import type { CompilationMode } from '@lwc/shared';
3
4
  import type { LightningElement } from './lightning-element';
4
5
  import type { WireAdapterConstructor } from '@lwc/engine-core';
@@ -8,7 +9,7 @@ interface Template {
8
9
  stylesheetScopeToken?: string;
9
10
  }
10
11
  interface ComponentStaticInternals {
11
- __lwcPublicProperties__?: Set<string>;
12
+ [PUBLIC_PROPERTIES_KEY]?: Set<string>;
12
13
  [SYMBOL__DEFAULT_TEMPLATE]: Template;
13
14
  }
14
15
  interface WireAdapterInfo<Config extends object = object, Value = unknown> {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten."
5
5
  ],
6
6
  "name": "@lwc/ssr-runtime",
7
- "version": "9.3.5",
7
+ "version": "9.3.7",
8
8
  "description": "Runtime complement to @lwc/ssr-compiler",
9
9
  "keywords": [
10
10
  "lwc",
@@ -53,10 +53,10 @@
53
53
  }
54
54
  },
55
55
  "devDependencies": {
56
- "@lwc/shared": "9.3.5",
57
- "@lwc/engine-core": "9.3.5",
58
- "@lwc/features": "9.3.5",
59
- "@lwc/signals": "9.3.5",
56
+ "@lwc/shared": "9.3.7",
57
+ "@lwc/engine-core": "9.3.7",
58
+ "@lwc/features": "9.3.7",
59
+ "@lwc/signals": "9.3.7",
60
60
  "observable-membrane": "2.0.0"
61
61
  }
62
62
  }