@next-bricks/vb-experiment 0.1.5 → 0.1.7

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 (47) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/134.2149865a.js +24 -0
  3. package/dist/chunks/{760.73de5aa3.js.map → 134.2149865a.js.map} +1 -1
  4. package/dist/chunks/644.758cc670.js +2 -0
  5. package/dist/chunks/644.758cc670.js.map +1 -0
  6. package/dist/chunks/850.5fba6e3e.js +2 -0
  7. package/dist/chunks/850.5fba6e3e.js.map +1 -0
  8. package/dist/chunks/export-as-source-files.4eefd7a1.js +2 -0
  9. package/dist/chunks/export-as-source-files.4eefd7a1.js.map +1 -0
  10. package/dist/chunks/main.879ad7d2.js +2 -0
  11. package/dist/chunks/main.879ad7d2.js.map +1 -0
  12. package/dist/index.c65348cc.js +2 -0
  13. package/dist/index.c65348cc.js.map +1 -0
  14. package/dist-types/data-providers/utils/constants.d.ts +4 -0
  15. package/dist-types/data-providers/utils/extract.d.ts +4 -3
  16. package/dist-types/data-providers/utils/generators/generate.d.ts +2 -0
  17. package/dist-types/data-providers/utils/generators/generateBricks.d.ts +2 -0
  18. package/dist-types/data-providers/utils/generators/generateJsWithExpressions.d.ts +1 -0
  19. package/dist-types/data-providers/utils/generators/generateJsx.d.ts +3 -0
  20. package/dist-types/data-providers/utils/generators/generateOthers.d.ts +2 -0
  21. package/dist-types/data-providers/utils/generators/generateRoutes.d.ts +1 -0
  22. package/dist-types/data-providers/utils/generators/generateTemplate.d.ts +1 -0
  23. package/dist-types/data-providers/utils/handleImports.d.ts +4 -0
  24. package/dist-types/data-providers/utils/interfaces.d.ts +25 -0
  25. package/dist-types/data-providers/utils/transformers/transformBricks.d.ts +4 -0
  26. package/dist-types/data-providers/utils/transformers/transformExpressionString.d.ts +3 -0
  27. package/dist-types/data-providers/utils/transformers/transformJsonWithExpressions.d.ts +4 -0
  28. package/dist-types/data-providers/utils/transformers/transformJsxAttributes.d.ts +3 -0
  29. package/dist-types/data-providers/utils/transformers/transformJsxChild.d.ts +2 -0
  30. package/dist-types/data-providers/utils/transformers/transformRoute.d.ts +3 -0
  31. package/package.json +2 -2
  32. package/dist/chunks/540.8cf62766.js +0 -2
  33. package/dist/chunks/540.8cf62766.js.map +0 -1
  34. package/dist/chunks/635.c5c63fab.js +0 -3
  35. package/dist/chunks/635.c5c63fab.js.LICENSE.txt +0 -8
  36. package/dist/chunks/635.c5c63fab.js.map +0 -1
  37. package/dist/chunks/644.01d8e685.js +0 -2
  38. package/dist/chunks/644.01d8e685.js.map +0 -1
  39. package/dist/chunks/760.73de5aa3.js +0 -24
  40. package/dist/chunks/export-as-source-files.f626342e.js +0 -2
  41. package/dist/chunks/export-as-source-files.f626342e.js.map +0 -1
  42. package/dist/chunks/main.8dc65d78.js +0 -2
  43. package/dist/chunks/main.8dc65d78.js.map +0 -1
  44. package/dist/index.2b95208d.js +0 -2
  45. package/dist/index.2b95208d.js.map +0 -1
  46. package/dist-types/data-providers/utils/printWithPlaceholders.d.ts +0 -2
  47. /package/dist/chunks/{760.73de5aa3.js.LICENSE.txt → 134.2149865a.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_vb_experiment=self.webpackChunk_next_bricks_vb_experiment||[]).push([[644],{1644:(e,n,t)=>{t.r(n);var r=t(4795),a=t(2019),o=t(1297),i=t.n(o),s=t(6782),l=t(9691),c=t(8483),p=t.n(c),f=t(1483),d=t(7243),u=t(9333),m=t(5738),j=t(3197),x=t(7444),v=t(9082),g=t(4431),y=t(9456),h=t(2220),_=t(8978),b=t(8678),k=t(7768),A=t(9503),w=t(7211),E=t(5125),I=t(9602),O=t(7287),S=t(2524),T=t(2344),C=t(7040),R=t(4450),J=t(3870);function P(){return(P=(0,r.Z)((function*(e){var n,t,r,a,o,l,{projectDetail:c,storyboard:p}=e,P=new(i()),G=P.folder("project"),F=G.folder("src"),U={extracts:[],namePool:new Map},L=(0,u.I$)(p.routes,[],U),W={id:c.appId,name:c.name,homepage:c.appSetting.homepage,layoutType:c.appSetting.layoutType,theme:c.appSetting.theme,noAuthGuard:c.appSetting.noAuthGuard,locales:c.appSetting.locales,standaloneMode:!0};F.file("app.js",D("export default ".concat(JSON.stringify(W,null,2),";")));var z=null!==(n=p.meta)&&void 0!==n?n:{},B=null!==(t=z.customTemplates)&&void 0!==t?t:[],H=null!==(r=z.functions)&&void 0!==r?r:[],K=null!==(a=z.menus)&&void 0!==a?a:[],V=null!==(o=z.contracts)&&void 0!==o?o:[],Z=null!==(l=z.i18n)&&void 0!==l?l:{};delete z.customTemplates,delete z.functions,delete z.menus,delete z.contracts,delete z.i18n,delete z.workflows,delete z.mocks,delete z.userGroups;var $=(0,u.LK)(B,["components"],U);U.extracts.push({name:"index",path:["components"],node:$,nodeType:"others"});var q=(0,m.B)(U.extracts);F.file("index.js",I),F.file("routes.jsx",D((0,j.R)(L,"routes",["routes.jsx"])));var Q=F.folder("resources"),X=Q.folder("functions"),Y=[],ee=[];for(var ne of H){if("index"===ne.name)throw new Error('Unexpected function name: "index"');var te=(0,d.transform)(ne.source,{filename:"expr.".concat(ne.typescript?"ts":"js"),plugins:ne.typescript?["syntax-typescript"]:[],ast:!0}).ast.program.body.map((e=>{if("FunctionDeclaration"===e.type){var n=f.exportDefaultDeclaration(e);return e.leadingComments&&(n.leadingComments=e.leadingComments,delete e.leadingComments),n}return e})),{code:re}=(0,d.transformFromAst)(f.program(te,void 0,"module"),void 0,{});X.file("".concat(ne.name,".").concat(ne.typescript?"ts":"js"),re),ee.push("import ".concat(ne.name,' from "./').concat(ne.name,'.js";')),Y.push(ne.name)}X.file("index.js",D("".concat(ee.join("\n"),"\n\nexport default { ").concat(Y.join(",")," };")));var ae=Q.folder("menus"),oe=[],ie=[];for(var se of K){if(M(se),"index"===se.menuId)throw new Error('Unexpected menu id: "index"');var le="".concat(se.menuId,".js");ae.file(le,D((0,j.R)(se,"menu",["resources","menus",le])));var ce=se.menuId.replace(/^\d+|[^\w]+/g,"_");ie.push("import ".concat(ce,' from "./').concat(le,'";')),oe.push(ce)}ae.file("index.js",D("".concat(ie.join("\n"),"\n\nexport default [").concat(oe.join(","),"]")));var pe=Q.folder("contracts"),fe=[],de=[];for(var ue of V){if("index"===ue.name)throw new Error('Unexpected contract name: "index"');pe.file("".concat(ue.name,".js"),D("export default ".concat(JSON.stringify(ue),";")));var me=ue.name.replace(/^\d+|[^\w]+/g,"_");de.push("import ".concat(me,' from "./').concat(ue.name,'.js";')),fe.push(me)}pe.file("index.js",D("".concat(de.join("\n"),"\n\nexport default [").concat(fe.join(","),"]"))),Q.folder("i18n").file("index.js",D("export default ".concat(JSON.stringify(Z),";"))),Q.file("meta.js",D("export default ".concat(JSON.stringify(z,null,2),";"))),Q.file("index.js",E),N(q,F,[]);var je=JSON.stringify("../mock-micro-apps/".concat(c.appId)),xe=G.folder("scripts");xe.file("build.js",k.replaceAll("__APP_RELATIVE_DIR__",je)),xe.file("babel.js",b),xe.file("start.js",A),xe.file("transpile.js",w),G.folder("mock-micro-apps").folder(c.appId).file(".gitignore","*\n!.gitignore");var ve=G.folder("jsx");ve.file("constants.js",x),ve.file("index.js",v),ve.file("jsx-runtime.js",g),ve.file("package.json",y),ve.file("Style.js",h),ve.file("Function.js",_),G.file(".editorconfig",O),G.file(".gitignore",S),G.file("babel.config.js",T),G.file("jsconfig.json",R),G.file("package.json",C.replaceAll("__PROJECT_ID__",c.appId)),G.file("README.md",J.replaceAll("__PROJECT_NAME__",c.name).replaceAll("__PROJECT_HOMEPAGE__",c.appSetting.homepage));var ge=yield P.generateAsync({type:"blob"});(0,s.saveAs)(ge,"project.zip")}))).apply(this,arguments)}function D(e){var{typescript:n,semi:t=!0,printWidth:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,l.format)(e,{parser:n?"babel-ts":"babel",plugins:[p()],semi:t,printWidth:r})}function N(e,n,t){for(var r of e){var a=[...t,r.name];if("folder"===r.type){var o=n.folder(r.name);N(r.items,o,a)}else n.file("".concat(r.name,".js").concat("others"===r.nodeType||"context"===r.nodeType?"":"x"),D((0,j.R)(r.node,r.nodeType,a)))}}function M(e){for(var[n,t]of Object.entries(e))switch(n){case"items":if(Array.isArray(t))for(var r of t)G(r);break;case"type":"main"===t&&delete e[n];break;case"if":break;case"i18n":0===Object.keys(t).length&&delete e[n];break;default:null!==t&&!1!==t||delete e[n]}}function G(e){for(var[n,t]of Object.entries(e))switch(n){case"children":Array.isArray(t)&&t.length>0&&G(t);break;case"if":break;case"activeExcludes":case"activeIncludes":Array.isArray(t)&&0===t.length&&delete e[n];break;default:null!==t&&!1!==t||delete e[n]}}customElements.define("vb-experiment.export-as-source-files",(0,a.createProviderClass)((function(e){return P.apply(this,arguments)})))}}]);
