@appshell/webpack-plugin 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +311 -0
  3. package/dist/main.js +14 -0
  4. package/dist/main.js.LICENSE.txt +39 -0
  5. package/dist/types/config/src/axios.d.ts +3 -0
  6. package/dist/types/config/src/axios.d.ts.map +1 -0
  7. package/dist/types/config/src/configmap.d.ts +7 -0
  8. package/dist/types/config/src/configmap.d.ts.map +1 -0
  9. package/dist/types/config/src/deregister.d.ts +3 -0
  10. package/dist/types/config/src/deregister.d.ts.map +1 -0
  11. package/dist/types/config/src/generate.env.d.ts +3 -0
  12. package/dist/types/config/src/generate.env.d.ts.map +1 -0
  13. package/dist/types/config/src/generate.global-config.d.ts +10 -0
  14. package/dist/types/config/src/generate.global-config.d.ts.map +1 -0
  15. package/dist/types/config/src/generate.manifest.d.ts +8 -0
  16. package/dist/types/config/src/generate.manifest.d.ts.map +1 -0
  17. package/dist/types/config/src/index.d.ts +17 -0
  18. package/dist/types/config/src/index.d.ts.map +1 -0
  19. package/dist/types/config/src/mappers/appshell.config.d.ts +3 -0
  20. package/dist/types/config/src/mappers/appshell.config.d.ts.map +1 -0
  21. package/dist/types/config/src/outdated.d.ts +4 -0
  22. package/dist/types/config/src/outdated.d.ts.map +1 -0
  23. package/dist/types/config/src/publish.d.ts +26 -0
  24. package/dist/types/config/src/publish.d.ts.map +1 -0
  25. package/dist/types/config/src/register.d.ts +4 -0
  26. package/dist/types/config/src/register.d.ts.map +1 -0
  27. package/dist/types/config/src/sync.d.ts +21 -0
  28. package/dist/types/config/src/sync.d.ts.map +1 -0
  29. package/dist/types/config/src/types.d.ts +296 -0
  30. package/dist/types/config/src/types.d.ts.map +1 -0
  31. package/dist/types/config/src/utils/blur.d.ts +3 -0
  32. package/dist/types/config/src/utils/blur.d.ts.map +1 -0
  33. package/dist/types/config/src/utils/compare.d.ts +8 -0
  34. package/dist/types/config/src/utils/compare.d.ts.map +1 -0
  35. package/dist/types/config/src/utils/config.d.ts +6 -0
  36. package/dist/types/config/src/utils/config.d.ts.map +1 -0
  37. package/dist/types/config/src/utils/copy.d.ts +11 -0
  38. package/dist/types/config/src/utils/copy.d.ts.map +1 -0
  39. package/dist/types/config/src/utils/index.d.ts +10 -0
  40. package/dist/types/config/src/utils/index.d.ts.map +1 -0
  41. package/dist/types/config/src/utils/isValidUrl.d.ts +3 -0
  42. package/dist/types/config/src/utils/isValidUrl.d.ts.map +1 -0
  43. package/dist/types/config/src/utils/list.d.ts +10 -0
  44. package/dist/types/config/src/utils/list.d.ts.map +1 -0
  45. package/dist/types/config/src/utils/load.d.ts +14 -0
  46. package/dist/types/config/src/utils/load.d.ts.map +1 -0
  47. package/dist/types/config/src/utils/loadJson.d.ts +10 -0
  48. package/dist/types/config/src/utils/loadJson.d.ts.map +1 -0
  49. package/dist/types/config/src/utils/merge.d.ts +4 -0
  50. package/dist/types/config/src/utils/merge.d.ts.map +1 -0
  51. package/dist/types/config/src/validators/AppshellGlobalConfigValidator.d.ts +4 -0
  52. package/dist/types/config/src/validators/AppshellGlobalConfigValidator.d.ts.map +1 -0
  53. package/dist/types/config/src/validators/AppshellManifestValidator.d.ts +4 -0
  54. package/dist/types/config/src/validators/AppshellManifestValidator.d.ts.map +1 -0
  55. package/dist/types/config/src/validators/AppshellTemplateValidator.d.ts +4 -0
  56. package/dist/types/config/src/validators/AppshellTemplateValidator.d.ts.map +1 -0
  57. package/dist/types/config/src/validators/index.d.ts +4 -0
  58. package/dist/types/config/src/validators/index.d.ts.map +1 -0
  59. package/dist/types/webpack-plugin/src/AppshellPlugin.d.ts +43 -0
  60. package/dist/types/webpack-plugin/src/AppshellPlugin.d.ts.map +1 -0
  61. package/dist/types/webpack-plugin/src/index.d.ts +6 -0
  62. package/dist/types/webpack-plugin/src/index.d.ts.map +1 -0
  63. package/package.json +32 -0
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,10 @@
1
+ type LoadJsonOptions = {
2
+ insecure: boolean;
3
+ target: string | RegExp;
4
+ apiKey?: string;
5
+ apiKeyHeader?: string;
6
+ proxyUrl?: string;
7
+ };
8
+ declare const _default: <T = Record<string, unknown>>(jsonPathOrUrl: string, options?: LoadJsonOptions) => Promise<T[]>;
9
+ export default _default;
10
+ //# sourceMappingURL=loadJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadJson.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/loadJson.ts"],"names":[],"mappings":"AAOA,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;yBAsDoB,CAAC,2CACN,MAAM,YACZ,eAAe,KAOvB,OAAO,CAAC,CAAC,EAAE,CAAC;AATf,wBAqBE"}
@@ -0,0 +1,4 @@
1
+ import { ConfigValidator } from '../types';
2
+ declare const _default: <TSchema>(validator: ConfigValidator, ...documents: TSchema[]) => TSchema;
3
+ export default _default;
4
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../../config/src/utils/merge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;yBAU3B,OAAO,aAAa,eAAe,gBAAgB,OAAO,EAAE;AAA5E,wBAiBE"}
@@ -0,0 +1,4 @@
1
+ import { ConfigValidator } from '../types';
2
+ declare const _default: ConfigValidator;
3
+ export default _default;
4
+ //# sourceMappingURL=AppshellGlobalConfigValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppshellGlobalConfigValidator.d.ts","sourceRoot":"","sources":["../../../../../../config/src/validators/AppshellGlobalConfigValidator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,eAAe,EAAE,MAAM,UAAU,CAAC;wBAO5D,eAAe;AALpB,wBAKqB"}
@@ -0,0 +1,4 @@
1
+ import { ConfigValidator } from '../types';
2
+ declare const _default: ConfigValidator;
3
+ export default _default;
4
+ //# sourceMappingURL=AppshellManifestValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppshellManifestValidator.d.ts","sourceRoot":"","sources":["../../../../../../config/src/validators/AppshellManifestValidator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,eAAe,EAAgB,MAAM,UAAU,CAAC;wBA0EtE,eAAe;AAtBpB,wBAsBqB"}
@@ -0,0 +1,4 @@
1
+ import { ConfigValidator } from '../types';
2
+ declare const _default: ConfigValidator;
3
+ export default _default;
4
+ //# sourceMappingURL=AppshellTemplateValidator.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,4 @@
1
+ export { default as AppshellGlobalConfigValidator } from './AppshellGlobalConfigValidator';
2
+ export { default as AppshellManifestValidator } from './AppshellManifestValidator';
3
+ export { default as AppshellTemplateValidator } from './AppshellTemplateValidator';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../config/src/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { AppshellConfig, AppshellTemplate, ModuleFederationPluginOptions } from '@appshell/config';
2
+ import { Compiler, WebpackOptionsNormalized, WebpackPluginInstance } from 'webpack';
3
+ type AppshellPluginOptions = {
4
+ config?: string;
5
+ registry?: string;
6
+ environment?: string;
7
+ publish?: boolean;
8
+ };
9
+ type ModuleFederationPluginInstance = WebpackPluginInstance & {
10
+ _options?: ModuleFederationPluginOptions;
11
+ options?: ModuleFederationPluginOptions;
12
+ };
13
+ /**
14
+ * AppshellPlugin produces app manifests that will subsequently be
15
+ * compiled into the global Appshell configuration.
16
+ */
17
+ export default class AppshellPlugin {
18
+ defaults: {
19
+ config: string;
20
+ };
21
+ options: AppshellPluginOptions;
22
+ constructor(options?: AppshellPluginOptions);
23
+ static findModuleFederationPlugin(webpackConfig: WebpackOptionsNormalized): ModuleFederationPluginInstance | undefined;
24
+ static createTemplate(config: AppshellConfig, plugin: ModuleFederationPluginInstance): AppshellTemplate;
25
+ static validate(template: AppshellTemplate): boolean;
26
+ /**
27
+ * Publish identity is the npm identity of the package being built, not the module
28
+ * federation name — the registry requires a lowercase name and has no other source
29
+ * for a version. The scope is taken from the caller's token, so it is stripped here.
30
+ */
31
+ static identify(context: string): {
32
+ name: string;
33
+ version: string;
34
+ };
35
+ /**
36
+ * Apply the plugin
37
+ * @param {Compiler} compiler the compiler instance
38
+ * @returns {void}
39
+ */
40
+ apply(compiler: Compiler): void;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=AppshellPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppshellPlugin.d.ts","sourceRoot":"","sources":["../../../../src/AppshellPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EAEhB,6BAA6B,EAK9B,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,QAAQ,EAAa,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE/F,KAAK,qBAAqB,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,8BAA8B,GAAG,qBAAqB,GAAG;IAC5D,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IACzC,OAAO,CAAC,EAAE,6BAA6B,CAAC;CACzC,CAAC;AA2BF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,QAAQ;;MAEN;IAEF,OAAO,EAAE,qBAAqB,CAE5B;gBAEU,OAAO,CAAC,EAAE,qBAAqB;IAc3C,MAAM,CAAC,0BAA0B,CAAC,aAAa,EAAE,wBAAwB;IAQzE,MAAM,CAAC,cAAc,CACnB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,8BAA8B,GACrC,gBAAgB;IAqBnB,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB;IAgC1C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;;iBAaiD,MAAM;;IAGtF;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAsEzB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @appshell/webpack-plugin package API
3
+ */
4
+ export type { AppshellManifest } from '@appshell/config';
5
+ export { default as AppshellPlugin } from './AppshellPlugin';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@appshell/webpack-plugin",
3
+ "version": "1.0.0-alpha.0",
4
+ "description": "Webpack plugin used to generate a global Appshell configuration for micro-frontends built with Module Federation",
5
+ "main": "dist/main.js",
6
+ "types": "dist/types/webpack-plugin/src/index.d.ts",
7
+ "repository": "https://github.com/appshell-org/appshell.git",
8
+ "author": "Robert Hamilton <rh@navaris.com>",
9
+ "publishConfig": {
10
+ "access": "public",
11
+ "registry": "https://registry.npmjs.org/"
12
+ },
13
+ "scripts": {
14
+ "build": "webpack --mode production && npm run build:types",
15
+ "build:types": "tsc --emitDeclarationOnly",
16
+ "build:code": "cross-env NODE_ENV=production babel-typescript src -d dist --copy-files",
17
+ "clean": "rm -rf dist",
18
+ "prebuild": "npm run clean",
19
+ "start": "webpack --watch --mode development && npm run build:types",
20
+ "stats": "webpack --json > stats.json"
21
+ },
22
+ "files": [
23
+ "dist"
24
+ ],
25
+ "keywords": [
26
+ "module federation",
27
+ "micro-frontends",
28
+ "appshell",
29
+ "plugin"
30
+ ],
31
+ "license": "MIT"
32
+ }