diff --git a/main.js b/main.js index a39b0d1..a38a1ed 100755 --- a/main.js +++ b/main.js @@ -39,7 +39,7 @@ const createWindow = () => { } }); codeWindow.setMenu(defaultMenu); - codeWindow.loadURL('simplycode://index.html') + codeWindow.loadURL('app.simplycode://index.html') codeWindow.on('close', function() { codeWindow = false; }); @@ -60,7 +60,7 @@ const createTestWindow = () => { allowRunningInsecureContent : true } }) - codeWindow.loadURL('simplycode://index.html/tests/triplebinding/index.html') + codeWindow.loadURL('app.simplycode://index.html/tests/triplebinding/index.html') codeWindow.on('close', function() { codeWindow = false; }); @@ -69,7 +69,7 @@ const createTestWindow = () => { const createSecondWindow = (dataDir) => { if (appWindow) { appWindow.focus(); - appWindow.loadURL('simplyapp://generated.html') + appWindow.loadURL('app.simplyapp://generated.html') return; } appWindow = new BrowserWindow({ @@ -113,7 +113,7 @@ const createSecondWindow = (dataDir) => { } }); appWindow.setMenu(menu); - appWindow.loadURL('simplyapp://generated.html') + appWindow.loadURL('app.simplyapp://generated.html') appWindow.on('close', function() { appWindow = false; }); @@ -157,6 +157,41 @@ function readRecursive(componentPath) { } } +function readDataRecursive(componentPath) { + if(componentPath.endsWith('\/')){ + componentPath = componentPath.substring(0, (componentPath.length - 1)) + } + const pathicles = componentPath.split('\/'); + if (pathicles[0] == ''){ + pathicles.shift() + } + const componentName = pathicles.pop(); + const componentDirectory = pathicles.join('/'); + + var target = dataDir + componentDirectory + '\/' + componentName; + + if (fs.lstatSync(target).isDirectory()) { + const files = fs.readdirSync(target); + const result = []; + files.forEach((file) => { + if (file !== '.' && file !== '..' && !file.startsWith('.')) { + let entries = readDataRecursive(componentPath + '\/' + file); + let ctime = fs.lstatSync(target + '\/' + file).ctime; + let data = { + "id" : file, + "ctime" : ctime, + "ctime-human" : new Date(ctime).toISOString(), + ...entries + } + result.push(data); + } + }); + return result; + } else { + return JSON.parse(fs.readFileSync(target, 'utf8')); + } +} + function guid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, @@ -178,7 +213,7 @@ app.commandLine.appendSwitch('disable-site-isolation-trials'); protocol.registerSchemesAsPrivileged([ { - scheme: 'simplycode', + scheme: 'app.simplycode', privileges: { standard: true, secure: true, @@ -186,7 +221,7 @@ protocol.registerSchemesAsPrivileged([ } }, { - scheme: 'simplyapp', + scheme: 'app.simplyapp', privileges: { standard: true, secure: true, @@ -216,9 +251,9 @@ async function createComponentFile(componentPath, filecontent){ app.whenReady().then(() => { if (require('electron-squirrel-startup') === true) app.quit(); // prevents Squirrel.Windows from launching your app multiple times during the installation/updating/uninstallation. - protocol.handle('simplycode', (request) => { + protocol.handle('app.simplycode', (request) => { let componentPath = new URL(request.url).pathname - console.log('[simplycode://]' + componentPath) + console.log('[app.simplycode://]' + componentPath) if(componentPath.endsWith('\/')){ componentPath = componentPath.substring(0, (componentPath.length - 1)) } @@ -329,9 +364,9 @@ app.whenReady().then(() => { } }) - protocol.handle('simplyapp', (request) => { + protocol.handle('app.simplyapp', (request) => { let componentPath = new URL(request.url).pathname - console.log('[simplyapp://]' + componentPath) + console.log('[app.simplyapp://]' + componentPath) if(componentPath.endsWith('\/')){ componentPath = componentPath.substring(0, (componentPath.length - 1)) } @@ -345,75 +380,120 @@ app.whenReady().then(() => { pathicles.shift() } let componentDirectory = pathicles.join('/'); - - switch (request.method){ - case 'OPTIONS': - if(fs.existsSync(dataDir + componentDirectory + "/" + componentName)){ - return new Response('"ok"', { status: 200}) - } else { - return new Response('"Not found"', { status: 404}) - } - break - case 'DELETE': - if(fs.existsSync(dataDir + componentDirectory + "/" + componentName)){ - fs.rmSync((dataDir + componentDirectory + "/" + componentName), { recursive: true, force: true }) - return new Response('"deleted"', { status: 200}) - } else { - return new Response('"Not found"', { status: 404}) - } - break - case 'PUT': - return createComponentDirectory(componentDirectory) - .then(createComponentFile(componentDirectory + "/" + componentName, request)) - .then(function() { return new Response('"ok"', { status: 200})}) - .catch(function(){ return new Response('"something went wrong"', { status : 500 })}) // @TODO : return the error code - break - default: - if(componentPath.endsWith('\/')){ - componentPath = componentPath.substring(0, (componentPath.length - 1)) - } - - if (!componentPath || componentPath === "/") { - const filestuff = fs.readFileSync(dataDir + '/generated.html') - return new Response(filestuff, { - // headers: { 'content-type': 'text/html' } - }) - - } else { - var target = dataDir + componentDirectory + '\/' + componentName; - let headers = {}; - if (componentName.match(/\.svg$/)) { - headers = { - 'content-type' : 'image/svg+xml' - } + + if(pathicles[0] === "data") { + pathicles.shift(); + componentDirectory = pathicles.join('/'); + + switch (request.method){ + case 'OPTIONS': + if(fs.existsSync(dataDir + componentDirectory + "/" + componentName)){ + return new Response('"ok"', { status: 200}) + } else { + return new Response('"Not found"', { status: 404}) } - if (componentName.match(/\.js$/)) { - headers = { - 'content-type' : 'text/javascript' - } + break + case 'DELETE': + if(fs.existsSync(dataDir + componentDirectory + "/" + componentName)){ + fs.rmSync((dataDir + componentDirectory + "/" + componentName), { recursive: true, force: true }) + return new Response('"deleted"', { status: 200}) + } else { + return new Response('"Not found"', { status: 404}) + } + break + case 'POST': + const newId = guid(); + return createComponentDirectory(componentDirectory + "/" + componentName) + .then(createComponentFile(componentDirectory + "/" + componentName + "/" + newId, request)) + .then(function() { return new Response(JSON.stringify(newId), { status: 201})}) + .catch(function(){ return new Response('"something went wrong"', { status : 500 })}) // @TODO : return the error code + break + case 'PUT': + return createComponentDirectory(componentDirectory) + .then(createComponentFile(componentDirectory + "/" + componentName, request)) + .then(function() { return new Response('"ok"', { status: 200})}) + .catch(function(){ return new Response('"something went wrong"', { status : 500 })}) // @TODO : return the error code + break + case 'GET': + default: + if(fs.existsSync(dataDir + componentDirectory + "/" + componentName)){ + const filestuff = readDataRecursive(componentDirectory + "/" + componentName) + return new Response(JSON.stringify(filestuff), {}) + } else { + return new Response('"Not found"', { status: 404}) } - if(fs.existsSync(target)) { - const filestuff = fs.readFileSync(target) + break + } + } else { + switch (request.method){ + case 'OPTIONS': + if(fs.existsSync(dataDir + componentDirectory + "/" + componentName)){ + return new Response('"ok"', { status: 200}) + } else { + return new Response('"Not found"', { status: 404}) + } + break + case 'DELETE': + if(fs.existsSync(dataDir + componentDirectory + "/" + componentName)){ + fs.rmSync((dataDir + componentDirectory + "/" + componentName), { recursive: true, force: true }) + return new Response('"deleted"', { status: 200}) + } else { + return new Response('"Not found"', { status: 404}) + } + break + case 'PUT': + return createComponentDirectory(componentDirectory) + .then(createComponentFile(componentDirectory + "/" + componentName, request)) + .then(function() { return new Response('"ok"', { status: 200})}) + .catch(function(){ return new Response('"something went wrong"', { status : 500 })}) // @TODO : return the error code + break + default: + if(componentPath.endsWith('\/')){ + componentPath = componentPath.substring(0, (componentPath.length - 1)) + } + + if (!componentPath || componentPath === "/") { + const filestuff = fs.readFileSync(dataDir + '/generated.html') return new Response(filestuff, { - headers: headers + // headers: { 'content-type': 'text/html' } }) + } else { - if ( - (componentPath.indexOf("/js/simply") === 0) || - (componentPath.indexOf("/simply") === 0) || - (componentPath.indexOf("/assets") === 0) || - (componentPath.indexOf("/hope") === 0) - ) { - const filestuff = fs.readFileSync(__dirname + '/simplycode/' + componentDirectory + '\/' + componentName) + var target = dataDir + componentDirectory + '\/' + componentName; + let headers = {}; + if (componentName.match(/\.svg$/)) { + headers = { + 'content-type' : 'image/svg+xml' + } + } + if (componentName.match(/\.js$/)) { + headers = { + 'content-type' : 'text/javascript' + } + } + if(fs.existsSync(target)) { + const filestuff = fs.readFileSync(target) return new Response(filestuff, { headers: headers }) + } else { + if ( + (componentPath.indexOf("/js/simply") === 0) || + (componentPath.indexOf("/simply") === 0) || + (componentPath.indexOf("/assets") === 0) || + (componentPath.indexOf("/hope") === 0) + ) { + const filestuff = fs.readFileSync(__dirname + '/simplycode/' + componentDirectory + '\/' + componentName) + return new Response(filestuff, { + headers: headers + }) + } + return new Response("Not found", {"status" : 404}) } - return new Response("Not found", {"status" : 404}) - } - } - break - } + } + break + } + } }) if (!process.argv[0].match(/electron$/) && process.argv[1]) { diff --git a/package-lock.json b/package-lock.json index 84dbfdb..586e0b0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,9 +37,9 @@ } }, "node_modules/@electron-forge/cli": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.6.0.tgz", - "integrity": "sha512-5G7rBbvTb4HJDiCuhncBzNaRj1e1dEmrk6jExpziqv4Y8p9b+nxfdOjsjWu0hvAl4k2V65Rnm1uEkAA7MmlZOQ==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.7.0.tgz", + "integrity": "sha512-QfnjghmlHMb7dyArR5cbPA+MP9ff/ulWZi6R/a5MkHlKyhrysRfjzDtZDsmkEv9mGQgRwylssgXrZrKHGlxFkw==", "dev": true, "funding": [ { @@ -52,11 +52,12 @@ } ], "dependencies": { - "@electron-forge/core": "7.6.0", - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/core": "7.7.0", + "@electron-forge/core-utils": "7.7.0", + "@electron-forge/shared-types": "7.7.0", "@electron/get": "^3.0.0", "chalk": "^4.0.0", - "commander": "^4.1.1", + "commander": "^11.1.0", "debug": "^4.3.1", "fs-extra": "^10.0.0", "listr2": "^7.0.2", @@ -72,9 +73,9 @@ } }, "node_modules/@electron-forge/core": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.6.0.tgz", - "integrity": "sha512-DgkjpoK+SPExNTLZL1v81zl0RswQWvMXkMnMqZYf0/S/KHKTXWsoE9KTzr8fDGpiG3nUJXWMqHyny9zLoUdKXQ==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.7.0.tgz", + "integrity": "sha512-BWhg1Zw1bhpDuZowGH3lXDiL9zZBsYFNjtqyMqmkjcEm5xf9Dzs8mpRpNjtkpf3jit3LB4PNGMLj3c8ix0h4vQ==", "dev": true, "funding": [ { @@ -87,17 +88,17 @@ } ], "dependencies": { - "@electron-forge/core-utils": "7.6.0", - "@electron-forge/maker-base": "7.6.0", - "@electron-forge/plugin-base": "7.6.0", - "@electron-forge/publisher-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0", - "@electron-forge/template-base": "7.6.0", - "@electron-forge/template-vite": "7.6.0", - "@electron-forge/template-vite-typescript": "7.6.0", - "@electron-forge/template-webpack": "7.6.0", - "@electron-forge/template-webpack-typescript": "7.6.0", - "@electron-forge/tracer": "7.6.0", + "@electron-forge/core-utils": "7.7.0", + "@electron-forge/maker-base": "7.7.0", + "@electron-forge/plugin-base": "7.7.0", + "@electron-forge/publisher-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0", + "@electron-forge/template-base": "7.7.0", + "@electron-forge/template-vite": "7.7.0", + "@electron-forge/template-vite-typescript": "7.7.0", + "@electron-forge/template-webpack": "7.7.0", + "@electron-forge/template-webpack-typescript": "7.7.0", + "@electron-forge/tracer": "7.7.0", "@electron/get": "^3.0.0", "@electron/packager": "^18.3.5", "@electron/rebuild": "^3.7.0", @@ -108,32 +109,30 @@ "filenamify": "^4.1.0", "find-up": "^5.0.0", "fs-extra": "^10.0.0", + "global-dirs": "^3.0.0", "got": "^11.8.5", "interpret": "^3.1.1", "listr2": "^7.0.2", "lodash": "^4.17.20", "log-symbols": "^4.0.0", "node-fetch": "^2.6.7", - "progress": "^2.0.3", "rechoir": "^0.8.0", - "resolve-package": "^1.0.1", "semver": "^7.2.1", "source-map-support": "^0.5.13", "sudo-prompt": "^9.1.1", - "username": "^5.1.0", - "yarn-or-npm": "^3.0.1" + "username": "^5.1.0" }, "engines": { "node": ">= 16.4.0" } }, "node_modules/@electron-forge/core-utils": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-7.6.0.tgz", - "integrity": "sha512-7XVKHPI87p558kVen280yB1UC2cVGHvrMfnPFv4zm3TQHEVaKWKW+5y+UZsKUnGAukNlahHWuHF/1S8dRCJNEg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-7.7.0.tgz", + "integrity": "sha512-kgOkiLzqnySkcpt26rBg8AoZsI1ID3f6s/dQlzfRJisWZTKTu4ryiMcaC0F07DVjaYFnEl9SQ86IvkTcyS97mQ==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/shared-types": "7.7.0", "@electron/rebuild": "^3.7.0", "@malept/cross-spawn-promise": "^2.0.0", "chalk": "^4.0.0", @@ -141,20 +140,19 @@ "find-up": "^5.0.0", "fs-extra": "^10.0.0", "log-symbols": "^4.0.0", - "semver": "^7.2.1", - "yarn-or-npm": "^3.0.1" + "semver": "^7.2.1" }, "engines": { "node": ">= 16.4.0" } }, "node_modules/@electron-forge/maker-base": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.6.0.tgz", - "integrity": "sha512-GrVYhiA/g0NXrI13LcXrT+JKLlq8kkYyO6w0jQORqDFeRSLRoLhrru5w0msg0wINGugBe+/NwyAyFZ2KaQ6o4g==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.7.0.tgz", + "integrity": "sha512-9u+mmBLBAUHuH0+IGw94EGVTDD4CPKX05h5pp5/PIaijy16ss5dymK4vEp3s2XJMFlza2PsCgLLYBgDcAE2Dqg==", "devOptional": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/shared-types": "7.7.0", "fs-extra": "^10.0.0", "which": "^2.0.2" }, @@ -163,13 +161,13 @@ } }, "node_modules/@electron-forge/maker-deb": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.6.0.tgz", - "integrity": "sha512-vTg/wJwfdWM4Hm1NlU0g30ODn6z3NBukQdWOS2xXJQ/Y0KnQRVN7ThSlxxzWJy0tI6hGAlpziJjpXozTfhM/Nw==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.7.0.tgz", + "integrity": "sha512-yMT0TWpCwXaC9+AYpSr9PBIhcZR297wdJUk5PnEnIROsvOW2y1sh7ny7YdHXTxkvhWdbqY8sLQruL3BE+CyE8w==", "dev": true, "dependencies": { - "@electron-forge/maker-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0" + "@electron-forge/maker-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0" }, "engines": { "node": ">= 16.4.0" @@ -179,13 +177,13 @@ } }, "node_modules/@electron-forge/maker-dmg": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-dmg/-/maker-dmg-7.6.0.tgz", - "integrity": "sha512-Wa4XG9r4RldF5uy7vef5/BR8o/P+BmltZIbZulnFwhOYEu4Quj+SDF1bet7y3tM2i1am/sEocFcBHXC7CRk8xg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-dmg/-/maker-dmg-7.7.0.tgz", + "integrity": "sha512-Hq4nsY6eOdtigN4RLc9i2SbLEr46J6FfbdU+r39R/EVIJ82WRk7JPrCqbckEM7KY1TjhmrnhPWeviWoGAjbXhA==", "optional": true, "dependencies": { - "@electron-forge/maker-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/maker-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0", "fs-extra": "^10.0.0" }, "engines": { @@ -216,13 +214,13 @@ } }, "node_modules/@electron-forge/maker-rpm": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-7.6.0.tgz", - "integrity": "sha512-pZGpZ+Oum7uyykwi73e+s/LnWDsG+B0t1iU9jCaZObIR0lcISK5VemeIlgm1A4HlDHODdBZ5AEJfIJ5p9t7w/w==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-7.7.0.tgz", + "integrity": "sha512-M9cFO6bCnOuA6BwBUUw35FrnWciWeFyLuByO0KOn3zEYeBDqG2fbBgXXS6OKcRHrpnJVTwiLY5S7eviyO1DJzQ==", "dev": true, "dependencies": { - "@electron-forge/maker-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0" + "@electron-forge/maker-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0" }, "engines": { "node": ">= 16.4.0" @@ -232,13 +230,13 @@ } }, "node_modules/@electron-forge/maker-squirrel": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-7.6.0.tgz", - "integrity": "sha512-8tqsJBRAe37YZSKv1fPc1tijQljkSlUQCaeun37ZOM/viurSeydt5nu2M+UDmJHAfD/PRZMjnYvCCWH+08wGVg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-7.7.0.tgz", + "integrity": "sha512-9Gcq8e6+1MuXGeE7bEpk7VTd86c0riXTsDFKW8OqwVozeBYhoCd6GU59RmI3b7mcAIKOY1cBY97B+/5bnZ8ZYg==", "dev": true, "dependencies": { - "@electron-forge/maker-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/maker-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0", "fs-extra": "^10.0.0" }, "engines": { @@ -249,13 +247,13 @@ } }, "node_modules/@electron-forge/maker-zip": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.6.0.tgz", - "integrity": "sha512-sDPQoEs6CnkxsydvnfZByBGf+RREky2xqiusWCvaPnUoLRpq96SFaBb1BRCS6tQKQHKkaEUXEC5pBdrYGLHPVg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.7.0.tgz", + "integrity": "sha512-/rRFiPcojk0hcn+NOfHv2SlMNvghBk1RN0nuLHbbe8r+C0vG4LJV9ee/Y0HhVKkcpapJOQ+MasXJ86fzAp5uAg==", "dev": true, "dependencies": { - "@electron-forge/maker-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/maker-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0", "cross-zip": "^4.0.0", "fs-extra": "^10.0.0", "got": "^11.8.5" @@ -265,38 +263,38 @@ } }, "node_modules/@electron-forge/plugin-auto-unpack-natives": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.6.0.tgz", - "integrity": "sha512-rSWRLJinRIxtlkLke0uJzOLksRnXszu3hZrzlgOWChDuMFM298yb6gxWAjYh94VoNxXrUHl9Cd4ia/5+wgPwwg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.7.0.tgz", + "integrity": "sha512-cYeD4x2oQXUyK4+DtIR6wMxcIHvyPgsJq1diEuBoQ+MFTh+s6DXZl6JvwtI3scD0XieCkzcmUmf8ygzqs124+w==", "dev": true, "dependencies": { - "@electron-forge/plugin-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0" + "@electron-forge/plugin-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0" }, "engines": { "node": ">= 16.4.0" } }, "node_modules/@electron-forge/plugin-base": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.6.0.tgz", - "integrity": "sha512-9llu4algWZJAJFVVZtd/Xa71c0QVxRmoMrpHX2SB+XJ+ZlFVdXrlnhn2hc/CnM0by9cBElyAL3cx3533OKS7lA==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.7.0.tgz", + "integrity": "sha512-6wisQ4ZKOWey48wFF+JHzih7AuQuVma5KauwNEju2Dh2ibwDMJmPy0FWVolMSg7XUIMbGKLADGilxX6XRv8qNQ==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0" + "@electron-forge/shared-types": "7.7.0" }, "engines": { "node": ">= 16.4.0" } }, "node_modules/@electron-forge/plugin-fuses": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/plugin-fuses/-/plugin-fuses-7.6.0.tgz", - "integrity": "sha512-3M6LN0B/y9cZvjpAX7zKVGTNximOEIlYvh2HJJvRARrwOE3eGRBWZsPZg7etqSZtxS6ENtUt/kM88KYOyLfB0w==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-fuses/-/plugin-fuses-7.7.0.tgz", + "integrity": "sha512-Mg6JoCZ0rZIwnAp/jyawAQytFQZG/1BVahBYsaoWMMv7TISYCbauXdRvl2ja8VPaHymle2zE7WsTwZvKy+sp2A==", "dev": true, "dependencies": { - "@electron-forge/plugin-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0" + "@electron-forge/plugin-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0" }, "engines": { "node": ">= 16.4.0" @@ -306,28 +304,28 @@ } }, "node_modules/@electron-forge/publisher-base": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-7.6.0.tgz", - "integrity": "sha512-IL9bbIb/4J4I1bfW53RAmE/Al835XJsOwFXTLUnxnaGtbWg5jz7eiyw9Vl8XvvfHN1Dpoa9f94to8keU2MXgDg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-7.7.0.tgz", + "integrity": "sha512-jHKvUc1peBBSl2t5d1x6M3CNyCMyNB+NnTO9LmA1dWFQ3oRDFwromIH5KjRqPJj6l4AyH0/XJogdO7Nn4Eyn6Q==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0" + "@electron-forge/shared-types": "7.7.0" }, "engines": { "node": ">= 16.4.0" } }, "node_modules/@electron-forge/publisher-github": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/publisher-github/-/publisher-github-7.6.0.tgz", - "integrity": "sha512-hK69MeB0o+gLc/xlVRebs4m2NEBWi26Ep4GMpAu718NXaTpOINpGc9jzw+U2n3qX1lN8iIFxovg3s+fMtSquJg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/publisher-github/-/publisher-github-7.7.0.tgz", + "integrity": "sha512-Hhez+7RZ/Fr0+m8FlbXTVmHeTte1QFNi4jcRtvqmS6eHI5lS6ijKOIGoHhgm5KGxQ8EaNG0mkbrsHZrsFLUdMw==", "dev": true, "dependencies": { - "@electron-forge/publisher-base": "7.6.0", - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/publisher-base": "7.7.0", + "@electron-forge/shared-types": "7.7.0", "@octokit/core": "^3.2.4", "@octokit/plugin-retry": "^3.0.9", - "@octokit/request-error": "^2.0.5", + "@octokit/request-error": "^5.1.1", "@octokit/rest": "^18.0.11", "@octokit/types": "^6.1.2", "chalk": "^4.0.0", @@ -341,12 +339,12 @@ } }, "node_modules/@electron-forge/shared-types": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.6.0.tgz", - "integrity": "sha512-qpJRaPo/tx/+t3iFdUWnK4Tk/elo+Izk3yS+BhzfaF0XOK8wS+NNYW4vycK6eVMxN3Yu7/924MQFtPlCKlWHvA==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.7.0.tgz", + "integrity": "sha512-1zQsmudkAuHv0HnJtSJY3pvTeuN3fnSa9BR6cbeUlcpOfrnG4OTG03FqerHfyIWaBRVy7jGgif0NhKKE9azKyg==", "devOptional": true, "dependencies": { - "@electron-forge/tracer": "7.6.0", + "@electron-forge/tracer": "7.7.0", "@electron/packager": "^18.3.5", "@electron/rebuild": "^3.7.0", "listr2": "^7.0.2" @@ -356,12 +354,13 @@ } }, "node_modules/@electron-forge/template-base": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-7.6.0.tgz", - "integrity": "sha512-lhvab8a/knuGnpzep8BMOEkgnkHGr11QELGBzslEnA6rwZi9DDyEgmMCk6VWOVQNHMeuEqh5XlgjVqJmjW6nIQ==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-7.7.0.tgz", + "integrity": "sha512-jwnhEHNIyQfbwJ6R8SuZIJApHKBykDr/rSgUF3km9nr2qAUSoUUV7RaJa/uiQJMtvamXenuo5K84C2NzumzS3A==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0", + "@electron-forge/core-utils": "7.7.0", + "@electron-forge/shared-types": "7.7.0", "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.3.1", "fs-extra": "^10.0.0", @@ -372,13 +371,13 @@ } }, "node_modules/@electron-forge/template-vite": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.6.0.tgz", - "integrity": "sha512-C0V0dGDO1hLXnAM9lGnZU0esNOTbxwcgILWJXv0mYErBkmputAIi3HM1Is3h3JdSijXgVbRWcIQxFxJlOCpB/A==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.7.0.tgz", + "integrity": "sha512-6p+U6FDWrmF7XgSLkrO07OOgJcrrrArbnExSckGJdBnupxmIDf1Y+exwfHHKdxX6/FfkA6JST5nRGjgA5CFqcw==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0", - "@electron-forge/template-base": "7.6.0", + "@electron-forge/shared-types": "7.7.0", + "@electron-forge/template-base": "7.7.0", "fs-extra": "^10.0.0" }, "engines": { @@ -386,13 +385,13 @@ } }, "node_modules/@electron-forge/template-vite-typescript": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.6.0.tgz", - "integrity": "sha512-i2Bt5Hehoq2CNNrUQjl8DQX7VatBMQ6mv+CCa+m+EV92nUYxXsoFva62/5ITpc3gFAGd1upw/S7dTbHV6GOwsA==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.7.0.tgz", + "integrity": "sha512-32C/+PF+hIloTdbRx7OutvqnTkkC7BHeQxNw4/zG2TfQ3cjl7JUD6A2UvTUHtv5KHkK2hDw6ZdahPwpJO41YSA==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0", - "@electron-forge/template-base": "7.6.0", + "@electron-forge/shared-types": "7.7.0", + "@electron-forge/template-base": "7.7.0", "fs-extra": "^10.0.0" }, "engines": { @@ -400,13 +399,13 @@ } }, "node_modules/@electron-forge/template-webpack": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.6.0.tgz", - "integrity": "sha512-+HEf0ryUfLpHvl27TXSdP2Ob69+ktNtr5EnmroZGGIxhSAtEs4HloPtDF9PSfBzm38pZhQBZn78kY9LbITTGjg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.7.0.tgz", + "integrity": "sha512-7Hb1wejKqtvPXqhelubUNAh39FtClB/4JDtWzyAsL2iC3XeB5qh6pITz8+nW/rF2qW/JAepc/lnreqKn34P2ig==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0", - "@electron-forge/template-base": "7.6.0", + "@electron-forge/shared-types": "7.7.0", + "@electron-forge/template-base": "7.7.0", "fs-extra": "^10.0.0" }, "engines": { @@ -414,13 +413,13 @@ } }, "node_modules/@electron-forge/template-webpack-typescript": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.6.0.tgz", - "integrity": "sha512-fDj4DkGxJJjGL8lpowFnkX7PvV9koLHKJuyusK8p8ayVMGoHpHrIcVCrV06tKYOvhFrL/ahW+CKKvjlxF8niEg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.7.0.tgz", + "integrity": "sha512-w1vRAjGy0MjjdEDYPpZcpkMo2e3z5uEwfJdwVOpBeha7p2WM/Y6go21K+7pSqGp8Xmq4zlE20hq5MEx8Bs8eZg==", "dev": true, "dependencies": { - "@electron-forge/shared-types": "7.6.0", - "@electron-forge/template-base": "7.6.0", + "@electron-forge/shared-types": "7.7.0", + "@electron-forge/template-base": "7.7.0", "fs-extra": "^10.0.0" }, "engines": { @@ -428,9 +427,9 @@ } }, "node_modules/@electron-forge/tracer": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.6.0.tgz", - "integrity": "sha512-Rn76RHqNhLyZDnu+xY/X73+bv+Q09XKaZBL/WvlYBbvrrHe26NOHJ3IHXxkWRokSWd4B7lOGLGKm3j1Il8dVbQ==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.7.0.tgz", + "integrity": "sha512-R/JiGFzWhwfVyc6ioT4l5FFChRLS4Z2tWPeQfPcyoemdpzKpI1rvMHti42gzWXFW8GdzkhG0G3ZWfKiF3y3x/Q==", "devOptional": true, "dependencies": { "chrome-trace-event": "^1.0.3" @@ -440,9 +439,9 @@ } }, "node_modules/@electron/asar": { - "version": "3.2.17", - "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.17.tgz", - "integrity": "sha512-OcWImUI686w8LkghQj9R2ynZ2ME693Ek6L1SiaAgqGKzBaTIZw3fHDqN82Rcl+EU1Gm9EgkJ5KLIY/q5DCRbbA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.3.1.tgz", + "integrity": "sha512-WtpC/+34p0skWZiarRjLAyqaAX78DofhDxnREy/V5XHfu1XEXbFCSSMcDQ6hNCPJFaPy8/NnUgYuf9uiCkvKPg==", "devOptional": true, "dependencies": { "commander": "^5.0.0", @@ -651,9 +650,9 @@ } }, "node_modules/@electron/osx-sign": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.1.tgz", - "integrity": "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.2.tgz", + "integrity": "sha512-KqVlm9WMWq19lBpCXQoThC/Koaiji2zotUDYwZDaZlZZym+FXY9mQW8wN6sUQ93nkVc42f3TQ1S/XN9S1kjM5Q==", "devOptional": true, "dependencies": { "compare-version": "^0.1.2", @@ -708,9 +707,9 @@ } }, "node_modules/@electron/packager/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "devOptional": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -777,9 +776,9 @@ } }, "node_modules/@electron/universal/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "devOptional": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -806,9 +805,9 @@ } }, "node_modules/@electron/windows-sign": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.0.tgz", - "integrity": "sha512-5zfLHfD6kGgsXzuYlKwlWWO8w6dboKy4dhd7rGnR4rQYumuDgPAF2TYjEa8LUi89KdHxtDy2btq02KvbjhK9Iw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.1.tgz", + "integrity": "sha512-YfASnrhJ+ve6Q43ZiDwmpBgYgi2u0bYjeAVi2tDfN7YWAKO8X9EEOuPGtqbJpPLM6TfAHimghICjWe2eaJ8BAg==", "devOptional": true, "dependencies": { "cross-dirname": "^0.1.0", @@ -825,9 +824,9 @@ } }, "node_modules/@electron/windows-sign/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "devOptional": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -952,6 +951,17 @@ "universal-user-agent": "^6.0.0" } }, + "node_modules/@octokit/core/node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, "node_modules/@octokit/endpoint": { "version": "6.0.12", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", @@ -1039,6 +1049,35 @@ } }, "node_modules/@octokit/request-error": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==", + "dev": true + }, + "node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^23.0.1" + } + }, + "node_modules/@octokit/request/node_modules/@octokit/request-error": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", @@ -1134,17 +1173,6 @@ "@types/node": "*" } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "optional": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, "node_modules/@types/http-cache-semantics": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", @@ -1160,17 +1188,10 @@ "@types/node": "*" } }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "optional": true - }, "node_modules/@types/node": { - "version": "20.17.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.10.tgz", - "integrity": "sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==", + "version": "20.17.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.19.tgz", + "integrity": "sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==", "devOptional": true, "dependencies": { "undici-types": "~6.19.2" @@ -1222,9 +1243,9 @@ } }, "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", "devOptional": true, "dependencies": { "humanize-ms": "^1.2.1" @@ -1316,37 +1337,6 @@ "node": ">=8.5" } }, - "node_modules/asar": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", - "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", - "deprecated": "Please use @electron/asar moving forward. There is no API change, just a package name change", - "dev": true, - "dependencies": { - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - }, - "bin": { - "asar": "bin/asar.js" - }, - "engines": { - "node": ">=10.12.0" - }, - "optionalDependencies": { - "@types/glob": "^7.1.1" - } - }, - "node_modules/asar/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", @@ -1658,12 +1648,6 @@ "node": ">=6.0" } }, - "node_modules/chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", - "dev": true - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -1848,12 +1832,12 @@ "devOptional": true }, "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, "engines": { - "node": ">= 6" + "node": ">=16" } }, "node_modules/compare-version": { @@ -2080,13 +2064,13 @@ } }, "node_modules/electron-installer-common": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.10.3.tgz", - "integrity": "sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.10.4.tgz", + "integrity": "sha512-8gMNPXfAqUE5CfXg8RL0vXpLE9HAaPkgLXVoHE3BMUzogMWenf4LmwQ27BdCUrEhkjrKl+igs2IHJibclR3z3Q==", "dev": true, "dependencies": { + "@electron/asar": "^3.2.5", "@malept/cross-spawn-promise": "^1.0.0", - "asar": "^3.0.0", "debug": "^4.1.1", "fs-extra": "^9.0.0", "glob": "^7.1.4", @@ -2825,22 +2809,10 @@ "which": "bin/which" } }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "dev": true, - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", "devOptional": true }, "node_modules/extract-zip": { @@ -2879,25 +2851,25 @@ } }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" } }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -3112,15 +3084,6 @@ "get-folder-size": "bin/get-folder-size" } }, - "node_modules/get-installed-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", - "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", - "dev": true, - "dependencies": { - "global-modules": "1.0.0" - } - }, "node_modules/get-package-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz", @@ -3213,46 +3176,19 @@ "node": ">=10.0" } }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "ini": "2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" + "node": ">=10" }, - "bin": { - "which": "bin/which" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { @@ -3347,18 +3283,6 @@ "node": ">= 0.4" } }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -3515,10 +3439,13 @@ "devOptional": true }, "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } }, "node_modules/interpret": { "version": "3.1.1", @@ -3549,9 +3476,9 @@ "devOptional": true }, "node_modules/is-core-module": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz", - "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "devOptional": true, "dependencies": { "hasown": "^2.0.2" @@ -3675,15 +3602,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/isbinaryfile": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", @@ -3816,6 +3734,7 @@ "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", "devOptional": true }, "node_modules/log-symbols": { @@ -4151,9 +4070,9 @@ } }, "node_modules/nan": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", - "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.1.tgz", + "integrity": "sha512-pfRR4ZcNTSm2ZFHaztuvbICf+hyiG6ecA06SfAxoPmuHjvMu0KUIae7Y8GyVkbBqeEIidsmXeYooWIX9+qjfRQ==", "optional": true }, "node_modules/negotiator": { @@ -4172,9 +4091,9 @@ "devOptional": true }, "node_modules/node-abi": { - "version": "3.71.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", - "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "version": "3.74.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz", + "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==", "devOptional": true, "dependencies": { "semver": "^7.3.5" @@ -4465,12 +4384,12 @@ } }, "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "devOptional": true, "engines": { - "node": ">=6" + "node": ">=4" } }, "node_modules/parse-author": { @@ -4512,15 +4431,6 @@ "node": ">=0.10.0" } }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4607,70 +4517,6 @@ "node": ">=0.10.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/plist": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", @@ -4886,15 +4732,6 @@ "node": ">=4" } }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, "node_modules/read-pkg-up/node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -4966,9 +4803,9 @@ } }, "node_modules/resolve": { - "version": "1.22.9", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.9.tgz", - "integrity": "sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "devOptional": true, "dependencies": { "is-core-module": "^2.16.0", @@ -4978,6 +4815,9 @@ "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4988,32 +4828,6 @@ "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "devOptional": true }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-package": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz", - "integrity": "sha512-rzB7NnQpOkPHBWFPP3prUMqOP6yg3HkRGgcvR+lDyvyHoY3fZLFLYDkPXh78SPVBAE6VTCk/V+j8we4djg6o4g==", - "dev": true, - "dependencies": { - "get-installed-path": "^2.0.3" - }, - "engines": { - "node": ">=4", - "npm": ">=2" - } - }, "node_modules/responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", @@ -5150,9 +4964,9 @@ "optional": true }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "devOptional": true, "bin": { "semver": "bin/semver.js" @@ -5225,7 +5039,7 @@ "resolved": "git+ssh://git@github.com/simplyedit/simplycode.git#bdedfa2219b37d13228e927caebc9454136f5200" }, "node_modules/simplyedit": { - "resolved": "git+ssh://git@github.com/simplyedit/simplyedit.git#004c14675574c1edb5a1fc3ccae32097f9154069" + "resolved": "git+ssh://git@github.com/simplyedit/simplyedit.git#6b5c2446880d9da466f4d44612d950b7e9674fe8" }, "node_modules/simplyview": { "version": "2.1.1", @@ -5270,9 +5084,9 @@ } }, "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", "devOptional": true, "dependencies": { "ip-address": "^9.0.5", @@ -5343,9 +5157,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", "devOptional": true }, "node_modules/sprintf-js": { @@ -5459,6 +5273,7 @@ "version": "9.2.1", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true }, "node_modules/sumchecker": { @@ -5934,90 +5749,6 @@ "node": ">=8" } }, - "node_modules/yarn-or-npm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/yarn-or-npm/-/yarn-or-npm-3.0.1.tgz", - "integrity": "sha512-fTiQP6WbDAh5QZAVdbMQkecZoahnbOjClTQhzv74WX5h2Uaidj1isf9FDes11TKtsZ0/ZVfZsqZ+O3x6aLERHQ==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.5", - "pkg-dir": "^4.2.0" - }, - "bin": { - "yarn-or-npm": "bin/index.js", - "yon": "bin/index.js" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/yarn-or-npm/node_modules/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/yarn-or-npm/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yarn-or-npm/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/yarn-or-npm/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yarn-or-npm/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yarn-or-npm/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/package.json b/package.json index d763106..1b894f6 100755 --- a/package.json +++ b/package.json @@ -41,8 +41,8 @@ "electron-installer-dmg": "^4.0.0" }, "dependencies": { - "electron-squirrel-startup": "^1.0.1", "codemirror": "5.65.2", + "electron-squirrel-startup": "^1.0.1", "simplyedit": "github:simplyedit/simplyedit", "simplycode": "github:simplyedit/simplycode", "simplyview": "github:simplyedit/simplyview" diff --git a/simplycode/js/simply-edit.js b/simplycode/js/simply-edit.js index 5be4d05..945287b 100755 --- a/simplycode/js/simply-edit.js +++ b/simplycode/js/simply-edit.js @@ -1553,8 +1553,8 @@ field.innerHTML = ""; } - field.hopeContent = document.createElement("textarea"); - field.hopeMarkup = document.createElement("textarea"); + field.hopeContent = {"value" : ""}; // this was a textarea, but having a textarea makes \r characters disappear which causes off-by-one errors in hope + field.hopeMarkup = {"value" : ""}; // this was a textarea, but having a textarea makes \r characters disappear which causes off-by-one errors in hope field.hopeRenderedSource = document.createElement("DIV"); field.hopeEditor = hope.editor.create( field.hopeContent, field.hopeMarkup, field, field.hopeRenderedSource ); field.hopeEditor.field = field; diff --git a/simplycode/simply/databind.js b/simplycode/simply/databind.js index 70ddf12..74cae7d 100644 --- a/simplycode/simply/databind.js +++ b/simplycode/simply/databind.js @@ -178,11 +178,9 @@ elementBinding = function(element, config, dataBinding) { } elementBinding.dataBinding.set(elementBinding.getter()); break; - case "childList": - break; default: - // there are needed to keep the focus in an element while typing; - dataBinding.set(elementBinding.getter()); + // these are needed to keep the focus in an element while typing; + elementBinding.dataBinding.set(elementBinding.getter()); break; } } @@ -233,8 +231,8 @@ elementBinding = function(element, config, dataBinding) { }); break; default: - // there are needed to keep the focus in an element while typing; - dataBinding.set(elementBinding.getter()); + // these are needed to keep the focus in an element while typing; + elementBinding.dataBinding.set(elementBinding.getter()); break; } } @@ -272,7 +270,7 @@ elementBinding = function(element, config, dataBinding) { case "databinding:valuechanged": // Allow the browser to fix what it thinks needs to be fixed (node to be removed, cleaned etc) before setting the new data; - // there are needed to keep the focus in an element while typing; + // these are needed to keep the focus in an element while typing; elementBinding.pauseListeners(); dataBinding.set(elementBinding.getter()); elementBinding.resumeListeners(); diff --git a/simplycode/simply/plugin.simply-baseurl.html b/simplycode/simply/plugin.simply-baseurl.html index cd4b12f..53f0f23 100644 --- a/simplycode/simply/plugin.simply-baseurl.html +++ b/simplycode/simply/plugin.simply-baseurl.html @@ -8,10 +8,10 @@ host = document.location.host; } - var re = new RegExp("('|\")(http|https):\/\/" + host + "([#?])", 'g'); + var re = new RegExp("('|\")(http|https):\/\/" + host + "([#?])", 'g'); data = data.replace(re, "$1/$3"); - re = new RegExp("('|\")(http|https):\/\/" + host + "([/#?])", 'g'); + re = new RegExp("('|\")(http|https):\/\/" + host + "([/#?])", 'g'); data = data.replace(re, "$1$3"); re = new RegExp("(')(http|https):\/\/" + host + "'", 'g');