/**
 * Minified by jsDelivr using Terser v5.48.0.
 * Original file: /npm/@teleporthq/teleport-project-generator@0.43.44/dist/cjs/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,s=1,r=arguments.length;s<r;s++)for(var n in t=arguments[s])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},__assign.apply(this,arguments)},__awaiter=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))(function(n,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function i(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s(function(e){e(t)})).then(a,i)}l((r=r.apply(e,t||[])).next())})},__generator=this&&this.__generator||function(e,t){var s,r,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(i){return function(l){return function(i){if(s)throw new TypeError("Generator is already executing.");for(;o&&(o=0,i[0]&&(a=0)),a;)try{if(s=1,r&&(n=2&i[0]?r.return:i[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,i[1])).done)return n;switch(r=0,n&&(i=[2&i[0],n.value]),i[0]){case 0:case 1:n=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]<n[3])){a.label=i[1];break}if(6===i[0]&&a.label<n[1]){a.label=n[1],n=i;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(i);break}n[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{s=n=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}},__spreadArray=this&&this.__spreadArray||function(e,t,s){if(s||2===arguments.length)for(var r,n=0,o=t.length;n<o;n++)!r&&n in t||(r||(r=Array.prototype.slice.call(t,0,n)),r[n]=t[n]);return e.concat(r||Array.prototype.slice.call(t))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createProjectGenerator=exports.ProjectGenerator=void 0;var teleport_shared_1=require("@teleporthq/teleport-shared"),teleport_uidl_validator_1=require("@teleporthq/teleport-uidl-validator"),teleport_types_1=require("@teleporthq/teleport-types"),utils_1=require("./utils"),file_handlers_1=require("./file-handlers"),constants_1=require("./constants"),assembly_line_1=__importDefault(require("./assembly-line")),path_1=require("path"),resource_1=require("./resource"),teleport_component_generator_1=require("@teleporthq/teleport-component-generator"),teleport_postprocessor_prettier_js_1=__importDefault(require("@teleporthq/teleport-postprocessor-prettier-js")),teleport_plugin_import_statements_1=__importDefault(require("@teleporthq/teleport-plugin-import-statements")),ProjectGenerator=function(){function e(e){this.assetPrefix=null,this.assetsAndPathMapping={},this.assetIdentifier=null,this.validator=new teleport_uidl_validator_1.Validator,this.strategy=e,this.assemblyLine=new assembly_line_1.default}return e.prototype.getStrategy=function(){return this.strategy},e.prototype.updateStrategy=function(e){this.strategy=__assign(__assign({},this.strategy),e)},e.prototype.updateGenerator=function(e){this.updateComponentsGenerator(e),this.updatePagesGenerator(e)},e.prototype.updateComponentsGenerator=function(e){"function"==typeof e&&e(this.strategy.components.generator())},e.prototype.updatePagesGenerator=function(e){"function"==typeof e&&e(this.strategy.pages.generator())},e.prototype.updateComponentsStrategy=function(e){var t=e.generator,s=e.path,r=e.options;t&&(this.strategy.components.generator=function(){return t}),s&&(this.strategy.components.path=s),r&&Object.keys(r).length>0&&(this.strategy.components.options=__assign(__assign({},this.strategy.components.options),r))},e.prototype.updatePagesStrategy=function(e){var t=e.generator,s=e.path,r=e.options;t&&(this.strategy.pages.generator=function(){return t}),s&&(this.strategy.pages.path=s),r&&Object.keys(r).length>0&&(this.strategy.pages.options=__assign(__assign({},this.strategy.pages.options),r))},e.prototype.setAssets=function(e){var t=e.mappings,s=e.prefix,r=e.identifier;t&&(this.assetsAndPathMapping=t),s&&(this.assetPrefix=s),r&&(this.assetIdentifier=r)},e.prototype.generateProject=function(e,t,s,r,n){var o,a,i,l,p,c,h,g,u,d,_,y,f,v,m,S,b,j,P,G,w,k,x,D,E,C,O,F,L,A,N,T,M,q,U,I,R,z,J,B,V,H,K,Q;return void 0===t&&(t=constants_1.DEFAULT_TEMPLATE),void 0===s&&(s={}),void 0===r&&(r=!1),__awaiter(this,void 0,void 0,function(){var W,X,Y,Z,$,ee,te,se,re,ne,oe,ae,ie,le,pe,ce,he,ge,ue,de,_e,ye,fe,ve,me,Se,be,je,Pe,Ge,we,ke,xe,De,Ee,Ce,Oe,Fe,Le,Ae,Ne,Te,Me,qe,Ue,Ie,Re,ze,Je,Be,Ve,He,Ke,Qe,We,Xe,Ye,Ze,$e,et,tt,st,rt,nt,ot,at,it,lt,pt,ct;return __generator(this,function(ht){switch(ht.label){case 0:if(W=e,X={},Y={},Z=new Map,$=teleport_shared_1.UIDLUtils.cloneObject(t||constants_1.DEFAULT_TEMPLATE),ee=this.validator.validateProjectSchema(e),te=ee.valid,se=ee.projectUIDL,!te||!se)throw new Error(ee.errorMsg);if(W=se,re=teleport_uidl_validator_1.Parser.parseProjectJSON(W),!(ne=this.validator.validateProjectContent(re)).valid)throw new Error(ne.errorMsg);ht.label=1;case 1:return ht.trys.push([1,3,,4]),[4,this.assemblyLine.runBefore({uidl:re,template:t,files:Z,strategy:this.strategy,dependencies:X,devDependencies:Y,rootFolder:$})];case 2:return oe=ht.sent(),X=__assign(__assign({},X),oe.dependencies),Y=__assign(__assign({},Y),oe.devDependencies),this.strategy=oe.strategy,Z=oe.files,(null===(o=this.strategy.components)||void 0===o?void 0:o.generator)&&(this.componentGenerator=(0,utils_1.bootstrapGenerator)(this.strategy.components,this.strategy.style,r)),(null===(a=this.strategy.pages)||void 0===a?void 0:a.generator)&&(this.pageGenerator=(0,utils_1.bootstrapGenerator)(this.strategy.pages,this.strategy.style,r)),(null===(i=this.strategy.projectStyleSheet)||void 0===i?void 0:i.generator)&&(this.styleSheetGenerator=(0,utils_1.bootstrapGenerator)(this.strategy.projectStyleSheet,this.strategy.style,r)),(null===(l=this.strategy.router)||void 0===l?void 0:l.generator)&&(this.routerGenerator=(0,utils_1.bootstrapGenerator)(this.strategy.router,this.strategy.style,r)),[3,4];case 3:throw ae=ht.sent(),console.trace(ae),new teleport_types_1.TeleportError("Error in Generating Project after runBefore");case 4:return ie=re.components,le=void 0===ie?{}:ie,pe=re.root,ce=pe.styleSetDefinitions,he=void 0===ce?{}:ce,ge=pe.designLanguage,ue=Object.fromEntries(Object.entries(he).filter(function(e){var t=e[0],s=teleport_shared_1.StringUtils.removeIllegalCharacters(t);return null!==s&&s.length>0})),de=(0,utils_1.createPageUIDLs)(re,this.strategy),Object.keys(le).length>0&&((0,utils_1.prepareComponentOutputOptions)(le,this.strategy),(0,utils_1.resolveLocalDependencies)(de,le,this.strategy)),_e=(this.assetPrefix?this.assetPrefix:"string"==typeof this.strategy.static.prefix)?this.strategy.static.prefix:"/"+this.getAssetsPath().join("/"),ye=__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({assets:{prefix:_e,mappings:this.assetsAndPathMapping,identifier:this.assetIdentifier,fontsFolder:path_1.join.apply(void 0,__spreadArray(__spreadArray([],(null===(c=null===(p=this.strategy)||void 0===p?void 0:p.static)||void 0===c?void 0:c.path)||[],!1),[null!==(h=this.assetIdentifier)&&void 0!==h?h:"","fonts"],!1)),localFonts:null===(g=re.globals)||void 0===g?void 0:g.assets.filter(function(e){return"local-font"===e.type})},projectRouteDefinition:re.root.stateDefinitions.route,designLanguage:null===(u=re.root)||void 0===u?void 0:u.designLanguage,mapping:s,extractedResources:{},skipValidation:!0,skipI18n:!re.internationalization},re.internationalization&&{internationalization:__assign({main:re.internationalization.main,languages:re.internationalization.languages,translations:re.internationalization.translations},n&&{targetLocale:n})}),re.resources&&(null===(_=null===(d=this.strategy)||void 0===d?void 0:d.resources)||void 0===_?void 0:_.path)&&{resources:{items:null===(y=null==re?void 0:re.resources)||void 0===y?void 0:y.items,cache:null==re?void 0:re.resources.cache,path:this.strategy.resources.path}}),re.dataSources&&Object.keys(re.dataSources).length>0&&{dataSources:re.dataSources}),re.forms&&{forms:re.forms}),re.workflows&&{workflows:re.workflows}),re.authentication&&{auth:re.authentication}),re.ecommerceSettings&&{ecommerceSettings:re.ecommerceSettings}),re.pageLayoutMode&&{pageLayoutMode:re.pageLayoutMode}),re.globalStateDefinitions&&Object.keys(re.globalStateDefinitions).length>0&&{globalStateDefinitions:re.globalStateDefinitions}),Object.keys(le).length>0&&{projectComponents:le}),(null===(f=this.strategy.projectStyleSheet)||void 0===f?void 0:f.generator)&&(null===(v=this.strategy.projectStyleSheet)||void 0===v?void 0:v.path)&&{projectStyleSet:{styleSetDefinitions:ue,fileName:null===(m=this.strategy.projectStyleSheet)||void 0===m?void 0:m.fileName,path:teleport_shared_1.GenericUtils.generateLocalDependenciesPrefix(this.strategy.pages.path,(null===(S=this.strategy.pages.options)||void 0===S?void 0:S.createFolderForEachComponent)?__spreadArray([".."],this.strategy.projectStyleSheet.path,!0):null===(b=this.strategy.projectStyleSheet)||void 0===b?void 0:b.path),importFile:(null===(j=this.strategy.projectStyleSheet)||void 0===j?void 0:j.importFile)||!1}}),(null===(P=this.strategy.projectStyleSheet)||void 0===P?void 0:P.generator)?[4,this.styleSheetGenerator.generateComponent(__assign(__assign({},re.root),{outputOptions:{folderPath:this.strategy.projectStyleSheet.path}}),__assign({isRootComponent:!0},ye))]:[3,6];case 5:fe=ht.sent(),lt=fe.files,rt=fe.dependencies,Z.set("projectStyleSheet",{path:this.strategy.projectStyleSheet.path,files:lt}),X=__assign(__assign({},X),rt),ht.label=6;case 6:if(ve=Object.values((null===(G=null==re?void 0:re.resources)||void 0===G?void 0:G.items)||{}),!((null===(w=this.strategy)||void 0===w?void 0:w.resources)&&ve.length>0))return[3,10];(me=(0,teleport_component_generator_1.createComponentGenerator)()).addPostProcessor(teleport_postprocessor_prettier_js_1.default),Se=function(e){var t,s,r,n,o,a;return __generator(this,function(i){switch(i.label){case 0:return t=(0,resource_1.resourceGenerator)(e,(null===(k=re.resources)||void 0===k?void 0:k.resourceMappers)||{}),s=t.chunks,r=t.dependencies,[4,(0,teleport_plugin_import_statements_1.default)({uidl:re.root,dependencies:r,chunks:[],options:{extractedResources:{}}})];case 1:return n=i.sent().chunks,o=me.linkCodeChunks(((a={})[teleport_types_1.FileType.JS]=__spreadArray(__spreadArray([],n,!0),s,!0),a),teleport_shared_1.StringUtils.camelCaseToDashCase(e.name)),X=__assign(__assign({},X),Object.keys(r).reduce(function(e,t){var s=r[t];return"package"===s.type&&(e[s.path]=s.version),e},{})),Z.set("resource-".concat(e.name),{files:o,path:be.strategy.resources.path}),[2]}})},be=this,je=0,Pe=ve,ht.label=7;case 7:return je<Pe.length?(Ge=Pe[je],[5,Se(Ge)]):[3,10];case 8:ht.sent(),ht.label=9;case 9:return je++,[3,7];case 10:we=0,ke=de,ht.label=11;case 11:if(!(we<ke.length))return[3,15];if(xe=ke[we],!(null===(D=null===(x=this.strategy)||void 0===x?void 0:x.pages)||void 0===D?void 0:D.generator))throw new teleport_types_1.TeleportError("Pages Generator is missing from the strategy - ".concat(JSON.stringify(this.strategy.pages)));return De=ye,Re=teleport_shared_1.UIDLUtils.getComponentFolderPath(xe),ze=this.strategy.pages.path.concat(Re),"addExternalComponents"in this.pageGenerator&&this.pageGenerator.addExternalComponents({externals:le,options:ye}),[4,(0,file_handlers_1.createPage)(xe,this.pageGenerator,De)];case 12:return Ee=ht.sent(),lt=Ee.files,rt=Ee.dependencies,Object.values(De.extractedResources).forEach(function(e){var t=e.path.join("/"),s="resource-".concat(t,"/").concat(e.fileName);Z.set(s,{path:e.path,files:[{name:e.fileName,fileType:e.fileType,content:e.content}]})}),Z.set("page-".concat(xe.name),{path:ze,files:lt}),X=__assign(__assign({},X),rt),(null===(E=this.strategy.pages)||void 0===E?void 0:E.module)?(Ce=(0,utils_1.bootstrapGenerator)(this.strategy.pages.module,this.strategy.style),[4,(0,file_handlers_1.createPageModule)(xe,Ce,ye)]):[3,14];case 13:Oe=ht.sent(),Z.set("".concat(xe.name,"Module"),{path:ze,files:Oe.files}),X=__assign(__assign({},X),Oe.dependencies),ht.label=14;case 14:return we++,[3,11];case 15:return(null===(O=null===(C=this.strategy.components)||void 0===C?void 0:C.options)||void 0===O?void 0:O.excludeFiles)?[3,21]:(null===(L=null===(F=this.strategy)||void 0===F?void 0:F.components)||void 0===L?void 0:L.module)?(Fe=(0,utils_1.bootstrapGenerator)(this.strategy.components.module,this.strategy.style),[4,(0,file_handlers_1.createComponentModule)(re,this.strategy,Fe)]):[3,17];case 16:Le=ht.sent(),Z.set(Le.files[0].name,{path:this.strategy.components.path,files:Le.files}),X=__assign(__assign({},X),Le.dependencies),ht.label=17;case 17:Ae=0,Ne=Object.keys(le),ht.label=18;case 18:if(!(Ae<Ne.length))return[3,21];if(Te=Ne[Ae],!(null===(N=null===(A=this.strategy)||void 0===A?void 0:A.components)||void 0===N?void 0:N.generator))throw new teleport_types_1.TeleportError("Component Generator is missing from the strategy - ".concat(JSON.stringify(this.strategy.components)));return Me=ye,this.strategy.projectStyleSheet&&(qe=teleport_shared_1.GenericUtils.generateLocalDependenciesPrefix(this.strategy.components.path,this.strategy.projectStyleSheet.path),Me=__assign(__assign({},ye),{projectStyleSet:{styleSetDefinitions:ue,fileName:this.strategy.projectStyleSheet.fileName,path:(null===(M=null===(T=this.strategy.components)||void 0===T?void 0:T.options)||void 0===M?void 0:M.createFolderForEachComponent)?(0,path_1.join)("..",qe):qe,importFile:(null===(q=this.strategy.projectStyleSheet)||void 0===q?void 0:q.importFile)||!1},designLanguage:null===(U=re.root)||void 0===U?void 0:U.designLanguage,globalAssets:null===(I=re.globals)||void 0===I?void 0:I.assets})),"addExternalComponents"in this.componentGenerator&&this.componentGenerator.addExternalComponents({externals:le,options:Me}),Ue=le[Te],[4,(0,file_handlers_1.createComponent)(Ue,this.componentGenerator,Me)];case 19:Ie=ht.sent(),lt=Ie.files,rt=Ie.dependencies,Object.values(Me.extractedResources).forEach(function(e){var t=e.path.join("/"),s="resource-".concat(t,"/").concat(e.fileName);Z.set(s,{path:e.path,files:[{name:e.fileName,fileType:e.fileType,content:e.content}]})}),Re=teleport_shared_1.UIDLUtils.getComponentFolderPath(Ue),ze=this.strategy.components.path.concat(Re),Z.set("component-".concat(Te,"."),{path:ze,files:lt}),X=__assign(__assign({},X),rt),ht.label=20;case 20:return Ae++,[3,18];case 21:return(null==(Je=this.strategy.framework)?void 0:Je.replace)&&Boolean((null===(R=Je.replace)||void 0===R?void 0:R.isGlobalStylesDependent)&&(Object.keys(ue).length>0||Object.keys((null===(J=null===(z=null==re?void 0:re.root)||void 0===z?void 0:z.designLanguage)||void 0===J?void 0:J.tokens)||{}).length>0))&&(Be=Je.replace,ot=Be.fileName,He=Be.fileType,Ye=Je.replace.replaceFile(t,X,ot,He),X=Ye.dependencies,Z.set("component-".concat(ot),{path:this.strategy.framework.replace.path,files:[Ye.file]})),(null==Je?void 0:Je.config)&&(Ve=Je.config,ot=Ve.fileName,He=Ve.fileType,Ke=Ve.configContentGenerator,Qe=Ve.generator,We=Ve.plugins,Xe=Ve.postprocessors,Ke&&Qe&&(Ye=Ke({fileName:ot,fileType:He,globalStyles:{path:teleport_shared_1.GenericUtils.generateLocalDependenciesPrefix(Je.config.path,this.strategy.projectStyleSheet.path),sheetName:this.strategy.projectStyleSheet?this.strategy.projectStyleSheet.fileName:"",isGlobalStylesDependent:null!==(V=null===(B=Je.config)||void 0===B?void 0:B.isGlobalStylesDependent)&&void 0!==V?V:Boolean(Object.keys(ue).length>0||Object.keys((null===(K=null===(H=re.root)||void 0===H?void 0:H.designLanguage)||void 0===K?void 0:K.tokens)||{}).length>0)},dependencies:X}),X=Ye.dependencies,Object.keys(null==Ye?void 0:Ye.chunks).length>0&&(Ze=Je.config.generator,lt=Ze({plugins:We,postprocessors:Xe}).linkCodeChunks(Ye.chunks,Je.config.fileName),Z.set(ot,{path:this.strategy.framework.config.path,files:lt})))),re.globals.manifest&&($e=(0,file_handlers_1.createManifestJSONFile)(re,ye.assets),Z.set($e.name,{path:this.strategy.static.path,files:[$e]})),re.globals.env&&((0,file_handlers_1.createEnvFiles)(re.globals.env).forEach(function(e){Z.set(e.name,{path:[],files:[e]})}),et=(0,file_handlers_1.createGitIgnoreFile)(),Z.set(et.name,{path:[],files:[et]})),this.strategy.router?[4,(0,file_handlers_1.createRouterFile)(re.root,this.strategy,this.routerGenerator)]:[3,23];case 22:tt=ht.sent(),st=tt.routerFile,rt=tt.dependencies,Z.set("router",{path:this.strategy.router.path,files:[st]}),X=__assign(__assign({},X),rt),ht.label=23;case 23:return this.strategy.entry?[4,(0,file_handlers_1.createEntryFile)(re,this.strategy,ye)]:[3,25];case 24:nt=ht.sent(),Z.set("entry",{path:this.strategy.entry.path,files:nt}),ht.label=25;case 25:if(!(null==Je?void 0:Je.externalStyles)||!(null===(Q=this.strategy.pages.options)||void 0===Q?void 0:Q.useFileNameForNavigation))return[3,27];if(ot=Je.externalStyles.fileName,!(at=Z.get(ot)))throw new Error("Canno't find file - ".concat(ot," from the list of files generated"));return[4,(0,utils_1.generateExternalCSSImports)(re.root)];case 26:it=ht.sent()[0],lt=(0,utils_1.fileFileAndReplaceContent)(at.files,ot,it.content),Z.set(ot,{path:at.path,files:lt}),ht.label=27;case 27:return ht.trys.push([27,29,,30]),[4,this.assemblyLine.runAfter({uidl:re,template:t,files:Z,strategy:this.strategy,dependencies:X,devDependencies:Y,rootFolder:$})];case 28:return pt=ht.sent(),X=__assign(__assign({},X),pt.dependencies),Y=__assign(__assign({},Y),pt.devDependencies),Z=pt.files,[3,30];case 29:throw ct=ht.sent(),console.error(ct),new teleport_types_1.TeleportError("Error in generating project after runAfter - ".concat(ct));case 30:return re.globals.env&&(0,file_handlers_1.createEnvFiles)(re.globals.env).forEach(function(e){Z.set(e.name,{path:[],files:[e]})}),Z.forEach(function(e){(0,utils_1.injectFilesToPath)($,e.path,e.files)}),(0,file_handlers_1.handlePackageJSON)($,re,X,Y),[2,$]}})})},e.prototype.addMapping=function(e){var t,s;this.strategy.components.mappings=__spreadArray(__spreadArray([],null===(t=this.strategy.components)||void 0===t?void 0:t.mappings,!0),[e],!1),this.strategy.pages.mappings=__spreadArray(__spreadArray([],null===(s=this.strategy.pages)||void 0===s?void 0:s.mappings,!0),[e],!1),this.strategy.router},e.prototype.addPlugin=function(e){this.assemblyLine.addPlugin(e)},e.prototype.cleanPlugins=function(){this.assemblyLine.cleanPlugins()},e.prototype.getAssetsPath=function(){return this.strategy.static.path},e}();exports.ProjectGenerator=ProjectGenerator;var createProjectGenerator=function(e){return new ProjectGenerator(e)};exports.createProjectGenerator=createProjectGenerator,exports.default=exports.createProjectGenerator;
//# sourceMappingURL=/sm/c4daaa5e27c70cf36fcc3e4ad710c646ef1b7790543799f1488803cf25cdf59c.map