@lwrjs/types 0.5.11-alpha.2 → 0.6.0-alpha.11

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
@@ -32,6 +32,7 @@ export interface LwrAppBootstrapConfig {
32
32
  };
33
33
  services?: string[];
34
34
  configAsSrc?: boolean;
35
+ experimentalSSR?: boolean;
35
36
  }
36
37
  export declare type NormalizedLwrAppBootstrapConfig = Required<LwrAppBootstrapConfig>;
37
38
  export interface LwrLockerConfig {
@@ -71,12 +72,15 @@ export interface LwrGlobalConfig {
71
72
  globalDataDir?: string;
72
73
  globalData?: GlobalData;
73
74
  assets?: string | AssetConfig[];
75
+ assetProviders?: ServiceConfig[];
76
+ assetTransformers?: ServiceConfig[];
74
77
  hooks?: ServiceConfig[];
75
78
  environment?: EnvironmentConfig;
76
79
  lwc?: LwcConfig;
77
80
  moduleProviders?: ServiceConfig[];
78
81
  resourceProviders?: ServiceConfig[];
79
82
  viewProviders?: ServiceConfig[];
83
+ viewTransformers?: ServiceConfig[];
80
84
  templateEngine?: string;
81
85
  routes?: LwrRoute[];
82
86
  errorRoutes?: LwrErrorRoute[];
@@ -93,8 +97,10 @@ export interface NormalizedLwrGlobalConfig extends Required<Omit<LwrGlobalConfig
93
97
  esmLoader: string;
94
98
  moduleProviders: ServiceEntry[];
95
99
  viewProviders: ServiceEntry[];
100
+ viewTransformers: ServiceEntry[];
96
101
  resourceProviders: ServiceEntry[];
97
102
  assetProviders: ServiceEntry[];
103
+ assetTransformers: ServiceEntry[];
98
104
  lwc: NormalizedLwcConfig;
99
105
  }
100
106
  export interface StaticSiteGenerator {
@@ -127,6 +133,7 @@ export declare type ServiceConfig = string | ServiceEntry;
127
133
  export interface BundleConfig {
128
134
  exclude?: string[];
129
135
  external?: Record<string, string>;
136
+ alias?: Record<string, string>;
130
137
  }
131
138
  export declare type Environment = string;
132
139
  export interface EnvironmentConfig {
package/build/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from './metrics.js';
10
10
  export * from './serviceAPI/serviceAPI.js';
11
11
  export * from './serviceAPI/loaderPlugins/loaderPlugins.js';
12
12
  export * from './serviceAPI/handleStaleModule/handleStaleModule.js';
13
+ export * from './serviceAPI/appMetadata/appMetadata.js';
13
14
  export declare type Json = undefined | null | boolean | number | string | Json[] | {
14
15
  [prop: string]: Json;
15
16
  };
@@ -241,7 +242,7 @@ export interface ModuleProvider {
241
242
  getModule<T extends AbstractModuleId>(moduleId: T, runtimeParams?: RuntimeParams): Promise<ModuleCompiled | undefined>;
242
243
  getModuleEntry<T extends AbstractModuleId>(moduleId: T, runtimeParams?: RuntimeParams): Promise<ModuleEntry | undefined>;
243
244
  }
244
- export declare type LwrService = ModuleProvider | ResourceProvider | ViewProvider | AssetProvider | HooksPlugin;
245
+ export declare type LwrService = ModuleProvider | ResourceProvider | ViewProvider | AssetProvider | HooksPlugin | AssetTransformPlugin | ViewTransformPlugin;
245
246
  export interface ServiceCtor<T extends LwrService, R extends Record<string, Json> = {}> {
246
247
  new (moduleProviderConfig: R, serviceProviderConfig?: any, ...args: any[]): T;
247
248
  }
@@ -256,8 +257,9 @@ export interface ModuleRegistry {
256
257
  }
257
258
  export declare type PublicModuleRegistry = Pick<ModuleRegistry, 'getModule' | 'getModuleEntry' | 'resolveModuleUri'>;
258
259
  export interface ModuleBundler {
259
- getModuleBundle<T extends AbstractModuleId, R extends RuntimeEnvironment>(moduleId: T, runtimeEnvironment: R, runtimeParams?: RuntimeParams): Promise<BundleDefinition>;
260
+ getModuleBundle<T extends AbstractModuleId, R extends RuntimeEnvironment>(moduleId: T, runtimeEnvironment: R, runtimeParams?: RuntimeParams, bundleConfigOverrides?: BundleConfig): Promise<BundleDefinition>;
260
261
  }
262
+ export declare type PublicModuleBundler = Pick<ModuleBundler, 'getModuleBundle'>;
261
263
  export interface BundleRecord {
262
264
  imports?: BaseModuleReference[];
263
265
  dynamicImports?: BaseDynamicModuleReference[];
@@ -287,6 +289,7 @@ export interface ProviderContext {
287
289
  appObserver: Pick<LwrAppObserver, 'onModuleDefinitionChange' | 'onModuleSourceChange' | 'onAssetSourceChange' | 'onViewSourceChange'>;
288
290
  appEmitter: Pick<LwrAppEmitter, 'notifyModuleDefinitionChanged' | 'notifyAssetSourceChanged' | 'notifyModuleSourceChanged' | 'notifyViewSourceChanged'>;
289
291
  moduleRegistry: PublicModuleRegistry;
292
+ moduleBundler: PublicModuleBundler;
290
293
  resourceRegistry: PublicResourceRegistry;
291
294
  viewRegistry: PublicViewRegistry;
292
295
  assetRegistry: PublicAssetRegistry;
@@ -319,19 +322,30 @@ export interface ResourceDefinition {
319
322
  stream?: Readable;
320
323
  isPreload?: boolean;
321
324
  }
325
+ export interface AssetReference {
326
+ url: string;
327
+ location: {
328
+ startOffset: number;
329
+ endOffset: number;
330
+ };
331
+ }
332
+ export interface AssetMetadata {
333
+ assetReferences?: AssetReference[];
334
+ }
322
335
  export interface AssetSource {
323
336
  entry: string;
324
337
  ext: string;
325
338
  mime: string | false;
326
339
  ownHash: string;
327
- stream: (encoding?: BufferEncoding) => Readable;
328
- content: (encoding?: BufferEncoding) => string;
340
+ content: (encoding?: BufferEncoding) => string | Buffer;
329
341
  uri?: string;
342
+ metadata?: AssetMetadata;
330
343
  }
331
344
  export declare type AssetType = 'asset' | 'content-asset' | 'external' | 'unknown';
332
345
  export interface AssetDefinition extends AssetSource {
333
346
  uri: string;
334
347
  type: AssetType;
348
+ stream: (encoding?: BufferEncoding) => Readable;
335
349
  }
336
350
  export declare type ResourceJson = Pick<ResourceDefinition, 'type' | 'src'>;
337
351
  export interface ResourceProvider {
@@ -342,6 +356,31 @@ export interface AssetProvider {
342
356
  name: string;
343
357
  getAsset(fileAssetPath: string): Promise<AssetSource | undefined>;
344
358
  }
359
+ declare type TransformPluginContext = Record<string, any>;
360
+ declare type AssetPluginTransformHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginTransformHookReturn>;
361
+ declare type AssetPluginTransformHookReturn = null | undefined | false | string | Buffer | {
362
+ code: string | Buffer;
363
+ context?: TransformPluginContext;
364
+ };
365
+ declare type AssetPluginExtractMetaHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginExtractMetaHookReturn>;
366
+ declare type AssetPluginExtractMetaHookReturn = null | undefined | false | {
367
+ metadata?: AssetMetadata;
368
+ context?: TransformPluginContext;
369
+ };
370
+ declare type AssetPluginOptimizeHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginOptimizeHookReturn>;
371
+ declare type AssetPluginOptimizeHookReturn = null | undefined | false | string | Buffer | {
372
+ code: string | Buffer;
373
+ map?: any;
374
+ context?: TransformPluginContext;
375
+ };
376
+ export interface AssetTransformHooks {
377
+ transform: AssetPluginTransformHook;
378
+ extractMetadata: AssetPluginExtractMetaHook;
379
+ optimize: AssetPluginOptimizeHook;
380
+ }
381
+ export interface AssetTransformPlugin extends Partial<AssetTransformHooks> {
382
+ name: string;
383
+ }
345
384
  export declare type ViewIdentity = Pick<View, 'rootComponent' | 'contentTemplate'>;
346
385
  export interface ViewSource {
347
386
  name: string;
@@ -371,13 +410,21 @@ export interface RenderedView {
371
410
  metadata: RenderedViewMetadata;
372
411
  options: RenderOptions;
373
412
  }
413
+ export interface CustomElementReference {
414
+ tagName: string;
415
+ children?: CustomElementReference[];
416
+ location?: {
417
+ startOffset: number;
418
+ endOffset: number;
419
+ };
420
+ }
374
421
  export interface RenderedViewMetadata {
375
- customElements: string[];
422
+ customElements: CustomElementReference[];
376
423
  assetReferences: AssetReference[];
377
424
  }
378
425
  export interface RenderedAssetReference {
379
426
  url: string;
380
- tagName: string;
427
+ tagName?: string;
381
428
  override?: AssetUri;
382
429
  }
383
430
  export interface AssetReference extends RenderedAssetReference {
@@ -399,6 +446,8 @@ export interface RenderedViewRecord {
399
446
  resources?: ResourceDefinition[];
400
447
  assetReferences?: RenderedAssetReference[];
401
448
  customElements?: CustomElementRecord[];
449
+ endpoints?: Endpoints;
450
+ importMetadata?: ImportMetadata;
402
451
  bootstrapModule?: {
403
452
  specifier: Specifier;
404
453
  flatGraph: FlattenedModuleGraphs;
@@ -448,6 +497,35 @@ export interface ViewProvider {
448
497
  initialize(): Promise<void>;
449
498
  getView(viewId: ViewIdentity): Promise<CompiledView | undefined>;
450
499
  }
500
+ export interface ViewTranformPluginContext {
501
+ view: View;
502
+ viewParams: ViewParams;
503
+ runtimeEnvironment: RuntimeEnvironment;
504
+ runtimeParams: RuntimeParams;
505
+ renderOptions: Required<RenderOptions>;
506
+ contentIds: {
507
+ lwrResourcesId: string;
508
+ };
509
+ importer?: string;
510
+ }
511
+ declare type ViewPluginLinkHook = (builder: LwrStringBuilder, viewContext: ViewTranformPluginContext, viewMetadata: RenderedViewMetadata, context?: TransformPluginContext) => Promise<ViewPluginLinkHookReturn>;
512
+ declare type ViewPluginLinkHookReturn = void | null | undefined | false | LwrStringBuilder | {
513
+ builder?: LwrStringBuilder;
514
+ context?: TransformPluginContext;
515
+ };
516
+ declare type ViewPluginOptimizeHook = (code: string, assetSource: AssetSource, context?: TransformPluginContext) => Promise<ViewPluginOptimizeHookReturn>;
517
+ declare type ViewPluginOptimizeHookReturn = null | undefined | false | string | {
518
+ code: string;
519
+ map?: any;
520
+ context?: TransformPluginContext;
521
+ };
522
+ export interface ViewTransformHooks {
523
+ link: ViewPluginLinkHook;
524
+ optimize: ViewPluginOptimizeHook;
525
+ }
526
+ export interface ViewTransformPlugin extends Partial<ViewTransformHooks> {
527
+ name: string;
528
+ }
451
529
  export declare type ViewParams = Record<string, Json>;
452
530
  export interface ViewInfo {
453
531
  id: string;
@@ -485,7 +563,7 @@ export declare type PublicResourceRegistry = Pick<ResourceRegistry, 'getResource
485
563
  export interface AssetRegistry {
486
564
  name: string;
487
565
  addAssetProviders(provider: AssetProvider[]): void;
488
- getAsset<R extends AssetIdentifier, T extends RuntimeEnvironment>(resourceIdentity: R, runtimeEnvironment: T): Promise<AssetSource>;
566
+ getAsset<R extends AssetIdentifier, T extends RuntimeEnvironment>(resourceIdentity: R, runtimeEnvironment: T): Promise<AssetDefinition>;
489
567
  resolveAssetUri<R extends AssetIdentifier, T extends RuntimeEnvironment>(resourceIdentity: R, runtimeEnvironment: T): Promise<AssetUri>;
490
568
  getPublicApi(): PublicAssetRegistry;
491
569
  }
@@ -626,4 +704,32 @@ export interface FlattenedModuleGraphs {
626
704
  export declare type ImportMapImports = {
627
705
  [key: string]: string;
628
706
  };
707
+ export interface LwrBuilderOverwriteOptions {
708
+ storeName?: boolean;
709
+ contentOnly?: boolean;
710
+ }
711
+ export interface LwrStringBuilder {
712
+ append(content: string): LwrStringBuilder;
713
+ appendLeft(index: number, content: string): LwrStringBuilder;
714
+ appendRight(index: number, content: string): LwrStringBuilder;
715
+ clone(): LwrStringBuilder;
716
+ move(start: number, end: number, index: number): LwrStringBuilder;
717
+ overwrite(start: number, end: number, content: string, options?: boolean | LwrBuilderOverwriteOptions): LwrStringBuilder;
718
+ prepend(content: string): LwrStringBuilder;
719
+ prependLeft(index: number, content: string): LwrStringBuilder;
720
+ prependRight(index: number, content: string): LwrStringBuilder;
721
+ remove(start: number, end: number): LwrStringBuilder;
722
+ slice(start: number, end: number): string;
723
+ snip(start: number, end: number): LwrStringBuilder;
724
+ trim(charType?: string): LwrStringBuilder;
725
+ trimStart(charType?: string): LwrStringBuilder;
726
+ trimEnd(charType?: string): LwrStringBuilder;
727
+ trimLines(): LwrStringBuilder;
728
+ lastChar(): string;
729
+ lastLine(): string;
730
+ isEmpty(): boolean;
731
+ length(): number;
732
+ toString(): string;
733
+ original: string;
734
+ }
629
735
  //# sourceMappingURL=index.d.ts.map
package/build/index.js CHANGED
@@ -5,4 +5,5 @@ export * from './metrics.js';
5
5
  export * from './serviceAPI/serviceAPI.js';
6
6
  export * from './serviceAPI/loaderPlugins/loaderPlugins.js';
7
7
  export * from './serviceAPI/handleStaleModule/handleStaleModule.js';
8
+ export * from './serviceAPI/appMetadata/appMetadata.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ export declare type AppMetadata = {
2
+ bootstrapModule: string;
3
+ rootComponent?: string;
4
+ rootComponents?: string[];
5
+ };
6
+ //# sourceMappingURL=appMetadata.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=appMetadata.js.map
@@ -1,8 +1,10 @@
1
1
  import { RegisterLoaderHooks } from './loaderPlugins/loaderPlugins';
2
2
  import { RegisterHandleStaleModuleHook } from './handleStaleModule/handleStaleModule';
3
+ import { AppMetadata } from './appMetadata/appMetadata';
3
4
  export interface ServiceAPI {
4
5
  addLoaderPlugin: NoOp | RegisterLoaderHooks;
5
6
  handleStaleModule: RegisterHandleStaleModuleHook;
7
+ appMetadata: AppMetadata;
6
8
  }
7
9
  export interface NoOp {
8
10
  (): void;
package/package.json CHANGED
@@ -8,8 +8,8 @@
8
8
  "build": "tsc -b"
9
9
  },
10
10
  "type": "module",
11
- "version": "0.5.11-alpha.2",
12
- "homepage": "https://lwr.dev/",
11
+ "version": "0.6.0-alpha.11",
12
+ "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "https://github.com/salesforce/lwr.git",
@@ -27,5 +27,5 @@
27
27
  "engines": {
28
28
  "node": ">=14.15.4 <17"
29
29
  },
30
- "gitHead": "83785c79e6adbfb1ead85e0c23e9164a22cb5755"
30
+ "gitHead": "18ab72188c2d52e32cca47333951a9c76f996039"
31
31
  }