@lwrjs/types 0.6.0-alpha.1 → 0.6.0-alpha.10

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
@@ -241,7 +241,7 @@ export interface ModuleProvider {
241
241
  getModule<T extends AbstractModuleId>(moduleId: T, runtimeParams?: RuntimeParams): Promise<ModuleCompiled | undefined>;
242
242
  getModuleEntry<T extends AbstractModuleId>(moduleId: T, runtimeParams?: RuntimeParams): Promise<ModuleEntry | undefined>;
243
243
  }
244
- export declare type LwrService = ModuleProvider | ResourceProvider | ViewProvider | AssetProvider | HooksPlugin;
244
+ export declare type LwrService = ModuleProvider | ResourceProvider | ViewProvider | AssetProvider | HooksPlugin | AssetTransformPlugin | ViewTransformPlugin;
245
245
  export interface ServiceCtor<T extends LwrService, R extends Record<string, Json> = {}> {
246
246
  new (moduleProviderConfig: R, serviceProviderConfig?: any, ...args: any[]): T;
247
247
  }
@@ -256,8 +256,9 @@ export interface ModuleRegistry {
256
256
  }
257
257
  export declare type PublicModuleRegistry = Pick<ModuleRegistry, 'getModule' | 'getModuleEntry' | 'resolveModuleUri'>;
258
258
  export interface ModuleBundler {
259
- getModuleBundle<T extends AbstractModuleId, R extends RuntimeEnvironment>(moduleId: T, runtimeEnvironment: R, runtimeParams?: RuntimeParams): Promise<BundleDefinition>;
259
+ getModuleBundle<T extends AbstractModuleId, R extends RuntimeEnvironment>(moduleId: T, runtimeEnvironment: R, runtimeParams?: RuntimeParams, bundleConfigOverrides?: BundleConfig): Promise<BundleDefinition>;
260
260
  }
