From 582ffa44ca5e64f373584e2b5b4984333088c589 Mon Sep 17 00:00:00 2001 From: Ashersam Date: Fri, 27 Mar 2020 13:51:45 +0530 Subject: [PATCH 1/4] electronite changes for arabic rel --- src/components/AutographaStore.js | 1 + src/components/Navbar.js | 32 ++++++++++++++++++++++++------ src/components/ReferencePanel.js | 2 +- src/components/Settings.js | 1 + src/components/TranslationPanel.js | 14 ++++++++++--- 5 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/components/AutographaStore.js b/src/components/AutographaStore.js index e1b2a48..8c0b200 100644 --- a/src/components/AutographaStore.js +++ b/src/components/AutographaStore.js @@ -67,6 +67,7 @@ export class AutographaStore { @observable errorFile = [] @observable warningMsg = [] @observable bookindex = null + @observable setTransfont = '' constructor(bookId, chapterId, bookChapter, activeTab, showModalBooks, bookChapterContent, chunkGroup, content, currentRef, booksList, selectId) { diff --git a/src/components/Navbar.js b/src/components/Navbar.js index 11cf6b3..d9f9f0d 100644 --- a/src/components/Navbar.js +++ b/src/components/Navbar.js @@ -36,6 +36,7 @@ class Navbar extends React.Component { super(props); this.handleRefChange = this.handleRefChange.bind(this); this.getData = this.getData.bind(this); + this.fontChange = this.fontChange.bind(this) this.state = { showModal: false, showModalSettings: false, @@ -52,6 +53,9 @@ class Navbar extends React.Component { toggled: false, setDiff: false, toggleEdit: false, + setFont1: "", + setFont2: "", + setFont3: "" }; var verses, chapter; @@ -78,6 +82,7 @@ class Navbar extends React.Component { this.resetDiffValue(); } componentDidMount() { + this.fontChange() db.get('translatedBookNames', function (err, doc) { if (err) { localStorage.setItem('editBookNamesMode', false); @@ -99,6 +104,20 @@ class Navbar extends React.Component { }) AutographaStore.editBookNamesMode = localStorage.getItem('editBookNamesMode'); } + + fontChange() { + let options = ['eng_ult', 'eng_ust', 'hin_irv'] + if((options.indexOf(AutographaStore.activeRefs[0]) === -1)) + this.setState({setFont1: "Awami Nastaliq"}) + else this.setState({ setFont1: "" }) + if((options.indexOf(AutographaStore.activeRefs[1]) === -1)) + this.setState({ setFont2: "Awami Nastaliq" }) + else this.setState({ setFont2: "" }) + if((options.indexOf(AutographaStore.activeRefs[2]) === -1)) + this.setState({ setFont3: "Awami Nastaliq" }) + else this.setState({ setFont3: "" }) + } + getContent = (id, chapter) => { return refDb.get(id).then((doc) => { for (var i = 0; i < doc.chapters.length; i++) { @@ -464,6 +483,7 @@ class Navbar extends React.Component { if (error) console.log(error); }); + this.fontChange(event.target.value); } isSameLanguage = async () => { const verseLangCode = "", @@ -895,27 +915,27 @@ class Navbar extends React.Component { { AutographaStore.layout === 1 &&
-
+
} { AutographaStore.layout === 2 &&
-
+
-
+
} { AutographaStore.layout === 3 &&
-
+
-
+
-
+
} diff --git a/src/components/ReferencePanel.js b/src/components/ReferencePanel.js index fa517d8..bf5a7d3 100644 --- a/src/components/ReferencePanel.js +++ b/src/components/ReferencePanel.js @@ -39,7 +39,7 @@ class ReferencePanel extends React.Component {
{tIns || tDel ?
(+) {tIns} | (-) {tDel}
: ""}
-
+
diff --git a/src/components/Settings.js b/src/components/Settings.js index ca8cf1c..69fceae 100644 --- a/src/components/Settings.js +++ b/src/components/Settings.js @@ -258,6 +258,7 @@ class SettingsModal extends React.Component { targetPath: folderPath, langScript: AutographaStore.scriptDirection.toUpperCase() }; + (AutographaStore.scriptDirection === 'RTL') ? AutographaStore.setTransfont = 'Awami Nastaliq' : AutographaStore.setTransfont = '' ; db.get("targetBible").then( doc => { settingData._rev = doc._rev; diff --git a/src/components/TranslationPanel.js b/src/components/TranslationPanel.js index 11fce97..8a02ec7 100644 --- a/src/components/TranslationPanel.js +++ b/src/components/TranslationPanel.js @@ -7,7 +7,7 @@ import { ContextMenu, MenuItem, ContextMenuTrigger } from 'react-contextmenu'; import '../assets/stylesheets/context-menu.css'; const i18n = new(require('../translations/i18n')); const db = require(`${__dirname}/../util/data-provider`).targetDb(); -let verseId = 0; +let verseId = 0, langdir; @observer class TranslationPanel extends React.Component { @@ -17,7 +17,15 @@ class TranslationPanel extends React.Component { if(res) AutographaStore.scriptDirection = "rtl" }); this.timeout = 0; - } + } + + componentDidMount(){ + db.get("targetBible").then( + doc => { + langdir = doc.langScript.toUpperCase(); + (langdir === 'RTL') ? AutographaStore.setTransfont = 'Awami Nastaliq' : AutographaStore.setTransfont = '' ; + }); + } highlightRef(vId, refId, obj) { {/*var content = ReactDOM.findDOMNode(this); @@ -183,7 +191,7 @@ class TranslationPanel extends React.Component { const toggle = AutographaStore.toggle; for (let i = 0; i < AutographaStore.chunkGroup.length; i++) { let vid="v"+(i+1); - verseGroup.push(
+ verseGroup.push(
props}>{(i+1)} {AutographaStore.jointVerse[i] === undefined ? AutographaStore.translationContent[i] : } From 6db5eeaaad4ded3a7f761827cd4953ce051a9b52 Mon Sep 17 00:00:00 2001 From: Ashersam Date: Wed, 1 Apr 2020 12:13:11 +0530 Subject: [PATCH 2/4] nastaliz for bookname export, removed charater limit, nastaliz on everypage --- package.json | 4 ++-- src/assets/stylesheets/style.css | 2 +- src/components/BookNameEditor.js | 5 +++-- src/components/Navbar.js | 3 ++- src/util/export_html.js | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index bb110d4..529aabb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "autographa-lite", "description": "A Bible translation editor for everyone.", - "version": "1.4.0-beta.2", + "version": "1.4.0-beta.3", "main": "public/electron.js", "author": "Friends of Agape ", "license": "MIT", @@ -92,7 +92,7 @@ "eject": "react-scripts eject", "build:electron": "craco build --config craco.config.js main=build/electron.js", "preelectron-pack": "npm run build", - "electron-pack": "electron-builder --x64 --win --linux --mac -p never", + "electron-pack": "electron-builder --x64 --win --linux -p never", "deploy": "electron-builder --x64 --win --linux --mac -p always" }, "eslintConfig": { diff --git a/src/assets/stylesheets/style.css b/src/assets/stylesheets/style.css index b2ba492..336b553 100644 --- a/src/assets/stylesheets/style.css +++ b/src/assets/stylesheets/style.css @@ -8471,7 +8471,7 @@ ul { background-color: #f5f5f5 !important; } #bookdata { - padding-top: 20px; } + padding-top: 0px; } .translation { font-weight: bold; } diff --git a/src/components/BookNameEditor.js b/src/components/BookNameEditor.js index 8d4c5cd..d9eaf2a 100644 --- a/src/components/BookNameEditor.js +++ b/src/components/BookNameEditor.js @@ -131,7 +131,7 @@ export default function BookNameEditor({ show }) { )} diff --git a/src/components/Navbar.js b/src/components/Navbar.js index d9f9f0d..81d6b7a 100644 --- a/src/components/Navbar.js +++ b/src/components/Navbar.js @@ -789,7 +789,7 @@ class Navbar extends React.Component { {AutographaStore.translatedBookNames !== null && ( bookData.map((item, index) => { return
  • - {item} @@ -853,6 +853,7 @@ class Navbar extends React.Component { data-placement="bottom" title="Select Book" id="book-chapter-btn" + style={{ fontFamily: "Awami Nastaliq"}} > {bookName} diff --git a/src/util/export_html.js b/src/util/export_html.js index 3abc77b..a0b4c60 100644 --- a/src/util/export_html.js +++ b/src/util/export_html.js @@ -84,7 +84,7 @@ module.exports = { ${ column == 1 ? css_1_col_rtl : css_2_col_rtl } -

    ${currentBookname}

    +

    ${currentBookname}

    ` var contentFlag = false; db.get(currentBook._id).then(function(doc) { From 3039c49660f92df215d4216c20afb184ca7db4d4 Mon Sep 17 00:00:00 2001 From: Ashersam Date: Thu, 2 Apr 2020 20:37:21 +0530 Subject: [PATCH 3/4] added new chnages in ui booknames and import singleverse --- src/assets/stylesheets/style.css | 15 ++++++++++++++- src/components/AutographaStore.js | 1 + src/components/BookNameEditor.js | 2 +- src/components/Navbar.js | 10 +++++++--- src/util/usfm_to_json.js | 17 +++++++++++------ 5 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/assets/stylesheets/style.css b/src/assets/stylesheets/style.css index 336b553..9b2e235 100644 --- a/src/assets/stylesheets/style.css +++ b/src/assets/stylesheets/style.css @@ -8528,7 +8528,12 @@ button .caret { border-bottom-right-radius: 0; border-top-right-radius: 0; color: #0b82ff; - font-weight: bold; } + font-weight: bold; + display: inline-block; + white-space: nowrap; + max-width: 12em; + overflow: hidden; + text-overflow: ellipsis; } #chapterBtn { color: #0b82ff; @@ -8919,4 +8924,12 @@ div::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { background-color: darkgrey; outline: 1px solid slategrey; +} +.booklistcollapse { + display: inline-block; + white-space: nowrap; + max-width: 10em; + overflow: hidden; + text-overflow: ellipsis; + font-size: 14px; } \ No newline at end of file diff --git a/src/components/AutographaStore.js b/src/components/AutographaStore.js index 8c0b200..20d4a58 100644 --- a/src/components/AutographaStore.js +++ b/src/components/AutographaStore.js @@ -22,6 +22,7 @@ export class AutographaStore { @observable chapterActive = 1 @observable currentRef = 'eng_ult' @observable bookData = Constant.booksList + @observable editbookData = Constant.booksEditList @observable translatedBookNames = null @observable openBookNameEditor = false @observable updatedTranslatedBookNames = '' diff --git a/src/components/BookNameEditor.js b/src/components/BookNameEditor.js index d9eaf2a..a0662f6 100644 --- a/src/components/BookNameEditor.js +++ b/src/components/BookNameEditor.js @@ -147,7 +147,7 @@ export default function BookNameEditor({ show }) { value={updatedValue || ''} name='updatedValue' id='updatedValue' - // maxLength={20} + maxLength={100} /> )} diff --git a/src/components/Navbar.js b/src/components/Navbar.js index 81d6b7a..8cc90b9 100644 --- a/src/components/Navbar.js +++ b/src/components/Navbar.js @@ -782,18 +782,22 @@ class Navbar extends React.Component {
    ) : '' } - +
      {AutographaStore.translatedBookNames !== null && ( bookData.map((item, index) => { return
    • - - {item} + + {item} + +
    • diff --git a/src/util/usfm_to_json.js b/src/util/usfm_to_json.js index 86ecbcd..00d08a9 100644 --- a/src/util/usfm_to_json.js +++ b/src/util/usfm_to_json.js @@ -25,6 +25,7 @@ module.exports = { refDb = require(`${__dirname}/../util/data-provider`).referenceDb(), c = 0, v = 0, + id='', vnum = 0, usfmBibleBook = false, validLineCount = 0, @@ -48,6 +49,7 @@ module.exports = { } else if (splitLine[0] === '\\id') { if (booksCodes.includes(splitLine[1].toUpperCase())) usfmBibleBook = true; + id = splitLine[1] book._id = id_prefix + splitLine[1].toUpperCase(); } else if (splitLine[0] === '\\c') { book.chapters[parseInt(splitLine[1], 10) - 1] = { @@ -107,10 +109,9 @@ module.exports = { } else if (splitLine[0].match(new RegExp(/\\mt$/gm))) { let cleanedStr = replaceMarkers(line); - let bookid = book._id.split(/_+/) - if (booksCodes.includes(bookid[2].toUpperCase())){ + if (booksCodes.includes(id.toUpperCase())){ let userBookList = AutographaStore.translatedBookNames - userBookList.splice(booksCodes.indexOf(bookid[2]), 1, cleanedStr) + userBookList.splice(booksCodes.indexOf(id), 1, cleanedStr) } } else if (splitLine[0].startsWith('\\s')) { //Do nothing for section headers now. @@ -119,10 +120,13 @@ module.exports = { } else if (splitLine[0].match(new RegExp(/\\m$/gm))) { let cleanedStr = replaceMarkers(line); cleanedStr = "\n" + cleanedStr; - book.chapters[c - 1].verses[vnum - 1].verse += ((cleanedStr.length === 0 ? '' : ' ') + cleanedStr); + let verseIndex = book.chapters[c - 1].verses.findIndex(val => val.verse_number === vnum); + if(book.chapters[c - 1].verses[verseIndex].verse !== undefined) { + book.chapters[c - 1].verses[verseIndex].verse += ((cleanedStr.length === 0 ? '' : ' ') + cleanedStr); + } } else if (splitLine[0].startsWith('\\r')) { // Do nothing here for now. - } else if (c > 0 && vnum > 0) { + } else if (c > 0 && v > 0) { var qflag = false; if(line.match(new RegExp(/[\\q\n]/g))){ qflag = true @@ -131,7 +135,8 @@ module.exports = { if(qflag === false){ cleanedStr = "\n" + cleanedStr; } - book.chapters[c - 1].verses[vnum - 1].verse += ((cleanedStr.length === 0 ? '' : ' ') + cleanedStr); + let verseIndex = book.chapters[c - 1].verses.findIndex(val => val.verse_number === vnum); + book.chapters[c - 1].verses[verseIndex].verse += ((cleanedStr.length === 0 ? '' : ' ') + cleanedStr); } }); From 9daa1a8294272d44c2ef4775f9d054f20e7b5d3e Mon Sep 17 00:00:00 2001 From: Asher Samuel Date: Fri, 10 Jul 2020 12:56:52 -0700 Subject: [PATCH 4/4] added latest electronite --- package-lock.json | 296 +++++++++++++++++++++++++++++++++++++--------- package.json | 10 +- 2 files changed, 248 insertions(+), 58 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad09960..cf9b45d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "autographa-lite", - "version": "1.3.5-beta.1", + "version": "1.4.0-beta.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2769,6 +2769,60 @@ "ajv-keywords": "^3.1.0" } }, + "@electron/get": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", + "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "sanitize-filename": "^1.6.2", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "requires": { + "debug": "^4.1.0" + } + } + } + }, "@emotion/hash": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.3.tgz", @@ -3349,8 +3403,7 @@ "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" }, "@svgr/babel-plugin-add-jsx-attribute": { "version": "4.2.0", @@ -3465,7 +3518,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, "requires": { "defer-to-connect": "^1.0.1" } @@ -5197,6 +5249,12 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, + "boolean": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", + "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", + "optional": true + }, "bootstrap-slider": { "version": "10.6.2", "resolved": "https://registry.npmjs.org/bootstrap-slider/-/bootstrap-slider-10.6.2.tgz", @@ -5661,7 +5719,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -5676,7 +5733,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -5684,14 +5740,12 @@ "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, "normalize-url": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "dev": true + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" } } }, @@ -6080,7 +6134,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, "requires": { "mimic-response": "^1.0.0" } @@ -6367,6 +6420,16 @@ } } }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "configstore": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", @@ -6986,7 +7049,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, "requires": { "mimic-response": "^1.0.0" } @@ -7041,8 +7103,7 @@ "defer-to-connect": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", - "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==", - "dev": true + "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" }, "deferred-leveldown": { "version": "5.2.1", @@ -7437,8 +7498,7 @@ "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, "duplexify": { "version": "3.7.1", @@ -7505,17 +7565,6 @@ "integrity": "sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==", "dev": true }, - "electron": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/electron/-/electron-6.0.10.tgz", - "integrity": "sha512-eTFm6uTn7NKZE1OtSZSOxNuOrCXXeUR0U3vdF3R00byB7mrNe5AOaXEDDMwtzRGGY1jMuUX9Z7RvgXaCXRYSmw==", - "dev": true, - "requires": { - "@types/node": "^10.12.18", - "electron-download": "^4.1.0", - "extract-zip": "^1.0.3" - } - }, "electron-builder": { "version": "21.2.0", "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-21.2.0.tgz", @@ -7783,6 +7832,23 @@ "integrity": "sha512-t2ZTfo07HxkxTOUbIwMmqHBSnJsC9heqJUm7LwQu2iSk0wNhG4H5cMREtb8XxeCrQABDZ6IqQKY3yZq+NfAqwg==", "dev": true }, + "electronite": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/electronite/-/electronite-6.0.7.tgz", + "integrity": "sha512-Vi6vvfwEktwGaEJzGmC7zgwatVD1gwxTT0fCuTvO60uNeFQ0ZMqM407rShlJPLCkVs7Z1kZ2BpH4ZcvBLZU03A==", + "requires": { + "@electron/get": "^1.7.2", + "@types/node": "^13.7.0", + "extract-zip": "^1.6.7" + }, + "dependencies": { + "@types/node": { + "version": "13.13.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.12.tgz", + "integrity": "sha512-zWz/8NEPxoXNT9YyF2osqyA9WjssZukYpgI4UYZpOjcyqwIUqWGkcCionaEb9Ki+FULyPyvNFpg/329Kd2/pbw==" + } + } + }, "elliptic": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", @@ -7980,6 +8046,12 @@ "resolved": "https://registry.npmjs.org/es6-denodeify/-/es6-denodeify-0.1.5.tgz", "integrity": "sha1-MdTV/pxVA+ElRgQ5MQ4WoqPznB8=" }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "optional": true + }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", @@ -8823,7 +8895,6 @@ "version": "1.6.7", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", - "dev": true, "requires": { "concat-stream": "1.6.2", "debug": "2.6.9", @@ -8921,7 +8992,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "dev": true, "requires": { "pend": "~1.2.0" } @@ -9596,6 +9666,35 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" }, + "global-agent": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", + "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", + "optional": true, + "requires": { + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "optional": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "optional": true + } + } + }, "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -9630,11 +9729,32 @@ } } }, + "global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, "globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", @@ -9678,7 +9798,6 @@ "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, "requires": { "@sindresorhus/is": "^0.14.0", "@szmarczak/http-timer": "^1.1.2", @@ -10031,8 +10150,7 @@ "http-cache-semantics": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==", - "dev": true + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" }, "http-deceiver": { "version": "1.2.7", @@ -12002,8 +12120,7 @@ "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" }, "json-parse-better-errors": { "version": "1.0.2", @@ -12187,7 +12304,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, "requires": { "json-buffer": "3.0.0" } @@ -12663,8 +12779,7 @@ "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "lru-cache": { "version": "5.1.1", @@ -12740,6 +12855,23 @@ "object-visit": "^1.0.0" } }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "optional": true + } + } + }, "material-ui": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.2.tgz", @@ -13077,8 +13209,7 @@ "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, "mini-css-extract-plugin": { "version": "0.8.0", @@ -13709,6 +13840,16 @@ } } }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -14063,8 +14204,7 @@ "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" }, "p-defer": { "version": "1.0.0", @@ -14332,8 +14472,7 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "performance-now": { "version": "2.1.0", @@ -15831,8 +15970,7 @@ "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "pretty-bytes": { "version": "5.3.0", @@ -15987,6 +16125,12 @@ "warning": "^3.0.0" } }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "optional": true + }, "proxy-addr": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", @@ -17251,7 +17395,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, "requires": { "lowercase-keys": "^1.0.0" } @@ -17339,6 +17482,28 @@ "inherits": "^2.0.1" } }, + "roarr": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz", + "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==", + "optional": true, + "requires": { + "boolean": "^3.0.0", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "optional": true + } + } + }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", @@ -17424,7 +17589,6 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, "requires": { "truncate-utf8-bytes": "^1.0.0" } @@ -17543,6 +17707,12 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "optional": true + }, "semver-diff": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", @@ -17584,6 +17754,23 @@ } } }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "optional": true, + "requires": { + "type-fest": "^0.13.1" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true + } + } + }, "serialize-javascript": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", @@ -18970,8 +19157,7 @@ "to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" }, "to-regex": { "version": "3.0.2", @@ -19036,7 +19222,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, "requires": { "utf8-byte-length": "^1.0.1" } @@ -19077,6 +19262,12 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "optional": true + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -19399,7 +19590,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, "requires": { "prepend-http": "^2.0.0" } @@ -19412,8 +19602,7 @@ "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", - "dev": true + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" }, "util": { "version": "0.10.3", @@ -21577,7 +21766,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, "requires": { "fd-slicer": "~1.0.1" } diff --git a/package.json b/package.json index 529aabb..1d3394d 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "customize-cra": "^0.2.12", "diff-match-patch": "^1.0.0", "electron-squirrel-startup": "^1.0.0", + "electronite": "^6.0.7", "fs-jetpack": "^1.0.0", "jquery": "^3.3.1", "leveldown": "^5.0.0-2", @@ -48,6 +49,8 @@ "src/**/*.*", "patterns.prop" ], + "electronVersion": "null", + "electronDist": "./node_modules/electronite/dist", "directories": { "buildResources": "resources" }, @@ -84,7 +87,7 @@ "scripts": { "start": "concurrently \"npm run react-start\" \"wait-on http://localhost:3000/ && cross-env NODE_ENV=development npm run electron-start\"", "build": "npm run build:electron", - "electron-start": "electron .", + "electron-start": "electronite .", "electron-build": "electron-packager ./build --out=dist", "react-start": "craco start", "react-build": "craco build", @@ -92,8 +95,8 @@ "eject": "react-scripts eject", "build:electron": "craco build --config craco.config.js main=build/electron.js", "preelectron-pack": "npm run build", - "electron-pack": "electron-builder --x64 --win --linux -p never", - "deploy": "electron-builder --x64 --win --linux --mac -p always" + "electron-pack": "electron-builder -p never", + "deploy": "electron-builder -p always" }, "eslintConfig": { "extends": "react-app" @@ -110,7 +113,6 @@ "babel-plugin-react-intl": "^3.0.1", "concurrently": "^5.1.0", "cross-env": "^5.2.0", - "electron": "^6.0.9", "electron-builder": "^21.2.0", "electron-packager": "^13.1.1", "electron-rebuild": "^1.8.4",