UNPKG

@sap/generator-fiori

Version:

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

1 lines 6.67 kB
"use strict";exports.id=7947,exports.ids=[7947],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(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 o=i(a(85263)),n=a(65644);function validateLibName(e){if(!e)throw new Error((0,n.t)("error.missingRequiredProperty",{propertyName:"libraryName"}));if(!/^[a-z][a-z0-9]*$/g.test(e))throw new Error((0,n.t)("error.useAlphaNumeric",{propertyName:"libraryName"}));return!0}function validateNamespace(e,r){if(!e)throw new Error((0,n.t)("error.missingRequiredProperty",{propertyName:"namespace"}));return function validateNamespacePattern(e,r){if(!/^[a-zA-Z]/.test(e))throw new Error((0,n.t)("error.invalidNamespace.mustStartWithLetter"));if(e.endsWith("."))throw new Error((0,n.t)("error.invalidNamespace.mustEndInPeriod"));if("SAP"===e.toUpperCase())throw new Error((0,n.t)("error.invalidNamespace.cannotBeSap",{str:e}));if(e.toLowerCase().startsWith("new"))throw new Error((0,n.t)("error.invalidNamespace.cannotStartWithNew",{str:e.substring(0,3)}));if(/\.\d/.test(e))throw new Error((0,n.t)("error.invalidNamespace.numAfterPeriod"));if(!/^[a-zA-Z\d_.]+$/.test(e))throw new Error((0,n.t)("error.invalidNamespace.specialCharacter"));if((r+e).length>70)throw new Error((0,n.t)("error.invalidNamespace.tooLong",{length:70}));return!0}(e,r)}function validateUI5Version(e){if(e&&null===o.default.coerce(e))throw new Error((0,n.t)("error.invalidUI5Version",{version:e}));return!0}},65644(e,r,a){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.i18n=void 0,r.initI18n=initI18n,r.t=function t(e,a){return r.i18n.t(e,a)};const o=i(a(68801)),n=i(a(55793)),s="ui5-library-writer";async function initI18n(){await r.i18n.init({resources:{en:{[s]:n.default}},lng:"en",fallbackLng:"en",defaultNS:s,ns:[s],showSupportNotice:!1})}r.i18n=o.default.createInstance(),initI18n().catch(()=>{})},93398(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,n.create)()));const d=(0,p.mergeWithDefaults)(r);e=(0,o.join)(e,d.libraryNamespace);const m=(0,o.join)(__dirname,"..","templates"),f=[i.typescript?"**/*.js":"**/*.ts"],h=(0,u.getTemplateVersionPath)(i.frameworkVersion);a.copyTpl((0,o.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 o=a(76760),n=a(64812),s=a(90718),c=i(a(27381)),l=a(98463),p=a(46523),u=a(38967)},98463(e,r,a){var i=this&&this.__createBinding||(Object.create?function(e,r,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(r,a);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[a]}}),Object.defineProperty(e,i,o)}:function(e,r,a,i){void 0===i&&(i=a),e[i]=r[a]}),o=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}),o(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,o.getFilePaths)(l),u={...e,tsTypes:getTypePackageFor(e.framework,e.frameworkVersion),tsTypesVersion:e.frameworkVersion};p.forEach(e=>{const a=e.replace(l,""),o=(0,s.join)(r,a);if(c.exists(o)){const r=JSON.parse((0,i.render)(c.read(e),u,{})),a=JSON.parse(c.read(o)),s=(0,n.mergeObjects)(a,r);c.writeJSON(o,s)}else c.copyTpl(e,o,u,void 0,{globOptions:{dot:!0}})});const d=(0,s.join)(r,"ui5.yaml"),m=await n.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),o=a(20787),n=a(8231),s=a(76760),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":"Only use lowercase alphanumeric characters for the property: {{ propertyName }}.","invalidUI5Version":"The specified SAPUI5 version is invalid: {{ version }}. Choose a valid SAPUI5 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 must only contain letters, digits, dots, and underscores.","tooLong":"The combined length of the application namespace and module name must not exceed {{ length }} characters."}}}')}};