mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
commit
93b914d4b0
@ -727,6 +727,7 @@
|
|||||||
"nodeHelp": "Node Help",
|
"nodeHelp": "Node Help",
|
||||||
"showHelp": "Show help",
|
"showHelp": "Show help",
|
||||||
"showInOutline": "Show in outline",
|
"showInOutline": "Show in outline",
|
||||||
|
"hideTopics": "Hide topics",
|
||||||
"showTopics": "Show topics",
|
"showTopics": "Show topics",
|
||||||
"noHelp": "No help topic selected",
|
"noHelp": "No help topic selected",
|
||||||
"changeLog": "Change Log"
|
"changeLog": "Change Log"
|
||||||
@ -922,6 +923,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"typedInput": {
|
"typedInput": {
|
||||||
|
"selected": "__count__ selected",
|
||||||
|
"selected_plural": "__count__ selected",
|
||||||
"type": {
|
"type": {
|
||||||
"str": "string",
|
"str": "string",
|
||||||
"num": "number",
|
"num": "number",
|
||||||
|
@ -726,6 +726,7 @@
|
|||||||
"nodeHelp": "Aide sur les noeuds",
|
"nodeHelp": "Aide sur les noeuds",
|
||||||
"showHelp": "Afficher l'aide",
|
"showHelp": "Afficher l'aide",
|
||||||
"showInOutline": "Afficher dans les grandes lignes",
|
"showInOutline": "Afficher dans les grandes lignes",
|
||||||
|
"hideTopics": "Masquer les sujets",
|
||||||
"showTopics": "Afficher les sujets",
|
"showTopics": "Afficher les sujets",
|
||||||
"noHelp": "Aucune rubrique d'aide sélectionnée",
|
"noHelp": "Aucune rubrique d'aide sélectionnée",
|
||||||
"changeLog": "Journal des modifications"
|
"changeLog": "Journal des modifications"
|
||||||
@ -921,6 +922,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"typedInput": {
|
"typedInput": {
|
||||||
|
"selected": "__count__ sélectionnée",
|
||||||
|
"selected_plural": "__count__ sélectionnées",
|
||||||
"type": {
|
"type": {
|
||||||
"str": "chaîne de caractères",
|
"str": "chaîne de caractères",
|
||||||
"num": "nombre",
|
"num": "nombre",
|
||||||
|
@ -727,6 +727,7 @@
|
|||||||
"nodeHelp": "ノードヘルプ",
|
"nodeHelp": "ノードヘルプ",
|
||||||
"showHelp": "ヘルプを表示",
|
"showHelp": "ヘルプを表示",
|
||||||
"showInOutline": "アウトラインに表示",
|
"showInOutline": "アウトラインに表示",
|
||||||
|
"hideTopics": "トピックを非表示",
|
||||||
"showTopics": "トピックを表示",
|
"showTopics": "トピックを表示",
|
||||||
"noHelp": "ヘルプのトピックが未選択",
|
"noHelp": "ヘルプのトピックが未選択",
|
||||||
"changeLog": "更新履歴"
|
"changeLog": "更新履歴"
|
||||||
|
@ -1011,10 +1011,10 @@
|
|||||||
var selected = {};
|
var selected = {};
|
||||||
this.value().split(",").forEach(function(f) {
|
this.value().split(",").forEach(function(f) {
|
||||||
selected[f] = true;
|
selected[f] = true;
|
||||||
})
|
});
|
||||||
menu.find('input[type="checkbox"]').each(function() {
|
menu.find('input[type="checkbox"]').each(function() {
|
||||||
$(this).prop("checked",selected[$(this).data('value')])
|
$(this).prop("checked", selected[$(this).data('value')] || false);
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1105,7 +1105,7 @@
|
|||||||
this.input.trigger('change',[this.propertyType,this.value()]);
|
this.input.trigger('change',[this.propertyType,this.value()]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.optionSelectLabel.text(o.length+" selected");
|
this.optionSelectLabel.text(RED._("typedInput.selected", { count: o.length }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -662,6 +662,7 @@ RED.deploy = (function() {
|
|||||||
// Once deployed, cannot undo back to a clean state
|
// Once deployed, cannot undo back to a clean state
|
||||||
RED.history.markAllDirty();
|
RED.history.markAllDirty();
|
||||||
RED.view.redraw();
|
RED.view.redraw();
|
||||||
|
RED.sidebar.config.refresh();
|
||||||
RED.events.emit("deploy");
|
RED.events.emit("deploy");
|
||||||
}).fail(function (xhr, textStatus, err) {
|
}).fail(function (xhr, textStatus, err) {
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
|
@ -248,6 +248,8 @@ RED.editor = (function() {
|
|||||||
var value = input.val();
|
var value = input.val();
|
||||||
if (defaults[property].hasOwnProperty("format") && defaults[property].format !== "" && input[0].nodeName === "DIV") {
|
if (defaults[property].hasOwnProperty("format") && defaults[property].format !== "" && input[0].nodeName === "DIV") {
|
||||||
value = input.text();
|
value = input.text();
|
||||||
|
} else if (input.attr("type") === "checkbox") {
|
||||||
|
value = input.prop("checked");
|
||||||
}
|
}
|
||||||
var valid = validateNodeProperty(node, defaults, property,value);
|
var valid = validateNodeProperty(node, defaults, property,value);
|
||||||
if (((typeof valid) === "string") || !valid) {
|
if (((typeof valid) === "string") || !valid) {
|
||||||
@ -801,9 +803,16 @@ RED.editor = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var rc = editing_node._def.oneditsave.call(editing_node);
|
const rc = editing_node._def.oneditsave.call(editing_node);
|
||||||
if (rc === true) {
|
if (rc === true) {
|
||||||
editState.changed = true;
|
editState.changed = true;
|
||||||
|
} else if (typeof rc === 'object' && rc !== null ) {
|
||||||
|
if (rc.changed === true) {
|
||||||
|
editState.changed = true
|
||||||
|
}
|
||||||
|
if (Array.isArray(rc.history) && rc.history.length > 0) {
|
||||||
|
editState.history = rc.history
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
console.warn("oneditsave",editing_node.id,editing_node.type,err.toString());
|
console.warn("oneditsave",editing_node.id,editing_node.type,err.toString());
|
||||||
@ -1005,6 +1014,17 @@ RED.editor = (function() {
|
|||||||
dirty: startDirty
|
dirty: startDirty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (editing_node.g) {
|
||||||
|
const group = RED.nodes.group(editing_node.g);
|
||||||
|
// Don't use RED.group.removeFromGroup as that emits
|
||||||
|
// a change event on the node - but we're deleting it
|
||||||
|
const index = group?.nodes.indexOf(editing_node) ?? -1;
|
||||||
|
if (index > -1) {
|
||||||
|
group.nodes.splice(index, 1);
|
||||||
|
RED.group.markDirty(group);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
RED.view.redraw(true);
|
RED.view.redraw(true);
|
||||||
RED.history.push(historyEvent);
|
RED.history.push(historyEvent);
|
||||||
@ -1106,7 +1126,7 @@ RED.editor = (function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var historyEvent = {
|
let historyEvent = {
|
||||||
t:'edit',
|
t:'edit',
|
||||||
node:editing_node,
|
node:editing_node,
|
||||||
changes:editState.changes,
|
changes:editState.changes,
|
||||||
@ -1122,6 +1142,15 @@ RED.editor = (function() {
|
|||||||
instances:subflowInstances
|
instances:subflowInstances
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (editState.history) {
|
||||||
|
historyEvent = {
|
||||||
|
t: 'multi',
|
||||||
|
events: [ historyEvent, ...editState.history ],
|
||||||
|
dirty: wasDirty
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RED.history.push(historyEvent);
|
RED.history.push(historyEvent);
|
||||||
}
|
}
|
||||||
editing_node.dirty = true;
|
editing_node.dirty = true;
|
||||||
|
@ -382,9 +382,11 @@ RED.sidebar.config = (function() {
|
|||||||
refreshConfigNodeList();
|
refreshConfigNodeList();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
RED.popover.tooltip($('#red-ui-sidebar-config-filter-all'), RED._("sidebar.config.showAllConfigNodes"));
|
RED.popover.tooltip($('#red-ui-sidebar-config-filter-all'), RED._("sidebar.config.showAllConfigNodes"));
|
||||||
RED.popover.tooltip($('#red-ui-sidebar-config-filter-unused'), RED._("sidebar.config.showAllUnusedConfigNodes"));
|
RED.popover.tooltip($('#red-ui-sidebar-config-filter-unused'), RED._("sidebar.config.showAllUnusedConfigNodes"));
|
||||||
|
RED.popover.tooltip($('#red-ui-sidebar-config-collapse-all'), RED._("palette.actions.collapse-all"));
|
||||||
|
RED.popover.tooltip($('#red-ui-sidebar-config-expand-all'), RED._("palette.actions.expand-all"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function flashConfigNode(el) {
|
function flashConfigNode(el) {
|
||||||
|
@ -36,7 +36,13 @@ RED.sidebar.help = (function() {
|
|||||||
toolbar = $("<div>", {class:"red-ui-sidebar-header red-ui-info-toolbar"}).appendTo(content);
|
toolbar = $("<div>", {class:"red-ui-sidebar-header red-ui-info-toolbar"}).appendTo(content);
|
||||||
$('<span class="button-group"><a id="red-ui-sidebar-help-show-toc" class="red-ui-button red-ui-button-small selected" href="#"><i class="fa fa-list-ul"></i></a></span>').appendTo(toolbar)
|
$('<span class="button-group"><a id="red-ui-sidebar-help-show-toc" class="red-ui-button red-ui-button-small selected" href="#"><i class="fa fa-list-ul"></i></a></span>').appendTo(toolbar)
|
||||||
var showTOCButton = toolbar.find('#red-ui-sidebar-help-show-toc')
|
var showTOCButton = toolbar.find('#red-ui-sidebar-help-show-toc')
|
||||||
RED.popover.tooltip(showTOCButton,RED._("sidebar.help.showTopics"));
|
RED.popover.tooltip(showTOCButton, function () {
|
||||||
|
if ($(showTOCButton).hasClass('selected')) {
|
||||||
|
return RED._("sidebar.help.hideTopics");
|
||||||
|
} else {
|
||||||
|
return RED._("sidebar.help.showTopics");
|
||||||
|
}
|
||||||
|
});
|
||||||
showTOCButton.on("click",function(e) {
|
showTOCButton.on("click",function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if ($(this).hasClass('selected')) {
|
if ($(this).hasClass('selected')) {
|
||||||
|
@ -1190,6 +1190,7 @@ RED.view = (function() {
|
|||||||
|
|
||||||
if (d3.event.button === 1) {
|
if (d3.event.button === 1) {
|
||||||
// Middle Click pan
|
// Middle Click pan
|
||||||
|
d3.event.preventDefault();
|
||||||
mouse_mode = RED.state.PANNING;
|
mouse_mode = RED.state.PANNING;
|
||||||
mouse_position = [d3.event.pageX,d3.event.pageY]
|
mouse_position = [d3.event.pageX,d3.event.pageY]
|
||||||
scroll_position = [chart.scrollLeft(),chart.scrollTop()];
|
scroll_position = [chart.scrollLeft(),chart.scrollTop()];
|
||||||
|
@ -37,7 +37,6 @@ ul.red-ui-sidebar-node-config-list {
|
|||||||
}
|
}
|
||||||
.red-ui-palette-node {
|
.red-ui-palette-node {
|
||||||
// overflow: hidden;
|
// overflow: hidden;
|
||||||
cursor: default;
|
|
||||||
&.selected {
|
&.selected {
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
box-shadow: 0 0 0 2px var(--red-ui-node-selected-color);
|
box-shadow: 0 0 0 2px var(--red-ui-node-selected-color);
|
||||||
|
@ -194,27 +194,46 @@
|
|||||||
nodeMap[node.links[i]].new = true;
|
nodeMap[node.links[i]].new = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var n;
|
|
||||||
for (var id in nodeMap) {
|
let editHistories = []
|
||||||
|
let n;
|
||||||
|
for (let id in nodeMap) {
|
||||||
if (nodeMap.hasOwnProperty(id)) {
|
if (nodeMap.hasOwnProperty(id)) {
|
||||||
n = RED.nodes.node(id);
|
n = RED.nodes.node(id);
|
||||||
if (n) {
|
if (n) {
|
||||||
|
editHistories.push({
|
||||||
|
t:'edit',
|
||||||
|
node: n,
|
||||||
|
changes: {
|
||||||
|
links: [...n.links]
|
||||||
|
},
|
||||||
|
changed: n.changed
|
||||||
|
})
|
||||||
if (nodeMap[id].old && !nodeMap[id].new) {
|
if (nodeMap[id].old && !nodeMap[id].new) {
|
||||||
// Removed id
|
// Removed id
|
||||||
i = n.links.indexOf(node.id);
|
i = n.links.indexOf(node.id);
|
||||||
if (i > -1) {
|
if (i > -1) {
|
||||||
n.links.splice(i,1);
|
n.links.splice(i,1);
|
||||||
|
n.changed = true
|
||||||
|
n.dirty = true
|
||||||
}
|
}
|
||||||
} else if (!nodeMap[id].old && nodeMap[id].new) {
|
} else if (!nodeMap[id].old && nodeMap[id].new) {
|
||||||
// Added id
|
// Added id
|
||||||
i = n.links.indexOf(id);
|
i = n.links.indexOf(id);
|
||||||
if (i === -1) {
|
if (i === -1) {
|
||||||
n.links.push(node.id);
|
n.links.push(node.id);
|
||||||
|
n.changed = true
|
||||||
|
n.dirty = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (editHistories.length > 0) {
|
||||||
|
return {
|
||||||
|
history: editHistories
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onAdd() {
|
function onAdd() {
|
||||||
@ -254,13 +273,14 @@
|
|||||||
onEditPrepare(this,"link out");
|
onEditPrepare(this,"link out");
|
||||||
},
|
},
|
||||||
oneditsave: function() {
|
oneditsave: function() {
|
||||||
onEditSave(this);
|
const result = onEditSave(this);
|
||||||
// In case the name has changed, ensure any link call nodes on this
|
// In case the name has changed, ensure any link call nodes on this
|
||||||
// tab are redrawn with the updated name
|
// tab are redrawn with the updated name
|
||||||
var localCallNodes = RED.nodes.filterNodes({z:RED.workspaces.active(), type:"link call"});
|
var localCallNodes = RED.nodes.filterNodes({z:RED.workspaces.active(), type:"link call"});
|
||||||
localCallNodes.forEach(function(node) {
|
localCallNodes.forEach(function(node) {
|
||||||
node.dirty = true;
|
node.dirty = true;
|
||||||
});
|
});
|
||||||
|
return result
|
||||||
},
|
},
|
||||||
onadd: onAdd,
|
onadd: onAdd,
|
||||||
oneditresize: resizeNodeList
|
oneditresize: resizeNodeList
|
||||||
@ -329,7 +349,7 @@
|
|||||||
onEditPrepare(this,"link in");
|
onEditPrepare(this,"link in");
|
||||||
},
|
},
|
||||||
oneditsave: function() {
|
oneditsave: function() {
|
||||||
onEditSave(this);
|
return onEditSave(this);
|
||||||
},
|
},
|
||||||
oneditresize: resizeNodeList
|
oneditresize: resizeNodeList
|
||||||
});
|
});
|
||||||
@ -373,7 +393,7 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
oneditsave: function() {
|
oneditsave: function() {
|
||||||
onEditSave(this);
|
return onEditSave(this);
|
||||||
},
|
},
|
||||||
onadd: onAdd,
|
onadd: onAdd,
|
||||||
oneditresize: resizeNodeList
|
oneditresize: resizeNodeList
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
// 4. Edit your settings file to set the theme:
|
// 4. Edit your settings file to set the theme:
|
||||||
// editorTheme: {
|
// editorTheme: {
|
||||||
// page: {
|
// page: {
|
||||||
// css: "/path/to/file/generated/by/this/script"
|
// css: '/path/to/file/generated/by/this/script'
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
@ -22,110 +22,69 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
const os = require("os");
|
const os = require('os');
|
||||||
const nopt = require("nopt");
|
const nopt = require('nopt');
|
||||||
const path = require("path");
|
const path = require('path');
|
||||||
const fs = require("fs-extra");
|
const fs = require('fs-extra');
|
||||||
const sass = require("sass");
|
const sass = require('sass');
|
||||||
|
|
||||||
const knownOpts = {
|
const knownOpts = {
|
||||||
"help": Boolean,
|
'help': Boolean,
|
||||||
"long": Boolean,
|
'long': Boolean,
|
||||||
"in": [path],
|
'in': [path],
|
||||||
"out": [path]
|
'out': [path]
|
||||||
};
|
};
|
||||||
const shortHands = {
|
const shortHands = {
|
||||||
"?":["--help"]
|
'?':['--help']
|
||||||
};
|
};
|
||||||
nopt.invalidHandler = function(k,v,t) {}
|
nopt.invalidHandler = function(k,v,t) {}
|
||||||
|
|
||||||
const parsedArgs = nopt(knownOpts,shortHands,process.argv,2)
|
const parsedArgs = nopt(knownOpts,shortHands,process.argv,2)
|
||||||
|
|
||||||
if (parsedArgs.help) {
|
if (parsedArgs.help) {
|
||||||
console.log("Usage: build-custom-theme [-?] [--in FILE] [--out FILE]");
|
showUsageAndExit(0)
|
||||||
console.log("");
|
|
||||||
console.log("Options:");
|
|
||||||
console.log(" --in FILE Custom colors sass file");
|
|
||||||
console.log(" --out FILE Where you write the result");
|
|
||||||
console.log(" --long Do not compress the output");
|
|
||||||
console.log(" -?, --help Show this help");
|
|
||||||
console.log("");
|
|
||||||
process.exit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!parsedArgs.in) {
|
||||||
const ruleRegex = /(\$.*?) *: *(\S[\S\s]*?);/g;
|
console.warn('Missing argument: in')
|
||||||
var match;
|
showUsageAndExit(1)
|
||||||
|
|
||||||
const customColors = {};
|
|
||||||
|
|
||||||
if (parsedArgs.in && fs.existsSync(parsedArgs.in)) {
|
|
||||||
let customColorsFile = fs.readFileSync(parsedArgs.in,"utf-8");
|
|
||||||
while((match = ruleRegex.exec(customColorsFile)) !== null) {
|
|
||||||
customColors[match[1]] = match[2];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load base colours
|
|
||||||
let colorsFile = fs.readFileSync(path.join(__dirname,"../packages/node_modules/@node-red/editor-client/src/sass/colors.scss"),"utf-8")
|
|
||||||
let updatedColors = [];
|
|
||||||
|
|
||||||
while((match = ruleRegex.exec(colorsFile)) !== null) {
|
|
||||||
updatedColors.push(match[1]+": "+(customColors[match[1]]||match[2])+";")
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
(async function() {
|
(async function() {
|
||||||
const tmpDir = os.tmpdir();
|
const tmpDir = os.tmpdir();
|
||||||
const workingDir = await fs.mkdtemp(`${tmpDir}${path.sep}`);
|
const workingDir = await fs.mkdtemp(`${tmpDir}${path.sep}`);
|
||||||
await fs.copy(path.join(__dirname,"../packages/node_modules/@node-red/editor-client/src/sass/"),workingDir)
|
|
||||||
await fs.writeFile(path.join(workingDir,"colors.scss"),updatedColors.join("\n"))
|
|
||||||
|
|
||||||
const result = sass.renderSync({
|
await fs.copy(path.join(__dirname, '../packages/node_modules/@node-red/editor-client/src/sass/'), workingDir);
|
||||||
outputStyle: "expanded",
|
await fs.copyFile(parsedArgs.in, path.join(workingDir,'colors.scss'));
|
||||||
file: path.join(workingDir,"style-custom-theme.scss"),
|
|
||||||
});
|
|
||||||
|
|
||||||
const css = result.css.toString()
|
const output = sass.compile(
|
||||||
const lines = css.split("\n");
|
path.join(workingDir, 'style-custom-theme.scss'),
|
||||||
const colorCSS = []
|
{style: parsedArgs.long === true ? 'expanded' : 'compressed'}
|
||||||
const nonColorCSS = [];
|
);
|
||||||
|
|
||||||
let inKeyFrameBlock = false;
|
const nrPkg = require('../package.json');
|
||||||
|
|
||||||
lines.forEach(l => {
|
|
||||||
if (inKeyFrameBlock) {
|
|
||||||
nonColorCSS.push(l);
|
|
||||||
if (/^}/.test(l)) {
|
|
||||||
inKeyFrameBlock = false;
|
|
||||||
}
|
|
||||||
} else if (/^@keyframes/.test(l)) {
|
|
||||||
nonColorCSS.push(l);
|
|
||||||
inKeyFrameBlock = true;
|
|
||||||
} else if (!/^ /.test(l)) {
|
|
||||||
colorCSS.push(l);
|
|
||||||
nonColorCSS.push(l);
|
|
||||||
} else if (/color|border|background|fill|stroke|outline|box-shadow/.test(l)) {
|
|
||||||
colorCSS.push(l);
|
|
||||||
} else {
|
|
||||||
nonColorCSS.push(l);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const nrPkg = require("../package.json");
|
|
||||||
const now = new Date().toISOString();
|
const now = new Date().toISOString();
|
||||||
|
const header = `/*\n* Theme generated with Node-RED ${nrPkg.version} on ${now}\n*/`;
|
||||||
|
|
||||||
const header = `/*
|
|
||||||
* Theme generated with Node-RED ${nrPkg.version} on ${now}
|
|
||||||
*/`;
|
|
||||||
|
|
||||||
var output = sass.renderSync({outputStyle: parsedArgs.long?"expanded":"compressed",data:colorCSS.join("\n")});
|
|
||||||
if (parsedArgs.out) {
|
if (parsedArgs.out) {
|
||||||
|
await fs.writeFile(parsedArgs.out, header+'\n'+output.css);
|
||||||
await fs.writeFile(parsedArgs.out,header+"\n"+output.css);
|
|
||||||
} else {
|
} else {
|
||||||
console.log(header);
|
console.log(header);
|
||||||
console.log(output.css.toString());
|
console.log(output.css.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
await fs.remove(workingDir);
|
await fs.remove(workingDir);
|
||||||
})()
|
})()
|
||||||
|
|
||||||
|
function showUsageAndExit (exitCode) {
|
||||||
|
console.log('');
|
||||||
|
console.log('Usage: build-custom-theme [-?] [--in FILE] [--out FILE]');
|
||||||
|
console.log('');
|
||||||
|
console.log('Options:');
|
||||||
|
console.log(' --in FILE Custom colors sass file');
|
||||||
|
console.log(' --out FILE Where you write the result');
|
||||||
|
console.log(' --long Do not compress the output');
|
||||||
|
console.log(' -?, --help Show this help');
|
||||||
|
console.log('');
|
||||||
|
process.exit(exitCode);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user