From 1de5bd0fe0b71c9fdd01ffa170c9ad281a6ba168 Mon Sep 17 00:00:00 2001 From: Joe Duncko Date: Wed, 30 Sep 2020 23:57:03 -0400 Subject: [PATCH] It's working, at least when the app is running! How the heck do you get it to load a file on first click? --- .eslintrc.js | 13 ++ Info.plist | 23 ++ lightning.icns | Bin 0 -> 36669 bytes package-lock.json | 577 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 5 +- src/index.html | 13 -- src/main.js | 53 +++-- 7 files changed, 645 insertions(+), 39 deletions(-) create mode 100644 .eslintrc.js create mode 100644 Info.plist create mode 100644 lightning.icns diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..c8522d2 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,13 @@ +module.exports = { + "env": { + "commonjs": true, + "es2021": true, + "node": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": 12 + }, + "rules": { + } +}; diff --git a/Info.plist b/Info.plist new file mode 100644 index 0000000..67de16d --- /dev/null +++ b/Info.plist @@ -0,0 +1,23 @@ + + + + + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + swf + + CFBundleTypeIconFile + lightning.icns + CFBundleTypeName + Adobe Flash + CFBundleTypeRole + Viewer + LSHandlerRank + Alternate + + + + diff --git a/lightning.icns b/lightning.icns new file mode 100644 index 0000000000000000000000000000000000000000..2e382e7f859fc4b730db2487d05681d8a1d95b63 GIT binary patch literal 36669 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 b^?pc>u+_|9dsC%QXqBrR1-M%ZeL4RxcMjv~ literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index 6e49fce..45dd226 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,78 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "@electron-forge/async-ora": { "version": "6.0.0-beta.53", "resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.53.tgz", @@ -412,6 +484,24 @@ } } }, + "@eslint/eslintrc": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz", + "integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, "@malept/cross-spawn-promise": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.0.tgz", @@ -776,6 +866,12 @@ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, "ajv": { "version": "6.12.4", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", @@ -872,6 +968,23 @@ "readable-stream": "^2.0.6" } }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -997,6 +1110,12 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", @@ -1479,6 +1598,12 @@ } } }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, "camel-case": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", @@ -2098,6 +2223,12 @@ "mimic-response": "^1.0.0" } }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -2229,6 +2360,15 @@ } } }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -2744,6 +2884,23 @@ } } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + } + } + }, "entities": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", @@ -2829,6 +2986,63 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "eslint": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.10.0.tgz", + "integrity": "sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.1.3", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + } + } + }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -2839,6 +3053,63 @@ "estraverse": "^4.1.1" } }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -2862,6 +3133,12 @@ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -3229,6 +3506,12 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -3253,6 +3536,15 @@ "escape-string-regexp": "^1.0.5" } }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -3400,6 +3692,34 @@ } } }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, "flora-colossus": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz", @@ -3557,6 +3877,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "galactus": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz", @@ -3754,7 +4080,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, - "optional": true, "requires": { "is-glob": "^4.0.1" } @@ -3833,6 +4158,23 @@ "tunnel": "^0.0.6" } }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, "globalthis": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", @@ -4184,6 +4526,22 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4369,8 +4727,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "optional": true + "dev": true }, "is-finite": { "version": "1.1.0", @@ -4389,7 +4746,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, - "optional": true, "requires": { "is-extglob": "^2.1.1" } @@ -4516,6 +4872,22 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -4546,6 +4918,12 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -4603,6 +4981,16 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -5199,6 +5587,12 @@ "to-regex": "^3.0.1" } }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -5620,6 +6014,20 @@ } } }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, "ora": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", @@ -5739,6 +6147,15 @@ "tslib": "^1.10.0" } }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, "parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", @@ -6070,6 +6487,12 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", @@ -6418,6 +6841,12 @@ "safe-regex": "^1.1.0" } }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -6550,6 +6979,12 @@ "global-modules": "^1.0.0" } }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, "resolve-package": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz", @@ -6906,6 +7341,49 @@ } } }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -7297,6 +7775,12 @@ "get-stdin": "^4.0.1" } }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -7348,6 +7832,58 @@ } } }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", @@ -7445,6 +7981,12 @@ } } }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, "throttleit": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", @@ -7684,6 +8226,15 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, "type-fest": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", @@ -7917,6 +8468,12 @@ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -8302,8 +8859,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "optional": true + "dev": true }, "worker-farm": { "version": "1.7.0", @@ -8332,6 +8888,15 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, "ws": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", diff --git a/package.json b/package.json index f79d9b9..3400b27 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,9 @@ "license": "MIT", "config": { "forge": { - "packagerConfig": {}, + "packagerConfig": { + "extendInfo": "Info.plist" + }, "makers": [ { "name": "@electron-forge/maker-squirrel", @@ -72,6 +74,7 @@ "@marshallofsound/webpack-asset-relocator-loader": "^0.5.0", "css-loader": "^4.2.1", "electron": "10.1.1", + "eslint": "^7.10.0", "node-loader": "^1.0.1", "style-loader": "^1.2.1" }, diff --git a/src/index.html b/src/index.html index 348de0b..95adb64 100644 --- a/src/index.html +++ b/src/index.html @@ -12,22 +12,9 @@ color: blue; } - -

