generator-liferay
Version:
Liferay generator
88 lines (81 loc) • 2.05 kB
JavaScript
const fs = require("fs");
module.exports = {
titleCase: function(str) {
return str
.split("_")
.filter(x => x.length > 0)
.map(x => x.charAt(0).toUpperCase() + x.slice(1))
.join(" ");
},
camelCaseToSeparate: function(camelCased) {
const withAddedSpaces = camelCased.replace(/([A-Z])/g, " $1");
return (
withAddedSpaces.substr(0, 1).toUpperCase() + withAddedSpaces.substr(1)
);
},
camelCaseToSnakeCase: function(camelCased) {
const withAddedSpaces = camelCased.replace(/([A-Z])/g, " $1");
return withAddedSpaces
.toLowerCase()
.trim()
.replace(/ /g, "_");
},
packageToSnakeCase: function(packageName) {
return packageName.replace(/\./g, "_");
},
resourceAlreadyExists: function(resource) {
return fs.existsSync(resource);
},
isWorkspace: function(workspaceRoot) {
const settingsGradle = workspaceRoot + "/settings.gradle";
if (!fs.existsSync(settingsGradle)) {
return false;
}
return true;
},
isFolderExists: function(folder) {
if (!fs.existsSync(folder)) {
return false;
}
return true;
},
writeFile: function(path, content) {
try {
fs.writeFileSync(path, content, { force: true });
} catch (err) {
console.error(err);
}
},
createFolders: function(path) {
try {
if (!fs.existsSync(path)) {
fs.mkdirSync(path, { recursive: true });
}
} catch (err) {
console.error(err);
}
},
dotGitIgnore: function(from) {
const to = from.replace("_", ".");
fs.rename(from, to, function(err) {
if (err) console.log(err);
});
},
doRename: function(from, to) {
fs.rename(from, to, function(err) {
if (err) console.log(err);
});
},
getLiferayVersions: function() {
const liferayVersions = [
"dxp-2025.q1.0-lts",
"dxp-2024.q4.7",
"dxp-2024.q3.13",
"dxp-2024.q2.13",
"dxp-2024.q1.13",
"dxp-7.4-u112",
"portal-7.4-ga132"
];
return liferayVersions;
}
};