@appshell/loader 1.0.0-alpha.16 → 1.0.0-alpha.17

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.
Files changed (71) hide show
  1. package/dist/types/config/src/axios.d.ts +0 -1
  2. package/dist/types/config/src/configmap.d.ts +0 -1
  3. package/dist/types/config/src/context.d.ts +0 -1
  4. package/dist/types/config/src/credentials.d.ts +0 -1
  5. package/dist/types/config/src/generate.manifest.d.ts +0 -1
  6. package/dist/types/config/src/index.d.ts +0 -1
  7. package/dist/types/config/src/mappers/appshell.config.d.ts +0 -1
  8. package/dist/types/config/src/outdated.d.ts +0 -1
  9. package/dist/types/config/src/publish.d.ts +0 -1
  10. package/dist/types/config/src/sync.d.ts +0 -1
  11. package/dist/types/config/src/types.d.ts +0 -1
  12. package/dist/types/config/src/utils/blur.d.ts +0 -1
  13. package/dist/types/config/src/utils/compare.d.ts +0 -1
  14. package/dist/types/config/src/utils/config.d.ts +0 -1
  15. package/dist/types/config/src/utils/copy.d.ts +0 -1
  16. package/dist/types/config/src/utils/index.d.ts +0 -1
  17. package/dist/types/config/src/utils/list.d.ts +0 -1
  18. package/dist/types/config/src/utils/load.d.ts +0 -1
  19. package/dist/types/config/src/validators/AppshellTemplateValidator.d.ts +0 -1
  20. package/dist/types/config/src/validators/index.d.ts +0 -1
  21. package/dist/types/loader/src/index.d.ts +0 -1
  22. package/dist/types/loader/src/loadAppshellComponent.d.ts +0 -1
  23. package/dist/types/loader/src/remoteLoader.d.ts +0 -1
  24. package/dist/types/loader/src/resolvers.d.ts +0 -1
  25. package/dist/types/loader/src/types.d.ts +0 -1
  26. package/dist/types/runtime/src/errors.d.ts +0 -1
  27. package/dist/types/runtime/src/index.d.ts +0 -1
  28. package/dist/types/runtime/src/store.d.ts +0 -1
  29. package/dist/types/runtime/src/types.d.ts +0 -1
  30. package/package.json +6 -3
  31. package/CHANGELOG.md +0 -234
  32. package/__tests__/fixtures/TestComponent.ts +0 -3
  33. package/__tests__/loadAppshellComponent.spec.ts +0 -68
  34. package/__tests__/remoteLoader.spec.ts +0 -116
  35. package/__tests__/resolvers.spec.ts +0 -89
  36. package/dist/types/config/src/axios.d.ts.map +0 -1
  37. package/dist/types/config/src/configmap.d.ts.map +0 -1
  38. package/dist/types/config/src/context.d.ts.map +0 -1
  39. package/dist/types/config/src/credentials.d.ts.map +0 -1
  40. package/dist/types/config/src/generate.manifest.d.ts.map +0 -1
  41. package/dist/types/config/src/index.d.ts.map +0 -1
  42. package/dist/types/config/src/mappers/appshell.config.d.ts.map +0 -1
  43. package/dist/types/config/src/outdated.d.ts.map +0 -1
  44. package/dist/types/config/src/publish.d.ts.map +0 -1
  45. package/dist/types/config/src/sync.d.ts.map +0 -1
  46. package/dist/types/config/src/types.d.ts.map +0 -1
  47. package/dist/types/config/src/utils/blur.d.ts.map +0 -1
  48. package/dist/types/config/src/utils/compare.d.ts.map +0 -1
  49. package/dist/types/config/src/utils/config.d.ts.map +0 -1
  50. package/dist/types/config/src/utils/copy.d.ts.map +0 -1
  51. package/dist/types/config/src/utils/index.d.ts.map +0 -1
  52. package/dist/types/config/src/utils/list.d.ts.map +0 -1
  53. package/dist/types/config/src/utils/load.d.ts.map +0 -1
  54. package/dist/types/config/src/validators/AppshellTemplateValidator.d.ts.map +0 -1
  55. package/dist/types/config/src/validators/index.d.ts.map +0 -1
  56. package/dist/types/loader/src/index.d.ts.map +0 -1
  57. package/dist/types/loader/src/loadAppshellComponent.d.ts.map +0 -1
  58. package/dist/types/loader/src/remoteLoader.d.ts.map +0 -1
  59. package/dist/types/loader/src/resolvers.d.ts.map +0 -1
  60. package/dist/types/loader/src/types.d.ts.map +0 -1
  61. package/dist/types/runtime/src/errors.d.ts.map +0 -1
  62. package/dist/types/runtime/src/index.d.ts.map +0 -1
  63. package/dist/types/runtime/src/store.d.ts.map +0 -1
  64. package/dist/types/runtime/src/types.d.ts.map +0 -1
  65. package/src/index.ts +0 -7
  66. package/src/loadAppshellComponent.ts +0 -66
  67. package/src/remoteLoader.ts +0 -62
  68. package/src/resolvers.ts +0 -53
  69. package/src/types.ts +0 -10
  70. package/tsconfig.json +0 -7
  71. package/webpack.config.js +0 -42
@@ -1,3 +1,2 @@
1
1
  declare const _default: import("axios").AxiosInstance;
2
2
  export default _default;
3
- //# sourceMappingURL=axios.d.ts.map
@@ -4,4 +4,3 @@ declare const _default: {
4
4
  create: (config: AppshellConfig) => Record<string, string>;
5
5
  };
6
6
  export default _default;
7
- //# sourceMappingURL=configmap.d.ts.map
@@ -20,4 +20,3 @@ export declare const persistedContext: () => {
20
20
  registry?: string;
21
21
  application?: string;
22
22
  };
23
- //# sourceMappingURL=context.d.ts.map
@@ -12,4 +12,3 @@ export declare const clearCredential: (registry: string) => void;
12
12
  * Expired tokens are treated as absent; refresh is the caller's concern.
13
13
  */
14
14
  export declare const resolveToken: (registry: string) => string | undefined;
15
- //# sourceMappingURL=credentials.d.ts.map
@@ -5,4 +5,3 @@
5
5
  */
6
6
  declare const _default: <TMetadata extends Record<string, unknown>>(templatePath: string) => Promise<import("./types").AppshellManifest<TMetadata> | null>;
7
7
  export default _default;
8
- //# sourceMappingURL=generate.manifest.d.ts.map
@@ -14,4 +14,3 @@ export { default as sync } from './sync';
14
14
  export type { AppshellComposition, AppshellConfig, AppshellConfigRemote, AppshellIndex, AppshellManifest, AppshellRemote, AppshellTemplate, ComparisonResult, ComparisonResults, ComparisonTarget, Metadata, ModuleFederationPluginOptions, PackageSpec, ResolvedRemote, Schema, SharedConfig, SharedModuleSpec, } from './types';
15
15
  export * as utils from './utils';
16
16
  export * as validators from './validators';
17
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,2 @@
1
1
  import { AppshellManifest, AppshellTemplate, ConfigMap } from '../types';