💖 Hello World!

Welcome to your Electron application.

- - - diff --git a/src/main.js b/src/main.js index 0e187db..ed599e2 100644 --- a/src/main.js +++ b/src/main.js @@ -1,6 +1,6 @@ const { app, Menu, BrowserWindow, dialog, protocol } = require("electron"); const path = require("path"); -var flashTrust = require("nw-flash-trust"); +// var flashTrust = require("nw-flash-trust"); const isMac = process.platform === "darwin"; @@ -115,12 +115,10 @@ console.log("test", Menu.getApplicationMenu()); // big and small letters, numbers and chars "-._" // It specifies name of file where trusted paths will be stored. // Best practice is to feed it with "name" value from your package.json file. -var appName = "myApp"; +// var appName = "myApp"; // Initialization and parsing config file for given appName (if already exists). -var trustManager = flashTrust.initSync(appName); - -let mainWindow; +// var trustManager = flashTrust.initSync(appName); app.on("window-all-closed", function () { if (process.platform != "darwin") app.quit(); @@ -156,15 +154,23 @@ app.commandLine.appendSwitch("ppapi-flash-path", ppapi_flash_path); // Specify flash version, for example, v18.0.0.203 app.commandLine.appendSwitch("ppapi-flash-version", "18.0.0.203"); +let dialogIsOpen = false; + const showOpenDialog = () => { - dialog.showOpenDialog({ properties: ["openFile"] }).then((test) => { + dialogIsOpen = true; + dialog.showOpenDialog({ properties: ["openFile"] }).then((event) => { + dialogIsOpen = false; // adds given filepath to trusted locations // paths must be absolute // trustManager.add(`file:///Users/joeduncko/Downloads/f/BeepBeep.swf`); - mainWindow.loadURL(`file://${test.filePaths[0]}`); - }); -} + if (event.filePaths[0]) { + const newWindow = createWindow(); + + newWindow.loadURL(`file://${event.filePaths[0]}`); + } + }); +}; const createWindow = () => { protocol.registerFileProtocol("file", (request, callback) => { @@ -172,14 +178,14 @@ const createWindow = () => { callback(pathname); }); - trustManager.add(`file:///Users/joeduncko/Downloads/f/BeepBeep.swf`); + // trustManager.add(`file:///Users/joeduncko/Downloads/f/BeepBeep.swf`); - var isTrusted = trustManager.isTrusted( - `file:///Users/joeduncko/Downloads/f/BeepBeep.swf` - ); + // var isTrusted = trustManager.isTrusted( + // `file:///Users/joeduncko/Downloads/f/BeepBeep.swf` + // ); // console.log("is trusted", isTrusted); - mainWindow = new BrowserWindow({ + return new BrowserWindow({ width: 800, height: 600, webPreferences: { @@ -188,12 +194,21 @@ const createWindow = () => { webSecurity: false, }, }); - - showOpenDialog(); -} +}; app.on("ready", function () { - createWindow(); + // Only open the dialog if it's not open yet + if (!dialogIsOpen) { + showOpenDialog(); + } + + app.on("open-file", (event, file) => { + event.preventDefault(); + + const newWindow = createWindow(); + + newWindow.loadURL(`file://${file}`); + }); }); // Quit when all windows are closed, except on macOS. There, it's common @@ -209,7 +224,7 @@ app.on("activate", () => { // On OS X it's common to re-create a window in the app when the // dock icon is clicked and there are no other windows open. if (BrowserWindow.getAllWindows().length === 0) { - createWindow(); + showOpenDialog(); } });