@lwrjs/types 0.7.0-alpha.9 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/config.d.ts CHANGED
@@ -40,7 +40,10 @@ export interface LwrLockerConfig {
40
40
  trustedComponents?: string[];
41
41
  clientOnly?: boolean;
42
42
  }
43
- export declare type RouteHandlerFunction = (viewRequest: ViewRequest, handlerContext: HandlerContext) => Promise<RouteHandlerViewResponse>;
43
+ export interface LocalizedViewRequest extends ViewRequest {
44
+ locale?: string;
45
+ }
46
+ export declare type RouteHandlerFunction = (viewRequest: LocalizedViewRequest, handlerContext: HandlerContext) => Promise<RouteHandlerViewResponse>;
44
47
  export interface ResourcePaths {
45
48
  rootDir: string;
46
49
  assets: AssetConfig[];
package/build/index.d.ts CHANGED
@@ -3,9 +3,11 @@ import { EventEmitter } from 'events';
3
3
  import fs from 'fs';
4
4
  import { Server } from 'http';
5
5
  import { Readable } from 'stream';
6
- import { BundleConfig, EnvironmentConfig, HooksPlugin, LwrLockerConfig, NormalizedLwrErrorRoute, NormalizedLwrGlobalConfig, NormalizedLwrRoute, ResolverModuleRecord, RouteHandlerFunction, RouteHandlerView, View } from './config.js';
6
+ import { BundleConfig, EnvironmentConfig, HooksPlugin, LwrLockerConfig, NormalizedLwrErrorRoute, NormalizedLwrGlobalConfig, NormalizedLwrRoute, ResolverModuleRecord } from './config.js';
7
+ import { AssetReference, CompiledView, PublicViewRegistry, ViewProvider, ViewRegistry, ViewTransformPlugin } from './views.js';
7
8
  export * from './config.js';
8
9
  export * from './server.js';
10
+ export * from './views.js';
9
11
  export * from './serviceAPI/serviceAPI.js';
10
12
  export * from './serviceAPI/loaderPlugins/loaderPlugins.js';
11
13
  export * from './serviceAPI/handleStaleModule/handleStaleModule.js';
@@ -170,7 +172,7 @@ export interface RuntimeEnvironment extends ServerModeConfig {
170
172
  export interface SourceMapRuntimeEnvironment extends RuntimeEnvironment {
171
173
  sourceMapUrl?: string;
172
174
  }
173
- export declare type RuntimeParams = Record<string, string | number | boolean | null | undefined>;
175
+ export declare type RuntimeParams = Record<string, string | number | boolean | null | undefined | Record<string, string>>;
174
176
  export interface ModuleIdentity {
175
177
  signature: string;
176
178
  moduleId: AbstractModuleId;
@@ -326,13 +328,6 @@ export interface ResourceDefinition {
326
328
  stream?: Readable;
327
329
  isPreload?: boolean;
328
330
  }
329
- export interface AssetReference {
330
- url: string;
331
- location: {
332
- startOffset: number;
333
- endOffset: number;
334
- };
335
- }
336
331
  export interface AssetMetadata {
337
332
  assetReferences?: AssetReference[];
338
333
  }
@@ -360,7 +355,7 @@ export interface AssetProvider {
360
355
  name: string;
361
356
  getAsset(fileAssetPath: string): Promise<AssetSource | undefined>;
362
357
  }
363
- declare type TransformPluginContext = Record<string, any>;
358
+ export declare type TransformPluginContext = Record<string, any>;
364
359
  declare type AssetPluginTransformHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginTransformHookReturn>;
365
360
  declare type AssetPluginTransformHookReturn = null | undefined | false | string | Buffer | {
366
361
  code: string | Buffer;
@@ -385,180 +380,6 @@ export interface AssetTransformHooks {
385
380
  export interface AssetTransformPlugin extends Partial<AssetTransformHooks> {
386
381
  name: string;
387
382
  }
388
- export declare type ViewIdentity = Pick<View, 'rootComponent' | 'contentTemplate'>;
389
- export interface ViewSource {
390
- name: string;
391
- slug: string;
392
- ownHash: string;
393
- originalSource: string;
394
- filePath: string;
395
- }
396
- export interface CompiledView extends ViewSource {
397
- viewId: ViewIdentity;
398
- layoutTemplate?: string;
399
- immutable?: boolean;
400
- properties?: {
401
- [key: string]: unknown;
402
- };
403
- render: (context?: any) => Promise<RenderingResult>;
404
- }
405
- export declare type NormalizedRenderingResult = Required<RenderingResult>;
406
- export interface RenderingResult {
407
- renderedView: string;
408
- metadata?: RenderedViewMetadata;
409
- options?: RenderOptions;
410
- }
411
- export interface RenderedView {
412
- compiledView: CompiledView;
413
- renderedView: string;
414
- metadata: RenderedViewMetadata;
415
- options: RenderOptions;
416
- }
417
- export interface CustomElementReference {
418
- tagName: string;
419
- props?: {
420
- [name: string]: string;
421
- };
422
- children?: CustomElementReference[];
423
- location?: {
424
- startOffset: number;
425
- endOffset: number;
426
- };
427
- }
428
- export interface RenderedViewMetadata {
429
- customElements: CustomElementReference[];
430
- assetReferences: AssetReference[];
431
- }
432
- export interface RenderedAssetReference {
433
- url: string;
434
- tagName?: string;
435
- override?: AssetUri;
436
- }
437
- export interface AssetReference extends RenderedAssetReference {
438
- importer?: string;
439
- location: {
440
- startOffset: number;
441
- endOffset: number;
442
- };
443
- }
444
- export interface LinkedViewDefinitionMetaData {
445
- customElements: string[];
446
- assetReferences: RenderedAssetReference[];
447
- }
448
- export interface CustomElementRecord {
449
- elementName: string;
450
- flatGraph: FlattenedModuleGraphs;
451
- }
452
- export interface RenderedViewRecord {
453
- resources?: ResourceDefinition[];
454
- assetReferences?: RenderedAssetReference[];
455
- customElements?: CustomElementRecord[];
456
- endpoints?: Endpoints;
457
- importMetadata?: ImportMetadata;
458
- bootstrapModule?: {
459
- specifier: Specifier;
460
- flatGraph: FlattenedModuleGraphs;
461
- resources?: ResourceDefinition[];
462
- };
463
- }
464
- export interface LinkedViewDefinition {
465
- renderedView: string;
466
- viewRecord: RenderedViewRecord;
467
- immutable: boolean;
468
- }
469
- interface ViewRequestQs {
470
- [key: string]: undefined | string | string[];
471
- }
472
- export interface ViewRequest {
473
- url: string;
474
- requestPath: string;
475
- params?: any;
476
- query?: ViewRequestQs;
477
- routeHandlerFunction?: RouteHandlerFunction;
478
- }
479
- export interface CacheResponse {
480
- ttl?: string | number;
481
- }
482
- export interface ViewResponse {
483
- status?: number;
484
- body: Buffer | string | boolean | Json;
485
- cache?: CacheResponse;
486
- headers?: Record<string, string>;
487
- cookie?: 'wip';
488
- metadata?: {
489
- viewDefinition?: LinkedViewDefinition;
490
- };
491
- }
492
- export declare type RouteHandlerViewResponse = ViewDefinitionResponse | ViewResponse;
493
- export interface ViewDefinitionResponse {
494
- status?: number;
495
- view: RouteHandlerView;
496
- viewParams: ViewParams;
497
- renderOptions?: RenderOptions;
498
- cache?: CacheResponse;
499
- headers?: Record<string, string>;
500
- cookie?: 'wip';
501
- }
502
- export interface ViewProvider {
503
- name: string;
504
- initialize(): Promise<void>;
505
- getView(viewId: ViewIdentity): Promise<CompiledView | undefined>;
506
- }
507
- export interface ViewTranformPluginContext {
508
- view: View;
509
- viewParams: ViewParams;
510
- runtimeEnvironment: RuntimeEnvironment;
511
- runtimeParams: RuntimeParams;
512
- renderOptions: Required<RenderOptions>;
513
- contentIds: {
514
- lwrResourcesId: string;
515
- };
516
- importer?: string;
517
- }
518
- declare type ViewPluginLinkHook = (builder: LwrStringBuilder, viewContext: ViewTranformPluginContext, viewMetadata: RenderedViewMetadata, context?: TransformPluginContext) => Promise<ViewPluginLinkHookReturn>;
519
- declare type ViewPluginLinkHookReturn = void | null | undefined | false | LwrStringBuilder | {
520
- builder?: LwrStringBuilder;
521
- context?: TransformPluginContext;
522
- };
523
- declare type ViewPluginOptimizeHook = (code: string, assetSource: AssetSource, context?: TransformPluginContext) => Promise<ViewPluginOptimizeHookReturn>;
524
- declare type ViewPluginOptimizeHookReturn = null | undefined | false | string | {
525
- code: string;
526
- map?: any;
527
- context?: TransformPluginContext;
528
- };
529
- export interface ViewTransformHooks {
530
- link: ViewPluginLinkHook;
531
- optimize: ViewPluginOptimizeHook;
532
- }
533
- export interface ViewTransformPlugin extends Partial<ViewTransformHooks> {
534
- name: string;
535
- }
536
- export declare type ViewParams = Record<string, Json>;
537
- export interface ViewInfo {
538
- id: string;
539
- url: string;
540
- configAsSrc: boolean;
541
- }
542
- export interface RenderOptions {
543
- skipMetadataCollection?: boolean;
544
- freezeAssets?: boolean;
545
- skipCaching?: boolean;
546
- viewParamCacheKey?: Json;
547
- }
548
- export interface ViewPageContext {
549
- id: string;
550
- title?: string;
551
- url: string;
552
- }
553
- export interface ViewRegistry {
554
- addViewProviders(providers: ViewProvider[]): void;
555
- initializeViewProviders(): Promise<void[]>;
556
- getView(viewId: ViewIdentity, skipCaching?: boolean): Promise<CompiledView>;
557
- getViewDefinition<R extends RuntimeEnvironment>(view: View, viewParams: ViewParams, runtimeEnvironment: R, runtimeParams?: RuntimeParams, renderOptions?: RenderOptions): Promise<LinkedViewDefinition>;
558
- hasViewDefinition<R extends RuntimeEnvironment>(view: View, viewParams: ViewParams, runtimeEnvironment: R, runtimeParams?: RuntimeParams, renderOptions?: RenderOptions): boolean;
559
- getPublicApi(): PublicViewRegistry;
560
- }
561
- export declare type PublicViewRegistry = Pick<ViewRegistry, 'getView' | 'getViewDefinition'>;
562
383
  export interface ResourceRegistry {
563
384
  name: string;
564
385
  addResourceProviders(provider: ResourceProvider[]): void;
@@ -633,11 +454,7 @@ export interface ClientBootstrapConfig {
633
454
  preloadModules?: string[];
634
455
  rootComponent?: string;
635
456
  rootComponents?: string[];
636
- rootProperties?: {
637
- [specifier: string]: {
638
- [key: string]: string;
639
- };
640
- };
457
+ ssrProps?: Json;
641
458
  customInit?: Function;
642
459
  onError?: Function;
643
460
  baseUrl?: string;
package/build/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './config.js';
2
2
  export * from './server.js';
3
+ export * from './views.js';
3
4
  // -- ServiceAPI --------------------------------
4
5
  export * from './serviceAPI/serviceAPI.js';
5
6
  export * from './serviceAPI/loaderPlugins/loaderPlugins.js';
@@ -0,0 +1,193 @@
1
+ /// <reference types="node" />
2
+ import { RouteHandlerFunction, RouteHandlerView, View } from './config.js';
3
+ import { AssetSource, AssetUri, Endpoints, FlattenedModuleGraphs, ImportMetadata, Json, LwrStringBuilder, ResourceDefinition, RuntimeEnvironment, RuntimeParams, Specifier, TransformPluginContext } from './index.js';
4
+ export declare type ViewIdentity = Pick<View, 'rootComponent' | 'contentTemplate'>;
5
+ export interface ViewSource {
6
+ name: string;
7
+ slug: string;
8
+ ownHash: string;
9
+ originalSource: string;
10
+ filePath: string;
11
+ }
12
+ export interface CompiledView extends ViewSource {
13
+ viewId: ViewIdentity;
14
+ layoutTemplate?: string;
15
+ immutable?: boolean;
16
+ properties?: {
17
+ [key: string]: unknown;
18
+ };
19
+ render: (context?: any) => Promise<RenderingResult>;
20
+ }
21
+ export declare type NormalizedRenderingResult = Required<RenderingResult>;
22
+ export interface RenderingResult {
23
+ renderedView: string;
24
+ metadata?: RenderedViewMetadata;
25
+ options?: RenderOptions;
26
+ }
27
+ export interface RenderedView {
28
+ compiledView: CompiledView;
29
+ renderedView: string;
30
+ metadata: RenderedViewMetadata;
31
+ options: RenderOptions;
32
+ }
33
+ export interface CustomElementReference {
34
+ tagName: string;
35
+ props?: {
36
+ [name: string]: string;
37
+ };
38
+ children?: CustomElementReference[];
39
+ location?: {
40
+ startOffset: number;
41
+ endOffset: number;
42
+ };
43
+ }
44
+ export interface RenderedViewMetadata {
45
+ customElements: CustomElementReference[];
46
+ assetReferences: AssetReference[];
47
+ }
48
+ export interface RenderedAssetReference {
49
+ url: string;
50
+ tagName?: string;
51
+ override?: AssetUri;
52
+ }
53
+ export interface AssetReference extends RenderedAssetReference {
54
+ importer?: string;
55
+ location: {
56
+ startOffset: number;
57
+ endOffset: number;
58
+ };
59
+ }
60
+ export interface LinkedViewDefinitionMetaData {
61
+ customElements: string[];
62
+ assetReferences: RenderedAssetReference[];
63
+ }
64
+ export interface CustomElementRecord {
65
+ elementName: string;
66
+ flatGraph: FlattenedModuleGraphs;
67
+ }
68
+ export interface RenderedViewRecord {
69
+ resources?: ResourceDefinition[];
70
+ assetReferences?: RenderedAssetReference[];
71
+ customElements?: CustomElementRecord[];
72
+ endpoints?: Endpoints;
73
+ importMetadata?: ImportMetadata;
74
+ bootstrapModule?: {
75
+ specifier: Specifier;
76
+ flatGraph: FlattenedModuleGraphs;
77
+ resources?: ResourceDefinition[];
78
+ };
79
+ }
80
+ export interface LinkedViewDefinition {
81
+ renderedView: string;
82
+ viewRecord: RenderedViewRecord;
83
+ immutable: boolean;
84
+ }
85
+ interface ViewRequestQs {
86
+ [key: string]: undefined | string | string[];
87
+ }
88
+ export interface ViewRequest {
89
+ url: string;
90
+ requestPath: string;
91
+ params?: any;
92
+ query?: ViewRequestQs;
93
+ routeHandlerFunction?: RouteHandlerFunction;
94
+ }
95
+ export interface CacheResponse {
96
+ ttl?: string | number;
97
+ }
98
+ export interface ViewResponse {
99
+ status?: number;
100
+ body: Buffer | string | boolean | Json;
101
+ cache?: CacheResponse;
102
+ headers?: Record<string, string>;
103
+ cookie?: 'wip';
104
+ metadata?: {
105
+ viewDefinition?: LinkedViewDefinition;
106
+ };
107
+ }
108
+ export declare type RouteHandlerViewResponse = ViewDefinitionResponse | ViewResponse;
109
+ export interface ViewDefinitionResponse {
110
+ status?: number;
111
+ view: RouteHandlerView;
112
+ viewParams: ViewParams;
113
+ renderOptions?: RenderOptions;
114
+ cache?: CacheResponse;
115
+ headers?: Record<string, string>;
116
+ cookie?: 'wip';
117
+ }
118
+ export interface ViewProvider {
119
+ name: string;
120
+ initialize(): Promise<void>;
121
+ getView(viewId: ViewIdentity): Promise<CompiledView | undefined>;
122
+ }
123
+ export interface ViewTranformPluginContext {
124
+ view: View;
125
+ viewParams: ViewParams;
126
+ runtimeEnvironment: RuntimeEnvironment;
127
+ runtimeParams: RuntimeParams;
128
+ renderOptions: Required<RenderOptions>;
129
+ contentIds: {
130
+ lwrResourcesId: string;
131
+ };
132
+ importer?: string;
133
+ }
134
+ declare type ViewPluginLinkHook = (builder: LwrStringBuilder, viewContext: ViewTranformPluginContext, viewMetadata: RenderedViewMetadata, context?: TransformPluginContext) => Promise<ViewPluginLinkHookReturn>;
135
+ declare type ViewPluginLinkHookReturn = void | null | undefined | false | LwrStringBuilder | {
136
+ builder?: LwrStringBuilder;
137
+ context?: TransformPluginContext;
138
+ };
139
+ declare type ViewPluginOptimizeHook = (code: string, assetSource: AssetSource, context?: TransformPluginContext) => Promise<ViewPluginOptimizeHookReturn>;
140
+ declare type ViewPluginOptimizeHookReturn = null | undefined | false | string | {
141
+ code: string;
142
+ map?: any;
143
+ context?: TransformPluginContext;
144
+ };
145
+ export interface ViewTransformHooks {
146
+ link: ViewPluginLinkHook;
147
+ optimize: ViewPluginOptimizeHook;
148
+ }
149
+ export interface ViewTransformPlugin extends Partial<ViewTransformHooks> {
150
+ name: string;
151
+ }
152
+ export declare type ViewParams = Record<string, Json>;
153
+ export interface ViewInfo {
154
+ id: string;
155
+ url: string;
156
+ configAsSrc: boolean;
157
+ }
158
+ export interface RenderOptions {
159
+ skipMetadataCollection?: boolean;
160
+ freezeAssets?: boolean;
161
+ skipCaching?: boolean;
162
+ viewParamCacheKey?: Json;
163
+ }
164
+ export interface ViewPageContext {
165
+ id: string;
166
+ title?: string;
167
+ url: string;
168
+ }
169
+ export interface ViewRegistry {
170
+ addViewProviders(providers: ViewProvider[]): void;
171
+ initializeViewProviders(): Promise<void[]>;
172
+ getView(viewId: ViewIdentity, skipCaching?: boolean): Promise<CompiledView>;
173
+ getViewDefinition<R extends RuntimeEnvironment>(view: View, viewParams: ViewParams, runtimeEnvironment: R, runtimeParams?: RuntimeParams, renderOptions?: RenderOptions): Promise<LinkedViewDefinition>;
174
+ hasViewDefinition<R extends RuntimeEnvironment>(view: View, viewParams: ViewParams, runtimeEnvironment: R, runtimeParams?: RuntimeParams, renderOptions?: RenderOptions): boolean;
175
+ getPublicApi(): PublicViewRegistry;
176
+ }
177
+ export declare type PublicViewRegistry = Pick<ViewRegistry, 'getView' | 'getViewDefinition'>;
178
+ export interface PropsRequestContext {
179
+ props: Json;
180
+ params: {
181
+ [key: string]: string;
182
+ };
183
+ query: {
184
+ [key: string]: string;
185
+ };
186
+ locale: string;
187
+ fetch: Function;
188
+ }
189
+ export interface PropsResponse {
190
+ props: Json;
191
+ }
192
+ export {};
193
+ //# sourceMappingURL=views.d.ts.map
package/build/views.js ADDED
@@ -0,0 +1,3 @@
1
+ export {};
2
+ // END types for SSR data
3
+ //# sourceMappingURL=views.js.map
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "build": "tsc -b"
9
9
  },
10
10
  "type": "module",
11
- "version": "0.7.0-alpha.9",
11
+ "version": "0.7.0",
12
12
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
13
13
  "repository": {
14
14
  "type": "git",
@@ -25,7 +25,7 @@
25
25
  "build/**/*.d.ts"
26
26
  ],
27
27
  "engines": {
28
- "node": ">=14.15.4 <17"
28
+ "node": ">=14.15.4 <19"
29
29
  },
30
- "gitHead": "522665298cc74f1898da6ed018fa72504bd72645"
30
+ "gitHead": "c6dcb52144a8da80170e30d49a87e29d2da30f9b"
31
31
  }