UNPKG

@sap/generator-fiori

Version:

Create an SAPUI5 application using SAP Fiori elements or a freestyle approach

1 lines 6.62 kB
"use strict";exports.id=947,exports.ids=[947],exports.modules={46523:(e,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.mergeWithDefaults=function mergeWithDefaults(e){(0,i.validate)(e);const r=`${e.namespace}.${e.libraryName}`,a=e.author??"UX Tools";return{...e,author:a,namespaceURI:e.namespace.split(".").join("/"),libraryNamespace:r,libraryNamespaceURI:r.split(".").join("/"),libraryBasepath:r.split(".").map((e=>"..")).join("/")+"/"}};const i=a(38452)},38452:function(e,r,a){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.validateLibName=validateLibName,r.validateNamespace=validateNamespace,r.validateUI5Version=validateUI5Version,r.validate=function validate(e){return validateLibName(e.libraryName)&&validateNamespace(e.namespace,e.libraryName)&&validateUI5Version(e.frameworkVersion)};const n=i(a(85263)),o=a(65644);function validateLibName(e){if(!e)throw new Error((0,o.t)("error.missingRequiredProperty",{propertyName:"libraryName"}));if(!/^[a-z][a-z0-9]*$/g.test(e))throw new Error((0,o.t)("error.useAlphaNumeric",{propertyName:"libraryName"}));return!0}function validateNamespace(e,r){if(!e)throw new Error((0,o.t)("error.missingRequiredProperty",{propertyName:"namespace"}));return function validateNamespacePattern(e,r){if(!/^[a-zA-Z]/.test(e))throw new Error((0,o.t)("error.invalidNamespace.mustStartWithLetter"));if(e.endsWith("."))throw new Error((0,o.t)("error.invalidNamespace.mustEndInPeriod"));if("SAP"===e.toUpperCase())throw new Error((0,o.t)("error.invalidNamespace.cannotBeSap",{str:e}));if(e.toLowerCase().startsWith("new"))throw new Error((0,o.t)("error.invalidNamespace.cannotStartWithNew",{str:e.substring(0,3)}));if(/\.\d/.test(e))throw new Error((0,o.t)("error.invalidNamespace.numAfterPeriod"));if(!/^[a-zA-Z\d_.]+$/.test(e))throw new Error((0,o.t)("error.invalidNamespace.specialCharacter"));if((r+e).length>70)throw new Error((0,o.t)("error.invalidNamespace.tooLong",{length:70}));return!0}(e,r)}function validateUI5Version(e){if(e&&null===n.default.coerce(e))throw new Error((0,o.t)("error.invalidUI5Version",{version:e}));return!0}},65644:function(e,r,a){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.initI18n=initI18n,r.t=function t(e,r){return n.default.t(e,r)};const n=i(a(39718)),o=i(a(55793)),s="ui5-library-writer";async function initI18n(){await n.default.init({resources:{en:{[s]:o.default}},lng:"en",fallbackLng:"en",defaultNS:s,ns:[s]})}initI18n().catch((()=>{}))},93398:function(e,r,a){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.generate=async function generate(e,r,a){const i=(0,c.default)(r);a||(a=(0,s.create)((0,o.create)()));const d=(0,p.mergeWithDefaults)(r);e=(0,n.join)(e,d.libraryNamespace);const m=(0,n.join)(__dirname,"..","templates"),f=[i.typescript?"**/*.js":"**/*.ts"],h=(0,u.getTemplateVersionPath)(i.frameworkVersion);a.copyTpl((0,n.join)(m,"common",h,"**/*.*"),e,d,void 0,{globOptions:{dot:!0,ignore:f},processDestinationPath:e=>e.replace("baselibrary",d.libraryNamespaceURI).replace(/gitignore.tmpl/g,".gitignore").replace(/karma.conf.tmpl/g,"karma.conf.js")}),i.typescript&&await(0,l.enableTypescript)(d,e,m,a);return a};const n=a(16928),o=a(64812),s=a(90718),c=i(a(27381)),l=a(98463),p=a(46523),u=a(38967)},98463:function(e,r,a){var i=this&&this.__createBinding||(Object.create?function(e,r,a,i){void 0===i&&(i=a);var n=Object.getOwnPropertyDescriptor(r,a);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[a]}}),Object.defineProperty(e,i,n)}:function(e,r,a,i){void 0===i&&(i=a),e[i]=r[a]}),n=this&&this.__exportStar||function(e,r){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(r,a)||i(r,e,a)};Object.defineProperty(r,"__esModule",{value:!0}),n(a(48428),r)},48428:(e,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.enableTypescript=async function enableTypescript(e,r,a,c){const l=(0,s.join)(a,"optional","typescript"),p=await(0,n.getFilePaths)(l),u={...e,tsTypes:getTypePackageFor(e.framework,e.frameworkVersion),tsTypesVersion:e.frameworkVersion};p.forEach((e=>{const a=e.replace(l,""),n=(0,s.join)(r,a);if(c.exists(n)){const r=JSON.parse((0,i.render)(c.read(e),u,{})),a=JSON.parse(c.read(n)),s=(0,o.mergeObjects)(a,r);c.writeJSON(n,s)}else c.copyTpl(e,n,u,void 0,{globOptions:{dot:!0}})}));const d=(0,s.join)(r,"ui5.yaml"),m=await o.UI5Config.newInstance(c.read(d));m.updateCustomMiddleware({name:"fiori-tools-appreload",afterMiddleware:"compression",configuration:{path:"src",port:35729,delay:300}}),m.updateCustomMiddleware({name:"ui5-tooling-transpile-middleware",afterMiddleware:"compression",configuration:{debug:!0,transformModulesToUI5:{overridesToOverride:!0},excludePatterns:["/Component-preload.js"]}}),m.addCustomTasks([{name:"ui5-tooling-transpile-task",afterTask:"replaceVersion",configuration:{debug:!0,transformModulesToUI5:{overridesToOverride:!0}}}]),c.write(d,m.toString())};const i=a(29473),n=a(20787),o=a(8231),s=a(16928),c=a(85263);function getTypePackageFor(e,r){const a=(0,c.gte)(r,"1.113.0")?"types":"ts-types-esm";return`@${e.toLowerCase()}/${a}`}},38967:(e,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ui5LtsVersion_1_120=r.ui5LtsVersion_1_71=void 0,r.compareUI5VersionGte=compareUI5VersionGte,r.getTemplateVersionPath=function getTemplateVersionPath(e){let a="";a=compareUI5VersionGte(e,r.ui5LtsVersion_1_120)?r.ui5LtsVersion_1_120:r.ui5LtsVersion_1_71;return a};const i=a(85263);function compareUI5VersionGte(e,r){return""===e||(0,i.gte)(e,r,{loose:!0})}r.ui5LtsVersion_1_71="1.71.0",r.ui5LtsVersion_1_120="1.120.0"},55793:e=>{e.exports=JSON.parse('{"error":{"missingRequiredProperty":"The property: {{ propertyName }} must have a value","useAlphaNumeric":"Please use lowercase alpha numeric characters only for the property {{ propertyName }}","invalidUI5Version":"The specified UI5 version is invalid: {{ version }}","invalidNamespace":{"mustStartWithLetter":"The namespace must start with a letter","endsInPeriod":"The namespace cannot end with a period","isSap":"The namespace cannot be {{ str }}","startsWithNew":"The namespace cannot start with {{ str }}","numAfterPeriod":"A number cannot follow a period in the namespace","specialCharacter":"The namespace can only contain letters, digits, dots, and underscores","tooLong":"The combined length of the application namespace and module name must not exceed {{ length }} characters"}}}')}};