2
2
  export declare const toAppshellManifest: <TMetadata extends Record<string, unknown>>(template: AppshellTemplate, args: ConfigMap) => AppshellManifest<TMetadata>;
3
- //# sourceMappingURL=appshell.config.d.ts.map
@@ -1,4 +1,3 @@
1
1
  import { PackageSpec, SharedModuleSpec } from './types';
2
2
  declare const _default: (packageSpec: PackageSpec, sharedModuleSpec: SharedModuleSpec) => Promise<import("./types").ComparisonResults>;
3
3
  export default _default;
4
- //# sourceMappingURL=outdated.d.ts.map
@@ -26,4 +26,3 @@ export declare const publish: ({ registry, token, name, version, manifest, visib
26
26
  * @param application `scope/name`
27
27
  */
28
28
  export declare const activate: (registry: string, application: string, packageId: string, token?: string) => Promise<void>;
29
- //# sourceMappingURL=publish.d.ts.map
@@ -18,4 +18,3 @@ export declare const groupByBaselineModule: (conflicts: Record<string, Compariso
18
18
  */
19
19
  declare const _default: (workingDir: string, registry: string, conflicts: Record<string, ComparisonResult>, resolutionStrategy?: ResolutionStrategy, packageManager?: PackageManager, dryRun?: boolean) => Promise<void>;
20
20
  export default _default;
21
- //# sourceMappingURL=sync.d.ts.map
@@ -301,4 +301,3 @@ export interface ModuleFederationPluginOptions {
301
301
  */
302
302
  shared?: (string | SharedObject)[] | SharedObject;
303
303
  }
304
- //# sourceMappingURL=types.d.ts.map
@@ -1,3 +1,2 @@
1
1
  declare const _default: (token?: string, chars?: number) => string;
2
2
  export default _default;
3
- //# sourceMappingURL=blur.d.ts.map
@@ -5,4 +5,3 @@ export declare const compareDependencies: (sample: ComparisonTarget, baseline: C
5
5
  export declare const compareSharedDependencies: (packageSpec: PackageSpec, sharedModule: SharedModuleSpec) => ComparisonResults;
6
6
  export declare const compareSharedModules: (sampleSpec: SharedModuleSpec, baselineSpec: SharedModuleSpec) => ComparisonResults;
7
7
  export declare const printResults: (results: ComparisonResults) => void;
8
- //# sourceMappingURL=compare.d.ts.map
@@ -3,4 +3,3 @@ import { CliConfig } from '../types';
3
3
  export declare const readConfig: (configPath: string) => CliConfig;
4
4
  export declare const writeConfig: (configPath: string, config: CliConfig) => void;
5
5
  export declare const mergeConfigWithArgs: (config: CliConfig, argv: yargs.ArgumentsCamelCase<unknown>) => void;
6
- //# sourceMappingURL=config.d.ts.map
@@ -8,4 +8,3 @@ declare const _default: (pattern: {
8
8
  to: string;
9
9
  }) => void;
10
10
  export default _default;
11
- //# sourceMappingURL=copy.d.ts.map
@@ -4,4 +4,3 @@ export { mergeConfigWithArgs, readConfig, writeConfig } from './config';
4
4
  export { default as copy } from './copy';
5
5
  export { default as list } from './list';
6
6
  export { default as load, loadAll } from './load';
7
- //# sourceMappingURL=index.d.ts.map
@@ -7,4 +7,3 @@
7
7
  */
8
8
  declare const list: (dirPath: string, depth?: number, target?: string | RegExp) => string[];
9
9
  export default list;
10
- //# sourceMappingURL=list.d.ts.map
@@ -11,4 +11,3 @@ declare const load: <TSchema>(configPath: string) => TSchema;
11
11
  */
12
12
  export declare const loadAll: <TSchema>(...paths: string[]) => TSchema[];
13
13
  export default load;
14
- //# sourceMappingURL=load.d.ts.map
@@ -1,4 +1,3 @@
1
1
  import { ConfigValidator } from '../types';
2
2
  declare const _default: ConfigValidator;
3
3
  export default _default;
4
- //# sourceMappingURL=AppshellTemplateValidator.d.ts.map
@@ -1,2 +1 @@
1
1
  export { default as AppshellTemplateValidator } from './AppshellTemplateValidator';
2
- //# sourceMappingURL=index.d.ts.map
@@ -3,4 +3,3 @@ export type { RemoteLoaderOptions } from './remoteLoader';
3
3
  export * from './resolvers';
4
4
  export * from './types';
5
5
  export default remoteLoader;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,2 @@
1
1
  declare const _default: <TComponent>(scope: string, module: string, remoteEntryUrl: string, shareScope?: string) => Promise<TComponent>;
2
2
  export default _default;
3
- //# sourceMappingURL=loadAppshellComponent.d.ts.map
@@ -12,4 +12,3 @@ export type RemoteLoaderOptions = {
12
12
  };
13
13
  declare const _default: (options?: RemoteLoaderOptions) => <TComponent>(key: string) => Promise<readonly [Awaited<TComponent>, import("@appshell/config").ResolvedRemote]>;
14
14
  export default _default;
15
- //# sourceMappingURL=remoteLoader.d.ts.map
@@ -10,4 +10,3 @@ export declare const inlineResolver: (composition?: AppshellComposition) => Remo
10
10
  /** Fetch-on-miss: covers a package activated after this page was served. */
11
11
  export declare const registryResolver: (composition?: AppshellComposition, origin?: string) => RemoteResolver;
12
12
  export declare const chainResolvers: (...resolvers: RemoteResolver[]) => RemoteResolver;
13
- //# sourceMappingURL=resolvers.d.ts.map
@@ -8,4 +8,3 @@ export interface ModuleContainer<TComponent> {
8
8
  init(shareScope: ShareScope<TComponent>): Promise<void>;
9
9
  get(module: string): Promise<() => Record<string, TComponent>>;
10
10
  }
11
- //# sourceMappingURL=types.d.ts.map
@@ -23,4 +23,3 @@ export declare class VarsConflictError extends Error {
23
23
  readonly scope: string;
24
24
  constructor(scope: string);
25
25
  }
26
- //# sourceMappingURL=errors.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export { MissingVarsError, VarsConflictError } from './errors';
2
2
  export { hasVars, readVars, resetVars, setVars } from './store';
3
3
  export type { Vars } from './types';
4
- //# sourceMappingURL=index.d.ts.map
@@ -23,4 +23,3 @@ export declare const readVars: <TVars extends Vars = Vars>(scope: string) => TVa
23
23
  export declare const hasVars: (scope: string) => boolean;
24
24
  /** Test seam. Not part of the contract a package should build on. */
25
25
  export declare const resetVars: () => void;
26
- //# sourceMappingURL=store.d.ts.map
@@ -7,4 +7,3 @@
7
7
  * into every micro-frontend on the page, so it carries no dependencies at all.
8
8
  */
9
9
  export type Vars = Record<string, string | number | undefined>;
10
- //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appshell/loader",
3
- "version": "1.0.0-alpha.16",
3
+ "version": "1.0.0-alpha.17",
4
4
  "description": "Utility for loading Appshell components",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/loader/src/index.d.ts",
@@ -21,6 +21,9 @@
21
21
  "start": "webpack --watch --mode development && npm run build:types",
22
22
  "stats": "webpack --json > stats.json"
23
23
  },
24
+ "files": [
25
+ "dist"
26
+ ],
24
27
  "keywords": [
25
28
  "module federation",
26
29
  "micro-frontends",
@@ -28,8 +31,8 @@
28
31
  ],
29
32
  "license": "MIT",
30
33
  "dependencies": {
31
- "@appshell/runtime": "^1.0.0-alpha.16",
34
+ "@appshell/runtime": "^1.0.0-alpha.17",
32
35
  "@module-federation/enhanced": "^2.8.2"
33
36
  },
34
- "gitHead": "68bf9eb95a85e8ea8ab51384e8f050d090b0f5b5"
37
+ "gitHead": "98c549b896365c997a8a37b75a6c366b9211ec16"
35
38
  }
package/CHANGELOG.md DELETED
@@ -1,234 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # [1.0.0-alpha.16](https://github.com/appshellhq/appshell/compare/v1.0.0-alpha.14...v1.0.0-alpha.16) (2026-08-27)
7
-
8
- ### Features
9
-
10
- - deliver package vars through a shared runtime, not a global ([9473f62](https://github.com/appshellhq/appshell/commit/9473f6204b75885cd55b12a9ec71a44a74d6aa41))
11
- - rename core vocabulary to Package / Application / Remote ([418b7e0](https://github.com/appshellhq/appshell/commit/418b7e010b6caa1af661f7fd9c05e751e69315a9))
12
-
13
- # [1.0.0-alpha.14](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2026-08-23)
14
-
15
- **Note:** Version bump only for package @appshell/loader
16
-
17
- # [1.0.0-alpha.13](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2026-08-22)
18
-
19
- ### Bug Fixes
20
-
21
- - **loader,react:** stop forcing a full page reload on remote updates ([36b96c4](https://github.com/appshell-org/appshell/commit/36b96c471dcedf1d29847ef5e41fb21c04864d45))
22
-
23
- ### Features
24
-
25
- - **hmr:** checkpoint current composed app hot reload work ([165788d](https://github.com/appshell-org/appshell/commit/165788d2f276e5f82b750d84abf6cab2e73f8f64))
26
-
27
- # [1.0.0-alpha.12](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2026-08-21)
28
-
29
- ### Bug Fixes
30
-
31
- - improve local federation HMR and shell share behavior ([463d85c](https://github.com/appshell-org/appshell/commit/463d85ce0f18f6111a09b5d94d39d24fb813abc8))
32
-
33
- # [1.0.0-alpha.11](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2026-08-20)
34
-
35
- ### Features
36
-
37
- - **loader:** migrate remote loading to @module-federation/enhanced runtime ([fda2d5d](https://github.com/appshell-org/appshell/commit/fda2d5ddfa5487f9aae55669392a08e55a491461)), closes [#RUNTIME-010](https://github.com/appshell-org/appshell/issues/RUNTIME-010)
38
-
39
- # [1.0.0-alpha.10](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2026-08-19)
40
-
41
- **Note:** Version bump only for package @appshell/loader
42
-
43
- # [1.0.0-alpha.9](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2026-08-19)
44
-
45
- ### Bug Fixes
46
-
47
- - **example:** resolve CSP/module-federation issues blocking local dev ([f8de4e1](https://github.com/appshell-org/appshell/commit/f8de4e1cfe495a7d4ae8e6374189384847c21309))
48
-
49
- # [1.0.0-alpha.8](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2026-08-19)
50
-
51
- **Note:** Version bump only for package @appshell/loader
52
-
53
- # [1.0.0-alpha.7](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2026-08-18)
54
-
55
- **Note:** Version bump only for package @appshell/loader
56
-
57
- **Note:** Version bump only for package @appshell/loader
58
-
59
- # [1.0.0-alpha.6](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2026-08-18)
60
-
61
- **Note:** Version bump only for package @appshell/loader
62
-
63
- # [1.0.0-alpha.5](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2026-08-18)
64
-
65
- **Note:** Version bump only for package @appshell/loader
66
-
67
- **Note:** Version bump only for package @appshell/loader
68
-
69
- # [1.0.0-alpha.4](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2026-08-18)
70
-
71
- **Note:** Version bump only for package @appshell/loader
72
-
73
- **Note:** Version bump only for package @appshell/loader
74
-
75
- # [1.0.0-alpha.3](https://github.com/appshell-org/appshell/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2026-08-18)
76
-
77
- **Note:** Version bump only for package @appshell/loader
78
-
79
- # 0.12.0-alpha.0 (2026-04-20)
80
-
81
- ### Bug Fixes
82
-
83
- - appshell loader override check ([aedda4a](https://github.com/appshell-org/appshell/commit/aedda4abf81560297dce03df09fba68e8785242f))
84
- - configurable api key header support, minor fixes ([2f0bf02](https://github.com/appshell-org/appshell/commit/2f0bf027b92398f91b8e8cbfbf543d61fe37b7a0))
85
- - hot module replacement support, example updates ([a67d230](https://github.com/appshell-org/appshell/commit/a67d2303b40f5911373225cc0b4ccf9b67c33d11))
86
- - registry projection, enable env overwrite, refactor docker workflow, consolidate env names ([33a28fe](https://github.com/appshell-org/appshell/commit/33a28fe76b58e05c5b6b6b33d4b402e52bb29e70))
87
- - rename @appshell/react-federated-component package to @appshell/react ([0b74498](https://github.com/appshell-org/appshell/commit/0b74498bf17ba73db4d936c8a012af1d3b111a28))
88
- - replace config intermediate file with template ([9b79e65](https://github.com/appshell-org/appshell/commit/9b79e65b355686a0cca273c89c7164bb031e8437))
89
- - update repository URLs from navaris/appshell to appshell-org/appshell ([506a90d](https://github.com/appshell-org/appshell/commit/506a90d94a6f6e10f463987d408550f48624bfd0))
90
-
91
- ### Features
92
-
93
- - api key support ([9cdcbee](https://github.com/appshell-org/appshell/commit/9cdcbee36e44b8a179b49768d74a25767f1cc5f2))
94
- - appshell cli api key support, init sync and outdated commands ([#6](https://github.com/appshell-org/appshell/issues/6)) ([acc5fa2](https://github.com/appshell-org/appshell/commit/acc5fa234f91a167038161d5080481c43f8eb8b4))
95
- - AppshellComponent impl ([2b82621](https://github.com/appshell-org/appshell/commit/2b82621c13302f790a8e1c457f9a82f39903fc1f))
96
- - consolidate runtime artifacts ([#26](https://github.com/appshell-org/appshell/issues/26)) ([a29479a](https://github.com/appshell-org/appshell/commit/a29479a49f0c5ec1273c9f8e4c7384096f2d4ba0))
97
- - environment variable override for federated components ([#27](https://github.com/appshell-org/appshell/issues/27)) ([d32de0b](https://github.com/appshell-org/appshell/commit/d32de0b0d1cbb1792715e1b363c80ed4600df155))
98
- - foundation refactor wip ([339b930](https://github.com/appshell-org/appshell/commit/339b9306accaa9aba1712f3a0dee6c4cab7ed273))
99
-
100
- ## [0.5.1-alpha.0](https://github.com/appshell-org/appshell/compare/@appshell/loader@0.5.0...@appshell/loader@0.5.1-alpha.0) (2026-04-20)
101
-
102
- ### Bug Fixes
103
-
104
- - update repository URLs from navaris/appshell to appshell-org/appshell ([506a90d](https://github.com/appshell-org/appshell/commit/506a90d94a6f6e10f463987d408550f48624bfd0))
105
-
106
- # [0.5.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.4.0...@appshell/loader@0.5.0) (2025-08-12)
107
-
108
- ### Bug Fixes
109
-
110
- - configurable api key header support, minor fixes ([2f0bf02](https://github.com/navaris/appshell/commit/2f0bf027b92398f91b8e8cbfbf543d61fe37b7a0))
111
-
112
- ### Features
113
-
114
- - appshell cli api key support, init sync and outdated commands ([#6](https://github.com/navaris/appshell/issues/6)) ([acc5fa2](https://github.com/navaris/appshell/commit/acc5fa234f91a167038161d5080481c43f8eb8b4))
115
-
116
- # [0.5.0-alpha.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.4.0...@appshell/loader@0.5.0-alpha.0) (2025-08-10)
117
-
118
- ### Bug Fixes
119
-
120
- - include credentials when fetching the manifests ([4e0ee79](https://github.com/navaris/appshell/commit/4e0ee79b4ba93d34fd6a0e1a5f6bf2fc9f3994cc))
121
-
122
- ### Features
123
-
124
- - appshell cli api key support, init sync and outdated commands ([#6](https://github.com/navaris/appshell/issues/6)) ([acc5fa2](https://github.com/navaris/appshell/commit/acc5fa234f91a167038161d5080481c43f8eb8b4))
125
-
126
- # [0.4.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.3.0...@appshell/loader@0.4.0) (2024-09-24)
127
-
128
- ### Features
129
-
130
- - api key support ([9cdcbee](https://github.com/navaris/appshell/commit/9cdcbee36e44b8a179b49768d74a25767f1cc5f2))
131
-
132
- # [0.4.0-alpha.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.3.1-alpha.0...@appshell/loader@0.4.0-alpha.0) (2024-09-05)
133
-
134
- ### Features
135
-
136
- - api key support ([8c91e62](https://github.com/navaris/appshell/commit/8c91e6240b3d879af9bdd5949924865da0e0f8a1))
137
-
138
- ## [0.3.1-alpha.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.3.0...@appshell/loader@0.3.1-alpha.0) (2024-08-31)
139
-
140
- ### Bug Fixes
141
-
142
- - bump pipeline ([8bb63bc](https://github.com/navaris/appshell/commit/8bb63bcae1928c01bb6bc853d88010939e686af5))
143
-
144
- # [0.3.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.2.1...@appshell/loader@0.3.0) (2024-01-25)
145
-
146
- ### Features
147
-
148
- - AppshellComponent impl ([2b82621](https://github.com/navaris/appshell/commit/2b82621c13302f790a8e1c457f9a82f39903fc1f))
149
-
150
- ## [0.2.1](https://github.com/navaris/appshell/compare/@appshell/loader@0.2.0...@appshell/loader@0.2.1) (2023-08-29)
151
-
152
- ### Bug Fixes
153
-
154
- - appshell loader override check ([aedda4a](https://github.com/navaris/appshell/commit/aedda4abf81560297dce03df09fba68e8785242f))
155
-
156
- # [0.2.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.2.0-alpha.1...@appshell/loader@0.2.0) (2023-08-28)
157
-
158
- **Note:** Version bump only for package @appshell/loader
159
-
160
- # [0.2.0-alpha.1](https://github.com/navaris/appshell/compare/@appshell/loader@0.2.0-alpha.0...@appshell/loader@0.2.0-alpha.1) (2023-08-28)
161
-
162
- ### Features
163
-
164
- - environment variable override for federated components ([#27](https://github.com/navaris/appshell/issues/27)) ([d32de0b](https://github.com/navaris/appshell/commit/d32de0b0d1cbb1792715e1b363c80ed4600df155))
165
-
166
- # [0.2.0-alpha.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.1.0...@appshell/loader@0.2.0-alpha.0) (2023-08-23)
167
-
168
- ### Features
169
-
170
- - consolidate runtime artifacts ([#26](https://github.com/navaris/appshell/issues/26)) ([a29479a](https://github.com/navaris/appshell/commit/a29479a49f0c5ec1273c9f8e4c7384096f2d4ba0))
171
-
172
- # [0.1.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.1.0-alpha.1...@appshell/loader@0.1.0) (2023-07-11)
173
-
174
- ### Bug Fixes
175
-
176
- - registry projection, enable env overwrite, refactor docker workflow, consolidate env names ([33a28fe](https://github.com/navaris/appshell/commit/33a28fe76b58e05c5b6b6b33d4b402e52bb29e70))
177
- - rename @appshell/react-federated-component package to @appshell/react ([0b74498](https://github.com/navaris/appshell/commit/0b74498bf17ba73db4d936c8a012af1d3b111a28))
178
- - replace config intermediate file with template ([9b79e65](https://github.com/navaris/appshell/commit/9b79e65b355686a0cca273c89c7164bb031e8437))
179
-
180
- # [0.1.0-alpha.1](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.3...@appshell/loader@0.1.0-alpha.1) (2023-07-05)
181
-
182
- ### Features
183
-
184
- - foundation refactor wip ([339b930](https://github.com/navaris/appshell/commit/339b9306accaa9aba1712f3a0dee6c4cab7ed273))
185
-
186
- # [0.1.0-alpha.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.3...@appshell/loader@0.1.0-alpha.0) (2023-07-05)
187
-
188
- ### Features
189
-
190
- - registry index ([8e6ee0a](https://github.com/navaris/appshell/commit/8e6ee0a6a377584efa2ee702168025f46108b8c5))
191
-
192
- ## [0.0.3](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.3-alpha.2...@appshell/loader@0.0.3) (2023-06-29)
193
-
194
- **Note:** Version bump only for package @appshell/loader
195
-
196
- ## [0.0.3-alpha.2](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.2...@appshell/loader@0.0.3-alpha.2) (2023-06-29)
197
-
198
- **Note:** Version bump only for package @appshell/loader
199
-
200
- ## [0.0.3-alpha.1](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.3-alpha.0...@appshell/loader@0.0.3-alpha.1) (2023-06-29)
201
-
202
- ### Bug Fixes
203
-
204
- - update npm package visibility ([1ef4119](https://github.com/navaris/appshell/commit/1ef411903dd038dfc781e8ce0700811e5460c903))
205
-
206
- ## [0.0.3-alpha.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.2-alpha.0...@appshell/loader@0.0.3-alpha.0) (2023-06-29)
207
-
208
- **Note:** Version bump only for package @appshell/loader
209
-
210
- ## [0.0.2](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.2-alpha.0...@appshell/loader@0.0.2) (2023-06-29)
211
-
212
- **Note:** Version bump only for package @appshell/loader
213
-
214
- ## [0.0.2-alpha.0](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.1...@appshell/loader@0.0.2-alpha.0) (2023-06-15)
215
-
216
- ### Bug Fixes
217
-
218
- - hot module replacement support, example updates ([a67d230](https://github.com/navaris/appshell/commit/a67d2303b40f5911373225cc0b4ccf9b67c33d11))
219
-
220
- =======
221
-
222
- ## 0.0.1 (2023-06-15)
223
-
224
- **Note:** Version bump only for package @appshell/loader
225
-
226
- ## [0.0.1-alpha.1](https://github.com/navaris/appshell/compare/@appshell/loader@0.0.1-alpha.0...@appshell/loader@0.0.1-alpha.1) (2023-06-15)
227
-
228
- ### Bug Fixes
229
-
230
- - hot module replacement support, example updates ([a67d230](https://github.com/navaris/appshell/commit/a67d2303b40f5911373225cc0b4ccf9b67c33d11))
231
-
232
- ## 0.0.1-alpha.0 (2023-03-19)
233
-
234
- **Note:** Version bump only for package @appshell/loader
@@ -1,3 +0,0 @@
1
- const TestComponent = () => 'test component';
2
-
3
- export default TestComponent;
@@ -1,68 +0,0 @@
1
- /** @jest-environment jsdom */
2
-
3
- jest.mock('@module-federation/enhanced/runtime', () => ({
4
- init: jest.fn(),
5
- getInstance: jest.fn(() => null),
6
- registerRemotes: jest.fn(),
7
- loadRemote: jest.fn(),
8
- }));
9
-
10
- type ComponentType = () => string;
11
- const TestComponent: ComponentType = () => 'test component';
12
-
13
- describe('loadAppshellComponent', () => {
14
- beforeEach(() => {
15
- jest.resetModules();
16
- });
17
-
18
- it('should load the Appshell component via the federation runtime', async () => {
19
- const runtime = await import('@module-federation/enhanced/runtime');
20
- (runtime.loadRemote as jest.Mock).mockResolvedValue({ default: TestComponent });
21
- const loadAppshellComponent = (await import('../src/loadAppshellComponent')).default;
22
-
23
- const Component = await loadAppshellComponent<ComponentType>(
24
- 'TestModule',
25
- './TestComponent',
26
- 'http://test.com/remoteEntry.js',
27
- );
28
-
29
- expect(Component).toBe(TestComponent);
30
- expect(runtime.registerRemotes).toHaveBeenCalledWith([
31
- { name: 'TestModule', entry: 'http://test.com/remoteEntry.js' },
32
- ]);
33
- expect(runtime.loadRemote).toHaveBeenCalledWith('TestModule/TestComponent');
34
- });
35
-
36
- it('should initialize the runtime and register each scope only once', async () => {
37
- const runtime = await import('@module-federation/enhanced/runtime');
38
- (runtime.loadRemote as jest.Mock).mockResolvedValue({ default: TestComponent });
39
- const loadAppshellComponent = (await import('../src/loadAppshellComponent')).default;
40
-
41
- await loadAppshellComponent('TestModule', './TestComponent', 'http://test.com/remoteEntry.js');
42
- await loadAppshellComponent('TestModule', './TestComponent', 'http://test.com/remoteEntry.js');
43
-
44
- expect(runtime.init).toHaveBeenCalledTimes(1);
45
- expect(runtime.registerRemotes).toHaveBeenCalledTimes(1);
46
- });
47
-
48
- it('should throw if the remote module cannot be loaded', async () => {
49
- const runtime = await import('@module-federation/enhanced/runtime');
50
- (runtime.loadRemote as jest.Mock).mockResolvedValue(null);
51
- const loadAppshellComponent = (await import('../src/loadAppshellComponent')).default;
52
-
53
- await expect(
54
- loadAppshellComponent('TestModule', './TestComponent', 'http://test.com/remoteEntry.js'),
55
- ).rejects.toThrow(/Failed to find module container/i);
56
- });
57
-
58
- it('should not call init when a host federation instance already exists', async () => {
59
- const runtime = await import('@module-federation/enhanced/runtime');
60
- (runtime.getInstance as jest.Mock).mockReturnValue({});
61
- (runtime.loadRemote as jest.Mock).mockResolvedValue({ default: TestComponent });
62
- const loadAppshellComponent = (await import('../src/loadAppshellComponent')).default;
63
-
64
- await loadAppshellComponent('TestModule', './TestComponent', 'http://test.com/remoteEntry.js');
65
-
66
- expect(runtime.init).not.toHaveBeenCalled();
67
- });
68
- });
@@ -1,116 +0,0 @@
1
- /** @jest-environment jsdom */
2
- import { AppshellComposition, AppshellRemote } from '@appshell/config';
3
- import { hasVars, readVars, resetVars } from '@appshell/runtime';
4
- import fetch, { enableFetchMocks } from 'jest-fetch-mock';
5
- import * as loadAppshellComponent from '../src/loadAppshellComponent';
6
- import remoteLoader from '../src/remoteLoader';
7
-
8
- enableFetchMocks();
9
-
10
- jest.mock('../src/loadAppshellComponent');
11
-
12
- describe('remoteLoader', () => {
13
- const KEY = 'TestModule/TestComponent';
14
-
15
- const remote: AppshellRemote = {
16
- id: 'test-component',
17
- scope: 'TestModule',
18
- module: './TestComponent',
19
- manifestUrl: 'http://test.com/appshell.manifest.json',
20
- remoteEntryUrl: 'http://test.com/remoteEntry.js',
21
- metadata: {},
22
- };
23
-
24
- const composition: AppshellComposition = {
25
- applicationId: 'acme/dev',
26
- revision: 1,
27
- root: KEY,
28
- rootProps: {},
29
- index: { [KEY]: remote.manifestUrl },
30
- remotes: { [KEY]: remote },
31
- vars: { TestModule: { ENV_VAR_A: 'Composed value for A' } },
32
- };
33
-
34
- beforeEach(() => {
35
- fetch.resetMocks();
36
- // The store is a singleton for the life of the page; each test gets a fresh one.
37
- resetVars();
38
- });
39
-
40
- it('should return the remote from the inlined composition without fetching', async () => {
41
- const ExpectedComponent = () => 'test component';
42
- jest.spyOn(loadAppshellComponent, 'default').mockResolvedValue(ExpectedComponent);
43
-
44
- const loadRemote = remoteLoader({ composition });
45
- const [ActualComponent, actualRemote] = await loadRemote(KEY);
46
-
47
- expect(fetch).not.toHaveBeenCalled();
48
- expect(ActualComponent).toEqual(ExpectedComponent);
49
- expect(actualRemote).toEqual(remote);
50
- });
51
-
52
- it('should hand the composed vars to the remote', async () => {
53
- jest.spyOn(loadAppshellComponent, 'default').mockResolvedValue(() => 'test component');
54
-
55
- await remoteLoader({ composition })(KEY);
56
-
57
- expect(readVars('TestModule')).toEqual({ ENV_VAR_A: 'Composed value for A' });
58
- });
59
-
60
- it('should deliver the vars before the remote is given a chance to evaluate', async () => {
61
- const order: string[] = [];
62
- jest.spyOn(loadAppshellComponent, 'default').mockImplementation(async () => {
63
- order.push(hasVars('TestModule') ? 'vars delivered' : 'vars missing');
64
-
65
- return () => 'test component';
66
- });
67
-
68
- await remoteLoader({ composition })(KEY);
69
-
70
- expect(order).toEqual(['vars delivered']);
71
- });
72
-
73
- it('should leave nothing on the window', async () => {
74
- jest.spyOn(loadAppshellComponent, 'default').mockResolvedValue(() => 'test component');
75
-
76
- await remoteLoader({ composition })(KEY);
77
-
78
- expect(Object.keys(window).filter((key) => key.startsWith('__appshell_vars__'))).toEqual([]);
79
- });
80
-
81
- it('should fall back to the registry for a remote activated after the page was served', async () => {
82
- const added: AppshellRemote = { ...remote, scope: 'LateModule', module: './Late' };
83
- jest.spyOn(loadAppshellComponent, 'default').mockResolvedValue(() => 'late component');
84
- fetch.mockResponseOnce(JSON.stringify(added));
85
-
86
- const [, actualRemote] = await remoteLoader({ composition })('LateModule/Late');
87
-
88
- expect(fetch).toHaveBeenCalledWith(
89
- '/v1/applications/acme/dev/remotes/LateModule/Late',
90
- expect.anything(),
91
- );
92
- expect(actualRemote).toEqual(added);
93
- });
94
-
95
- it('should throw when neither the composition nor the registry has the remote', async () => {
96
- jest.spyOn(loadAppshellComponent, 'default').mockResolvedValue(() => 'test component');
97
- fetch.mockResponseOnce('', { status: 404 });
98
-
99
- await expect(remoteLoader({ composition })('TestModule/DoesNotExist')).rejects.toThrow(
100
- /Remote resource not found in registry/i,
101
- );
102
- });
103
-
104
- it('should throw when there is no composition at all', async () => {
105
- jest.spyOn(loadAppshellComponent, 'default').mockResolvedValue(() => 'test component');
106
-
107
- await expect(remoteLoader()(KEY)).rejects.toThrow(/Remote resource not found in registry/i);
108
- expect(fetch).not.toHaveBeenCalled();
109
- });
110
-
111
- it('should throw if loading the Appshell component fails', async () => {
112
- jest.spyOn(loadAppshellComponent, 'default').mockRejectedValue(new Error('failed'));
113
-
114
- await expect(remoteLoader({ composition })(KEY)).rejects.toThrow(/Failed to load component/i);
115
- });
116
- });
@@ -1,89 +0,0 @@
1
- /** @jest-environment jsdom */
2
- import { AppshellComposition, AppshellManifest } from '@appshell/config';
3
- import fetch, { enableFetchMocks } from 'jest-fetch-mock';
4
- import { chainResolvers, inlineResolver, registryResolver } from '../src/resolvers';
5
-
6
- enableFetchMocks();
7
-
8
- const MANIFEST_URL = 'http://test.com/appshell.manifest.json';
9
- const KEY = 'TestModule/TestComponent';
10
-
11
- const manifest: AppshellManifest = {
12
- remotes: {
13
- [KEY]: {
14
- id: 'test-component',
15
- scope: 'TestModule',
16
- module: './TestComponent',
17
- manifestUrl: MANIFEST_URL,
18
- remoteEntryUrl: 'http://test.com/remoteEntry.js',
19
- metadata: { title: 'Test' },
20
- },
21
- },
22
- modules: { TestModule: { name: 'TestModule' } },
23
- vars: { TestModule: { ENV_VAR_A: 'Original value for A' } },
24
- };
25
-
26
- const composition: AppshellComposition = {
27
- applicationId: 'acme/dev',
28
- revision: 7,
29
- root: KEY,
30
- rootProps: {},
31
- index: { [KEY]: MANIFEST_URL },
32
- remotes: manifest.remotes,
33
- vars: manifest.vars,
34
- };
35
-
36
- beforeEach(() => {
37
- fetch.resetMocks();
38
- });
39
-
40
- describe('inlineResolver', () => {
41
- it('resolves without any network call', async () => {
42
- const resolution = await inlineResolver(composition)(KEY);
43
-
44
- expect(fetch).not.toHaveBeenCalled();
45
- expect(resolution?.remote).toEqual(manifest.remotes[KEY]);
46
- expect(resolution?.vars).toEqual({ ENV_VAR_A: 'Original value for A' });
47
- });
48
-
49
- it('yields to the next resolver when the key is absent', async () => {
50
- await expect(inlineResolver(composition)('Other/Key')).resolves.toBeUndefined();
51
- await expect(inlineResolver(undefined)(KEY)).resolves.toBeUndefined();
52
- });
53
- });
54
-
55
- describe('registryResolver', () => {
56
- it('fetches a remote activated after the page was served', async () => {
57
- const added = { ...manifest.remotes[KEY], scope: 'LateModule', module: './Late' };
58
- fetch.mockResponseOnce(JSON.stringify(added));
59
-
60
- const resolution = await registryResolver(composition, 'http://registry')('LateModule/Late');
61
-
62
- expect(fetch).toHaveBeenCalledWith(
63
- 'http://registry/v1/applications/acme/dev/remotes/LateModule/Late',
64
- expect.anything(),
65
- );
66
- expect(resolution?.remote).toEqual(added);
67
- });
68
-
69
- it('yields to the next resolver when the registry has no such remote', async () => {
70
- fetch.mockResponseOnce('', { status: 404 });
71
-
72
- await expect(registryResolver(composition)('Nope/Nope')).resolves.toBeUndefined();
73
- });
74
- });
75
-
76
- describe('chainResolvers', () => {
77
- it('returns the first resolution and stops', async () => {
78
- const second = jest.fn();
79
- const resolve = chainResolvers(inlineResolver(composition), second);
80
-
81
- await resolve(KEY);
82
-
83
- expect(second).not.toHaveBeenCalled();
84
- });
85
-
86
- it('resolves undefined when no resolver matches', async () => {
87
- await expect(chainResolvers()('Nope/Nope')).resolves.toBeUndefined();
88
- });
89
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"axios.d.ts","sourceRoot":"","sources":["../../../../../config/src/axios.ts"],"names":[],"mappings":";AAEA,wBAA8B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"configmap.d.ts","sourceRoot":"","sources":["../../../../../config/src/configmap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;;YA0BrC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,SAAS,KAAG,CAAC;qBAuBzC,cAAc;;AAEtC,wBAGE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../config/src/context.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAaF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,QAAO,eAQjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAO;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAK5E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../../config/src/credentials.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,eAAe,cAC6D,CAAC;AAqB1F,eAAO,MAAM,cAAc,aAAc,MAAM,cAAc,UAAU,SAEtE,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,MAAM,SAI/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,aAAc,MAAM,KAAG,MAAM,GAAG,SAexD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.manifest.d.ts","sourceRoot":"","sources":["../../../../../config/src/generate.manifest.ts"],"names":[],"mappings":"AAOA;;;;GAIG;yBACmB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,MAAM;AAArF,wBAaE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../config/src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC7D,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,6BAA6B,EAC7B,WAAW,EACX,cAAc,EACd,MAAM,EACN,YAAY,EACZ,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appshell.config.d.ts","sourceRoot":"","sources":["../../../../../../config/src/mappers/appshell.config.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,gBAAgB,EAEhB,gBAAgB,EAChB,SAAS,EACV,MAAM,UAAU,CAAC;AAiElB,eAAO,MAAM,kBAAkB,GAAI,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAChE,gBAAgB,QACpB,SAAS,gCAQhB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"outdated.d.ts","sourceRoot":"","sources":["../../../../../config/src/outdated.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;sCAGrB,WAAW,oBAAoB,gBAAgB;AAAlF,wBAYE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../../config/src/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAqBF;;;;GAIG;AACH,eAAO,MAAM,OAAO,+EASjB,cAAc,KAAG,OAAO,CAAC,aAAa,CAYxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,aACT,MAAM,eACH,MAAM,aACR,MAAM,UACT,MAAM,KACb,OAAO,CAAC,IAAI,CAgBd,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../config/src/sync.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C,eAAO,MAAM,mBAAmB,cAAe,gBAAgB,EAAE,SAuBhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,eACf,MAAM,YACR,MAAM,YACN,MAAM,EAAE,kBACF,KAAK,GAAG,MAAM,kBAkC/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,gBAAgB,EAAE,EAAE,sBACX,kBAAkB,aAmBvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,cAAe,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,yBACQ,CAAC;AAEvF,eAAO,MAAM,mBAAmB,cAAe,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,yBACQ,CAAC;AAExF,eAAO,MAAM,qBAAqB,cAAe,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,yBACQ,CAAC;AAE1F;;;;;;;;GAQG;qCAEW,MAAM,YACR,MAAM,aACL,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,uBACvB,kBAAkB,mBACtB,cAAc;AALhC,wBA6BE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../config/src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/blur.ts"],"names":[],"mappings":";AAAA,wBAA8F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/compare.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,mBAAmB,iBAAkB,gBAAgB,uCAMpB,CAAC;AAE/C,eAAO,MAAM,iBAAiB,gBACf,MAAM,gBACL,MAAM,iBACL,MAAM,GAAG,SAAS,kBACjB,MAAM,mBACL,MAAM,GAAG,SAAS,WAC1B,iBAAiB,sBAiD3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,gBAAgB,YAAY,gBAAgB,sBAYrF,CAAC;AAEJ,eAAO,MAAM,yBAAyB,gBACvB,WAAW,gBACV,gBAAgB,sBAoB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,eACnB,gBAAgB,gBACd,gBAAgB,sBAY/B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAa,iBAAiB,SAsBtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC,eAAO,MAAM,UAAU,eAAgB,MAAM,cAkB5C,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,UAAU,SAAS,SAchE,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,SAAS,QAAQ,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAe7F,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/copy.ts"],"names":[],"mappings":"AAGA;;;;GAIG;kCACsB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE;AAArD,wBAOE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/list.ts"],"names":[],"mappings":"AAoBA;;;;;;GAMG;AACH,QAAA,MAAM,IAAI,YAAa,MAAM,2BAAqB,MAAM,GAAG,MAAM,aAMhE,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/load.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,QAAA,MAAM,IAAI,GAAI,OAAO,cAAc,MAAM,KAAG,OAU3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,YAAY,MAAM,EAAE,KAAG,OAAO,EAAqC,CAAC;AAEnG,eAAe,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppshellTemplateValidator.d.ts","sourceRoot":"","sources":["../../../../../../config/src/validators/AppshellTemplateValidator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,eAAe,EAAE,MAAM,UAAU,CAAC;wBAyCxD,eAAe;AAlBpB,wBAkBqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../config/src/validators/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,eAAe,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadAppshellComponent.d.ts","sourceRoot":"","sources":["../../../../src/loadAppshellComponent.ts"],"names":[],"mappings":"yBAyBsB,UAAU,SACvB,MAAM,UACL,MAAM,kBACE,MAAM;AAHxB,wBAwCE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"remoteLoader.d.ts","sourceRoot":"","sources":["../../../../src/remoteLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAoD,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpG,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C;CACF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;mCAEuB,mBAAmB,MAQ5B,UAAU,OAAO,MAAM;AARvC,wBA2CE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../../src/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;AAEpF,wFAAwF;AACxF,eAAO,MAAM,cAAc,iBACV,mBAAmB,KAAG,cASpC,CAAC;AAEJ,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,iBACZ,mBAAmB,sBAAgB,cAcjD,CAAC;AAEJ,eAAO,MAAM,cAAc,iBACV,cAAc,EAAE,KAAG,cAUjC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,CAAC,UAAU,GAAG,GAAG,IAAI,MAAM,CAC/C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAC7F,CAAC;AAEF,MAAM,WAAW,eAAe,CAAC,UAAU;IACzC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CAChE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../runtime/src/errors.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CAc3C;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM;CAS1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../runtime/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChE,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../runtime/src/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAepC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,UAAW,MAAM,QAAQ,IAAI,KAAG,IAYnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,SAAS,IAAI,gBAAgB,MAAM,KAAG,KAQnE,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,OAA+B,CAAC;AAExE,qEAAqE;AACrE,eAAO,MAAM,SAAS,QAAO,IAE5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../runtime/src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC"}
package/src/index.ts DELETED
@@ -1,7 +0,0 @@
1
- import remoteLoader from './remoteLoader';
2
-
3
- export type { RemoteLoaderOptions } from './remoteLoader';
4
- export * from './resolvers';
5
- export * from './types';
6
-
7
- export default remoteLoader;
@@ -1,66 +0,0 @@
1
- import {
2
- getInstance,
3
- init,
4
- loadRemote,
5
- registerRemotes,
6
- } from '@module-federation/enhanced/runtime';
7
-
8
- const HOST_NAME = 'Appshell';
9
-
10
- // The runtime instance and each remote's registration only need to happen once per page load.
11
- let initialized = false;
12
- const registeredScopes = new Set<string>();
13
-
14
- const ensureInitialized = () => {
15
- if (initialized) return;
16
- initialized = true;
17
-
18
- // A host that ships its own ModuleFederationPlugin (e.g. @appshell/react-shell) already
19
- // created the global federation instance during its own bootstrap. Re-calling `init()`
20
- // with a different name throws (#RUNTIME-010), so reuse whatever instance already exists.
21
- if (getInstance()) return;
22
-
23
- init({ name: HOST_NAME, remotes: [] });
24
- };
25
-
26
- export default async <TComponent>(
27
- scope: string,
28
- module: string,
29
- remoteEntryUrl: string,
30
- shareScope = 'default',
31
- ) => {
32
- // eslint-disable-next-line no-console
33
- console.debug(
34
- `loading Appshell component: { scope: ${scope}, module: ${module}, shareScope: ${shareScope} }`,
35
- );
36
-
37
- ensureInitialized();
38
-
39
- // Registered exactly once, and never re-registered or cache-busted afterwards.
40
- //
41
- // A remote served by a dev server updates itself: its `remoteEntry` already carries
42
- // webpack's HMR runtime and a dev-server client, so an edit is applied in place
43
- // behind a container identity that does not move. Re-registering the same scope, or
44
- // appending a cache-busting query to its entry, changes that identity and the
45
- // `publicPath` derived from it mid-flight, which strands the `*.hot-update.json` and
46
- // `*.hot-update.js` requests the remote is midway through making.
47
- if (!registeredScopes.has(scope)) {
48
- registeredScopes.add(scope);
49
- registerRemotes([{ name: scope, entry: remoteEntryUrl }]);
50
- }
51
-
52
- // Federation ids drop the leading `./` that `exposes` keys use.
53
- const exposed = module.replace(/^\.\//, '');
54
- const Module = await loadRemote<{ default: TComponent }>(`${scope}/${exposed}`);
55
-
56
- if (!Module) {
57
- throw new Error(`Failed to find module container ${scope}`);
58
- }
59
-
60
- // eslint-disable-next-line no-console
61
- console.debug(
62
- `Appshell component loaded: { scope: ${scope}, module: ${module}, shareScope: ${shareScope} }`,
63
- );
64
-
65
- return Module.default;
66
- };
@@ -1,62 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- import type { AppshellComposition } from '@appshell/config';
3
- import { setVars } from '@appshell/runtime';
4
- import loadAppshellComponent from './loadAppshellComponent';
5
- import { chainResolvers, inlineResolver, registryResolver, type RemoteResolver } from './resolvers';
6
-
7
- declare global {
8
- interface Window {
9
- __appshell_config__?: AppshellComposition;
10
- }
11
- }
12
-
13
- export type RemoteLoaderOptions = {
14
- composition?: AppshellComposition;
15
- /** Replaces the resolver chain outright; a seam for tests and embedders. */
16
- resolver?: RemoteResolver;
17
- };
18
-
19
- export default (options: RemoteLoaderOptions = {}) => {
20
- const composition =
21
- options.composition ?? (typeof window === 'undefined' ? undefined : window.__appshell_config__);
22
-
23
- const resolve =
24
- options.resolver ??
25
- chainResolvers(inlineResolver(composition), registryResolver(composition));
26
-
27
- return async <TComponent>(key: string) => {
28
- const failed = (err: unknown) =>
29
- new Error(`Failed to load component '${key}'. ${err?.toString()}`);
30
-
31
- let resolution;
32
- try {
33
- resolution = await resolve(key);
34
- } catch (err) {
35
- throw failed(err);
36
- }
37
-
38
- if (!resolution) {
39
- throw new Error(`Remote resource not found in registry. Expected: ${key}`);
40
- }
41
-
42
- const { remote, vars } = resolution;
43
-
44
- try {
45
- // Before the remote loads, so a package that validates its vars while its modules
46
- // evaluate still finds them. `@appshell/runtime` is a shared singleton, so this is
47
- // the same store the package reads through `getVars()`.
48
- setVars(remote.scope, vars);
49
-
50
- const Component = await loadAppshellComponent<TComponent>(
51
- remote.scope,
52
- remote.module,
53
- remote.remoteEntryUrl,
54
- remote.shareScope,
55
- );
56
-
57
- return [Component, remote] as const;
58
- } catch (err) {
59
- throw failed(err);
60
- }
61
- };
62
- };
package/src/resolvers.ts DELETED
@@ -1,53 +0,0 @@
1
- import type { AppshellComposition, ResolvedRemote } from '@appshell/config';
2
-
3
- export type RemoteResolution = {
4
- remote: ResolvedRemote;
5
- /** Already merged with the application's overrides — nothing left for the browser to layer on. */
6
- vars: Record<string, string | number | undefined>;
7
- };
8
-
9
- export type RemoteResolver = (key: string) => Promise<RemoteResolution | undefined>;
10
-
11
- /** The registry inlined the composition into the page, so no network call is needed. */
12
- export const inlineResolver =
13
- (composition?: AppshellComposition): RemoteResolver =>
14
- async (key) => {
15
- const remote = composition?.remotes[key];
16
- if (!composition || !remote) return undefined;
17
-
18
- return {
19
- remote,
20
- vars: composition.vars[remote.scope] ?? {},
21
- };
22
- };
23
-
24
- /** Fetch-on-miss: covers a package activated after this page was served. */
25
- export const registryResolver =
26
- (composition?: AppshellComposition, origin = ''): RemoteResolver =>
27
- async (key) => {
28
- if (!composition) return undefined;
29
-
30
- const url = `${origin}/v1/applications/${composition.applicationId}/remotes/${key}`;
31
- const response = await fetch(url, { credentials: 'include' });
32
- if (!response.ok) return undefined;
33
-
34
- const remote: ResolvedRemote = await response.json();
35
-
36
- return {
37
- remote,
38
- vars: composition.vars[remote.scope] ?? {},
39
- };
40
- };
41
-
42
- export const chainResolvers =
43
- (...resolvers: RemoteResolver[]): RemoteResolver =>
44
- async (key) => {
45
- // eslint-disable-next-line no-restricted-syntax
46
- for (const resolve of resolvers) {
47
- // eslint-disable-next-line no-await-in-loop
48
- const resolution = await resolve(key);
49
- if (resolution) return resolution;
50
- }
51
-
52
- return undefined;
53
- };
package/src/types.ts DELETED
@@ -1,10 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
- export type ShareScope<TComponent = any> = Record<
3
- string,
4
- Record<string, { loaded?: 1; get: () => Promise<TComponent>; from: string; eager: boolean }>
5
- >;
6
-
7
- export interface ModuleContainer<TComponent> {
8
- init(shareScope: ShareScope<TComponent>): Promise<void>;
9
- get(module: string): Promise<() => Record<string, TComponent>>;
10
- }
package/tsconfig.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "../../tsconfig",
3
- "compilerOptions": {
4
- "declarationDir": "./dist/types"
5
- },
6
- "include": ["./src"]
7
- }
package/webpack.config.js DELETED
@@ -1,42 +0,0 @@
1
- const path = require('path');
2
- const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
3
-
4
- module.exports = (env, { mode }) => {
5
- const isDevelopment = mode === 'development';
6
-
7
- return {
8
- entry: './src/index',
9
- mode,
10
- devtool: isDevelopment ? 'eval-source-map' : false,
11
- output: {
12
- filename: '[name].js',
13
- pathinfo: false,
14
- libraryTarget: 'umd',
15
- },
16
- resolve: {
17
- extensions: ['.js', '.ts'],
18
- plugins: [new TsconfigPathsPlugin()],
19
- },
20
- // Externalised, not bundled: `@appshell/runtime` is a shared singleton, and a copy
21
- // inlined here would be a second store that no package ever reads from.
22
- externals: {
23
- '@appshell/runtime': '@appshell/runtime',
24
- },
25
- module: {
26
- rules: [
27
- {
28
- test: /\.ts$/,
29
- exclude: /node_modules/,
30
- use: [
31
- {
32
- loader: 'babel-loader',
33
- options: {
34
- presets: ['@babel/preset-typescript'],
35
- },
36
- },
37
- ],
38
- },
39
- ],
40
- },
41
- };
42
- };