UNPKG

nakedobjects.spa

Version:

Single Page Application client for a Naked Objects application.

70 lines (53 loc) 2.58 kB
var mv = require('mv'); var replace = require('replace-in-file'); var find = require('find-in-files'); var pathExists = require('path-exists'); const fErr = function (err) { if (err) console.error('Error occurred:', err); }; const opts = { clobber: false, mkdirp: false } function copyAndReplace(name, path) { var fromName = `./${path}/app/${name}/${name}.component.alt.css`; var tempName = `./${path}/app/${name}/${name}.component.temp.css`; var toName = `./${path}/app/${name}/${name}.component.css`; const mv3 = () => mv(tempName, fromName, opts, fErr); const mv2 = () => mv(fromName, toName, opts, mv3); const mv1 = () => mv(toName, tempName, opts, mv2); mv1(); } function copyAndReplaceAll(names) { for (name of names) { const lname = name; pathExists("./node_modules/nakedobjects.spa").then(exists => { const path = exists ? "node_modules/nakedobjects.spa/lib" : "src"; copyAndReplace(lname, path); }); } } let names = ["action", "action-bar", "action-list", "application-properties", "attachment", "attachment-property", "auto-complete", "auto-complete-facade", "cicero", "collection", "collections", "date-picker", "date-picker-facade","dialog", "dynamic-error", "dynamic-list", "dynamic-object", "edit-parameter", "edit-property", "error", "footer", "header", "home", "list", "login", "logoff", "menu-bar", "multi-line-dialog", "object", "object-not-found-error", "parameters", "properties", "recent", "row", "time-picker", "time-picker-facade", "view-parameter", "view-property"] copyAndReplaceAll(names); const ms3 = () => mv("./src/styles.temp.css", "./src/styles.alt.css", opts, fErr); const ms2 = () => mv("./src/styles.alt.css", "./src/styles.css", opts, ms3); const ms1 = () => mv("./src/styles.css", "./src/styles.temp.css", opts, ms2); ms1(); find.findSync("name", ".", "package.json").then(s => { try { var nameLine = s["package.json"].line[0]; var nameSplit = nameLine.split('"'); var name = nameSplit[3]; var newName = name.indexOf("alt") >= 0 ? "nakedobjects.spa" : "nakedobjects.alt.spa"; var regex = new RegExp(name, "g"); var options = { files: ["package.json"], from: regex, to: newName }; replace.sync(options); } catch (e) { console.error('Error occurred updating name:', e); } });