2
+ //# sourceMappingURL=644.758cc670.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/644.758cc670.js","mappings":"scA+QC,SAAAA,IAAA,OAAAA,GAAAC,EAAAA,EAAAA,IAzNM,UAAAC,GAGqC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAHF,cACxCC,EAAa,WACbC,GACyBR,EACnBS,EAAM,IAAIC,KACVC,EAAUF,EAAIG,OAAO,WACrBC,EAAMF,EAAQC,OAAO,OAErBE,EAA6B,CACjCC,SAAU,GACVC,SAAU,IAAIC,KAEVC,GAAkBC,EAAAA,EAAAA,IAAcX,EAAWY,OAAQ,GAAIN,GAEvDO,EAA0C,CAC9CC,GAAIf,EAAcgB,MAClBC,KAAMjB,EAAciB,KACpBC,SAAUlB,EAAcmB,WAAWD,SACnCE,WAAYpB,EAAcmB,WAAWC,WACrCC,MAAOrB,EAAcmB,WAAWE,MAChCC,YAAatB,EAAcmB,WAAWG,YACtCC,QAASvB,EAAcmB,WAAWI,QAClCC,gBAAgB,GAElBlB,EAAImB,KACF,SACAC,EAAS,kBAADC,OAAmBC,KAAKC,UAAUf,EAAK,KAAM,GAAE,OAGzD,IAAMgB,EAAuB,QAAnBpC,EAAIO,EAAW6B,YAAI,IAAApC,EAAAA,EAAI,CAAC,EAI5BqC,EAAsC,QAAvBpC,EAAGmC,EAAKC,uBAAe,IAAApC,EAAAA,EAAI,GAC1CqC,EAA0B,QAAjBpC,EAAGkC,EAAKE,iBAAS,IAAApC,EAAAA,EAAI,GAC9BqC,EAAkB,QAAbpC,EAAGiC,EAAKG,aAAK,IAAApC,EAAAA,EAAI,GACtBqC,EAA0B,QAAjBpC,EAAGgC,EAAKI,iBAAS,IAAApC,EAAAA,EAAI,GAC9BqC,EAAgB,QAAZpC,EAAG+B,EAAKK,YAAI,IAAApC,EAAAA,EAAI,CAAC,SACpB+B,EAAKC,uBACLD,EAAKE,iBACLF,EAAKG,aACLH,EAAKI,iBACLJ,EAAKK,YACLL,EAAKM,iBACLN,EAAKO,aACLP,EAAKQ,WAEZ,IAAMC,GAAqBC,EAAAA,EAAAA,IACzBT,EACA,CAAC,cACDxB,GAEFA,EAAaC,SAASiC,KAAK,CACzBxB,KAAM,QACNyB,KAAM,CAAC,cACPC,KAAMJ,EACNK,SAAU,WAGZ,IAAMC,GAAgBC,EAAAA,EAAAA,GAAmBvC,EAAaC,UAEtDF,EAAImB,KAAK,WAAYsB,GAErBzC,EAAImB,KACF,aACAC,GAASsB,EAAAA,EAAAA,GAASrC,EAAiB,SAAU,CAAC,iBAGhD,IAAMsC,EAAY3C,EAAID,OAAO,aAGvB6C,EAAQD,EAAU5C,OAAO,aACzB8C,EAAoB,GACpBC,GAAsB,GAC5B,IAAK,IAAMC,MAAMrB,EAAW,CAC1B,GAAgB,UAAZqB,GAAGpC,KACL,MAAM,IAAIqC,MAAM,qCAIlB,IAKMC,IALMC,EAAAA,EAAAA,WAAUH,GAAGI,OAAQ,CAC/BC,SAAU,QAAF/B,OAAU0B,GAAGM,WAAa,KAAO,MACzCC,QAASP,GAAGM,WAAa,CAAC,qBAAuB,GACjDE,KAAK,IACJA,IACoBC,QAAQC,KAAKC,KAAKC,IACvC,GAAuB,wBAAnBA,EAAUC,KAAgC,CAC5C,IAAMC,EAAgBC,EAAAA,yBAA2BH,GAKjD,OAJIA,EAAUI,kBACZF,EAAcE,gBAAkBJ,EAAUI,uBACnCJ,EAAUI,iBAEZF,CACT,CACA,OAAOF,CAAS,KAEZ,KAAEK,KAASC,EAAAA,EAAAA,kBACfH,EAAAA,QAAUb,QAAYiB,EAAW,eACjCA,EACA,CAAC,GAGHtB,EAAMzB,KAAK,GAADE,OAAI0B,GAAGpC,KAAI,KAAAU,OAAI0B,GAAGM,WAAa,KAAO,MAAQW,IACxDlB,GAAUX,KAAK,UAADd,OAAW0B,GAAGpC,KAAI,aAAAU,OAAY0B,GAAGpC,KAAI,UACnDkC,EAAQV,KAAKY,GAAGpC,KAClB,CACAiC,EAAMzB,KACJ,WACAC,EAAS,GAADC,OACHyB,GAAUqB,KAAK,MAAK,yBAAA9C,OAAwBwB,EAAQsB,KAAK,KAAI,SAKpE,IAAMC,GAAWzB,EAAU5C,OAAO,SAC5BsE,GAAsB,GACtBC,GAAwB,GAC9B,IAAK,IAAMC,MAAQ5C,EAAO,CAExB,GADA6C,EAAUD,IACU,UAAhBA,GAAKE,OACP,MAAM,IAAIzB,MAAM,+BAElB,IAAMI,GAAW,GAAH/B,OAAMkD,GAAKE,OAAM,OAC/BL,GAASjD,KACPiC,GACAhC,GAASsB,EAAAA,EAAAA,GAAS6B,GAAM,OAAQ,CAAC,YAAa,QAASnB,OAEzD,IAAMzC,GAAO4D,GAAKE,OAAOC,QAAQ,eAAgB,KACjDJ,GAAYnC,KAAK,UAADd,OAAWV,GAAI,aAAAU,OAAY+B,GAAQ,OACnDiB,GAAUlC,KAAKxB,GACjB,CACAyD,GAASjD,KACP,WACAC,EAAS,GAADC,OACHiD,GAAYH,KAAK,MAAK,wBAAA9C,OAAuBgD,GAAUF,KAAK,KAAI,OAKvE,IAAMQ,GAAehC,EAAU5C,OAAO,aAChC6E,GAA0B,GAC1BC,GAA4B,GAClC,IAAK,IAAMC,MAAYlD,EAAW,CAChC,GAAsB,UAAlBkD,GAASnE,KACX,MAAM,IAAIqC,MAAM,qCAElB2B,GAAaxD,KAAK,GAADE,OACZyD,GAASnE,KAAI,OAChBS,EAAS,kBAADC,OAAmBC,KAAKC,UAAUuD,IAAS,OAErD,IAAMnE,GAAOmE,GAASnE,KAAK+D,QAAQ,eAAgB,KACnDG,GAAgB1C,KAAK,UAADd,OAAWV,GAAI,aAAAU,OAAYyD,GAASnE,KAAI,UAC5DiE,GAAczC,KAAKxB,GACrB,CACAgE,GAAaxD,KACX,WACAC,EAAS,GAADC,OACHwD,GAAgBV,KAAK,MAAK,wBAAA9C,OAAuBuD,GAAcT,KAChE,KACD,OAILxB,EACG5C,OAAO,QACPoB,KAAK,WAAYC,EAAS,kBAADC,OAAmBC,KAAKC,UAAUM,GAAK,OACnEc,EAAUxB,KACR,UACAC,EAAS,kBAADC,OAAmBC,KAAKC,UAAUC,EAAM,KAAM,GAAE,OAE1DmB,EAAUxB,KAAK,WAAY4D,GAE3BC,EAAwBzC,EAAevC,EAAK,IAE5C,IAAMiF,GAAiB3D,KAAKC,UAAU,sBAADF,OACb3B,EAAcgB,QAGhCwE,GAAUpF,EAAQC,OAAO,WAC/BmF,GAAQ/D,KACN,WACAgE,EAAeC,WAAW,uBAAwBH,KAEpDC,GAAQ/D,KAAK,WAAYkE,GACzBH,GAAQ/D,KAAK,WAAYmE,GACzBJ,GAAQ/D,KAAK,eAAgBoE,GAEdzF,EACZC,OAAO,mBACPA,OAAOL,EAAcgB,OACjBS,KAAK,aAAc,kBAE1B,IAAMqE,GAAS1F,EAAQC,OAAO,OAC9ByF,GAAOrE,KAAK,eAAgBsE,GAC5BD,GAAOrE,KAAK,WAAYuE,GACxBF,GAAOrE,KAAK,iBAAkBwE,GAC9BH,GAAOrE,KAAK,eAAgByE,GAC5BJ,GAAOrE,KAAK,WAAY0E,GACxBL,GAAOrE,KAAK,cAAe2E,GAE3BhG,EAAQqB,KAAK,gBAAiB4E,GAC9BjG,EAAQqB,KAAK,aAAc6E,GAC3BlG,EAAQqB,KAAK,kBAAmB8E,GAChCnG,EAAQqB,KAAK,gBAAiB+E,GAC9BpG,EAAQqB,KACN,eACAgF,EAAYf,WAAW,iBAAkB1F,EAAcgB,QAEzDZ,EAAQqB,KACN,YACAiF,EACGhB,WAAW,mBAAoB1F,EAAciB,MAC7CyE,WAAW,uBAAwB1F,EAAcmB,WAAWD,WAGjE,IAAMyF,SAAazG,EAAI0G,cAAc,CAAE1C,KAAM,UAC7C2C,EAAAA,EAAAA,QAAOF,GAAM,cACf,KAACG,MAAA,KAAAC,UAAA,CAQD,SAASrF,EACP+B,GAEQ,IADR,WAAEE,EAAU,KAAEqD,GAAO,EAAI,WAAEC,GAA6BF,UAAAG,OAAA,QAAA1C,IAAAuC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAE5D,OAAOI,EAAAA,EAAAA,QAAO1D,EAAQ,CACpB2D,OAAQzD,EAAa,WAAa,QAClCC,QAAS,CAACyD,KACVL,OACAC,cAEJ,CAEA,SAAS3B,EACPgC,EACAjH,EACAqC,GAEA,IAAK,IAAM6E,KAAQD,EAAO,CACxB,IAAME,EAAY,IAAI9E,EAAM6E,EAAKtG,MACjC,GAAkB,WAAdsG,EAAKrD,KAAmB,CAC1B,IAAMuD,EAAcpH,EAAOA,OAAOkH,EAAKtG,MACvCqE,EAAwBiC,EAAKD,MAAOG,EAAaD,EACnD,MACEnH,EAAOoB,KAAK,GAADE,OACN4F,EAAKtG,KAAI,OAAAU,OACQ,WAAlB4F,EAAK3E,UAA2C,YAAlB2E,EAAK3E,SAAyB,GAAK,KAEnElB,GAASsB,EAAAA,EAAAA,GAASuE,EAAK5E,KAAM4E,EAAK3E,SAAU4E,IAGlD,CACF,CAEA,SAAS1C,EAAUD,GACjB,IAAK,IAAO6C,EAAKC,KAAUC,OAAOC,QAAQhD,GACxC,OAAQ6C,GACN,IAAK,QACH,GAAII,MAAMC,QAAQJ,GAChB,IAAK,IAAMJ,KAAQI,EACjBK,EAAcT,GAGlB,MACF,IAAK,OACW,SAAVI,UACK9C,EAAK6C,GAEd,MACF,IAAK,KACH,MACF,IAAK,OAC+B,IAA9BE,OAAOK,KAAKN,GAAOT,eACdrC,EAAK6C,GAEd,MACF,QACgB,OAAVC,IAA4B,IAAVA,UACb9C,EAAK6C,GAItB,CAEA,SAASM,EAAcE,GACrB,IAAK,IAAOR,EAAKC,KAAUC,OAAOC,QAAQK,GACxC,OAAQR,GACN,IAAK,WACCI,MAAMC,QAAQJ,IAAUA,EAAMT,OAAS,GACzCc,EAAcL,GAEhB,MACF,IAAK,KACH,MACF,IAAK,iBACL,IAAK,iBACCG,MAAMC,QAAQJ,IAA2B,IAAjBA,EAAMT,eACzBgB,EAASR,GAElB,MACF,QACgB,OAAVC,IAA4B,IAAVA,UACbO,EAASR,GAI1B,CAEAS,eAAeC,OACb,wCACAC,EAAAA,EAAAA,sBA1TK,SAAkCC,GAAA,OAAA/I,EAAAuH,MAAC,KAADC,UAAA,I","sources":["webpack:///./src/data-providers/export-as-source-files.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { Storyboard, MicroApp, StoryboardMeta } from \"@next-core/types\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport JSZip from \"jszip\";\nimport { saveAs } from \"file-saver\";\nimport { format } from \"prettier/standalone.js\";\nimport parserBabel from \"prettier/parser-babel.js\";\nimport * as t from \"@babel/types\";\nimport { transform, transformFromAst } from \"@babel/standalone\";\nimport {\n ExtractState,\n extractRoutes,\n extractTemplates,\n} from \"./utils/extract.js\";\nimport {\n SourceFileOrFolder,\n buildFileStructure,\n} from \"./utils/buildFileStructure.js\";\nimport { generate } from \"./utils/generators/generate.js\";\nimport jsxConstantsJs from \"./raws/jsx/constants.js.txt\";\nimport jsxIndexJs from \"./raws/jsx/index.js.txt\";\nimport jsxJsxRuntimeJs from \"./raws/jsx/jsx-runtime.js.txt\";\nimport jsxPackageJson from \"./raws/jsx/package.json.txt\";\nimport jsxStyleJs from \"./raws/jsx/Style.js.txt\";\nimport jsxFunctionJs from \"./raws/jsx/Function.js.txt\";\nimport scriptsBabelJs from \"./raws/scripts/babel.js.txt\";\nimport scriptsBuildJs from \"./raws/scripts/build.js.txt\";\nimport scriptsStartJs from \"./raws/scripts/start.js.txt\";\nimport scriptsTranspileJs from \"./raws/scripts/transpile.js.txt\";\nimport srcResourcesIndexJs from \"./raws/src/resources/index.js.txt\";\nimport srcIndexJs from \"./raws/src/index.js.txt\";\nimport editorConfig from \"./raws/.editorconfig.txt\";\nimport gitIgnore from \"./raws/.gitignore.txt\";\nimport babelConfigJs from \"./raws/babel.config.js.txt\";\nimport packageJson from \"./raws/package.json.txt\";\nimport jsconfigJson from \"./raws/jsconfig.json.txt\";\nimport readmeMd from \"./raws/README.md.txt\";\n\nexport interface StoryboardAssemblyResult {\n storyboard: Storyboard;\n\n projectDetail: {\n appId: string;\n name: string;\n appSetting: Pick<\n MicroApp,\n \"homepage\" | \"theme\" | \"locales\" | \"noAuthGuard\"\n > & {\n layoutType?: string;\n };\n brickNextVersion?: number;\n };\n}\n\nexport async function exportAsSourceFiles({\n projectDetail,\n storyboard,\n}: StoryboardAssemblyResult): Promise<void> {\n const zip = new JSZip();\n const project = zip.folder(\"project\")!;\n const src = project.folder(\"src\")!;\n\n const extractState: ExtractState = {\n extracts: [],\n namePool: new Map(),\n };\n const extractedRoutes = extractRoutes(storyboard.routes, [], extractState);\n\n const app: MicroApp & { layoutType?: string } = {\n id: projectDetail.appId,\n name: projectDetail.name,\n homepage: projectDetail.appSetting.homepage,\n layoutType: projectDetail.appSetting.layoutType,\n theme: projectDetail.appSetting.theme,\n noAuthGuard: projectDetail.appSetting.noAuthGuard,\n locales: projectDetail.appSetting.locales,\n standaloneMode: true,\n };\n src.file(\n \"app.js\",\n formatJs(`export default ${JSON.stringify(app, null, 2)};`)\n );\n\n const meta = (storyboard.meta ?? {}) as StoryboardMeta & {\n workflows?: unknown;\n userGroups?: unknown;\n };\n const customTemplates = meta.customTemplates ?? [];\n const functions = meta.functions ?? [];\n const menus = meta.menus ?? [];\n const contracts = meta.contracts ?? [];\n const i18n = meta.i18n ?? {};\n delete meta.customTemplates;\n delete meta.functions;\n delete meta.menus;\n delete meta.contracts;\n delete meta.i18n;\n delete meta.workflows;\n delete meta.mocks;\n delete meta.userGroups;\n\n const extractedTemplates = extractTemplates(\n customTemplates,\n [\"components\"],\n extractState\n );\n extractState.extracts.push({\n name: \"index\",\n path: [\"components\"],\n node: extractedTemplates,\n nodeType: \"others\",\n });\n\n const fileStructure = buildFileStructure(extractState.extracts);\n\n src.file(\"index.js\", srcIndexJs);\n\n src.file(\n \"routes.jsx\",\n formatJs(generate(extractedRoutes, \"routes\", [\"routes.jsx\"]))\n );\n\n const resources = src.folder(\"resources\")!;\n\n // Functions\n const fnDir = resources.folder(\"functions\")!;\n const fnNames: string[] = [];\n const fnImports: string[] = [];\n for (const fn of functions) {\n if (fn.name === \"index\") {\n throw new Error('Unexpected function name: \"index\"');\n }\n\n // Prepend with `export default` for functions\n const ast = transform(fn.source, {\n filename: `expr.${fn.typescript ? \"ts\" : \"js\"}`,\n plugins: fn.typescript ? [\"syntax-typescript\"] : [],\n ast: true,\n }).ast;\n const statements = ast.program.body.map((statement) => {\n if (statement.type === \"FunctionDeclaration\") {\n const exportDefault = t.exportDefaultDeclaration(statement);\n if (statement.leadingComments) {\n exportDefault.leadingComments = statement.leadingComments;\n delete statement.leadingComments;\n }\n return exportDefault;\n }\n return statement;\n });\n const { code } = transformFromAst(\n t.program(statements, undefined, \"module\"),\n undefined,\n {}\n );\n\n fnDir.file(`${fn.name}.${fn.typescript ? \"ts\" : \"js\"}`, code);\n fnImports.push(`import ${fn.name} from \"./${fn.name}.js\";`);\n fnNames.push(fn.name);\n }\n fnDir.file(\n \"index.js\",\n formatJs(\n `${fnImports.join(\"\\n\")}\\n\\nexport default { ${fnNames.join(\",\")} };`\n )\n );\n\n // Menus\n const menusDir = resources.folder(\"menus\")!;\n const menuNames: string[] = [];\n const menuImports: string[] = [];\n for (const menu of menus) {\n cleanMenu(menu);\n if (menu.menuId === \"index\") {\n throw new Error('Unexpected menu id: \"index\"');\n }\n const filename = `${menu.menuId}.js`;\n menusDir.file(\n filename,\n formatJs(generate(menu, \"menu\", [\"resources\", \"menus\", filename]))\n );\n const name = menu.menuId.replace(/^\\d+|[^\\w]+/g, \"_\");\n menuImports.push(`import ${name} from \"./${filename}\";`);\n menuNames.push(name);\n }\n menusDir.file(\n \"index.js\",\n formatJs(\n `${menuImports.join(\"\\n\")}\\n\\nexport default [${menuNames.join(\",\")}]`\n )\n );\n\n // Contracts\n const contractsDir = resources.folder(\"contracts\")!;\n const contractNames: string[] = [];\n const contractImports: string[] = [];\n for (const contract of contracts) {\n if (contract.name === \"index\") {\n throw new Error('Unexpected contract name: \"index\"');\n }\n contractsDir.file(\n `${contract.name}.js`,\n formatJs(`export default ${JSON.stringify(contract)};`)\n );\n const name = contract.name.replace(/^\\d+|[^\\w]+/g, \"_\");\n contractImports.push(`import ${name} from \"./${contract.name}.js\";`);\n contractNames.push(name);\n }\n contractsDir.file(\n \"index.js\",\n formatJs(\n `${contractImports.join(\"\\n\")}\\n\\nexport default [${contractNames.join(\n \",\"\n )}]`\n )\n );\n\n resources\n .folder(\"i18n\")!\n .file(\"index.js\", formatJs(`export default ${JSON.stringify(i18n)};`));\n resources.file(\n \"meta.js\",\n formatJs(`export default ${JSON.stringify(meta, null, 2)};`)\n );\n resources.file(\"index.js\", srcResourcesIndexJs);\n\n generateByFileStructure(fileStructure, src, []);\n\n const appRelativeDir = JSON.stringify(\n `../mock-micro-apps/${projectDetail.appId}`\n );\n\n const scripts = project.folder(\"scripts\")!;\n scripts.file(\n \"build.js\",\n scriptsBuildJs.replaceAll(\"__APP_RELATIVE_DIR__\", appRelativeDir)\n );\n scripts.file(\"babel.js\", scriptsBabelJs);\n scripts.file(\"start.js\", scriptsStartJs);\n scripts.file(\"transpile.js\", scriptsTranspileJs);\n\n const appDir = project\n .folder(\"mock-micro-apps\")!\n .folder(projectDetail.appId)!;\n appDir.file(\".gitignore\", \"*\\n!.gitignore\");\n\n const jsxDir = project.folder(\"jsx\")!;\n jsxDir.file(\"constants.js\", jsxConstantsJs);\n jsxDir.file(\"index.js\", jsxIndexJs);\n jsxDir.file(\"jsx-runtime.js\", jsxJsxRuntimeJs);\n jsxDir.file(\"package.json\", jsxPackageJson);\n jsxDir.file(\"Style.js\", jsxStyleJs);\n jsxDir.file(\"Function.js\", jsxFunctionJs);\n\n project.file(\".editorconfig\", editorConfig);\n project.file(\".gitignore\", gitIgnore);\n project.file(\"babel.config.js\", babelConfigJs);\n project.file(\"jsconfig.json\", jsconfigJson);\n project.file(\n \"package.json\",\n packageJson.replaceAll(\"__PROJECT_ID__\", projectDetail.appId)\n );\n project.file(\n \"README.md\",\n readmeMd\n .replaceAll(\"__PROJECT_NAME__\", projectDetail.name)\n .replaceAll(\"__PROJECT_HOMEPAGE__\", projectDetail.appSetting.homepage)\n );\n\n const blob = await zip.generateAsync({ type: \"blob\" });\n saveAs(blob, \"project.zip\");\n}\n\ninterface FormatJsOptions {\n typescript?: boolean;\n semi?: boolean;\n printWidth?: number;\n}\n\nfunction formatJs(\n source: string,\n { typescript, semi = true, printWidth }: FormatJsOptions = {}\n): string {\n return format(source, {\n parser: typescript ? \"babel-ts\" : \"babel\",\n plugins: [parserBabel],\n semi,\n printWidth,\n });\n}\n\nfunction generateByFileStructure(\n items: SourceFileOrFolder[],\n folder: JSZip,\n path: string[]\n) {\n for (const item of items) {\n const childPath = [...path, item.name];\n if (item.type === \"folder\") {\n const childFolder = folder.folder(item.name)!;\n generateByFileStructure(item.items, childFolder, childPath);\n } else {\n folder.file(\n `${item.name}.js${\n item.nodeType === \"others\" || item.nodeType === \"context\" ? \"\" : \"x\"\n }`,\n formatJs(generate(item.node, item.nodeType, childPath))\n );\n }\n }\n}\n\nfunction cleanMenu(menu: Record<string, any>) {\n for (const [key, value] of Object.entries(menu)) {\n switch (key) {\n case \"items\":\n if (Array.isArray(value)) {\n for (const item of value) {\n cleanMenuItem(item);\n }\n }\n break;\n case \"type\":\n if (value === \"main\") {\n delete menu[key];\n }\n break;\n case \"if\":\n break;\n case \"i18n\":\n if (Object.keys(value).length === 0) {\n delete menu[key];\n }\n break;\n default:\n if (value === null || value === false) {\n delete menu[key];\n }\n }\n }\n}\n\nfunction cleanMenuItem(menuItem: Record<string, any>) {\n for (const [key, value] of Object.entries(menuItem)) {\n switch (key) {\n case \"children\":\n if (Array.isArray(value) && value.length > 0) {\n cleanMenuItem(value);\n }\n break;\n case \"if\":\n break;\n case \"activeExcludes\":\n case \"activeIncludes\":\n if (Array.isArray(value) && value.length === 0) {\n delete menuItem[key];\n }\n break;\n default:\n if (value === null || value === false) {\n delete menuItem[key];\n }\n }\n }\n}\n\ncustomElements.define(\n \"vb-experiment.export-as-source-files\",\n createProviderClass(exportAsSourceFiles)\n);\n"],"names":["_exportAsSourceFiles","_asyncToGenerator","_ref","_storyboard$meta","_meta$customTemplates","_meta$functions","_meta$menus","_meta$contracts","_meta$i18n","projectDetail","storyboard","zip","JSZip","project","folder","src","extractState","extracts","namePool","Map","extractedRoutes","extractRoutes","routes","app","id","appId","name","homepage","appSetting","layoutType","theme","noAuthGuard","locales","standaloneMode","file","formatJs","concat","JSON","stringify","meta","customTemplates","functions","menus","contracts","i18n","workflows","mocks","userGroups","extractedTemplates","extractTemplates","push","path","node","nodeType","fileStructure","buildFileStructure","srcIndexJs","generate","resources","fnDir","fnNames","fnImports","fn","Error","statements","transform","source","filename","typescript","plugins","ast","program","body","map","statement","type","exportDefault","t","leadingComments","code","transformFromAst","undefined","join","menusDir","menuNames","menuImports","menu","cleanMenu","menuId","replace","contractsDir","contractNames","contractImports","contract","srcResourcesIndexJs","generateByFileStructure","appRelativeDir","scripts","scriptsBuildJs","replaceAll","scriptsBabelJs","scriptsStartJs","scriptsTranspileJs","jsxDir","jsxConstantsJs","jsxIndexJs","jsxJsxRuntimeJs","jsxPackageJson","jsxStyleJs","jsxFunctionJs","editorConfig","gitIgnore","babelConfigJs","jsconfigJson","packageJson","readmeMd","blob","generateAsync","saveAs","apply","arguments","semi","printWidth","length","format","parser","parserBabel","items","item","childPath","childFolder","key","value","Object","entries","Array","isArray","cleanMenuItem","keys","menuItem","customElements","define","createProviderClass","_x"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self.webpackChunk_next_bricks_vb_experiment=self.webpackChunk_next_bricks_vb_experiment||[]).push([[850],{1532:n=>{function e(n){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}e.keys=()=>[],e.resolve=e,e.id=1532,n.exports=e},5738:(n,e,t)=>{"use strict";function r(n){var e=[];for(var t of n)o(t,e);return e}function o(n,e){var{name:t,path:r,node:o,nodeType:s}=n,i=e,a=function(n){var e=i.find((e=>e.name===n&&"folder"===e.type));if(e)return i=e.items,"continue";var t={type:"folder",name:n,items:[]};i.push(t),i=t.items};for(var c of r)a(c);var l={type:"file",name:t,node:o,nodeType:s};i.push(l)}t.d(e,{B:()=>r})},9333:(n,e,t)=>{"use strict";t.d(e,{Ao:()=>p,I$:()=>d,LK:()=>m,Pu:()=>f});var r=t(4876),o=t(2159),s=t(2019),i=["routes"],a=["bricks"],c=["slots"],l={properties:["ref","refProperty","extraOneWayRefs","refTransform","mergeType","mergeMethod","mergeArgs","mergeProperty","asVariable"],slots:["ref","refSlot","refPosition"],events:["ref","refEvent"],methods:["ref","refMethod"]},p="--".concat(Math.floor(1e16*Math.random()).toString(36),"--:"),f=new RegExp('"'.concat(p,'((?:[-\\w]+/)*[-\\w]+)"'),"g");function u(n,e){return"".concat(p).concat(n).concat(n?"/":"").concat(e)}function d(n,e,t){return n.map((n=>function(n,e,t){var s,c=h("route",n.alias,e,t.namePool);!function(n){delete n.alias,delete n.iid,delete n.deviceOwner,""===n.menu&&delete n.menu,E(n,["redirect","exact"]),"bricks"===n.type&&delete n.type}(n);var l=[...e,"views",c];if("redirect"===n.type)s=n;else if("routes"===n.type){var{routes:p}=n,f=(0,o.Z)(n,i);s=(0,r.Z)((0,r.Z)({},f),{},{children:d(p,e,t)})}else{var{bricks:m}=n,g=(f=(0,o.Z)(n,a),y(m,l,t));t.extracts.push({name:c,path:l,node:g,nodeType:"bricks"}),s=(0,r.Z)((0,r.Z)({},f),{},{view:u("views/".concat(c),c)})}var b=x("context",n.context,c,l,t);return(0,r.Z)((0,r.Z)({},s),{},{context:b})}(n,e,t)))}function m(n,e,t){return n.map((n=>function(n,e,t){if(!n.name.startsWith("tpl-"))throw new Error('Invalid template name: "'.concat(n.name,'"'));var o=n.name.substring(4),i=[...e,o],a=y(n.bricks,i,t),c=x("state",n.state,o,i,t),p=function(n,e,t){if((0,s.isObject)(n)&&Object.keys(n).length>0){var r=h("proxy","proxy",e,t.namePool);return function(n){for(var[e,t]of Object.entries(n))switch(e){case"properties":case"events":case"slots":case"methods":if((0,s.isObject)(t))for(var[r,o]of Object.entries(t))if((0,s.isObject)(o)){var i=Object.keys(o);for(var a of i)l[e].includes(a)||delete o[a];0===i.length&&delete t[r]}break;default:delete n[e]}}(n),t.extracts.push({name:r,path:e,node:n,nodeType:"plain"}),u("",r)}return n}(n.proxy,i,t);return t.extracts.push({name:o,path:i,node:(0,r.Z)((0,r.Z)({},n),{},{bricks:a,state:c,proxy:p}),nodeType:"template"}),u(o,o)}(n,e,t)))}function x(n,e,t,r,o){if(Array.isArray(e)&&e.length>0){for(var s of e)j(s);var i=h(n,n,r,o.namePool);return o.extracts.push({name:i,path:r,node:e,nodeType:"context"}),u("context"===n?"views/".concat(t):"",i)}}function h(n,e,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,s=t.join("/"),i=r.get(s);i||r.set(s,i=new Set);var a="route"!==n||"string"==typeof e&&/^\w+$/.test(e)&&"index"!==e;if(!a||i.has(e)){for(var c,l=a?e:n,p=o;i.has(c="".concat(l,"_").concat(p));)p++;e=c}return i.add(e),e}function y(n,e,t){return Array.isArray(n)?n.map((n=>g(n,e,t))):n}function g(n,e,t){var i;"string"==typeof n.alias&&/^<\w+>$/.test(n.alias)&&"<index>"!==n.alias&&(i=n.alias.slice(1,-1)),function(n){delete n.alias,delete n.iid,delete n.deviceOwner,n.events&&0===Object.keys(n.events).length&&delete n.events,n.lifeCycle&&0===Object.keys(n.lifeCycle).length&&delete n.lifeCycle,E(n,["bg","portal"])}(n),i&&(i=h("brick",i,[...e,i],t.namePool,2));var a=n,{slots:l}=a,p=(0,o.Z)(a,c),f=[],m=[...e,...i?[i]:[]];if((0,s.isObject)(l)){var x=function(n){if("routes"===v.type){var o,s=d((null!==(o=v.routes)&&void 0!==o?o:[]).map((e=>(0,r.Z)((0,r.Z)({},e),{},{_isRoute:!0,slot:n}))),e,t);f.push(...s)}else{var i,a=y((null!==(i=v.bricks)&&void 0!==i?i:[]).map((e=>(0,r.Z)((0,r.Z)({},e),{},{slot:n}))),m,t);f.push(...a)}};for(var[g,v]of Object.entries(l))x(g)}return(0,s.isObject)(p.properties)&&!Array.isArray(p.properties)&&(p.properties=b(p.properties,m,t)),p.children=f,i?(t.extracts.push({name:i,node:p,path:[...e,i],nodeType:"bricks"}),u(i,i)):p}function b(n,e,t){return Object.fromEntries(Object.entries(n).map((n=>{var[r,o]=n;return[r,v(o,r,e,t)]})))}function v(n,e,t,r){return"useBrick"===e?Array.isArray(n)?y(n,t,r):(0,s.isObject)(n)?g(n,t,r):n:Array.isArray(n)?n.map(((n,e)=>v(n,e,t,r))):(0,s.isObject)(n)?b(n,t,r):n}function j(n){delete n.path,delete n.relatedId}function E(n,e){for(var t of e)n[t]||delete n[t]}},3197:(n,e,t)=>{"use strict";t.d(e,{R:()=>F});var r=t(4876),o=t(2159),s=t(1483),i=["context","exact","path","slot"],a=["id","ref","slot"],c=["proxy","state","name"],l="default:";function p(n,e,t){var r=n.get(e);r||(r=new Set,n.set(e,r)),r.add(t)}function f(n){return[...n].sort(((n,e)=>Number(n[0].startsWith("."))-Number(e[0].startsWith(".")))).map((n=>{var[e,t]=n,r=[...t];return 1===r.length&&r[0].startsWith(l)?"import ".concat(r[0].substring(l.length),' from "').concat(e,'";'):"import { ".concat(r.join(", "),' } from "').concat(e,'";')}))}var u=t(2019),d=t(9333),m=t(7243);function x(n,e,t){if(/^\s*<%[~=]?\s/.test(n)&&/\s%>\s*$/.test(n)){var r="",o=n.replace(/^\s*<%([~=])?\s|\s%>\s*$/g,((n,e)=>(e&&(r=e),"")));try{var i=(0,m.transform)("(".concat(o,")"),{ast:!0}).ast.program.body[0].expression,a=s.callExpression(s.identifier("Expr"),[...r?[s.stringLiteral(r)]:[],..."SequenceExpression"===i.type?i.expressions:[i]]);if(/\bFN\b/.test(o)){for(var c=["resources","functions","index.js"],l=0,f=0;f<c.length&&f<t.length&&(l=f,t[f]===c[f]);f++);p(e,"".concat(1===t.length?".":new Array(t.length-1-l).fill("..").join("/"),"/").concat(c.slice(l).join("/")),"default:FN")}return p(e,"jsx","Expr"),a}catch(e){console.warn("Parse expression failed:",n,e)}}return null}function h(n,e,t,r,o){var i;return null!==(i=y(n,e,t,r,o))&&void 0!==i?i:s.nullLiteral()}function y(n,e,t,r,o){if(r&&"useBrick"===o){if(Array.isArray(n))return C(n,e,t);if((0,u.isObject)(n))return S(n,e,t)}if(Array.isArray(n))return s.arrayExpression(n.map((n=>y(n,e,t,r))));if("function"==typeof n)return null;if((0,u.isObject)(n))return s.objectExpression(Object.entries(n).map((n=>{var[o,i]=n,a=y(i,e,t,r,o);return null!==a?s.objectProperty(s.stringLiteral(o),a):null})).filter(Boolean));if("string"==typeof n){var i=x(n,e,t);return null!=i?i:s.stringLiteral(n)}return"number"==typeof n?s.numericLiteral(n):"boolean"==typeof n?s.booleanLiteral(n):null===n?s.nullLiteral():null}function g(n,e,t,r,o,i){var a=[],c=[];for(var[l,p]of Object.entries(n))void 0!==p&&(/^[_$a-zA-Z][$\w]*$/.test(l)?a.push([l,p]):c.push(s.objectProperty(s.stringLiteral(o?"".concat(o,":").concat(l):l),h(p,e,t))));var f,m=(r?a.sort((f=r,function(n,e){return f.indexOf(e[0])-f.indexOf(n[0])})):a).map((n=>{var[r,a]=n;return s.jsxAttribute(o?s.jsxNamespacedName(s.jsxIdentifier(o),s.jsxIdentifier(r)):s.jsxIdentifier(r),function(n,e,t,r){if("string"==typeof n){var o=x(n,e,t);if(o)return s.jsxExpressionContainer(o);var i=s.stringLiteral(n);return n.includes(d.Ao)||JSON.stringify(n).includes("\\")?s.jsxExpressionContainer(i):i}if(!0===n)return null;if("useBrick"===r){if(Array.isArray(n))return b(C(n,e,t));if((0,u.isObject)(n))return b(S(n,e,t))}var a=h(n,e,t,!0);return s.jsxExpressionContainer(a)}(a,e,t,i?r:void 0))}));return c.length>0&&m.push(s.jsxSpreadAttribute(s.objectExpression(c))),m}function b(n){return"StringLiteral"!==n.type?s.jsxExpressionContainer(n):n}var v=["children","slot","_isRoute"];function j(n,e,t){p(e,"jsx","Route");var{children:a,slot:c,_isRoute:l}=n,f=(0,o.Z)(n,v),u=null!=a?a:[],d=""===c?void 0:c,m=0===u.length;return s.jsxElement(s.jsxOpeningElement(s.jsxIdentifier("Route"),g((0,r.Z)((0,r.Z)({},f),{},{slot:d}),e,t,i),m),m?null:s.jsxClosingElement(s.jsxIdentifier("Route")),u.map((n=>j(n,e,t))),m)}function E(n){return"StringLiteral"===n.type?s.jsxExpressionContainer(n):n}var k=["brick","children","properties","events","lifeCycle","if","portal","ref","slot"],w=["textContent","children","events","lifeCycle","if","ref"],_=["children"];function C(n,e,t){var r=n.map((n=>S(n,e,t)));return 1===r.length?r[0]:s.jsxFragment(s.jsxOpeningFragment(),s.jsxClosingFragment(),r.map(E))}function S(n,e,t){if("string"==typeof n)return s.stringLiteral(n);if(n.template)return function(n,e,t){p(e,"jsx","LegacyTemplate");var{children:r}=n,i=(0,o.Z)(n,_);return s.jsxElement(s.jsxOpeningElement(s.jsxIdentifier("LegacyTemplate"),g(i,e,t),!0),null,[],!0)}(n,e,t);var{brick:i,children:c,properties:l,events:f,lifeCycle:u,if:d,portal:m,ref:x,slot:h}=n,y=(0,o.Z)(n,k);if("string"==typeof i){var b,v,C=!0;switch(i){case":forEach":case":if":case":switch":b="".concat(i[1].toUpperCase()).concat(i.substring(2)),p(e,"jsx",b);break;default:C=!1,b=i.replaceAll(".","_")}C&&(v=y.dataSource,delete y.dataSource);var O=""===h?void 0:h,I=null!=l?l:{},{textContent:F,children:T,events:A,lifeCycle:R,if:N,ref:L}=I,D=(0,o.Z)(I,w),Z="string"==typeof F,J=0===c.length&&!Z;return c.length>0&&Z&&console.warn("Invalid brick: mix slotted children and textContent:",n),s.jsxElement(s.jsxOpeningElement(s.jsxIdentifier(b),[...g((0,r.Z)((0,r.Z)({},D),{},{slot:O,events:f,lifeCycle:u,if:!0===d?void 0:d,portal:m,ref:x},C?{value:v}:null),e,t,a,void 0,!0),...g({children:T,events:A,lifeCycle:R,if:N,ref:L},e,t,void 0,"prop"),...g(y,e,t,void 0,"conf")],J),J?null:s.jsxClosingElement(s.jsxIdentifier(b)),J?[]:c.length>0?c.map((n=>"string"!=typeof n&&n._isRoute?j(n,e,t):E(S(n,e,t)))):[P(F,e,t)],J)}throw new Error("Unexpected brick node: ".concat(JSON.stringify(n)))}function P(n,e,t){var r=x(n,e,t);return r?s.jsxExpressionContainer(r):/>|<|&(?:[a-zA-Z0-9]+|#\d+|#x[\da-fA-F]+);/.test(n)?s.jsxExpressionContainer(s.stringLiteral(n)):s.jsxText(n)}function O(n,e){var t=s.exportDefaultDeclaration(n),{code:r}=(0,m.transformFromAst)(s.program([t],void 0,"module"),void 0,{generatorOpts:{jsescOption:{minimal:!0}}}),o=function(n){var e=new Set;for(var t of n.values())for(var r of t)e.add(r.startsWith(l)?r.substring(l.length):r);return e}(e),i=f(e),a=r.replace(d.Pu,((n,e)=>{for(var t=e.split("/"),r=t[t.length-1],s=("context"===r&&3===t.length&&"views"===t[0]?"".concat(t[t.length-2],"_").concat(r):r).replaceAll("-","_").replace(/^(\d)/,"_$1"),a=2,c=s;o.has(c);)c="".concat(s,"_").concat(a++);return o.add(c),i.push("import ".concat(c,' from "./').concat(e,'.js";')),c}));return i.length>0?"".concat(i.join("\n"),"\n\n").concat(a):r}function I(n){return"export default ".concat(JSON.stringify(n),";")}function F(n,e,t){switch(e){case"routes":return function(n,e){var t=new Map;return O(s.jsxFragment(s.jsxOpeningFragment(),s.jsxClosingFragment(),n.map((n=>j(n,t,e)))),t)}(n,t);case"bricks":return function(n,e){var t=new Map;return O(Array.isArray(n)?C(n,t,e):S(n,t,e),t)}(n,t);case"template":return function(n,e){var t=new Map;p(t,"jsx","Component");var{bricks:r,name:o,state:i,proxy:a}=n;return O(s.jsxElement(s.jsxOpeningElement(s.jsxIdentifier("Component"),g({name:o,state:i,proxy:a},t,e,c)),s.jsxClosingElement(s.jsxIdentifier("Component")),(null!=r?r:[]).map((n=>E(S(n,t,e))))),t)}(n,t);case"context":case"menu":return function(n,e){var t=new Map,r=s.exportDefaultDeclaration(h(n,t,e)),o=s.program([r],void 0,"module"),i=f(t),a=(0,m.transformFromAst)(o,void 0,{generatorOpts:{jsescOption:{minimal:!0}}}).code;return i.length>0?"".concat(i.join("\n"),"\n\n").concat(a):a}(n,t);case"plain":return I(n);case"others":return function(n){var e=I(n),t=new Set,r=[];return e=e.replace(d.Pu,((n,e)=>{for(var o=e.split("/"),s=o[o.length-1].replaceAll("-","_").replace(/^(\d)/,"_$1"),i=2,a=s;t.has(a);)a="".concat(s,"_").concat(i++);return t.add(a),r.push("import ".concat(a,' from "./').concat(e,'.js";')),a})),r.length>0&&(e="".concat(r.join("\n"),"\n\n").concat(e)),e}(n);default:throw new Error("Unknown node type: ".concat(e))}}},7287:n=>{"use strict";n.exports="root = true\n\n[*]\nindent_style = space\nindent_size = 2\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n"},2524:n=>{"use strict";n.exports="node_modules\n/dist\n/temp\n"},3870:n=>{"use strict";n.exports="# __PROJECT_NAME__\n\n## 准备\n\n```bash\nyarn\n```\n\n## 开发\n\n打开两个终端,分别运行 `yarn start` 和 `yarn serve`。\n\n然后浏览器打开 http://localhost:8081__PROJECT_HOMEPAGE__\n\n提示:\n- 运行 `yarn serve` 时按需使用 `--subdir` 和 `--server` 等参数。\n- 修改文件后,需手动刷新浏览器。\n\n[查看贡献指南](CONTRIBUTING.md)\n"},2344:n=>{"use strict";n.exports='export default {\n presets: [\n [\n "@babel/preset-env",\n {\n modules: false,\n targets: {\n node: "current"\n }\n }\n ],\n [\n "@babel/preset-react",\n {\n runtime: "automatic",\n importSource: "jsx",\n throwIfNamespace: false,\n }\n ]\n ],\n}\n'},4450:n=>{"use strict";n.exports='{\n "compilerOptions": {\n "moduleResolution": "node16"\n }\n}\n'},8978:n=>{"use strict";n.exports='import path from "node:path";\nimport { existsSync, readFileSync } from "node:fs";\nimport { fileURLToPath } from "node:url";\nimport { parse } from "@babel/parser";\nimport babelGenerator from "@babel/generator";\nimport babelTraverse from "@babel/traverse";\nimport * as t from "@babel/types";\n\nconst { default: traverse } = babelTraverse;\nconst { default: generate } = babelGenerator;\n\n/**\n * @param {{ url: string; from: string }} props\n */\nexport default function Function({url, from}) {\n const jsPath = path.resolve(fileURLToPath(from), "..", url);\n const tsPath = jsPath.replace(/\\.js$/, ".ts");\n const typescript = (!existsSync(jsPath) && existsSync(tsPath)) || undefined;\n const resolvedPath = typescript ? tsPath : jsPath;\n const [name] = path.basename(resolvedPath).split(".");\n const source = readFileSync(resolvedPath, "utf-8");\n\n // Remove `export default`\n const ast = parse(source, { plugins: typescript ? ["typescript"] : [], sourceType: "module" });\n let fn;\n traverse(ast, {\n ExportDefaultDeclaration(path) {\n fn = path.node.declaration;\n }\n });\n const { code } = generate(fn ? t.program([fn], undefined, "script") : ast);\n\n return {\n name,\n typescript,\n source: code,\n }\n}\n'},2220:n=>{"use strict";n.exports='import path from "node:path";\nimport { readFileSync } from "node:fs";\nimport { fileURLToPath } from "node:url";\n\n/**\n * @param {{ url: string; from: string }} props\n */\nexport default function Style({url, from}) {\n const textContent = readFileSync(path.resolve(fileURLToPath(from), "..", url), "utf-8");\n return {\n brick: "style",\n properties: {\n textContent,\n }\n }\n}\n'},7444:n=>{"use strict";n.exports='export const Fragment = Symbol.for("Fragment");\nexport const Route = Symbol.for("Route");\nexport const Component = Symbol.for("Component");\nexport const ForEach = Symbol.for("ForEach");\nexport const If = Symbol.for("If");\nexport const Switch = Symbol.for("Switch");\nexport const LegacyTemplate = Symbol.for("LegacyTemplate");\n'},9082:n=>{"use strict";n.exports='import Style from "./Style.js";\nimport Function from "./Function.js";\n\nexport { Style, Function };\n\nexport * from "./constants.js";\n\n/**\n * Expression\n * @type {{\n * (expr: any): any;\n * (flag: "=" | "~" | "track context" | "track state", expr: any): any;\n * }}\n */\nexport const Expr = () => {\n throw new Error("Error: expression not transpiled!");\n}\n'},4431:n=>{"use strict";n.exports='import { Component, ForEach, Fragment, If, Route, Switch, LegacyTemplate } from "./constants.js";\n\nexport { Fragment };\n\n// Not including "children".\nconst RESERVED_PROP_KEYS = new Set(["events", "lifeCycle", "if", "portal", "ref"]);\n\nconst NodeType = Symbol("NodeType");\nconst Slot = Symbol("Slot");\nconst PropNamespace = "prop:";\nconst ConfNamespace = "conf:";\n\nexport function jsx(type, config) {\n switch (type) {\n case Fragment:\n return fixBrickChildren(config.children);\n\n case Route: {\n let route;\n if (config.type === "redirect") {\n route = config;\n } else if (config.type === "routes") {\n const { children, ...restConfig } = config;\n route = {\n ...restConfig,\n routes: [].concat(children ?? []),\n };\n } else {\n const {view, ...restConfig} = config;\n route = {\n ...restConfig,\n bricks: fixBrickChildren(view),\n };\n }\n return {\n [NodeType]: "route",\n ...route,\n };\n }\n\n case Component: {\n const { children, ...restConfig } = config;\n return {\n ...restConfig,\n bricks: fixBrickChildren(config.children),\n };\n }\n\n case ForEach:\n case If:\n case Switch: {\n const { children, value, ...restConfig } = config;\n return {\n ...restConfig,\n dataSource: value,\n brick: type === ForEach ? ":forEach" : type === "If" ? ":if" : ":switch",\n children: fixBrickChildren(config.children),\n };\n }\n\n case LegacyTemplate:\n return config;\n }\n\n if (typeof type === "function") {\n return type(config);\n }\n\n const properties = {};\n const reservedConfig = {};\n\n let slot;\n for (const [key, value] of Object.entries(config)) {\n if (key.includes(":")) {\n if (key.startsWith(PropNamespace)) {\n const k = key.substring(PropNamespace.length);\n properties[k] = value;\n } else if (key.startsWith(ConfNamespace)) {\n const k = key.substring(ConfNamespace.length);\n reservedConfig[k] = value;\n } else {\n throw new Error(`Unsupported namespace prop: "${key}"`);\n }\n } else if (key === "slot") {\n slot = value;\n } else if (key === "children") {\n // Ignore\n } else if (RESERVED_PROP_KEYS.has(key)) {\n reservedConfig[key] = value;\n } else {\n properties[key] = value;\n }\n }\n\n let slots = undefined;\n if (config.children) {\n if (typeof config.children === "string") {\n properties.textContent = config.children;\n } else {\n const children = fixBrickChildren(config.children);\n slots = childrenToSlots(children);\n delete properties.textContent;\n }\n }\n\n return {\n brick: typeof type === "string" ? type.replaceAll("_", ".") : type,\n properties,\n slots,\n [Slot]: slot,\n ...reservedConfig,\n };\n}\n\nfunction fixBrickChildren(children) {\n return [].concat(children ?? []).flat(Infinity).map(child => typeof child === "string" ? {\n brick: "span",\n properties: {\n textContent: child,\n }\n } : child);\n}\n\nfunction childrenToSlots(children) {\n const slots = {};\n for (const child of children) {\n const slot = child[Slot] ?? "";\n const type = child[NodeType] === "route" ? "routes" : "bricks";\n const slotConf = slots[slot] ??= {\n type,\n [type]: [],\n };\n slotConf[type].push(child);\n }\n return slots;\n}\n\nexport {\n jsx as jsxs\n};\n'},9456:n=>{"use strict";n.exports='{\n "name": "jsx",\n "version": "0.0.0",\n "type": "module",\n "exports": {\n ".": "./index.js",\n "./package.json": "./package.json",\n "./jsx-runtime": "./jsx-runtime.js"\n }\n}\n'},7040:n=>{"use strict";n.exports='{\n "name": "__PROJECT_ID__",\n "private": true,\n "type": "module",\n "scripts": {\n "start": "node scripts/start.js",\n "serve": "brick-container-serve --local-micro-apps=\\"__PROJECT_ID__\\""\n },\n "engines": {\n "node": ">=16"\n },\n "devDependencies": {\n "@babel/cli": "^7.22.9",\n "@babel/core": "^7.22.9",\n "@babel/generator": "^7.22.9",\n "@babel/parser": "^7.22.7",\n "@babel/preset-env": "^7.22.9",\n "@babel/preset-react": "^7.22.5",\n "@babel/traverse": "^7.22.8",\n "@babel/types": "^7.22.5",\n "@next-core/brick-container": "^3.5.11",\n "@types/babel__traverse": "^7.20.1",\n "@types/node": "^16.18.14",\n "js-yaml": "^3.14.1",\n "jsx": "link:./jsx"\n }\n}\n'},8678:n=>{"use strict";n.exports='import path from "node:path";\nimport { createRequire } from "node:module";\n\nconst require = createRequire(import.meta.url);\n\nexport function getBinPath(packageName, binName = packageName) {\n const packageJsonPath = require.resolve(`${packageName}/package.json`);\n const packageJson = require(packageJsonPath);\n if (typeof packageJson.bin === "string") {\n return packageJson.bin;\n }\n return path.join(path.dirname(packageJsonPath), packageJson.bin[binName]);\n}\n\nexport const babel = getBinPath("@babel/cli", "babel");\n'},7768:n=>{"use strict";n.exports='import path from "node:path";\nimport { writeFile } from "node:fs/promises";\nimport { fileURLToPath } from "node:url";\nimport yaml from "js-yaml";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\nconst { safeDump, JSON_SCHEMA } = yaml;\n\nexport async function build() {\n const storyboard = (await import("../dist/index.js")).default;\n\n storyboard.meta = {\n ...storyboard.resources.meta,\n customTemplates: storyboard.components,\n functions: Object.values(storyboard.resources.functions),\n menus: storyboard.resources.menus,\n contracts: storyboard.resources.contracts,\n i18n: storyboard.resources.i18n,\n };\n delete storyboard.resources;\n delete storyboard.components;\n\n await Promise.all([\n writeFile(\n path.resolve(__dirname, __APP_RELATIVE_DIR__, "storyboard.yaml"),\n safeDump(storyboard, {\n indent: 2,\n schema: JSON_SCHEMA,\n skipInvalid: true,\n noRefs: true,\n noCompatMode: true,\n })\n ),\n writeFile(\n path.resolve(__dirname, __APP_RELATIVE_DIR__, "storyboard.json"),\n JSON.stringify(storyboard, null, 2)\n )\n ]);\n}\n\nbuild().then(() => {\n console.log("Build done!");\n}, (err) => {\n console.error("Build failed:", err);\n});\n'},9503:n=>{"use strict";n.exports='import path from "node:path";\nimport { spawn } from "node:child_process";\nimport { rm, readFile, writeFile, readdir } from "node:fs/promises";\nimport { existsSync } from "node:fs";\nimport { parse } from "@babel/parser";\nimport babelGenerator from "@babel/generator";\nimport * as t from "@babel/types";\nimport babelTraverse from "@babel/traverse";\nimport { babel } from "./babel.js";\nimport { transpile } from "./transpile.js";\n\nconst { default: traverse } = babelTraverse;\nconst { default: generate } = babelGenerator;\n\nstart();\n\nfunction start() {\n const task = spawn(babel, [\n "src",\n "--out-dir",\n "temp",\n "--ignore",\n "*",\n "--copy-files",\n "--delete-dir-on-start",\n "--watch"\n ]);\n\n task.stdout.on("data", async (data) => {\n const out = String(data);\n console.log(out);\n if (out.includes("Successfully compiled ")) {\n try {\n await processFunctions();\n await processExpressions();\n } catch (e) {\n console.error("Transpile failed:", e);\n return;\n }\n\n transpile();\n }\n });\n\n task.stderr.on(\'data\', (data) => {\n console.error(`${data}`);\n });\n\n task.on(\'close\', (code) => {\n console.log(`Copy exited with code ${code}`);\n });\n}\n\nasync function processFunctions() {\n const functionsIndexJsPath = path.resolve("temp/resources/functions/index.js");\n if (existsSync(functionsIndexJsPath)) {\n const content = await readFile(functionsIndexJsPath, "utf-8");\n const ast = parse(content, { sourceType: "module" });\n const importsMap = new Map();\n const functions = new Set();\n traverse(ast, {\n ImportDeclaration({ node }) {\n for (const specifier of node.specifiers) {\n if (specifier.type === "ImportDefaultSpecifier") {\n importsMap.set(specifier.local.name, node.source.value);\n }\n }\n },\n ExportDefaultDeclaration({ node }) {\n if (node.declaration.type === "ObjectExpression") {\n for (const prop of node.declaration.properties) {\n if (prop.value.type === "Identifier") {\n functions.add(prop.value.name);\n }\n }\n }\n }\n });\n\n const statements = [\n t.importDeclaration(\n [t.importSpecifier(t.identifier("Function"), t.identifier("Function"))],\n t.stringLiteral("jsx")\n ),\n\n t.exportDefaultDeclaration(\n t.jsxFragment(\n t.jsxOpeningFragment(),\n t.jsxClosingFragment(),\n [...functions].map(fn =>\n t.jsxElement(\n t.jsxOpeningElement(\n t.jsxIdentifier("Function"),\n [\n t.jsxAttribute(\n t.jsxIdentifier("url"),\n t.stringLiteral(importsMap.get(fn)),\n ),\n t.jsxAttribute(\n t.jsxIdentifier("from"),\n t.jsxExpressionContainer(\n t.memberExpression(\n t.memberExpression(\n t.identifier("import"),\n t.identifier("meta"),\n ),\n t.identifier("url"),\n )\n )\n )\n ],\n true\n ),\n null,\n [],\n true\n )\n )\n )\n )\n ];\n\n const { code } = generate(t.program(statements, undefined, "module"));\n\n await Promise.all([\n writeFile(path.resolve("temp/resources/functions/index.jsx"), code),\n rm(functionsIndexJsPath),\n ]);\n }\n}\n\nfunction processExpressions() {\n return Promise.all([\n processExpressionsInFile("temp/routes.jsx"),\n processExpressionsInDir("temp/views"),\n processExpressionsInDir("temp/components"),\n processExpressionsInDir("temp/resources/menus"),\n ]);\n}\n\nasync function processExpressionsInFile(filePath) {\n const plugins = filePath.endsWith(".jsx") ? ["jsx"] : [];\n const content = await readFile(filePath, "utf-8");\n if (/\\bExpr\\s*\\(/.test(content)) {\n const ast = parse(content, { plugins, sourceType: "module" });\n let transformed = false;\n let imported = false;\n traverse(ast, {\n ImportDeclaration({ node }) {\n if (node.source.value === "jsx") {\n for (const specifier of node.specifiers) {\n if (specifier.type === "ImportSpecifier") {\n if (specifier.local.name === "Expr" && specifier.imported.type === "Identifier" && specifier.imported.name === "Expr") {\n imported = true;\n }\n }\n }\n }\n },\n CallExpression(path) {\n if (imported && path.node.callee.type === "Identifier" && path.node.callee.name === "Expr") {\n const { arguments: args} = path.node;\n if (args.length === 0) {\n throw new Error("`Expr()` should always have at least one argument");\n }\n let flag = "";\n if (args.length > 1 && args[0].type === "StringLiteral" && (args[0].value === "=" || args[0].value === "~")) {\n flag = args[0].value;\n args.splice(0, 1);\n }\n const exprSource = `<%${flag} ${content.substring(args[0].start, args[args.length - 1].end)} %>`;\n path.container[path.key] = t.stringLiteral(exprSource);\n transformed = true;\n }\n }\n });\n\n if (transformed) {\n const { code } = generate(ast);\n await writeFile(filePath, code);\n }\n }\n}\n\nasync function processExpressionsInDir(dir) {\n const items = await readdir(dir, { withFileTypes: true });\n return Promise.all(\n items.map(async (item) => {\n if (item.isFile()) {\n if (/\\.jsx?$/.test(item.name)) {\n const filePath = path.join(dir, item.name);\n await processExpressionsInFile(filePath);\n }\n } else if (item.isDirectory()) {\n await processExpressionsInDir(path.join(dir, item.name));\n }\n })\n );\n}\n'},7211:n=>{"use strict";n.exports='import { spawn } from "node:child_process";\nimport { babel } from "./babel.js";\n\nexport function transpile() {\n const task = spawn(babel, [\n "temp",\n "--out-dir",\n "dist",\n "--config-file",\n "./babel.config.js",\n "--extensions",\n ".js,.jsx",\n "--copy-files",\n "--delete-dir-on-start"\n ], {\n stdio: "inherit"\n });\n\n task.on(\'close\', (code) => {\n if (code === 0) {\n console.log("Transpile done!");\n spawn("node", [\n "scripts/build.js"\n ], {\n stdio: "inherit"\n });\n } else {\n console.error(`Transpile failed: ${code}`);\n }\n });\n}\n'},9602:n=>{"use strict";n.exports='import app from "./app.js";\nimport routes from "./routes.js";\nimport components from "./components/index.js";\nimport resources from "./resources/index.js";\n\nexport default {\n app,\n routes,\n components,\n resources,\n};\n'},5125:n=>{"use strict";n.exports='import functions from "./functions/index.js";\nimport menus from "./menus/index.js";\nimport contracts from "./contracts/index.js";\nimport i18n from "./i18n/index.js";\nimport meta from "./meta.js";\n\nexport default {\n functions,\n menus,\n contracts,\n i18n,\n meta,\n};\n'}}]);
2
+ //# sourceMappingURL=850.5fba6e3e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/850.5fba6e3e.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/standalone/ sync","webpack:///./src/data-providers/utils/buildFileStructure.ts","webpack:///./src/data-providers/utils/extract.ts","webpack:///./src/data-providers/utils/constants.ts","webpack:///./src/data-providers/utils/handleImports.ts","webpack:///./src/data-providers/utils/transformers/transformExpressionString.ts","webpack:///./src/data-providers/utils/transformers/transformJsonWithExpressions.ts","webpack:///./src/data-providers/utils/transformers/transformJsxAttributes.ts","webpack:///./src/data-providers/utils/transformers/transformRoute.ts","webpack:///./src/data-providers/utils/transformers/transformJsxChild.ts","webpack:///./src/data-providers/utils/transformers/transformBricks.ts","webpack:///./src/data-providers/utils/generators/generateJsx.ts","webpack:///./src/data-providers/utils/generators/generateOthers.ts","webpack:///./src/data-providers/utils/generators/generate.ts","webpack:///./src/data-providers/utils/generators/generateRoutes.ts","webpack:///./src/data-providers/utils/generators/generateBricks.ts","webpack:///./src/data-providers/utils/generators/generateTemplate.ts","webpack:///./src/data-providers/utils/generators/generateJsWithExpressions.ts"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 1532;\nmodule.exports = webpackEmptyContext;","import type { ExtractedItem, NodeType } from \"./extract.js\";\n\nexport interface SourceFile {\n type: \"file\";\n name: string;\n node: unknown;\n nodeType: NodeType;\n}\n\nexport interface SourceFolder {\n type: \"folder\";\n name: string;\n items: SourceFileOrFolder[];\n}\n\nexport type SourceFileOrFolder = SourceFile | SourceFolder;\n\nexport function buildFileStructure(extracts: ExtractedItem[]) {\n const rootItems: SourceFileOrFolder[] = [];\n for (const item of extracts) {\n makeFileWithFolders(item, rootItems);\n }\n return rootItems;\n}\n\nfunction makeFileWithFolders(\n { name, path, node, nodeType }: ExtractedItem,\n rootItems: SourceFileOrFolder[]\n) {\n let items = rootItems;\n for (const dir of path) {\n const found = items.find(\n (item) => item.name === dir && item.type === \"folder\"\n ) as SourceFolder | undefined;\n if (found) {\n items = found.items;\n continue;\n }\n\n const folder: SourceFolder = {\n type: \"folder\",\n name: dir,\n items: [],\n };\n items.push(folder);\n items = folder.items;\n }\n\n const file: SourceFile = {\n type: \"file\",\n name,\n node,\n nodeType,\n };\n items.push(file);\n}\n","import type {\n ContextConf,\n CustomTemplate,\n CustomTemplateProxy,\n RouteConf,\n} from \"@next-core/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport type {\n BrickNode,\n BrickNormalNode,\n BrickSourceNode,\n RouteNode,\n RouteNodeInBrick,\n} from \"./interfaces.js\";\n\nexport interface ExtractedItem {\n name: string;\n path: WalkPath;\n node: unknown;\n nodeType: NodeType;\n}\n\nexport type NodeType =\n | \"routes\"\n | \"template\"\n | \"bricks\"\n | \"context\"\n | \"menu\"\n | \"plain\"\n | \"others\";\n\nexport interface ExtractState {\n extracts: ExtractedItem[];\n namePool: Map<string, Set<string>>;\n}\n\ntype WalkPath = Readonly<Array<string>>;\n\nconst PROXY_KEYS = {\n properties: [\n \"ref\",\n \"refProperty\",\n \"extraOneWayRefs\",\n \"refTransform\",\n \"mergeType\",\n \"mergeMethod\",\n \"mergeArgs\",\n \"mergeProperty\",\n \"asVariable\",\n ],\n slots: [\"ref\", \"refSlot\", \"refPosition\"],\n events: [\"ref\", \"refEvent\"],\n methods: [\"ref\", \"refMethod\"],\n};\n\nexport const PLACEHOLDER_PREFIX = `--${Math.floor(\n Math.random() * 1e16\n).toString(36)}--:`;\n\nexport const PLACEHOLDER_PREFIX_REGEXP = new RegExp(\n `\"${PLACEHOLDER_PREFIX}((?:[-\\\\w]+/)*[-\\\\w]+)\"`,\n \"g\"\n);\n\nfunction getPlaceholder(folder: string, name: string): string {\n return `${PLACEHOLDER_PREFIX}${folder}${folder ? \"/\" : \"\"}${name}`;\n}\n\nexport function extractRoutes(\n routes: RouteConf[],\n path: WalkPath,\n state: ExtractState\n): RouteNode[] | undefined {\n return routes.map((route) => extractRoute(route, path, state));\n}\n\nexport function extractTemplates(\n templates: CustomTemplate[],\n path: WalkPath,\n state: ExtractState\n) {\n return templates.map((tpl) => extractTemplate(tpl, path, state));\n}\n\nfunction extractRoute(\n route: RouteConf,\n path: WalkPath,\n state: ExtractState\n): RouteNode {\n const name = getAvailableName(\"route\", route.alias, path, state.namePool);\n cleanRoute(route);\n\n let node: RouteNode;\n\n const childrenPath = [...path, \"views\", name];\n\n if (route.type === \"redirect\") {\n node = route as RouteNode;\n } else if (route.type === \"routes\") {\n const { routes, ...restRoute } = route;\n node = {\n ...restRoute,\n children: extractRoutes(routes, path, state),\n } as RouteNode;\n } else {\n const { bricks, ...restRoute } = route;\n const view = extractBricks(bricks, childrenPath, state);\n\n state.extracts.push({\n name,\n path: childrenPath,\n node: view,\n nodeType: \"bricks\",\n });\n\n node = {\n ...restRoute,\n view: getPlaceholder(`views/${name}`, name),\n } as RouteNode;\n }\n\n const context = extractContext(\n \"context\",\n route.context,\n name,\n childrenPath,\n state\n );\n\n return {\n ...node,\n context,\n };\n}\n\nfunction extractContext(\n type: \"context\" | \"state\",\n context: ContextConf[] | undefined,\n routeName: string,\n path: WalkPath,\n state: ExtractState\n): string | undefined {\n if (Array.isArray(context) && context.length > 0) {\n for (const item of context) {\n cleanContext(item);\n }\n const name = getAvailableName(type, type, path, state.namePool);\n state.extracts.push({\n name,\n path,\n node: context,\n nodeType: \"context\",\n });\n\n return getPlaceholder(type === \"context\" ? `views/${routeName}` : \"\", name);\n }\n}\n\nfunction extractProxy(\n proxy: CustomTemplateProxy | undefined,\n path: WalkPath,\n state: ExtractState\n) {\n if (isObject(proxy) && Object.keys(proxy).length > 0) {\n const name = getAvailableName(\"proxy\", \"proxy\", path, state.namePool);\n cleanProxy(proxy);\n state.extracts.push({\n name,\n path,\n node: proxy,\n nodeType: \"plain\",\n });\n\n return getPlaceholder(\"\", name);\n }\n\n return proxy;\n}\n\nfunction getAvailableName(\n type: \"route\" | \"brick\" | \"context\" | \"state\" | \"proxy\",\n name: string | undefined,\n path: WalkPath,\n namePool: Map<string, Set<string>>,\n countStart = 1\n): string {\n const pathString = path.join(\"/\");\n let names = namePool.get(pathString);\n if (!names) {\n namePool.set(pathString, (names = new Set()));\n }\n\n const aliasIsOk =\n type !== \"route\" ||\n (typeof name === \"string\" && /^\\w+$/.test(name) && name !== \"index\");\n\n if (!aliasIsOk || names.has(name as string)) {\n const prefix = aliasIsOk ? name : type;\n let candidate: string;\n let count = countStart;\n while (names.has((candidate = `${prefix}_${count}`))) {\n count++;\n }\n name = candidate;\n }\n\n names.add(name as string);\n return name as string;\n}\n\nfunction extractBricks(\n bricks: BrickSourceNode[] | undefined,\n path: WalkPath,\n state: ExtractState\n) {\n if (Array.isArray(bricks)) {\n return bricks.map((brick) => extractBrick(brick, path, state));\n }\n return bricks;\n}\n\nfunction extractBrick(\n brick: BrickSourceNode,\n path: WalkPath,\n state: ExtractState\n): BrickNode {\n let name: string | undefined;\n if (\n typeof brick.alias === \"string\" &&\n /^<\\w+>$/.test(brick.alias) &&\n brick.alias !== \"<index>\"\n ) {\n name = brick.alias.slice(1, -1);\n }\n cleanBrick(brick);\n\n if (name) {\n name = getAvailableName(\"brick\", name, [...path, name], state.namePool, 2);\n }\n\n const { slots, ...newBrick } = brick as BrickNormalNode &\n Pick<BrickSourceNode, \"slots\">;\n const children: (BrickNode | RouteNodeInBrick)[] = [];\n const childrenPath: WalkPath = [...path, ...(name ? [name] : [])];\n\n if (isObject(slots)) {\n for (const [slot, conf] of Object.entries(slots)) {\n if (conf.type === \"routes\") {\n const routes = extractRoutes(\n (conf.routes ?? []).map((route) => ({\n ...route,\n _isRoute: true,\n slot,\n })),\n path,\n state\n ) as RouteNodeInBrick[];\n children.push(...routes);\n } else {\n const bricks = extractBricks(\n (conf.bricks ?? []).map((brick) => ({\n ...brick,\n slot,\n })),\n childrenPath,\n state\n ) as BrickNode[];\n children.push(...bricks);\n }\n }\n }\n\n if (isObject(newBrick.properties) && !Array.isArray(newBrick.properties)) {\n newBrick.properties = extractProperties(\n newBrick.properties,\n childrenPath,\n state\n );\n }\n\n newBrick.children = children;\n\n if (name) {\n state.extracts.push({\n name,\n node: newBrick,\n path: [...path, name],\n nodeType: \"bricks\",\n });\n\n return getPlaceholder(name, name);\n }\n\n return newBrick;\n}\n\nfunction extractProperties(\n props: Record<string, unknown>,\n path: WalkPath,\n state: ExtractState\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(props).map(([k, v]) => [\n k,\n extractPropertyValue(v, k, path, state),\n ])\n );\n}\n\nfunction extractPropertyValue(\n value: unknown,\n key: string | number,\n path: WalkPath,\n state: ExtractState\n): unknown {\n if (key === \"useBrick\") {\n if (Array.isArray(value)) {\n return extractBricks(value as BrickSourceNode[], path, state);\n }\n if (isObject(value)) {\n return extractBrick(value as unknown as BrickSourceNode, path, state);\n }\n return value;\n }\n\n if (Array.isArray(value)) {\n return value.map((v, i) => extractPropertyValue(v, i, path, state));\n }\n\n if (isObject(value)) {\n return extractProperties(value, path, state);\n }\n\n return value;\n}\n\nfunction extractTemplate(\n tpl: CustomTemplate,\n path: WalkPath,\n state: ExtractState\n) {\n if (!tpl.name.startsWith(\"tpl-\")) {\n throw new Error(`Invalid template name: \"${tpl.name}\"`);\n }\n const name = tpl.name.substring(4);\n\n const childrenPath = [...path, name];\n\n const extractedBricks = extractBricks(tpl.bricks, childrenPath, state);\n const extractedState = extractContext(\n \"state\",\n tpl.state,\n name,\n childrenPath,\n state\n );\n const extractedProxy = extractProxy(tpl.proxy, childrenPath, state);\n\n state.extracts.push({\n name,\n path: childrenPath,\n node: {\n ...tpl,\n bricks: extractedBricks,\n state: extractedState,\n proxy: extractedProxy,\n },\n nodeType: \"template\",\n });\n\n return getPlaceholder(name, name);\n}\n\nfunction cleanRoute(\n route: RouteConf & {\n deviceOwner?: unknown;\n menu?: RouteConf[\"menu\"] | string;\n }\n): void {\n delete route.alias;\n delete route.iid;\n delete route.deviceOwner;\n if (route.menu === \"\") {\n delete route.menu;\n }\n removeFalsyFields(route as unknown as Record<string, unknown>, [\n \"redirect\",\n \"exact\",\n ]);\n if (route.type === \"bricks\") {\n delete route.type;\n }\n}\n\nfunction cleanBrick(brick: BrickSourceNode): void {\n delete brick.alias;\n delete brick.iid;\n delete brick.deviceOwner;\n if (brick.events && Object.keys(brick.events).length === 0) {\n delete brick.events;\n }\n if (brick.lifeCycle && Object.keys(brick.lifeCycle).length === 0) {\n delete brick.lifeCycle;\n }\n removeFalsyFields(brick as unknown as Record<string, unknown>, [\n \"bg\",\n \"portal\",\n ]);\n}\n\nfunction cleanContext(\n context: ContextConf & { path?: unknown; relatedId?: unknown }\n): void {\n delete context.path;\n delete context.relatedId;\n}\n\nfunction cleanProxy(proxy: CustomTemplateProxy & { invalid?: unknown }) {\n for (const [key, value] of Object.entries(proxy)) {\n switch (key) {\n case \"properties\":\n case \"events\":\n case \"slots\":\n case \"methods\":\n if (isObject(value)) {\n for (const [j, v] of Object.entries(value)) {\n if (isObject(v)) {\n const keys = Object.keys(v);\n for (const k of keys) {\n if (!PROXY_KEYS[key].includes(k)) {\n delete v[k];\n }\n }\n if (keys.length === 0) {\n delete value[j];\n }\n }\n }\n }\n break;\n default:\n delete proxy[key as \"invalid\"];\n }\n }\n}\n\nfunction removeFalsyFields(\n node: Record<string, unknown>,\n fields: string[]\n): void {\n for (const field of fields) {\n if (!node[field]) {\n delete node[field];\n }\n }\n}\n","export const REVERSED_ROUTE_KEYS: string[] = [\n \"context\",\n \"exact\",\n \"path\",\n \"slot\",\n];\nexport const REVERSED_BRICK_KEYS: string[] = [\"id\", \"ref\", \"slot\"];\nexport const REVERSED_TEMPLATE_KEYS: string[] = [\"proxy\", \"state\", \"name\"];\n\nexport const IMPORT_DEFAULT_PREFIX = \"default:\";\n","import { IMPORT_DEFAULT_PREFIX } from \"./constants.js\";\nimport { ImportInfo } from \"./interfaces.js\";\n\nexport function addImport(\n imports: ImportInfo,\n from: string,\n name: string\n): void {\n let imp = imports.get(from);\n if (!imp) {\n imp = new Set();\n imports.set(from, imp);\n }\n imp.add(name);\n}\n\nexport function generateImports(imports: ImportInfo): string[] {\n return [...imports]\n .sort((a, b) => Number(a[0].startsWith(\".\")) - Number(b[0].startsWith(\".\")))\n .map(([from, names]) => {\n const importNames = [...names];\n if (\n importNames.length === 1 &&\n importNames[0].startsWith(IMPORT_DEFAULT_PREFIX)\n ) {\n return `import ${importNames[0].substring(\n IMPORT_DEFAULT_PREFIX.length\n )} from \"${from}\";`;\n }\n return `import { ${importNames.join(\", \")} } from \"${from}\";`;\n });\n}\n\nexport function getVarNamesByImports(imports: ImportInfo): Set<string> {\n const names = new Set<string>();\n for (const importNames of imports.values()) {\n for (const name of importNames) {\n names.add(\n name.startsWith(IMPORT_DEFAULT_PREFIX)\n ? name.substring(IMPORT_DEFAULT_PREFIX.length)\n : name\n );\n }\n }\n return names;\n}\n","import * as t from \"@babel/types\";\nimport { transform } from \"@babel/standalone\";\nimport type { ImportInfo } from \"../interfaces.js\";\nimport { addImport } from \"../handleImports.js\";\n\nexport function transformExpressionString(\n value: string,\n imports: ImportInfo,\n path: string[]\n) {\n if (/^\\s*<%[~=]?\\s/.test(value) && /\\s%>\\s*$/.test(value)) {\n // Turn `\"<% CTX.abc %>\"` into `Expr(abc)`\n let flag = \"\";\n const source = value.replace(\n /^\\s*<%([~=])?\\s|\\s%>\\s*$/g,\n (m, p1: string) => {\n if (p1) {\n flag = p1;\n }\n return \"\";\n }\n );\n\n try {\n const file = transform(`(${source})`, { ast: true }).ast;\n const ast = (file.program.body[0] as t.ExpressionStatement).expression;\n const node = t.callExpression(t.identifier(\"Expr\"), [\n ...(flag ? [t.stringLiteral(flag)] : []),\n ...(ast.type === \"SequenceExpression\" ? ast.expressions : [ast]),\n ]);\n if (/\\bFN\\b/.test(source)) {\n const targetPath = [\"resources\", \"functions\", \"index.js\"];\n let relative = 0;\n for (let i = 0; i < targetPath.length && i < path.length; i++) {\n relative = i;\n if (path[i] !== targetPath[i]) {\n break;\n }\n }\n addImport(\n imports,\n `${\n path.length === 1\n ? \".\"\n : new Array(path.length - 1 - relative).fill(\"..\").join(\"/\")\n }/${targetPath.slice(relative).join(\"/\")}`,\n \"default:FN\"\n );\n }\n addImport(imports, \"jsx\", \"Expr\");\n return node;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(\"Parse expression failed:\", value, e);\n }\n }\n return null;\n}\n","import * as t from \"@babel/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport type { BrickNode, ImportInfo } from \"../interfaces.js\";\nimport { transformBrick, transformBricks } from \"./transformBricks.js\";\nimport { transformExpressionString } from \"./transformExpressionString.js\";\n\nexport function transformJsonWithExpressions(\n value: unknown,\n imports: ImportInfo,\n path: string[],\n transformUseBrick?: boolean,\n key?: string\n) {\n return (\n lowLevelTransformJsonWithExpressions(\n value,\n imports,\n path,\n transformUseBrick,\n key\n ) ?? t.nullLiteral()\n );\n}\n\nexport function lowLevelTransformJsonWithExpressions(\n value: unknown,\n imports: ImportInfo,\n path: string[],\n transformUseBrick?: boolean,\n key?: string\n):\n | t.ArrayExpression\n | t.ObjectExpression\n | t.CallExpression\n | t.StringLiteral\n | t.NumericLiteral\n | t.BooleanLiteral\n | t.NullLiteral\n | t.JSXElement\n | t.JSXFragment\n | null {\n if (transformUseBrick && key === \"useBrick\") {\n if (Array.isArray(value)) {\n return transformBricks(value, imports, path);\n } else if (isObject(value)) {\n return transformBrick(value as unknown as BrickNode, imports, path);\n }\n }\n\n if (Array.isArray(value)) {\n return t.arrayExpression(\n value.map((v: unknown) =>\n lowLevelTransformJsonWithExpressions(\n v,\n imports,\n path,\n transformUseBrick\n )\n )\n );\n }\n\n if (typeof value === \"function\") {\n return null;\n }\n\n if (isObject(value)) {\n return t.objectExpression(\n Object.entries(value)\n .map(([k, v]) => {\n const vNode = lowLevelTransformJsonWithExpressions(\n v,\n imports,\n path,\n transformUseBrick,\n k\n );\n if (vNode !== null) {\n return t.objectProperty(t.stringLiteral(k), vNode);\n }\n return null;\n })\n .filter(Boolean) as t.ObjectProperty[]\n );\n }\n\n if (typeof value === \"string\") {\n const node = transformExpressionString(value, imports, path);\n return node ?? t.stringLiteral(value);\n }\n\n if (typeof value === \"number\") {\n return t.numericLiteral(value);\n }\n\n if (typeof value === \"boolean\") {\n return t.booleanLiteral(value);\n }\n\n if (value === null) {\n return t.nullLiteral();\n }\n\n return null;\n}\n","import * as t from \"@babel/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport type { BrickNode, ImportInfo } from \"../interfaces.js\";\nimport { PLACEHOLDER_PREFIX } from \"../extract.js\";\nimport { transformJsonWithExpressions } from \"./transformJsonWithExpressions.js\";\nimport { transformExpressionString } from \"./transformExpressionString.js\";\nimport { transformBrick, transformBricks } from \"./transformBricks.js\";\n\nexport function transformJsxAttributes(\n object: object,\n imports: ImportInfo,\n path: string[],\n sortKeys?: string[],\n namespace?: string,\n transformUseBrick?: boolean\n) {\n const normalEntries: [string, unknown][] = [];\n const restProperties: t.ObjectProperty[] = [];\n for (const [k, v] of Object.entries(object)) {\n if (v !== undefined) {\n if (/^[_$a-zA-Z][$\\w]*$/.test(k)) {\n normalEntries.push([k, v]);\n } else {\n restProperties.push(\n t.objectProperty(\n t.stringLiteral(namespace ? `${namespace}:${k}` : k),\n transformJsonWithExpressions(v, imports, path)\n )\n );\n }\n }\n }\n const attrs: (t.JSXAttribute | t.JSXSpreadAttribute)[] = (\n sortKeys ? normalEntries.sort(getSorterByKeys(sortKeys)) : normalEntries\n ).map(([k, v]) => {\n return t.jsxAttribute(\n namespace\n ? t.jsxNamespacedName(t.jsxIdentifier(namespace), t.jsxIdentifier(k))\n : t.jsxIdentifier(k),\n transformJsxAttributeValue(\n v,\n imports,\n path,\n transformUseBrick ? k : undefined\n )\n );\n });\n if (restProperties.length > 0) {\n attrs.push(t.jsxSpreadAttribute(t.objectExpression(restProperties)));\n }\n return attrs;\n}\n\nfunction transformJsxAttributeValue(\n value: unknown,\n imports: ImportInfo,\n path: string[],\n key?: string\n) {\n if (typeof value === \"string\") {\n const expr = transformExpressionString(value, imports, path);\n if (expr) {\n return t.jsxExpressionContainer(expr);\n }\n\n const stringLiteral = t.stringLiteral(value);\n return value.includes(PLACEHOLDER_PREFIX) ||\n JSON.stringify(value).includes(\"\\\\\")\n ? t.jsxExpressionContainer(stringLiteral)\n : stringLiteral;\n }\n if (value === true) {\n return null;\n }\n if (key === \"useBrick\") {\n if (Array.isArray(value)) {\n return transformJsxValue(\n transformBricks(value as BrickNode[], imports, path)\n );\n } else if (isObject(value)) {\n return transformJsxValue(\n transformBrick(value as unknown as BrickNode, imports, path)\n );\n }\n }\n const expr = transformJsonWithExpressions(value, imports, path, true);\n return t.jsxExpressionContainer(expr);\n}\n\nfunction transformJsxValue(\n value: t.JSXElement | t.JSXFragment | t.StringLiteral\n) {\n if (value.type !== \"StringLiteral\") {\n return t.jsxExpressionContainer(value);\n }\n return value;\n}\n\nfunction getSorterByKeys(keys: string[]) {\n return function sorter(a: [string, unknown], b: [string, unknown]) {\n return keys.indexOf(b[0]) - keys.indexOf(a[0]);\n };\n}\n","import * as t from \"@babel/types\";\nimport type { ImportInfo, RouteNode } from \"../interfaces.js\";\nimport { addImport } from \"../handleImports.js\";\nimport { transformJsxAttributes } from \"./transformJsxAttributes.js\";\nimport { REVERSED_ROUTE_KEYS } from \"../constants.js\";\n\nexport function transformRoute(\n node: RouteNode,\n imports: ImportInfo,\n path: string[]\n): t.JSXElement {\n addImport(imports, \"jsx\", \"Route\");\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children: _children, slot: _slot, _isRoute, ...restNode } = node;\n const children = _children ?? [];\n const slot = _slot === \"\" ? undefined : _slot;\n const selfClosing = children.length === 0;\n return t.jsxElement(\n t.jsxOpeningElement(\n t.jsxIdentifier(\"Route\"),\n transformJsxAttributes(\n { ...restNode, slot },\n imports,\n path,\n REVERSED_ROUTE_KEYS\n ),\n selfClosing\n ),\n selfClosing ? null : t.jsxClosingElement(t.jsxIdentifier(\"Route\")),\n children.map((child) => transformRoute(child, imports, path)),\n selfClosing\n );\n}\n","import * as t from \"@babel/types\";\n\nexport function transformJsxChild(child: t.JSXElement | t.StringLiteral) {\n if (child.type === \"StringLiteral\") {\n return t.jsxExpressionContainer(child);\n }\n return child;\n}\n","import * as t from \"@babel/types\";\nimport type { BrickNode, BrickNormalNode, ImportInfo } from \"../interfaces.js\";\nimport { addImport } from \"../handleImports.js\";\nimport { transformJsxAttributes } from \"./transformJsxAttributes.js\";\nimport { REVERSED_BRICK_KEYS } from \"../constants.js\";\nimport { transformRoute } from \"./transformRoute.js\";\nimport { transformJsxChild } from \"./transformJsxChild.js\";\nimport { transformExpressionString } from \"./transformExpressionString.js\";\n\nexport function transformBricks(\n node: BrickNode[],\n imports: ImportInfo,\n path: string[]\n): t.StringLiteral | t.JSXElement | t.JSXFragment {\n const bricks = node.map((n) => transformBrick(n, imports, path));\n return bricks.length === 1\n ? bricks[0]\n : t.jsxFragment(\n t.jsxOpeningFragment(),\n t.jsxClosingFragment(),\n bricks.map(transformJsxChild)\n );\n}\n\nexport function transformBrick(\n node: BrickNode,\n imports: ImportInfo,\n path: string[]\n): t.StringLiteral | t.JSXElement {\n if (typeof node === \"string\") {\n return t.stringLiteral(node);\n }\n if (node.template) {\n return transformLegacyTemplate(node, imports, path);\n }\n const {\n brick,\n children,\n properties,\n events,\n lifeCycle,\n if: _if,\n portal,\n ref,\n slot: _slot,\n ...restNode\n } = node;\n if (typeof brick === \"string\") {\n let tagName: string;\n let isControlNode = true;\n switch (brick) {\n case \":forEach\":\n case \":if\":\n case \":switch\":\n tagName = `${brick[1].toUpperCase()}${brick.substring(2)}`;\n addImport(imports, \"jsx\", tagName);\n break;\n default:\n isControlNode = false;\n tagName = brick.replaceAll(\".\", \"_\");\n }\n let controlDataSource: unknown;\n if (isControlNode) {\n controlDataSource = restNode.dataSource;\n delete restNode.dataSource;\n }\n const slot = _slot === \"\" ? undefined : _slot;\n const props = properties ?? {};\n const {\n textContent,\n children: prop_children,\n events: prop_events,\n lifeCycle: prop_lifeCycle,\n if: prop_if,\n ref: prop_ref,\n ...restProps\n } = props;\n const hasTextContent = typeof textContent === \"string\";\n\n const selfClosing = children.length === 0 && !hasTextContent;\n\n if (children.length > 0 && hasTextContent) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Invalid brick: mix slotted children and textContent:\",\n node\n );\n }\n\n return t.jsxElement(\n t.jsxOpeningElement(\n t.jsxIdentifier(tagName),\n [\n ...transformJsxAttributes(\n {\n ...restProps,\n slot,\n events,\n lifeCycle,\n if: _if === true ? undefined : _if,\n portal,\n ref,\n ...(isControlNode\n ? {\n value: controlDataSource,\n }\n : null),\n },\n imports,\n path,\n REVERSED_BRICK_KEYS,\n undefined,\n true\n ),\n ...transformJsxAttributes(\n {\n children: prop_children,\n events: prop_events,\n lifeCycle: prop_lifeCycle,\n if: prop_if,\n ref: prop_ref,\n },\n imports,\n path,\n undefined,\n \"prop\"\n ),\n ...transformJsxAttributes(restNode, imports, path, undefined, \"conf\"),\n ],\n selfClosing\n ),\n selfClosing ? null : t.jsxClosingElement(t.jsxIdentifier(tagName)),\n selfClosing\n ? []\n : children.length > 0\n ? children.map((child) =>\n typeof child !== \"string\" && child._isRoute\n ? transformRoute(child, imports, path)\n : transformJsxChild(transformBrick(child, imports, path))\n )\n : [transformJsxText(textContent as string, imports, path)],\n selfClosing\n );\n }\n\n throw new Error(`Unexpected brick node: ${JSON.stringify(node)}`);\n}\n\nfunction transformLegacyTemplate(\n node: BrickNormalNode,\n imports: ImportInfo,\n path: string[]\n) {\n addImport(imports, \"jsx\", \"LegacyTemplate\");\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children, ...restNode } = node;\n\n return t.jsxElement(\n t.jsxOpeningElement(\n t.jsxIdentifier(\"LegacyTemplate\"),\n transformJsxAttributes(restNode, imports, path),\n true\n ),\n null,\n [],\n true\n );\n}\n\nfunction transformJsxText(text: string, imports: ImportInfo, path: string[]) {\n const expr = transformExpressionString(text, imports, path);\n if (expr) {\n return t.jsxExpressionContainer(expr);\n }\n if (/>|<|&(?:[a-zA-Z0-9]+|#\\d+|#x[\\da-fA-F]+);/.test(text)) {\n return t.jsxExpressionContainer(t.stringLiteral(text));\n }\n return t.jsxText(text);\n}\n","import * as t from \"@babel/types\";\nimport { transformFromAst } from \"@babel/standalone\";\nimport type { ImportInfo } from \"../interfaces.js\";\nimport { PLACEHOLDER_PREFIX_REGEXP } from \"../extract.js\";\nimport { generateImports, getVarNamesByImports } from \"../handleImports.js\";\n\nexport function generateJsx(expression: t.Expression, imports: ImportInfo) {\n const exportDefault = t.exportDefaultDeclaration(expression);\n\n const { code } = transformFromAst(\n t.program([exportDefault], undefined, \"module\"),\n undefined,\n {\n generatorOpts: {\n jsescOption: {\n minimal: true,\n },\n },\n }\n );\n\n const usedVarNames = getVarNamesByImports(imports);\n const allImports = generateImports(imports);\n\n const newCode = code.replace(PLACEHOLDER_PREFIX_REGEXP, (m, p1: string) => {\n const path = p1.split(\"/\");\n const name = path[path.length - 1];\n const baseName = (\n name === \"context\" && path.length === 3 && path[0] === \"views\"\n ? `${path[path.length - 2]}_${name}`\n : name\n )\n .replaceAll(\"-\", \"_\")\n .replace(/^(\\d)/, \"_$1\");\n\n let counter = 2;\n let varName = baseName;\n while (usedVarNames.has(varName)) {\n varName = `${baseName}_${counter++}`;\n }\n usedVarNames.add(varName);\n\n allImports.push(`import ${varName} from \"./${p1}.js\";`);\n return varName;\n });\n\n return allImports.length > 0\n ? `${allImports.join(\"\\n\")}\\n\\n${newCode}`\n : code;\n}\n","import { PLACEHOLDER_PREFIX_REGEXP } from \"../extract.js\";\n\nexport function generateOthers(node: unknown) {\n let content = generatePlain(node);\n\n const usedVarNames = new Set<string>();\n const imports: string[] = [];\n\n content = content.replace(PLACEHOLDER_PREFIX_REGEXP, (m, p1: string) => {\n const path = p1.split(\"/\");\n const name = path[path.length - 1];\n const baseName = name.replaceAll(\"-\", \"_\").replace(/^(\\d)/, \"_$1\");\n\n let counter = 2;\n let varName = baseName;\n while (usedVarNames.has(varName)) {\n varName = `${baseName}_${counter++}`;\n }\n usedVarNames.add(varName);\n\n imports.push(`import ${varName} from \"./${p1}.js\";`);\n return varName;\n });\n\n if (imports.length > 0) {\n content = `${imports.join(\"\\n\")}\\n\\n${content}`;\n }\n\n return content;\n}\n\nexport function generatePlain(node: unknown) {\n return `export default ${JSON.stringify(node)};`;\n}\n","import { NodeType } from \"../extract.js\";\nimport { generateBricks } from \"./generateBricks.js\";\nimport { generateJsWithExpressions } from \"./generateJsWithExpressions.js\";\nimport { generateOthers, generatePlain } from \"./generateOthers.js\";\nimport { generateRoutes } from \"./generateRoutes.js\";\nimport { generateTemplate } from \"./generateTemplate.js\";\n\nexport function generate(node: any, nodeType: NodeType, path: string[]) {\n switch (nodeType) {\n case \"routes\":\n return generateRoutes(node, path);\n case \"bricks\":\n return generateBricks(node, path);\n case \"template\":\n return generateTemplate(node, path);\n case \"context\":\n case \"menu\":\n return generateJsWithExpressions(node, path);\n case \"plain\": // Template proxy\n return generatePlain(node);\n case \"others\": // Templates index\n return generateOthers(node);\n default:\n throw new Error(`Unknown node type: ${nodeType}`);\n }\n}\n","import * as t from \"@babel/types\";\nimport type { ImportInfo } from \"../interfaces.js\";\nimport { transformRoute } from \"../transformers/transformRoute.js\";\nimport { generateJsx } from \"./generateJsx.js\";\n\nexport function generateRoutes(node: any[], path: string[]) {\n const imports: ImportInfo = new Map();\n const fragment = t.jsxFragment(\n t.jsxOpeningFragment(),\n t.jsxClosingFragment(),\n node.map((n) => transformRoute(n, imports, path))\n );\n\n return generateJsx(fragment, imports);\n}\n","import type { BrickNode, ImportInfo } from \"../interfaces.js\";\nimport {\n transformBrick,\n transformBricks,\n} from \"../transformers/transformBricks.js\";\nimport { generateJsx } from \"./generateJsx.js\";\n\nexport function generateBricks(node: BrickNode | BrickNode[], path: string[]) {\n const imports: ImportInfo = new Map();\n const expression = Array.isArray(node)\n ? transformBricks(node, imports, path)\n : transformBrick(node, imports, path);\n return generateJsx(expression, imports);\n}\n","import * as t from \"@babel/types\";\nimport type { ImportInfo } from \"../interfaces.js\";\nimport { generateJsx } from \"./generateJsx.js\";\nimport { addImport } from \"../handleImports.js\";\nimport { transformJsxAttributes } from \"../transformers/transformJsxAttributes.js\";\nimport { REVERSED_TEMPLATE_KEYS } from \"../constants.js\";\nimport { transformBrick } from \"../transformers/transformBricks.js\";\nimport { transformJsxChild } from \"../transformers/transformJsxChild.js\";\n\nexport function generateTemplate(node: any, path: string[]) {\n const imports: ImportInfo = new Map();\n addImport(imports, \"jsx\", \"Component\");\n\n const { bricks, name, state, proxy } = node;\n\n const tpl = t.jsxElement(\n t.jsxOpeningElement(\n t.jsxIdentifier(\"Component\"),\n transformJsxAttributes(\n { name, state, proxy },\n imports,\n path,\n REVERSED_TEMPLATE_KEYS\n )\n ),\n t.jsxClosingElement(t.jsxIdentifier(\"Component\")),\n (bricks ?? []).map((brick: any) =>\n transformJsxChild(transformBrick(brick, imports, path))\n )\n );\n\n return generateJsx(tpl, imports);\n}\n","import * as t from \"@babel/types\";\nimport { transformFromAst } from \"@babel/standalone\";\nimport type { ImportInfo } from \"../interfaces.js\";\nimport { generateImports } from \"../handleImports.js\";\nimport { transformJsonWithExpressions } from \"../transformers/transformJsonWithExpressions.js\";\n\nexport function generateJsWithExpressions(node: unknown, path: string[]) {\n const imports: ImportInfo = new Map();\n const exportDefault = t.exportDefaultDeclaration(\n transformJsonWithExpressions(node, imports, path)\n );\n const ast = t.program([exportDefault], undefined, \"module\");\n const allImports = generateImports(imports);\n const content = transformFromAst(ast, undefined, {\n generatorOpts: {\n jsescOption: {\n minimal: true,\n },\n },\n }).code;\n if (allImports.length > 0) {\n return `${allImports.join(\"\\n\")}\\n\\n${content}`;\n }\n return content;\n}\n"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","id","module","exports","buildFileStructure","extracts","rootItems","item","makeFileWithFolders","_ref","name","path","node","nodeType","items","_loop","dir","found","find","type","folder","push","file","PROXY_KEYS","properties","slots","events","methods","PLACEHOLDER_PREFIX","concat","Math","floor","random","toString","PLACEHOLDER_PREFIX_REGEXP","RegExp","getPlaceholder","extractRoutes","routes","state","map","route","getAvailableName","alias","namePool","iid","deviceOwner","menu","removeFalsyFields","cleanRoute","childrenPath","restRoute","_objectWithoutProperties","_excluded","_objectSpread","children","bricks","view","_excluded2","extractBricks","context","extractContext","extractRoute","extractTemplates","templates","tpl","startsWith","substring","extractedBricks","extractedState","extractedProxy","proxy","isObject","Object","length","key","value","entries","j","v","k","includes","cleanProxy","extractProxy","extractTemplate","routeName","Array","isArray","cleanContext","countStart","arguments","undefined","pathString","join","names","get","set","Set","aliasIsOk","test","has","candidate","prefix","count","add","brick","extractBrick","slice","lifeCycle","cleanBrick","newBrick","_excluded3","slot","conf","_conf$routes","_isRoute","_conf$bricks","extractProperties","props","fromEntries","_ref2","extractPropertyValue","i","relatedId","fields","field","REVERSED_ROUTE_KEYS","REVERSED_BRICK_KEYS","REVERSED_TEMPLATE_KEYS","IMPORT_DEFAULT_PREFIX","addImport","imports","from","imp","generateImports","sort","a","b","Number","importNames","transformExpressionString","flag","source","replace","m","p1","ast","transform","program","body","expression","t","expressions","targetPath","relative","fill","console","warn","transformJsonWithExpressions","transformUseBrick","_lowLevelTransformJso","lowLevelTransformJsonWithExpressions","transformBricks","transformBrick","vNode","filter","Boolean","transformJsxAttributes","object","sortKeys","namespace","normalEntries","restProperties","attrs","indexOf","expr","stringLiteral","JSON","stringify","transformJsxValue","transformJsxAttributeValue","transformRoute","_children","_slot","restNode","selfClosing","child","transformJsxChild","n","template","transformLegacyTemplate","if","_if","portal","ref","tagName","controlDataSource","isControlNode","toUpperCase","replaceAll","dataSource","textContent","prop_children","prop_events","prop_lifeCycle","prop_if","prop_ref","restProps","hasTextContent","transformJsxText","text","generateJsx","exportDefault","transformFromAst","generatorOpts","jsescOption","minimal","usedVarNames","values","getVarNamesByImports","allImports","newCode","split","baseName","counter","varName","generatePlain","generate","Map","generateRoutes","generateBricks","generateTemplate","content","generateJsWithExpressions","generateOthers"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_vb_experiment=self.webpackChunk_next_bricks_vb_experiment||[]).push([[732],{6264:(e,t,n)=>{n.r(t),n.d(t,{exportAsSourceFiles:()=>P});var r=n(4795),a=n(2019),o=n(1297),i=n.n(o),s=n(6782),l=n(9691),c=n(8483),p=n.n(c),f=n(1483),d=n(7243),u=n(9333),m=n(5738),j=n(3197),x=n(7444),v=n(9082),g=n(4431),y=n(9456),h=n(2220),_=n(8978),b=n(8678),A=n(7768),k=n(9503),w=n(7211),E=n(5125),S=n(9602),I=n(7287),O=n(2524),T=n(2344),C=n(7040),R=n(4450),J=n(3870);function P(e){return D.apply(this,arguments)}function D(){return(D=(0,r.Z)((function*(e){var t,n,r,a,o,l,{projectDetail:c,storyboard:p}=e,P=new(i()),D=P.folder("project"),G=D.folder("src"),U={extracts:[],namePool:new Map},L=(0,u.I$)(p.routes,[],U),W={id:c.appId,name:c.name,homepage:c.appSetting.homepage,layoutType:c.appSetting.layoutType,theme:c.appSetting.theme,noAuthGuard:c.appSetting.noAuthGuard,locales:c.appSetting.locales,standaloneMode:!0};G.file("app.js",N("export default ".concat(JSON.stringify(W,null,2),";")));var z=null!==(t=p.meta)&&void 0!==t?t:{},B=null!==(n=z.customTemplates)&&void 0!==n?n:[],H=null!==(r=z.functions)&&void 0!==r?r:[],K=null!==(a=z.menus)&&void 0!==a?a:[],V=null!==(o=z.contracts)&&void 0!==o?o:[],Z=null!==(l=z.i18n)&&void 0!==l?l:{};delete z.customTemplates,delete z.functions,delete z.menus,delete z.contracts,delete z.i18n,delete z.workflows,delete z.mocks,delete z.userGroups;var $=(0,u.LK)(B,["components"],U);U.extracts.push({name:"index",path:["components"],node:$,nodeType:"others"});var q=(0,m.B)(U.extracts);G.file("index.js",S),G.file("routes.jsx",N((0,j.R)(L,"routes",["routes.jsx"])));var Q=G.folder("resources"),X=Q.folder("functions"),Y=[],ee=[];for(var te of H){if("index"===te.name)throw new Error('Unexpected function name: "index"');var ne=(0,d.transform)(te.source,{filename:"expr.".concat(te.typescript?"ts":"js"),plugins:te.typescript?["syntax-typescript"]:[],ast:!0}).ast.program.body.map((e=>{if("FunctionDeclaration"===e.type){var t=f.exportDefaultDeclaration(e);return e.leadingComments&&(t.leadingComments=e.leadingComments,delete e.leadingComments),t}return e})),{code:re}=(0,d.transformFromAst)(f.program(ne,void 0,"module"),void 0,{});X.file("".concat(te.name,".").concat(te.typescript?"ts":"js"),re),ee.push("import ".concat(te.name,' from "./').concat(te.name,'.js";')),Y.push(te.name)}X.file("index.js",N("".concat(ee.join("\n"),"\n\nexport default { ").concat(Y.join(",")," };")));var ae=Q.folder("menus"),oe=[],ie=[];for(var se of K){if(F(se),"index"===se.menuId)throw new Error('Unexpected menu id: "index"');var le="".concat(se.menuId,".js");ae.file(le,N((0,j.R)(se,"menu",["resources","menus",le])));var ce=se.menuId.replace(/^\d+|[^\w]+/g,"_");ie.push("import ".concat(ce,' from "./').concat(le,'";')),oe.push(ce)}ae.file("index.js",N("".concat(ie.join("\n"),"\n\nexport default [").concat(oe.join(","),"]")));var pe=Q.folder("contracts"),fe=[],de=[];for(var ue of V){if("index"===ue.name)throw new Error('Unexpected contract name: "index"');pe.file("".concat(ue.name,".js"),N("export default ".concat(JSON.stringify(ue),";")));var me=ue.name.replace(/^\d+|[^\w]+/g,"_");de.push("import ".concat(me,' from "./').concat(ue.name,'.js";')),fe.push(me)}pe.file("index.js",N("".concat(de.join("\n"),"\n\nexport default [").concat(fe.join(","),"]"))),Q.folder("i18n").file("index.js",N("export default ".concat(JSON.stringify(Z),";"))),Q.file("meta.js",N("export default ".concat(JSON.stringify(z,null,2),";"))),Q.file("index.js",E),M(q,G,[]);var je=JSON.stringify("../mock-micro-apps/".concat(c.appId)),xe=D.folder("scripts");xe.file("build.js",A.replaceAll("__APP_RELATIVE_DIR__",je)),xe.file("babel.js",b),xe.file("start.js",k),xe.file("transpile.js",w),D.folder("mock-micro-apps").folder(c.appId).file(".gitignore","*\n!.gitignore");var ve=D.folder("jsx");ve.file("constants.js",x),ve.file("index.js",v),ve.file("jsx-runtime.js",g),ve.file("package.json",y),ve.file("Style.js",h),ve.file("Function.js",_),D.file(".editorconfig",I),D.file(".gitignore",O),D.file("babel.config.js",T),D.file("jsconfig.json",R),D.file("package.json",C.replaceAll("__PROJECT_ID__",c.appId)),D.file("README.md",J.replaceAll("__PROJECT_NAME__",c.name).replaceAll("__PROJECT_HOMEPAGE__",c.appSetting.homepage));var ge=yield P.generateAsync({type:"blob"});(0,s.saveAs)(ge,"project.zip")}))).apply(this,arguments)}function N(e){var{typescript:t,semi:n=!0,printWidth:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,l.format)(e,{parser:t?"babel-ts":"babel",plugins:[p()],semi:n,printWidth:r})}function M(e,t,n){for(var r of e){var a=[...n,r.name];if("folder"===r.type){var o=t.folder(r.name);M(r.items,o,a)}else t.file("".concat(r.name,".js").concat("others"===r.nodeType||"context"===r.nodeType?"":"x"),N((0,j.R)(r.node,r.nodeType,a)))}}function F(e){for(var[t,n]of Object.entries(e))switch(t){case"items":if(Array.isArray(n))for(var r of n)G(r);break;case"type":"main"===n&&delete e[t];break;case"if":break;case"i18n":0===Object.keys(n).length&&delete e[t];break;default:null!==n&&!1!==n||delete e[t]}}function G(e){for(var[t,n]of Object.entries(e))switch(t){case"children":Array.isArray(n)&&n.length>0&&G(n);break;case"if":break;case"activeExcludes":case"activeIncludes":Array.isArray(n)&&0===n.length&&delete e[t];break;default:null!==n&&!1!==n||delete e[t]}}customElements.define("vb-experiment.export-as-source-files",(0,a.createProviderClass)(P))}}]);
2
+ //# sourceMappingURL=export-as-source-files.4eefd7a1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/export-as-source-files.4eefd7a1.js","mappings":"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","sources":["webpack:///./src/data-providers/export-as-source-files.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { Storyboard, MicroApp, StoryboardMeta } from \"@next-core/types\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport JSZip from \"jszip\";\nimport { saveAs } from \"file-saver\";\nimport { format } from \"prettier/standalone.js\";\nimport parserBabel from \"prettier/parser-babel.js\";\nimport * as t from \"@babel/types\";\nimport { transform, transformFromAst } from \"@babel/standalone\";\nimport {\n ExtractState,\n extractRoutes,\n extractTemplates,\n} from \"./utils/extract.js\";\nimport {\n SourceFileOrFolder,\n buildFileStructure,\n} from \"./utils/buildFileStructure.js\";\nimport { generate } from \"./utils/generators/generate.js\";\nimport jsxConstantsJs from \"./raws/jsx/constants.js.txt\";\nimport jsxIndexJs from \"./raws/jsx/index.js.txt\";\nimport jsxJsxRuntimeJs from \"./raws/jsx/jsx-runtime.js.txt\";\nimport jsxPackageJson from \"./raws/jsx/package.json.txt\";\nimport jsxStyleJs from \"./raws/jsx/Style.js.txt\";\nimport jsxFunctionJs from \"./raws/jsx/Function.js.txt\";\nimport scriptsBabelJs from \"./raws/scripts/babel.js.txt\";\nimport scriptsBuildJs from \"./raws/scripts/build.js.txt\";\nimport scriptsStartJs from \"./raws/scripts/start.js.txt\";\nimport scriptsTranspileJs from \"./raws/scripts/transpile.js.txt\";\nimport srcResourcesIndexJs from \"./raws/src/resources/index.js.txt\";\nimport srcIndexJs from \"./raws/src/index.js.txt\";\nimport editorConfig from \"./raws/.editorconfig.txt\";\nimport gitIgnore from \"./raws/.gitignore.txt\";\nimport babelConfigJs from \"./raws/babel.config.js.txt\";\nimport packageJson from \"./raws/package.json.txt\";\nimport jsconfigJson from \"./raws/jsconfig.json.txt\";\nimport readmeMd from \"./raws/README.md.txt\";\n\nexport interface StoryboardAssemblyResult {\n storyboard: Storyboard;\n\n projectDetail: {\n appId: string;\n name: string;\n appSetting: Pick<\n MicroApp,\n \"homepage\" | \"theme\" | \"locales\" | \"noAuthGuard\"\n > & {\n layoutType?: string;\n };\n brickNextVersion?: number;\n };\n}\n\nexport async function exportAsSourceFiles({\n projectDetail,\n storyboard,\n}: StoryboardAssemblyResult): Promise<void> {\n const zip = new JSZip();\n const project = zip.folder(\"project\")!;\n const src = project.folder(\"src\")!;\n\n const extractState: ExtractState = {\n extracts: [],\n namePool: new Map(),\n };\n const extractedRoutes = extractRoutes(storyboard.routes, [], extractState);\n\n const app: MicroApp & { layoutType?: string } = {\n id: projectDetail.appId,\n name: projectDetail.name,\n homepage: projectDetail.appSetting.homepage,\n layoutType: projectDetail.appSetting.layoutType,\n theme: projectDetail.appSetting.theme,\n noAuthGuard: projectDetail.appSetting.noAuthGuard,\n locales: projectDetail.appSetting.locales,\n standaloneMode: true,\n };\n src.file(\n \"app.js\",\n formatJs(`export default ${JSON.stringify(app, null, 2)};`)\n );\n\n const meta = (storyboard.meta ?? {}) as StoryboardMeta & {\n workflows?: unknown;\n userGroups?: unknown;\n };\n const customTemplates = meta.customTemplates ?? [];\n const functions = meta.functions ?? [];\n const menus = meta.menus ?? [];\n const contracts = meta.contracts ?? [];\n const i18n = meta.i18n ?? {};\n delete meta.customTemplates;\n delete meta.functions;\n delete meta.menus;\n delete meta.contracts;\n delete meta.i18n;\n delete meta.workflows;\n delete meta.mocks;\n delete meta.userGroups;\n\n const extractedTemplates = extractTemplates(\n customTemplates,\n [\"components\"],\n extractState\n );\n extractState.extracts.push({\n name: \"index\",\n path: [\"components\"],\n node: extractedTemplates,\n nodeType: \"others\",\n });\n\n const fileStructure = buildFileStructure(extractState.extracts);\n\n src.file(\"index.js\", srcIndexJs);\n\n src.file(\n \"routes.jsx\",\n formatJs(generate(extractedRoutes, \"routes\", [\"routes.jsx\"]))\n );\n\n const resources = src.folder(\"resources\")!;\n\n // Functions\n const fnDir = resources.folder(\"functions\")!;\n const fnNames: string[] = [];\n const fnImports: string[] = [];\n for (const fn of functions) {\n if (fn.name === \"index\") {\n throw new Error('Unexpected function name: \"index\"');\n }\n\n // Prepend with `export default` for functions\n const ast = transform(fn.source, {\n filename: `expr.${fn.typescript ? \"ts\" : \"js\"}`,\n plugins: fn.typescript ? [\"syntax-typescript\"] : [],\n ast: true,\n }).ast;\n const statements = ast.program.body.map((statement) => {\n if (statement.type === \"FunctionDeclaration\") {\n const exportDefault = t.exportDefaultDeclaration(statement);\n if (statement.leadingComments) {\n exportDefault.leadingComments = statement.leadingComments;\n delete statement.leadingComments;\n }\n return exportDefault;\n }\n return statement;\n });\n const { code } = transformFromAst(\n t.program(statements, undefined, \"module\"),\n undefined,\n {}\n );\n\n fnDir.file(`${fn.name}.${fn.typescript ? \"ts\" : \"js\"}`, code);\n fnImports.push(`import ${fn.name} from \"./${fn.name}.js\";`);\n fnNames.push(fn.name);\n }\n fnDir.file(\n \"index.js\",\n formatJs(\n `${fnImports.join(\"\\n\")}\\n\\nexport default { ${fnNames.join(\",\")} };`\n )\n );\n\n // Menus\n const menusDir = resources.folder(\"menus\")!;\n const menuNames: string[] = [];\n const menuImports: string[] = [];\n for (const menu of menus) {\n cleanMenu(menu);\n if (menu.menuId === \"index\") {\n throw new Error('Unexpected menu id: \"index\"');\n }\n const filename = `${menu.menuId}.js`;\n menusDir.file(\n filename,\n formatJs(generate(menu, \"menu\", [\"resources\", \"menus\", filename]))\n );\n const name = menu.menuId.replace(/^\\d+|[^\\w]+/g, \"_\");\n menuImports.push(`import ${name} from \"./${filename}\";`);\n menuNames.push(name);\n }\n menusDir.file(\n \"index.js\",\n formatJs(\n `${menuImports.join(\"\\n\")}\\n\\nexport default [${menuNames.join(\",\")}]`\n )\n );\n\n // Contracts\n const contractsDir = resources.folder(\"contracts\")!;\n const contractNames: string[] = [];\n const contractImports: string[] = [];\n for (const contract of contracts) {\n if (contract.name === \"index\") {\n throw new Error('Unexpected contract name: \"index\"');\n }\n contractsDir.file(\n `${contract.name}.js`,\n formatJs(`export default ${JSON.stringify(contract)};`)\n );\n const name = contract.name.replace(/^\\d+|[^\\w]+/g, \"_\");\n contractImports.push(`import ${name} from \"./${contract.name}.js\";`);\n contractNames.push(name);\n }\n contractsDir.file(\n \"index.js\",\n formatJs(\n `${contractImports.join(\"\\n\")}\\n\\nexport default [${contractNames.join(\n \",\"\n )}]`\n )\n );\n\n resources\n .folder(\"i18n\")!\n .file(\"index.js\", formatJs(`export default ${JSON.stringify(i18n)};`));\n resources.file(\n \"meta.js\",\n formatJs(`export default ${JSON.stringify(meta, null, 2)};`)\n );\n resources.file(\"index.js\", srcResourcesIndexJs);\n\n generateByFileStructure(fileStructure, src, []);\n\n const appRelativeDir = JSON.stringify(\n `../mock-micro-apps/${projectDetail.appId}`\n );\n\n const scripts = project.folder(\"scripts\")!;\n scripts.file(\n \"build.js\",\n scriptsBuildJs.replaceAll(\"__APP_RELATIVE_DIR__\", appRelativeDir)\n );\n scripts.file(\"babel.js\", scriptsBabelJs);\n scripts.file(\"start.js\", scriptsStartJs);\n scripts.file(\"transpile.js\", scriptsTranspileJs);\n\n const appDir = project\n .folder(\"mock-micro-apps\")!\n .folder(projectDetail.appId)!;\n appDir.file(\".gitignore\", \"*\\n!.gitignore\");\n\n const jsxDir = project.folder(\"jsx\")!;\n jsxDir.file(\"constants.js\", jsxConstantsJs);\n jsxDir.file(\"index.js\", jsxIndexJs);\n jsxDir.file(\"jsx-runtime.js\", jsxJsxRuntimeJs);\n jsxDir.file(\"package.json\", jsxPackageJson);\n jsxDir.file(\"Style.js\", jsxStyleJs);\n jsxDir.file(\"Function.js\", jsxFunctionJs);\n\n project.file(\".editorconfig\", editorConfig);\n project.file(\".gitignore\", gitIgnore);\n project.file(\"babel.config.js\", babelConfigJs);\n project.file(\"jsconfig.json\", jsconfigJson);\n project.file(\n \"package.json\",\n packageJson.replaceAll(\"__PROJECT_ID__\", projectDetail.appId)\n );\n project.file(\n \"README.md\",\n readmeMd\n .replaceAll(\"__PROJECT_NAME__\", projectDetail.name)\n .replaceAll(\"__PROJECT_HOMEPAGE__\", projectDetail.appSetting.homepage)\n );\n\n const blob = await zip.generateAsync({ type: \"blob\" });\n saveAs(blob, \"project.zip\");\n}\n\ninterface FormatJsOptions {\n typescript?: boolean;\n semi?: boolean;\n printWidth?: number;\n}\n\nfunction formatJs(\n source: string,\n { typescript, semi = true, printWidth }: FormatJsOptions = {}\n): string {\n return format(source, {\n parser: typescript ? \"babel-ts\" : \"babel\",\n plugins: [parserBabel],\n semi,\n printWidth,\n });\n}\n\nfunction generateByFileStructure(\n items: SourceFileOrFolder[],\n folder: JSZip,\n path: string[]\n) {\n for (const item of items) {\n const childPath = [...path, item.name];\n if (item.type === \"folder\") {\n const childFolder = folder.folder(item.name)!;\n generateByFileStructure(item.items, childFolder, childPath);\n } else {\n folder.file(\n `${item.name}.js${\n item.nodeType === \"others\" || item.nodeType === \"context\" ? \"\" : \"x\"\n }`,\n formatJs(generate(item.node, item.nodeType, childPath))\n );\n }\n }\n}\n\nfunction cleanMenu(menu: Record<string, any>) {\n for (const [key, value] of Object.entries(menu)) {\n switch (key) {\n case \"items\":\n if (Array.isArray(value)) {\n for (const item of value) {\n cleanMenuItem(item);\n }\n }\n break;\n case \"type\":\n if (value === \"main\") {\n delete menu[key];\n }\n break;\n case \"if\":\n break;\n case \"i18n\":\n if (Object.keys(value).length === 0) {\n delete menu[key];\n }\n break;\n default:\n if (value === null || value === false) {\n delete menu[key];\n }\n }\n }\n}\n\nfunction cleanMenuItem(menuItem: Record<string, any>) {\n for (const [key, value] of Object.entries(menuItem)) {\n switch (key) {\n case \"children\":\n if (Array.isArray(value) && value.length > 0) {\n cleanMenuItem(value);\n }\n break;\n case \"if\":\n break;\n case \"activeExcludes\":\n case \"activeIncludes\":\n if (Array.isArray(value) && value.length === 0) {\n delete menuItem[key];\n }\n break;\n default:\n if (value === null || value === false) {\n delete menuItem[key];\n }\n }\n }\n}\n\ncustomElements.define(\n \"vb-experiment.export-as-source-files\",\n createProviderClass(exportAsSourceFiles)\n);\n"],"names":["exportAsSourceFiles","_x","_exportAsSourceFiles","apply","arguments","_asyncToGenerator","_ref","_storyboard$meta","_meta$customTemplates","_meta$functions","_meta$menus","_meta$contracts","_meta$i18n","projectDetail","storyboard","zip","JSZip","project","folder","src","extractState","extracts","namePool","Map","extractedRoutes","extractRoutes","routes","app","id","appId","name","homepage","appSetting","layoutType","theme","noAuthGuard","locales","standaloneMode","file","formatJs","concat","JSON","stringify","meta","customTemplates","functions","menus","contracts","i18n","workflows","mocks","userGroups","extractedTemplates","extractTemplates","push","path","node","nodeType","fileStructure","buildFileStructure","srcIndexJs","generate","resources","fnDir","fnNames","fnImports","fn","Error","statements","transform","source","filename","typescript","plugins","ast","program","body","map","statement","type","exportDefault","t","leadingComments","code","transformFromAst","undefined","join","menusDir","menuNames","menuImports","menu","cleanMenu","menuId","replace","contractsDir","contractNames","contractImports","contract","srcResourcesIndexJs","generateByFileStructure","appRelativeDir","scripts","scriptsBuildJs","replaceAll","scriptsBabelJs","scriptsStartJs","scriptsTranspileJs","jsxDir","jsxConstantsJs","jsxIndexJs","jsxJsxRuntimeJs","jsxPackageJson","jsxStyleJs","jsxFunctionJs","editorConfig","gitIgnore","babelConfigJs","jsconfigJson","packageJson","readmeMd","blob","generateAsync","saveAs","semi","printWidth","length","format","parser","parserBabel","items","item","childPath","childFolder","key","value","Object","entries","Array","isArray","cleanMenuItem","keys","menuItem","customElements","define","createProviderClass"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (()=>{var e,r,t,n,o,a,i,u,l,f,s,p,c,d,h,v={8986:(e,r,t)=>{Promise.all([t.e(134),t.e(850),t.e(644)]).then(t.bind(t,1644))}},b={};function g(e){var r=b[e];if(void 0!==r)return r.exports;var t=b[e]={exports:{}};return v[e].call(t.exports,t,t.exports,g),t.exports}g.m=v,g.c=b,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>"chunks/"+e+"."+{110:"78c7f020",134:"2149865a",644:"758cc670",850:"5fba6e3e"}[e]+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@next-bricks/vb-experiment:",g.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,u;if(void 0!==o)for(var l=document.getElementsByTagName("script"),f=0;f<l.length;f++){var s=l[f];if(s.getAttribute("src")==t||s.getAttribute("data-webpack")==r+o){i=s;break}}i||(u=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,g.nc&&i.setAttribute("nonce",g.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var p=(r,n)=>{i.onerror=i.onload=null,clearTimeout(c);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},c=setTimeout(p.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),u&&document.head.appendChild(i)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{g.S={};var e={},r={};g.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var a=g.S[t],i="@next-bricks/vb-experiment",u=[];return"default"===t&&((e,r,t,n)=>{var o=a[e]=a[e]||{},u=o[r];(!u||!u.loaded&&(1!=!u.eager?n:i>u.from))&&(o[r]={get:()=>g.e(110).then((()=>()=>g(7110))),from:i,eager:!1})})("@next-core/utils/general","1.5.7"),e[t]=u.length?Promise.all(u).then((()=>e[t]=1)):1}}})(),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var r=g.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e+"../"})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],u=(typeof i)[0];if(a!=u)return"o"==a&&"n"==u||"s"==u||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(u=e[a]))[0]?"-":(n>0?".":"")+(n=2,u);return t}var i=[];for(a=1;a<e.length;a++){var u=e[a];i.push(0===u?"not("+l()+")":1===u?"("+l()+" || "+l()+")":2===u?i.pop()+" "+i.pop():o(u))}return l();function l(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,u=1,l=!0;;u++,i++){var f,s,p=u<e.length?(typeof e[u])[0]:"";if(i>=r.length||"o"==(s=(typeof(f=r[i]))[0]))return!l||("u"==p?u>n&&!o:""==p!=o);if("u"==s){if(!l||"u"!=p)return!1}else if(l)if(p==s)if(u<=n){if(f!=e[u])return!1}else{if(o?f>e[u]:f<e[u])return!1;f!=e[u]&&(l=!1)}else if("s"!=p&&"n"!=p){if(o||u<=n)return!1;l=!1,u--}else{if(u<=n||s<p!=o)return!1;l=!1}else"s"!=p&&"n"!=p&&(l=!1,u--)}}var c=[],d=c.pop.bind(c);for(i=1;i<e.length;i++){var h=e[i];c.push(1==h?d()|d():2==h?d()&d():h?a(h,r):!d())}return!!d()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},u=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",l=(e,r,t,n)=>{var o=i(e,t);return a(n,o)||f(u(e,t,o,n)),s(e[t][o])},f=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},s=e=>(e.loaded=1,e.get()),p=(e=>function(r,t,n,o){var a=g.I(r);return a&&a.then?a.then(e.bind(e,r,g.S[r],t,n,o)):e(0,g.S[r],t,n,o)})(((e,r,t,n,o)=>r&&g.o(r,t)?l(r,0,t,n):o())),c={},d={2019:()=>p("default","@next-core/utils/general",[1,1,5,7],(()=>g.e(110).then((()=>()=>g(7110)))))},h={850:[2019]},g.f.consumes=(e,r)=>{g.o(h,e)&&h[e].forEach((e=>{if(g.o(c,e))return r.push(c[e]);var t=r=>{c[e]=0,g.m[e]=t=>{delete g.c[e],t.exports=r()}},n=r=>{delete c[e],g.m[e]=t=>{throw delete g.c[e],r}};try{var o=d[e]();o.then?r.push(c[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={179:0};g.f.j=(r,t)=>{var n=g.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=g.p+g.u(r),i=new Error;g.l(a,(t=>{if(g.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[a,i,u]=t,l=0;if(a.some((r=>0!==e[r]))){for(n in i)g.o(i,n)&&(g.m[n]=i[n]);u&&u(g)}for(r&&r(t);l<a.length;l++)o=a[l],g.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=self.webpackChunk_next_bricks_vb_experiment=self.webpackChunk_next_bricks_vb_experiment||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),g(8986)})();
2
+ //# sourceMappingURL=main.879ad7d2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/main.879ad7d2.js","mappings":"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","sources":["webpack:///webpack/runtime/load script","webpack:///webpack/runtime/consumes","webpack:///./src/index.ts","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/sharing","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var inProgress = {};\nvar dataWebpackPrefix = \"@next-bricks/vb-experiment:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r<b.length&&\"u\"!=(typeof b[r])[0];var e=a[r],n=(typeof e)[0];if(r>=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e<t;r++}\n}\nvar rangeToString = (range) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a<range.length;a++){e--,n+=\"u\"==(typeof(t=range[a]))[0]?\"-\":(e>0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a<range.length;a++){var t=range[a];g.push(0===t?\"not(\"+o()+\")\":1===t?\"(\"+o()+\" || \"+o()+\")\":2===t?g.pop()+\" \"+g.pop():rangeToString(t))}return o();function o(){return g.pop().replace(/^\\((.+)\\)$/,\"$1\")}\n}\nvar satisfy = (range, version) => {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i<range.length?(typeof range[i])[0]:\"\";if(n>=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f<range[i])return!1;f!=range[i]&&(a=!1)}else if(\"s\"!=g&&\"n\"!=g){if(r||i<=e)return!1;a=!1,i--}else{if(i<=e||s<g!=r)return!1;a=!1}else\"s\"!=g&&\"n\"!=g&&(a=!1,i--)}}var t=[],o=t.pop.bind(t);for(n=1;n<range.length;n++){var u=range[n];t.push(1==u?o()|o():2==u?o()&o():u?satisfy(u,version):!o())}return!!o();\n}\nvar ensureExistence = (scopeName, key) => {\n\tvar scope = __webpack_require__.S[scopeName];\n\tif(!scope || !__webpack_require__.o(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n\treturn scope;\n};\nvar findVersion = (scope, key) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key) => {\n\tvar versions = scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getSingleton = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\treturn get(scope[key][version]);\n};\nvar getSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar findValidVersion = (scope, key, requiredVersion) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar getValidVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar entry = findValidVersion(scope, key, requiredVersion);\n\tif(entry) return get(entry);\n\tthrow new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar warn = (msg) => {\n\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n};\nvar warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {\n\twarn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar init = (fn) => (function(scopeName, a, b, c) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));\n\treturn fn(scopeName, __webpack_require__.S[scopeName], a, b, c);\n});\n\nvar load = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn get(findVersion(scope, key));\n});\nvar loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\treturn scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();\n});\nvar loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getValidVersion(scope, scopeName, key, version);\n});\nvar loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tvar entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);\n\treturn entry ? get(entry) : fallback();\n});\nvar loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t2019: () => (loadSingletonVersionCheckFallback(\"default\", \"@next-core/utils/general\", [1,1,5,7], () => (__webpack_require__.e(110).then(() => (() => (__webpack_require__(7110)))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"850\": [\n\t\t2019\n\t]\n};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t});\n\t}\n}","import(\"./bootstrap.js\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"chunks/\" + chunkId + \".\" + {\"110\":\"78c7f020\",\"134\":\"2149865a\",\"644\":\"758cc670\",\"850\":\"5fba6e3e\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"@next-bricks/vb-experiment\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"@next-core/utils/general\", \"1.5.7\", () => (__webpack_require__.e(110).then(() => (() => (__webpack_require__(7110))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_next_bricks_vb_experiment\"] = self[\"webpackChunk_next_bricks_vb_experiment\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(8986);\n"],"names":["inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","warn","get","loadSingletonVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","c","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","f","e","chunkId","Promise","all","keys","reduce","promises","u","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","fn","setTimeout","bind","type","target","head","appendChild","r","Symbol","toStringTag","value","S","initPromises","initTokens","I","name","initScope","initToken","indexOf","scope","uniqueName","version","factory","eager","versions","activeVersion","loaded","from","then","register","scriptUrl","importScripts","location","currentScript","Error","replace","p","str","split","map","exec","apply","b","t","range","pop","requiredVersion","scopeName","msg","console","entry","promise","init","fallback","consumes","id","onFactory","onError","error","installedChunks","j","installedChunkData","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (()=>{"use strict";var e,r,t,n,o,i,a,u,l,s,f,c,p,d,h,v={4759:(e,r,t)=>{var n={"./export-as-source-files":()=>Promise.all([t.e(134),t.e(850),t.e(732)]).then((()=>()=>t(6264)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),i=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>i})}},b={};function g(e){var r=b[e];if(void 0!==r)return r.exports;var t=b[e]={exports:{}};return v[e].call(t.exports,t,t.exports,g),t.exports}g.m=v,g.c=b,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>"chunks/"+(732===e?"export-as-source-files":e)+"."+{110:"78c7f020",134:"2149865a",732:"4eefd7a1",850:"5fba6e3e"}[e]+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@next-bricks/vb-experiment:",g.l=(t,n,o,i)=>{if(e[t])e[t].push(n);else{var a,u;if(void 0!==o)for(var l=document.getElementsByTagName("script"),s=0;s<l.length;s++){var f=l[s];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==r+o){a=f;break}}a||(u=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,g.nc&&a.setAttribute("nonce",g.nc),a.setAttribute("data-webpack",r+o),a.src=t),e[t]=[n];var c=(r,n)=>{a.onerror=a.onload=null,clearTimeout(p);var o=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((e=>e(n))),r)return r(n)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=c.bind(null,a.onerror),a.onload=c.bind(null,a.onload),u&&document.head.appendChild(a)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{g.S={};var e={},r={};g.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var i=g.S[t],a="@next-bricks/vb-experiment",u=[];return"default"===t&&((e,r,t,n)=>{var o=i[e]=i[e]||{},u=o[r];(!u||!u.loaded&&(1!=!u.eager?n:a>u.from))&&(o[r]={get:()=>g.e(110).then((()=>()=>g(7110))),from:a,eager:!1})})("@next-core/utils/general","1.5.7"),e[t]=u.length?Promise.all(u).then((()=>e[t]=1)):1}}})(),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var r=g.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],i=(typeof o)[0];if(n>=r.length)return"u"==i;var a=r[n],u=(typeof a)[0];if(i!=u)return"o"==i&&"n"==u||"s"==u||"u"==i;if("o"!=i&&"u"!=i&&o!=a)return o<a;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,i=1;i<e.length;i++)n--,t+="u"==(typeof(u=e[i]))[0]?"-":(n>0?".":"")+(n=2,u);return t}var a=[];for(i=1;i<e.length;i++){var u=e[i];a.push(0===u?"not("+l()+")":1===u?"("+l()+" || "+l()+")":2===u?a.pop()+" "+a.pop():o(u))}return l();function l(){return a.pop().replace(/^\((.+)\)$/,"$1")}},i=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var a=0,u=1,l=!0;;u++,a++){var s,f,c=u<e.length?(typeof e[u])[0]:"";if(a>=r.length||"o"==(f=(typeof(s=r[a]))[0]))return!l||("u"==c?u>n&&!o:""==c!=o);if("u"==f){if(!l||"u"!=c)return!1}else if(l)if(c==f)if(u<=n){if(s!=e[u])return!1}else{if(o?s>e[u]:s<e[u])return!1;s!=e[u]&&(l=!1)}else if("s"!=c&&"n"!=c){if(o||u<=n)return!1;l=!1,u--}else{if(u<=n||f<c!=o)return!1;l=!1}else"s"!=c&&"n"!=c&&(l=!1,u--)}}var p=[],d=p.pop.bind(p);for(a=1;a<e.length;a++){var h=e[a];p.push(1==h?d()|d():2==h?d()&d():h?i(h,r):!d())}return!!d()},a=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},u=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",l=(e,r,t,n)=>{var o=a(e,t);return i(n,o)||s(u(e,t,o,n)),f(e[t][o])},s=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},f=e=>(e.loaded=1,e.get()),c=(e=>function(r,t,n,o){var i=g.I(r);return i&&i.then?i.then(e.bind(e,r,g.S[r],t,n,o)):e(0,g.S[r],t,n,o)})(((e,r,t,n,o)=>r&&g.o(r,t)?l(r,0,t,n):o())),p={},d={2019:()=>c("default","@next-core/utils/general",[1,1,5,7],(()=>g.e(110).then((()=>()=>g(7110)))))},h={850:[2019]},g.f.consumes=(e,r)=>{g.o(h,e)&&h[e].forEach((e=>{if(g.o(p,e))return r.push(p[e]);var t=r=>{p[e]=0,g.m[e]=t=>{delete g.c[e],t.exports=r()}},n=r=>{delete p[e],g.m[e]=t=>{throw delete g.c[e],r}};try{var o=d[e]();o.then?r.push(p[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={919:0};g.f.j=(r,t)=>{var n=g.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=g.p+g.u(r),a=new Error;g.l(i,(t=>{if(g.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;a.message="Loading chunk "+r+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[i,a,u]=t,l=0;if(i.some((r=>0!==e[r]))){for(n in a)g.o(a,n)&&(g.m[n]=a[n]);u&&u(g)}for(r&&r(t);l<i.length;l++)o=i[l],g.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=self.webpackChunk_next_bricks_vb_experiment=self.webpackChunk_next_bricks_vb_experiment||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})();var m=g(4759);window["bricks/vb-experiment"]=m})();
2
+ //# sourceMappingURL=index.c65348cc.js.map