@lwrjs/types 0.7.0-alpha.1 → 0.7.0-alpha.12

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
@@ -108,6 +108,7 @@ export interface StaticSiteGenerator {
108
108
  outputDir?: string;
109
109
  locales?: string[];
110
110
  _additionalRoutePaths?: string[];
111
+ _additionalModules?: string[];
111
112
  }
112
113
  interface AssetConfigCommon {
113
114
  urlPath: string;
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';
@@ -152,6 +154,9 @@ export interface ServerModeConfig {
152
154
  defaultLocale: string;
153
155
  hmrEnabled: boolean;
154
156
  immutableAssets: boolean;
157
+ env: {
158
+ NODE_ENV: string;
159
+ };
155
160
  featureFlags: FeatureFlags;
156
161
  }
157
162
  export interface FeatureFlags {
@@ -167,7 +172,7 @@ export interface RuntimeEnvironment extends ServerModeConfig {
167
172
  export interface SourceMapRuntimeEnvironment extends RuntimeEnvironment {
168
173
  sourceMapUrl?: string;
169
174
  }
170
- 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>>;
171
176
  export interface ModuleIdentity {
172
177
  signature: string;
173
178
  moduleId: AbstractModuleId;
@@ -323,13 +328,6 @@ export interface ResourceDefinition {
323
328
  stream?: Readable;
324
329
  isPreload?: boolean;
325
330
  }
326
- export interface AssetReference {
327
- url: string;
328
- location: {
329
- startOffset: number;
330
- endOffset: number;
331
- };
332
- }
333
331
  export interface AssetMetadata {
334
332
  assetReferences?: AssetReference[];
335
333
  }
@@ -357,7 +355,7 @@ export interface AssetProvider {
357
355
  name: string;
358
356
  getAsset(fileAssetPath: string): Promise<AssetSource | undefined>;
359
357
  }
360
- declare type TransformPluginContext = Record<string, any>;
358
+ export declare type TransformPluginContext = Record<string, any>;
361
359
  declare type AssetPluginTransformHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginTransformHookReturn>;
362
360
  declare type AssetPluginTransformHookReturn = null | undefined | false | string | Buffer | {
363
361
  code: string | Buffer;
@@ -382,177 +380,6 @@ export interface AssetTransformHooks {
382
380
  export interface AssetTransformPlugin extends Partial<AssetTransformHooks> {
383
381
  name: string;
384
382
  }
385
- export declare type ViewIdentity = Pick<View, 'rootComponent' | 'contentTemplate'>;
386
- export interface ViewSource {
387
- name: string;
388
- slug: string;
389
- ownHash: string;
390
- originalSource: string;
391
- filePath: string;
392
- }
393
- export interface CompiledView extends ViewSource {
394
- viewId: ViewIdentity;
395
- layoutTemplate?: string;
396
- immutable?: boolean;
397
- properties?: {
398
- [key: string]: unknown;
399
- };
400
- render: (context?: any) => Promise<RenderingResult>;
401
- }
402
- export declare type NormalizedRenderingResult = Required<RenderingResult>;
403
- export interface RenderingResult {
404
- renderedView: string;
405
- metadata?: RenderedViewMetadata;
406
- options?: RenderOptions;
407
- }
408
- export interface RenderedView {
409
- compiledView: CompiledView;
410
- renderedView: string;
411
- metadata: RenderedViewMetadata;
412
- options: RenderOptions;
413
- }
414
- export interface CustomElementReference {
415
- tagName: string;
416
- children?: CustomElementReference[];
417
- location?: {
418
- startOffset: number;
419
- endOffset: number;
420
- };
421
- }
422
- export interface RenderedViewMetadata {
423
- customElements: CustomElementReference[];
424
- assetReferences: AssetReference[];
425
- }
426
- export interface RenderedAssetReference {
427
- url: string;
428
- tagName?: string;
429
- override?: AssetUri;
430
- }
431
- export interface AssetReference extends RenderedAssetReference {
432
- importer?: string;
433
- location: {
434
- startOffset: number;
435
- endOffset: number;
436
- };
437
- }
438
- export interface LinkedViewDefinitionMetaData {
439
- customElements: string[];
440
- assetReferences: RenderedAssetReference[];
441
- }
442
- export interface CustomElementRecord {
443
- elementName: string;
444
- flatGraph: FlattenedModuleGraphs;
445
- }
446
- export interface RenderedViewRecord {
447
- resources?: ResourceDefinition[];
448
- assetReferences?: RenderedAssetReference[];
449
- customElements?: CustomElementRecord[];
450
- endpoints?: Endpoints;
451
- importMetadata?: ImportMetadata;
452
- bootstrapModule?: {
453
- specifier: Specifier;
454
- flatGraph: FlattenedModuleGraphs;
455
- resources?: ResourceDefinition[];
456
- };
457
- }
458
- export interface LinkedViewDefinition {
459
- renderedView: string;
460
- viewRecord: RenderedViewRecord;
461
- immutable: boolean;
462
- }
463
- interface ViewRequestQs {
464
- [key: string]: undefined | string | string[];
465
- }
466
- export interface ViewRequest {
467
- url: string;
468
- requestPath: string;
469
- params?: any;
470
- query?: ViewRequestQs;
471
- routeHandlerFunction?: RouteHandlerFunction;
472
- }
473
- export interface CacheResponse {
474
- ttl?: string | number;
475
- }
476
- export interface ViewResponse {
477
- status?: number;
478
- body: Buffer | string | boolean | Json;
479
- cache?: CacheResponse;
480
- headers?: Record<string, string>;
481
- cookie?: 'wip';
482
- metadata?: {
483
- viewDefinition?: LinkedViewDefinition;
484
- };
485
- }
486
- export declare type RouteHandlerViewResponse = ViewDefinitionResponse | ViewResponse;
487
- export interface ViewDefinitionResponse {
488
- status?: number;
489
- view: RouteHandlerView;
490
- viewParams: ViewParams;
491
- renderOptions?: RenderOptions;
492
- cache?: CacheResponse;
493
- headers?: Record<string, string>;
494
- cookie?: 'wip';
495
- }
496
- export interface ViewProvider {
497
- name: string;
498
- initialize(): Promise<void>;
499
- getView(viewId: ViewIdentity): Promise<CompiledView | undefined>;
500
- }
501
- export interface ViewTranformPluginContext {
502
- view: View;
503
- viewParams: ViewParams;
504
- runtimeEnvironment: RuntimeEnvironment;
505
- runtimeParams: RuntimeParams;
506
- renderOptions: Required<RenderOptions>;
507
- contentIds: {
508
- lwrResourcesId: string;
509
- };
510
- importer?: string;
511
- }
512
- declare type ViewPluginLinkHook = (builder: LwrStringBuilder, viewContext: ViewTranformPluginContext, viewMetadata: RenderedViewMetadata, context?: TransformPluginContext) => Promise<ViewPluginLinkHookReturn>;
513
- declare type ViewPluginLinkHookReturn = void | null | undefined | false | LwrStringBuilder | {
514
- builder?: LwrStringBuilder;
515
- context?: TransformPluginContext;
516
- };
517
- declare type ViewPluginOptimizeHook = (code: string, assetSource: AssetSource, context?: TransformPluginContext) => Promise<ViewPluginOptimizeHookReturn>;
518
- declare type ViewPluginOptimizeHookReturn = null | undefined | false | string | {
519
- code: string;
520
- map?: any;
521
- context?: TransformPluginContext;
522
- };
523
- export interface ViewTransformHooks {
524
- link: ViewPluginLinkHook;
525
- optimize: ViewPluginOptimizeHook;
526
- }
527
- export interface ViewTransformPlugin extends Partial<ViewTransformHooks> {
528
- name: string;
529
- }
530
- export declare type ViewParams = Record<string, Json>;
531
- export interface ViewInfo {
532
- id: string;
533
- url: string;
534
- configAsSrc: boolean;
535
- }
536
- export interface RenderOptions {
537
- skipMetadataCollection?: boolean;
538
- freezeAssets?: boolean;
539
- skipCaching?: boolean;
540
- viewParamCacheKey?: Json;
541
- }
542
- export interface ViewPageContext {
543
- id: string;
544
- title?: string;
545
- url: string;
546
- }
547
- export interface ViewRegistry {
548
- addViewProviders(providers: ViewProvider[]): void;
549
- initializeViewProviders(): Promise<void[]>;
550
- getView(viewId: ViewIdentity, skipCaching?: boolean): Promise<CompiledView>;
551
- getViewDefinition<R extends RuntimeEnvironment>(view: View, viewParams: ViewParams, runtimeEnvironment: R, runtimeParams?: RuntimeParams, renderOptions?: RenderOptions): Promise<LinkedViewDefinition>;
552
- hasViewDefinition<R extends RuntimeEnvironment>(view: View, viewParams: ViewParams, runtimeEnvironment: R, runtimeParams?: RuntimeParams, renderOptions?: RenderOptions): boolean;
553
- getPublicApi(): PublicViewRegistry;
554
- }
555
- export declare type PublicViewRegistry = Pick<ViewRegistry, 'getView' | 'getViewDefinition'>;
556
383
  export interface ResourceRegistry {
557
384
  name: string;
558
385
  addResourceProviders(provider: ResourceProvider[]): void;
@@ -610,8 +437,12 @@ export interface Compiler {
610
437
  getModuleMetadata(compiledSource: string): Promise<Partial<CompiledMetadata>>;
611
438
  lockerize(compiledModule: ModuleCompiled, lockerConfig: LwrLockerConfig, sourcemap: boolean): CompilerResult;
612
439
  minifyJavascript(source: string): Promise<CompilerResult>;
440
+ parseJavascript(source: string, options: ParseOptions): Promise<CompilerResult>;
613
441
  minifyCSS(source: string): Promise<CompilerResult>;
614
442
  }
443
+ export interface ParseOptions {
444
+ envMode: string;
445
+ }
615
446
  export interface CompilerContext {
616
447
  runtimeEnvironment: RuntimeEnvironment;
617
448
  }
@@ -623,6 +454,7 @@ export interface ClientBootstrapConfig {
623
454
  preloadModules?: string[];
624
455
  rootComponent?: string;
625
456
  rootComponents?: string[];
457
+ ssrProps?: Json;
626
458
  customInit?: Function;
627
459
  onError?: Function;
628
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';
package/build/server.d.ts CHANGED
@@ -46,6 +46,7 @@ export interface InternalAppServerConstructable {
46
46
  export interface MiddlewareFunction {
47
47
  (req: MiddlewareRequest, res: MiddlewareResponse, next: Function): void;
48
48
  }
49
+ export declare type Headers = http.IncomingHttpHeaders;
49
50
  export interface MiddlewareRequest {
50
51
  params: any;
51
52
  originalUrl: string;
@@ -53,6 +54,7 @@ export interface MiddlewareRequest {
53
54
  query: any;
54
55
  body: any;
55
56
  method: string;
57
+ headers: Headers;
56
58
  protocol: string;
57
59
  locale: string;
58
60
  acceptsLanguages(): string[];
@@ -0,0 +1,190 @@
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
+ locale: string;
184
+ fetch: Function;
185
+ }
186
+ export interface PropsResponse {
187
+ props: Json;
188
+ }
189
+ export {};
190
+ //# 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.1",
11
+ "version": "0.7.0-alpha.12",
12
12
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
13
13
  "repository": {
14
14
  "type": "git",
@@ -27,5 +27,5 @@
27
27
  "engines": {
28
28
  "node": ">=14.15.4 <17"
29
29
  },
30
- "gitHead": "24245670d6908d37e465f2316f92385df63d22aa"
30
+ "gitHead": "785b8380a821b43b7320783dddaf20d1433216e2"
31
31
  }