From 8dd67adec047640136a8dad72399b20bb10a64a8 Mon Sep 17 00:00:00 2001 From: Hiroshi Matoba Date: Sat, 14 Sep 2019 14:42:03 +0200 Subject: [PATCH 01/14] use let & const instead of var --- frontend/app.js | 292 ++++++++++++++++++++++++---------------------- frontend/index.js | 193 +++++++++++++++--------------- 2 files changed, 247 insertions(+), 238 deletions(-) diff --git a/frontend/app.js b/frontend/app.js index 4d46b976..015f0d89 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -2,15 +2,15 @@ // instead of ipc, maybe? // https://github.com/atom/electron/blob/master/docs/api/remote.md -var ipc = require('ipc'); -var path = require('path'); -var fs = require('fs'); +const ipc = require('ipc'); +const path = require('path'); +const fs = require('fs'); -var platforms; -var templates; +let platforms; +let templates; -// var platforms = { +// let platforms = { // "osx": "OS X (Xcode)", // "vs": "Windows (Visual Studio)", // "ios": "iOS (Xcode)", @@ -20,13 +20,13 @@ var templates; // "linuxarmv7l": "Linux ARMv7 (Makefiles)" // }; -var defaultSettings; -var addonsInstalled; -var currentPath; -var isOfPathGood = false; -var isFirstTimeSierra = false; -var bVerbose = false; -var localAddons = []; +let defaultSettings; +let addonsInstalled; +let currentPath; +let isOfPathGood = false; +let isFirstTimeSierra = false; +let bVerbose = false; +let localAddons = []; @@ -45,7 +45,7 @@ ipc.on('cwd', function(arg) { }); ipc.on('setUpdatePath', function(arg) { - var elem = document.getElementById("updateMultiplePath"); + let elem = document.getElementById("updateMultiplePath"); elem.value = arg; $("#updateMultiplePath").change(); @@ -111,12 +111,12 @@ ipc.on('setAddons', function(arg) { addonsInstalled = arg; - var select = document.getElementById("addonsList"); + let select = document.getElementById("addonsList"); select.innerHTML = ""; if (arg !== null && arg.length > 0) { // add: - for (var i = 0; i < arg.length; i++) { + for (let i = 0; i < arg.length; i++) { $('
', { "class": 'item', @@ -164,44 +164,48 @@ ipc.on('setPlatforms', function(arg) { platforms = arg; + { + let select = document.getElementById("platformList"); + let option, i; + for (let i in platforms) { + let myClass = 'platform'; - var select = document.getElementById("platformList"); - var option, i; - for (var i in platforms) { - var myClass = 'platform'; - - $('
', { - "class": 'item', - "data-value": i - }).html(platforms[i]).appendTo(select); - } + $('
', { + "class": 'item', + "data-value": i + }).html(platforms[i]).appendTo(select); + } - // start the platform drop down. - $('#platformsDropdown').dropdown({ + // start the platform drop down. + $('#platformsDropdown').dropdown({ allowAdditions: false }); - // set the platform to default - $('#platformsDropdown').dropdown('set exactly', defaultSettings['defaultPlatform']); + // set the platform to default + $('#platformsDropdown').dropdown('set exactly', defaultSettings['defaultPlatform']); + } - var select = document.getElementById("platformListMulti"); - var option, i; - for (var i in platforms) { - var myClass = 'platform'; + { + let select = document.getElementById("platformListMulti"); + let option, i; + for (let i in platforms) { + let myClass = 'platform'; - $('
', { - "class": 'item', - "data-value": i - }).html(platforms[i]).appendTo(select); } + $('
', { + "class": 'item', + "data-value": i + }).html(platforms[i]).appendTo(select); + } - // start the platform drop down. - $('#platformsDropdownMulti') - .dropdown({ - allowAdditions: false - }); + // start the platform drop down. + $('#platformsDropdownMulti') + .dropdown({ + allowAdditions: false + }); - // // set the platform to default - $('#platformsDropdownMulti').dropdown('set exactly', defaultSettings['defaultPlatform']); + // // set the platform to default + $('#platformsDropdownMulti').dropdown('set exactly', defaultSettings['defaultPlatform']); + } }); @@ -212,53 +216,57 @@ ipc.on('setTemplates', function(arg) { templates = arg; - var select = document.getElementById("templateList"); - var option, i; - for (var i in templates) { - console.log(i); - var myClass = 'template'; + { + let select = document.getElementById("templateList"); + let option, i; + for (let i in templates) { + console.log(i); + let myClass = 'template'; - $('
', { - "class": 'item', - "data-value": i - }).html(templates[i]).appendTo(select); - } + $('
', { + "class": 'item', + "data-value": i + }).html(templates[i]).appendTo(select); + } - console.log(select); + console.log(select); - // start the template drop down. - $('#templatesDropdown') - .dropdown({ - allowAdditions: false, - fullTextSearch: 'exact', - match: "text", - maxSelections: 1 - }); + // start the template drop down. + $('#templatesDropdown') + .dropdown({ + allowAdditions: false, + fullTextSearch: 'exact', + match: "text", + maxSelections: 1 + }); - // // set the template to default - //$('#templatesDropdown').dropdown('set exactly', defaultSettings['defaultTemplate']); + // // set the template to default + //$('#templatesDropdown').dropdown('set exactly', defaultSettings['defaultTemplate']); + } - // Multi - var select = document.getElementById("templateListMulti"); - var option, i; - for (var i in templates) { - var myClass = 'template'; + { + // Multi + let select = document.getElementById("templateListMulti"); + let option, i; + for (let i in templates) { + let myClass = 'template'; - $('
', { - "class": 'item', - "data-value": i - }).html(templates[i]).appendTo(select); - } + $('
', { + "class": 'item', + "data-value": i + }).html(templates[i]).appendTo(select); + } - // start the platform drop down. - $('#templatesDropdownMulti') - .dropdown({ - allowAdditions: false, - maxSelections: 1 - }); + // start the platform drop down. + $('#templatesDropdownMulti') + .dropdown({ + allowAdditions: false, + maxSelections: 1 + }); - // // set the template to default - //$('#templatesDropdownMulti').dropdown('set exactly', defaultSettings['defaultTemplate']); + // // set the template to default + //$('#templatesDropdownMulti').dropdown('set exactly', defaultSettings['defaultTemplate']); + } }); @@ -290,18 +298,18 @@ ipc.on('selectAddons', function(arg) { // todo : DEAL WITH LOCAL ADDONS HERE.... - var addonsAlreadyPicked = $("#addonsDropdown").val().split(','); + let addonsAlreadyPicked = $("#addonsDropdown").val().split(','); console.log(addonsAlreadyPicked); console.log(arg); console.log(addonsInstalled); - var neededAddons = []; + let neededAddons = []; localAddons = []; //haystack.indexOf(needle) >= 0 - for (var i = 0; i < arg.length; i++) { + for (let i = 0; i < arg.length; i++) { arg[i] = arg[i].trim(); // first, check if it's already picked, then do nothing if (addonsAlreadyPicked.indexOf(arg[i]) >= 0){ @@ -313,7 +321,7 @@ ipc.on('selectAddons', function(arg) { $('#addonsDropdown').dropdown('set selected', arg[i]); } else { - var neededAddonPathRel = path.join($("#projectPath").val(), $("#projectName").val(), arg[i]); + let neededAddonPathRel = path.join($("#projectPath").val(), $("#projectName").val(), arg[i]); console.log(neededAddonPathRel); if (fs.existsSync(neededAddonPathRel) || fs.existsSync(neededAddons[i])){ @@ -414,7 +422,7 @@ ipc.on('setRandomisedSketchName', function(newName) { //---------------------------------------- function setOFPath(arg) { // get the element: - var elem = document.getElementById("ofPath"); + let elem = document.getElementById("ofPath"); if (!path.isAbsolute(arg)) { @@ -426,7 +434,7 @@ function setOFPath(arg) { // else check settings for how we want this path.... make relative if we need to: if (defaultSettings['useRelativePath'] === true) { - var relativePath = path.normalize(path.relative(path.resolve(__dirname), arg)) + "/"; + let relativePath = path.normalize(path.relative(path.resolve(__dirname), arg)) + "/"; elem.value = relativePath; } else { elem.value = arg; @@ -462,16 +470,16 @@ function setup() { try{ - var os = require('os'); + let os = require('os'); - var os_release = os.release(); - var os_major_pos = os_release.indexOf("."); - var os_major = os_release.slice(0, os_major_pos); + let os_release = os.release(); + let os_major_pos = os_release.indexOf("."); + let os_major = os_release.slice(0, os_major_pos); - var isSierra = (os.platform() === 'darwin' && Number(os_major)>=16); + let isSierra = (os.platform() === 'darwin' && Number(os_major)>=16); if(isSierra){ - var ofpath = document.getElementById("ofPath").value; - var runningOnVar = false + let ofpath = document.getElementById("ofPath").value; + let runningOnVar = false try{ runningOnVar = (ofpath.length >= 8 && ofpath.substring(0,8)==='/private'); }catch(e){} @@ -535,7 +543,7 @@ function setup() { // bind external URLs (load it in default browser; not within Electron) $('*[data-toggle="external_target"]').click(function (e) { e.preventDefault(); - var shell = require('shell'); + let shell = require('shell'); shell.openExternal( $(this).prop('href') ); }); @@ -551,11 +559,11 @@ function setup() { $("#projectName").on('change', function () { if( $(this).is(":focus")===true ){ return; } - var project = {}; + let project = {}; // fix "non alpha numeric characters here" as we did in the old PG - var currentStr = $("#projectName").val() - var stripped = currentStr.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_'); + let currentStr = $("#projectName").val() + let stripped = currentStr.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_'); $("#projectName").val(stripped) project['projectName'] = $("#projectName").val(); @@ -605,12 +613,12 @@ function setup() { $("#ofPath").on("change", function(){ - var ofpath = $("#ofPath").val(); + let ofpath = $("#ofPath").val(); defaultSettings['defaultOfPath'] = ofpath; console.log("ofPath val " + ofpath); if(isFirstTimeSierra){ - //var sys = require('sys') - var exec = require('child_process').exec; + // let sys = require('sys') + let exec = require('child_process').exec; function puts(error, stdout, stderr) { console.log(stdout + " " + stderr) } exec("xattr -d com.apple.quarantine " + ofpath + "/projectGenerator-osx/projectGenerator.app", puts); $("#projectPath").val(ofpath + "/apps/myApps").trigger('change'); @@ -636,11 +644,11 @@ function setup() { // updates ofPath when the field is manually changed $("#ofPath").on('blur', function(e){ - var ofpath = $(this).val(); + let ofpath = $(this).val(); setOFPath(ofpath); if(isFirstTimeSierra){ - //var sys = require('sys') - var exec = require('child_process').exec; + // let sys = require('sys') + let exec = require('child_process').exec; function puts(error, stdout, stderr) { console.log(stdout + " " + stderr) } exec("xattr -d com.apple.quarantine " + ofpath + "/projectGenerator-osx/projectGenerator.app", puts); $("#projectPath").val(ofpath + "/apps/myApps").trigger('change'); @@ -771,14 +779,14 @@ function blockDragEvent(e){ function acceptDraggedFiles( e ){ // handle file - var files = e.originalEvent.dataTransfer.files; - var types = e.originalEvent.dataTransfer.types; + let files = e.originalEvent.dataTransfer.files; + let types = e.originalEvent.dataTransfer.types; // this first check filters out most files if(files && files.length == 1 && files[0].type==="" && types[0]=="Files"){ // this folder check is more relayable - var file = e.originalEvent.dataTransfer.items[0].webkitGetAsEntry(); + let file = e.originalEvent.dataTransfer.items[0].webkitGetAsEntry(); if( file.isDirectory ){ return true; } @@ -819,11 +827,11 @@ function onDropFile( e ){ $("updateMenuButton").triggerHandler('click'); } else { - var files = e.originalEvent.dataTransfer.files; + let files = e.originalEvent.dataTransfer.files; // import single project folder $("#projectName").val( files[0].name ); - var projectFullPath = files[0].path; - var projectParentPath = path.normalize(projectFullPath+'/..'); + let projectFullPath = files[0].path; + let projectParentPath = path.normalize(projectFullPath+'/..'); $("#projectPath").val( projectParentPath ).triggerHandler('change'); $("createMenuButon").triggerHandler('click'); @@ -881,7 +889,7 @@ function openDragInputModal(e){ //---------------------------------------- function saveDefaultSettings() { - var fs = require('fs'); + let fs = require('fs'); fs.writeFile(path.resolve(__dirname, 'settings.json'), JSON.stringify(defaultSettings, null, '\t'), function(err) { if (err) { console.log("Unable to save defaultSettings to settings.json... (Error=" + err.code + ")"); @@ -894,29 +902,29 @@ function saveDefaultSettings() { //---------------------------------------- function generate() { // let's get all the info: - var platformValueArray = getPlatformList(); + let platformValueArray = getPlatformList(); - var templatePicked = $("#templatesDropdown .active"); - var templateValueArray = []; - for (var i = 0; i < templatePicked.length; i++){ + let templatePicked = $("#templatesDropdown .active"); + let templateValueArray = []; + for (let i = 0; i < templatePicked.length; i++){ templateValueArray.push($(templatePicked[i]).attr("data-value")); } - var addonsPicked = $("#addonsDropdown .active"); - var addonValueArray = []; + let addonsPicked = $("#addonsDropdown .active"); + let addonValueArray = []; - for (var i = 0; i < addonsPicked.length; i++){ + for (let i = 0; i < addonsPicked.length; i++){ addonValueArray.push($(addonsPicked[i]).attr("data-value")); } // add any local addons - for (var i = 0; i < localAddons.length; i++){ + for (let i = 0; i < localAddons.length; i++){ addonValueArray.push(localAddons[i]); } - var lengthOfPlatforms = platformValueArray.length; + let lengthOfPlatforms = platformValueArray.length; - var gen = {}; + let gen = {}; gen['projectName'] = $("#projectName").val(); gen['projectPath'] = $("#projectPath").val(); @@ -950,19 +958,19 @@ function updateRecursive() { - var platformsPicked = $("#platformsDropdownMulti .active"); - var platformValueArray = []; - for (var i = 0; i < platformsPicked.length; i++){ + let platformsPicked = $("#platformsDropdownMulti .active"); + let platformValueArray = []; + for (let i = 0; i < platformsPicked.length; i++){ platformValueArray.push($(platformsPicked[i]).attr("data-value")); } - var templatePicked = $("#templatesDropdownMulti .active"); - var templateValueArray = []; - for (var i = 0; i < templatePicked.length; i++){ + let templatePicked = $("#templatesDropdownMulti .active"); + let templateValueArray = []; + for (let i = 0; i < templatePicked.length; i++){ templateValueArray.push($(templatePicked[i]).attr("data-value")); } - var gen = {}; + let gen = {}; gen['updatePath'] = $("#updateMultiplePath").val(); gen['platformList'] = platformValueArray; gen['templateList'] = templateValueArray; @@ -1070,9 +1078,9 @@ function enableConsole( showConsole ){ //---------------------------------------- function getPlatformList() { - var platformsPicked = $("#platformsDropdown .active"); - var platformValueArray = []; - for (var i = 0; i < platformsPicked.length; i++){ + let platformsPicked = $("#platformsDropdown .active"); + let platformValueArray = []; + for (let i = 0; i < platformsPicked.length; i++){ platformValueArray.push($(platformsPicked[i]).attr("data-value")); } return platformValueArray; @@ -1082,7 +1090,7 @@ function getPlatformList() { function displayModal(message) { $("#uiModal .content").html(message).find('*[data-toggle="external_target"]').click(function (e) { e.preventDefault(); - var shell = require('shell'); + let shell = require('shell'); shell.openExternal( $(this).prop("href") ); }); @@ -1115,7 +1123,7 @@ function browseOfPath() { function browseProjectPath() { - var path = $("#projectPath").val(); + let path = $("#projectPath").val(); if (path === ''){ path = $("#ofPath").val(); } @@ -1123,7 +1131,7 @@ function browseProjectPath() { } function browseImportProject() { - var path = $("#projectPath").val(); + let path = $("#projectPath").val(); if (path === ''){ path = $("#ofPath").val(); } @@ -1132,7 +1140,7 @@ function browseImportProject() { function getUpdatePath() { - var path = $("#updateMultiplePath").val(); + let path = $("#updateMultiplePath").val(); if (path === ''){ path = $("#ofPath").val(); } @@ -1142,14 +1150,14 @@ function getUpdatePath() { function rescanAddons() { ipc.send('refreshAddonList', $("#ofPath").val()); - var projectInfo = {}; + let projectInfo = {}; projectInfo['projectName'] = $("#projectName").val(); projectInfo['projectPath'] = $("#projectPath").val(); ipc.send('isOFProjectFolder', projectInfo); // <- this forces addon reload } function getRandomSketchName(){ - var path = $("#projectPath").val(); + let path = $("#projectPath").val(); if (path === ''){ $("#projectPath").oneTimeTooltip('Please specify a path first...'); } @@ -1159,9 +1167,9 @@ function getRandomSketchName(){ } function launchInIDE(){ - var platform = getPlatformList()[0]; + let platform = getPlatformList()[0]; - var project = {}; + let project = {}; project['projectName'] = $("#projectName").val(); project['projectPath'] = $("#projectPath").val(); project['platform'] = platform; diff --git a/frontend/index.js b/frontend/index.js index 3b282906..eb575f98 100644 --- a/frontend/index.js +++ b/frontend/index.js @@ -1,16 +1,16 @@ "use strict"; -var app = require('app'); // Module to control application life. -var BrowserWindow = require('browser-window'); // Module to create native browser window. -var dialog = require('dialog'); -var ipc = require('ipc'); -var fs = require('fs'); -var path = require('path'); -var menu = require('menu'); -var moniker = require('moniker'); -var process = require('process'); -var os = require("os"); -var exec = require('child_process').exec; +const app = require('app'); // Module to control application life. +const BrowserWindow = require('browser-window'); // Module to create native browser window. +const dialog = require('dialog'); +const ipc = require('ipc'); +const fs = require('fs'); +let path = require('path'); +const menu = require('menu'); +const moniker = require('moniker'); +const process = require('process'); +const os = require("os"); +const exec = require('child_process').exec; // Debugging: start the Electron PG from the terminal to see the messages from console.log() @@ -20,18 +20,18 @@ var exec = require('child_process').exec; //--------------------------------------------------------- load settings -var obj; +let obj; try { - var settings = fs.readFileSync(path.resolve(__dirname, 'settings.json')); + let settings = fs.readFileSync(path.resolve(__dirname, 'settings.json')); obj = JSON.parse(settings, 'utf8'); console.log(obj); } catch (e) { // automatic platform detection - var os = require("os"); - var myPlatform = "Unknown"; + // let os = require("os"); + let myPlatform = "Unknown"; if (/^win/.test(process.platform)) { myPlatform = 'vs'; } @@ -64,7 +64,7 @@ try { }; } -var hostplatform = ""; +let hostplatform = ""; if (/^win/.test(process.platform)) { hostplatform = 'windows'; } else if (process.platform === "darwin") { @@ -75,12 +75,12 @@ if (/^win/.test(process.platform)) { console.log("detected platform: " + hostplatform + " in " + __dirname); -var defaultOfPath = obj["defaultOfPath"]; -var addons; +let defaultOfPath = obj["defaultOfPath"]; +let addons; // hide some addons, per https://github.com/openframeworks/projectGenerator/issues/62 -var addonsToSkip = [ +let addonsToSkip = [ "ofxiOS", "ofxMultiTouch", "ofxEmscripten", @@ -88,7 +88,7 @@ var addonsToSkip = [ "ofxAndroid" ] -var platforms = { +let platforms = { "osx": "OS X (Xcode)", "vs": "Windows (Visual Studio 2017)", "ios": "iOS (Xcode)", @@ -97,9 +97,10 @@ var platforms = { "linuxarmv6l": "Linux ARMv6 (Makefiles)", "linuxarmv7l": "Linux ARMv7 (Makefiles)" }; -var bUseMoniker = obj["useDictionaryNameGenerator"]; -var templates = { +let bUseMoniker = obj["useDictionaryNameGenerator"]; + +let templates = { "emscripten": "Emscripten", "gitignore": "Git Ignore", "gles2": "Open GL ES 2", @@ -140,7 +141,7 @@ if (!path.isAbsolute(defaultOfPath)) { } // now, let's look for a folder called mySketch, and keep counting until we find one that doesn't exist -var startingProject = {}; +let startingProject = {}; startingProject['name'] = ""; startingProject['path'] = ""; getStartingProjectName(); @@ -152,7 +153,7 @@ require('crash-reporter').start(); //--------------------------------------------------------- // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is GCed. -var mainWindow = null; +let mainWindow = null; // Quit when all windows are closed. app.on('window-all-closed', function() { @@ -167,11 +168,11 @@ app.on('window-all-closed', function() { function formatDate(d){ //get the month - var month = d.getMonth(); + let month = d.getMonth(); //get the day - var day = d.getDate(); + let day = d.getDate(); //get the year - var year = d.getFullYear(); + let year = d.getFullYear(); //pull the last two digits of the year year = year.toString().substr(2,2); //increment month by 1 since it is 0 indexed @@ -195,7 +196,7 @@ function formatDate(d){ // wraps over to bb no aa, why? function toLetters(num) { - var mod = num % 26, + let mod = num % 26, pow = num / 26 | 0, out = mod ? String.fromCharCode(96 + (num % 26)) : (--pow, 'z'); return pow ? toLetters(pow) + out : out; @@ -252,7 +253,7 @@ app.on('ready', function() { // when you should delete the corresponding element. }); - var menuTmpl = [{ + let menuTmpl = [{ label: 'Atom Shell', submenu: [{ label: 'Quit', @@ -306,16 +307,16 @@ app.on('ready', function() { selector: 'selectAll:' }, ] }]; - var menuV = menu.buildFromTemplate(menuTmpl); + let menuV = menu.buildFromTemplate(menuTmpl); menu.setApplicationMenu(menuV); }); function getStartingProjectName() { - var defaultPathForProjects = path.join(obj["defaultOfPath"], obj["defaultRelativeProjectPath"]); - var foundOne = false; - var goodName = getGoodSketchName(defaultPathForProjects); + let defaultPathForProjects = path.join(obj["defaultOfPath"], obj["defaultRelativeProjectPath"]); + let foundOne = false; + let goodName = getGoodSketchName(defaultPathForProjects); startingProject['path'] = defaultPathForProjects; startingProject['name'] = goodName; } @@ -339,19 +340,19 @@ function parseAddonsAndUpdateSelect(arg) { } function parsePlatformsAndUpdateSelect(arg) { - var folders = getDirectories(arg + "/scripts/templates"); + let folders = getDirectories(arg + "/scripts/templates"); console.log("Reloading the templates folder, these were found:"); console.log(folders); - var platformsWeHave = {}; - var templatesWeHave = {}; + let platformsWeHave = {}; + let templatesWeHave = {}; if (folders === undefined || folders === null) { //do something } else { // check all folder name under /scripts/templates - for (var id in folders) { - var key = folders[id]; + for (let id in folders) { + let key = folders[id]; if (platforms[key]) { // this folder is for platform console.log("Found platform, key " + key + " has value " + platforms[key]); @@ -371,7 +372,7 @@ function parsePlatformsAndUpdateSelect(arg) { } } // saninty check... - // for(var key in platformsWeHave){ + // for(let key in platformsWeHave){ // console.log("key " + key + " has value " + platformsWeHave[key]); // } mainWindow.webContents.send('setPlatforms', platformsWeHave); @@ -382,21 +383,21 @@ function parsePlatformsAndUpdateSelect(arg) { function getGoodSketchName(arg){ - var currentProjectPath = arg; - var foundOne = false; - var goodName = "mySketch"; + let currentProjectPath = arg; + let foundOne = false; + let goodName = "mySketch"; if (bUseMoniker){ - var projectNames = new moniker.Dictionary(); - var tmpPath = require('path'); + let projectNames = new moniker.Dictionary(); + let tmpPath = require('path'); projectNames.read( tmpPath.join(__dirname, 'static', 'data', 'sketchAdjectives.txt')); goodName = "mySketch"; while (foundOne === false) { if (fs.existsSync(tmpPath.join(currentProjectPath, goodName))) { console.log("«" + goodName + "» already exists, generating a new name..."); - var adjective = projectNames.choose(); + let adjective = projectNames.choose(); goodName = "my" + adjective.charAt(0).toUpperCase() + adjective.slice(1) + "Sketch"; } else { foundOne = true; @@ -405,10 +406,10 @@ function getGoodSketchName(arg){ } else { - var date = new Date(); - var formattedDate = formatDate(date); + let date = new Date(); + let formattedDate = formatDate(date); goodName = "sketch_" + formattedDate; - var count = 1; + let count = 1; while (foundOne === false) { if (fs.existsSync(path.join(currentProjectPath, goodName))) { @@ -433,8 +434,8 @@ function getDirectories(srcpath, acceptedPrefix) { // that's why I am making temp ones here. // console.log(path); - var fsTemp = require('fs'); - var pathTemp = require('path'); + const fsTemp = require('fs'); + const pathTemp = require('path'); try { @@ -443,7 +444,7 @@ function getDirectories(srcpath, acceptedPrefix) { //console.log(srcpath); //console.log(file); try{ - var joinedPath = pathTemp.join(srcpath, file); + let joinedPath = pathTemp.join(srcpath, file); if ((acceptedPrefix==null || file.substring(0,acceptedPrefix.length)==acceptedPrefix) && joinedPath !== null) { // only accept folders (potential addons) return fsTemp.statSync(joinedPath).isDirectory(); @@ -468,7 +469,7 @@ function getDirectories(srcpath, acceptedPrefix) { // console.error(err); // return cb([]); // } -// var iterator = function (file, cb) { +// let iterator = function (file, cb) { // fs.stat(path.join(srcpath, file), function (err, stats) { // if(err) { // console.error(err); @@ -482,21 +483,21 @@ function getDirectories(srcpath, acceptedPrefix) { // } ipc.on('isOFProjectFolder', function(event, project) { - var fsTemp = require('fs'); - var pathTemp = require('path'); - var folder; + const fsTemp = require('fs'); + const pathTemp = require('path'); + let folder; folder = pathTemp.join(project['projectPath'], project['projectName']); try { - var tmpFiles = fsTemp.readdirSync(folder); + let tmpFiles = fsTemp.readdirSync(folder); if (!tmpFiles || tmpFiles.length <= 1) { return false; } // we need at least 2 files/folders within // todo: also check for config.make & addons.make ? - var foundSrcFolder = false; - var foundAddons = false; + let foundSrcFolder = false; + let foundAddons = false; tmpFiles.forEach(function(el, i) { if (el == 'src') { foundSrcFolder = true; @@ -510,7 +511,7 @@ ipc.on('isOFProjectFolder', function(event, project) { event.sender.send('setGenerateMode', 'updateMode'); if (foundAddons) { - var projectAddons = fsTemp.readFileSync(pathTemp.resolve(folder, 'addons.make')).toString().split("\n"); + let projectAddons = fsTemp.readFileSync(pathTemp.resolve(folder, 'addons.make')).toString().split("\n"); projectAddons = projectAddons.filter(function(el) { if (el === '' || el === 'addons') { @@ -633,25 +634,25 @@ ipc.on('refreshTemplateList', function (event, arg) { }); ipc.on('getRandomSketchName', function(event, arg) { - var goodName = getGoodSketchName(arg); + let goodName = getGoodSketchName(arg); event.sender.send('setRandomisedSketchName', goodName); event.sender.send('setGenerateMode', 'createMode'); // it's a new sketch name, we are in create mode }); ipc.on('update', function(event, arg) { - var update = arg; - var exec = require('child_process').exec; - var pathTemp = require('path'); + let update = arg; + let exec = require('child_process').exec; + let pathTemp = require('path'); console.log(update); - var updatePath = ""; - var pathString = ""; - var platformString = ""; - var templateString = ""; - var recursiveString = ""; - var verboseString = ""; + let updatePath = ""; + let pathString = ""; + let platformString = ""; + let templateString = ""; + let recursiveString = ""; + let verboseString = ""; if (update['updatePath'] !== null) { updatePath = update['updatePath']; @@ -678,7 +679,7 @@ ipc.on('update', function(event, arg) { verboseString = "-v"; } - var pgApp = pathTemp.normalize(pathTemp.join(pathTemp.join(__dirname, "app"), "projectGenerator")); + let pgApp = pathTemp.normalize(pathTemp.join(pathTemp.join(__dirname, "app"), "projectGenerator")); if( arg.platform == 'osx' || arg.platform == 'linux' || arg.platform == 'linux64' ){ @@ -687,7 +688,7 @@ ipc.on('update', function(event, arg) { pgApp = "\"" + pgApp + "\""; } - var wholeString = pgApp + " " + recursiveString + " " + verboseString + " " + pathString + " " + platformString + " " + templateString + " " + updatePath; + const wholeString = pgApp + " " + recursiveString + " " + verboseString + " " + pathString + " " + platformString + " " + templateString + " " + updatePath; exec(wholeString, {maxBuffer : Infinity}, function callback(error, stdout, stderr) { @@ -721,19 +722,19 @@ ipc.on('update', function(event, arg) { ipc.on('generate', function(event, arg) { - var generate = arg; + let generate = arg; - var exec = require('child_process').exec; + let exec = require('child_process').exec; - var pathTemp = require('path'); + let pathTemp = require('path'); - var projectString = ""; - var pathString = ""; - var addonString = ""; - var platformString = ""; - var templateString = ""; - var verboseString = ""; + let projectString = ""; + let pathString = ""; + let addonString = ""; + let platformString = ""; + let templateString = ""; + let verboseString = ""; @@ -765,7 +766,7 @@ ipc.on('generate', function(event, arg) { projectString = "\"" + pathTemp.join(generate['projectPath'], generate['projectName']) + "\""; } - var pgApp=""; + let pgApp=""; if(hostplatform == "linux"){ pgApp = "projectGenerator"; }else{ @@ -778,14 +779,14 @@ ipc.on('generate', function(event, arg) { pgApp = pgApp = "\"" + pgApp + "\""; } - var wholeString = pgApp + " " + verboseString + " " + pathString + " " + addonString + " " + platformString + " " + templateString + " " + projectString; + const wholeString = pgApp + " " + verboseString + " " + pathString + " " + addonString + " " + platformString + " " + templateString + " " + projectString; exec(wholeString, {maxBuffer : Infinity}, function callback(error, stdout, stderr) { - var wasError = false; - var text = stdout; //Big text with many line breaks - var lines = text.split(os.EOL); //Will return an array of lines on every OS node works - for (var i = 0; i < lines.length; i++) { + let wasError = false; + let text = stdout; //Big text with many line breaks + let lines = text.split(os.EOL); //Will return an array of lines on every OS node works + for (let i = 0; i < lines.length; i++) { if (lines[i].indexOf("Result:") > -1) { if (lines[i].indexOf("error") > -1) { wasError = true; @@ -796,7 +797,7 @@ ipc.on('generate', function(event, arg) { // wasError = did the PG spit out an error (like a bad path, etc) // error = did node have an error running this command line app - var fullPath = pathTemp.join(generate['projectPath'], generate['projectName']); + let fullPath = pathTemp.join(generate['projectPath'], generate['projectName']); if (error === null && wasError === false) { event.sender.send('consoleMessage', "" + wholeString + "
" + stdout); event.sender.send('sendUIMessage', @@ -889,7 +890,7 @@ ipc.on('checkMultiUpdatePath', function(event, arg) { }); -var dialogIsOpen = false; +let dialogIsOpen = false; ipc.on('pickProjectImport', function(event, arg) { if(dialogIsOpen){ return; @@ -904,8 +905,8 @@ ipc.on('pickProjectImport', function(event, arg) { }, function(filenames) { if (filenames != null) { // gather project information - var tmpPath = require('path'); - var projectSettings = {}; + let tmpPath = require('path'); + let projectSettings = {}; projectSettings['projectName'] = tmpPath.basename(filenames[0]); projectSettings['projectPath'] = tmpPath.dirname(filenames[0]); event.sender.send('importProjectSettings', projectSettings); @@ -917,9 +918,9 @@ ipc.on('pickProjectImport', function(event, arg) { ipc.on('launchProjectinIDE', function(event, arg) { - var pathTemp = require('path'); - var fsTemp = require('fs'); - var fullPath = pathTemp.join(arg['projectPath'], arg['projectName']); + let pathTemp = require('path'); + let fsTemp = require('fs'); + let fullPath = pathTemp.join(arg['projectPath'], arg['projectName']); if( fsTemp.statSync(fullPath).isDirectory() == false ){ // project doesn't exist @@ -930,7 +931,7 @@ ipc.on('launchProjectinIDE', function(event, arg) { // // launch xcode if( arg.platform == 'osx' ){ if(hostplatform == 'osx'){ - var osxPath = pathTemp.join(fullPath, arg['projectName'] + '.xcodeproj'); + let osxPath = pathTemp.join(fullPath, arg['projectName'] + '.xcodeproj'); console.log( osxPath ); osxPath = "\"" + osxPath + "\""; @@ -940,7 +941,7 @@ ipc.on('launchProjectinIDE', function(event, arg) { } } else if( arg.platform == 'linux' || arg.platform == 'linux64' ){ if(hostplatform == 'linux'){ - var linuxPath = pathTemp.join(fullPath, arg['projectName'] + '.qbs'); + let linuxPath = pathTemp.join(fullPath, arg['projectName'] + '.qbs'); linuxPath = linuxPath.replace(/ /g, '\\ '); console.log( linuxPath ); exec('xdg-open ' + linuxPath, function callback(error, stdout, stderr){ @@ -958,7 +959,7 @@ ipc.on('launchProjectinIDE', function(event, arg) { } }); } else if( hostplatform == 'windows'){ - var windowsPath = pathTemp.join(fullPath, arg['projectName'] + '.sln'); + let windowsPath = pathTemp.join(fullPath, arg['projectName'] + '.sln'); console.log( windowsPath ); windowsPath = "\"" + windowsPath + "\""; exec('start ' + "\"\"" + " " + windowsPath, function callback(error, stdout, stderr){ From 172d3c862a64a064568af76ba3be4357d6a1ad56 Mon Sep 17 00:00:00 2001 From: Hiroshi Matoba Date: Sat, 14 Sep 2019 15:07:45 +0200 Subject: [PATCH 02/14] remove line breaks, modify update indent --- frontend/app.js | 101 +++++++++------------------------------------- frontend/index.js | 33 +-------------- 2 files changed, 19 insertions(+), 115 deletions(-) diff --git a/frontend/app.js b/frontend/app.js index 015f0d89..95ce3d76 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -6,7 +6,6 @@ const ipc = require('ipc'); const path = require('path'); const fs = require('fs'); - let platforms; let templates; @@ -28,8 +27,6 @@ let isFirstTimeSierra = false; let bVerbose = false; let localAddons = []; - - //----------------------------------------------------------------------------------- // IPC //----------------------------------------------------------------------------------- @@ -40,7 +37,6 @@ ipc.on('setOfPath', function(arg) { }); ipc.on('cwd', function(arg) { - console.log(arg); }); @@ -48,18 +44,15 @@ ipc.on('setUpdatePath', function(arg) { let elem = document.getElementById("updateMultiplePath"); elem.value = arg; $("#updateMultiplePath").change(); - }); ipc.on('isUpdateMultiplePathOk', function(arg) { if (arg == true){ $("#updateMultipleWrongMessage").hide(); $("#updateMultipleButton").removeClass("disabled"); - } else { $("#updateMultipleWrongMessage").show(); $("#updateMultipleButton").addClass("disabled"); - } }); @@ -71,11 +64,9 @@ ipc.on('setup', function(arg) { //----------------------------------------- // this is called from main when defaults are loaded in: ipc.on('setDefaults', function(arg) { - defaultSettings = arg; setOFPath(defaultSettings['defaultOfPath']); enableAdvancedMode(defaultSettings['advancedMode']); - }); //------------------------------------------- @@ -105,7 +96,6 @@ ipc.on('importProjectSettings', function(settings) { //------------------------------------------- ipc.on('setAddons', function(arg) { - console.log("got set addons"); console.log(arg); @@ -127,10 +117,7 @@ ipc.on('setAddons', function(arg) { $("#ofPathSierraMessage").hide(); $("#ofPathWrongMessage").hide(); isOfPathGood = true; - - - - } else { + } else { if(isFirstTimeSierra){ $("#ofPathSierraMessage").show(); }else{ @@ -141,23 +128,18 @@ ipc.on('setAddons', function(arg) { // bounce to settings //$('.main .ui').tab('change tab', 'settings') - - - } - $('#addonsDropdown') - .dropdown({ - allowAdditions: false, - fullTextSearch: 'exact', - match: "text" - }); + .dropdown({ + allowAdditions: false, + fullTextSearch: 'exact', + match: "text" + }); }); ipc.on('setPlatforms', function(arg) { - console.log("got set platforms"); console.log(arg); console.log("got set platforms"); @@ -269,7 +251,6 @@ ipc.on('setTemplates', function(arg) { } }); - ipc.on('enableTemplate', function (arg) { console.log('enableTemplate'); @@ -294,8 +275,6 @@ ipc.on('enableTemplate', function (arg) { //------------------------------------------- // select the list of addons and notify if some aren't installed ipc.on('selectAddons', function(arg) { - - // todo : DEAL WITH LOCAL ADDONS HERE.... let addonsAlreadyPicked = $("#addonsDropdown").val().split(','); @@ -315,7 +294,6 @@ ipc.on('selectAddons', function(arg) { if (addonsAlreadyPicked.indexOf(arg[i]) >= 0){ console.log("already picked"); // alread picked } else { - // if not picked, check if have it and try to pick it if (addonsInstalled.indexOf(arg[i]) >= 0){ $('#addonsDropdown').dropdown('set selected', arg[i]); @@ -329,13 +307,10 @@ ipc.on('selectAddons', function(arg) { } else { neededAddons.push(arg[i]); } - - } } } - if (neededAddons.length > 0) { console.log("missing addons"); // $("#generate-mode-section").addClass("has-missing-addons"); @@ -343,11 +318,9 @@ ipc.on('selectAddons', function(arg) { $('#missingAddonList').append("" + neededAddons.join(", ") + ""); $("#missingAddonMessage").show(); $("#adons-refresh-icon").show(); - } else { $("#adons-refresh-icon").hide(); $("#missingAddonMessage").hide(); - // $("#generate-mode-section").removeClass("has-missing-addons"); } @@ -361,7 +334,6 @@ ipc.on('selectAddons', function(arg) { $("#localAddonMessage").hide(); } - //