261
+ export declare type PublicModuleBundler = Pick<ModuleBundler, 'getModuleBundle'>;
261
262
  export interface BundleRecord {
262
263
  imports?: BaseModuleReference[];
263
264
  dynamicImports?: BaseDynamicModuleReference[];
@@ -287,6 +288,7 @@ export interface ProviderContext {
287
288
  appObserver: Pick<LwrAppObserver, 'onModuleDefinitionChange' | 'onModuleSourceChange' | 'onAssetSourceChange' | 'onViewSourceChange'>;
288
289
  appEmitter: Pick<LwrAppEmitter, 'notifyModuleDefinitionChanged' | 'notifyAssetSourceChanged' | 'notifyModuleSourceChanged' | 'notifyViewSourceChanged'>;
289
290
  moduleRegistry: PublicModuleRegistry;
291
+ moduleBundler: PublicModuleBundler;
290
292
  resourceRegistry: PublicResourceRegistry;
291
293
  viewRegistry: PublicViewRegistry;
292
294
  assetRegistry: PublicAssetRegistry;
@@ -319,19 +321,30 @@ export interface ResourceDefinition {
319
321
  stream?: Readable;
320
322
  isPreload?: boolean;
321
323
  }
324
+ export interface AssetReference {
325
+ url: string;
326
+ location: {
327
+ startOffset: number;
328
+ endOffset: number;
329
+ };
330
+ }
331
+ export interface AssetMetadata {
332
+ assetReferences?: AssetReference[];
333
+ }
322
334
  export interface AssetSource {
323
335
  entry: string;
324
336
  ext: string;
325
337
  mime: string | false;
326
338
  ownHash: string;
327
- stream: (encoding?: BufferEncoding) => Readable;
328
- content: (encoding?: BufferEncoding) => string;
339
+ content: (encoding?: BufferEncoding) => string | Buffer;
329
340
  uri?: string;
341
+ metadata?: AssetMetadata;
330
342
  }
331
343
  export declare type AssetType = 'asset' | 'content-asset' | 'external' | 'unknown';
332
344
  export interface AssetDefinition extends AssetSource {
333
345
  uri: string;
334
346
  type: AssetType;
347
+ stream: (encoding?: BufferEncoding) => Readable;
335
348
  }
336
349
  export declare type ResourceJson = Pick<ResourceDefinition, 'type' | 'src'>;
337
350
  export interface ResourceProvider {
@@ -342,6 +355,31 @@ export interface AssetProvider {
342
355
  name: string;
343
356
  getAsset(fileAssetPath: string): Promise<AssetSource | undefined>;
344
357
  }
358
+ declare type TransformPluginContext = Record<string, any>;
359
+ declare type AssetPluginTransformHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginTransformHookReturn>;
360
+ declare type AssetPluginTransformHookReturn = null | undefined | false | string | Buffer | {
361
+ code: string | Buffer;
362
+ context?: TransformPluginContext;
363
+ };
364
+ declare type AssetPluginExtractMetaHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginExtractMetaHookReturn>;
365
+ declare type AssetPluginExtractMetaHookReturn = null | undefined | false | {
366
+ metadata?: AssetMetadata;
367
+ context?: TransformPluginContext;
368
+ };
369
+ declare type AssetPluginOptimizeHook = (code: string | Buffer, assetSource: AssetSource, context?: TransformPluginContext) => Promise<AssetPluginOptimizeHookReturn>;
370
+ declare type AssetPluginOptimizeHookReturn = null | undefined | false | string | Buffer | {
371
+ code: string | Buffer;
372
+ map?: any;
373
+ context?: TransformPluginContext;
374
+ };
375
+ export interface AssetTransformHooks {
376
+ transform: AssetPluginTransformHook;
377
+ extractMetadata: AssetPluginExtractMetaHook;
378
+ optimize: AssetPluginOptimizeHook;
379
+ }
380
+ export interface AssetTransformPlugin extends Partial<AssetTransformHooks> {
381
+ name: string;
382
+ }
345
383
  export declare type ViewIdentity = Pick<View, 'rootComponent' | 'contentTemplate'>;
346
384
  export interface ViewSource {
347
385
  name: string;
@@ -371,13 +409,21 @@ export interface RenderedView {
371
409
  metadata: RenderedViewMetadata;
372
410
  options: RenderOptions;
373
411
  }
412
+ export interface CustomElementReference {
413
+ tagName: string;
414
+ children?: CustomElementReference[];
415
+ location?: {
416
+ startOffset: number;
417
+ endOffset: number;
418
+ };
419
+ }
374
420
  export interface RenderedViewMetadata {
375
- customElements: string[];
421
+ customElements: CustomElementReference[];
376
422
  assetReferences: AssetReference[];
377
423
  }
378
424
  export interface RenderedAssetReference {
379
425
  url: string;
380
- tagName: string;
426
+ tagName?: string;
381
427
  override?: AssetUri;
382
428
  }
383
429
  export interface AssetReference extends RenderedAssetReference {
@@ -450,6 +496,35 @@ export interface ViewProvider {
450
496
  initialize(): Promise<void>;
451
497
  getView(viewId: ViewIdentity): Promise<CompiledView | undefined>;
452
498
  }
499
+ export interface ViewTranformPluginContext {
500
+ view: View;
501
+ viewParams: ViewParams;
502
+ runtimeEnvironment: RuntimeEnvironment;
503
+ runtimeParams: RuntimeParams;
504
+ renderOptions: Required<RenderOptions>;
505
+ contentIds: {
506
+ lwrResourcesId: string;
507
+ };
508
+ importer?: string;
509
+ }
510
+ declare type ViewPluginLinkHook = (builder: LwrStringBuilder, viewContext: ViewTranformPluginContext, viewMetadata: RenderedViewMetadata, context?: TransformPluginContext) => Promise<ViewPluginLinkHookReturn>;
511
+ declare type ViewPluginLinkHookReturn = void | null | undefined | false | LwrStringBuilder | {
512
+ builder?: LwrStringBuilder;
513
+ context?: TransformPluginContext;
514
+ };
515
+ declare type ViewPluginOptimizeHook = (code: string, assetSource: AssetSource, context?: TransformPluginContext) => Promise<ViewPluginOptimizeHookReturn>;
516
+ declare type ViewPluginOptimizeHookReturn = null | undefined | false | string | {
517
+ code: string;
518
+ map?: any;
519
+ context?: TransformPluginContext;
520
+ };
521
+ export interface ViewTransformHooks {
522
+ link: ViewPluginLinkHook;
523
+ optimize: ViewPluginOptimizeHook;
524
+ }
525
+ export interface ViewTransformPlugin extends Partial<ViewTransformHooks> {
526
+ name: string;
527
+ }
453
528
  export declare type ViewParams = Record<string, Json>;
454
529
  export interface ViewInfo {
455
530
  id: string;
@@ -487,7 +562,7 @@ export declare type PublicResourceRegistry = Pick<ResourceRegistry, 'getResource
487
562
  export interface AssetRegistry {
488
563
  name: string;
489
564
  addAssetProviders(provider: AssetProvider[]): void;
490
- getAsset<R extends AssetIdentifier, T extends RuntimeEnvironment>(resourceIdentity: R, runtimeEnvironment: T): Promise<AssetSource>;
565
+ getAsset<R extends AssetIdentifier, T extends RuntimeEnvironment>(resourceIdentity: R, runtimeEnvironment: T): Promise<AssetDefinition>;
491
566
  resolveAssetUri<R extends AssetIdentifier, T extends RuntimeEnvironment>(resourceIdentity: R, runtimeEnvironment: T): Promise<AssetUri>;
492
567
  getPublicApi(): PublicAssetRegistry;
493
568
  }
@@ -628,4 +703,32 @@ export interface FlattenedModuleGraphs {
628
703
  export declare type ImportMapImports = {
629
704
  [key: string]: string;
630
705
  };
706
+ export interface LwrBuilderOverwriteOptions {
707
+ storeName?: boolean;
708
+ contentOnly?: boolean;
709
+ }
710
+ export interface LwrStringBuilder {
711
+ append(content: string): LwrStringBuilder;
712
+ appendLeft(index: number, content: string): LwrStringBuilder;
713
+ appendRight(index: number, content: string): LwrStringBuilder;
714
+ clone(): LwrStringBuilder;
715
+ move(start: number, end: number, index: number): LwrStringBuilder;
716
+ overwrite(start: number, end: number, content: string, options?: boolean | LwrBuilderOverwriteOptions): LwrStringBuilder;
717
+ prepend(content: string): LwrStringBuilder;
718
+ prependLeft(index: number, content: string): LwrStringBuilder;
719
+ prependRight(index: number, content: string): LwrStringBuilder;
720
+ remove(start: number, end: number): LwrStringBuilder;
721
+ slice(start: number, end: number): string;
722
+ snip(start: number, end: number): LwrStringBuilder;
723
+ trim(charType?: string): LwrStringBuilder;
724
+ trimStart(charType?: string): LwrStringBuilder;
725
+ trimEnd(charType?: string): LwrStringBuilder;
726
+ trimLines(): LwrStringBuilder;
727
+ lastChar(): string;
728
+ lastLine(): string;
729
+ isEmpty(): boolean;
730
+ length(): number;
731
+ toString(): string;
732
+ original: string;
733
+ }
631
734
  //# sourceMappingURL=index.d.ts.map
@@ -11,7 +11,7 @@ export declare type LoaderHooks = {
11
11
  loadMapping?: LoadMappingHook;
12
12
  };
13
13
  export interface ResolveModuleHook {
14
- (id: string, params: ResolveParams): URLResponse | null;
14
+ (id: string, params: ResolveParams): ResolveHookResponse;
15
15
  }
16
16
  export interface LoadModuleHook {
17
17
  (url: string, parentUrl: string): Promise<LoadHookResponse>;
package/package.json CHANGED
@@ -8,8 +8,8 @@
8
8
  "build": "tsc -b"
9
9
  },
10
10
  "type": "module",
11
- "version": "0.6.0-alpha.1",
12
- "homepage": "https://lwr.dev/",
11
+ "version": "0.6.0-alpha.10",
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": "b66975a1b2038efd3be8d6f1c7df2e70492195eb"
30
+ "gitHead": "85914e17d6214748489426252dd8fa41c8938b8f"
31
31
  }