@module-federation/native-federation-tests 0.4.0 → 0.4.2

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # [1.0.0-canary.1](https://github.com/module-federation/universe/compare/native-federation-tests-0.2.1...native-federation-tests-1.0.0-canary.1) (2023-11-06)
2
2
 
3
+ ## 0.4.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 671f64b: download retrieves count per file
8
+
9
+ ## 0.4.1
10
+
11
+ ### Patch Changes
12
+
13
+ - f926b6c: chore: revert prev implementation
14
+
3
15
  ## 0.4.0
4
16
 
5
17
  ### Minor Changes
@@ -0,0 +1 @@
1
+ import m from"ansi-colors";import{rm as q}from"fs/promises";import{resolve as R}from"path";import{mergeDeepRight as w,mergeRight as B}from"rambda";import{build as N}from"tsup";import{createUnplugin as F}from"unplugin";var h={testsFolder:"@mf-tests",mocksFolder:"./__mocks__",deleteTestsFolder:!0,maxRetries:3},v=t=>{let e=t.split("@");return e[e.length-1]},x=(t,e)=>{let o=v(e),r=new URL(o),n=r.pathname.split("/").slice(0,-1).join("/");return r.pathname=`${n}/${t.testsFolder}.zip`,r.href},y=t=>Object.entries(t.moduleFederationConfig.remotes).reduce((e,[o,r])=>(e[o]=x(t,r),e),{}),a=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...h,...t},o=y(e);return{hostOptions:e,mapRemotesToDownload:o}};import{existsSync as C}from"fs";import{join as d}from"path";var b={testsFolder:"@mf-tests",distFolder:"./dist",deleteTestsFolder:!0,additionalBundlerConfig:{}},k=["ts","tsx","js","jsx","mjs"],c=t=>{let e=process.cwd();for(let o of k){let r=d(e,`${t}.${o}`);if(C(r))return r}},E=t=>Object.entries(t.moduleFederationConfig.exposes).reduce((e,[o,r])=>(e[o]=c(r)||c(d(r,"index"))||r,e),{}),p=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...b,...t},o=E(e),r=Object.keys(t.moduleFederationConfig.shared||{}).concat(Object.keys(t.moduleFederationConfig.remotes||{})),n=d(e.distFolder,e.testsFolder);return{remoteOptions:e,externalDeps:r,compiledFilesFolder:n,mapComponentsToExpose:o}};import l from"adm-zip";import H from"ansi-colors";import T from"axios";import{join as u}from"path";var j=t=>u(t.distFolder,`${t.testsFolder}.zip`),f=async(t,e)=>{let o=new l;return o.addLocalFolder(e),o.writeZipPromise(j(t))},S=(t,e)=>o=>{throw{...o,message:`Network error: Unable to download federated mocks for '${t}' from '${e}' because '${o.message}'`}},g=t=>{let e={};return async([o,r])=>{e[r]=0;let n=u(t.mocksFolder,o);for(;e[r]++<t.maxRetries;)try{let s=await T.get(r,{responseType:"arraybuffer"}).catch(S(o,r));new l(Buffer.from(s.data)).extractAllTo(n,!0);break}catch(s){if(console.error(H.red(`Error during types archive download: ${(s==null?void 0:s.message)||"unknown error"}`)),e[r]>=t.maxRetries)throw s}}};import{rm as U}from"fs/promises";import{join as $}from"path";var O=async(t,e)=>{let o=e.map(r=>{let n=$(t.mocksFolder,r);return U(n,{recursive:!0,force:!0})});return Promise.allSettled(o)};var ie=F(t=>{let{remoteOptions:e,compiledFilesFolder:o,externalDeps:r,mapComponentsToExpose:n}=p(t);return{name:"native-federation-tests/remote",async writeBundle(){let s=B(e.additionalBundlerConfig,{external:r.map(i=>new RegExp(`^${i}`)),entry:n,outDir:o,silent:!0});try{await N(s),await f(e,o),e.deleteTestsFolder&&await q(o,{recursive:!0,force:!0}),console.log(m.green("Federated mocks created correctly"))}catch(i){console.error(m.red(`Unable to build federated mocks: ${i}`))}},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}},webpack(s){s.options.devServer=w(s.options.devServer||{},{static:{directory:R(e.distFolder)}})},rspack(s){s.options.devServer=w(s.options.devServer||{},{static:{directory:R(e.distFolder)}})}}}),de=F(t=>{let{hostOptions:e,mapRemotesToDownload:o}=a(t);return{name:"native-federation-tests/host",async writeBundle(){e.deleteTestsFolder&&await O(e,Object.keys(o));let r=g(e),n=Object.entries(o).map(r);await Promise.allSettled(n),console.log(m.green("Federated mocks extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});export{ie as a,de as b};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _ansicolors = require('ansi-colors'); var _ansicolors2 = _interopRequireDefault(_ansicolors);var _promises = require('fs/promises');var _path = require('path');var _rambda = require('rambda');var _tsup = require('tsup');var _unplugin = require('unplugin');var h={testsFolder:"@mf-tests",mocksFolder:"./__mocks__",deleteTestsFolder:!0,maxRetries:3},v=t=>{let e=t.split("@");return e[e.length-1]},x=(t,e)=>{let o=v(e),r=new URL(o),n=r.pathname.split("/").slice(0,-1).join("/");return r.pathname=`${n}/${t.testsFolder}.zip`,r.href},y=t=>Object.entries(t.moduleFederationConfig.remotes).reduce((e,[o,r])=>(e[o]=x(t,r),e),{}),a=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...h,...t},o=y(e);return{hostOptions:e,mapRemotesToDownload:o}};var _fs = require('fs');var b={testsFolder:"@mf-tests",distFolder:"./dist",deleteTestsFolder:!0,additionalBundlerConfig:{}},k=["ts","tsx","js","jsx","mjs"],c=t=>{let e=process.cwd();for(let o of k){let r=_path.join.call(void 0, e,`${t}.${o}`);if(_fs.existsSync.call(void 0, r))return r}},E=t=>Object.entries(t.moduleFederationConfig.exposes).reduce((e,[o,r])=>(e[o]=c(r)||c(_path.join.call(void 0, r,"index"))||r,e),{}),p=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...b,...t},o=E(e),r=Object.keys(t.moduleFederationConfig.shared||{}).concat(Object.keys(t.moduleFederationConfig.remotes||{})),n=_path.join.call(void 0, e.distFolder,e.testsFolder);return{remoteOptions:e,externalDeps:r,compiledFilesFolder:n,mapComponentsToExpose:o}};var _admzip = require('adm-zip'); var _admzip2 = _interopRequireDefault(_admzip);var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var j=t=>_path.join.call(void 0, t.distFolder,`${t.testsFolder}.zip`),f=async(t,e)=>{let o=new _admzip2.default;return o.addLocalFolder(e),o.writeZipPromise(j(t))},S=(t,e)=>o=>{throw{...o,message:`Network error: Unable to download federated mocks for '${t}' from '${e}' because '${o.message}'`}},g=t=>{let e={};return async([o,r])=>{e[r]=0;let n=_path.join.call(void 0, t.mocksFolder,o);for(;e[r]++<t.maxRetries;)try{let s=await _axios2.default.get(r,{responseType:"arraybuffer"}).catch(S(o,r));new (0, _admzip2.default)(Buffer.from(s.data)).extractAllTo(n,!0);break}catch(s){if(console.error(_ansicolors2.default.red(`Error during types archive download: ${(s==null?void 0:s.message)||"unknown error"}`)),e[r]>=t.maxRetries)throw s}}};var O=async(t,e)=>{let o=e.map(r=>{let n=_path.join.call(void 0, t.mocksFolder,r);return _promises.rm.call(void 0, n,{recursive:!0,force:!0})});return Promise.allSettled(o)};var ie=_unplugin.createUnplugin.call(void 0, t=>{let{remoteOptions:e,compiledFilesFolder:o,externalDeps:r,mapComponentsToExpose:n}=p(t);return{name:"native-federation-tests/remote",async writeBundle(){let s=_rambda.mergeRight.call(void 0, e.additionalBundlerConfig,{external:r.map(i=>new RegExp(`^${i}`)),entry:n,outDir:o,silent:!0});try{await _tsup.build.call(void 0, s),await f(e,o),e.deleteTestsFolder&&await _promises.rm.call(void 0, o,{recursive:!0,force:!0}),console.log(_ansicolors2.default.green("Federated mocks created correctly"))}catch(i){console.error(_ansicolors2.default.red(`Unable to build federated mocks: ${i}`))}},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, e.distFolder)}})},rspack(s){s.options.devServer=_rambda.mergeDeepRight.call(void 0, s.options.devServer||{},{static:{directory:_path.resolve.call(void 0, e.distFolder)}})}}}),de= exports.b =_unplugin.createUnplugin.call(void 0, t=>{let{hostOptions:e,mapRemotesToDownload:o}=a(t);return{name:"native-federation-tests/host",async writeBundle(){e.deleteTestsFolder&&await O(e,Object.keys(o));let r=g(e),n=Object.entries(o).map(r);await Promise.allSettled(n),console.log(_ansicolors2.default.green("Federated mocks extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});exports.a = ie; exports.b = de;
package/dist/esbuild.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYEO6PJMKjs = require('./chunk-YEO6PJMK.js');var o=_chunkYEO6PJMKjs.a.esbuild,a= exports.NativeFederationTestsHost =_chunkYEO6PJMKjs.b.esbuild;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = o;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT33RVRDPjs = require('./chunk-T33RVRDP.js');var o=_chunkT33RVRDPjs.a.esbuild,a= exports.NativeFederationTestsHost =_chunkT33RVRDPjs.b.esbuild;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = o;
package/dist/esbuild.mjs CHANGED
@@ -1 +1 @@
1
- import{a as e,b as t}from"./chunk-VIRFTP5T.mjs";var o=e.esbuild,a=t.esbuild;export{a as NativeFederationTestsHost,o as NativeFederationTestsRemote};
1
+ import{a as e,b as t}from"./chunk-LPWXVZRC.mjs";var o=e.esbuild,a=t.esbuild;export{a as NativeFederationTestsHost,o as NativeFederationTestsRemote};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYEO6PJMKjs = require('./chunk-YEO6PJMK.js');exports.NativeFederationTestsHost = _chunkYEO6PJMKjs.b; exports.NativeFederationTestsRemote = _chunkYEO6PJMKjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT33RVRDPjs = require('./chunk-T33RVRDP.js');exports.NativeFederationTestsHost = _chunkT33RVRDPjs.b; exports.NativeFederationTestsRemote = _chunkT33RVRDPjs.a;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{a,b}from"./chunk-VIRFTP5T.mjs";export{b as NativeFederationTestsHost,a as NativeFederationTestsRemote};
1
+ import{a,b}from"./chunk-LPWXVZRC.mjs";export{b as NativeFederationTestsHost,a as NativeFederationTestsRemote};
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/native-federation-tests",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Bundler agnostic unplugin to share federated tests",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/dist/rolldown.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYEO6PJMKjs = require('./chunk-YEO6PJMK.js');var s=_chunkYEO6PJMKjs.a.rolldown,a= exports.NativeFederationTestsHost =_chunkYEO6PJMKjs.b.rolldown;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT33RVRDPjs = require('./chunk-T33RVRDP.js');var s=_chunkT33RVRDPjs.a.rolldown,a= exports.NativeFederationTestsHost =_chunkT33RVRDPjs.b.rolldown;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = s;
package/dist/rolldown.mjs CHANGED
@@ -1 +1 @@
1
- import{a as e,b as t}from"./chunk-VIRFTP5T.mjs";var s=e.rolldown,a=t.rolldown;export{a as NativeFederationTestsHost,s as NativeFederationTestsRemote};
1
+ import{a as e,b as t}from"./chunk-LPWXVZRC.mjs";var s=e.rolldown,a=t.rolldown;export{a as NativeFederationTestsHost,s as NativeFederationTestsRemote};
package/dist/rollup.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYEO6PJMKjs = require('./chunk-YEO6PJMK.js');var s=_chunkYEO6PJMKjs.a.rollup,a= exports.NativeFederationTestsHost =_chunkYEO6PJMKjs.b.rollup;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT33RVRDPjs = require('./chunk-T33RVRDP.js');var s=_chunkT33RVRDPjs.a.rollup,a= exports.NativeFederationTestsHost =_chunkT33RVRDPjs.b.rollup;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = s;
package/dist/rollup.mjs CHANGED
@@ -1 +1 @@
1
- import{a as e,b as t}from"./chunk-VIRFTP5T.mjs";var s=e.rollup,a=t.rollup;export{a as NativeFederationTestsHost,s as NativeFederationTestsRemote};
1
+ import{a as e,b as t}from"./chunk-LPWXVZRC.mjs";var s=e.rollup,a=t.rollup;export{a as NativeFederationTestsHost,s as NativeFederationTestsRemote};
package/dist/rspack.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYEO6PJMKjs = require('./chunk-YEO6PJMK.js');var o=_chunkYEO6PJMKjs.a.rspack,a= exports.NativeFederationTestsHost =_chunkYEO6PJMKjs.b.rspack;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = o;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT33RVRDPjs = require('./chunk-T33RVRDP.js');var o=_chunkT33RVRDPjs.a.rspack,a= exports.NativeFederationTestsHost =_chunkT33RVRDPjs.b.rspack;exports.NativeFederationTestsHost = a; exports.NativeFederationTestsRemote = o;
package/dist/rspack.mjs CHANGED
@@ -1 +1 @@
1
- import{a as e,b as t}from"./chunk-VIRFTP5T.mjs";var o=e.rspack,a=t.rspack;export{a as NativeFederationTestsHost,o as NativeFederationTestsRemote};
1
+ import{a as e,b as t}from"./chunk-LPWXVZRC.mjs";var o=e.rspack,a=t.rspack;export{a as NativeFederationTestsHost,o as NativeFederationTestsRemote};
package/dist/vite.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYEO6PJMKjs = require('./chunk-YEO6PJMK.js');var s=_chunkYEO6PJMKjs.a.vite,i= exports.NativeFederationTestsHost =_chunkYEO6PJMKjs.b.vite;exports.NativeFederationTestsHost = i; exports.NativeFederationTestsRemote = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT33RVRDPjs = require('./chunk-T33RVRDP.js');var s=_chunkT33RVRDPjs.a.vite,i= exports.NativeFederationTestsHost =_chunkT33RVRDPjs.b.vite;exports.NativeFederationTestsHost = i; exports.NativeFederationTestsRemote = s;
package/dist/vite.mjs CHANGED
@@ -1 +1 @@
1
- import{a as t,b as e}from"./chunk-VIRFTP5T.mjs";var s=t.vite,i=e.vite;export{i as NativeFederationTestsHost,s as NativeFederationTestsRemote};
1
+ import{a as t,b as e}from"./chunk-LPWXVZRC.mjs";var s=t.vite,i=e.vite;export{i as NativeFederationTestsHost,s as NativeFederationTestsRemote};
package/dist/webpack.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYEO6PJMKjs = require('./chunk-YEO6PJMK.js');var s=_chunkYEO6PJMKjs.a.webpack,n= exports.NativeFederationTestsHost =_chunkYEO6PJMKjs.b.webpack;exports.NativeFederationTestsHost = n; exports.NativeFederationTestsRemote = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT33RVRDPjs = require('./chunk-T33RVRDP.js');var s=_chunkT33RVRDPjs.a.webpack,n= exports.NativeFederationTestsHost =_chunkT33RVRDPjs.b.webpack;exports.NativeFederationTestsHost = n; exports.NativeFederationTestsRemote = s;
package/dist/webpack.mjs CHANGED
@@ -1 +1 @@
1
- import{a as e,b as t}from"./chunk-VIRFTP5T.mjs";var s=e.webpack,n=t.webpack;export{n as NativeFederationTestsHost,s as NativeFederationTestsRemote};
1
+ import{a as e,b as t}from"./chunk-LPWXVZRC.mjs";var s=e.webpack,n=t.webpack;export{n as NativeFederationTestsHost,s as NativeFederationTestsRemote};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/native-federation-tests",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Bundler agnostic unplugin to share federated tests",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1 +0,0 @@
1
- import a from"ansi-colors";import{rm as q}from"fs/promises";import{resolve as O}from"path";import{mergeDeepRight as R,mergeRight as B}from"rambda";import{build as D}from"tsup";import{createUnplugin as F}from"unplugin";var h={testsFolder:"@mf-tests",mocksFolder:"./__mocks__",deleteTestsFolder:!0,maxRetries:3},v=t=>{let e=t.split("@");return e[e.length-1]},x=(t,e)=>{let o=v(e),r=new URL(o),n=r.pathname.split("/").slice(0,-1).join("/");return r.pathname=`${n}/${t.testsFolder}.zip`,r.href},y=t=>Object.entries(t.moduleFederationConfig.remotes).reduce((e,[o,r])=>(e[o]=x(t,r),e),{}),m=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...h,...t},o=y(e);return{hostOptions:e,mapRemotesToDownload:o}};import{existsSync as C}from"fs";import{join as d}from"path";var b={testsFolder:"@mf-tests",distFolder:"./dist",deleteTestsFolder:!0,additionalBundlerConfig:{}},k=["ts","tsx","js","jsx","mjs"],c=t=>{let e=process.cwd();for(let o of k){let r=d(e,`${t}.${o}`);if(C(r))return r}},E=t=>Object.entries(t.moduleFederationConfig.exposes).reduce((e,[o,r])=>(e[o]=c(r)||c(d(r,"index"))||r,e),{}),p=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...b,...t},o=E(e),r=Object.keys(t.moduleFederationConfig.shared||{}).concat(Object.keys(t.moduleFederationConfig.remotes||{})),n=d(e.distFolder,e.testsFolder);return{remoteOptions:e,externalDeps:r,compiledFilesFolder:n,mapComponentsToExpose:o}};import l from"adm-zip";import T from"ansi-colors";import H from"axios";import{join as u}from"path";var j=t=>u(t.distFolder,`${t.testsFolder}.zip`),f=async(t,e)=>{let o=new l;return o.addLocalFolder(e),o.writeZipPromise(j(t))},S=(t,e)=>o=>{throw{...o,message:`Network error: Unable to download federated mocks for '${t}' from '${e}' because '${o.message}'`}},g=t=>{let e=0;return async([o,r])=>{let n=u(t.mocksFolder,o);for(;e++<t.maxRetries;)try{let s=await H.get(r,{responseType:"arraybuffer"}).catch(S(o,r));new l(Buffer.from(s.data)).extractAllTo(n,!0);break}catch(s){if(console.error(T.red(`Error during types archive download: ${(s==null?void 0:s.message)||"unknown error"}`)),e>=t.maxRetries)throw s}}};import{rm as U}from"fs/promises";import{join as $}from"path";var w=async(t,e)=>{let o=e.map(r=>{let n=$(t.mocksFolder,r);return U(n,{recursive:!0,force:!0})});return Promise.allSettled(o)};var ie=F(t=>{let{remoteOptions:e,compiledFilesFolder:o,externalDeps:r,mapComponentsToExpose:n}=p(t);return{name:"native-federation-tests/remote",async writeBundle(){let s=B(e.additionalBundlerConfig,{external:r.map(i=>new RegExp(`^${i}`)),entry:n,outDir:o,silent:!0});try{await D(s),await f(e,o),e.deleteTestsFolder&&await q(o,{recursive:!0,force:!0}),console.log(a.green("Federated mocks created correctly"))}catch(i){console.error(a.red(`Unable to build federated mocks: ${i}`))}},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}},webpack:s=>{s.options.devServer=R(s.options.devServer||{},{static:{directory:O(e.distFolder)}})},rspack:s=>{s.options.devServer=R(s.options.devServer||{},{static:{directory:O(e.distFolder)}})}}}),de=F(t=>{let{hostOptions:e,mapRemotesToDownload:o}=m(t);return{name:"native-federation-tests/host",async writeBundle(){e.deleteTestsFolder&&await w(e,Object.keys(o));let r=g(e),n=Object.entries(o).map(r);await Promise.allSettled(n),console.log(a.green("Federated mocks extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});export{ie as a,de as b};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _ansicolors = require('ansi-colors'); var _ansicolors2 = _interopRequireDefault(_ansicolors);var _promises = require('fs/promises');var _path = require('path');var _rambda = require('rambda');var _tsup = require('tsup');var _unplugin = require('unplugin');var h={testsFolder:"@mf-tests",mocksFolder:"./__mocks__",deleteTestsFolder:!0,maxRetries:3},v=t=>{let e=t.split("@");return e[e.length-1]},x=(t,e)=>{let o=v(e),r=new URL(o),n=r.pathname.split("/").slice(0,-1).join("/");return r.pathname=`${n}/${t.testsFolder}.zip`,r.href},y=t=>Object.entries(t.moduleFederationConfig.remotes).reduce((e,[o,r])=>(e[o]=x(t,r),e),{}),m=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...h,...t},o=y(e);return{hostOptions:e,mapRemotesToDownload:o}};var _fs = require('fs');var b={testsFolder:"@mf-tests",distFolder:"./dist",deleteTestsFolder:!0,additionalBundlerConfig:{}},k=["ts","tsx","js","jsx","mjs"],c=t=>{let e=process.cwd();for(let o of k){let r=_path.join.call(void 0, e,`${t}.${o}`);if(_fs.existsSync.call(void 0, r))return r}},E=t=>Object.entries(t.moduleFederationConfig.exposes).reduce((e,[o,r])=>(e[o]=c(r)||c(_path.join.call(void 0, r,"index"))||r,e),{}),p=t=>{if(!t.moduleFederationConfig)throw new Error("moduleFederationConfig is required");let e={...b,...t},o=E(e),r=Object.keys(t.moduleFederationConfig.shared||{}).concat(Object.keys(t.moduleFederationConfig.remotes||{})),n=_path.join.call(void 0, e.distFolder,e.testsFolder);return{remoteOptions:e,externalDeps:r,compiledFilesFolder:n,mapComponentsToExpose:o}};var _admzip = require('adm-zip'); var _admzip2 = _interopRequireDefault(_admzip);var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var j=t=>_path.join.call(void 0, t.distFolder,`${t.testsFolder}.zip`),f=async(t,e)=>{let o=new _admzip2.default;return o.addLocalFolder(e),o.writeZipPromise(j(t))},S=(t,e)=>o=>{throw{...o,message:`Network error: Unable to download federated mocks for '${t}' from '${e}' because '${o.message}'`}},g=t=>{let e=0;return async([o,r])=>{let n=_path.join.call(void 0, t.mocksFolder,o);for(;e++<t.maxRetries;)try{let s=await _axios2.default.get(r,{responseType:"arraybuffer"}).catch(S(o,r));new (0, _admzip2.default)(Buffer.from(s.data)).extractAllTo(n,!0);break}catch(s){if(console.error(_ansicolors2.default.red(`Error during types archive download: ${(s==null?void 0:s.message)||"unknown error"}`)),e>=t.maxRetries)throw s}}};var w=async(t,e)=>{let o=e.map(r=>{let n=_path.join.call(void 0, t.mocksFolder,r);return _promises.rm.call(void 0, n,{recursive:!0,force:!0})});return Promise.allSettled(o)};var ie=_unplugin.createUnplugin.call(void 0, t=>{let{remoteOptions:e,compiledFilesFolder:o,externalDeps:r,mapComponentsToExpose:n}=p(t);return{name:"native-federation-tests/remote",async writeBundle(){let s=_rambda.mergeRight.call(void 0, e.additionalBundlerConfig,{external:r.map(i=>new RegExp(`^${i}`)),entry:n,outDir:o,silent:!0});try{await _tsup.build.call(void 0, s),await f(e,o),e.deleteTestsFolder&&await _promises.rm.call(void 0, o,{recursive:!0,force:!0}),console.log(_ansicolors2.default.green("Federated mocks created correctly"))}catch(i){console.error(_ansicolors2.default.red(`Unable to build federated mocks: ${i}`))}},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, e.distFolder)}})},rspack:s=>{s.options.devServer=_rambda.mergeDeepRight.call(void 0, s.options.devServer||{},{static:{directory:_path.resolve.call(void 0, e.distFolder)}})}}}),de= exports.b =_unplugin.createUnplugin.call(void 0, t=>{let{hostOptions:e,mapRemotesToDownload:o}=m(t);return{name:"native-federation-tests/host",async writeBundle(){e.deleteTestsFolder&&await w(e,Object.keys(o));let r=g(e),n=Object.entries(o).map(r);await Promise.allSettled(n),console.log(_ansicolors2.default.green("Federated mocks extraction completed"))},get vite(){return process.env.NODE_ENV==="production"?void 0:{buildStart:this.writeBundle,watchChange:this.writeBundle}}}});exports.a = ie; exports.b = de;