@module-federation/native-federation-typescript 0.4.1 → 0.4.3
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/dist/CHANGELOG.md +43 -30
- package/dist/chunk-RKXS3CNC.mjs +2 -0
- package/dist/chunk-WIGT7DWA.js +2 -0
- package/dist/esbuild.js +1 -1
- package/dist/esbuild.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/package.json +6 -2
- package/dist/rolldown.js +1 -1
- package/dist/rolldown.mjs +1 -1
- package/dist/rollup.js +1 -1
- package/dist/rollup.mjs +1 -1
- package/dist/rspack.js +1 -1
- package/dist/rspack.mjs +1 -1
- package/dist/vite.js +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/webpack.js +1 -1
- package/dist/webpack.mjs +1 -1
- package/package.json +6 -2
- package/dist/chunk-IDWEZ3WP.js +0 -2
- package/dist/chunk-MSWS7NCK.mjs +0 -2
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
# [1.0.0-canary.1](https://github.com/module-federation/
|
|
1
|
+
# [1.0.0-canary.1](https://github.com/module-federation/core/compare/native-federation-typescript-0.2.6...native-federation-typescript-1.0.0-canary.1) (2023-11-06)
|
|
2
|
+
|
|
3
|
+
## 0.4.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 3d4fb69: import path on Windows
|
|
8
|
+
|
|
9
|
+
## 0.4.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 671f64b: download retrieves count per file
|
|
14
|
+
- bc5c2e0: chore: using piscina, which wraps worker threads, can help us achieving the same result with a more concise code.
|
|
2
15
|
|
|
3
16
|
## 0.4.1
|
|
4
17
|
|
|
@@ -26,38 +39,38 @@
|
|
|
26
39
|
|
|
27
40
|
### Bug Fixes
|
|
28
41
|
|
|
29
|
-
- **deps:** update dependency antd to v4.24.14 ([#1309](https://github.com/module-federation/
|
|
30
|
-
- **deps:** update dependency axios to v1.5.0 ([#1275](https://github.com/module-federation/
|
|
31
|
-
- **deps:** update dependency axios to v1.5.1 ([ae9a06a](https://github.com/module-federation/
|
|
32
|
-
- **deps:** update dependency core-js to v3.32.2 ([18d2746](https://github.com/module-federation/
|
|
33
|
-
- **deps:** update dependency core-js to v3.33.0 ([30894ca](https://github.com/module-federation/
|
|
34
|
-
- **deps:** update dependency fast-glob to v3.3.1 ([#1197](https://github.com/module-federation/
|
|
35
|
-
- **deps:** update dependency react-router-dom to v6.15.0 ([#1276](https://github.com/module-federation/
|
|
36
|
-
- **deps:** update dependency react-router-dom to v6.16.0 ([0618339](https://github.com/module-federation/
|
|
37
|
-
- **deps:** update dependency typedoc to ^0.25.0 ([#1277](https://github.com/module-federation/
|
|
38
|
-
- **deps:** update dependency typedoc to v0.25.1 ([#1304](https://github.com/module-federation/
|
|
39
|
-
- **deps:** update dependency typedoc to v0.25.2 ([46c6524](https://github.com/module-federation/
|
|
40
|
-
- **deps:** update dependency undici to v5.24.0 ([573e644](https://github.com/module-federation/
|
|
41
|
-
- **deps:** update dependency undici to v5.25.2 ([da3e539](https://github.com/module-federation/
|
|
42
|
-
- **deps:** update dependency undici to v5.25.4 ([1d4f91e](https://github.com/module-federation/
|
|
43
|
-
- **deps:** update dependency undici to v5.26.2 [security] ([410a8b8](https://github.com/module-federation/
|
|
44
|
-
- **deps:** update dependency unplugin to v1.5.0 ([936b3f8](https://github.com/module-federation/
|
|
45
|
-
- Fix call undefined delegate ([#1149](https://github.com/module-federation/
|
|
46
|
-
- override semantic-release-plugin-decorators ([18675de](https://github.com/module-federation/
|
|
47
|
-
- switch to @goestav/nx-semantic-release ([63a3350](https://github.com/module-federation/
|
|
42
|
+
- **deps:** update dependency antd to v4.24.14 ([#1309](https://github.com/module-federation/core/issues/1309)) ([d0a2314](https://github.com/module-federation/core/commit/d0a231470e37dbad85a11df1f12695657ba3b984))
|
|
43
|
+
- **deps:** update dependency axios to v1.5.0 ([#1275](https://github.com/module-federation/core/issues/1275)) ([f163df1](https://github.com/module-federation/core/commit/f163df1073740bf4218bb35ba57cea5dc409fe43))
|
|
44
|
+
- **deps:** update dependency axios to v1.5.1 ([ae9a06a](https://github.com/module-federation/core/commit/ae9a06a0cc35fad27a0b493a25370b92617c39fb))
|
|
45
|
+
- **deps:** update dependency core-js to v3.32.2 ([18d2746](https://github.com/module-federation/core/commit/18d2746763f38fe295a14df3f1bcd4218fade5b8))
|
|
46
|
+
- **deps:** update dependency core-js to v3.33.0 ([30894ca](https://github.com/module-federation/core/commit/30894cafbe5dea4350dc7c633548038d7ec5f8a8))
|
|
47
|
+
- **deps:** update dependency fast-glob to v3.3.1 ([#1197](https://github.com/module-federation/core/issues/1197)) ([5743543](https://github.com/module-federation/core/commit/57435430bd0912e3bf370ce08b46f610b12d00e3))
|
|
48
|
+
- **deps:** update dependency react-router-dom to v6.15.0 ([#1276](https://github.com/module-federation/core/issues/1276)) ([850e2fa](https://github.com/module-federation/core/commit/850e2fac60f49b456aef3b5df9827fc3ac5a6006))
|
|
49
|
+
- **deps:** update dependency react-router-dom to v6.16.0 ([0618339](https://github.com/module-federation/core/commit/061833912f7e5748011cd60ed679a68c1b659f77))
|
|
50
|
+
- **deps:** update dependency typedoc to ^0.25.0 ([#1277](https://github.com/module-federation/core/issues/1277)) ([8d6a72e](https://github.com/module-federation/core/commit/8d6a72e18a57b69b2f63802621e8b4b479554fed))
|
|
51
|
+
- **deps:** update dependency typedoc to v0.25.1 ([#1304](https://github.com/module-federation/core/issues/1304)) ([abf84fe](https://github.com/module-federation/core/commit/abf84fefd5c20b5de7c9a74d1c49235f44d36dc6))
|
|
52
|
+
- **deps:** update dependency typedoc to v0.25.2 ([46c6524](https://github.com/module-federation/core/commit/46c65247e187cee9e15625402c1570ac351bb1fe))
|
|
53
|
+
- **deps:** update dependency undici to v5.24.0 ([573e644](https://github.com/module-federation/core/commit/573e644333da6d24cb4286ce08221a1aa82415e4))
|
|
54
|
+
- **deps:** update dependency undici to v5.25.2 ([da3e539](https://github.com/module-federation/core/commit/da3e539a41ed23ccb5086b1dd428fbee0f8d652c))
|
|
55
|
+
- **deps:** update dependency undici to v5.25.4 ([1d4f91e](https://github.com/module-federation/core/commit/1d4f91ec93da4326c8a42eef28f150d5d09738bb))
|
|
56
|
+
- **deps:** update dependency undici to v5.26.2 [security] ([410a8b8](https://github.com/module-federation/core/commit/410a8b8bd1558dfb5119ae10941d2b3816a0d0e0))
|
|
57
|
+
- **deps:** update dependency unplugin to v1.5.0 ([936b3f8](https://github.com/module-federation/core/commit/936b3f8d8061fd9d481d1788fb35b88588928d14))
|
|
58
|
+
- Fix call undefined delegate ([#1149](https://github.com/module-federation/core/issues/1149)) ([87a5896](https://github.com/module-federation/core/commit/87a5896221a726578c3433071755fba3465824f4)), closes [#1151](https://github.com/module-federation/core/issues/1151)
|
|
59
|
+
- override semantic-release-plugin-decorators ([18675de](https://github.com/module-federation/core/commit/18675defef65570d2b3bb6a9caa3fd039badee29))
|
|
60
|
+
- switch to @goestav/nx-semantic-release ([63a3350](https://github.com/module-federation/core/commit/63a3350a6a1a12235e3c9f1e7c724d54f0476356))
|
|
48
61
|
|
|
49
62
|
### Features
|
|
50
63
|
|
|
51
|
-
- core package for module federation ([#1093](https://github.com/module-federation/
|
|
52
|
-
- Dynamic Filesystem ([#1274](https://github.com/module-federation/
|
|
53
|
-
- fork module federation ([0ad7430](https://github.com/module-federation/
|
|
54
|
-
- improved async init ([ae3a450](https://github.com/module-federation/
|
|
55
|
-
- native self forming node federation ([#1291](https://github.com/module-federation/
|
|
56
|
-
- new actions, remove gpt integration ([370229e](https://github.com/module-federation/
|
|
57
|
-
- **node:** node federation demo/testing apps added ([27d545d](https://github.com/module-federation/
|
|
58
|
-
- **typedoc-parsetr:** merged main ([cf6e65a](https://github.com/module-federation/
|
|
59
|
-
- **typedoc-parsetr:** merged main ([2ff0d5a](https://github.com/module-federation/
|
|
60
|
-
- **typedoc-parsetr:** python script implementation ([0a533cb](https://github.com/module-federation/
|
|
64
|
+
- core package for module federation ([#1093](https://github.com/module-federation/core/issues/1093)) ([d460400](https://github.com/module-federation/core/commit/d46040053e9b627321b5fe8e05556c5bb727c238)), closes [#851](https://github.com/module-federation/core/issues/851) [#864](https://github.com/module-federation/core/issues/864) [#835](https://github.com/module-federation/core/issues/835) [#851](https://github.com/module-federation/core/issues/851) [#864](https://github.com/module-federation/core/issues/864) [#871](https://github.com/module-federation/core/issues/871) [#851](https://github.com/module-federation/core/issues/851) [#864](https://github.com/module-federation/core/issues/864) [#872](https://github.com/module-federation/core/issues/872) [#875](https://github.com/module-federation/core/issues/875) [#884](https://github.com/module-federation/core/issues/884) [#887](https://github.com/module-federation/core/issues/887) [#893](https://github.com/module-federation/core/issues/893) [#885](https://github.com/module-federation/core/issues/885) [#899](https://github.com/module-federation/core/issues/899) [#904](https://github.com/module-federation/core/issues/904) [#932](https://github.com/module-federation/core/issues/932) [#936](https://github.com/module-federation/core/issues/936) [#959](https://github.com/module-federation/core/issues/959) [#960](https://github.com/module-federation/core/issues/960) [#969](https://github.com/module-federation/core/issues/969) [#971](https://github.com/module-federation/core/issues/971) [#1234](https://github.com/module-federation/core/issues/1234) [#1235](https://github.com/module-federation/core/issues/1235)
|
|
65
|
+
- Dynamic Filesystem ([#1274](https://github.com/module-federation/core/issues/1274)) ([2bec98a](https://github.com/module-federation/core/commit/2bec98a2472b44898a7f14ec6868a2368cfb6d82))
|
|
66
|
+
- fork module federation ([0ad7430](https://github.com/module-federation/core/commit/0ad7430f6170458a47144be392133b7b2fa1ade0))
|
|
67
|
+
- improved async init ([ae3a450](https://github.com/module-federation/core/commit/ae3a4503ff9de86492b13029d6334b281ddd9493))
|
|
68
|
+
- native self forming node federation ([#1291](https://github.com/module-federation/core/issues/1291)) ([1dd5ed1](https://github.com/module-federation/core/commit/1dd5ed17c981e036336925e807203e94b58c36d6))
|
|
69
|
+
- new actions, remove gpt integration ([370229e](https://github.com/module-federation/core/commit/370229e02cc352fcfaeaa0f3cf1f9f2d4966d1bb))
|
|
70
|
+
- **node:** node federation demo/testing apps added ([27d545d](https://github.com/module-federation/core/commit/27d545d99095da7134c392dbcd9fb135a170f6ef))
|
|
71
|
+
- **typedoc-parsetr:** merged main ([cf6e65a](https://github.com/module-federation/core/commit/cf6e65a4aa895d7c2dba8fdbd8ec22ec7bd8f514))
|
|
72
|
+
- **typedoc-parsetr:** merged main ([2ff0d5a](https://github.com/module-federation/core/commit/2ff0d5a075df3f241742cc7e516cd0378e8e1b3e))
|
|
73
|
+
- **typedoc-parsetr:** python script implementation ([0a533cb](https://github.com/module-federation/core/commit/0a533cb60e0c3ca269ab45df740c1367be175e80))
|
|
61
74
|
|
|
62
75
|
### BREAKING CHANGES
|
|
63
76
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var G=Object.create;var x=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var Y=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var te=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var P=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var re=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Q(t))!ee.call(e,i)&&i!==r&&x(e,i,{get:()=>t[i],enumerable:!(o=K(t,i))||o.enumerable});return e};var H=(e,t,r)=>(r=e!=null?G(Y(e)):{},re(t||!e||!e.__esModule?x(r,"default",{value:e,enumerable:!0}):r,e));import q from"ansi-colors";import{dirname as ue,join as ge,normalize as m,relative as ye,sep as Re}from"path";import l from"typescript";var Oe,N,ve,c,g,Te,he,Ce,D,d=E(()=>{"use strict";Oe=/^\//,N=".d.ts",ve=e=>{let{line:t}=e.file.getLineAndCharacterOfPosition(e.start);console.error(q.red(`TS Error ${e.code}':' ${l.flattenDiagnosticMessageText(e.messageText,l.sys.newLine)}`)),console.error(q.red(` at ${e.file.fileName}:${t+1} typescript.sys.newLine`))},c=(e,t)=>m(e.outDir.replace(t.compiledTypesFolder,"")),g=(e,t)=>m(e.outDir.replace(t.compiledTypesFolder,"").replace(t.typesFolder,"")),Te=(e,t,r)=>{let o=l.createCompilerHost(t),i=o.writeFile,s=Object.fromEntries(Object.entries(e).map(([p,f])=>[m(f),p])),n=c(t,r);return o.writeFile=(p,f,T,Z,h,V)=>{i(p,f,T,Z,h,V);for(let X of h||[]){let C=s[m(X.fileName)];if(C){let w=ge(n,`${C}${N}`),J=ue(w),F=ye(J,p).replace(N,"").replace(Oe,"").split(Re).join("/");i(w,`export * from './${F}';
|
|
2
|
+
export { default } from './${F}';`,T)}}},o},he=e=>te("vue-tsc").createProgram(e),Ce=(e,t)=>{switch(e.compilerInstance){case"vue-tsc":return he(t);case"tsc":default:return l.createProgram(t)}},D=(e,t,r)=>{let o=Te(e,t,r),s={rootNames:[...Object.values(e),...r.additionalFilesToCompile],host:o,options:t},n=Ce(r,s),{diagnostics:p=[]}=n.emit();p.forEach(ve)}});import U from"adm-zip";import we from"ansi-colors";import Fe from"axios";import{join as j}from"path";var xe,B,Ee,W,y=E(()=>{"use strict";d();xe=(e,t)=>j(e.replace(t.typesFolder,""),`${t.typesFolder}.zip`),B=async(e,t)=>{let r=c(e,t),o=new U;return o.addLocalFolder(r),o.writeZipPromise(xe(r,t))},Ee=(e,t)=>r=>{throw{...r,message:`Network error: Unable to download federated mocks for '${e}' from '${t}' because '${r.message}'`}},W=e=>{let t={};return async([r,o])=>{t[o]=0;let i=j(e.typesFolder,r);for(;t[o]++<e.maxRetries;)try{let s=await Fe.get(o,{responseType:"arraybuffer"}).catch(Ee(r,o));new U(Buffer.from(s.data)).extractAllTo(i,!0);break}catch(s){if(console.error(we.red(`Error during types archive download: ${(s==null?void 0:s.message)||"unknown error"}`)),t[o]>=e.maxRetries)throw s}}}});import Pe from"piscina";import{rm as He}from"fs/promises";import{isMainThread as Se}from"worker_threads";var _=P((tt,R)=>{"use strict";d();y();if(Se){let e=new Pe({filename:__filename});R.exports=e.run.bind(e)}else R.exports=async({remoteOptions:e,tsConfig:t,mapComponentsToExpose:r})=>{D(r,t,e),await B(t,e),e.deleteTypesFolder&&await He(c(t,e),{recursive:!0,force:!0})}});import be from"piscina";import{isMainThread as $e}from"worker_threads";import{rm as qe}from"fs/promises";import Ne from"ansi-colors";var A=P((pt,O)=>{"use strict";y();if($e){let e=new be({filename:__filename});O.exports=e.run.bind(e)}else O.exports=async({hostOptions:e,mapRemotesToDownload:t})=>{e.deleteTypesFolder&&await qe(e.typesFolder,{recursive:!0,force:!0}).catch(i=>console.error(Ne.red(`Unable to remove types folder, ${i}`)));let r=W(e),o=Object.entries(t).map(r);await Promise.allSettled(o)}});import v from"ansi-colors";import{resolve as I}from"path";import{mergeDeepRight as L}from"rambda";import{createUnplugin as z}from"unplugin";var oe={typesFolder:"@mf-types",deleteTypesFolder:!0,maxRetries:3},ie=e=>{let t=e.split("@");return t[t.length-1]},se=(e,t)=>{let r=ie(t),o=new URL(r),i=o.pathname.split("/").slice(0,-1).join("/");return o.pathname=`${i}/${e.typesFolder}.zip`,o.href},ne=e=>Object.entries(e.moduleFederationConfig.remotes).reduce((t,[r,o])=>(t[r]=se(e,o),t),{}),S=e=>{if(!e.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let t={...oe,...e},r=ne(t);return{hostOptions:t,mapRemotesToDownload:r}};import{existsSync as pe}from"fs";import{dirname as ce,join as u,resolve as ae}from"path";import a from"typescript";var me={tsConfigPath:"./tsconfig.json",typesFolder:"@mf-types",compiledTypesFolder:"compiled-types",deleteTypesFolder:!0,additionalFilesToCompile:[],compilerInstance:"tsc"},le=({tsConfigPath:e,typesFolder:t,compiledTypesFolder:r})=>{let o=ae(e),i=a.readConfigFile(o,a.sys.readFile),s=a.parseJsonConfigFileContent(i.config,a.sys,ce(o)),n=u(s.options.outDir||"dist",t,r);return{...s.options,emitDeclarationOnly:!0,noEmit:!1,declaration:!0,outDir:n}},de=["ts","tsx","vue","svelte"],b=e=>{let t=process.cwd();for(let r of de){let o=u(t,`${e}.${r}`);if(pe(o))return o}},fe=e=>Object.entries(e.moduleFederationConfig.exposes).reduce((t,[r,o])=>(t[r]=b(o)||b(u(o,"index"))||o,t),{}),$=e=>{if(!e.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let t={...me,...e},r=fe(t);return{tsConfig:le(t),mapComponentsToExpose:r,remoteOptions:t}};d();var k=H(_()),M=H(A()),yt=z(e=>{let t=$(e),{remoteOptions:r,tsConfig:o}=t;return{name:"native-federation-typescript/remote",async writeBundle(){try{await(0,k.default)(t),console.log(v.green("Federated types created correctly"))}catch(i){console.error(v.red(`Unable to compile federated types, ${i}`))}},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}},webpack(i){i.options.devServer=L(i.options.devServer||{},{static:{directory:I(g(o,r))}})},rspack(i){i.options.devServer=L(i.options.devServer||{},{static:{directory:I(g(o,r))}})}}}),Rt=z(e=>{let t=S(e);return{name:"native-federation-typescript/host",async writeBundle(){await(0,M.default)(t),console.log(v.green("Federated types extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});export{yt as a,Rt as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var G=Object.create;var x=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var Y=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var te=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var P=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var re=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Q(t))!ee.call(e,i)&&i!==r&&x(e,i,{get:()=>t[i],enumerable:!(o=K(t,i))||o.enumerable});return e};var H=(e,t,r)=>(r=e!=null?G(Y(e)):{},re(t||!e||!e.__esModule?x(r,"default",{value:e,enumerable:!0}):r,e));var _ansicolors = require('ansi-colors'); var _ansicolors2 = _interopRequireDefault(_ansicolors);var _path = require('path');var _typescript = require('typescript'); var _typescript2 = _interopRequireDefault(_typescript);var Oe,N,ve,c,g,Te,he,Ce,D,d=E(()=>{"use strict";Oe=/^\//,N=".d.ts",ve=e=>{let{line:t}=e.file.getLineAndCharacterOfPosition(e.start);console.error(_ansicolors2.default.red(`TS Error ${e.code}':' ${_typescript2.default.flattenDiagnosticMessageText(e.messageText,_typescript2.default.sys.newLine)}`)),console.error(_ansicolors2.default.red(` at ${e.file.fileName}:${t+1} typescript.sys.newLine`))},c=(e,t)=>_path.normalize.call(void 0, e.outDir.replace(t.compiledTypesFolder,"")),g=(e,t)=>_path.normalize.call(void 0, e.outDir.replace(t.compiledTypesFolder,"").replace(t.typesFolder,"")),Te=(e,t,r)=>{let o=_typescript2.default.createCompilerHost(t),i=o.writeFile,s=Object.fromEntries(Object.entries(e).map(([p,f])=>[_path.normalize.call(void 0, f),p])),n=c(t,r);return o.writeFile=(p,f,T,Z,h,V)=>{i(p,f,T,Z,h,V);for(let X of h||[]){let C=s[_path.normalize.call(void 0, X.fileName)];if(C){let w=_path.join.call(void 0, n,`${C}${N}`),J=_path.dirname.call(void 0, w),F=_path.relative.call(void 0, J,p).replace(N,"").replace(Oe,"").split(_path.sep).join("/");i(w,`export * from './${F}';
|
|
2
|
+
export { default } from './${F}';`,T)}}},o},he=e=>te("vue-tsc").createProgram(e),Ce=(e,t)=>{switch(e.compilerInstance){case"vue-tsc":return he(t);case"tsc":default:return _typescript2.default.createProgram(t)}},D=(e,t,r)=>{let o=Te(e,t,r),s={rootNames:[...Object.values(e),...r.additionalFilesToCompile],host:o,options:t},n=Ce(r,s),{diagnostics:p=[]}=n.emit();p.forEach(ve)}});var _admzip = require('adm-zip'); var _admzip2 = _interopRequireDefault(_admzip);var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var xe,B,Ee,W,y=E(()=>{"use strict";d();xe=(e,t)=>_path.join.call(void 0, e.replace(t.typesFolder,""),`${t.typesFolder}.zip`),B=async(e,t)=>{let r=c(e,t),o=new _admzip2.default;return o.addLocalFolder(r),o.writeZipPromise(xe(r,t))},Ee=(e,t)=>r=>{throw{...r,message:`Network error: Unable to download federated mocks for '${e}' from '${t}' because '${r.message}'`}},W=e=>{let t={};return async([r,o])=>{t[o]=0;let i=_path.join.call(void 0, e.typesFolder,r);for(;t[o]++<e.maxRetries;)try{let s=await _axios2.default.get(o,{responseType:"arraybuffer"}).catch(Ee(r,o));new (0, _admzip2.default)(Buffer.from(s.data)).extractAllTo(i,!0);break}catch(s){if(console.error(_ansicolors2.default.red(`Error during types archive download: ${(s==null?void 0:s.message)||"unknown error"}`)),t[o]>=e.maxRetries)throw s}}}});var _piscina = require('piscina'); var _piscina2 = _interopRequireDefault(_piscina);var _promises = require('fs/promises');var _worker_threads = require('worker_threads');var _=P((tt,R)=>{"use strict";d();y();if(_worker_threads.isMainThread){let e=new (0, _piscina2.default)({filename:__filename});R.exports=e.run.bind(e)}else R.exports=async({remoteOptions:e,tsConfig:t,mapComponentsToExpose:r})=>{D(r,t,e),await B(t,e),e.deleteTypesFolder&&await _promises.rm.call(void 0, c(t,e),{recursive:!0,force:!0})}});var A=P((pt,O)=>{"use strict";y();if(_worker_threads.isMainThread){let e=new (0, _piscina2.default)({filename:__filename});O.exports=e.run.bind(e)}else O.exports=async({hostOptions:e,mapRemotesToDownload:t})=>{e.deleteTypesFolder&&await _promises.rm.call(void 0, e.typesFolder,{recursive:!0,force:!0}).catch(i=>console.error(_ansicolors2.default.red(`Unable to remove types folder, ${i}`)));let r=W(e),o=Object.entries(t).map(r);await Promise.allSettled(o)}});var _rambda = require('rambda');var _unplugin = require('unplugin');var oe={typesFolder:"@mf-types",deleteTypesFolder:!0,maxRetries:3},ie=e=>{let t=e.split("@");return t[t.length-1]},se=(e,t)=>{let r=ie(t),o=new URL(r),i=o.pathname.split("/").slice(0,-1).join("/");return o.pathname=`${i}/${e.typesFolder}.zip`,o.href},ne=e=>Object.entries(e.moduleFederationConfig.remotes).reduce((t,[r,o])=>(t[r]=se(e,o),t),{}),S=e=>{if(!e.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let t={...oe,...e},r=ne(t);return{hostOptions:t,mapRemotesToDownload:r}};var _fs = require('fs');var me={tsConfigPath:"./tsconfig.json",typesFolder:"@mf-types",compiledTypesFolder:"compiled-types",deleteTypesFolder:!0,additionalFilesToCompile:[],compilerInstance:"tsc"},le=({tsConfigPath:e,typesFolder:t,compiledTypesFolder:r})=>{let o=_path.resolve.call(void 0, e),i=_typescript2.default.readConfigFile(o,_typescript2.default.sys.readFile),s=_typescript2.default.parseJsonConfigFileContent(i.config,_typescript2.default.sys,_path.dirname.call(void 0, o)),n=_path.join.call(void 0, s.options.outDir||"dist",t,r);return{...s.options,emitDeclarationOnly:!0,noEmit:!1,declaration:!0,outDir:n}},de=["ts","tsx","vue","svelte"],b=e=>{let t=process.cwd();for(let r of de){let o=_path.join.call(void 0, t,`${e}.${r}`);if(_fs.existsSync.call(void 0, o))return o}},fe=e=>Object.entries(e.moduleFederationConfig.exposes).reduce((t,[r,o])=>(t[r]=b(o)||b(_path.join.call(void 0, o,"index"))||o,t),{}),$=e=>{if(!e.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let t={...me,...e},r=fe(t);return{tsConfig:le(t),mapComponentsToExpose:r,remoteOptions:t}};d();var k=H(_()),M=H(A()),yt= exports.a =_unplugin.createUnplugin.call(void 0, e=>{let t=$(e),{remoteOptions:r,tsConfig:o}=t;return{name:"native-federation-typescript/remote",async writeBundle(){try{await(0,k.default)(t),console.log(_ansicolors2.default.green("Federated types created correctly"))}catch(i){console.error(_ansicolors2.default.red(`Unable to compile federated types, ${i}`))}},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}},webpack(i){i.options.devServer=_rambda.mergeDeepRight.call(void 0, i.options.devServer||{},{static:{directory:_path.resolve.call(void 0, g(o,r))}})},rspack(i){i.options.devServer=_rambda.mergeDeepRight.call(void 0, i.options.devServer||{},{static:{directory:_path.resolve.call(void 0, g(o,r))}})}}}),Rt= exports.b =_unplugin.createUnplugin.call(void 0, e=>{let t=S(e);return{name:"native-federation-typescript/host",async writeBundle(){await(0,M.default)(t),console.log(_ansicolors2.default.green("Federated types extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});exports.a = yt; exports.b = Rt;
|
package/dist/esbuild.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWIGT7DWAjs = require('./chunk-WIGT7DWA.js');var i=_chunkWIGT7DWAjs.a.esbuild,r= exports.NativeFederationTypeScriptHost =_chunkWIGT7DWAjs.b.esbuild;exports.NativeFederationTypeScriptHost = r; exports.NativeFederationTypeScriptRemote = i;
|
package/dist/esbuild.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,b as t}from"./chunk-
|
|
1
|
+
import{a as e,b as t}from"./chunk-RKXS3CNC.mjs";var i=e.esbuild,r=t.esbuild;export{r as NativeFederationTypeScriptHost,i as NativeFederationTypeScriptRemote};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWIGT7DWAjs = require('./chunk-WIGT7DWA.js');exports.NativeFederationTypeScriptHost = _chunkWIGT7DWAjs.b; exports.NativeFederationTypeScriptRemote = _chunkWIGT7DWAjs.a;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"./chunk-
|
|
1
|
+
import{a,b}from"./chunk-RKXS3CNC.mjs";export{b as NativeFederationTypeScriptHost,a as NativeFederationTypeScriptRemote};
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/native-federation-typescript",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Bundler agnostic unplugin to share federated types",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"module federation",
|
|
@@ -56,10 +56,14 @@
|
|
|
56
56
|
"ansi-colors": "^4.1.3",
|
|
57
57
|
"axios": "^1.6.7",
|
|
58
58
|
"rambda": "^9.1.0",
|
|
59
|
-
"unplugin": "^1.9.0"
|
|
59
|
+
"unplugin": "^1.9.0",
|
|
60
|
+
"piscina": "^4.4.0"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
62
63
|
"typescript": "^4.9.0 || ^5.0.0",
|
|
63
64
|
"vue-tsc": "^1.0.24"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"upath": "2.0.1"
|
|
64
68
|
}
|
|
65
69
|
}
|
package/dist/rolldown.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWIGT7DWAjs = require('./chunk-WIGT7DWA.js');var r=_chunkWIGT7DWAjs.a.rolldown,i= exports.NativeFederationTypeScriptHost =_chunkWIGT7DWAjs.b.rolldown;exports.NativeFederationTypeScriptHost = i; exports.NativeFederationTypeScriptRemote = r;
|
package/dist/rolldown.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,b as t}from"./chunk-
|
|
1
|
+
import{a as e,b as t}from"./chunk-RKXS3CNC.mjs";var r=e.rolldown,i=t.rolldown;export{i as NativeFederationTypeScriptHost,r as NativeFederationTypeScriptRemote};
|
package/dist/rollup.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWIGT7DWAjs = require('./chunk-WIGT7DWA.js');var r=_chunkWIGT7DWAjs.a.rollup,i= exports.NativeFederationTypeScriptHost =_chunkWIGT7DWAjs.b.rollup;exports.NativeFederationTypeScriptHost = i; exports.NativeFederationTypeScriptRemote = r;
|
package/dist/rollup.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,b as t}from"./chunk-
|
|
1
|
+
import{a as e,b as t}from"./chunk-RKXS3CNC.mjs";var r=e.rollup,i=t.rollup;export{i as NativeFederationTypeScriptHost,r as NativeFederationTypeScriptRemote};
|
package/dist/rspack.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWIGT7DWAjs = require('./chunk-WIGT7DWA.js');var r=_chunkWIGT7DWAjs.a.rspack,a= exports.NativeFederationTypeScriptHost =_chunkWIGT7DWAjs.b.rspack;exports.NativeFederationTypeScriptHost = a; exports.NativeFederationTypeScriptRemote = r;
|
package/dist/rspack.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,b as t}from"./chunk-
|
|
1
|
+
import{a as e,b as t}from"./chunk-RKXS3CNC.mjs";var r=e.rspack,a=t.rspack;export{a as NativeFederationTypeScriptHost,r as NativeFederationTypeScriptRemote};
|
package/dist/vite.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWIGT7DWAjs = require('./chunk-WIGT7DWA.js');var i=_chunkWIGT7DWAjs.a.vite,p= exports.NativeFederationTypeScriptHost =_chunkWIGT7DWAjs.b.vite;exports.NativeFederationTypeScriptHost = p; exports.NativeFederationTypeScriptRemote = i;
|
package/dist/vite.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t,b as e}from"./chunk-
|
|
1
|
+
import{a as t,b as e}from"./chunk-RKXS3CNC.mjs";var i=t.vite,p=e.vite;export{p as NativeFederationTypeScriptHost,i as NativeFederationTypeScriptRemote};
|
package/dist/webpack.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWIGT7DWAjs = require('./chunk-WIGT7DWA.js');var i=_chunkWIGT7DWAjs.a.webpack,p= exports.NativeFederationTypeScriptHost =_chunkWIGT7DWAjs.b.webpack;exports.NativeFederationTypeScriptHost = p; exports.NativeFederationTypeScriptRemote = i;
|
package/dist/webpack.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,b as t}from"./chunk-
|
|
1
|
+
import{a as e,b as t}from"./chunk-RKXS3CNC.mjs";var i=e.webpack,p=t.webpack;export{p as NativeFederationTypeScriptHost,i as NativeFederationTypeScriptRemote};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/native-federation-typescript",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Bundler agnostic unplugin to share federated types",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"module federation",
|
|
@@ -56,10 +56,14 @@
|
|
|
56
56
|
"ansi-colors": "^4.1.3",
|
|
57
57
|
"axios": "^1.6.7",
|
|
58
58
|
"rambda": "^9.1.0",
|
|
59
|
-
"unplugin": "^1.9.0"
|
|
59
|
+
"unplugin": "^1.9.0",
|
|
60
|
+
"piscina": "^4.4.0"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
62
63
|
"typescript": "^4.9.0 || ^5.0.0",
|
|
63
64
|
"vue-tsc": "^1.0.24"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"upath": "2.0.1"
|
|
64
68
|
}
|
|
65
69
|
}
|
package/dist/chunk-IDWEZ3WP.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var L=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var _ansicolors = require('ansi-colors'); var _ansicolors2 = _interopRequireDefault(_ansicolors);var _promises = require('fs/promises');var _path = require('path');var _rambda = require('rambda');var _unplugin = require('unplugin');var _={typesFolder:"@mf-types",deleteTypesFolder:!0,maxRetries:3},z=t=>{let e=t.split("@");return e[e.length-1]},B=(t,e)=>{let r=z(e),o=new URL(r),s=o.pathname.split("/").slice(0,-1).join("/");return o.pathname=`${s}/${t.typesFolder}.zip`,o.href},k=t=>Object.entries(t.moduleFederationConfig.remotes).reduce((e,[r,o])=>(e[r]=B(t,o),e),{}),R=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={..._,...t},r=k(e);return{hostOptions:e,mapRemotesToDownload:r}};var _fs = require('fs');var _typescript = require('typescript'); var _typescript2 = _interopRequireDefault(_typescript);var V={tsConfigPath:"./tsconfig.json",typesFolder:"@mf-types",compiledTypesFolder:"compiled-types",deleteTypesFolder:!0,additionalFilesToCompile:[],compilerInstance:"tsc"},X=({tsConfigPath:t,typesFolder:e,compiledTypesFolder:r})=>{let o=_path.resolve.call(void 0, t),s=_typescript2.default.readConfigFile(o,_typescript2.default.sys.readFile),i=_typescript2.default.parseJsonConfigFileContent(s.config,_typescript2.default.sys,_path.dirname.call(void 0, o)),n=_path.join.call(void 0, i.options.outDir||"dist",e,r);return{...i.options,emitDeclarationOnly:!0,noEmit:!1,declaration:!0,outDir:n}},J=["ts","tsx","vue","svelte"],T=t=>{let e=process.cwd();for(let r of J){let o=_path.join.call(void 0, e,`${t}.${r}`);if(_fs.existsSync.call(void 0, o))return o}},G=t=>Object.entries(t.moduleFederationConfig.exposes).reduce((e,[r,o])=>(e[r]=T(o)||T(_path.join.call(void 0, o,"index"))||o,e),{}),h=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...V,...t},r=G(e);return{tsConfig:X(e),mapComponentsToExpose:r,remoteOptions:e}};var _admzip = require('adm-zip'); var _admzip2 = _interopRequireDefault(_admzip);var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var ee=/^\//,C=".d.ts",te=t=>{let{line:e}=t.file.getLineAndCharacterOfPosition(t.start);console.error(_ansicolors2.default.red(`TS Error ${t.code}':' ${_typescript2.default.flattenDiagnosticMessageText(t.messageText,_typescript2.default.sys.newLine)}`)),console.error(_ansicolors2.default.red(` at ${t.file.fileName}:${e+1} typescript.sys.newLine`))},c=(t,e)=>_path.normalize.call(void 0, t.outDir.replace(e.compiledTypesFolder,"")),f=(t,e)=>_path.normalize.call(void 0, t.outDir.replace(e.compiledTypesFolder,"").replace(e.typesFolder,"")),re=(t,e,r)=>{let o=_typescript2.default.createCompilerHost(e),s=o.writeFile,i=Object.fromEntries(Object.entries(t).map(p=>p.reverse())),n=c(e,r);return o.writeFile=(p,N,u,U,y,j)=>{s(p,N,u,U,y,j);for(let A of y||[]){let g=i[A.fileName];if(g){let O=_path.join.call(void 0, n,`${g}${C}`),I=_path.dirname.call(void 0, O),v=_path.relative.call(void 0, I,p).replace(C,"").replace(ee,"");s(O,`export * from './${v}';
|
|
2
|
-
export { default } from './${v}';`,u)}}},o},oe=t=>L("vue-tsc").createProgram(t),se=(t,e)=>{switch(t.compilerInstance){case"vue-tsc":return oe(e);case"tsc":default:return _typescript2.default.createProgram(e)}},E=(t,e,r)=>{let o=re(t,e,r),i={rootNames:[...Object.values(t),...r.additionalFilesToCompile],host:o,options:e},n=se(r,i),{diagnostics:p=[]}=n.emit();p.forEach(te)};var pe=(t,e)=>_path.join.call(void 0, t.replace(e.typesFolder,""),`${e.typesFolder}.zip`),S=async(t,e)=>{let r=c(t,e),o=new _admzip2.default;return o.addLocalFolder(r),o.writeZipPromise(pe(r,e))},ce=(t,e)=>r=>{throw{...r,message:`Network error: Unable to download federated mocks for '${t}' from '${e}' because '${r.message}'`}},$=t=>{let e=0;return async([r,o])=>{let s=_path.join.call(void 0, t.typesFolder,r);for(;e++<t.maxRetries;)try{let i=await _axios2.default.get(o,{responseType:"arraybuffer"}).catch(ce(r,o));new (0, _admzip2.default)(Buffer.from(i.data)).extractAllTo(s,!0);break}catch(i){if(console.error(_ansicolors2.default.red(`Error during types archive download: ${(i==null?void 0:i.message)||"unknown error"}`)),e>=t.maxRetries)throw i}}};var Ue=_unplugin.createUnplugin.call(void 0, t=>{let{remoteOptions:e,tsConfig:r,mapComponentsToExpose:o}=h(t);return{name:"native-federation-typescript/remote",async writeBundle(){try{E(o,r,e),await S(r,e),e.deleteTypesFolder&&await _promises.rm.call(void 0, c(r,e),{recursive:!0,force:!0}),console.log(_ansicolors2.default.green("Federated types created correctly"))}catch(s){console.error(_ansicolors2.default.red(`Unable to compile federated types, ${s}`))}},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}},webpack:s=>{s.options.devServer=_rambda.mergeDeepRight.call(void 0, s.options.devServer||{},{static:{directory:_path.resolve.call(void 0, f(r,e))}})},rspack:s=>{s.options.devServer=_rambda.mergeDeepRight.call(void 0, s.options.devServer||{},{static:{directory:_path.resolve.call(void 0, f(r,e))}})}}}),je= exports.b =_unplugin.createUnplugin.call(void 0, t=>{let{hostOptions:e,mapRemotesToDownload:r}=R(t);return{name:"native-federation-typescript/host",async writeBundle(){e.deleteTypesFolder&&await _promises.rm.call(void 0, e.typesFolder,{recursive:!0,force:!0}).catch(i=>console.error(_ansicolors2.default.red(`Unable to remove types folder, ${i}`)));let o=$(e),s=Object.entries(r).map(o);await Promise.allSettled(s),console.log(_ansicolors2.default.green("Federated types extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});exports.a = Ue; exports.b = je;
|
package/dist/chunk-MSWS7NCK.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var L=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});import l from"ansi-colors";import{rm as b}from"fs/promises";import{resolve as H}from"path";import{mergeDeepRight as D}from"rambda";import{createUnplugin as q}from"unplugin";var _={typesFolder:"@mf-types",deleteTypesFolder:!0,maxRetries:3},z=t=>{let e=t.split("@");return e[e.length-1]},B=(t,e)=>{let r=z(e),o=new URL(r),s=o.pathname.split("/").slice(0,-1).join("/");return o.pathname=`${s}/${t.typesFolder}.zip`,o.href},k=t=>Object.entries(t.moduleFederationConfig.remotes).reduce((e,[r,o])=>(e[r]=B(t,o),e),{}),R=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={..._,...t},r=k(e);return{hostOptions:e,mapRemotesToDownload:r}};import{existsSync as W}from"fs";import{dirname as Z,join as d,resolve as M}from"path";import a from"typescript";var V={tsConfigPath:"./tsconfig.json",typesFolder:"@mf-types",compiledTypesFolder:"compiled-types",deleteTypesFolder:!0,additionalFilesToCompile:[],compilerInstance:"tsc"},X=({tsConfigPath:t,typesFolder:e,compiledTypesFolder:r})=>{let o=M(t),s=a.readConfigFile(o,a.sys.readFile),i=a.parseJsonConfigFileContent(s.config,a.sys,Z(o)),n=d(i.options.outDir||"dist",e,r);return{...i.options,emitDeclarationOnly:!0,noEmit:!1,declaration:!0,outDir:n}},J=["ts","tsx","vue","svelte"],T=t=>{let e=process.cwd();for(let r of J){let o=d(e,`${t}.${r}`);if(W(o))return o}},G=t=>Object.entries(t.moduleFederationConfig.exposes).reduce((e,[r,o])=>(e[r]=T(o)||T(d(o,"index"))||o,e),{}),h=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...V,...t},r=G(e);return{tsConfig:X(e),mapComponentsToExpose:r,remoteOptions:e}};import x from"adm-zip";import ie from"ansi-colors";import ne from"axios";import{join as P}from"path";import w from"ansi-colors";import{dirname as K,join as Q,normalize as F,relative as Y}from"path";import m from"typescript";var ee=/^\//,C=".d.ts",te=t=>{let{line:e}=t.file.getLineAndCharacterOfPosition(t.start);console.error(w.red(`TS Error ${t.code}':' ${m.flattenDiagnosticMessageText(t.messageText,m.sys.newLine)}`)),console.error(w.red(` at ${t.file.fileName}:${e+1} typescript.sys.newLine`))},c=(t,e)=>F(t.outDir.replace(e.compiledTypesFolder,"")),f=(t,e)=>F(t.outDir.replace(e.compiledTypesFolder,"").replace(e.typesFolder,"")),re=(t,e,r)=>{let o=m.createCompilerHost(e),s=o.writeFile,i=Object.fromEntries(Object.entries(t).map(p=>p.reverse())),n=c(e,r);return o.writeFile=(p,N,u,U,y,j)=>{s(p,N,u,U,y,j);for(let A of y||[]){let g=i[A.fileName];if(g){let O=Q(n,`${g}${C}`),I=K(O),v=Y(I,p).replace(C,"").replace(ee,"");s(O,`export * from './${v}';
|
|
2
|
-
export { default } from './${v}';`,u)}}},o},oe=t=>L("vue-tsc").createProgram(t),se=(t,e)=>{switch(t.compilerInstance){case"vue-tsc":return oe(e);case"tsc":default:return m.createProgram(e)}},E=(t,e,r)=>{let o=re(t,e,r),i={rootNames:[...Object.values(t),...r.additionalFilesToCompile],host:o,options:e},n=se(r,i),{diagnostics:p=[]}=n.emit();p.forEach(te)};var pe=(t,e)=>P(t.replace(e.typesFolder,""),`${e.typesFolder}.zip`),S=async(t,e)=>{let r=c(t,e),o=new x;return o.addLocalFolder(r),o.writeZipPromise(pe(r,e))},ce=(t,e)=>r=>{throw{...r,message:`Network error: Unable to download federated mocks for '${t}' from '${e}' because '${r.message}'`}},$=t=>{let e=0;return async([r,o])=>{let s=P(t.typesFolder,r);for(;e++<t.maxRetries;)try{let i=await ne.get(o,{responseType:"arraybuffer"}).catch(ce(r,o));new x(Buffer.from(i.data)).extractAllTo(s,!0);break}catch(i){if(console.error(ie.red(`Error during types archive download: ${(i==null?void 0:i.message)||"unknown error"}`)),e>=t.maxRetries)throw i}}};var Ue=q(t=>{let{remoteOptions:e,tsConfig:r,mapComponentsToExpose:o}=h(t);return{name:"native-federation-typescript/remote",async writeBundle(){try{E(o,r,e),await S(r,e),e.deleteTypesFolder&&await b(c(r,e),{recursive:!0,force:!0}),console.log(l.green("Federated types created correctly"))}catch(s){console.error(l.red(`Unable to compile federated types, ${s}`))}},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}},webpack:s=>{s.options.devServer=D(s.options.devServer||{},{static:{directory:H(f(r,e))}})},rspack:s=>{s.options.devServer=D(s.options.devServer||{},{static:{directory:H(f(r,e))}})}}}),je=q(t=>{let{hostOptions:e,mapRemotesToDownload:r}=R(t);return{name:"native-federation-typescript/host",async writeBundle(){e.deleteTypesFolder&&await b(e.typesFolder,{recursive:!0,force:!0}).catch(i=>console.error(l.red(`Unable to remove types folder, ${i}`)));let o=$(e),s=Object.entries(r).map(o);await Promise.allSettled(s),console.log(l.green("Federated types extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});export{Ue as a,je as b};
|