commit a4d6334cd92f491a853f2aa7c326e770afe8f885 Author: Skylar Ittner Date: Mon Jan 7 19:55:01 2019 -0700 Barebones app with basic note viewing support diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..96e108e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/www/node_modules +/node_modules +/hooks +/platforms +/plugins diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..fd29596 --- /dev/null +++ b/.npmignore @@ -0,0 +1,2 @@ +# OS X +.DS_Store diff --git a/config.xml b/config.xml new file mode 100644 index 0000000..894e0da --- /dev/null +++ b/config.xml @@ -0,0 +1,52 @@ + + + NotePost + + A cross-platform client app for NotePost. + + + Netsyms Technologies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..129a4d4 Binary files /dev/null and b/logo.png differ diff --git a/nbproject/build.xml b/nbproject/build.xml new file mode 100644 index 0000000..9998f5b --- /dev/null +++ b/nbproject/build.xml @@ -0,0 +1,293 @@ + + + + + + + + + + = "3.0.0") { + project.setProperty(attributes.get("property"), true); + } + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Install "${basedir}/platforms/ios/build/${project.name}.ipa" through iTunes and run it. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/configs/android.properties b/nbproject/configs/android.properties new file mode 100644 index 0000000..409754d --- /dev/null +++ b/nbproject/configs/android.properties @@ -0,0 +1,3 @@ +device=emulator +display.name=Android Emulator +type=android diff --git a/nbproject/configs/android_1.properties b/nbproject/configs/android_1.properties new file mode 100644 index 0000000..bc6b508 --- /dev/null +++ b/nbproject/configs/android_1.properties @@ -0,0 +1,3 @@ +device=device +display.name=Android Device +type=android diff --git a/nbproject/configs/ios.properties b/nbproject/configs/ios.properties new file mode 100644 index 0000000..35059da --- /dev/null +++ b/nbproject/configs/ios.properties @@ -0,0 +1,5 @@ +device=emulator +display.name=iPhone Simulator +ios.build.arch=i386 +ios.build.sdk=iphonesimulator6.0 +type=ios diff --git a/nbproject/configs/ios_1.properties b/nbproject/configs/ios_1.properties new file mode 100644 index 0000000..6d6ca26 --- /dev/null +++ b/nbproject/configs/ios_1.properties @@ -0,0 +1,5 @@ +device=device +display.name=iPhone Device +ios.build.arch=armv6 armv7 +ios.build.sdk=iphoneos6.0 +type=ios diff --git a/nbproject/license-mpl.txt b/nbproject/license-mpl.txt new file mode 100644 index 0000000..8fe23b3 --- /dev/null +++ b/nbproject/license-mpl.txt @@ -0,0 +1,9 @@ +<#if licenseFirst??> +${licenseFirst} + +${licensePrefix}This Source Code Form is subject to the terms of the Mozilla Public +${licensePrefix}License, v. 2.0. If a copy of the MPL was not distributed with this +${licensePrefix}file, You can obtain one at http://mozilla.org/MPL/2.0/. +<#if licenseLast??> +${licenseLast} + diff --git a/nbproject/plugins.properties b/nbproject/plugins.properties new file mode 100644 index 0000000..505884d --- /dev/null +++ b/nbproject/plugins.properties @@ -0,0 +1,31 @@ +# This is a list of plugins installed in your project +# You can delete or add new plugins +# +# Format is following: +# id.of.plugin=url_of_repository +# +# Corresponding "id.of.plugin" can be found in the plugin's plugin.xml file: +# +# +# This list contains all core cordova plugins. +# +# For more information about plugins see http://cordova.apache.org/blog/releases/2013/07/23/cordova-3.html +# + +cordova-plugin-device=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git +cordova-plugin-network-information=https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git +cordova-plugin-battery-status=https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git +cordova-plugin-device-motion=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git +cordova-plugin-device-orientation=https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git +cordova-plugin-geolocation=https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git +cordova-plugin-camera=https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git +cordova-plugin-media-capture=https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git +cordova-plugin-media=https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git +cordova-plugin-file=https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git +cordova-plugin-file-transfer=https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git +cordova-plugin-dialogs=https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git +cordova-plugin-vibration=https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git +cordova-plugin-contacts=https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git +cordova-plugin-globalization=https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git +cordova-plugin-splashscreen=https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git +cordova-plugin-console=https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties new file mode 100644 index 0000000..0a5e21d --- /dev/null +++ b/nbproject/private/private.properties @@ -0,0 +1,3 @@ +auxiliary.org-netbeans-modules-javascript-nodejs.debug_2e_port=9292 +auxiliary.org-netbeans-modules-javascript-nodejs.node_2e_path= +browser=android_1 diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..22afb70 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,13 @@ +auxiliary.org-netbeans-modules-cordova.cordova_5f_build_5f_script_5f_version=52 +auxiliary.org-netbeans-modules-cordova.phonegap=true +auxiliary.org-netbeans-modules-javascript-nodejs.enabled=false +auxiliary.org-netbeans-modules-javascript-nodejs.node_2e_default=true +auxiliary.org-netbeans-modules-javascript-nodejs.sync_2e_enabled=true +file.reference.NotePostApp-test=test +file.reference.NotePostApp-www=www +files.encoding=UTF-8 +project.license=mpl +project.licensePath=./nbproject/license-mpl.txt +project.organization=Netsyms Technologies +site.root.folder=${file.reference.NotePostApp-www} +test.folder=${file.reference.NotePostApp-test} diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..3fe73b5 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.web.clientproject + + + NotePostApp + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..567738a --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "com.netsyms.NotePostApp", + "displayName": "NotePost", + "version": "1.0.0", + "description": "A cross-platform client app for NotePost.", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Netsyms Technologies", + "license": "MPL-2.0", + "dependencies": { + "cordova-android": "^7.1.4", + "cordova-browser": "^5.0.4", + "cordova-plugin-app-version": "^0.1.9", + "cordova-plugin-headercolor": "^1.0.0", + "cordova-plugin-statusbar": "^2.4.2", + "cordova-plugin-whitelist": "^1.3.3" + }, + "cordova": { + "plugins": { + "cordova-plugin-whitelist": {}, + "cordova-plugin-statusbar": {}, + "cordova-plugin-headercolor": {}, + "cordova-plugin-app-version": {} + }, + "platforms": [ + "browser", + "android" + ] + } +} \ No newline at end of file diff --git a/res/android/drawable/ic_launcher_foreground.xml b/res/android/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..5c21c01 --- /dev/null +++ b/res/android/drawable/ic_launcher_foreground.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/res/android/mipmap-anydpi-v26/ic_launcher.xml b/res/android/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..7353dbd --- /dev/null +++ b/res/android/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/res/android/mipmap-anydpi-v26/ic_launcher_round.xml b/res/android/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..7353dbd --- /dev/null +++ b/res/android/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/res/android/mipmap-hdpi/ic_launcher.png b/res/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..cd21a86 Binary files /dev/null and b/res/android/mipmap-hdpi/ic_launcher.png differ diff --git a/res/android/mipmap-hdpi/ic_launcher_round.png b/res/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..9e7467e Binary files /dev/null and b/res/android/mipmap-hdpi/ic_launcher_round.png differ diff --git a/res/android/mipmap-mdpi/ic_launcher.png b/res/android/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..3c88117 Binary files /dev/null and b/res/android/mipmap-mdpi/ic_launcher.png differ diff --git a/res/android/mipmap-mdpi/ic_launcher_round.png b/res/android/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..9b440bc Binary files /dev/null and b/res/android/mipmap-mdpi/ic_launcher_round.png differ diff --git a/res/android/mipmap-mdpi/icon.png b/res/android/mipmap-mdpi/icon.png new file mode 100644 index 0000000..93594a6 Binary files /dev/null and b/res/android/mipmap-mdpi/icon.png differ diff --git a/res/android/mipmap-xhdpi/ic_launcher.png b/res/android/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..3ed8a65 Binary files /dev/null and b/res/android/mipmap-xhdpi/ic_launcher.png differ diff --git a/res/android/mipmap-xhdpi/ic_launcher_round.png b/res/android/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..e2f2162 Binary files /dev/null and b/res/android/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/res/android/mipmap-xxhdpi/ic_launcher.png b/res/android/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..e2b0eb8 Binary files /dev/null and b/res/android/mipmap-xxhdpi/ic_launcher.png differ diff --git a/res/android/mipmap-xxhdpi/ic_launcher_round.png b/res/android/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..f15d603 Binary files /dev/null and b/res/android/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/res/android/mipmap-xxxhdpi/ic_launcher.png b/res/android/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..e71a780 Binary files /dev/null and b/res/android/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/res/android/mipmap-xxxhdpi/ic_launcher_round.png b/res/android/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..428abee Binary files /dev/null and b/res/android/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/res/android/values/ic_launcher_background.xml b/res/android/values/ic_launcher_background.xml new file mode 100644 index 0000000..c5d5899 --- /dev/null +++ b/res/android/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + \ No newline at end of file diff --git a/res/android/values/strings.xml b/res/android/values/strings.xml new file mode 100644 index 0000000..2b58916 --- /dev/null +++ b/res/android/values/strings.xml @@ -0,0 +1,6 @@ + + + NotePost + @string/app_name + @string/launcher_name + diff --git a/www/css/notecards.css b/www/css/notecards.css new file mode 100644 index 0000000..850d50b --- /dev/null +++ b/www/css/notecards.css @@ -0,0 +1,30 @@ +/* +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at http://mozilla.org/MPL/2.0/. +*/ + +.notecards-row { + justify-content: left; +} + +.notecard ul, .notecard ol { + padding-left: 1em; +} + +.notecard li > ul, .notecard li > ol { + padding-left: 1em; +} + +.notecard .menubtn { + position: absolute; + top: 0; + right: 0; + padding: 1em; + cursor: pointer; + z-index: 99999; +} + +.popover .list .list-button { + color: inherit; +} \ No newline at end of file diff --git a/www/fonts/MaterialIcons-Regular.woff b/www/fonts/MaterialIcons-Regular.woff new file mode 100644 index 0000000..b648a3e Binary files /dev/null and b/www/fonts/MaterialIcons-Regular.woff differ diff --git a/www/fonts/MaterialIcons-Regular.woff2 b/www/fonts/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000..9fa2112 Binary files /dev/null and b/www/fonts/MaterialIcons-Regular.woff2 differ diff --git a/www/fonts/Material_Icons.eot b/www/fonts/Material_Icons.eot new file mode 100644 index 0000000..285e524 Binary files /dev/null and b/www/fonts/Material_Icons.eot differ diff --git a/www/fonts/Material_Icons.svg b/www/fonts/Material_Icons.svg new file mode 100644 index 0000000..6c0bc57 --- /dev/null +++ b/www/fonts/Material_Icons.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/fonts/Material_Icons.ttf b/www/fonts/Material_Icons.ttf new file mode 100644 index 0000000..84a44b8 Binary files /dev/null and b/www/fonts/Material_Icons.ttf differ diff --git a/www/fonts/Material_Icons.woff b/www/fonts/Material_Icons.woff new file mode 100644 index 0000000..41b78e2 Binary files /dev/null and b/www/fonts/Material_Icons.woff differ diff --git a/www/fonts/Material_Icons.woff2 b/www/fonts/Material_Icons.woff2 new file mode 100644 index 0000000..373c2c5 Binary files /dev/null and b/www/fonts/Material_Icons.woff2 differ diff --git a/www/fonts/material.css b/www/fonts/material.css new file mode 100644 index 0000000..a39e603 --- /dev/null +++ b/www/fonts/material.css @@ -0,0 +1,39 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: normal; + src: + /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNY.eot */ + url('Material_Icons.eot?#iefix') format('embedded-opentype'), + /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.woff */ + url('Material_Icons.woff') format('woff'), + /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 */ + url('Material_Icons.woff2') format('woff2'), + /* from https://fonts.gstatic.com/l/font?kit=flUhRq6tzZclQEJ-Vdg-IuiaDsNb&skey=4fbfe4498ec2960a&v=v41#MaterialIcons */ + url('Material_Icons.svg#MaterialIcons') format('svg'), + /* from https://fonts.gstatic.com/s/materialicons/v41/flUhRq6tzZclQEJ-Vdg-IuiaDsNZ.ttf */ + url('Material_Icons.ttf') format('truetype'); +} + + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; +} \ No newline at end of file diff --git a/www/index.html b/www/index.html new file mode 100644 index 0000000..5f86239 --- /dev/null +++ b/www/index.html @@ -0,0 +1,35 @@ + + + + + + + + + + + +NotePost + +
+ + + +
+ +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/www/js/Notes.class.js b/www/js/Notes.class.js new file mode 100644 index 0000000..b470bb8 --- /dev/null +++ b/www/js/Notes.class.js @@ -0,0 +1,100 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + + +function Notes() { + this.notes = []; + +} + +Notes.prototype.get = function (id) { + for (var i = 0; i < this.notes.length; i++) { + if (this.notes[i].id == id) { + return this.notes[i]; + } + } +} + +Notes.prototype.getAll = function () { + return this.notes; +} + +Notes.prototype.set = function (note) { + for (var i = 0; i < this.notes.length; i++) { + if (this.notes[i].id == note.id) { + this.notes[i] = note; + return; + } + } + this.notes.push(note); +} + +Notes.prototype.add = function (note, callback) { + this.notes.push(note); + if (typeof callback == 'function') { + callback(); + } +} + +Notes.prototype.fix = function (note) { + console.log("Fixing note " + note.id); + // Set background color + if (typeof note.color !== 'string') { + note.color = "FFF59D"; + } + // Set text color based on background + if (typeof note.textcolor !== 'string') { + var r = parseInt(note.color.substring(0, 2), 16); + var g = parseInt(note.color.substring(2, 4), 16); + var b = parseInt(note.color.substring(4, 6), 16); + console.log(r); + console.log(g); + console.log(b); + + var contrast = Math.sqrt( + r * r * 0.241 + + g * g * 0.691 + + b * b * 0.068 + ); + + if (contrast > 130) { + note.textcolor = "000000"; + } else { + note.textcolor = "FFFFFF"; + } + } + // Render Markdown to HTML + if (typeof note.html !== 'string') { + note.html = marked(note.content); + } + // Save + this.set(note); +} + +Notes.prototype.fixAll = function () { + for (var i = 0; i < this.notes.length; i++) { + this.fix(this.notes[i]); + } +} + +Notes.prototype.load = function (callback) { + if (localStorage.getItem("notes") !== null) { + data = JSON.parse(localStorage.getItem("notes")); + if (data.length > 0) { + this.notes = data; + } + } + if (typeof callback == 'function') { + callback(); + } +} + +Notes.prototype.save = function (callback) { + localStorage.setItem("notes", JSON.stringify(this.notes)); + if (typeof callback == 'function') { + callback(); + } +} \ No newline at end of file diff --git a/www/js/home.js b/www/js/home.js new file mode 100644 index 0000000..3be6264 --- /dev/null +++ b/www/js/home.js @@ -0,0 +1,129 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + + +function loadHomePage(reload) { + if (typeof reload == 'undefined') { + reload = false; + } + notes.load(function () { + notes.fixAll(); + var notecards = notes.getAll(); + + router.navigate("/home", { + context: { + notecards: notecards, + homeloaded: true + }, + reloadCurrent: true + }); + }); +} + + +$(".view-main").on("ptr:refresh", ".ptr-content", function () { + loadHomePage(true); +}); + +function editNote(id) { + console.log("Editing " + id); +} + +function favoriteNote(id) { + +} + +function makeList(id) { + +} + +function deleteNote(id) { + +} + +$("#app").on("click", ".edit-note-btn", function () { + editNote($(this).data("note")); +}); + +$("#app").on("click", ".favorite-note-btn", function () { + favoriteNote($(this).data("note")); +}); + +$("#app").on("click", ".listify-note-btn", function () { + makeList($(this).data("note")); +}); + +$("#app").on("click", ".delete-note-btn", function () { + deleteNote($(this).data("note")); +}); + +function openNoteActionMenu(notecard) { + var noteid = notecard.data("id"); + if (window.innerWidth < 768) { + var actionsheet = app.actions.create({ + buttons: [ + { + text: "Edit", + bold: true, + icon: '', + onClick: function () { + editNote(noteid); + } + }, + { + text: "Favorite", + icon: '', + onClick: function () { + favoriteNote(noteid); + } + }, + { + text: "Make a List", + icon: '', + onClick: function () { + makeList(noteid); + } + }, + { + text: "Delete", + icon: '', + onClick: function () { + deleteNote(noteid); + } + } + ] + }); + + actionsheet.open(); + return false; + } else { + var contextPopover = app.popover.create({ + targetEl: notecard.children(".menubtn"), + content: '
' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + }); + contextPopover.open(); + } + return false; +} + +$(".view-main").on("click", ".notecard .menubtn", function () { + return openNoteActionMenu($(this).parent()); +}); + +$(".view-main").on("contextmenu", ".notecard", function () { + return openNoteActionMenu($(this)); +}); \ No newline at end of file diff --git a/www/js/main.js b/www/js/main.js new file mode 100644 index 0000000..cadefe5 --- /dev/null +++ b/www/js/main.js @@ -0,0 +1,61 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +var $$ = Dom7; + +var app = new Framework7({ + root: "#app", + name: "NotePost", + id: "com.netsyms.NotePostApp", + routes: routes +}); + +var mainView = app.views.create('.view-main', { + url: "/" +}); + +var router = mainView.router; + +var notes = new Notes(); + +/** + * Thanks to https://stackoverflow.com/a/13542669 + * @param {type} color + * @param {type} percent + * @returns {String} + */ +function shadeColor2(color, percent) { + var f = parseInt(color.slice(1), 16), t = percent < 0 ? 0 : 255, p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF; + return "#" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1); +} + +function restartApplication() { + navigator.splashscreen.show(); + // We're doing the timeout so we don't run afoul of server-side rate limiting + setTimeout(function () { + window.location = "index.html"; + }, 3000); +} + +router.on("pageInit", function (pagedata) { + pagedata.$el.find('script').each(function (el) { + if ($$(this).attr('src')) { + var s = document.createElement('script'); + s.src = $$(this).attr('src'); + $$('head').append(s); + } else { + eval($$(this).text()); + } + }); + switch (pagedata.name) { + case "settings": + updateSettingsData(); + break; + } +}); + +// Run platform-specific setup code for Cordova or NW.js +initPlatform(); + +loadHomePage(false); \ No newline at end of file diff --git a/www/js/notes.js b/www/js/notes.js new file mode 100644 index 0000000..0f3b198 --- /dev/null +++ b/www/js/notes.js @@ -0,0 +1,8 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + + +var notes = new Notes(); \ No newline at end of file diff --git a/www/js/platform.js b/www/js/platform.js new file mode 100644 index 0000000..99183b7 --- /dev/null +++ b/www/js/platform.js @@ -0,0 +1,32 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + + +function initCordova() { + // Handle back button to close things + document.addEventListener("backbutton", function (event) { + + }, false); + + document.addEventListener("deviceready", function () { + if (cordova.platformId == 'android') { + StatusBar.backgroundColorByHexString("#D32F2F"); + StatusBar.styleLightContent(); + } + }, false); +} + +function initNW() { + +} + +function initPlatform() { + if (typeof cordova !== 'undefined') { + initCordova(); + } else if (typeof nw !== 'undefined') { + initNW(); + } +} \ No newline at end of file diff --git a/www/package.json b/www/package.json new file mode 100644 index 0000000..40e4aaa --- /dev/null +++ b/www/package.json @@ -0,0 +1,14 @@ +{ + "name": "com.netsyms.NotePostApp", + "displayName": "NotePost", + "version": "1.0.0", + "description": "A cross-platform client app for NotePost.", + "author": "Netsyms Technologies", + "license": "MPL-2.0", + "dependencies": { + "@fortawesome/fontawesome-free": "^5.6.3", + "framework7": "^3.6.5", + "jquery": "^3.3.1", + "marked": "^0.6.0" + } +} diff --git a/www/pages/home.html b/www/pages/home.html new file mode 100644 index 0000000..0698527 --- /dev/null +++ b/www/pages/home.html @@ -0,0 +1,53 @@ + +
+ + + +
+ +
+
+
+
+ +
+ {{#each notecards}} +
+
+ +
{{html}}
+
+
+ {{/each}} +
+ +
+ + + + + {{#unless homeloaded}} + + {{/unless}} + +
\ No newline at end of file diff --git a/www/routes.js b/www/routes.js new file mode 100644 index 0000000..9f075ee --- /dev/null +++ b/www/routes.js @@ -0,0 +1,24 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + + +var routes = [ + { + path: '/home', + templateUrl: './pages/home.html', + name: 'home' + }, + { + path: '/credits', + url: './pages/credits.html', + name: 'credits' + }, + { + path: '/loaderror', + url: './pages/loaderror.html', + name: 'loaderror' + }, +]; \ No newline at end of file diff --git a/www/yarn.lock b/www/yarn.lock new file mode 100644 index 0000000..f3580ac --- /dev/null +++ b/www/yarn.lock @@ -0,0 +1,50 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@fortawesome/fontawesome-free@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.6.3.tgz#61c122c420d7a91613f393d6a06e5a4c6ae6abf3" + integrity sha512-s5PLdI9NYgjBvfrv6rhirPHlAHWx+Sfo/IjsAeiXYfmemC/GSjwsyz1wLnGPazbLPXWfk62ks980o9AmsxYUEQ== + +dom7@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/dom7/-/dom7-2.1.2.tgz#a914070c0abe8465384997a9c4f34475f67f75bd" + integrity sha512-cGwWtpu7KY3JnbREGqG4EGC/u+1hyLfWVMqrqRjmwiO8d5i4B+0imLZAQ/cJbiXnjbs0pdIUzcUyeI9BbnyKNg== + dependencies: + ssr-window "^1.0.1" + +framework7@^3.6.5: + version "3.6.5" + resolved "https://registry.yarnpkg.com/framework7/-/framework7-3.6.5.tgz#dbd3c044ad36df73a9ed57cde5467e3c7c0d137e" + integrity sha512-bKIeIepeumIZM75rFhuk6DSr9yqi+05EPbpkyKHZLFOdNFfhbEW1wr0PYpjVrMuuxO3iK9frhiUx982QhlhPqA== + dependencies: + dom7 "^2.1.2" + path-to-regexp "^2.4.0" + ssr-window "^1.0.1" + template7 "^1.4.0" + +jquery@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca" + integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg== + +marked@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.0.tgz#a18d01cfdcf8d15c3c455b71c8329e5e0f01faa1" + integrity sha512-HduzIW2xApSXKXJSpCipSxKyvMbwRRa/TwMbepmlZziKdH8548WSoDP4SxzulEKjlo8BE39l+2fwJZuRKOln6g== + +path-to-regexp@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704" + integrity sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w== + +ssr-window@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-1.0.1.tgz#30752a6a4666e7767f0b7e6aa6fc2fdbd0d9b369" + integrity sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg== + +template7@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/template7/-/template7-1.4.0.tgz#d400af49ea56fc08cc835a20e6167a26b288fb1b" + integrity sha512-NMJWbKIoowHixUYIHq+DLvcBM47t/oZ/xfvBbYuMusjjS6BUjC02+gLWctntJuTTiEqILfefBNCXbfp/EMt/zQ== diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..5f40bdb --- /dev/null +++ b/yarn.lock @@ -0,0 +1,851 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@*, abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@*, accepts@~1.3.4, accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +android-versions@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/android-versions/-/android-versions-1.4.0.tgz#807ea2941d7e5780e6dd61c5d9b7b6f3c0706e09" + integrity sha512-GnomfYsBq+nZh3c3UH/4r9Jt6FuTxdhUJbeHIdYOH5xBhQ8I0ZzC2/RM5IFFIjrzuNWSHb8JWP1lPK0/a26jrg== + dependencies: + semver "^5.4.1" + +ansi-regex@2.1.1, ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-styles@2.2.1, ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi@*, ansi@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" + integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +balanced-match@*, balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + integrity sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE= + +big-integer@*, big-integer@^1.6.7: + version "1.6.40" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.40.tgz#02e4cd4d6e266c4d9ece2469c05cb6439149fc78" + integrity sha512-CjhtJp0BViLzP1ZkEnoywjgtFQXS2pomKjAJtIISTCnuHILkLcAXLdFLG/nxsHc4s9kJfc+82Xpg8WNyhfACzQ== + +big-integer@1.6.32: + version "1.6.32" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.32.tgz#5867458b25ecd5bcb36b627c30bb501a13c07e89" + integrity sha512-ljKJdR3wk9thHfLj4DtrNiOSTxvGFaMjWrG4pW75juXC4j7+XuKJVFdg4kgFMYp85PVkO05dFMj2dk2xVsH4xw== + +body-parser@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + integrity sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ= + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +body-parser@1.18.3: + version "1.18.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "~1.6.3" + iconv-lite "0.4.23" + on-finished "~2.3.0" + qs "6.5.2" + raw-body "2.3.3" + type-is "~1.6.16" + +bplist-parser@*, bplist-parser@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" + integrity sha1-1g1dzCDLptx+HymbNdPh+V2vuuY= + dependencies: + big-integer "^1.6.7" + +brace-expansion@*, brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +bytes@*, bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +chalk@1.1.3, chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +compressible@*, compressible@~2.0.13, compressible@~2.0.14: + version "2.0.15" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.15.tgz#857a9ab0a7e5a07d8d837ed43fe2defff64fe212" + integrity sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw== + dependencies: + mime-db ">= 1.36.0 < 2" + +compression@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" + integrity sha1-qv+81qr4VLROuygDU9WtFlH1mmk= + dependencies: + accepts "~1.3.4" + bytes "3.0.0" + compressible "~2.0.13" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.1" + vary "~1.1.2" + +compression@^1.6.0: + version "1.7.3" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" + integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.14" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@*, concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-disposition@*: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= + +content-type@*, content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@*, cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= + +cordova-android@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/cordova-android/-/cordova-android-7.1.4.tgz#25261ad66cc64f42a30b70be005901fa30e2430e" + integrity sha512-Rtvu002I83uzfVyCsE6p2krFKVHt9TSAqZUATes+zH+o9cdxYGrLHY+PKCQo4SLCdSMdrkIHCDnQPTYTp/d7+g== + dependencies: + android-versions "1.4.0" + base64-js "1.2.0" + big-integer "1.6.32" + cordova-common "2.2.5" + elementtree "0.1.6" + glob "5.0.15" + nopt "3.0.1" + path-is-absolute "1.0.1" + plist "2.1.0" + properties-parser "0.2.3" + q "1.4.1" + sax "0.3.5" + semver "5.5.0" + shelljs "0.5.3" + xmlbuilder "8.2.2" + +cordova-browser@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cordova-browser/-/cordova-browser-5.0.4.tgz#a89d1f37a89c66c83af6ad90e8d62e57dec0ce60" + integrity sha512-EDuG+9NGsaYpNSY6wF0kR34m1m38V+nRglGXxQ609fgMYrMHEYR2lg38nDr1Os4qeF0LJz8UQ7nq7Y+idg6Aig== + dependencies: + ansi-regex "2.1.1" + ansi-styles "2.2.1" + array-flatten "1.1.1" + base64-js "1.2.0" + body-parser "1.18.2" + chalk "1.1.3" + compression "1.7.2" + cookie-signature "1.0.6" + cordova-common "2.2.5" + cordova-serve "2.0.1" + debug "2.6.9" + elementtree "0.1.6" + glob "5.0.15" + has-ansi "2.0.0" + http-errors "1.6.3" + iconv-lite "0.4.19" + ipaddr.js "1.6.0" + mime "1.4.1" + mime-db "1.33.0" + mime-types "2.1.18" + ms "2.0.0" + nopt "3.0.6" + path-to-regexp "0.1.7" + plist "2.1.0" + proxy-addr "2.0.3" + qs "6.5.1" + raw-body "2.3.2" + safe-buffer "5.1.1" + sax "0.3.5" + shelljs "0.5.3" + statuses "1.4.0" + strip-ansi "3.0.1" + supports-color "2.0.0" + xmlbuilder "8.2.2" + +cordova-common@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/cordova-common/-/cordova-common-2.2.5.tgz#f93cef2ad494cfcbf56c46e3d612aaa9cb5fcc32" + integrity sha1-+TzvKtSUz8v1bEbj1hKqqctfzDI= + dependencies: + ansi "^0.3.1" + bplist-parser "^0.1.0" + cordova-registry-mapper "^1.1.8" + elementtree "0.1.6" + glob "^5.0.13" + minimatch "^3.0.0" + plist "^2.1.0" + q "^1.4.1" + shelljs "^0.5.3" + underscore "^1.8.3" + unorm "^1.3.3" + +cordova-plugin-app-version@^0.1.9: + version "0.1.9" + resolved "https://registry.yarnpkg.com/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.9.tgz#9db0607863337a710489302e5f50a904f1449bdb" + integrity sha1-nbBgeGMzenEEiTAuX1CpBPFEm9s= + +cordova-plugin-headercolor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cordova-plugin-headercolor/-/cordova-plugin-headercolor-1.0.0.tgz#020acd943787ee039d67f679e8d9ea6d38920316" + integrity sha1-AgrNlDeH7gOdZ/Z56NnqbTiSAxY= + +cordova-plugin-statusbar@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.2.tgz#fc1fbdc0d8d7033a7e8e1f1f7ff167ac9bd4faf6" + integrity sha1-/B+9wNjXAzp+jh8ff/FnrJvU+vY= + +cordova-plugin-whitelist@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz#b5e85ecdbbfe5aeded40a1bf4ee2372e67d96fb4" + integrity sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q= + +cordova-registry-mapper@*, cordova-registry-mapper@^1.1.8: + version "1.1.15" + resolved "https://registry.yarnpkg.com/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz#e244b9185b8175473bff6079324905115f83dc7c" + integrity sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw= + +cordova-serve@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cordova-serve/-/cordova-serve-2.0.1.tgz#79e384b9da0d45fb3bd6ea46bd69120dbfda3971" + integrity sha512-3Xl1D5eyiQlY5ow6Kn/say0us2TqSw/zgQmyTLxbewTngQZ1CIqxmqD7EFGoCNBrB4HsdPmpiSpFCitybKQN9g== + dependencies: + chalk "^1.1.1" + compression "^1.6.0" + express "^4.13.3" + opn "^5.3.0" + shelljs "^0.5.3" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +depd@*: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + integrity sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k= + +depd@~1.1.1, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@*, destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +ee-first@*, ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +elementtree@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/elementtree/-/elementtree-0.1.6.tgz#2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c" + integrity sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw= + dependencies: + sax "0.3.5" + +encodeurl@*, encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +escape-html@*, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@*, escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +etag@*, etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +express@*, express@^4.13.3: + version "4.16.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.3" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.4" + qs "6.5.2" + range-parser "~1.2.0" + safe-buffer "5.1.2" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +finalhandler@*, finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +forwarded@*, forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fresh@*, fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +glob@5.0.15, glob@^5.0.13: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +has-ansi@2.0.0, has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +http-errors@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + integrity sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY= + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== + +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +inflight@*, inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@*, inherits@2, inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ipaddr.js@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" + integrity sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs= + +ipaddr.js@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" + integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= + +is-wsl@*, is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +media-typer@*: + version "1.0.1" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.0.1.tgz#e39d677e19a011c52d2681f430d1adafb299dd41" + integrity sha512-v42gdPIuqYCoDVH5OiaKsVrv6aJqdMWJzl8KCyDs/KeDyBveYp3Wxq4UWJfsWjkSZUNC0xlLfDlLCPa1h/oo+g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@*, merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +methods@*, methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +mime-db@1.33.0, mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== + +"mime-db@>= 1.36.0 < 2", mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== + +mime-types@2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== + dependencies: + mime-db "~1.33.0" + +mime-types@~2.1.18: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== + dependencies: + mime-db "~1.37.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== + +minimatch@*, "minimatch@2 || 3", minimatch@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +negotiator@*, negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= + +nopt@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.1.tgz#bce5c42446a3291f47622a370abbf158fbbacbfd" + integrity sha1-vOXEJEajKR9HYio3CrvxWPu6y/0= + dependencies: + abbrev "1" + +nopt@3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +on-finished@*, on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@*, on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + integrity sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c= + +once@*, once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +opn@*, opn@^5.3.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" + integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== + dependencies: + is-wsl "^1.1.0" + +parseurl@*, parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= + +path-is-absolute@*: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-2.0.0.tgz#cba416f4f3be5d068afe2083d9b3b3707414533d" + integrity sha512-ajROpjq1SLxJZsgSVCcVIt+ZebVH+PwJtPnVESjfg6JKwJGwAgHRC3zIcjvI0LnecjIHCJhtfNZ/Y/RregqyXg== + +path-is-absolute@1.0.1, path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +plist@2.1.0, plist@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/plist/-/plist-2.1.0.tgz#57ccdb7a0821df21831217a3cad54e3e146a1025" + integrity sha1-V8zbeggh3yGDEhejytVOPhRqECU= + dependencies: + base64-js "1.2.0" + xmlbuilder "8.2.2" + xmldom "0.1.x" + +properties-parser@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/properties-parser/-/properties-parser-0.2.3.tgz#f7591255f707abbff227c7b56b637dbb0373a10f" + integrity sha1-91kSVfcHq7/yJ8e1a2N9uwNzoQ8= + +proxy-addr@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" + integrity sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.6.0" + +proxy-addr@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" + integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.8.0" + +q@*, q@^1.4.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +q@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= + +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + integrity sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A== + +qs@6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +range-parser@*, range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= + +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + integrity sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k= + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +raw-body@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== + dependencies: + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" + unpipe "1.0.0" + +safe-buffer@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== + +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/sax/-/sax-0.3.5.tgz#88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d" + integrity sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0= + +semver@5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== + +semver@^5.4.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + +send@*, send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serve-static@*, serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +setprototypeof@*: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + integrity sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +shelljs@0.5.3, shelljs@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113" + integrity sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM= + +statuses@1.4.0, statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== + +"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +strip-ansi@3.0.1, strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +supports-color@2.0.0, supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +type-is@*, type-is@~1.6.15, type-is@~1.6.16: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" + +underscore@*, underscore@^1.8.3: + version "1.9.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" + integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== + +unorm@*, unorm@^1.3.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.4.1.tgz#364200d5f13646ca8bcd44490271335614792300" + integrity sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA= + +unpipe@*, unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +utils-merge@*, utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +vary@*, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +wrappy@*, wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xmlbuilder@8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" + integrity sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M= + +xmldom@*, xmldom@0.1.x: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= diff --git a/yarninstall.sh b/yarninstall.sh new file mode 100755 index 0000000..6d3ef05 --- /dev/null +++ b/yarninstall.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +yarn install + +# Install frontend dependencies with Yarn, in www folder +cd www +yarn install