├── .gitignore
├── LICENSE
├── README.md
├── _config.yml
├── guide
└── HELPME.md
├── help
└── notable.pdf
├── icons
├── 256x256.png
├── cd.ico
├── dassad.png
└── ico.icns
├── main.js
├── notify
├── cd.png
└── notify.js
├── package-lock.json
├── package.json
├── public
├── cd.png
├── help.html
├── main.html
├── settings.html
├── site.html
└── style.css
├── scripts
├── scriptforhelp.js
├── scripts.js
└── scriptsforsettings.js
├── settings
└── settings.json
└── webhost
└── script.js
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | build
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Fredy Somy
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 | # MarkdownIt
13 |
14 | #### A Efficent Code Editor to live render Markdown and Can save the rendered file as **Markdown**,**Html** and **Pdf** . Also Instant Hosting in The Web
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | Features
37 | •
38 | MarkdownItHost
39 | •
40 | Downloads
41 | •
42 | Guide
43 |
44 |
45 |
46 |
47 |
48 | Features
49 |
50 | * Live preview of the changes you make
51 | * You can save the file and open any md files in the editor.
52 | * You can save convert the markdown you have written into html and pdf.
53 | * Uses Ace editor
54 | * Bootstrap styling is enabled
55 | * You can change the editor themes and text colors for your preference
56 | * There is a settings.json file to handle all themes and style changes
57 | * Html tags can be used with the markdown.
58 | * The pdf file generated is also html friendly.
59 | * Clean UI and also have a reference for markdown.
60 | * `Has instant web hosting feature.`
61 | * [You can create a static single paged website in this editor.](#MarkdownItHost)
62 | * MarkdownItHost is the service in the editor that allows you to host websites.
63 |
64 |
65 | MarkdownItHost
66 |
67 | * A simple way to host websites (included in the code editor)
68 | * One can create a webpage with one click [See here](https://markdownitweb.herokuapp.com/markdownit-dc7f)
69 | * A config file with the path name of your website and unique secret id is to be saved in your PC.
70 | * Only with the config file you can edit and publish your site.
71 | * Deploys a Static website within 2 seconds.(With 2-3 clicks).
72 | * Any bugs or queries can be mailed to [me](mailto:fredysomy@gmail.com)
73 | * All the "HOW to" guide is included [Here]()
74 | * `You can use Bootstrap styling inside the code you Write ( no need to inculde the scripts)`
75 |
76 | [](https://app.fossa.com/projects/git%2Bgithub.com%2Ffredysomy%2FMarkdownIt?ref=badge_large)
77 |
78 | ### How to use(Source code)
79 |
80 |
81 |
82 | ##### Clone this repository
83 | ```
84 | git clone https://github.com/fredysomy/MarkdownIt
85 | ```
86 | ##### Install dependencies
87 | ```
88 | npm install
89 | ```
90 | ##### Run the app
91 | ```
92 | npm start
93 | ```
94 |
95 |
96 |
97 |
98 | ## Changelog
99 | #### `v1.0.0`
100 | * Added code editor
101 | * Added file saving
102 | * Aditional options like save as pdf and save as html.
103 | #### `v1.0.2`
104 | * Added MarkdownItHost to publish static websites
105 | * Online offline alerts.
106 |
107 | ## Contibute
108 | * Fork the repostory
109 | * install the dependencies
110 | * Make your changes
111 | * And make a pull request from your repo. (I will surely look forward for the PR's)
112 | ## Made with
113 | * Electron
114 | * Ace js
115 | * markdown-pdf
116 |
117 | ***
118 |
119 |
120 |
121 | © Copyright 2020 ,MarkdownIt (Fredy Somy).
122 |
123 |
124 |
125 |
126 | ***
127 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
--------------------------------------------------------------------------------
/guide/HELPME.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 | # MarkdownIt-Guide
13 | #### A Efficent Code Editor to live render Markdown and Can save the rendered file as **Markdown**,**Html** and **Pdf**.Also Instant Hosting for static single paged websites.
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | ## `Editor`
26 |
27 | ***
28 |
29 |
30 |
31 | ***
32 |
33 | * The left window is the editor where you can edit the markdown.
34 | * The right window live previews the changes you made in the editor.
35 |
36 | ***
37 |
38 |
39 |
40 | ***
41 |
42 | * The SAVE AS button allows you to save your .md files.
43 | * With OPEN FILE you can open any .md files to edit.
44 | * SAVE AS PDF allows you to convert the markdown you wrote in editor to pdf.
45 | * SAVE AS HTML allows you to convert the markdown you wrote in editor to html format.
46 | * Settings button gives you access to change theme of editor.
47 |
48 | ## `Settings`
49 |
50 | ***
51 |
52 |
53 |
54 | ***
55 |
56 | * You can change the theme of the editor to various themes available.
57 | * You can also change the background and text color.( Refer image above ).
58 |
59 | ***
60 |
61 | # `MarkdownItHost`
62 | ***
63 | ##### Web hosting service inside MarkdownIt.
64 | ***
65 |
66 |
67 | ***
68 |
69 | * You can create a new website with the CREATE SITE button.
70 | * Instant publishing can be done using PUBLISH button.
71 | * You can edit any websites you made (provided you have the config file for the respective website in your system).
72 |
73 | ***
74 |
75 | ### `For more explanation watch the gif below.`
76 |
77 | ***
78 |
79 |
80 |
81 | ***
82 |
83 |
84 | ## `Contact`
85 |
86 | ***
87 |
88 | * Feel free to email [me](mailto:fredysomy@gmail.com) for Bugs Found or queries.
89 | * I will be happy to help.
90 |
91 |
92 | © Copyright 2020, MarkdownIt ( Fredy Somy )
93 |
--------------------------------------------------------------------------------
/help/notable.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fredysomy/MarkdownIt/969a3c8d8c4b877ce86ede6937a3f7763cfc72fd/help/notable.pdf
--------------------------------------------------------------------------------
/icons/256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fredysomy/MarkdownIt/969a3c8d8c4b877ce86ede6937a3f7763cfc72fd/icons/256x256.png
--------------------------------------------------------------------------------
/icons/cd.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fredysomy/MarkdownIt/969a3c8d8c4b877ce86ede6937a3f7763cfc72fd/icons/cd.ico
--------------------------------------------------------------------------------
/icons/dassad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fredysomy/MarkdownIt/969a3c8d8c4b877ce86ede6937a3f7763cfc72fd/icons/dassad.png
--------------------------------------------------------------------------------
/icons/ico.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fredysomy/MarkdownIt/969a3c8d8c4b877ce86ede6937a3f7763cfc72fd/icons/ico.icns
--------------------------------------------------------------------------------
/main.js:
--------------------------------------------------------------------------------
1 | const electron = require('electron');
2 | const url=require('url');
3 | const path=require('path');
4 | const fs=require('fs');
5 | const { Notification } = require('electron')
6 | //Custom notifications created
7 | const { savenotify,
8 | notsaved,
9 | pdfsaved,
10 | settingssaved,
11 | htmlsaved,
12 | webpagecreated,
13 | succesfuldeploy }=require('./notify/notify')
14 | const {app,BrowserWindow,Menu,ipcMain,dialog,remote,webContents} =electron;
15 | var markdownpdf = require("markdown-pdf")
16 | let mainwindow;
17 | let setingwindow;
18 | let sitewindow;
19 | app.on('ready',()=>{
20 | mainwindow=new BrowserWindow({
21 | width: 1300,
22 | height: 855,
23 | backgroundColor: '#2e2c29',
24 | webPreferences: {
25 | nodeIntegration:true
26 | },
27 | frame:false,
28 |
29 | });
30 | mainwindow.loadURL(url.format({
31 | pathname:path.join(__dirname,'public/main.html'),
32 | protocol:'file:',
33 | slashes:true
34 | }));
35 | mainwindow.webContents.on("new-window", function(event, url) {
36 | event.preventDefault();
37 | shell.openExternal(url);
38 | });
39 |
40 |
41 | });
42 |
43 | ipcMain.on("open",(event,arg)=> {
44 | dialog.showSaveDialog({filters:[{name: "Markdown",extensions:['md']}]})
45 | .then(data => data.filePath)
46 | .then(path =>{
47 | if (path== undefined) {
48 | console.log("Cannot be saved")
49 | notsaved()
50 | }
51 | else{
52 | fs.writeFileSync(path,arg);
53 | savenotify(path)
54 | }
55 |
56 |
57 | }).catch((err)=> {
58 | console.log(err)
59 | })
60 |
61 | });
62 | ipcMain.on("open1",(event,arg)=> {
63 | dialog.showOpenDialog(mainwindow,{filters:[{name: "Markdown",extensions:['md']}]})
64 | .then(data1 => data1.filePaths)
65 | .then(path2 =>{
66 | x=path2[0]
67 |
68 | if (x == undefined) {
69 | return;
70 | }
71 | else {
72 | try{
73 | data=fs.readFileSync(x,'utf-8')
74 | event.returnValue = data;
75 | }
76 | catch(err) {
77 | console.log(err)
78 | }
79 |
80 | }
81 |
82 |
83 | }).catch((err)=> {
84 | console.log(err)
85 | })
86 |
87 | });
88 |
89 |
90 | ipcMain.on("minimize",(even,msg)=>{
91 | mainwindow.minimize()
92 | });
93 | ipcMain.on("maximize",(even,msg)=>{
94 | mainwindow.maximize()
95 | });
96 | ipcMain.on("quit",(even,msg)=>{
97 | app.quit()
98 | });
99 | ipcMain.on('openwindow',(ev,ar)=>{
100 | setingwindow=new BrowserWindow({
101 | width: 550,
102 | height: 700,
103 | backgroundColor: '#2e2c29',
104 | webPreferences: {
105 | nodeIntegration:true
106 | },
107 | frame:false,
108 | });
109 | setingwindow.loadURL(url.format({
110 | pathname:path.join(__dirname,'public/settings.html'),
111 | protocol:'file:',
112 | slashes:true
113 | }));
114 | });
115 | ipcMain.on('close_settings',(e,a)=>{
116 | setingwindow.close()
117 | });
118 | ipcMain.on('quit-screen',(e,a)=>{
119 | setingwindow.close();
120 | mainwindow.reload()
121 | });
122 |
123 | ipcMain.on("savetopdfnow",(event1,arg)=>{
124 | dialog.showSaveDialog({filters:[{name: "Pdf",extensions:['pdf']}]})
125 | .then(fil => fil.filePath)
126 | .then(ppath=>{
127 | if (ppath == undefined) {
128 | return;
129 | }
130 | else{
131 | markdownpdf({
132 | remarkable: {
133 | html: true,
134 | breaks: true
135 | }
136 | }).from.string(arg).to(ppath, function () {
137 | pdfsaved(ppath);
138 | })
139 | }
140 | })
141 | })
142 | ipcMain.on("savehtmlnow",(event1,arg)=> {
143 | dialog.showSaveDialog({filters:[{name: "HTML",extensions:['html','htm']}]})
144 | .then(data => data.filePath)
145 | .then(path =>{
146 | if (path== undefined) {
147 | console.log("Cannot be saved")
148 | notsaved()
149 | }
150 | else{
151 | fs.writeFileSync(path,arg);
152 | htmlsaved(path);
153 | }
154 |
155 |
156 | }).catch((err)=> {
157 | console.log(err)
158 | })
159 |
160 | });
161 | ipcMain.on('settingssaved',(ev,args)=>{
162 | settingssaved(args);
163 | })
164 |
165 | ipcMain.on("helpmewithmarkdown",(even,arg)=>{
166 | helpwindow=new BrowserWindow({
167 | width: 550,
168 | height: 700,
169 | backgroundColor: '#2e2c29',
170 | webPreferences: {
171 | nodeIntegration:true
172 | },
173 | frame:false,
174 | });
175 | helpwindow.loadURL(url.format({
176 | pathname:path.join(__dirname,'public/help.html'),
177 | protocol:'file:',
178 | slashes:true
179 | }));
180 |
181 | })
182 |
183 | ipcMain.on("closehelpwindow",(ev,arg)=>{
184 | helpwindow.close();
185 | })
186 | ipcMain.on("opencreatesite",(ev,arg)=>{
187 | sitewindow=new BrowserWindow({
188 | width: 550,
189 | height: 700,
190 | backgroundColor: '#2e2c29',
191 | webPreferences: {
192 | nodeIntegration:true
193 | },
194 | frame:false,
195 | });
196 | sitewindow.loadURL(url.format({
197 | pathname:path.join(__dirname,'public/site.html'),
198 | protocol:'file:',
199 | slashes:true
200 | }));
201 |
202 | })
203 | ipcMain.on("quitcreatewindow",(e,a)=>{
204 | sitewindow.close();
205 | })
206 |
207 | ipcMain.on("saveconfignow",(eve,arg)=>{
208 | dialog.showSaveDialog({title:"Save and Remember the path to the config file", buttonLabel:"Save Config file",defaultPath:`${arg.name}.json`,filters: [{ name: 'Data File', extensions: ['json'] }],})
209 | .then(data => data.filePath)
210 | .then(path =>{
211 | if (path== undefined) {
212 | notsaved()
213 | return;
214 |
215 | }
216 | else{
217 |
218 |
219 | fs.writeFileSync(path,JSON.stringify({name:arg.name,id:arg.id}));
220 | webpagecreated(arg.name);
221 | }
222 |
223 |
224 | }).catch((err)=> {
225 | console.log(err)
226 | })
227 | })
228 | ipcMain.on('getconfigfiles',(ev,arg)=>{
229 | dialog.showOpenDialog(mainwindow,{title:"Select config file of your website", buttonLabel:`Select and ${arg}`,filters:[{name: "JSON",extensions:['json']}]})
230 | .then(data1 => data1.filePaths)
231 | .then(path2 =>{
232 | x=path2[0]
233 | if (x == undefined) {
234 | return;
235 | }
236 | else {
237 | try {
238 | data=fs.readFileSync(x,'utf-8')
239 | ev.returnValue = data;
240 | }
241 | catch(err) {
242 | console.log("error")
243 | }
244 |
245 | }
246 |
247 |
248 | }).catch((err)=> {
249 | console.log(err)
250 | })
251 |
252 | })
253 | ipcMain.on('publishedsuccesfully',(ev,arg)=>{
254 | succesfuldeploy(arg)
255 | })
256 |
257 | //Copyright © 2020,Fredy Somy
258 |
--------------------------------------------------------------------------------
/notify/cd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fredysomy/MarkdownIt/969a3c8d8c4b877ce86ede6937a3f7763cfc72fd/notify/cd.png
--------------------------------------------------------------------------------
/notify/notify.js:
--------------------------------------------------------------------------------
1 | const { Notification } = require('electron')
2 | const prath = require("path")
3 | //Below are the code to show notifications
4 | //you can understand what each does by looking the name
5 | module.exports.savenotify=(path)=>{
6 | const save_notify={
7 | title:"File Succesfully saved",
8 | body:`The file was sucessfully saved in the ${path}`,
9 | closeButtonText: "Ok."
10 | }
11 | new Notification(save_notify).show()
12 |
13 | }
14 | module.exports.notsaved=()=>{
15 | const not_save_notify={
16 | title:"File not saved",
17 | body:`The file was not saved because no file was specified`,
18 | closeButtonText: "Ok."
19 | }
20 | new Notification(not_save_notify).show()
21 |
22 | }
23 | module.exports.pdfsaved=(path)=>{
24 | const pdf_saved={
25 | title:"Markdown saved as Pdf succesfully!",
26 | body:`Pdf is saved in ${path}`,
27 | closeButtonText: "Ok."
28 | }
29 | new Notification(pdf_saved).show()
30 | }
31 | module.exports.htmlsaved=(path)=>{
32 | const htmlsave={
33 | title:"Saved",
34 | body:`Saved the HTML file in ${path}`,
35 | closeButtonText: "Ok."
36 | }
37 | new Notification(htmlsave).show()
38 | }
39 | module.exports.settingssaved=(data)=>{
40 | const savesttings={
41 | title:"Settings Saved!!",
42 | body:data,
43 | closeButtonText: "Ok."
44 | }
45 | new Notification(savesttings).show()
46 | }
47 |
48 | module.exports.webpagecreated=(data)=>{
49 | const webcreated={
50 | title:"Webpage Created Sucesfully",
51 | body: `Your site is published at https://markdownitweb.herokuapp.com/${data}`,
52 | closeButtonText: "Ok."
53 | }
54 | new Notification(webcreated).show()
55 | }
56 | module.exports.succesfuldeploy=(data)=>{
57 | const webpublished={
58 | title:"Webpage Deployed succesfully",
59 | body: `Your site is deployed at https://markdownitweb.herokuapp.com/${data} \n With the changes you made`,
60 | closeButtonText: "Ok."
61 | }
62 | new Notification(webpublished).show()
63 | }
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mardownit",
3 | "version": "1.0.2",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@electron/get": {
8 | "version": "1.12.2",
9 | "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
10 | "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
11 | "dev": true,
12 | "requires": {
13 | "debug": "^4.1.1",
14 | "env-paths": "^2.2.0",
15 | "fs-extra": "^8.1.0",
16 | "global-agent": "^2.0.2",
17 | "global-tunnel-ng": "^2.7.1",
18 | "got": "^9.6.0",
19 | "progress": "^2.0.3",
20 | "sanitize-filename": "^1.6.2",
21 | "sumchecker": "^3.0.1"
22 | },
23 | "dependencies": {
24 | "debug": {
25 | "version": "4.2.0",
26 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
27 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
28 | "dev": true,
29 | "requires": {
30 | "ms": "2.1.2"
31 | }
32 | },
33 | "fs-extra": {
34 | "version": "8.1.0",
35 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
36 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
37 | "dev": true,
38 | "requires": {
39 | "graceful-fs": "^4.2.0",
40 | "jsonfile": "^4.0.0",
41 | "universalify": "^0.1.0"
42 | }
43 | },
44 | "jsonfile": {
45 | "version": "4.0.0",
46 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
47 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
48 | "dev": true,
49 | "requires": {
50 | "graceful-fs": "^4.1.6"
51 | }
52 | },
53 | "ms": {
54 | "version": "2.1.2",
55 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
56 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
57 | "dev": true
58 | },
59 | "progress": {
60 | "version": "2.0.3",
61 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
62 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
63 | "dev": true
64 | }
65 | }
66 | },
67 | "@sindresorhus/is": {
68 | "version": "0.14.0",
69 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
70 | "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
71 | "dev": true
72 | },
73 | "@szmarczak/http-timer": {
74 | "version": "1.1.2",
75 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
76 | "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
77 | "dev": true,
78 | "requires": {
79 | "defer-to-connect": "^1.0.1"
80 | }
81 | },
82 | "@types/glob": {
83 | "version": "7.1.3",
84 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
85 | "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
86 | "dev": true,
87 | "optional": true,
88 | "requires": {
89 | "@types/minimatch": "*",
90 | "@types/node": "*"
91 | }
92 | },
93 | "@types/minimatch": {
94 | "version": "3.0.3",
95 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
96 | "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
97 | "dev": true,
98 | "optional": true
99 | },
100 | "@types/node": {
101 | "version": "12.19.4",
102 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.4.tgz",
103 | "integrity": "sha512-o3oj1bETk8kBwzz1WlO6JWL/AfAA3Vm6J1B3C9CsdxHYp7XgPiH7OEXPUbZTndHlRaIElrANkQfe6ZmfJb3H2w==",
104 | "dev": true
105 | },
106 | "@types/yauzl": {
107 | "version": "2.9.1",
108 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
109 | "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
110 | "dev": true,
111 | "optional": true,
112 | "requires": {
113 | "@types/node": "*"
114 | }
115 | },
116 | "ajv": {
117 | "version": "6.12.6",
118 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
119 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
120 | "requires": {
121 | "fast-deep-equal": "^3.1.1",
122 | "fast-json-stable-stringify": "^2.0.0",
123 | "json-schema-traverse": "^0.4.1",
124 | "uri-js": "^4.2.2"
125 | }
126 | },
127 | "argparse": {
128 | "version": "1.0.10",
129 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
130 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
131 | "requires": {
132 | "sprintf-js": "~1.0.2"
133 | }
134 | },
135 | "asar": {
136 | "version": "3.0.3",
137 | "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz",
138 | "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==",
139 | "dev": true,
140 | "requires": {
141 | "@types/glob": "^7.1.1",
142 | "chromium-pickle-js": "^0.2.0",
143 | "commander": "^5.0.0",
144 | "glob": "^7.1.6",
145 | "minimatch": "^3.0.4"
146 | },
147 | "dependencies": {
148 | "commander": {
149 | "version": "5.1.0",
150 | "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
151 | "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
152 | "dev": true
153 | }
154 | }
155 | },
156 | "asn1": {
157 | "version": "0.2.4",
158 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
159 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
160 | "requires": {
161 | "safer-buffer": "~2.1.0"
162 | }
163 | },
164 | "assert-plus": {
165 | "version": "1.0.0",
166 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
167 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
168 | },
169 | "async": {
170 | "version": "1.5.2",
171 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
172 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
173 | },
174 | "asynckit": {
175 | "version": "0.4.0",
176 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
177 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
178 | },
179 | "at-least-node": {
180 | "version": "1.0.0",
181 | "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
182 | "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
183 | "dev": true
184 | },
185 | "author-regex": {
186 | "version": "1.0.0",
187 | "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz",
188 | "integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=",
189 | "dev": true
190 | },
191 | "autolinker": {
192 | "version": "3.14.2",
193 | "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.14.2.tgz",
194 | "integrity": "sha512-VO66nXUCZFxTq7fVHAaiAkZNXRQ1l3IFi6D5P7DLoyIEAn2E8g7TWbyEgLlz1uW74LfWmu1A17IPWuPQyGuNVg==",
195 | "requires": {
196 | "tslib": "^1.9.3"
197 | }
198 | },
199 | "aws-sign2": {
200 | "version": "0.7.0",
201 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
202 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
203 | },
204 | "aws4": {
205 | "version": "1.11.0",
206 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
207 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
208 | },
209 | "balanced-match": {
210 | "version": "1.0.0",
211 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
212 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
213 | },
214 | "base64-js": {
215 | "version": "1.5.1",
216 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
217 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
218 | "dev": true
219 | },
220 | "bcrypt-pbkdf": {
221 | "version": "1.0.2",
222 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
223 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
224 | "requires": {
225 | "tweetnacl": "^0.14.3"
226 | }
227 | },
228 | "bluebird": {
229 | "version": "3.7.2",
230 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
231 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
232 | "dev": true
233 | },
234 | "boolean": {
235 | "version": "3.0.2",
236 | "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz",
237 | "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==",
238 | "dev": true,
239 | "optional": true
240 | },
241 | "brace-expansion": {
242 | "version": "1.1.11",
243 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
244 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
245 | "requires": {
246 | "balanced-match": "^1.0.0",
247 | "concat-map": "0.0.1"
248 | }
249 | },
250 | "buffer-alloc": {
251 | "version": "1.2.0",
252 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
253 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
254 | "dev": true,
255 | "requires": {
256 | "buffer-alloc-unsafe": "^1.1.0",
257 | "buffer-fill": "^1.0.0"
258 | }
259 | },
260 | "buffer-alloc-unsafe": {
261 | "version": "1.1.0",
262 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
263 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
264 | "dev": true
265 | },
266 | "buffer-crc32": {
267 | "version": "0.2.13",
268 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
269 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
270 | },
271 | "buffer-fill": {
272 | "version": "1.0.0",
273 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
274 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
275 | "dev": true
276 | },
277 | "buffer-from": {
278 | "version": "1.1.1",
279 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
280 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
281 | },
282 | "cacheable-request": {
283 | "version": "6.1.0",
284 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
285 | "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
286 | "dev": true,
287 | "requires": {
288 | "clone-response": "^1.0.2",
289 | "get-stream": "^5.1.0",
290 | "http-cache-semantics": "^4.0.0",
291 | "keyv": "^3.0.0",
292 | "lowercase-keys": "^2.0.0",
293 | "normalize-url": "^4.1.0",
294 | "responselike": "^1.0.2"
295 | },
296 | "dependencies": {
297 | "get-stream": {
298 | "version": "5.2.0",
299 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
300 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
301 | "dev": true,
302 | "requires": {
303 | "pump": "^3.0.0"
304 | }
305 | },
306 | "lowercase-keys": {
307 | "version": "2.0.0",
308 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
309 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
310 | "dev": true
311 | }
312 | }
313 | },
314 | "caseless": {
315 | "version": "0.12.0",
316 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
317 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
318 | },
319 | "chromium-pickle-js": {
320 | "version": "0.2.0",
321 | "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
322 | "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=",
323 | "dev": true
324 | },
325 | "clone-response": {
326 | "version": "1.0.2",
327 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
328 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
329 | "dev": true,
330 | "requires": {
331 | "mimic-response": "^1.0.0"
332 | }
333 | },
334 | "combined-stream": {
335 | "version": "1.0.8",
336 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
337 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
338 | "requires": {
339 | "delayed-stream": "~1.0.0"
340 | }
341 | },
342 | "commander": {
343 | "version": "3.0.2",
344 | "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
345 | "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow=="
346 | },
347 | "compare-version": {
348 | "version": "0.1.2",
349 | "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
350 | "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=",
351 | "dev": true
352 | },
353 | "concat-map": {
354 | "version": "0.0.1",
355 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
356 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
357 | },
358 | "concat-stream": {
359 | "version": "1.6.2",
360 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
361 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
362 | "requires": {
363 | "buffer-from": "^1.0.0",
364 | "inherits": "^2.0.3",
365 | "readable-stream": "^2.2.2",
366 | "typedarray": "^0.0.6"
367 | }
368 | },
369 | "config-chain": {
370 | "version": "1.1.12",
371 | "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
372 | "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
373 | "dev": true,
374 | "optional": true,
375 | "requires": {
376 | "ini": "^1.3.4",
377 | "proto-list": "~1.2.1"
378 | }
379 | },
380 | "core-js": {
381 | "version": "3.7.0",
382 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz",
383 | "integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==",
384 | "dev": true,
385 | "optional": true
386 | },
387 | "core-util-is": {
388 | "version": "1.0.2",
389 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
390 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
391 | },
392 | "dashdash": {
393 | "version": "1.14.1",
394 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
395 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
396 | "requires": {
397 | "assert-plus": "^1.0.0"
398 | }
399 | },
400 | "debug": {
401 | "version": "2.6.9",
402 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
403 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
404 | "requires": {
405 | "ms": "2.0.0"
406 | }
407 | },
408 | "decompress-response": {
409 | "version": "3.3.0",
410 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
411 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
412 | "dev": true,
413 | "requires": {
414 | "mimic-response": "^1.0.0"
415 | }
416 | },
417 | "defer-to-connect": {
418 | "version": "1.1.3",
419 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
420 | "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
421 | "dev": true
422 | },
423 | "define-properties": {
424 | "version": "1.1.3",
425 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
426 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
427 | "dev": true,
428 | "optional": true,
429 | "requires": {
430 | "object-keys": "^1.0.12"
431 | }
432 | },
433 | "delayed-stream": {
434 | "version": "1.0.0",
435 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
436 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
437 | },
438 | "detect-node": {
439 | "version": "2.0.4",
440 | "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
441 | "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
442 | "dev": true,
443 | "optional": true
444 | },
445 | "duplexer": {
446 | "version": "0.1.2",
447 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
448 | "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
449 | },
450 | "duplexer3": {
451 | "version": "0.1.4",
452 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
453 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
454 | "dev": true
455 | },
456 | "ecc-jsbn": {
457 | "version": "0.1.2",
458 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
459 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
460 | "requires": {
461 | "jsbn": "~0.1.0",
462 | "safer-buffer": "^2.1.0"
463 | }
464 | },
465 | "electron": {
466 | "version": "10.2.0",
467 | "resolved": "https://registry.npmjs.org/electron/-/electron-10.2.0.tgz",
468 | "integrity": "sha512-GBUyq8dwUqXPkCTkoID+eZ5Pm9GFlLUd2eSoGe8UOaHeW68SgCf5t75/uGHraQ1OIz/0qniyH5M4ebWEHGppyQ==",
469 | "dev": true,
470 | "requires": {
471 | "@electron/get": "^1.0.1",
472 | "@types/node": "^12.0.12",
473 | "extract-zip": "^1.0.3"
474 | }
475 | },
476 | "electron-notarize": {
477 | "version": "1.0.0",
478 | "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.0.0.tgz",
479 | "integrity": "sha512-dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==",
480 | "dev": true,
481 | "requires": {
482 | "debug": "^4.1.1",
483 | "fs-extra": "^9.0.1"
484 | },
485 | "dependencies": {
486 | "debug": {
487 | "version": "4.2.0",
488 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
489 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
490 | "dev": true,
491 | "requires": {
492 | "ms": "2.1.2"
493 | }
494 | },
495 | "fs-extra": {
496 | "version": "9.0.1",
497 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
498 | "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
499 | "dev": true,
500 | "requires": {
501 | "at-least-node": "^1.0.0",
502 | "graceful-fs": "^4.2.0",
503 | "jsonfile": "^6.0.1",
504 | "universalify": "^1.0.0"
505 | }
506 | },
507 | "jsonfile": {
508 | "version": "6.1.0",
509 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
510 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
511 | "dev": true,
512 | "requires": {
513 | "graceful-fs": "^4.1.6",
514 | "universalify": "^2.0.0"
515 | },
516 | "dependencies": {
517 | "universalify": {
518 | "version": "2.0.0",
519 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
520 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
521 | "dev": true
522 | }
523 | }
524 | },
525 | "ms": {
526 | "version": "2.1.2",
527 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
528 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
529 | "dev": true
530 | },
531 | "universalify": {
532 | "version": "1.0.0",
533 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
534 | "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
535 | "dev": true
536 | }
537 | }
538 | },
539 | "electron-osx-sign": {
540 | "version": "0.4.17",
541 | "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.17.tgz",
542 | "integrity": "sha512-wUJPmZJQCs1zgdlQgeIpRcvrf7M5/COQaOV68Va1J/SgmWx5KL2otgg+fAae7luw6qz9R8Gvu/Qpe9tAOu/3xQ==",
543 | "dev": true,
544 | "requires": {
545 | "bluebird": "^3.5.0",
546 | "compare-version": "^0.1.2",
547 | "debug": "^2.6.8",
548 | "isbinaryfile": "^3.0.2",
549 | "minimist": "^1.2.0",
550 | "plist": "^3.0.1"
551 | }
552 | },
553 | "electron-packager": {
554 | "version": "15.1.0",
555 | "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.1.0.tgz",
556 | "integrity": "sha512-THNm4bz1DfvR9f0g51+NjuAYELflM8+1vhQ/iv/G8vyZNKzSMuFd5doobngQKq3rRsLdPNZVnGqDdgS884d7Og==",
557 | "dev": true,
558 | "requires": {
559 | "@electron/get": "^1.6.0",
560 | "asar": "^3.0.0",
561 | "debug": "^4.0.1",
562 | "electron-notarize": "^1.0.0",
563 | "electron-osx-sign": "^0.4.11",
564 | "extract-zip": "^2.0.0",
565 | "filenamify": "^4.1.0",
566 | "fs-extra": "^9.0.0",
567 | "galactus": "^0.2.1",
568 | "get-package-info": "^1.0.0",
569 | "junk": "^3.1.0",
570 | "parse-author": "^2.0.0",
571 | "plist": "^3.0.0",
572 | "rcedit": "^2.0.0",
573 | "resolve": "^1.1.6",
574 | "semver": "^7.1.3",
575 | "yargs-parser": "^19.0.1"
576 | },
577 | "dependencies": {
578 | "debug": {
579 | "version": "4.2.0",
580 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
581 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
582 | "dev": true,
583 | "requires": {
584 | "ms": "2.1.2"
585 | }
586 | },
587 | "extract-zip": {
588 | "version": "2.0.1",
589 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
590 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
591 | "dev": true,
592 | "requires": {
593 | "@types/yauzl": "^2.9.1",
594 | "debug": "^4.1.1",
595 | "get-stream": "^5.1.0",
596 | "yauzl": "^2.10.0"
597 | }
598 | },
599 | "fs-extra": {
600 | "version": "9.0.1",
601 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
602 | "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
603 | "dev": true,
604 | "requires": {
605 | "at-least-node": "^1.0.0",
606 | "graceful-fs": "^4.2.0",
607 | "jsonfile": "^6.0.1",
608 | "universalify": "^1.0.0"
609 | }
610 | },
611 | "get-stream": {
612 | "version": "5.2.0",
613 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
614 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
615 | "dev": true,
616 | "requires": {
617 | "pump": "^3.0.0"
618 | }
619 | },
620 | "jsonfile": {
621 | "version": "6.1.0",
622 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
623 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
624 | "dev": true,
625 | "requires": {
626 | "graceful-fs": "^4.1.6",
627 | "universalify": "^2.0.0"
628 | },
629 | "dependencies": {
630 | "universalify": {
631 | "version": "2.0.0",
632 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
633 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
634 | "dev": true
635 | }
636 | }
637 | },
638 | "ms": {
639 | "version": "2.1.2",
640 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
641 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
642 | "dev": true
643 | },
644 | "universalify": {
645 | "version": "1.0.0",
646 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
647 | "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
648 | "dev": true
649 | }
650 | }
651 | },
652 | "encodeurl": {
653 | "version": "1.0.2",
654 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
655 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
656 | "dev": true,
657 | "optional": true
658 | },
659 | "end-of-stream": {
660 | "version": "1.4.4",
661 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
662 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
663 | "dev": true,
664 | "requires": {
665 | "once": "^1.4.0"
666 | }
667 | },
668 | "env-paths": {
669 | "version": "2.2.0",
670 | "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
671 | "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==",
672 | "dev": true
673 | },
674 | "error-ex": {
675 | "version": "1.3.2",
676 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
677 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
678 | "dev": true,
679 | "requires": {
680 | "is-arrayish": "^0.2.1"
681 | }
682 | },
683 | "es6-error": {
684 | "version": "4.1.1",
685 | "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
686 | "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
687 | "dev": true,
688 | "optional": true
689 | },
690 | "es6-promise": {
691 | "version": "4.2.8",
692 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
693 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
694 | },
695 | "escape-string-regexp": {
696 | "version": "4.0.0",
697 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
698 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
699 | "dev": true,
700 | "optional": true
701 | },
702 | "extend": {
703 | "version": "3.0.2",
704 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
705 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
706 | },
707 | "extract-zip": {
708 | "version": "1.7.0",
709 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
710 | "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
711 | "requires": {
712 | "concat-stream": "^1.6.2",
713 | "debug": "^2.6.9",
714 | "mkdirp": "^0.5.4",
715 | "yauzl": "^2.10.0"
716 | }
717 | },
718 | "extsprintf": {
719 | "version": "1.3.0",
720 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
721 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
722 | },
723 | "fast-deep-equal": {
724 | "version": "3.1.3",
725 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
726 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
727 | },
728 | "fast-json-stable-stringify": {
729 | "version": "2.1.0",
730 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
731 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
732 | },
733 | "fd-slicer": {
734 | "version": "1.1.0",
735 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
736 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
737 | "requires": {
738 | "pend": "~1.2.0"
739 | }
740 | },
741 | "filename-reserved-regex": {
742 | "version": "2.0.0",
743 | "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
744 | "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
745 | "dev": true
746 | },
747 | "filenamify": {
748 | "version": "4.2.0",
749 | "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.2.0.tgz",
750 | "integrity": "sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA==",
751 | "dev": true,
752 | "requires": {
753 | "filename-reserved-regex": "^2.0.0",
754 | "strip-outer": "^1.0.1",
755 | "trim-repeated": "^1.0.0"
756 | }
757 | },
758 | "find-up": {
759 | "version": "2.1.0",
760 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
761 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
762 | "dev": true,
763 | "requires": {
764 | "locate-path": "^2.0.0"
765 | }
766 | },
767 | "flora-colossus": {
768 | "version": "1.0.1",
769 | "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz",
770 | "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==",
771 | "dev": true,
772 | "requires": {
773 | "debug": "^4.1.1",
774 | "fs-extra": "^7.0.0"
775 | },
776 | "dependencies": {
777 | "debug": {
778 | "version": "4.2.0",
779 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
780 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
781 | "dev": true,
782 | "requires": {
783 | "ms": "2.1.2"
784 | }
785 | },
786 | "fs-extra": {
787 | "version": "7.0.1",
788 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
789 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
790 | "dev": true,
791 | "requires": {
792 | "graceful-fs": "^4.1.2",
793 | "jsonfile": "^4.0.0",
794 | "universalify": "^0.1.0"
795 | }
796 | },
797 | "jsonfile": {
798 | "version": "4.0.0",
799 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
800 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
801 | "dev": true,
802 | "requires": {
803 | "graceful-fs": "^4.1.6"
804 | }
805 | },
806 | "ms": {
807 | "version": "2.1.2",
808 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
809 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
810 | "dev": true
811 | }
812 | }
813 | },
814 | "forever-agent": {
815 | "version": "0.6.1",
816 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
817 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
818 | },
819 | "form-data": {
820 | "version": "2.3.3",
821 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
822 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
823 | "requires": {
824 | "asynckit": "^0.4.0",
825 | "combined-stream": "^1.0.6",
826 | "mime-types": "^2.1.12"
827 | }
828 | },
829 | "fs-extra": {
830 | "version": "1.0.0",
831 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
832 | "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
833 | "requires": {
834 | "graceful-fs": "^4.1.2",
835 | "jsonfile": "^2.1.0",
836 | "klaw": "^1.0.0"
837 | }
838 | },
839 | "fs.realpath": {
840 | "version": "1.0.0",
841 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
842 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
843 | },
844 | "function-bind": {
845 | "version": "1.1.1",
846 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
847 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
848 | "dev": true
849 | },
850 | "galactus": {
851 | "version": "0.2.1",
852 | "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz",
853 | "integrity": "sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk=",
854 | "dev": true,
855 | "requires": {
856 | "debug": "^3.1.0",
857 | "flora-colossus": "^1.0.0",
858 | "fs-extra": "^4.0.0"
859 | },
860 | "dependencies": {
861 | "debug": {
862 | "version": "3.2.6",
863 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
864 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
865 | "dev": true,
866 | "requires": {
867 | "ms": "^2.1.1"
868 | }
869 | },
870 | "fs-extra": {
871 | "version": "4.0.3",
872 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
873 | "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
874 | "dev": true,
875 | "requires": {
876 | "graceful-fs": "^4.1.2",
877 | "jsonfile": "^4.0.0",
878 | "universalify": "^0.1.0"
879 | }
880 | },
881 | "jsonfile": {
882 | "version": "4.0.0",
883 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
884 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
885 | "dev": true,
886 | "requires": {
887 | "graceful-fs": "^4.1.6"
888 | }
889 | },
890 | "ms": {
891 | "version": "2.1.2",
892 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
893 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
894 | "dev": true
895 | }
896 | }
897 | },
898 | "get-package-info": {
899 | "version": "1.0.0",
900 | "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz",
901 | "integrity": "sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw=",
902 | "dev": true,
903 | "requires": {
904 | "bluebird": "^3.1.1",
905 | "debug": "^2.2.0",
906 | "lodash.get": "^4.0.0",
907 | "read-pkg-up": "^2.0.0"
908 | }
909 | },
910 | "get-stream": {
911 | "version": "4.1.0",
912 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
913 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
914 | "dev": true,
915 | "requires": {
916 | "pump": "^3.0.0"
917 | }
918 | },
919 | "getpass": {
920 | "version": "0.1.7",
921 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
922 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
923 | "requires": {
924 | "assert-plus": "^1.0.0"
925 | }
926 | },
927 | "glob": {
928 | "version": "7.1.6",
929 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
930 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
931 | "requires": {
932 | "fs.realpath": "^1.0.0",
933 | "inflight": "^1.0.4",
934 | "inherits": "2",
935 | "minimatch": "^3.0.4",
936 | "once": "^1.3.0",
937 | "path-is-absolute": "^1.0.0"
938 | }
939 | },
940 | "global-agent": {
941 | "version": "2.1.12",
942 | "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
943 | "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
944 | "dev": true,
945 | "optional": true,
946 | "requires": {
947 | "boolean": "^3.0.1",
948 | "core-js": "^3.6.5",
949 | "es6-error": "^4.1.1",
950 | "matcher": "^3.0.0",
951 | "roarr": "^2.15.3",
952 | "semver": "^7.3.2",
953 | "serialize-error": "^7.0.1"
954 | }
955 | },
956 | "global-tunnel-ng": {
957 | "version": "2.7.1",
958 | "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
959 | "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
960 | "dev": true,
961 | "optional": true,
962 | "requires": {
963 | "encodeurl": "^1.0.2",
964 | "lodash": "^4.17.10",
965 | "npm-conf": "^1.1.3",
966 | "tunnel": "^0.0.6"
967 | }
968 | },
969 | "globalthis": {
970 | "version": "1.0.1",
971 | "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz",
972 | "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==",
973 | "dev": true,
974 | "optional": true,
975 | "requires": {
976 | "define-properties": "^1.1.3"
977 | }
978 | },
979 | "got": {
980 | "version": "9.6.0",
981 | "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
982 | "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
983 | "dev": true,
984 | "requires": {
985 | "@sindresorhus/is": "^0.14.0",
986 | "@szmarczak/http-timer": "^1.1.2",
987 | "cacheable-request": "^6.0.0",
988 | "decompress-response": "^3.3.0",
989 | "duplexer3": "^0.1.4",
990 | "get-stream": "^4.1.0",
991 | "lowercase-keys": "^1.0.1",
992 | "mimic-response": "^1.0.1",
993 | "p-cancelable": "^1.0.0",
994 | "to-readable-stream": "^1.0.0",
995 | "url-parse-lax": "^3.0.0"
996 | }
997 | },
998 | "graceful-fs": {
999 | "version": "4.2.4",
1000 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
1001 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
1002 | },
1003 | "har-schema": {
1004 | "version": "2.0.0",
1005 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1006 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
1007 | },
1008 | "har-validator": {
1009 | "version": "5.1.5",
1010 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
1011 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
1012 | "requires": {
1013 | "ajv": "^6.12.3",
1014 | "har-schema": "^2.0.0"
1015 | }
1016 | },
1017 | "has": {
1018 | "version": "1.0.3",
1019 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1020 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1021 | "dev": true,
1022 | "requires": {
1023 | "function-bind": "^1.1.1"
1024 | }
1025 | },
1026 | "hasha": {
1027 | "version": "2.2.0",
1028 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
1029 | "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
1030 | "requires": {
1031 | "is-stream": "^1.0.1",
1032 | "pinkie-promise": "^2.0.0"
1033 | }
1034 | },
1035 | "highlight.js": {
1036 | "version": "9.18.3",
1037 | "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.3.tgz",
1038 | "integrity": "sha512-zBZAmhSupHIl5sITeMqIJnYCDfAEc3Gdkqj65wC1lpI468MMQeeQkhcIAvk+RylAkxrCcI9xy9piHiXeQ1BdzQ=="
1039 | },
1040 | "hosted-git-info": {
1041 | "version": "2.8.8",
1042 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
1043 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
1044 | "dev": true
1045 | },
1046 | "http-cache-semantics": {
1047 | "version": "4.1.0",
1048 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
1049 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
1050 | "dev": true
1051 | },
1052 | "http-signature": {
1053 | "version": "1.2.0",
1054 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1055 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1056 | "requires": {
1057 | "assert-plus": "^1.0.0",
1058 | "jsprim": "^1.2.2",
1059 | "sshpk": "^1.7.0"
1060 | }
1061 | },
1062 | "inflight": {
1063 | "version": "1.0.6",
1064 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1065 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1066 | "requires": {
1067 | "once": "^1.3.0",
1068 | "wrappy": "1"
1069 | }
1070 | },
1071 | "inherits": {
1072 | "version": "2.0.4",
1073 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1074 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1075 | },
1076 | "ini": {
1077 | "version": "1.3.8",
1078 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
1079 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
1080 | "dev": true,
1081 | "optional": true
1082 | },
1083 | "is-arrayish": {
1084 | "version": "0.2.1",
1085 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
1086 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
1087 | "dev": true
1088 | },
1089 | "is-core-module": {
1090 | "version": "2.1.0",
1091 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
1092 | "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
1093 | "dev": true,
1094 | "requires": {
1095 | "has": "^1.0.3"
1096 | }
1097 | },
1098 | "is-stream": {
1099 | "version": "1.1.0",
1100 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1101 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
1102 | },
1103 | "is-typedarray": {
1104 | "version": "1.0.0",
1105 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1106 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1107 | },
1108 | "isarray": {
1109 | "version": "1.0.0",
1110 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1111 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1112 | },
1113 | "isbinaryfile": {
1114 | "version": "3.0.3",
1115 | "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
1116 | "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
1117 | "dev": true,
1118 | "requires": {
1119 | "buffer-alloc": "^1.2.0"
1120 | }
1121 | },
1122 | "isexe": {
1123 | "version": "2.0.0",
1124 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1125 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
1126 | },
1127 | "isstream": {
1128 | "version": "0.1.2",
1129 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1130 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1131 | },
1132 | "jsbn": {
1133 | "version": "0.1.1",
1134 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1135 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
1136 | },
1137 | "json-buffer": {
1138 | "version": "3.0.0",
1139 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
1140 | "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
1141 | "dev": true
1142 | },
1143 | "json-schema": {
1144 | "version": "0.2.3",
1145 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
1146 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
1147 | },
1148 | "json-schema-traverse": {
1149 | "version": "0.4.1",
1150 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1151 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
1152 | },
1153 | "json-stringify-safe": {
1154 | "version": "5.0.1",
1155 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1156 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
1157 | },
1158 | "jsonfile": {
1159 | "version": "2.4.0",
1160 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
1161 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
1162 | "requires": {
1163 | "graceful-fs": "^4.1.6"
1164 | }
1165 | },
1166 | "jsprim": {
1167 | "version": "1.4.1",
1168 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
1169 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
1170 | "requires": {
1171 | "assert-plus": "1.0.0",
1172 | "extsprintf": "1.3.0",
1173 | "json-schema": "0.2.3",
1174 | "verror": "1.10.0"
1175 | }
1176 | },
1177 | "junk": {
1178 | "version": "3.1.0",
1179 | "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
1180 | "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
1181 | "dev": true
1182 | },
1183 | "kew": {
1184 | "version": "0.7.0",
1185 | "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
1186 | "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s="
1187 | },
1188 | "keyv": {
1189 | "version": "3.1.0",
1190 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
1191 | "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
1192 | "dev": true,
1193 | "requires": {
1194 | "json-buffer": "3.0.0"
1195 | }
1196 | },
1197 | "klaw": {
1198 | "version": "1.3.1",
1199 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
1200 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
1201 | "requires": {
1202 | "graceful-fs": "^4.1.9"
1203 | }
1204 | },
1205 | "load-json-file": {
1206 | "version": "2.0.0",
1207 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
1208 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
1209 | "dev": true,
1210 | "requires": {
1211 | "graceful-fs": "^4.1.2",
1212 | "parse-json": "^2.2.0",
1213 | "pify": "^2.0.0",
1214 | "strip-bom": "^3.0.0"
1215 | },
1216 | "dependencies": {
1217 | "pify": {
1218 | "version": "2.3.0",
1219 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
1220 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
1221 | "dev": true
1222 | }
1223 | }
1224 | },
1225 | "locate-path": {
1226 | "version": "2.0.0",
1227 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
1228 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
1229 | "dev": true,
1230 | "requires": {
1231 | "p-locate": "^2.0.0",
1232 | "path-exists": "^3.0.0"
1233 | }
1234 | },
1235 | "lodash": {
1236 | "version": "4.17.20",
1237 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
1238 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
1239 | "dev": true,
1240 | "optional": true
1241 | },
1242 | "lodash.get": {
1243 | "version": "4.4.2",
1244 | "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
1245 | "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
1246 | "dev": true
1247 | },
1248 | "lowercase-keys": {
1249 | "version": "1.0.1",
1250 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
1251 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
1252 | "dev": true
1253 | },
1254 | "markdown-pdf": {
1255 | "version": "10.0.0",
1256 | "resolved": "https://registry.npmjs.org/markdown-pdf/-/markdown-pdf-10.0.0.tgz",
1257 | "integrity": "sha512-o3lFfAOTpCgCXEXpNN86RaCVGE1YlxjWuAJ79XevAPoTyCBsl06BWhnFogYedg+JZxPjB3LWsA8JxZiCjsPPLA==",
1258 | "requires": {
1259 | "commander": "^3.0.0",
1260 | "duplexer": "^0.1.1",
1261 | "extend": "^3.0.2",
1262 | "highlight.js": "^9.15.9",
1263 | "phantomjs-prebuilt": "^2.1.3",
1264 | "remarkable": "^2.0.0",
1265 | "stream-from-to": "^1.4.2",
1266 | "through2": "^3.0.1",
1267 | "tmp": "^0.1.0"
1268 | }
1269 | },
1270 | "matcher": {
1271 | "version": "3.0.0",
1272 | "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
1273 | "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
1274 | "dev": true,
1275 | "optional": true,
1276 | "requires": {
1277 | "escape-string-regexp": "^4.0.0"
1278 | }
1279 | },
1280 | "mime-db": {
1281 | "version": "1.44.0",
1282 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
1283 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
1284 | },
1285 | "mime-types": {
1286 | "version": "2.1.27",
1287 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
1288 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
1289 | "requires": {
1290 | "mime-db": "1.44.0"
1291 | }
1292 | },
1293 | "mimic-response": {
1294 | "version": "1.0.1",
1295 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
1296 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
1297 | "dev": true
1298 | },
1299 | "minimatch": {
1300 | "version": "3.0.4",
1301 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1302 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1303 | "requires": {
1304 | "brace-expansion": "^1.1.7"
1305 | }
1306 | },
1307 | "minimist": {
1308 | "version": "1.2.5",
1309 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1310 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
1311 | },
1312 | "mkdirp": {
1313 | "version": "0.5.5",
1314 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1315 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1316 | "requires": {
1317 | "minimist": "^1.2.5"
1318 | }
1319 | },
1320 | "ms": {
1321 | "version": "2.0.0",
1322 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1323 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1324 | },
1325 | "normalize-package-data": {
1326 | "version": "2.5.0",
1327 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
1328 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
1329 | "dev": true,
1330 | "requires": {
1331 | "hosted-git-info": "^2.1.4",
1332 | "resolve": "^1.10.0",
1333 | "semver": "2 || 3 || 4 || 5",
1334 | "validate-npm-package-license": "^3.0.1"
1335 | },
1336 | "dependencies": {
1337 | "semver": {
1338 | "version": "5.7.1",
1339 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1340 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1341 | "dev": true
1342 | }
1343 | }
1344 | },
1345 | "normalize-url": {
1346 | "version": "4.5.0",
1347 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
1348 | "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
1349 | "dev": true
1350 | },
1351 | "npm-conf": {
1352 | "version": "1.1.3",
1353 | "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
1354 | "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
1355 | "dev": true,
1356 | "optional": true,
1357 | "requires": {
1358 | "config-chain": "^1.1.11",
1359 | "pify": "^3.0.0"
1360 | }
1361 | },
1362 | "oauth-sign": {
1363 | "version": "0.9.0",
1364 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
1365 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
1366 | },
1367 | "object-keys": {
1368 | "version": "1.1.1",
1369 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
1370 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
1371 | "dev": true,
1372 | "optional": true
1373 | },
1374 | "once": {
1375 | "version": "1.4.0",
1376 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1377 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1378 | "requires": {
1379 | "wrappy": "1"
1380 | }
1381 | },
1382 | "p-cancelable": {
1383 | "version": "1.1.0",
1384 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
1385 | "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
1386 | "dev": true
1387 | },
1388 | "p-limit": {
1389 | "version": "1.3.0",
1390 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
1391 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
1392 | "dev": true,
1393 | "requires": {
1394 | "p-try": "^1.0.0"
1395 | }
1396 | },
1397 | "p-locate": {
1398 | "version": "2.0.0",
1399 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
1400 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
1401 | "dev": true,
1402 | "requires": {
1403 | "p-limit": "^1.1.0"
1404 | }
1405 | },
1406 | "p-try": {
1407 | "version": "1.0.0",
1408 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
1409 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
1410 | "dev": true
1411 | },
1412 | "parse-author": {
1413 | "version": "2.0.0",
1414 | "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz",
1415 | "integrity": "sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=",
1416 | "dev": true,
1417 | "requires": {
1418 | "author-regex": "^1.0.0"
1419 | }
1420 | },
1421 | "parse-json": {
1422 | "version": "2.2.0",
1423 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
1424 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
1425 | "dev": true,
1426 | "requires": {
1427 | "error-ex": "^1.2.0"
1428 | }
1429 | },
1430 | "path-exists": {
1431 | "version": "3.0.0",
1432 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1433 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
1434 | "dev": true
1435 | },
1436 | "path-is-absolute": {
1437 | "version": "1.0.1",
1438 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1439 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
1440 | },
1441 | "path-parse": {
1442 | "version": "1.0.6",
1443 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1444 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1445 | "dev": true
1446 | },
1447 | "path-type": {
1448 | "version": "2.0.0",
1449 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
1450 | "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
1451 | "dev": true,
1452 | "requires": {
1453 | "pify": "^2.0.0"
1454 | },
1455 | "dependencies": {
1456 | "pify": {
1457 | "version": "2.3.0",
1458 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
1459 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
1460 | "dev": true
1461 | }
1462 | }
1463 | },
1464 | "pend": {
1465 | "version": "1.2.0",
1466 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
1467 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
1468 | },
1469 | "performance-now": {
1470 | "version": "2.1.0",
1471 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1472 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
1473 | },
1474 | "phantomjs-prebuilt": {
1475 | "version": "2.1.16",
1476 | "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
1477 | "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
1478 | "requires": {
1479 | "es6-promise": "^4.0.3",
1480 | "extract-zip": "^1.6.5",
1481 | "fs-extra": "^1.0.0",
1482 | "hasha": "^2.2.0",
1483 | "kew": "^0.7.0",
1484 | "progress": "^1.1.8",
1485 | "request": "^2.81.0",
1486 | "request-progress": "^2.0.1",
1487 | "which": "^1.2.10"
1488 | }
1489 | },
1490 | "pify": {
1491 | "version": "3.0.0",
1492 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1493 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1494 | "dev": true,
1495 | "optional": true
1496 | },
1497 | "pinkie": {
1498 | "version": "2.0.4",
1499 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
1500 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
1501 | },
1502 | "pinkie-promise": {
1503 | "version": "2.0.1",
1504 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
1505 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
1506 | "requires": {
1507 | "pinkie": "^2.0.0"
1508 | }
1509 | },
1510 | "plist": {
1511 | "version": "3.0.1",
1512 | "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
1513 | "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
1514 | "dev": true,
1515 | "requires": {
1516 | "base64-js": "^1.2.3",
1517 | "xmlbuilder": "^9.0.7",
1518 | "xmldom": "0.1.x"
1519 | }
1520 | },
1521 | "prepend-http": {
1522 | "version": "2.0.0",
1523 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
1524 | "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
1525 | "dev": true
1526 | },
1527 | "process-nextick-args": {
1528 | "version": "2.0.1",
1529 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1530 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
1531 | },
1532 | "progress": {
1533 | "version": "1.1.8",
1534 | "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
1535 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74="
1536 | },
1537 | "proto-list": {
1538 | "version": "1.2.4",
1539 | "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
1540 | "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
1541 | "dev": true,
1542 | "optional": true
1543 | },
1544 | "psl": {
1545 | "version": "1.8.0",
1546 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
1547 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
1548 | },
1549 | "pump": {
1550 | "version": "3.0.0",
1551 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
1552 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
1553 | "dev": true,
1554 | "requires": {
1555 | "end-of-stream": "^1.1.0",
1556 | "once": "^1.3.1"
1557 | }
1558 | },
1559 | "punycode": {
1560 | "version": "2.1.1",
1561 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1562 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
1563 | },
1564 | "qs": {
1565 | "version": "6.5.2",
1566 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
1567 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
1568 | },
1569 | "rcedit": {
1570 | "version": "2.2.0",
1571 | "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.2.0.tgz",
1572 | "integrity": "sha512-dhFtYmQS+V8qQIANyX6zDK+sO50ayDePKApi46ZPK8I6QeyyTDD6LManMa7a3p3c9mLM4zi9QBP41pfhQ9p7Sg==",
1573 | "dev": true
1574 | },
1575 | "read-pkg": {
1576 | "version": "2.0.0",
1577 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
1578 | "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
1579 | "dev": true,
1580 | "requires": {
1581 | "load-json-file": "^2.0.0",
1582 | "normalize-package-data": "^2.3.2",
1583 | "path-type": "^2.0.0"
1584 | }
1585 | },
1586 | "read-pkg-up": {
1587 | "version": "2.0.0",
1588 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
1589 | "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
1590 | "dev": true,
1591 | "requires": {
1592 | "find-up": "^2.0.0",
1593 | "read-pkg": "^2.0.0"
1594 | }
1595 | },
1596 | "readable-stream": {
1597 | "version": "2.3.7",
1598 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1599 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1600 | "requires": {
1601 | "core-util-is": "~1.0.0",
1602 | "inherits": "~2.0.3",
1603 | "isarray": "~1.0.0",
1604 | "process-nextick-args": "~2.0.0",
1605 | "safe-buffer": "~5.1.1",
1606 | "string_decoder": "~1.1.1",
1607 | "util-deprecate": "~1.0.1"
1608 | }
1609 | },
1610 | "remarkable": {
1611 | "version": "2.0.1",
1612 | "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz",
1613 | "integrity": "sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==",
1614 | "requires": {
1615 | "argparse": "^1.0.10",
1616 | "autolinker": "^3.11.0"
1617 | }
1618 | },
1619 | "request": {
1620 | "version": "2.88.2",
1621 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
1622 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
1623 | "requires": {
1624 | "aws-sign2": "~0.7.0",
1625 | "aws4": "^1.8.0",
1626 | "caseless": "~0.12.0",
1627 | "combined-stream": "~1.0.6",
1628 | "extend": "~3.0.2",
1629 | "forever-agent": "~0.6.1",
1630 | "form-data": "~2.3.2",
1631 | "har-validator": "~5.1.3",
1632 | "http-signature": "~1.2.0",
1633 | "is-typedarray": "~1.0.0",
1634 | "isstream": "~0.1.2",
1635 | "json-stringify-safe": "~5.0.1",
1636 | "mime-types": "~2.1.19",
1637 | "oauth-sign": "~0.9.0",
1638 | "performance-now": "^2.1.0",
1639 | "qs": "~6.5.2",
1640 | "safe-buffer": "^5.1.2",
1641 | "tough-cookie": "~2.5.0",
1642 | "tunnel-agent": "^0.6.0",
1643 | "uuid": "^3.3.2"
1644 | }
1645 | },
1646 | "request-progress": {
1647 | "version": "2.0.1",
1648 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
1649 | "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
1650 | "requires": {
1651 | "throttleit": "^1.0.0"
1652 | }
1653 | },
1654 | "resolve": {
1655 | "version": "1.19.0",
1656 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
1657 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
1658 | "dev": true,
1659 | "requires": {
1660 | "is-core-module": "^2.1.0",
1661 | "path-parse": "^1.0.6"
1662 | }
1663 | },
1664 | "responselike": {
1665 | "version": "1.0.2",
1666 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
1667 | "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
1668 | "dev": true,
1669 | "requires": {
1670 | "lowercase-keys": "^1.0.0"
1671 | }
1672 | },
1673 | "rimraf": {
1674 | "version": "2.7.1",
1675 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
1676 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
1677 | "requires": {
1678 | "glob": "^7.1.3"
1679 | }
1680 | },
1681 | "roarr": {
1682 | "version": "2.15.4",
1683 | "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
1684 | "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
1685 | "dev": true,
1686 | "optional": true,
1687 | "requires": {
1688 | "boolean": "^3.0.1",
1689 | "detect-node": "^2.0.4",
1690 | "globalthis": "^1.0.1",
1691 | "json-stringify-safe": "^5.0.1",
1692 | "semver-compare": "^1.0.0",
1693 | "sprintf-js": "^1.1.2"
1694 | },
1695 | "dependencies": {
1696 | "sprintf-js": {
1697 | "version": "1.1.2",
1698 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
1699 | "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
1700 | "dev": true,
1701 | "optional": true
1702 | }
1703 | }
1704 | },
1705 | "safe-buffer": {
1706 | "version": "5.1.2",
1707 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1708 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1709 | },
1710 | "safer-buffer": {
1711 | "version": "2.1.2",
1712 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1713 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1714 | },
1715 | "sanitize-filename": {
1716 | "version": "1.6.3",
1717 | "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz",
1718 | "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==",
1719 | "dev": true,
1720 | "requires": {
1721 | "truncate-utf8-bytes": "^1.0.0"
1722 | }
1723 | },
1724 | "semver": {
1725 | "version": "7.3.2",
1726 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
1727 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
1728 | "dev": true
1729 | },
1730 | "semver-compare": {
1731 | "version": "1.0.0",
1732 | "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
1733 | "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
1734 | "dev": true,
1735 | "optional": true
1736 | },
1737 | "serialize-error": {
1738 | "version": "7.0.1",
1739 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
1740 | "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
1741 | "dev": true,
1742 | "optional": true,
1743 | "requires": {
1744 | "type-fest": "^0.13.1"
1745 | }
1746 | },
1747 | "series-stream": {
1748 | "version": "1.0.1",
1749 | "resolved": "https://registry.npmjs.org/series-stream/-/series-stream-1.0.1.tgz",
1750 | "integrity": "sha1-MRoJxcHVoJFECDLhpICkdADxAF0="
1751 | },
1752 | "spdx-correct": {
1753 | "version": "3.1.1",
1754 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
1755 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
1756 | "dev": true,
1757 | "requires": {
1758 | "spdx-expression-parse": "^3.0.0",
1759 | "spdx-license-ids": "^3.0.0"
1760 | }
1761 | },
1762 | "spdx-exceptions": {
1763 | "version": "2.3.0",
1764 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
1765 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
1766 | "dev": true
1767 | },
1768 | "spdx-expression-parse": {
1769 | "version": "3.0.1",
1770 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
1771 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
1772 | "dev": true,
1773 | "requires": {
1774 | "spdx-exceptions": "^2.1.0",
1775 | "spdx-license-ids": "^3.0.0"
1776 | }
1777 | },
1778 | "spdx-license-ids": {
1779 | "version": "3.0.6",
1780 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
1781 | "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
1782 | "dev": true
1783 | },
1784 | "sprintf-js": {
1785 | "version": "1.0.3",
1786 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1787 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
1788 | },
1789 | "sshpk": {
1790 | "version": "1.16.1",
1791 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1792 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
1793 | "requires": {
1794 | "asn1": "~0.2.3",
1795 | "assert-plus": "^1.0.0",
1796 | "bcrypt-pbkdf": "^1.0.0",
1797 | "dashdash": "^1.12.0",
1798 | "ecc-jsbn": "~0.1.1",
1799 | "getpass": "^0.1.1",
1800 | "jsbn": "~0.1.0",
1801 | "safer-buffer": "^2.0.2",
1802 | "tweetnacl": "~0.14.0"
1803 | }
1804 | },
1805 | "stream-from-to": {
1806 | "version": "1.4.3",
1807 | "resolved": "https://registry.npmjs.org/stream-from-to/-/stream-from-to-1.4.3.tgz",
1808 | "integrity": "sha1-snBHPrxRTnNhVyfF0vdrIplB35Q=",
1809 | "requires": {
1810 | "async": "^1.5.2",
1811 | "concat-stream": "^1.4.7",
1812 | "mkdirp": "^0.5.0",
1813 | "series-stream": "^1.0.1"
1814 | }
1815 | },
1816 | "string_decoder": {
1817 | "version": "1.1.1",
1818 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1819 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1820 | "requires": {
1821 | "safe-buffer": "~5.1.0"
1822 | }
1823 | },
1824 | "strip-bom": {
1825 | "version": "3.0.0",
1826 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
1827 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
1828 | "dev": true
1829 | },
1830 | "strip-outer": {
1831 | "version": "1.0.1",
1832 | "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
1833 | "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
1834 | "dev": true,
1835 | "requires": {
1836 | "escape-string-regexp": "^1.0.2"
1837 | },
1838 | "dependencies": {
1839 | "escape-string-regexp": {
1840 | "version": "1.0.5",
1841 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1842 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1843 | "dev": true
1844 | }
1845 | }
1846 | },
1847 | "sumchecker": {
1848 | "version": "3.0.1",
1849 | "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
1850 | "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
1851 | "dev": true,
1852 | "requires": {
1853 | "debug": "^4.1.0"
1854 | },
1855 | "dependencies": {
1856 | "debug": {
1857 | "version": "4.2.0",
1858 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
1859 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
1860 | "dev": true,
1861 | "requires": {
1862 | "ms": "2.1.2"
1863 | }
1864 | },
1865 | "ms": {
1866 | "version": "2.1.2",
1867 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1868 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1869 | "dev": true
1870 | }
1871 | }
1872 | },
1873 | "throttleit": {
1874 | "version": "1.0.0",
1875 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
1876 | "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw="
1877 | },
1878 | "through2": {
1879 | "version": "3.0.2",
1880 | "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
1881 | "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
1882 | "requires": {
1883 | "inherits": "^2.0.4",
1884 | "readable-stream": "2 || 3"
1885 | }
1886 | },
1887 | "tmp": {
1888 | "version": "0.1.0",
1889 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
1890 | "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
1891 | "requires": {
1892 | "rimraf": "^2.6.3"
1893 | }
1894 | },
1895 | "to-readable-stream": {
1896 | "version": "1.0.0",
1897 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
1898 | "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
1899 | "dev": true
1900 | },
1901 | "tough-cookie": {
1902 | "version": "2.5.0",
1903 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1904 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
1905 | "requires": {
1906 | "psl": "^1.1.28",
1907 | "punycode": "^2.1.1"
1908 | }
1909 | },
1910 | "trim-repeated": {
1911 | "version": "1.0.0",
1912 | "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
1913 | "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
1914 | "dev": true,
1915 | "requires": {
1916 | "escape-string-regexp": "^1.0.2"
1917 | },
1918 | "dependencies": {
1919 | "escape-string-regexp": {
1920 | "version": "1.0.5",
1921 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1922 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1923 | "dev": true
1924 | }
1925 | }
1926 | },
1927 | "truncate-utf8-bytes": {
1928 | "version": "1.0.2",
1929 | "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
1930 | "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
1931 | "dev": true,
1932 | "requires": {
1933 | "utf8-byte-length": "^1.0.1"
1934 | }
1935 | },
1936 | "tslib": {
1937 | "version": "1.14.1",
1938 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
1939 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
1940 | },
1941 | "tunnel": {
1942 | "version": "0.0.6",
1943 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
1944 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
1945 | "dev": true,
1946 | "optional": true
1947 | },
1948 | "tunnel-agent": {
1949 | "version": "0.6.0",
1950 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1951 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1952 | "requires": {
1953 | "safe-buffer": "^5.0.1"
1954 | }
1955 | },
1956 | "tweetnacl": {
1957 | "version": "0.14.5",
1958 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1959 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
1960 | },
1961 | "type-fest": {
1962 | "version": "0.13.1",
1963 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
1964 | "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
1965 | "dev": true,
1966 | "optional": true
1967 | },
1968 | "typedarray": {
1969 | "version": "0.0.6",
1970 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
1971 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
1972 | },
1973 | "universalify": {
1974 | "version": "0.1.2",
1975 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
1976 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
1977 | "dev": true
1978 | },
1979 | "uri-js": {
1980 | "version": "4.4.0",
1981 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
1982 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
1983 | "requires": {
1984 | "punycode": "^2.1.0"
1985 | }
1986 | },
1987 | "url-parse-lax": {
1988 | "version": "3.0.0",
1989 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
1990 | "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
1991 | "dev": true,
1992 | "requires": {
1993 | "prepend-http": "^2.0.0"
1994 | }
1995 | },
1996 | "utf8-byte-length": {
1997 | "version": "1.0.4",
1998 | "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
1999 | "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=",
2000 | "dev": true
2001 | },
2002 | "util-deprecate": {
2003 | "version": "1.0.2",
2004 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2005 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
2006 | },
2007 | "uuid": {
2008 | "version": "3.4.0",
2009 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
2010 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
2011 | },
2012 | "validate-npm-package-license": {
2013 | "version": "3.0.4",
2014 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
2015 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
2016 | "dev": true,
2017 | "requires": {
2018 | "spdx-correct": "^3.0.0",
2019 | "spdx-expression-parse": "^3.0.0"
2020 | }
2021 | },
2022 | "verror": {
2023 | "version": "1.10.0",
2024 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
2025 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
2026 | "requires": {
2027 | "assert-plus": "^1.0.0",
2028 | "core-util-is": "1.0.2",
2029 | "extsprintf": "^1.2.0"
2030 | }
2031 | },
2032 | "which": {
2033 | "version": "1.3.1",
2034 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2035 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2036 | "requires": {
2037 | "isexe": "^2.0.0"
2038 | }
2039 | },
2040 | "wrappy": {
2041 | "version": "1.0.2",
2042 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2043 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
2044 | },
2045 | "xmlbuilder": {
2046 | "version": "9.0.7",
2047 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
2048 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
2049 | "dev": true
2050 | },
2051 | "xmldom": {
2052 | "version": "0.1.31",
2053 | "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
2054 | "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
2055 | "dev": true
2056 | },
2057 | "yargs-parser": {
2058 | "version": "19.0.4",
2059 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-19.0.4.tgz",
2060 | "integrity": "sha512-eXeQm7yXRjPFFyf1voPkZgXQZJjYfjgQUmGPbD2TLtZeIYzvacgWX7sQ5a1HsRgVP+pfKAkRZDNtTGev4h9vhw==",
2061 | "dev": true
2062 | },
2063 | "yauzl": {
2064 | "version": "2.10.0",
2065 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
2066 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
2067 | "requires": {
2068 | "buffer-crc32": "~0.2.3",
2069 | "fd-slicer": "~1.1.0"
2070 | }
2071 | }
2072 | }
2073 | }
2074 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mardownit",
3 | "version": "1.0.2",
4 | "description": "A Crossplatform Electron Application to live render Markdown. Can save the rendered file as Markdown,Html and Pdf.",
5 | "productName": "MarkdownIt",
6 | "main": "main.js",
7 | "scripts": {
8 | "start": "electron .",
9 | "buildas": "electron-packager .",
10 | "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=./icons/ico.icns --prune=true --out=build",
11 | "package-win-64": "electron-packager . MarkdownIt --overwrite --platform=win32 --arch=x64 --icon=./icons/cd.ico --prune=true --out=build --version-string.CompanyName=MarkdownIt --version-string.FileDescription=CE --version-string.ProductName=\"MarkdownIt\"",
12 | "package-win-32": "electron-packager . MarkdownIt --overwrite --platform=win32 --arch=ia32 --icon=./icons/cd.ico --prune=true --out=build --version-string.CompanyName=MarkdownIt --version-string.FileDescription=CE --version-string.ProductName=\"MarkdownIt\"",
13 | "package-linux": "electron-packager . MarkdownIt --overwrite --platform=linux --arch=x64 --icon=./icons/256x256.png --prune=true --out=build",
14 | "run-all": "npm run package-win-32 && npm run package-win-64 && npm run package-linux && npm run package-mac",
15 | "pruneit": "node-prune"
16 | },
17 | "keywords": [
18 | "markdown",
19 | "markdownit",
20 | "pdf",
21 | "html",
22 | "md"
23 | ],
24 | "author": "Fredy Somy",
25 | "license": "ISC",
26 | "dependencies": {
27 | "markdown-pdf": "^10.0.0"
28 | },
29 | "devDependencies": {
30 | "electron": "^10.2.0",
31 | "electron-packager": "^15.1.0"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/public/cd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fredysomy/MarkdownIt/969a3c8d8c4b877ce86ede6937a3f7763cfc72fd/public/cd.png
--------------------------------------------------------------------------------
/public/help.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Help
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
22 |
23 |
33 |
34 |
35 |
36 |
38 |
39 |
--------------------------------------------------------------------------------
/public/main.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | MarkdownIt
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
24 |
25 |
36 | SAVE AS
37 | OPEN FILE
38 | SAVE AS PDF
39 | SAVE AS HTML
40 | MARKDOWN HELP
41 | PUBLISH
42 | EDIT SITE
43 | CREATE SITE
44 |
51 |
58 |
59 |
79 |
80 |
--------------------------------------------------------------------------------
/public/settings.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
37 |
38 |
39 |
40 |
41 |
Note
42 |
Before you make changes in the Settings please make sure that you have saved your session.When you apply the changes the whole app refreshes to apply the changes.
43 |
44 |
Please Save your work and change the settings . If saved please ignore this message
45 |
46 |
47 |
48 |
49 |
Theme for the editor
50 |
51 | xcode
52 | vibrant_ink
53 | twilight
54 | textmate
55 | monokai
56 | ambiance
57 | chaos
58 | chrome
59 | clouds
60 | clouds_midnight
61 | cobalt
62 | crimson_editor
63 | dawn
64 | dracula
65 | dreamweaver
66 | eclipse
67 | github
68 | gob
69 | gruvbox
70 | idle_fingers
71 | merbivore
72 | merbivore_soft
73 | nord_dark
74 | pastel_on_dark
75 | solarized_dark
76 | solarized_light
77 | terminal
78 | tomorrow
79 | tomorrow_night_eighties
80 | tomorrow_night_bright
81 |
82 |
83 |
84 |
Background Color
85 |
86 |
87 |
88 |
Text Color
89 |
90 |
91 |
92 | Save Changes
93 | Apply and Quit
94 |
95 |
96 |
97 |
99 |
100 |
--------------------------------------------------------------------------------
/public/site.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Document
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
26 |
27 |
28 |
38 |
39 |
40 |
41 |
42 |
Please read this
43 |
This process alows you to create websites . Website name is the path of your page eg: https://markdownitweb.herokuapp.com/yourwebsitename
44 |
45 |
When clciking on the create website you will be shown a save dialog Dont change the filename and the file contents as it is crucial for creating and editing your webpage.
46 |
47 |
The file You save contains a unique secret id for your websites. Only with that file you will be able to edit and publish your websites.
48 |
49 |
64 |
65 |
66 | Create Website
67 |
68 |
69 |
70 |
71 |
73 |
74 |
--------------------------------------------------------------------------------
/public/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding: 0;
3 | margin: 0;
4 | font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
5 | color: white;
6 | }
7 |
8 | #menu-bar {
9 | display: flex;
10 | justify-content: space-between;
11 | align-items: center;
12 | height: 38px;
13 | background: #34475a;
14 | -webkit-app-region: drag;
15 | }
16 |
17 | #menu-bar > div {
18 | height: 100%;
19 | display: flex;
20 | justify-content: space-between;
21 | align-items: center;
22 | }
23 |
24 | .menubarr {
25 | -webkit-app-region: no-drag;
26 | outline: none !important;
27 | }
28 | .menubarr:active {
29 | border-style: outset;
30 | border: none;
31 |
32 | }
33 | .container {
34 | height: calc(100vh - 30px);
35 | background: #34475ab0;
36 | color: white;
37 | display: flex;
38 | justify-content: center;
39 | align-items: center;
40 | font-size: 2em;
41 | }
42 |
43 | button {
44 | height: 100%;
45 | padding: 0 15px;
46 | border: none;
47 | background: transparent;
48 | outline: none;
49 | }
50 |
51 | button:hover {
52 | background: rgba(221, 221, 221, 0.2);
53 | }
54 |
55 | #close-btn:hover {
56 | background: rgb(255, 0, 0);
57 | }
58 |
59 | button i {
60 | color: white;
61 | }
62 | #icon{
63 | width:37px;
64 | height: 37px;
65 | margin-left: 10px;
66 | margin-right: 10px;
67 | }
68 |
69 | #head{
70 | font-family: 'Poppins', sans-serif;
71 | }
72 | #editor {
73 | position: relative;
74 | min-height: 100px;
75 | font-size: 20px;
76 | }
77 | *{
78 | color:white;
79 | }
80 | ::-webkit-scrollbar {width: 6px; height: 4px; background: #7c7b7b; }
81 | ::-webkit-scrollbar-thumb { background-color: #000000; -webkit-border-radius: 2ex; }
82 |
83 |
84 |
85 | #save{
86 | margin:10px 5px;
87 | }
88 |
89 | #foot{
90 | margin:0;
91 | height:40px;
92 | background-color: #34475a;
93 | margin-bottom: 0;
94 | bottom: 0px;
95 | display:flex;
96 | flex-direction: row;
97 | }
98 | .menubarr12{
99 | margin-right: 0%;
100 | margin-left: 2%;
101 | }
102 | #a{
103 | color:black;
104 | }
105 | .alert-heading{
106 | color:black;
107 | }
108 | #work{
109 | color:black;
110 | }
111 | #aler{
112 | margin:1%;
113 | }
--------------------------------------------------------------------------------
/scripts/scriptforhelp.js:
--------------------------------------------------------------------------------
1 | const { ipcRenderer } = require("electron");
2 | //Just a help winodw with a pdf for markdown guide
3 | function quithelp() {
4 | ipcRenderer.send("closehelpwindow","");
5 | }
--------------------------------------------------------------------------------
/scripts/scripts.js:
--------------------------------------------------------------------------------
1 | // Scripts for rendering Markdown as html,pdf and for Manipulating Settings.json
2 |
3 |
4 | const df=require('fs')
5 | const pt=require('path')
6 | x=df.readFileSync(pt.join(__dirname,"../settings/settings.json"),"utf-8")
7 | data=JSON.parse(x);
8 | //the below functions live render the md as html
9 | function update() {
10 | var x = editor.getSession().getValue();
11 | var md = window.markdownit({
12 | html: true,
13 | linkify: true,
14 | typographer: true,
15 | });
16 | var result = md.render(x);
17 | document.getElementById("demo").innerHTML =result;
18 | }
19 | //Minimize the window
20 | function mini() {
21 | ipcRenderer.send("minimize","")
22 |
23 | }
24 | //opens any .md files in the editor
25 | function openfile() {
26 |
27 | x=ipcRenderer.sendSync("open1","")
28 | editor.setValue(x)
29 |
30 |
31 | }
32 | //MAximize the window
33 | function max() {
34 | ipcRenderer.send("maximize","")
35 | }
36 | //Quit the current window
37 | function quit() {
38 | ipcRenderer.send("quit","")
39 | }
40 | //Save a file
41 | function saveas() {
42 | var x = editor.getSession().getValue();
43 | ipcRenderer.send("open",x);
44 | }
45 | //opens a external link in browser
46 | function openlink(path){
47 | require('electron').shell.openExternal(path)
48 | }
49 | //main.html line 60. Open the settings
50 | function openwindow(){
51 | ipcRenderer.send("openwindow","yes do it");
52 | }
53 | //Save md as pdf
54 | function savepdf() {
55 | var xy = editor.getSession().getValue();
56 | ipcRenderer.send("savetopdfnow",xy);
57 | }
58 | //save md as html
59 | function savehtml() {
60 | var x2 = editor.getSession().getValue();
61 | var md2 = window.markdownit({
62 | html: true,
63 | linkify: true,
64 | typographer: true,
65 | });
66 | var result2 = md2.render(x2);
67 | ipcRenderer.send("savehtmlnow",result2);
68 | }
69 | //open a new winodw for help
70 | function givehelp() {
71 | ipcRenderer.send("helpmewithmarkdown","");
72 | }
73 |
74 | //PREVENT THE DEFAULT OPENING OF LINKS IN THE MAIN PROCESS.
75 |
76 | window.onload=()=>{
77 | document.getElementById("wer").addEventListener('click',(e)=>{e.preventDefault()});
78 | }
79 |
--------------------------------------------------------------------------------
/scripts/scriptsforsettings.js:
--------------------------------------------------------------------------------
1 | const fs_s=require("fs")
2 | const pt=require("path")
3 | const {ipcRenderer}=require('electron')
4 | //reading the settings.json which contains the editor themes
5 | window.onload=()=>{
6 | data=fs_s.readFileSync(pt.join(__dirname,'../settings/settings.json'),"utf-8")
7 | y=JSON.parse(data)
8 | document.getElementById('bg').value=y.bgcolor;
9 | document.getElementById('txt').value=y.txt_color;
10 | document.getElementById("select1").value=y.code_editor_theme;}
11 | //quit the settings window
12 | function quitsettings() {
13 | ipcRenderer.send("close_settings","");
14 | }
15 | //save the settings
16 | function savesettings() {
17 | y.bgcolor=document.getElementById('bg').value;
18 | y.txt_color=document.getElementById('txt').value;
19 | y.code_editor_theme=document.getElementById("select1").value;
20 | fs_s.writeFileSync(pt.join(__dirname,'../settings/settings.json'),JSON.stringify(y))
21 | ipcRenderer.send("settingssaved","Settings saved , please Apply changes to display changes")
22 |
23 | }
24 | //used to save adn reload the window(writes the new settings into settings.json file)
25 | function exitandreload() {
26 | ipcRenderer.send("quit-screen","Quitscreenandreaload")
27 | }
--------------------------------------------------------------------------------
/settings/settings.json:
--------------------------------------------------------------------------------
1 | {"bgcolor":"#303030","code_editor_theme":"monokai","txt_color":"#ffffff"}
--------------------------------------------------------------------------------
/webhost/script.js:
--------------------------------------------------------------------------------
1 | const {ipcRenderer}=require('electron');
2 | const {webpagecreated}=require('../notify/notify')
3 | const { Notification } = require('electron')
4 |
5 | function createsite() {
6 | if(navigator.onLine) {
7 | ipcRenderer.send("opencreatesite","");
8 | }
9 | else{
10 | window.alert("No network connection found")
11 | }
12 | }
13 | function quitcreatesite() {
14 | ipcRenderer.send("quitcreatewindow","");
15 | }
16 | function createsitenow() {
17 | if(navigator.onLine) {
18 | title=document.getElementById('title').value;
19 | desc=document.getElementById('desc').value;
20 | webname=document.getElementById('namesite').value;
21 | fetch('https://markdownitweb.herokuapp.com/api/markdownit/make',{method:'POST',
22 | headers: {
23 | 'Content-Type': 'application/json',
24 | },
25 | body:JSON.stringify({name:webname,desc:desc,title:title})}).then(datta=>datta.json()).then(dataaa=>{
26 | ipcRenderer.send("saveconfignow",dataaa);
27 | window.alert(`Your website is published at https://markdownitweb.herokuapp.com/${dataaa.name}`);
28 | document.getElementById("webname").innerHTML=`https://markdownitweb.herokuapp.com/${dataaa.name}`;
29 | });
30 | }
31 | else {
32 | window.alert("No network connection found ,Unable to Create the Site")
33 | }
34 | }
35 |
36 | function publishsite(){
37 | if(navigator.onLine) {
38 | data_config=ipcRenderer.sendSync("getconfigfiles","Publish");
39 | clean_data=JSON.parse(data_config);
40 | blogdata=editor.getSession().getValue();
41 | fetch('https://markdownitweb.herokuapp.com/api/markdownit/update',{method:'POST',
42 | headers: {
43 | 'Content-Type': 'application/json',
44 | },
45 | body:JSON.stringify({name:clean_data.name,id:clean_data.id,blog:blogdata})}).then(response=>response.json()).then(res=>{
46 | ipcRenderer.send("publishedsuccesfully",clean_data.name)
47 |
48 | });
49 | }
50 | else {
51 | window.alert("No network connection found ,Unable to publish the Site")
52 | }
53 |
54 | }
55 | function editcreatedsite() {
56 | if(navigator.onLine) {
57 | data_config_for_edit=ipcRenderer.sendSync("getconfigfiles","Edit");
58 | clean_data_edit=JSON.parse(data_config_for_edit);
59 | fetch('https://markdownitweb.herokuapp.com/api/markdownit/get',{method:'POST',
60 | headers: {
61 | 'Content-Type': 'application/json',
62 | },
63 | body:JSON.stringify({name:clean_data_edit.name,id:clean_data_edit.id})}).then(response=>response.json()).then(res=>{
64 | editor.setValue(res);
65 | });
66 | }
67 | else {
68 | window.alert("No network connection found ,Unable to Edit site.")
69 | }
70 | }
--------------------------------------------------------------------------------