octane 0.2.11 → 0.2.13
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/README.md +5 -0
- package/dist/behavior-root.d.ts +13 -3
- package/dist/behavior-root.js +28 -5
- package/dist/cjs/behavior-root.cjs +32 -6
- package/dist/cjs/class-names.cjs +49 -0
- package/dist/cjs/constants.cjs +9 -0
- package/dist/cjs/context-epoch.cjs +38 -0
- package/dist/cjs/css.cjs +6 -27
- package/dist/cjs/data-encoding.cjs +160 -0
- package/dist/cjs/dom-binding-handoff.cjs +93 -0
- package/dist/cjs/dom-binding-protocol.cjs +115 -0
- package/dist/cjs/dom-binding-styles.cjs +292 -0
- package/dist/cjs/dom-bindings.cjs +700 -0
- package/dist/cjs/dom-focused-move.cjs +66 -0
- package/dist/cjs/dom-stage.cjs +896 -0
- package/dist/cjs/dom-tables.cjs +4 -94
- package/dist/cjs/error-codes.client.generated.cjs +33 -0
- package/dist/cjs/error-codes.server.generated.cjs +24 -0
- package/dist/cjs/hydration/control-capture.cjs +244 -0
- package/dist/cjs/hydration/event-capture.cjs +125 -43
- package/dist/cjs/hydration/interaction-config.cjs +50 -2
- package/dist/cjs/hydration-markers.cjs +37 -0
- package/dist/cjs/independent-hydration-protocol.cjs +106 -0
- package/dist/cjs/index.cjs +9 -0
- package/dist/cjs/runtime.cjs +6397 -1683
- package/dist/cjs/runtime.server.cjs +1465 -213
- package/dist/cjs/server/early-signals.cjs +45 -0
- package/dist/cjs/server/index.cjs +47 -0
- package/dist/cjs/server/rpc-batch.cjs +149 -0
- package/dist/cjs/server/rpc-stream.cjs +146 -0
- package/dist/cjs/server/rpc.cjs +34 -15
- package/dist/cjs/server/signal-query-observation.cjs +158 -0
- package/dist/cjs/server/streamed-region.cjs +52 -0
- package/dist/cjs/server/streamed-signals.cjs +512 -0
- package/dist/cjs/server-call.cjs +103 -0
- package/dist/cjs/server-rpc-batch-client.cjs +141 -0
- package/dist/cjs/server-rpc-client.cjs +94 -27
- package/dist/cjs/server-rpc-protocol.cjs +141 -0
- package/dist/cjs/server-rpc-stream-client.cjs +118 -0
- package/dist/cjs/signals/actions.cjs +474 -0
- package/dist/cjs/signals/client.cjs +4 -1
- package/dist/cjs/signals/computations.cjs +460 -0
- package/dist/cjs/signals/control-binding.cjs +368 -0
- package/dist/cjs/signals/derived-facade.cjs +50 -0
- package/dist/cjs/signals/document-owner.cjs +71 -0
- package/dist/cjs/signals/early-values.cjs +155 -0
- package/dist/cjs/signals/encoding.cjs +6 -95
- package/dist/cjs/signals/engine.cjs +276 -12
- package/dist/cjs/signals/errors.cjs +18 -0
- package/dist/cjs/signals/facade.cjs +477 -0
- package/dist/cjs/signals/graph.cjs +166 -20
- package/dist/cjs/signals/handle-protocol.cjs +36 -0
- package/dist/cjs/signals/index.cjs +81 -2
- package/dist/cjs/signals/native-read-client.cjs +10 -0
- package/dist/cjs/signals/owner-context.cjs +112 -0
- package/dist/cjs/signals/query-attempt-observer.cjs +68 -0
- package/dist/cjs/signals/query-facade.cjs +72 -0
- package/dist/cjs/signals/read-protocol.cjs +54 -0
- package/dist/cjs/signals/requests.cjs +287 -14
- package/dist/cjs/signals/scalar-computations.cjs +76 -0
- package/dist/cjs/signals/server.cjs +4 -1
- package/dist/cjs/signals/transition-candidate.cjs +567 -0
- package/dist/cjs/signals/transition-state.cjs +106 -0
- package/dist/cjs/signals/types.cjs +50 -0
- package/dist/cjs/stream-protocol.cjs +3 -0
- package/dist/cjs/streamed-signals-protocol.cjs +159 -0
- package/dist/cjs/style-values.cjs +122 -0
- package/dist/cjs/trusted-html.cjs +30 -0
- package/dist/cjs/version.cjs +1 -1
- package/dist/class-names.d.ts +5 -0
- package/dist/class-names.js +25 -0
- package/dist/compiler/bundler.js +51 -22
- package/dist/compiler/compile.js +2534 -581
- package/dist/compiler/dom-binding-program.js +935 -0
- package/dist/compiler/dom-binding-request.js +57 -0
- package/dist/compiler/dom-bindings.js +2245 -0
- package/dist/compiler/hook-deps.js +759 -10
- package/dist/compiler/hydrate-boundaries.js +358 -15
- package/dist/compiler/index.d.ts +39 -2
- package/dist/compiler/index.js +1 -0
- package/dist/compiler/native-attribute-reads.js +127 -0
- package/dist/compiler/native-change-diagnostics.js +32 -38
- package/dist/compiler/native-read-diagnostics.js +69 -8
- package/dist/compiler/native-read-types.js +80 -34
- package/dist/compiler/parser.node.js +1 -1
- package/dist/compiler/renderer-boundaries.js +40 -0
- package/dist/compiler/server-context.js +118 -0
- package/dist/compiler/signal-attempt-reads.js +479 -0
- package/dist/compiler/signal-declarations.js +557 -0
- package/dist/compiler/signal-start-reads.js +413 -0
- package/dist/compiler/slot-hooks.d.ts +3 -1
- package/dist/compiler/slot-hooks.js +168 -34
- package/dist/compiler/strong-auto-memo.js +90 -0
- package/dist/compiler/strong-html.js +143 -0
- package/dist/compiler/strong-mode.js +764 -66
- package/dist/compiler/strong-template-policy.js +307 -0
- package/dist/compiler/template-ir.js +200 -0
- package/dist/compiler/typescript.d.ts +2 -0
- package/dist/compiler/typescript.js +2 -0
- package/dist/compiler/vite.d.ts +3 -1
- package/dist/compiler/vite.js +122 -4
- package/dist/compiler/volar.LICENSES.txt +1 -1
- package/dist/compiler/volar.d.ts +6 -1
- package/dist/compiler/volar.js +750 -1433
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +10 -0
- package/dist/context-epoch.d.ts +2 -0
- package/dist/context-epoch.js +13 -0
- package/dist/css.d.ts +2 -5
- package/dist/css.js +2 -23
- package/dist/data-encoding.d.ts +9 -0
- package/dist/data-encoding.js +134 -0
- package/dist/dom-binding-classes.d.ts +15 -0
- package/dist/dom-binding-classes.js +129 -0
- package/dist/dom-binding-controls.d.ts +2 -0
- package/dist/dom-binding-controls.js +6 -0
- package/dist/dom-binding-handoff.d.ts +55 -0
- package/dist/dom-binding-handoff.js +62 -0
- package/dist/dom-binding-program.d.ts +300 -0
- package/dist/dom-binding-program.js +1625 -0
- package/dist/dom-binding-projections.d.ts +15 -0
- package/dist/dom-binding-projections.js +187 -0
- package/dist/dom-binding-protocol.d.ts +13 -0
- package/dist/dom-binding-protocol.js +88 -0
- package/dist/dom-binding-signals.d.ts +21 -0
- package/dist/dom-binding-signals.js +109 -0
- package/dist/dom-binding-styles.d.ts +17 -0
- package/dist/dom-binding-styles.js +272 -0
- package/dist/dom-bindings.d.ts +89 -0
- package/dist/dom-bindings.js +670 -0
- package/dist/dom-focused-move.d.ts +6 -0
- package/dist/dom-focused-move.js +42 -0
- package/dist/dom-stage.d.ts +52 -0
- package/dist/dom-stage.js +872 -0
- package/dist/dom-tables.d.ts +1 -3
- package/dist/dom-tables.js +1 -91
- package/dist/error-codes.client.generated.d.ts +9 -0
- package/dist/error-codes.client.generated.js +33 -0
- package/dist/error-codes.server.generated.d.ts +6 -0
- package/dist/error-codes.server.generated.js +24 -0
- package/dist/hydration/control-capture.d.ts +62 -0
- package/dist/hydration/control-capture.js +223 -0
- package/dist/hydration/document-lifecycle.d.ts +23 -0
- package/dist/hydration/document-lifecycle.js +80 -0
- package/dist/hydration/event-capture.d.ts +20 -1
- package/dist/hydration/event-capture.js +128 -42
- package/dist/hydration/independent-island.d.ts +45 -0
- package/dist/hydration/independent-island.js +233 -0
- package/dist/hydration/index.d.ts +8 -1
- package/dist/hydration/index.js +55 -1
- package/dist/hydration/interaction-config.d.ts +5 -0
- package/dist/hydration/interaction-config.js +44 -1
- package/dist/hydration/stream-delivery.d.ts +32 -0
- package/dist/hydration/stream-delivery.js +333 -0
- package/dist/hydration/stream-receiver.d.ts +26 -0
- package/dist/hydration/stream-receiver.js +204 -0
- package/dist/hydration/stream-result-receiver.d.ts +70 -0
- package/dist/hydration/stream-result-receiver.js +246 -0
- package/dist/hydration/streamed-signals.d.ts +44 -0
- package/dist/hydration/streamed-signals.js +186 -0
- package/dist/hydration/types.d.ts +6 -0
- package/dist/hydration-markers.d.ts +7 -0
- package/dist/hydration-markers.js +10 -0
- package/dist/independent-hydration-protocol.d.ts +31 -0
- package/dist/independent-hydration-protocol.js +80 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +6 -0
- package/dist/internal/signal-read.d.ts +1 -0
- package/dist/internal/signal-read.js +4 -0
- package/dist/jsx-runtime-strong.d.ts +33 -0
- package/dist/jsx-runtime.d.ts +58 -2
- package/dist/public-types.d.ts +15 -1
- package/dist/runtime.d.ts +297 -23
- package/dist/runtime.js +6405 -1679
- package/dist/runtime.server.d.ts +110 -27
- package/dist/runtime.server.js +1458 -213
- package/dist/server/early-signals.d.ts +14 -0
- package/dist/server/early-signals.js +34 -0
- package/dist/server/index.d.ts +11 -2
- package/dist/server/index.js +50 -1
- package/dist/server/rpc-batch.d.ts +17 -0
- package/dist/server/rpc-batch.js +129 -0
- package/dist/server/rpc-stream.d.ts +9 -0
- package/dist/server/rpc-stream.js +125 -0
- package/dist/server/rpc.d.ts +5 -1
- package/dist/server/rpc.js +37 -13
- package/dist/server/signal-query-observation.d.ts +3 -0
- package/dist/server/signal-query-observation.js +134 -0
- package/dist/server/streamed-region.d.ts +15 -0
- package/dist/server/streamed-region.js +30 -0
- package/dist/server/streamed-signals.d.ts +45 -0
- package/dist/server/streamed-signals.js +488 -0
- package/dist/server-call.d.ts +41 -0
- package/dist/server-call.js +75 -0
- package/dist/server-rpc-batch-client.d.ts +7 -0
- package/dist/server-rpc-batch-client.js +119 -0
- package/dist/server-rpc-client.d.ts +3 -1
- package/dist/server-rpc-client.js +99 -27
- package/dist/server-rpc-protocol.d.ts +47 -0
- package/dist/server-rpc-protocol.js +109 -0
- package/dist/server-rpc-stream-client.d.ts +5 -0
- package/dist/server-rpc-stream-client.js +98 -0
- package/dist/signals/actions.d.ts +12 -0
- package/dist/signals/actions.js +466 -0
- package/dist/signals/client.d.ts +2 -0
- package/dist/signals/client.js +1 -0
- package/dist/signals/computations.d.ts +37 -0
- package/dist/signals/computations.js +455 -0
- package/dist/signals/control-binding.d.ts +31 -0
- package/dist/signals/control-binding.js +353 -0
- package/dist/signals/derived-facade.d.ts +3 -0
- package/dist/signals/derived-facade.js +25 -0
- package/dist/signals/document-owner.d.ts +10 -0
- package/dist/signals/document-owner.js +43 -0
- package/dist/signals/early-values.d.ts +24 -0
- package/dist/signals/early-values.js +124 -0
- package/dist/signals/encoding.d.ts +1 -3
- package/dist/signals/encoding.js +3 -93
- package/dist/signals/engine.d.ts +53 -4
- package/dist/signals/engine.js +275 -16
- package/dist/signals/errors.d.ts +7 -0
- package/dist/signals/errors.js +16 -0
- package/dist/signals/facade.d.ts +74 -0
- package/dist/signals/facade.js +452 -0
- package/dist/signals/graph.d.ts +52 -6
- package/dist/signals/graph.js +174 -19
- package/dist/signals/handle-protocol.d.ts +4 -0
- package/dist/signals/handle-protocol.js +11 -0
- package/dist/signals/index.d.ts +12 -3
- package/dist/signals/index.js +71 -2
- package/dist/signals/native-read-client.d.ts +3 -0
- package/dist/signals/native-read-client.js +10 -0
- package/dist/signals/owner-context.d.ts +22 -0
- package/dist/signals/owner-context.js +77 -0
- package/dist/signals/query-attempt-observer.d.ts +49 -0
- package/dist/signals/query-attempt-observer.js +41 -0
- package/dist/signals/query-facade.d.ts +3 -0
- package/dist/signals/query-facade.js +49 -0
- package/dist/signals/read-protocol.d.ts +37 -2
- package/dist/signals/read-protocol.js +44 -0
- package/dist/signals/requests.d.ts +38 -5
- package/dist/signals/requests.js +298 -15
- package/dist/signals/scalar-computations.d.ts +2 -0
- package/dist/signals/scalar-computations.js +60 -0
- package/dist/signals/server.d.ts +2 -0
- package/dist/signals/server.js +1 -0
- package/dist/signals/transition-candidate.d.ts +71 -0
- package/dist/signals/transition-candidate.js +557 -0
- package/dist/signals/transition-state.d.ts +51 -0
- package/dist/signals/transition-state.js +70 -0
- package/dist/signals/types.d.ts +95 -5
- package/dist/signals/types.js +20 -0
- package/dist/stream-protocol.d.ts +0 -5
- package/dist/stream-protocol.js +3 -0
- package/dist/streamed-signals-protocol.d.ts +60 -0
- package/dist/streamed-signals-protocol.js +130 -0
- package/dist/style-values.d.ts +3 -0
- package/dist/style-values.js +96 -0
- package/dist/trusted-html.d.ts +17 -0
- package/dist/trusted-html.js +6 -0
- package/dist/universal-core.d.ts +6 -0
- package/dist/universal-core.js +214 -202
- package/dist/version.js +1 -1
- package/package.json +48 -5
package/dist/compiler/vite.js
CHANGED
|
@@ -19,6 +19,7 @@ import * as nodePath from 'node:path';
|
|
|
19
19
|
import { parseModule } from '@tsrx/core';
|
|
20
20
|
import {
|
|
21
21
|
CLIENT_REFERENCE_MANIFEST_FILENAME,
|
|
22
|
+
INDEPENDENT_HYDRATION_MANIFEST_FILENAME,
|
|
22
23
|
cleanModuleId,
|
|
23
24
|
createClientReferenceManifest,
|
|
24
25
|
createOctaneCompiler,
|
|
@@ -40,6 +41,7 @@ const PROFILE_DEFINE = '__OCTANE_PROFILE_ENABLED__';
|
|
|
40
41
|
const VOID_EXPORTS_META = 'octane:void-component-exports';
|
|
41
42
|
const DESCRIPTOR_CHILDREN_EXPORTS_META = 'octane:descriptor-children-exports';
|
|
42
43
|
const CLIENT_REFERENCE_META = 'octane:client-reference';
|
|
44
|
+
const INDEPENDENT_WIDGETS_META = 'octane:independent-widgets';
|
|
43
45
|
const DESCRIPTOR_PREFLIGHT_AUTHORITY = Symbol('octane.descriptor-preflight');
|
|
44
46
|
|
|
45
47
|
function realRoot(path) {
|
|
@@ -68,6 +70,77 @@ function clientReferenceManifest(context, bundle) {
|
|
|
68
70
|
return createClientReferenceManifest(entries);
|
|
69
71
|
}
|
|
70
72
|
|
|
73
|
+
function independentWidgetManifest(context, bundle, clientBuildId) {
|
|
74
|
+
if (
|
|
75
|
+
clientBuildId !== undefined &&
|
|
76
|
+
(typeof clientBuildId !== 'string' || clientBuildId.length === 0)
|
|
77
|
+
) {
|
|
78
|
+
throw new Error('Octane client build identity must be a non-empty string.');
|
|
79
|
+
}
|
|
80
|
+
const chunks = Object.values(bundle).filter((output) => output.type === 'chunk');
|
|
81
|
+
const chunksByFile = new Map(chunks.map((chunk) => [chunk.fileName, chunk]));
|
|
82
|
+
const collectStyles = (chunk, seen = new Set()) => {
|
|
83
|
+
if (seen.has(chunk.fileName)) return [];
|
|
84
|
+
seen.add(chunk.fileName);
|
|
85
|
+
const styles = [...(chunk.viteMetadata?.importedCss ?? [])];
|
|
86
|
+
for (const imported of [...(chunk.imports ?? []), ...(chunk.dynamicImports ?? [])]) {
|
|
87
|
+
const dependency = chunksByFile.get(imported);
|
|
88
|
+
if (dependency !== undefined) styles.push(...collectStyles(dependency, seen));
|
|
89
|
+
}
|
|
90
|
+
return styles;
|
|
91
|
+
};
|
|
92
|
+
const widgets = {};
|
|
93
|
+
for (const sourceChunk of chunks) {
|
|
94
|
+
for (const sourceModuleId of Object.keys(sourceChunk.modules ?? {})) {
|
|
95
|
+
const templates = context.getModuleInfo(sourceModuleId)?.meta?.[INDEPENDENT_WIDGETS_META];
|
|
96
|
+
if (!Array.isArray(templates)) continue;
|
|
97
|
+
for (const template of templates) {
|
|
98
|
+
const query = template.request.slice(template.request.indexOf('?'));
|
|
99
|
+
const entry = chunks.find((chunk) =>
|
|
100
|
+
Object.keys(chunk.modules ?? {}).some(
|
|
101
|
+
(moduleId) =>
|
|
102
|
+
cleanModuleId(moduleId) === cleanModuleId(sourceModuleId) && moduleId.includes(query),
|
|
103
|
+
),
|
|
104
|
+
);
|
|
105
|
+
if (entry === undefined) {
|
|
106
|
+
throw new Error(
|
|
107
|
+
`Octane independent Hydrate ${JSON.stringify(template.boundaryId)} has no emitted activation chunk.`,
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
widgets[template.boundaryId] = {
|
|
111
|
+
version: 1,
|
|
112
|
+
boundaryId: template.boundaryId,
|
|
113
|
+
moduleId: entry.fileName,
|
|
114
|
+
exportName: template.exportName,
|
|
115
|
+
captureSchema: template.captureSchema,
|
|
116
|
+
hookSeed: template.hookSeed,
|
|
117
|
+
idSeed: template.idSeed,
|
|
118
|
+
signalSites: template.signalSites,
|
|
119
|
+
styles: [...new Set(collectStyles(entry))].sort(),
|
|
120
|
+
parentDependencies: false,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const records = Object.fromEntries(
|
|
126
|
+
Object.entries(widgets).sort(([left], [right]) => left.localeCompare(right)),
|
|
127
|
+
);
|
|
128
|
+
const buildId =
|
|
129
|
+
clientBuildId ??
|
|
130
|
+
nodeCrypto
|
|
131
|
+
.createHash('sha256')
|
|
132
|
+
.update(
|
|
133
|
+
JSON.stringify(
|
|
134
|
+
chunks
|
|
135
|
+
.map((chunk) => [chunk.fileName, chunk.code])
|
|
136
|
+
.sort(([a], [b]) => a.localeCompare(b)),
|
|
137
|
+
),
|
|
138
|
+
)
|
|
139
|
+
.digest('base64url')
|
|
140
|
+
.slice(0, 16);
|
|
141
|
+
return { version: 1, buildId, widgets: records };
|
|
142
|
+
}
|
|
143
|
+
|
|
71
144
|
function voidImportKey(request, imported) {
|
|
72
145
|
return `${request}\0${imported}`;
|
|
73
146
|
}
|
|
@@ -684,6 +757,7 @@ export function octane(options = {}) {
|
|
|
684
757
|
exclude: options.exclude,
|
|
685
758
|
profile: profileEnabled,
|
|
686
759
|
strong: options.strong,
|
|
760
|
+
knownAttributeSpreads: options.knownAttributeSpreads,
|
|
687
761
|
renderers: options.renderers,
|
|
688
762
|
requireDirective,
|
|
689
763
|
warn,
|
|
@@ -704,6 +778,7 @@ export function octane(options = {}) {
|
|
|
704
778
|
exclude: options.exclude,
|
|
705
779
|
profile: profileEnabled,
|
|
706
780
|
strong: options.strong,
|
|
781
|
+
knownAttributeSpreads: options.knownAttributeSpreads,
|
|
707
782
|
renderers: options.renderers,
|
|
708
783
|
requireDirective,
|
|
709
784
|
warn,
|
|
@@ -813,13 +888,43 @@ export function octane(options = {}) {
|
|
|
813
888
|
},
|
|
814
889
|
generateBundle(_outputOptions, bundle) {
|
|
815
890
|
if (!emitClientReferenceManifest) return;
|
|
816
|
-
const
|
|
817
|
-
if (Object.keys(
|
|
891
|
+
const clientReferences = clientReferenceManifest(this, bundle);
|
|
892
|
+
if (Object.keys(clientReferences.references).length > 0) {
|
|
893
|
+
this.emitFile({
|
|
894
|
+
type: 'asset',
|
|
895
|
+
fileName: CLIENT_REFERENCE_MANIFEST_FILENAME,
|
|
896
|
+
source: JSON.stringify(clientReferences, null, 2) + '\n',
|
|
897
|
+
});
|
|
898
|
+
}
|
|
899
|
+
const independentWidgets = independentWidgetManifest(
|
|
900
|
+
this,
|
|
901
|
+
bundle,
|
|
902
|
+
options.__clientBuildId?.(),
|
|
903
|
+
);
|
|
818
904
|
this.emitFile({
|
|
819
905
|
type: 'asset',
|
|
820
|
-
fileName:
|
|
821
|
-
source:
|
|
906
|
+
fileName: 'octane-client-build.json',
|
|
907
|
+
source:
|
|
908
|
+
JSON.stringify(
|
|
909
|
+
{
|
|
910
|
+
version: 1,
|
|
911
|
+
buildId: independentWidgets.buildId,
|
|
912
|
+
mode: 'production',
|
|
913
|
+
capabilities: {
|
|
914
|
+
independentHydration: Object.keys(independentWidgets.widgets).length > 0,
|
|
915
|
+
},
|
|
916
|
+
},
|
|
917
|
+
null,
|
|
918
|
+
2,
|
|
919
|
+
) + '\n',
|
|
822
920
|
});
|
|
921
|
+
if (Object.keys(independentWidgets.widgets).length > 0) {
|
|
922
|
+
this.emitFile({
|
|
923
|
+
type: 'asset',
|
|
924
|
+
fileName: INDEPENDENT_HYDRATION_MANIFEST_FILENAME,
|
|
925
|
+
source: JSON.stringify(independentWidgets, null, 2) + '\n',
|
|
926
|
+
});
|
|
927
|
+
}
|
|
823
928
|
},
|
|
824
929
|
async resolveId(source, importer, resolveOptions) {
|
|
825
930
|
if (!resolveOptions?.ssr) return null;
|
|
@@ -931,6 +1036,7 @@ export function octane(options = {}) {
|
|
|
931
1036
|
}),
|
|
932
1037
|
});
|
|
933
1038
|
if (result === null) {
|
|
1039
|
+
options.__onIndependentWidgets?.(id, environment, [], false);
|
|
934
1040
|
if (propagatedExports.length === 0) return null;
|
|
935
1041
|
return {
|
|
936
1042
|
code,
|
|
@@ -943,11 +1049,23 @@ export function octane(options = {}) {
|
|
|
943
1049
|
};
|
|
944
1050
|
}
|
|
945
1051
|
cssImports?.consume(result.cssModuleConstantImports);
|
|
1052
|
+
options.__onIndependentWidgets?.(
|
|
1053
|
+
id,
|
|
1054
|
+
environment,
|
|
1055
|
+
Array.isArray(result.independentWidgets) ? result.independentWidgets : [],
|
|
1056
|
+
result.streamedSignals === true,
|
|
1057
|
+
);
|
|
946
1058
|
for (const dependency of result.dependencies) this.addWatchFile?.(dependency);
|
|
947
1059
|
const meta = {};
|
|
1060
|
+
if (result.bindingConstants !== undefined) {
|
|
1061
|
+
meta['octane:binding-constants'] = result.bindingConstants;
|
|
1062
|
+
}
|
|
948
1063
|
if (result.clientReference !== undefined) {
|
|
949
1064
|
meta[CLIENT_REFERENCE_META] = result.clientReference;
|
|
950
1065
|
}
|
|
1066
|
+
if (Array.isArray(result.independentWidgets) && result.independentWidgets.length > 0) {
|
|
1067
|
+
meta[INDEPENDENT_WIDGETS_META] = result.independentWidgets;
|
|
1068
|
+
}
|
|
951
1069
|
if (result.kind === 'compile' && Array.isArray(result.voidComponentExports)) {
|
|
952
1070
|
meta[VOID_EXPORTS_META] = {
|
|
953
1071
|
exports: result.voidComponentExports ?? [],
|
package/dist/compiler/volar.d.ts
CHANGED
|
@@ -3,7 +3,12 @@
|
|
|
3
3
|
export function compileToVolarMappings(
|
|
4
4
|
source: string,
|
|
5
5
|
filename?: string,
|
|
6
|
-
options?: {
|
|
6
|
+
options?: {
|
|
7
|
+
loose?: boolean;
|
|
8
|
+
renderers?: unknown;
|
|
9
|
+
strong?: boolean;
|
|
10
|
+
knownAttributeSpreads?: readonly import('./index.js').KnownAttributeSpread[];
|
|
11
|
+
},
|
|
7
12
|
): import('./index.js').VolarCompileResult;
|
|
8
13
|
|
|
9
14
|
/** Virtual TSX and authored ranges used by compiler inspection tooling. */
|