├── .editorconfig ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── Gruntfile.js ├── LICENSE ├── README.md ├── appveyor.yml ├── build ├── background.tiff ├── icon.icns ├── icon.ico ├── icon.svg └── icons │ ├── 128x128.png │ ├── 16x16.png │ ├── 24x24.png │ ├── 256x256.png │ ├── 32x32.png │ ├── 48x48.png │ ├── 512x512.png │ ├── 64x64.png │ └── 96x96.png ├── composer.phar ├── docs ├── images │ ├── conductor.gif │ └── project-page.png ├── index.md └── installation │ ├── linux.md │ ├── macos.md │ └── windows.md ├── main.js ├── mkdocs.yml ├── package-lock.json ├── package.json ├── public ├── css │ ├── conductor.css │ └── conductor.css.map └── scss │ ├── _flex.scss │ ├── _vars.scss │ └── styles.scss ├── src ├── components │ ├── ComposerFrame.js │ ├── CreateProjectForm.js │ ├── MainLayout.js │ ├── MainNavigation.js │ ├── PackageDetails.js │ ├── ProjectDetails.js │ ├── ProjectLayout.js │ ├── ProjectNavigation.js │ ├── RecentProjects.js │ └── SettingsForm.js ├── models │ ├── Lock.js │ ├── Package.js │ └── Project.js ├── store.js ├── utils │ ├── AppMenu.js │ ├── AppUpdater.js │ ├── BrowserWindowFactory.js │ ├── Composer.js │ ├── ProjectList.js │ └── misc.js └── windows │ ├── index.html │ ├── mainWindow.js │ └── project │ ├── project.html │ └── projectWindow.js ├── test └── mainWindowTest.js ├── update-composer.sh └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [package.json] 11 | indent_style = space 12 | indent_size = 2 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | .idea 4 | dist 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | osx_image: xcode7.3 2 | 3 | sudo: required 4 | dist: trusty 5 | 6 | language: c 7 | 8 | matrix: 9 | include: 10 | - os: osx 11 | - os: linux 12 | env: CC=clang CXX=clang++ npm_config_clang=1 13 | compiler: clang 14 | 15 | cache: 16 | directories: 17 | - node_modules 18 | - $HOME/.electron 19 | - $HOME/.cache 20 | 21 | addons: 22 | apt: 23 | packages: 24 | - libgnome-keyring-dev 25 | - icnsutils 26 | 27 | install: 28 | - nvm install 6 29 | - npm install 30 | - npm prune 31 | 32 | before_script: 33 | - | 34 | if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then 35 | export DISPLAY=:99.0 36 | sh -e /etc/init.d/xvfb start 37 | sleep 3 38 | fi 39 | 40 | script: 41 | - npm test 42 | - npm run dist 43 | 44 | branches: 45 | except: 46 | - "/^v\\d+\\.\\d+\\.\\d+$/" 47 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Conductor 2 | 3 | All forms of contribution are welcomed for Conductor: bug fixes, feature pull requests, bug reports, design concepts, documentation, or any kind of feedback. 4 | 5 | ## How you can contribute 6 | 7 | 1. Diagnose a bug by creating an issue 8 | 1. Suggest an improvement by creating an issue 9 | 1. Ask a question 10 | 1. Answer a question 11 | 1. Provide design/UI feedback and suggestions. 12 | 1. Fix a bug/resolve an issue 13 | 1. Support via Gratipay for maintenance and development: https://gratipay.com/Conductor/ 14 | 15 | ## Code Contributions 16 | 17 | Coding style should be `standard`: 18 | 19 | [](https://github.com/feross/standard) 20 | 21 | @todo: More 22 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function (grunt) { 2 | /** @var {Grunt} grunt */ 3 | 'use strict'; 4 | 5 | // Force use of Unix newlines 6 | grunt.util.linefeed = '\n'; 7 | 8 | RegExp.quote = function (string) { 9 | return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&'); 10 | }; 11 | 12 | var fs = require('fs'); 13 | var path = require('path'); 14 | 15 | // Project configuration. 16 | grunt.initConfig({ 17 | 18 | // Metadata. 19 | pkg: grunt.file.readJSON('package.json'), 20 | banner: '/*!\n' + 21 | ' * ForkdIn v<%= pkg.version %> (<%= pkg.homepage %>)\n' + 22 | ' */\n', 23 | 24 | // Task configuration. 25 | clean: { 26 | dist: 'css' 27 | }, 28 | 29 | sass: { 30 | options: { 31 | includePaths: ['scss'], 32 | precision: 6, 33 | sourceComments: false, 34 | sourceMap: true, 35 | outputStyle: 'expanded' 36 | }, 37 | core: { 38 | files: { 39 | 'css/<%= pkg.name %>.css': 'scss/styles.scss' 40 | } 41 | } 42 | }, 43 | watch: { 44 | sass: { 45 | files: 'scss/**/*.scss', 46 | tasks: ['dist-css'] 47 | } 48 | } 49 | 50 | }); 51 | 52 | 53 | // These plugins provide necessary tasks. 54 | require('load-grunt-tasks')(grunt); 55 | 56 | grunt.registerTask('sass-compile', ['sass:core']); 57 | grunt.registerTask('dist-css', ['sass-compile']); 58 | 59 | // Full distribution task. 60 | grunt.registerTask('build', ['clean:dist', 'dist-css']); 61 | grunt.registerTask('default', ['build', 'watch']); 62 | }; 63 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2016 Matt Glaman 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #  Conductor [](https://travis-ci.org/mglaman/conductor) [](https://ci.appveyor.com/project/mglaman/conductor) [](https://gratipay.com/Conductor/) 2 | 3 | 4 | A user interface for Composer, the dependency management tool for PHP. 5 | 6 |  7 | 8 | Conductor provides a user interface for creating and managing PHP applications using Composer. 9 | 10 | ## To Use 11 | 12 | ### Documentation 13 | 14 | Documentation can be found at https://mglaman.github.io/conductor/ 15 | 16 | ### Releases 17 | 18 | Compiled builds are available in the list of [releases](https://github.com/mglaman/conductor/releases/latest). 19 | 20 | ### Developers 21 | 22 | To use and preview, follow these instructions while still in early development. 23 | 24 | To clone and run this repository you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer. From your command line: 25 | 26 | ```bash 27 | # Clone this repository 28 | git clone https://github.com/mglaman/conductor.git 29 | # Go into the repository 30 | cd conductor 31 | # Install dependencies and run the app 32 | npm install && npm start 33 | ``` 34 | 35 | ## Icon license 36 | 37 |  38 | 39 | Conductor: [Created with Baton by Luis Prado from the Noun Project](https://thenounproject.com/term/baton/248063). This icon is licensed as Creative Commons – Attribution (CC BY 3.0) 40 | 41 | #### License [MIT](LICENSE.md) 42 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | 3 | skip_tags: true 4 | clone_folder: c:\projects\conductor 5 | clone_depth: 5 6 | 7 | platform: 8 | - x64 9 | 10 | cache: 11 | - node_modules 12 | - '%APPDATA%\npm-cache' 13 | - '%USERPROFILE%\.electron' 14 | 15 | init: 16 | - git config --global core.autocrlf input 17 | 18 | install: 19 | - ps: Install-Product node 6 x64 20 | - git reset --hard HEAD 21 | - npm install npm -g 22 | - npm install 23 | - npm prune 24 | 25 | test_script: 26 | - node --version 27 | - npm --version 28 | - npm test 29 | 30 | build_script: 31 | - node --version 32 | - npm --version 33 | - npm run dist 34 | 35 | #test: off 36 | -------------------------------------------------------------------------------- /build/background.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/background.tiff -------------------------------------------------------------------------------- /build/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icon.icns -------------------------------------------------------------------------------- /build/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icon.ico -------------------------------------------------------------------------------- /build/icon.svg: -------------------------------------------------------------------------------- 1 | Asset 3 -------------------------------------------------------------------------------- /build/icons/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/128x128.png -------------------------------------------------------------------------------- /build/icons/16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/16x16.png -------------------------------------------------------------------------------- /build/icons/24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/24x24.png -------------------------------------------------------------------------------- /build/icons/256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/256x256.png -------------------------------------------------------------------------------- /build/icons/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/32x32.png -------------------------------------------------------------------------------- /build/icons/48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/48x48.png -------------------------------------------------------------------------------- /build/icons/512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/512x512.png -------------------------------------------------------------------------------- /build/icons/64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/64x64.png -------------------------------------------------------------------------------- /build/icons/96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/build/icons/96x96.png -------------------------------------------------------------------------------- /composer.phar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/composer.phar -------------------------------------------------------------------------------- /docs/images/conductor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/docs/images/conductor.gif -------------------------------------------------------------------------------- /docs/images/project-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mglaman/conductor/304a783084d14e311c520dca5b1a318d12670177/docs/images/project-page.png -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | **Conductor**: A user interface for Composer, the dependency management tool for PHP. 2 | 3 |  4 | 5 | Conductor provides a user interface for creating and managing PHP applications using Composer. 6 | -------------------------------------------------------------------------------- /docs/installation/linux.md: -------------------------------------------------------------------------------- 1 | * Find the latest release: https://github.com/mglaman/conductor/releases 2 | * Use the .deb 3 | -------------------------------------------------------------------------------- /docs/installation/macos.md: -------------------------------------------------------------------------------- 1 | * Find the latest release: https://github.com/mglaman/conductor/releases 2 | * Download the available *.dmg file, or mac.zip 3 | -------------------------------------------------------------------------------- /docs/installation/windows.md: -------------------------------------------------------------------------------- 1 | * Find latest release: https://github.com/mglaman/conductor/releases 2 | * Downloand and run .exe 3 | -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const electron = require('electron'); 3 | const Project = require('./src/models/Project'); 4 | const ProjectList = require('./src/utils/ProjectList'); 5 | const BrowserWindowFactory = require('./src/utils/BrowserWindowFactory'); 6 | const AppMenu = require('./src/utils/AppMenu'); 7 | const AppUpdater = require('./src/utils/AppUpdater'); 8 | const app = electron.app; 9 | const dialog = electron.dialog; 10 | 11 | let windowIcon = __dirname + '/build/icons/icon.svg'; 12 | let windowSize = 1024; 13 | let debug = false; 14 | let projectList = new ProjectList(); 15 | let mainWindow = null; 16 | let projectWindow = null; 17 | 18 | /** 19 | * @type {Project} 20 | */ 21 | let activeProject = null; 22 | let viewingPackage = null; 23 | 24 | /** 25 | * Main window for the app 26 | */ 27 | function createMainWindow() { 28 | mainWindow = BrowserWindowFactory.createWindow(`file://${__dirname}/src/windows/index.html`, windowSize, windowIcon); 29 | if (debug) mainWindow.webContents.openDevTools(); 30 | mainWindow.on('closed', () => { 31 | mainWindow = null 32 | }) 33 | } 34 | 35 | /** 36 | * Open a project in a new window 37 | * 38 | * @param folder 39 | */ 40 | function createProjectWindow(folder) { 41 | try { 42 | activeProject = new Project(folder); 43 | projectWindow = BrowserWindowFactory.createWindow(`file://${__dirname}/src/windows/project/project.html`, windowSize, windowIcon); 44 | if (debug) projectWindow.webContents.openDevTools(); 45 | 46 | projectWindow.on('show', () => { 47 | if (mainWindow !== null) { 48 | mainWindow.close(); 49 | } 50 | }); 51 | projectWindow.on('closed', () => { 52 | activeProject = null; 53 | projectWindow = null; 54 | if (mainWindow === null) { 55 | createMainWindow(); 56 | } 57 | }); 58 | } catch (e) { 59 | console.error(e); 60 | dialog.showMessageBox({ 61 | 'type': 'error', 62 | 'buttons': [], 63 | 'message': 'There is was an error parsing the composer.json' 64 | }); 65 | } 66 | } 67 | 68 | // This method will be called when Electron has finished 69 | // initialization and is ready to create browser windows. 70 | // Some APIs can only be used after this event occurs. 71 | app.on('ready', () => { 72 | refreshProjectList(); 73 | 74 | AppMenu.setProjects(projectList.getList()); 75 | AppMenu.setMenu(); 76 | createMainWindow(); 77 | new AppUpdater(); 78 | }); 79 | 80 | // Quit when all windows are closed. 81 | app.on('window-all-closed', function () { 82 | if (process.platform !== 'darwin') { 83 | app.quit() 84 | } 85 | }); 86 | 87 | app.on('activate', function () { 88 | if (mainWindow === null && projectWindow === null) { 89 | createMainWindow() 90 | } 91 | }); 92 | 93 | /** 94 | * Add a project to the ProjectsList from a chosen directory, then open that project 95 | * @param folder 96 | * @void 97 | */ 98 | const fromNewProject = function (folder) { 99 | const composerJson = require(folder + '/composer.json'); 100 | projectList.addProject(folder, composerJson.name); 101 | createProjectWindow(folder); 102 | }; 103 | 104 | /** 105 | * Open an existing project directory 106 | * @void 107 | */ 108 | const openDirectory = function () { 109 | let folder = dialog.showOpenDialog(mainWindow, { 110 | properties: ['openDirectory'], 111 | }); 112 | if (!folder) { 113 | return; 114 | } 115 | fs.exists(folder + '/composer.json', function (exists) { 116 | if (exists) { 117 | const composerJson = require(folder + '/composer.json'); 118 | projectList.addProject(folder, composerJson.name); 119 | createProjectWindow(folder[0]); 120 | } else { 121 | dialog.showMessageBox(mainWindow, { 122 | 'type': 'error', 123 | 'buttons': [], 124 | 'message': 'There is no composer.json in that directory' 125 | }); 126 | } 127 | }); 128 | }; 129 | 130 | /** 131 | * Open a new window for a project 132 | * @param path 133 | * @void 134 | */ 135 | const openProject = function (path) { 136 | createProjectWindow(path); 137 | }; 138 | 139 | /** 140 | * @returns {Project} 141 | */ 142 | const getActiveProject = () => { 143 | return activeProject; 144 | }; 145 | 146 | /** 147 | * @void 148 | */ 149 | const refreshProjectList = () => { 150 | try { 151 | projectList.refreshList(); 152 | } catch (e) { 153 | // This has issues when first run, or JSON missing. 154 | } 155 | }; 156 | 157 | /** 158 | * @returns {ProjectList} 159 | */ 160 | const getProjectList = () => { 161 | return projectList; 162 | }; 163 | 164 | /** 165 | * @returns {Package} 166 | */ 167 | const getViewingPackage = () => { 168 | return viewingPackage; 169 | }; 170 | 171 | module.exports = { 172 | openDirectory, 173 | openProject, 174 | getActiveProject, 175 | refreshProjectList, 176 | getProjectList, 177 | getViewingPackage, 178 | fromNewProject 179 | } 180 | -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: Conductor Documentation 2 | 3 | repo_url: https://github.com/mglaman/conductor 4 | site_description: 'Conductor - A cross-platform Composer user interface' 5 | theme: readthedocs 6 | 7 | markdown_extensions: 8 | - toc: 9 | permalink: True 10 | 11 | pages: 12 | - Home: 'index.md' 13 | - Installation: 14 | - 'macOS': 'installation/macos.md' 15 | - 'Windows': 'installation/windows.md' 16 | - 'Linux': 'installation/linux.md' 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "conductor", 3 | "version": "0.1.6", 4 | "description": "A Composer user interface", 5 | "main": "main.js", 6 | "scripts": { 7 | "start": "electron .", 8 | "pack": "build --dir", 9 | "dist": "build", 10 | "dist-all": "build -mwl", 11 | "test": "mocha" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/mglaman/conductor.git" 16 | }, 17 | "keywords": [ 18 | "composer", 19 | "php" 20 | ], 21 | "author": "Matt Glaman ", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/mglaman/conductor/issues" 25 | }, 26 | "homepage": "https://github.com/mglaman/conductor", 27 | "build": { 28 | "appId": "com.mglaman.conductor", 29 | "asar": false, 30 | "productName": "Conductor", 31 | "copyright": "© Matt Glaman", 32 | "extraResources": [ 33 | "composer.phar" 34 | ], 35 | "mac": { 36 | "publish": [ 37 | "github" 38 | ], 39 | "target": [ 40 | "dmg", 41 | "zip" 42 | ], 43 | "category": "public.app-category.developer-tools" 44 | }, 45 | "win": { 46 | "publish": [ 47 | "github" 48 | ], 49 | "target": [ 50 | "zip", 51 | "nsis" 52 | ] 53 | }, 54 | "linux": { 55 | "publish": [ 56 | "github" 57 | ], 58 | "target": [ 59 | "deb", 60 | "rpm", 61 | "zip" 62 | ], 63 | "category": "Utility", 64 | "packageCategory": "Utility", 65 | "synopsis": "A Composer user interface" 66 | } 67 | }, 68 | "devDependencies": { 69 | "autoprefixer": "^6.0.3", 70 | "chai": "^3.5.0", 71 | "chai-as-promised": "^6.0.0", 72 | "electron": "^9.4.0", 73 | "electron-builder": "^7.14.2", 74 | "grunt": "^1.0.1", 75 | "grunt-contrib-clean": "^1.0.0", 76 | "grunt-contrib-watch": "^1.0.0", 77 | "grunt-sass": "^1.0.0", 78 | "grunt-scss-lint": "^0.3.8", 79 | "load-grunt-tasks": "^3.4.0", 80 | "mocha": "^3.4.2", 81 | "spectron": "^3.7.2" 82 | }, 83 | "dependencies": { 84 | "electron-config": "^0.2.1", 85 | "electron-is-dev": "^0.1.2", 86 | "electron-updater": "^1.16.0", 87 | "font-awesome": "^4.6.3", 88 | "vue": "^2.4.2", 89 | "vue-router": "^2.7.0", 90 | "vuetify": "^0.14.5", 91 | "vuex": "^2.3.1" 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /public/css/conductor.css: -------------------------------------------------------------------------------- 1 | /* Color definitions */ 2 | /* Semantic definitions */ 3 | .flex { 4 | display: flex; 5 | } 6 | 7 | .flex--row { 8 | flex-direction: row; 9 | } 10 | 11 | .flex--column { 12 | flex-direction: column; 13 | } 14 | 15 | .flex--grow { 16 | flex-grow: 1; 17 | } 18 | 19 | html, body { 20 | margin: 0; 21 | padding: 0; 22 | height: 100%; 23 | max-height: 100vh; 24 | display: flex; 25 | flex-direction: column; 26 | } 27 | 28 | html { 29 | font-size: 16px; 30 | } 31 | 32 | body { 33 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 34 | font-size: 1rem; 35 | line-height: 1.5; 36 | background: #fff; 37 | } 38 | 39 | h1, h2, h3, h4, h5, h6, 40 | .h1, .h2, .h3, .h4, .h5, .h6 { 41 | margin-top: 0; 42 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 43 | } 44 | 45 | p { 46 | margin-top: 0; 47 | } 48 | 49 | input { 50 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 51 | font-size: 1rem; 52 | padding: 0.5rem; 53 | margin: 0.25rem; 54 | border-radius: 0.25rem; 55 | border: 1px solid #d5d5d5; 56 | } 57 | 58 | details { 59 | padding: 0 1rem; 60 | } 61 | 62 | details:focus { 63 | outline: 0; 64 | } 65 | 66 | details summary { 67 | background: #f5f5f5; 68 | border: 1px solid #e5e5e5; 69 | font-size: 1.25rem; 70 | padding: 0.5rem 0; 71 | margin: 0 -0.75rem; 72 | } 73 | 74 | details summary:focus { 75 | outline: 0; 76 | } 77 | 78 | button { 79 | cursor: pointer; 80 | border: 0; 81 | background: transparent; 82 | font-size: 1rem; 83 | padding: 0; 84 | } 85 | 86 | button:hover { 87 | color: #4078c0; 88 | } 89 | 90 | .main__actions { 91 | align-items: flex-start; 92 | } 93 | 94 | .main__actions button { 95 | margin-bottom: 0.5rem; 96 | } 97 | 98 | .main__projects-list { 99 | flex: 1; 100 | background: #f5f5f5; 101 | overflow: scroll; 102 | } 103 | 104 | .main__projects-list ::-webkit-details-marker { 105 | display: none; 106 | } 107 | 108 | .main__projects-list summary { 109 | border: 0; 110 | } 111 | 112 | .main__projects-list ul { 113 | margin: 0; 114 | padding: 0; 115 | list-style: none; 116 | } 117 | 118 | .main__projects-list ul li { 119 | display: block; 120 | padding: 0.25rem 0.5rem 0.25rem 0; 121 | border-bottom: solid 1px #e5e5e5; 122 | } 123 | 124 | .main__projects-list button { 125 | border: 0; 126 | background: transparent; 127 | font-size: 1rem; 128 | padding: 0; 129 | } 130 | 131 | .project__title { 132 | padding: 0.5rem 0; 133 | } 134 | 135 | .project__title h1 { 136 | flex: 1; 137 | } 138 | 139 | .project__sidebar { 140 | flex: 0 0 35%; 141 | max-width: 35%; 142 | overflow-y: scroll; 143 | background: white; 144 | border-right: 1px solid #f5f5f5; 145 | } 146 | 147 | .project__sidebar ul { 148 | margin: 0; 149 | padding: 0; 150 | list-style: none; 151 | } 152 | 153 | .project__sidebar ul li { 154 | display: block; 155 | padding: 0.25rem 0.5rem; 156 | border-bottom: solid 1px #e5e5e5; 157 | font-size: 90%; 158 | } 159 | 160 | .project__sidebar ul li:last-child { 161 | border-bottom: 0; 162 | } 163 | 164 | .project__sidebar ul li:hover { 165 | background: #4078c0; 166 | color: #fff; 167 | } 168 | 169 | .button__actions button { 170 | display: block; 171 | padding: 0.5rem; 172 | background-image: linear-gradient(#f5f5f5, #d5d5d5); 173 | border: 1px solid #e5e5e5; 174 | border-radius: 3px; 175 | flex: 1; 176 | } 177 | 178 | .button__actions button:focus { 179 | outline: 0; 180 | border: 1px solid black; 181 | } 182 | 183 | .button__actions button:hover { 184 | background: #e3e3e3; 185 | } 186 | 187 | .project__information { 188 | padding: 0 1rem; 189 | } 190 | 191 | .project__output { 192 | flex: 1; 193 | border: 0; 194 | display: flex; 195 | flex-direction: column; 196 | overflow: scroll; 197 | } 198 | 199 | .project__output p { 200 | padding: 1px; 201 | } 202 | 203 | ::-webkit-scrollbar { 204 | display: none; 205 | } 206 | 207 | .hidden { 208 | display: none; 209 | } 210 | 211 | .project__output { 212 | font-family: monospace; 213 | font-size: 80%; 214 | background: #111; 215 | color: #f5f5f5; 216 | } 217 | 218 | .project__dependencies-list li { 219 | cursor: pointer; 220 | } 221 | 222 | .window__create-project .button__actions { 223 | margin-top: 1rem; 224 | } 225 | 226 | .window__create-project button { 227 | display: block; 228 | padding: 0.35rem; 229 | background-image: linear-gradient(#f5f5f5, #d5d5d5); 230 | border: 1px solid #e5e5e5; 231 | border-radius: 3px; 232 | } 233 | 234 | .window__create-project button:focus { 235 | outline: 0; 236 | border: 1px solid #aaa; 237 | } 238 | 239 | .window__create-project button:hover { 240 | background: #e3e3e3; 241 | } 242 | 243 | .window__create-project #project-destination { 244 | cursor: pointer; 245 | } 246 | 247 | .main__landing { 248 | background: linear-gradient(135deg, #3700aa 0%, #4500d4 22%, #6c00e9 57%, #992aff 100%); 249 | color: #fff; 250 | } 251 | 252 | .main__landing button { 253 | color: #fff; 254 | font-weight: normal; 255 | } 256 | 257 | .window__main--header { 258 | margin-top: 2rem; 259 | margin-bottom: 1rem; 260 | align-items: center; 261 | } 262 | 263 | .window__main--header h1 { 264 | margin-bottom: 0; 265 | font-weight: normal; 266 | } 267 | 268 | .hidden { 269 | display: none !important; 270 | } 271 | 272 | .log--error { 273 | background: #A94443; 274 | color: white; 275 | } 276 | 277 | .log--output { 278 | color: #FFFF91; 279 | } 280 | 281 | /*# sourceMappingURL=conductor.css.map */ -------------------------------------------------------------------------------- /public/css/conductor.css.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "file": "conductor.css", 4 | "sources": [ 5 | "../scss/styles.scss", 6 | "../scss/_vars.scss", 7 | "../scss/_flex.scss" 8 | ], 9 | "mappings": "ACAA,uBAAuB;AAQvB,0BAA0B;ACR1B,AAAA,KAAK,CAAC;EACJ,OAAO,EAAE,IAAK;CACf;;AACD,AAAA,UAAU,CAAC;EACT,cAAc,EAAE,GAAI;CACrB;;AACD,AAAA,aAAa,CAAC;EACZ,cAAc,EAAE,MAAO;CACxB;;AACD,AAAA,WAAW,CAAC;EACV,SAAS,EAAE,CAAE;CACd;;AFRD,AAAA,IAAI,EAAE,AAAA,IAAI,CAAC;EACT,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,CAAE;EACX,MAAM,EAAE,IAAK;EACb,UAAU,EAAE,KAAM;EAClB,OAAO,EAAE,IAAK;EACd,cAAc,EAAE,MAAO;CACxB;;AAED,AAAA,IAAI,CAAC;EACH,SAAS,EAAE,IAAK;CACjB;;AAED,AAAA,IAAI,CAAC;EACH,WAAW,ECLD,aAAC,EAAc,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU;EDMpG,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,GAAI;EACjB,UAAU,ECfJ,IAAI;CDgBX;;AAED,AAAA,EAAE,EAAE,AAAA,EAAE,EAAE,AAAA,EAAE,EAAE,AAAA,EAAE,EAAE,AAAA,EAAE,EAAE,AAAA,EAAE;AACtB,AAAA,GAAG,EAAE,AAAA,GAAG,EAAE,AAAA,GAAG,EAAE,AAAA,GAAG,EAAE,AAAA,GAAG,EAAE,AAAA,GAAG,CAAC;EAC3B,UAAU,EAAE,CAAE;EACd,WAAW,ECdD,aAAC,EAAc,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU;CDerG;;AAED,AAAA,CAAC,CAAC;EACA,UAAU,EAAE,CAAE;CACf;;AAED,AAAA,KAAK,CAAC;EACJ,WAAW,ECtBD,aAAC,EAAc,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU;EDuBpG,SAAS,EAAE,IAAK;EAChB,OAAO,EAAE,MAAO;EAChB,MAAM,EAAE,OAAQ;EAChB,aAAa,EAAE,OAAQ;EACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CCrCL,OAAO;CDsCpB;;AAED,AAAA,OAAO,CAAC;EACN,OAAO,EAAE,MAAO;CAcjB;;AAfD,AAAA,OAAO,AAEJ,MAAM,CAAC;EACT,OAAO,EAAE,CAAE;CACT;;AAJH,AAKE,OALK,CAKL,OAAO,CAAC;EACT,UAAU,EC/CE,OAAO;EDgDnB,MAAM,EAAE,GAAG,CAAC,KAAK,CC9CN,OAAO;ED+ClB,SAAS,EAAE,OAAQ;EACnB,OAAO,EAAE,QAAS;EAClB,MAAM,EAAE,UAAW;CAIjB;;AAdH,AAKE,OALK,CAKL,OAAO,AAMP,MAAM,CAAC;EACN,OAAO,EAAE,CAAE;CACZ;;AAIF,AAAA,MAAM,CAAC;EACL,MAAM,EAAE,OAAQ;EAChB,MAAM,EAAE,CAAE;EACV,UAAU,EAAE,WAAY;EACxB,SAAS,EAAE,IAAK;EAChB,OAAO,EAAE,CAAE;CAIZ;;AATD,AAAA,MAAM,AAMH,MAAM,CAAC;EACT,KAAK,EC9DC,OAAO;CD+DX;;AAGH,AAAA,cAAc,CAAC;EACb,WAAW,EAAE,UAAW;CAIzB;;AALD,AAEE,cAFY,CAEZ,MAAM,CAAC;EACR,aAAa,EAAE,MAAO;CACpB;;AAGH,AAAA,oBAAoB,CAAC;EACnB,IAAI,EAAE,CAAE;EACR,UAAU,EC9EC,OAAO;ED+ElB,QAAQ,EAAE,MAAO;CAqBlB;;AAxBD,AAIE,oBAJkB,CAIlB,wBAAwB,CAAC;EAAE,OAAO,EAAC,IAAK;CAAI;;AAJ9C,AAKE,oBALkB,CAKlB,OAAO,CAAC;EACT,MAAM,EAAC,CAAE;CACP;;AAPH,AAQE,oBARkB,CAQlB,EAAE,CAAC;EACJ,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,CAAE;EACX,UAAU,EAAE,IAAK;CAMf;;AAjBH,AAYC,oBAZmB,CAQlB,EAAE,CAIH,EAAE,CAAC;EACD,OAAO,EAAE,KAAM;EACf,OAAO,EAAE,wBAAyB;EAClC,aAAa,EAAE,KAAK,CAAC,GAAG,CCzFf,OAAO;CD0FjB;;AAhBF,AAkBE,oBAlBkB,CAkBlB,MAAM,CAAC;EACR,MAAM,EAAE,CAAE;EACV,UAAU,EAAE,WAAY;EACxB,SAAS,EAAE,IAAK;EAChB,OAAO,EAAE,CAAE;CACT;;AAGH,AAAA,eAAe,CAAC;EACd,OAAO,EAAE,QAAS;CAInB;;AALD,AAEE,eAFa,CAEb,EAAE,CAAC;EACJ,IAAI,EAAE,CAAE;CACN;;AAGH,AAAA,iBAAiB,CAAC;EAChB,IAAI,EAAE,OAAQ;EACd,SAAS,EAAE,GAAI;EACf,UAAU,EAAE,MAAO;EACnB,UAAU,EAAE,KAAO;EACnB,YAAY,EAAE,GAAG,CAAC,KAAK,CClHZ,OAAO;CDqInB;;AAxBD,AAME,iBANe,CAMf,EAAE,CAAC;EACJ,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,CAAE;EACX,UAAU,EAAE,IAAK;CAcf;;AAvBH,AAUC,iBAVgB,CAMf,EAAE,CAIH,EAAE,CAAC;EACD,OAAO,EAAE,KAAM;EACf,OAAO,EAAE,cAAe;EACxB,aAAa,EAAE,KAAK,CAAC,GAAG,CCxHf,OAAO;EDyHhB,SAAS,EAAE,GAAI;CAQhB;;AAtBF,AAUC,iBAVgB,CAMf,EAAE,CAIH,EAAE,AAKC,WAAW,CAAC;EACd,aAAa,EAAE,CAAE;CACf;;AAjBJ,AAUC,iBAVgB,CAMf,EAAE,CAIH,EAAE,AAQC,MAAM,CAAC;EACT,UAAU,EC7HL,OAAO;ED8HZ,KAAK,EAAE,IAAK;CACV;;AAKJ,AACE,gBADc,CACd,MAAM,CAAC;EACR,OAAO,EAAE,KAAM;EACf,OAAO,EAAE,MAAO;EAChB,gBAAgB,EAAE,iCAAe;EACjC,MAAM,EAAE,GAAG,CAAC,KAAK,CC1IN,OAAO;ED2IlB,aAAa,EAAE,GAAI;EAKnB,IAAI,EAAE,CAAE;CAIN;;AAfH,AACE,gBADc,CACd,MAAM,AAMN,MAAM,CAAC;EACN,OAAO,EAAE,CAAE;EACX,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAM;CACzB;;AAVF,AACE,gBADc,CACd,MAAM,AAWN,MAAM,CAAC;EACN,UAAU,EAAE,OAAM;CACnB;;AAIF,AAAA,qBAAqB,CAAC;EACpB,OAAO,EAAE,MAAO;CACjB;;AAED,AAAA,gBAAgB,CAAC;EACf,IAAI,EAAE,CAAE;EACR,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,IAAK;EACd,cAAc,EAAE,MAAO;EACvB,QAAQ,EAAE,MAAO;CAIlB;;AATD,AAME,gBANc,CAMd,CAAC,CAAC;EACH,OAAO,EAAE,GAAI;CACX;;AAGH,AAAA,mBAAmB,CAAC;EAClB,OAAO,EAAE,IAAK;CACf;;AAED,AAAA,OAAO,CAAC;EACN,OAAO,EAAE,IAAK;CACf;;AAED,AAAA,gBAAgB,CAAC;EACf,WAAW,EAAE,SAAU;EACvB,SAAS,EAAE,GAAI;EACf,UAAU,EC9KJ,IAAI;ED+KV,KAAK,ECpLM,OAAO;CDqLnB;;AAED,AAA4B,2BAAD,CAAC,EAAE,CAAC;EAC7B,MAAM,EAAE,OAAQ;CACjB;;AAED,AACE,uBADqB,CACrB,gBAAgB,CAAC;EAClB,UAAU,EAAE,IAAK;CACf;;AAHH,AAIE,uBAJqB,CAIrB,MAAM,CAAC;EACR,OAAO,EAAE,KAAM;EACf,OAAO,EAAE,OAAQ;EACjB,gBAAgB,EAAE,iCAAe;EACjC,MAAM,EAAE,GAAG,CAAC,KAAK,CCjMN,OAAO;EDkMlB,aAAa,EAAE,GAAI;CAQjB;;AAjBH,AAIE,uBAJqB,CAIrB,MAAM,AAMN,MAAM,CAAC;EACN,OAAO,EAAE,CAAE;EACX,MAAM,EAAE,cAAe;CACxB;;AAbF,AAIE,uBAJqB,CAIrB,MAAM,AAUN,MAAM,CAAC;EACN,UAAU,EAAE,OAAM;CACnB;;AAhBF,AAkBE,uBAlBqB,CAkBrB,oBAAoB,CAAC;EACtB,MAAM,EAAE,OAAQ;CACd;;AAEH,AAAA,cAAc,CAAC;EACb,UAAU,EAAE,2EAAe;EAC3B,KAAK,EC/MC,IAAI;CDoNX;;AAPD,AAGE,cAHY,CAGZ,MAAM,CAAC;EACR,KAAK,ECjNE,IAAI;EDkNX,WAAW,EAAE,MAAO;CAClB;;AAGH,AAAA,qBAAqB,CAAC;EACpB,UAAU,EAAE,IAAK;EACjB,aAAa,EAAE,IAAK;EACpB,WAAW,EAAE,MAAO;CAKrB;;AARD,AAIE,qBAJmB,CAInB,EAAE,CAAC;EACJ,aAAa,EAAE,CAAE;EACjB,WAAW,EAAE,MAAO;CAClB;;AAGH,AAAA,OAAO,CAAC;EACN,OAAO,EAAE,eAAgB;CAC1B;;AAED,AAAA,WAAW,CAAC;EACV,UAAU,EAAE,OAAQ;EACpB,KAAK,EAAE,KAAM;CACd;;AACD,AAAA,YAAY,CAAC;EACX,KAAK,EAAE,OAAQ;CAChB", 10 | "names": [] 11 | } -------------------------------------------------------------------------------- /public/scss/_flex.scss: -------------------------------------------------------------------------------- 1 | .flex { 2 | display: flex; 3 | } 4 | .flex--row { 5 | flex-direction: row; 6 | } 7 | .flex--column { 8 | flex-direction: column; 9 | } 10 | .flex--grow { 11 | flex-grow: 1; 12 | } 13 | -------------------------------------------------------------------------------- /public/scss/_vars.scss: -------------------------------------------------------------------------------- 1 | /* Color definitions */ 2 | $light-gray: #f5f5f5; 3 | $middle-gray: #d5d5d5; 4 | $dark-gray: #e5e5e5; 5 | $blue: #4078c0; 6 | $white: #fff; 7 | $black: #111; 8 | 9 | /* Semantic definitions */ 10 | $bg-color: $white; 11 | $details-summary-bg: $light-gray; 12 | 13 | $fontstack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 14 | -------------------------------------------------------------------------------- /public/scss/styles.scss: -------------------------------------------------------------------------------- 1 | @import "vars"; 2 | @import "flex"; 3 | 4 | html, body { 5 | margin: 0; 6 | padding: 0; 7 | height: 100%; 8 | max-height: 100vh; 9 | display: flex; 10 | flex-direction: column; 11 | } 12 | 13 | html { 14 | font-size: 16px; 15 | } 16 | 17 | body { 18 | font-family: $fontstack; 19 | font-size: 1rem; 20 | line-height: 1.5; 21 | background: $bg-color; 22 | } 23 | 24 | h1, h2, h3, h4, h5, h6, 25 | .h1, .h2, .h3, .h4, .h5, .h6 { 26 | margin-top: 0; 27 | font-family: $fontstack; 28 | } 29 | 30 | p { 31 | margin-top: 0; 32 | } 33 | 34 | input { 35 | font-family: $fontstack; 36 | font-size: 1rem; 37 | padding: 0.5rem; 38 | margin: 0.25rem; 39 | border-radius: 0.25rem; 40 | border: 1px solid $middle-gray; 41 | } 42 | 43 | details { 44 | padding: 0 1rem; 45 | &:focus { 46 | outline: 0; 47 | } 48 | summary { 49 | background: $details-summary-bg; 50 | border: 1px solid $dark-gray; 51 | font-size: 1.25rem; 52 | padding: 0.5rem 0; 53 | margin: 0 -0.75rem; 54 | &:focus { 55 | outline: 0; 56 | } 57 | } 58 | } 59 | 60 | button { 61 | cursor: pointer; 62 | border: 0; 63 | background: transparent; 64 | font-size: 1rem; 65 | padding: 0; 66 | &:hover { 67 | color: $blue; 68 | } 69 | } 70 | 71 | .main__actions { 72 | align-items: flex-start; 73 | button { 74 | margin-bottom: 0.5rem; 75 | } 76 | } 77 | 78 | .main__projects-list { 79 | flex: 1; 80 | background: $light-gray; 81 | overflow: scroll; 82 | ::-webkit-details-marker { display:none; } 83 | summary { 84 | border:0; 85 | } 86 | ul { 87 | margin: 0; 88 | padding: 0; 89 | list-style: none; 90 | li { 91 | display: block; 92 | padding: 0.25rem 0.5rem 0.25rem 0; 93 | border-bottom: solid 1px $dark-gray; 94 | } 95 | } 96 | button { 97 | border: 0; 98 | background: transparent; 99 | font-size: 1rem; 100 | padding: 0; 101 | } 102 | } 103 | 104 | .project__title { 105 | padding: 0.5rem 0; 106 | h1 { 107 | flex: 1; 108 | } 109 | } 110 | 111 | .project__sidebar { 112 | flex: 0 0 35%; 113 | max-width: 35%; 114 | overflow-y: scroll; 115 | background: lighten($light-gray, 50%); 116 | border-right: 1px solid $light-gray; 117 | ul { 118 | margin: 0; 119 | padding: 0; 120 | list-style: none; 121 | li { 122 | display: block; 123 | padding: 0.25rem 0.5rem; 124 | border-bottom: solid 1px $dark-gray; 125 | font-size: 90%; 126 | &:last-child { 127 | border-bottom: 0; 128 | } 129 | &:hover { 130 | background: $blue; 131 | color: #fff; 132 | } 133 | } 134 | } 135 | } 136 | 137 | .button__actions { 138 | button { 139 | display: block; 140 | padding: 0.5rem; 141 | background-image: linear-gradient($light-gray, $middle-gray); 142 | border: 1px solid $dark-gray; 143 | border-radius: 3px; 144 | &:focus { 145 | outline: 0; 146 | border: 1px solid darken($dark-gray, 100); 147 | } 148 | flex: 1; 149 | &:hover { 150 | background: darken($dark-gray, .75); 151 | } 152 | } 153 | } 154 | 155 | .project__information { 156 | padding: 0 1rem; 157 | } 158 | 159 | .project__output { 160 | flex: 1; 161 | border: 0; 162 | display: flex; 163 | flex-direction: column; 164 | overflow: scroll; 165 | p { 166 | padding: 1px; 167 | } 168 | } 169 | 170 | ::-webkit-scrollbar { 171 | display: none; 172 | } 173 | 174 | .hidden { 175 | display: none; 176 | } 177 | 178 | .project__output { 179 | font-family: monospace; 180 | font-size: 80%; 181 | background: $black; 182 | color: $light-gray; 183 | } 184 | 185 | .project__dependencies-list li { 186 | cursor: pointer; 187 | } 188 | 189 | .window__create-project { 190 | .button__actions { 191 | margin-top: 1rem; 192 | } 193 | button { 194 | display: block; 195 | padding: 0.35rem; 196 | background-image: linear-gradient($light-gray, $middle-gray); 197 | border: 1px solid $dark-gray; 198 | border-radius: 3px; 199 | &:focus { 200 | outline: 0; 201 | border: 1px solid #aaa; 202 | } 203 | &:hover { 204 | background: darken($dark-gray, .75); 205 | } 206 | } 207 | #project-destination { 208 | cursor: pointer; 209 | } 210 | } 211 | .main__landing { 212 | background: linear-gradient(135deg, #3700aa 0%,#4500d4 22%,#6c00e9 57%,#992aff 100%); 213 | color: $white; 214 | button { 215 | color: $white; 216 | font-weight: normal; 217 | } 218 | } 219 | 220 | .window__main--header { 221 | margin-top: 2rem; 222 | margin-bottom: 1rem; 223 | align-items: center; 224 | h1 { 225 | margin-bottom: 0; 226 | font-weight: normal; 227 | } 228 | } 229 | 230 | .hidden { 231 | display: none !important; 232 | } 233 | 234 | .log--error { 235 | background: #A94443; 236 | color: white; 237 | } 238 | .log--output { 239 | color: #FFFF91; 240 | } 241 | -------------------------------------------------------------------------------- /src/components/ComposerFrame.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | const remote = require('electron').remote; 5 | const dialog = remote.dialog; 6 | const mainProcess = remote.require('./main'); 7 | const thisWindow = remote.getCurrentWindow(); 8 | const Composer = require('../utils/Composer'); 9 | 10 | module.exports = { 11 | template: ` 12 | 13 | 14 | 17 | Create project! 18 | 19 | 20 | 23 | Install 24 | 25 | 26 | 29 | Validate 30 | 31 | 32 | 35 | Update 36 | 37 | 38 | 41 | Show 42 | 43 | 44 | 47 | Update 48 | 49 | 50 | 53 | Remove 54 | 55 | 56 | 57 | 58 | 59 | 60 | {{ line.text }} 61 | 62 | 63 | 64 | `, 65 | 66 | data: function() { 67 | return { 68 | doing: '', 69 | composerOutLines: [], 70 | } 71 | }, 72 | props: { 73 | type: { 74 | default: '', // project | package | create 75 | type: String 76 | }, 77 | project: { 78 | default: null, 79 | type: Object, 80 | }, 81 | package: { 82 | default: null, 83 | type: Object, 84 | }, 85 | newProjectDetails: { 86 | default: null, 87 | } 88 | }, 89 | methods: { 90 | composerExecute(command) { 91 | this.doing = command; 92 | let process = null; 93 | let composer = null; 94 | let activeProject = null; 95 | let projectInstalled = null; 96 | 97 | switch( this.type ) 98 | { 99 | /* 100 | * Project actions 101 | */ 102 | case 'project': 103 | activeProject = mainProcess.getActiveProject(); 104 | projectInstalled = activeProject.isInstalled(); 105 | composer = new Composer(activeProject.getPath()); 106 | 107 | switch( command ) { 108 | case 'install': 109 | process = composer.install(); 110 | break; 111 | case 'updateProject': 112 | process = composer.update(null); 113 | break; 114 | case 'validate': 115 | process = composer.validate(); 116 | break; 117 | } 118 | break; 119 | 120 | /* 121 | * Package actions 122 | */ 123 | case 'package': 124 | composer = new Composer(mainProcess.getActiveProject().getPath()); 125 | 126 | switch( command ){ 127 | // package 128 | case 'updatePackage': 129 | process = composer.update(this.package.__get('name')); 130 | break; 131 | case 'remove': 132 | process = composer.remove(this.package.getName()); 133 | break; 134 | case 'show': 135 | process = composer.show(this.package.getName()); 136 | break; 137 | } 138 | break; 139 | 140 | /* 141 | * Create project actions 142 | */ 143 | case 'create': 144 | composer = new Composer(remote.app.getAppPath()); 145 | 146 | switch( command ){ 147 | // create project 148 | case 'create': 149 | process = composer.createProject(this.newProjectDetails.packageName, this.newProjectDetails.destination); 150 | break; 151 | } 152 | break; 153 | } 154 | 155 | if (composer && process){ 156 | process.stdout.on('data', (data) => { 157 | this.composerOutLines.push({ 158 | text: String(data), 159 | className: 'log--output' 160 | }); 161 | }); 162 | process.stderr.on('data', (data) => { 163 | this.composerOutLines.push({ 164 | text: String(data), 165 | className: 'log--output' 166 | }); 167 | }); 168 | process.on('error', (data) => { 169 | this.doing = ''; 170 | this.composerOutLines.push({ 171 | text: String(data), 172 | className: 'log--error' 173 | }); 174 | }); 175 | process.on('close', (code) => { 176 | this.doing = ''; 177 | 178 | // From project 179 | if ( this.project && this.type === 'project' ){ 180 | if (code === 0) { 181 | activeProject.refreshData(); 182 | projectInstalled = activeProject.isInstalled(); 183 | // @todo get some kind of binding to not need to do this. 184 | // thisWindow.reload(); 185 | } 186 | } 187 | 188 | // from Create project 189 | if ( this.type === 'create' ){ 190 | if (code === 0 && fs.existsSync(this.newProjectDetails.destination + '/composer.json')) { 191 | mainProcess.fromNewProject(this.newProjectDetails.destination); 192 | } 193 | } 194 | }); 195 | } 196 | } 197 | } 198 | } 199 | -------------------------------------------------------------------------------- /src/components/CreateProjectForm.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | const remote = require('electron').remote; 5 | const dialog = remote.dialog; 6 | const mainProcess = remote.require('./main'); 7 | const thisWindow = remote.getCurrentWindow(); 8 | const Composer = require('../utils/Composer'); 9 | const ComposerFrame = require('./ComposerFrame'); 10 | 11 | module.exports = { 12 | template: ` 13 | 14 | 15 | 16 | 17 | 25 | 26 | 27 | 35 | 36 | 37 | 38 | 44 | 45 | 46 | Browse 48 | 49 | 50 | 51 | 56 | 57 | 58 | 59 | 60 | 61 | `, 62 | components: { 63 | 'composer-frame': ComposerFrame 64 | }, 65 | data: function(){ 66 | return { 67 | packageName: '', 68 | projectName: '', 69 | description: '', 70 | destinationFolder: '', 71 | } 72 | }, 73 | computed: { 74 | destination(){ 75 | return this.destinationFolder + '/' + this.projectName; 76 | } 77 | }, 78 | methods: { 79 | projectDestinationBrowse (){ 80 | let folder = dialog.showOpenDialog(thisWindow, { 81 | properties: ['openDirectory'], 82 | }); 83 | if (!folder) { 84 | this.destinationFolder = ''; 85 | } 86 | this.destinationFolder = folder; 87 | }, 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /src/components/MainLayout.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const MainNavigation = require('./MainNavigation'); 4 | 5 | module.exports = { 6 | template: ` 7 | 8 | 9 | 10 | 11 | Conductor 12 | 13 | 14 | 15 | 16 | 17 | 18 | {{ pageTitle }} 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | `, 27 | 28 | components: { 29 | 'main-navigation': MainNavigation 30 | }, 31 | 32 | data() { 33 | return { 34 | // settings for the vuetify layout 35 | drawer: null, 36 | right: null, 37 | } 38 | }, 39 | computed: { 40 | pageTitle() { 41 | return this.$store.getters.pageTitle; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/components/MainNavigation.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | const remote = require('electron').remote; 5 | const mainProcess = remote.require('./main'); 6 | 7 | module.exports = { 8 | template: ` 9 | 10 | 11 | 12 | list 13 | 14 | 15 | Recent projects 16 | 17 | 18 | 19 | 20 | folder_open 21 | 22 | 23 | Add existing project 24 | 25 | 26 | 27 | 28 | create_new_folder 29 | 30 | 31 | Create new project 32 | 33 | 34 | 35 | 36 | public 37 | 38 | 39 | Global composer 40 | 41 | 42 | 43 | 44 | settings 45 | 46 | 47 | Settings 48 | 49 | 50 | 51 | `, 52 | computed: { 53 | globalComposerFileExists() { 54 | return fs.existsSync(remote.app.getPath('home') + '/.composer'); 55 | } 56 | }, 57 | methods: { 58 | existingProject: () => { 59 | mainProcess.openDirectory(); 60 | }, 61 | globalProject: () => { 62 | mainProcess.openProject(remote.app.getPath('home') + '/.composer'); 63 | }, 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/components/PackageDetails.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const ComposerFrame = require('./ComposerFrame'); 4 | 5 | module.exports = { 6 | template: ` 7 | 8 | 9 | 10 | 11 | Version 12 | {{ package.json.version }} 13 | 14 | 15 | Homepage 16 | {{ package.json.homepage }} 17 | 18 | 19 | {{ package.json.description }} 20 | 21 | 22 | Requirements 23 | 24 | 25 | {{ dependency }} 26 | 27 | 28 | 29 | 30 | Dev Requirements 31 | 32 | 33 | {{ dependency }} 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | `, 42 | components: { 43 | 'composer-frame': ComposerFrame 44 | }, 45 | computed: { 46 | package() { 47 | return this.$store.getters.activeProject.getLock().getPackage(this.$route.params.packagePath); 48 | } 49 | }, 50 | created() { 51 | this.$store.commit('setPageTitle', this.package.json.name); 52 | }, 53 | watch: { 54 | '$route' () { 55 | this.$store.commit('setPageTitle', this.package.json.name); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/components/ProjectDetails.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const ComposerFrame = require('./ComposerFrame'); 4 | 5 | module.exports = { 6 | template: ` 7 | 8 | 9 | 10 | {{ project.json.homepage }} 11 | {{ project.json.description }} 12 | 13 | 14 | 15 | 16 | `, 17 | components: { 18 | 'composer-frame': ComposerFrame 19 | }, 20 | computed: { 21 | project() { 22 | return this.$store.getters.activeProject; 23 | }, 24 | }, 25 | } 26 | -------------------------------------------------------------------------------- /src/components/ProjectLayout.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const ProjectNavigation = require('../components/ProjectNavigation'); 4 | const mainProcess = require('electron').remote.require('./main'); 5 | 6 | module.exports = { 7 | template: ` 8 | 9 | 10 | 11 | 12 | {{ project.json.name }} 13 | 14 | 15 | 16 | 17 | 18 | 19 | {{ pageTitle }} 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | `, 29 | created() { 30 | this.$store.commit('setActiveProject', mainProcess.getActiveProject()); 31 | }, 32 | mounted() { 33 | this.$store.commit('setPageTitle', this.project.json.name); 34 | }, 35 | data() { 36 | return { 37 | // settings for the vuetify layout 38 | drawer: null, 39 | right: null, 40 | } 41 | }, 42 | computed: { 43 | pageTitle() { 44 | return this.$store.getters.pageTitle; 45 | }, 46 | project() { 47 | return this.$store.getters.activeProject; 48 | } 49 | }, 50 | components: { 51 | 'project-navigation': ProjectNavigation 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/components/ProjectNavigation.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mainProcess = require('electron').remote.require('./main') 4 | 5 | module.exports = { 6 | template: ` 7 | 8 | 9 | 10 | 11 | queue_music 12 | 13 | 14 | Composer 15 | 16 | 17 | keyboard_arrow_down 18 | 19 | 20 | 21 | 22 | composer.json 23 | 24 | 25 | 26 | 27 | composer.lock 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | {{ list.icon }} 36 | 37 | 38 | {{ list.title }} 39 | 40 | 41 | keyboard_arrow_down 42 | 43 | 44 | 45 | 49 | 50 | {{ package }} 51 | 52 | 53 | 54 | 55 | 56 | 57 | `, 58 | computed: { 59 | project() { 60 | return this.$store.getters.activeProject; 61 | }, 62 | dependencies() { 63 | return { 64 | required: { 65 | title: 'Requirements', 66 | icon: 'beenhere', 67 | items: this.project.getRequire(), 68 | active: true, 69 | }, 70 | dev: { 71 | title: 'Development Requirements', 72 | icon: 'build', 73 | items: this.project.getRequireDev(), 74 | active: false, 75 | } 76 | }; 77 | } 78 | }, 79 | methods: { 80 | openPackage: (packageName) => { 81 | mainProcess.openPackage(packageName); 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/components/RecentProjects.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mainProcess = require('electron').remote.require('./main'); 4 | 5 | module.exports = { 6 | template: ` 7 | 8 | 9 | 10 | folder 11 | 12 | 13 | {{ project.name }} 14 | {{ project.path }} 15 | 16 | 17 | 18 | delete_forever 19 | 20 | 21 | 22 | 23 | `, 24 | computed: { 25 | projects() { 26 | return this.$store.getters.projectsList; 27 | } 28 | }, 29 | mounted() { 30 | this.$store.commit('setPageTitle', 'Recent Projects'); 31 | }, 32 | methods: { 33 | removeProject(path) { 34 | this.$store.dispatch('removeProjectAction', path); 35 | }, 36 | openProject: (path) => { 37 | mainProcess.openProject(path); 38 | }, 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/components/SettingsForm.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | module.exports = { 5 | template: ` 6 | TODO 7 | `, 8 | mounted() { 9 | this.$store.commit('setPageTitle', 'Settings'); 10 | }, 11 | methods: { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/models/Lock.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const Package = require('./Package'); 3 | const Lock = function (json) { 4 | const self = this; 5 | this.json = json; 6 | this.packages = []; 7 | this.packagesDev = []; 8 | 9 | Array.from(json.packages).forEach(function (item) { 10 | self.packages[item.name] = new Package(item); 11 | }); 12 | Array.from(json['packages-dev']).forEach(function (item) { 13 | self.packagesDev[item.name] = new Package(item); 14 | }); 15 | 16 | /** 17 | * 18 | * @param name 19 | * @returns {Package} 20 | */ 21 | this.getPackage = (name) => { 22 | if (this.packages.hasOwnProperty(name)) { 23 | return this.packages[name]; 24 | } 25 | else if (this.packagesDev.hasOwnProperty(name)){ 26 | return this.packagesDev[name]; 27 | } 28 | }; 29 | }; 30 | Lock.prototype.json = {}; 31 | Lock.prototype.packages = {}; 32 | module.exports = Lock; 33 | -------------------------------------------------------------------------------- /src/models/Package.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Package = function (json) { 4 | this.json = json; 5 | this.__get = (key) => { return this.json[key]}; 6 | this.getVersion = () => { return this.json.version; }; 7 | this.getName = () => { return this.json.name }; 8 | }; 9 | Package.prototype.json = {}; 10 | module.exports = Package; 11 | -------------------------------------------------------------------------------- /src/models/Project.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | let Lock = require('./Lock'); 3 | /** 4 | * 5 | * @param {String} path 6 | * @constructor 7 | */ 8 | let Project = function (path) { 9 | this.path = path; 10 | 11 | this.getPath = () => { return this.path }; 12 | this.getName = () => { return this.json['name'] || '' }; 13 | this.getDescription = () => { return this.json['description'] || '' }; 14 | /** 15 | * @returns {Object} 16 | */ 17 | this.getRequire = () => { return this.json['require'] }; 18 | /** 19 | * @returns {Object} 20 | */ 21 | this.getRequireDev = () => { return this.json['require-dev'] }; 22 | /** 23 | * @returns {*|string} 24 | */ 25 | this.getHomepage = () => { return this.json['homepage'] || '' }; 26 | /** 27 | * @returns {null|Lock} 28 | */ 29 | this.getLock = () => { return this.lock }; 30 | 31 | this.refreshLock = () => { 32 | this.lock = null; 33 | if (this.filesystem.existsSync(path + '/composer.lock')) { 34 | try { 35 | this.filesystem.readFile(path + '/composer.lock', (err, data) => { 36 | if (!err) { 37 | this.lock = new Lock(JSON.parse(data)); 38 | } 39 | }); 40 | } catch (e) { 41 | console.log(e); 42 | } 43 | } 44 | }; 45 | 46 | this.isInstalled = () => { 47 | return this.lock !== null; 48 | }; 49 | 50 | this.refreshData = () => { 51 | this.json = require(this.path + '/composer.json'); 52 | this.refreshLock(); 53 | }; 54 | this.refreshData(); 55 | }; 56 | Project.prototype.path = ''; 57 | Project.prototype.json = {}; 58 | Project.prototype.filesystem = require('fs'); 59 | module.exports = Project; 60 | -------------------------------------------------------------------------------- /src/store.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Vuex = require('vuex'); 4 | const projectList = require('electron').remote.require('./main').getProjectList(); 5 | 6 | let list = projectList.getList(); 7 | let projects = []; 8 | Object.keys(list).map((path) => { 9 | projects.push({ 10 | path, 11 | name: list[path] 12 | }); 13 | }); 14 | 15 | const store = new Vuex.Store({ 16 | state: { 17 | pageTitle: '', 18 | projects: projects, 19 | activeProject: {}, 20 | }, 21 | getters: { 22 | /** 23 | * Get the current page title 24 | */ 25 | pageTitle(state) { 26 | return state.pageTitle; 27 | }, 28 | 29 | /** 30 | * Get the formatted projects array 31 | */ 32 | projectsList(state) { 33 | return state.projects; 34 | }, 35 | 36 | /** 37 | * Get the active project being viewed 38 | */ 39 | activeProject(state) { 40 | return state.activeProject; 41 | }, 42 | }, 43 | // no async 44 | mutations: { 45 | setPageTitle(state, title) { 46 | state.pageTitle = title; 47 | }, 48 | setActiveProject(state, project) { 49 | state.activeProject = project; 50 | }, 51 | removeProject(state, path) { 52 | // remove project from the stored data file 53 | projectList.removeProject(path); 54 | // remove project from the global state 55 | let index = state.projects.findIndex((project) => project.path === path ); 56 | state.projects.splice(index, 1); 57 | } 58 | }, 59 | // handles asynchronous 60 | actions: { 61 | removeProjectAction(context, path) { 62 | context.commit('removeProject', path); 63 | } 64 | } 65 | }); 66 | 67 | module.exports = { 68 | store 69 | } 70 | -------------------------------------------------------------------------------- /src/utils/AppMenu.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const electron = require('electron'); 4 | const app = electron.app; 5 | const menu = electron.Menu; 6 | const shell = electron.shell; 7 | const main = require('../../main'); 8 | 9 | let template = [ 10 | { 11 | label: 'Projects', 12 | submenu: [], 13 | }, 14 | { 15 | label: 'Help', 16 | role: 'help', 17 | submenu: [ 18 | { 19 | label: 'Documentation', 20 | click() { 21 | shell.openExternal('https://github.com/mglaman/conductor/wiki') 22 | } 23 | }, 24 | { 25 | label: 'Report an issue', 26 | click() { 27 | shell.openExternal('https://github.com/mglaman/conductor/issues') 28 | } 29 | } 30 | ], 31 | } 32 | ]; 33 | 34 | if (process.platform === 'darwin') { 35 | const name = 'Conductor'; 36 | template.unshift({ 37 | label: name, 38 | submenu: [ 39 | { 40 | label: 'About ' + name, 41 | role: 'about' 42 | }, 43 | { 44 | type: 'separator' 45 | }, 46 | { 47 | label: 'Services', 48 | role: 'services', 49 | submenu: [] 50 | }, 51 | { 52 | type: 'separator' 53 | }, 54 | { 55 | label: 'Hide ' + name, 56 | accelerator: 'Command+H', 57 | role: 'hide' 58 | }, 59 | { 60 | label: 'Hide Others', 61 | accelerator: 'Command+Alt+H', 62 | role: 'hideothers' 63 | }, 64 | { 65 | label: 'Show All', 66 | role: 'unhide' 67 | }, 68 | { 69 | type: 'separator' 70 | }, 71 | { 72 | label: 'Quit', 73 | accelerator: 'Command+Q', 74 | click() { 75 | app.quit(); 76 | } 77 | }, 78 | ] 79 | }); 80 | } 81 | 82 | 83 | module.exports = { 84 | setProjects: (projects) => { 85 | let key = (process.platform === 'darwin') ? 1 : 0; 86 | for (let path in projects) { 87 | if (!projects.hasOwnProperty(path)) { 88 | continue; 89 | } 90 | template[key].submenu.push({ 91 | label: projects[path], 92 | click() { 93 | main.openProject(path) 94 | } 95 | }); 96 | } 97 | }, 98 | setMenu: () => { 99 | let appMenu = menu.buildFromTemplate(template); 100 | menu.setApplicationMenu(appMenu); 101 | } 102 | }; 103 | -------------------------------------------------------------------------------- /src/utils/AppUpdater.js: -------------------------------------------------------------------------------- 1 | const BrowserWindowElectron = require('electron').BrowserWindow; 2 | const autoUpdater = require('electron-updater').autoUpdater; 3 | const isDev = require('electron-is-dev'); 4 | const os = require('os'); 5 | 6 | 7 | class AppUpdater { 8 | constructor() { 9 | 10 | if (isDev === true) { 11 | return; 12 | } 13 | 14 | const platform = os.platform(); 15 | if (platform === "linux") { 16 | return 17 | } 18 | 19 | autoUpdater.signals.updateDownloaded(it => { 20 | notify("A new update is ready to install", `Version ${it.version} is downloaded and will be automatically installed on Quit`) 21 | }); 22 | autoUpdater.checkForUpdates() 23 | } 24 | } 25 | 26 | function notify(title, message) { 27 | let windows = BrowserWindowElectron.getAllWindows(); 28 | if (windows.length === 0) { 29 | return 30 | } 31 | 32 | windows[0].webContents.send("notify", title, message) 33 | } 34 | 35 | module.exports = AppUpdater; 36 | -------------------------------------------------------------------------------- /src/utils/BrowserWindowFactory.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | let BrowserWindow = require('electron').BrowserWindow; 4 | function getDefaultWindowHeight(w) { 5 | return Math.round((w / 4) * 3); 6 | } 7 | 8 | module.exports = { 9 | createWindow: (url, width, icon) => { 10 | let browserWindow = new BrowserWindow({ 11 | width: width, 12 | height: getDefaultWindowHeight(width), 13 | icon: icon, 14 | show: false, 15 | }); 16 | browserWindow.loadURL(url); 17 | browserWindow.on('ready-to-show', function() { 18 | browserWindow.show(); 19 | browserWindow.focus(); 20 | }); 21 | return browserWindow; 22 | } 23 | } 24 | ; 25 | -------------------------------------------------------------------------------- /src/utils/Composer.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * 5 | * @param {String} projectPath 6 | * @constructor 7 | */ 8 | let Composer = function(projectPath) { 9 | const bin = this.binPath + '/composer.phar'; 10 | 11 | this.install = (opts) => { 12 | return this._runCommand(['install', '--no-progress'], opts); 13 | }; 14 | this.update = (dependency, opts) => { 15 | let command = ['update', '--no-progress']; 16 | if (typeof dependency === 'string') { 17 | command.push(dependency); 18 | } 19 | return this._runCommand(command, opts); 20 | }; 21 | this.validate = (opts) => { 22 | return this._runCommand(['validate'], opts); 23 | }; 24 | /** 25 | * 26 | * @param dependency 27 | * @param opts 28 | * @returns {ChildProcess} 29 | */ 30 | this.show = (dependency, opts) => { 31 | return this._runCommand(['show', dependency], opts); 32 | }; 33 | this.remove = (dependency, opts) => { 34 | return this._runCommand(['remove', dependency], opts); 35 | }; 36 | this.createProject = (project, destination, opts) => { 37 | return this._runCommand(['create-project', project, destination,'--stability', 'dev', '--no-interaction'], opts) 38 | }; 39 | this._normalizeOpts = (opts) => { 40 | if (typeof opts === 'undefined' || opts.length === 0) { 41 | opts = {}; 42 | } 43 | opts['cwd'] = projectPath; 44 | return opts; 45 | }; 46 | /** 47 | * 48 | * @param command 49 | * @param opts 50 | * @returns {ChildProcess} 51 | * @private 52 | */ 53 | this._runCommand = (command, opts) => { 54 | opts = this._normalizeOpts(opts); 55 | return this.spawn(bin, command, opts); 56 | } 57 | }; 58 | 59 | Composer.prototype.spawn = require('child_process').spawn; 60 | Composer.prototype.binPath = (process.mainModule.filename.indexOf('app.asar') !== -1) ? process.resourcesPath : process.cwd(); 61 | module.exports = Composer; 62 | -------------------------------------------------------------------------------- /src/utils/ProjectList.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const Config = require('electron-config'); 3 | 4 | /** 5 | * @constructor 6 | */ 7 | let ProjectList = function() { 8 | /** @type {ElectronConfig} */ 9 | const config = new Config(); 10 | 11 | this.setList = (list) => { this.list = list; }; 12 | this.getList = () => { return this.list; }; 13 | 14 | this.refreshList = () => { 15 | this.setList({}); 16 | if (config.has('projects')) { 17 | this.setList(config.get('projects')); 18 | } 19 | }; 20 | 21 | this.addProject = (dir, name) => { 22 | this.list[dir] = name; 23 | config.set('projects', this.list); 24 | }; 25 | 26 | this.removeProject = (dir) => { 27 | delete this.list[dir]; 28 | config.set('projects', this.list); 29 | } 30 | 31 | this.refreshList(); 32 | }; 33 | ProjectList.prototype.list = {}; 34 | module.exports = ProjectList; 35 | -------------------------------------------------------------------------------- /src/utils/misc.js: -------------------------------------------------------------------------------- 1 | const readline = require('readline'); 2 | 3 | exports.$addEventListener = (elId, event, callback) => { 4 | document.getElementById(elId).addEventListener(event, callback); 5 | }; 6 | exports.$onClick = (elId, callback) => { 7 | this.$addEventListener(elId, 'click', callback); 8 | }; 9 | 10 | const outputLogMessage = (message, lineClass) => { 11 | let p = document.createElement('p'); 12 | p.classList.add(lineClass); 13 | p.innerText = message; 14 | return p; 15 | }; 16 | exports.outputLogMessage = outputLogMessage; 17 | 18 | exports.outputReadLine = (stream, lineClass, elOutput) => { 19 | readline.createInterface({ 20 | input : stream, 21 | terminal : false 22 | }).on('line', line => { 23 | elOutput.appendChild(outputLogMessage(line, lineClass)); 24 | }); 25 | }; 26 | 27 | exports.findButtonicon = (el) => { 28 | return el.childNodes[1]; 29 | }; 30 | -------------------------------------------------------------------------------- /src/windows/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Conductor - the Composer UI 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | -------------------------------------------------------------------------------- /src/windows/mainWindow.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const VueRouter = require('vue-router'); 4 | const Vuetify = require('vuetify'); 5 | 6 | Vue.use(Vuetify); 7 | Vue.use(VueRouter); 8 | 9 | // components 10 | const MainLayout = require('../components/MainLayout'); 11 | const RecentProjects = require('../components/RecentProjects'); 12 | const CreateProjectForm = require('../components/CreateProjectForm'); 13 | const SettingsForm = require('../components/SettingsForm'); 14 | 15 | const {store} = require('../store'); 16 | 17 | const routes = [ 18 | { 19 | path: '/recent-projects', 20 | name: 'recent-projects', 21 | component: RecentProjects 22 | }, 23 | { 24 | path: '/create-project', 25 | name: 'create-project', 26 | component: CreateProjectForm 27 | }, 28 | { 29 | path: '/settings', 30 | name: 'settings', 31 | component: SettingsForm 32 | }, 33 | { 34 | path: '*', 35 | redirect: { 36 | name: 'recent-projects', 37 | }, 38 | }, 39 | ]; 40 | 41 | const router = new VueRouter({ 42 | routes: routes, 43 | root: '/recent-projects', 44 | mode: 'history', 45 | }); 46 | 47 | new Vue({ 48 | el: '#app', 49 | router: router, 50 | store: store, 51 | render: h => h(MainLayout) 52 | }) 53 | 54 | -------------------------------------------------------------------------------- /src/windows/project/project.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Conductor - the Composer UI 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /src/windows/project/projectWindow.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const electron = require('electron'); 4 | const remote = electron.remote; 5 | const mainProcess = remote.require('./main'); 6 | const thisWindow = remote.getCurrentWindow(); 7 | let activeProject = mainProcess.getActiveProject(); 8 | 9 | thisWindow.setTitle(activeProject.getName()); 10 | 11 | const VueRouter = require('vue-router'); 12 | const Vuetify = require('vuetify'); 13 | const {store} = require('../../store'); 14 | 15 | Vue.use(Vuetify); 16 | Vue.use(VueRouter); 17 | 18 | // Vue components 19 | const ProjectLayout = require('../../components/ProjectLayout'); 20 | const ProjectDetails = require('../../components/ProjectDetails'); 21 | const PackageDetails = require('../../components/PackageDetails'); 22 | 23 | const routes = [ 24 | { 25 | path: '/project', 26 | name: 'project', 27 | component: ProjectDetails 28 | }, 29 | { 30 | path: '/package/:packagePath', 31 | name: 'package', 32 | component: PackageDetails 33 | }, 34 | { 35 | path: '*', 36 | redirect: { 37 | name: 'project', 38 | }, 39 | }, 40 | ]; 41 | 42 | const router = new VueRouter({ 43 | routes: routes, 44 | root: '/project', 45 | mode: 'history', 46 | }); 47 | 48 | 49 | new Vue({ 50 | el: '#app', 51 | router: router, 52 | store: store, 53 | render: h => h(ProjectLayout) 54 | }) 55 | -------------------------------------------------------------------------------- /test/mainWindowTest.js: -------------------------------------------------------------------------------- 1 | const Application = require('spectron').Application; 2 | const path = require('path'); 3 | const chai = require('chai'); 4 | const chaiAsPromised = require('chai-as-promised'); 5 | const assert = require("assert"); 6 | 7 | let electronPath = path.join(__dirname, '..', 'node_modules', '.bin', 'electron'); 8 | 9 | if (process.platform === 'win32') { 10 | electronPath += '.cmd'; 11 | } 12 | // Path to your application 13 | const appPath = path.join(__dirname, '..'); 14 | 15 | global.before(function () { 16 | chai.should(); 17 | chai.use(chaiAsPromised) 18 | }); 19 | 20 | describe('application launch', function () { 21 | this.timeout(10000); 22 | let app = null; 23 | 24 | beforeEach(function () { 25 | app = new Application({ 26 | path: electronPath, 27 | env: { RUNNING_IN_SPECTRON: '1' }, 28 | args: [appPath] 29 | }); 30 | return app.start().then(() => { 31 | assert.equal(app.isRunning(), true); 32 | chaiAsPromised.transferPromiseness = app.transferPromiseness; 33 | return app; 34 | }) 35 | }); 36 | 37 | afterEach(function () { 38 | return app.stop().then(() => { 39 | app = null; 40 | }) 41 | }); 42 | 43 | it('loads project listing window', function () { 44 | /** @type WebdriverIO.Client**/ 45 | const client = app.client.waitUntilWindowLoaded(); 46 | 47 | return client 48 | .browserWindow.focus() 49 | .getWindowCount().should.eventually.equal(1) 50 | .browserWindow.isMinimized().should.eventually.be.false 51 | .browserWindow.isDevToolsOpened().should.eventually.be.false 52 | .browserWindow.isVisible().should.eventually.be.true 53 | .browserWindow.isFocused().should.eventually.be.true 54 | .getTitle().should.eventually.equal('Conductor - the Composer UI') 55 | .getText('#open-project').should.eventually.equal('Add existing project') 56 | .getText('#create-project').should.eventually.equal('Create new project') 57 | .getText('#open-settings').should.eventually.equal('Settings') 58 | }); 59 | // @todo find a way to actually test dialogs. 60 | it('opens existing project window', function () { 61 | /** @type WebdriverIO.Client**/ 62 | const client = app.client.waitUntilWindowLoaded(); 63 | return client 64 | .browserWindow.focus() 65 | .getWindowCount().should.eventually.equal(1); 66 | }); 67 | }); 68 | -------------------------------------------------------------------------------- /update-composer.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # See https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md 3 | EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig) 4 | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 5 | ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');") 6 | 7 | if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ] 8 | then 9 | >&2 echo 'ERROR: Invalid installer signature' 10 | rm composer-setup.php 11 | exit 1 12 | fi 13 | 14 | php composer-setup.php --quiet 15 | RESULT=$? 16 | rm composer-setup.php 17 | exit $RESULT 18 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "7zip-bin-linux@^1.0.3": 6 | version "1.0.3" 7 | resolved "https://registry.yarnpkg.com/7zip-bin-linux/-/7zip-bin-linux-1.0.3.tgz#66724d7bb7526381574393888f62566ed537151c" 8 | 9 | "7zip-bin-mac@^1.0.1": 10 | version "1.0.1" 11 | resolved "https://registry.yarnpkg.com/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz#3e68778bbf0926adc68159427074505d47555c02" 12 | 13 | "7zip-bin-win@^2.0.2": 14 | version "2.0.2" 15 | resolved "https://registry.yarnpkg.com/7zip-bin-win/-/7zip-bin-win-2.0.2.tgz#4c36399413922f111b8e80df3065a4069cfc0a64" 16 | 17 | "7zip-bin@^2.0.4": 18 | version "2.0.4" 19 | resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-2.0.4.tgz#0cd28ac3301b1302fbd99922bacb8bad98103e12" 20 | optionalDependencies: 21 | "7zip-bin-linux" "^1.0.3" 22 | "7zip-bin-mac" "^1.0.1" 23 | "7zip-bin-win" "^2.0.2" 24 | 25 | "@electron/get@^1.0.1": 26 | version "1.12.3" 27 | resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.3.tgz#fa2723385c4b565a34c4c82f46087aa2a5fbf6d0" 28 | dependencies: 29 | debug "^4.1.1" 30 | env-paths "^2.2.0" 31 | filenamify "^4.1.0" 32 | fs-extra "^8.1.0" 33 | got "^9.6.0" 34 | progress "^2.0.3" 35 | semver "^6.2.0" 36 | sumchecker "^3.0.1" 37 | optionalDependencies: 38 | global-agent "^2.0.2" 39 | global-tunnel-ng "^2.7.1" 40 | 41 | "@sindresorhus/is@^0.14.0": 42 | version "0.14.0" 43 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" 44 | 45 | "@szmarczak/http-timer@^1.1.2": 46 | version "1.1.2" 47 | resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" 48 | dependencies: 49 | defer-to-connect "^1.0.1" 50 | 51 | "@types/node@^12.0.12": 52 | version "12.19.15" 53 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.15.tgz#0de7e978fb43db62da369db18ea088a63673c182" 54 | 55 | abbrev@1: 56 | version "1.1.0" 57 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" 58 | 59 | ajv@^4.9.1: 60 | version "4.11.8" 61 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 62 | dependencies: 63 | co "^4.6.0" 64 | json-stable-stringify "^1.0.1" 65 | 66 | ajv@^6.5.5: 67 | version "6.12.2" 68 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" 69 | dependencies: 70 | fast-deep-equal "^3.1.1" 71 | fast-json-stable-stringify "^2.0.0" 72 | json-schema-traverse "^0.4.1" 73 | uri-js "^4.2.2" 74 | 75 | amdefine@>=0.0.4: 76 | version "1.0.1" 77 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 78 | 79 | ansi-align@^1.1.0: 80 | version "1.1.0" 81 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" 82 | dependencies: 83 | string-width "^1.0.1" 84 | 85 | ansi-escapes@^1.4.0: 86 | version "1.4.0" 87 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 88 | 89 | ansi-escapes@^3.0.0: 90 | version "3.2.0" 91 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 92 | 93 | ansi-regex@^2.0.0: 94 | version "2.1.1" 95 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 96 | 97 | ansi-regex@^3.0.0: 98 | version "3.0.0" 99 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 100 | 101 | ansi-styles@^2.2.1: 102 | version "2.2.1" 103 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 104 | 105 | ansi-styles@^3.2.1: 106 | version "3.2.1" 107 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 108 | dependencies: 109 | color-convert "^1.9.0" 110 | 111 | aproba@^1.0.3: 112 | version "1.1.1" 113 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" 114 | 115 | archiver-utils@^1.3.0: 116 | version "1.3.0" 117 | resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" 118 | dependencies: 119 | glob "^7.0.0" 120 | graceful-fs "^4.1.0" 121 | lazystream "^1.0.0" 122 | lodash "^4.8.0" 123 | normalize-path "^2.0.0" 124 | readable-stream "^2.0.0" 125 | 126 | archiver@^1.2.0: 127 | version "1.3.0" 128 | resolved "https://registry.yarnpkg.com/archiver/-/archiver-1.3.0.tgz#4f2194d6d8f99df3f531e6881f14f15d55faaf22" 129 | dependencies: 130 | archiver-utils "^1.3.0" 131 | async "^2.0.0" 132 | buffer-crc32 "^0.2.1" 133 | glob "^7.0.0" 134 | lodash "^4.8.0" 135 | readable-stream "^2.0.0" 136 | tar-stream "^1.5.0" 137 | walkdir "^0.0.11" 138 | zip-stream "^1.1.0" 139 | 140 | archiver@~2.1.0: 141 | version "2.1.1" 142 | resolved "https://registry.yarnpkg.com/archiver/-/archiver-2.1.1.tgz#ff662b4a78201494a3ee544d3a33fe7496509ebc" 143 | dependencies: 144 | archiver-utils "^1.3.0" 145 | async "^2.0.0" 146 | buffer-crc32 "^0.2.1" 147 | glob "^7.0.0" 148 | lodash "^4.8.0" 149 | readable-stream "^2.0.0" 150 | tar-stream "^1.5.0" 151 | zip-stream "^1.2.0" 152 | 153 | are-we-there-yet@~1.1.2: 154 | version "1.1.4" 155 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 156 | dependencies: 157 | delegates "^1.0.0" 158 | readable-stream "^2.0.6" 159 | 160 | argparse@^1.0.2, argparse@^1.0.7: 161 | version "1.0.9" 162 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" 163 | dependencies: 164 | sprintf-js "~1.0.2" 165 | 166 | array-differ@^1.0.0: 167 | version "1.0.0" 168 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 169 | 170 | array-find-index@^1.0.1: 171 | version "1.0.2" 172 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 173 | 174 | array-union@^1.0.1: 175 | version "1.0.2" 176 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 177 | dependencies: 178 | array-uniq "^1.0.1" 179 | 180 | array-uniq@^1.0.1: 181 | version "1.0.3" 182 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 183 | 184 | arrify@^1.0.0: 185 | version "1.0.1" 186 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 187 | 188 | asap@^2.0.0: 189 | version "2.0.5" 190 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" 191 | 192 | asar-electron-builder@^0.13.5: 193 | version "0.13.5" 194 | resolved "https://registry.yarnpkg.com/asar-electron-builder/-/asar-electron-builder-0.13.5.tgz#4ccd4d11fd7c9d3b3cffc782fde3deed9ef91af6" 195 | dependencies: 196 | chromium-pickle-js "^0.2.0" 197 | commander "^2.9.0" 198 | cuint "^0.2.1" 199 | minimatch "^3.0.2" 200 | mkdirp "^0.5.1" 201 | 202 | asn1@~0.2.3: 203 | version "0.2.3" 204 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 205 | 206 | assert-plus@1.0.0, assert-plus@^1.0.0: 207 | version "1.0.0" 208 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 209 | 210 | assert-plus@^0.2.0: 211 | version "0.2.0" 212 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 213 | 214 | assertion-error@^1.0.1: 215 | version "1.0.2" 216 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" 217 | 218 | async-foreach@^0.1.3: 219 | version "0.1.3" 220 | resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" 221 | 222 | async@^1.5.0, async@^1.5.2, async@~1.5.2: 223 | version "1.5.2" 224 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 225 | 226 | async@^2.0.0: 227 | version "2.4.0" 228 | resolved "https://registry.yarnpkg.com/async/-/async-2.4.0.tgz#4990200f18ea5b837c2cc4f8c031a6985c385611" 229 | dependencies: 230 | lodash "^4.14.0" 231 | 232 | asynckit@^0.4.0: 233 | version "0.4.0" 234 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 235 | 236 | atob@~1.1.0: 237 | version "1.1.3" 238 | resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" 239 | 240 | autoprefixer@^6.0.3: 241 | version "6.7.7" 242 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" 243 | dependencies: 244 | browserslist "^1.7.6" 245 | caniuse-db "^1.0.30000634" 246 | normalize-range "^0.1.2" 247 | num2fraction "^1.2.2" 248 | postcss "^5.2.16" 249 | postcss-value-parser "^3.2.3" 250 | 251 | aws-sign2@~0.6.0: 252 | version "0.6.0" 253 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 254 | 255 | aws-sign2@~0.7.0: 256 | version "0.7.0" 257 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 258 | 259 | aws4@^1.2.1: 260 | version "1.6.0" 261 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 262 | 263 | aws4@^1.8.0: 264 | version "1.10.0" 265 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" 266 | 267 | babel-runtime@^6.26.0: 268 | version "6.26.0" 269 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 270 | dependencies: 271 | core-js "^2.4.0" 272 | regenerator-runtime "^0.11.0" 273 | 274 | balanced-match@^0.4.1: 275 | version "0.4.2" 276 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 277 | 278 | base64-js@1.1.2: 279 | version "1.1.2" 280 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.1.2.tgz#d6400cac1c4c660976d90d07a04351d89395f5e8" 281 | 282 | bcrypt-pbkdf@^1.0.0: 283 | version "1.0.1" 284 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 285 | dependencies: 286 | tweetnacl "^0.14.3" 287 | 288 | bl@^1.0.0: 289 | version "1.2.3" 290 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" 291 | dependencies: 292 | readable-stream "^2.3.5" 293 | safe-buffer "^5.1.1" 294 | 295 | block-stream@*: 296 | version "0.0.9" 297 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 298 | dependencies: 299 | inherits "~2.0.0" 300 | 301 | bluebird-lst-c@^1.0.4: 302 | version "1.0.6" 303 | resolved "https://registry.yarnpkg.com/bluebird-lst-c/-/bluebird-lst-c-1.0.6.tgz#81f881d13f9df700f67d577f13480bc32d84bba9" 304 | dependencies: 305 | bluebird "^3.4.7" 306 | 307 | bluebird-lst@^1.0.2: 308 | version "1.0.2" 309 | resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.2.tgz#c7b26176b6c8fa458be703deb0644a28f64a475b" 310 | dependencies: 311 | bluebird "^3.5.0" 312 | 313 | bluebird-lst@^1.0.5: 314 | version "1.0.9" 315 | resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" 316 | dependencies: 317 | bluebird "^3.5.5" 318 | 319 | bluebird@^3.4.6, bluebird@^3.4.7, bluebird@^3.5.0: 320 | version "3.5.0" 321 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" 322 | 323 | bluebird@^3.5.5: 324 | version "3.7.2" 325 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" 326 | 327 | body-parser@~1.14.0: 328 | version "1.14.2" 329 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz#1015cb1fe2c443858259581db53332f8d0cf50f9" 330 | dependencies: 331 | bytes "2.2.0" 332 | content-type "~1.0.1" 333 | debug "~2.2.0" 334 | depd "~1.1.0" 335 | http-errors "~1.3.1" 336 | iconv-lite "0.4.13" 337 | on-finished "~2.3.0" 338 | qs "5.2.0" 339 | raw-body "~2.1.5" 340 | type-is "~1.6.10" 341 | 342 | boolean@^3.0.1: 343 | version "3.0.2" 344 | resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570" 345 | 346 | boom@2.x.x: 347 | version "2.10.1" 348 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 349 | dependencies: 350 | hoek "2.x.x" 351 | 352 | boxen@^0.6.0: 353 | version "0.6.0" 354 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" 355 | dependencies: 356 | ansi-align "^1.1.0" 357 | camelcase "^2.1.0" 358 | chalk "^1.1.1" 359 | cli-boxes "^1.0.0" 360 | filled-array "^1.0.0" 361 | object-assign "^4.0.1" 362 | repeating "^2.0.0" 363 | string-width "^1.0.1" 364 | widest-line "^1.0.0" 365 | 366 | brace-expansion@^1.0.0: 367 | version "1.1.7" 368 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" 369 | dependencies: 370 | balanced-match "^0.4.1" 371 | concat-map "0.0.1" 372 | 373 | browser-stdout@1.3.0: 374 | version "1.3.0" 375 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" 376 | 377 | browserslist@^1.7.6: 378 | version "1.7.7" 379 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" 380 | dependencies: 381 | caniuse-db "^1.0.30000639" 382 | electron-to-chromium "^1.2.7" 383 | 384 | buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: 385 | version "0.2.13" 386 | resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" 387 | 388 | buffer-from@^1.0.0: 389 | version "1.1.1" 390 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 391 | 392 | builtin-modules@^1.0.0: 393 | version "1.1.1" 394 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 395 | 396 | bytes@2.2.0: 397 | version "2.2.0" 398 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz#fd35464a403f6f9117c2de3609ecff9cae000588" 399 | 400 | bytes@2.4.0: 401 | version "2.4.0" 402 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" 403 | 404 | cacheable-request@^6.0.0: 405 | version "6.1.0" 406 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" 407 | dependencies: 408 | clone-response "^1.0.2" 409 | get-stream "^5.1.0" 410 | http-cache-semantics "^4.0.0" 411 | keyv "^3.0.0" 412 | lowercase-keys "^2.0.0" 413 | normalize-url "^4.1.0" 414 | responselike "^1.0.2" 415 | 416 | camelcase-keys@^2.0.0: 417 | version "2.1.0" 418 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 419 | dependencies: 420 | camelcase "^2.0.0" 421 | map-obj "^1.0.0" 422 | 423 | camelcase@^2.0.0, camelcase@^2.1.0: 424 | version "2.1.1" 425 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 426 | 427 | camelcase@^3.0.0: 428 | version "3.0.0" 429 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 430 | 431 | caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: 432 | version "1.0.30000665" 433 | resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000665.tgz#e84f4277935f295f546f8533cb0b410a8415b972" 434 | 435 | capture-stack-trace@^1.0.0: 436 | version "1.0.0" 437 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" 438 | 439 | caseless@~0.12.0: 440 | version "0.12.0" 441 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 442 | 443 | chai-as-promised@^6.0.0: 444 | version "6.0.0" 445 | resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6" 446 | dependencies: 447 | check-error "^1.0.2" 448 | 449 | chai@^3.5.0: 450 | version "3.5.0" 451 | resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" 452 | dependencies: 453 | assertion-error "^1.0.1" 454 | deep-eql "^0.1.3" 455 | type-detect "^1.0.0" 456 | 457 | chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.1: 458 | version "1.1.3" 459 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 460 | dependencies: 461 | ansi-styles "^2.2.1" 462 | escape-string-regexp "^1.0.2" 463 | has-ansi "^2.0.0" 464 | strip-ansi "^3.0.0" 465 | supports-color "^2.0.0" 466 | 467 | chalk@^2.0.0: 468 | version "2.4.2" 469 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 470 | dependencies: 471 | ansi-styles "^3.2.1" 472 | escape-string-regexp "^1.0.5" 473 | supports-color "^5.3.0" 474 | 475 | chardet@^0.4.0: 476 | version "0.4.2" 477 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" 478 | 479 | check-error@^1.0.2: 480 | version "1.0.2" 481 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 482 | 483 | chromium-pickle-js@^0.2.0: 484 | version "0.2.0" 485 | resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" 486 | 487 | cli-boxes@^1.0.0: 488 | version "1.0.0" 489 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 490 | 491 | cli-cursor@^1.0.2: 492 | version "1.0.2" 493 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 494 | dependencies: 495 | restore-cursor "^1.0.1" 496 | 497 | cli-cursor@^2.1.0: 498 | version "2.1.0" 499 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 500 | dependencies: 501 | restore-cursor "^2.0.0" 502 | 503 | cli-width@^2.0.0: 504 | version "2.1.0" 505 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" 506 | 507 | cliui@^3.2.0: 508 | version "3.2.0" 509 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 510 | dependencies: 511 | string-width "^1.0.1" 512 | strip-ansi "^3.0.1" 513 | wrap-ansi "^2.0.0" 514 | 515 | clone-response@^1.0.2: 516 | version "1.0.2" 517 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 518 | dependencies: 519 | mimic-response "^1.0.0" 520 | 521 | co@^4.6.0: 522 | version "4.6.0" 523 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 524 | 525 | code-point-at@^1.0.0: 526 | version "1.1.0" 527 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 528 | 529 | coffee-script@~1.10.0: 530 | version "1.10.0" 531 | resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" 532 | 533 | color-convert@^1.9.0: 534 | version "1.9.3" 535 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 536 | dependencies: 537 | color-name "1.1.3" 538 | 539 | color-convert@~0.5.0: 540 | version "0.5.3" 541 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" 542 | 543 | color-name@1.1.3: 544 | version "1.1.3" 545 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 546 | 547 | colors@~1.1.2: 548 | version "1.1.2" 549 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 550 | 551 | combined-stream@^1.0.5, combined-stream@~1.0.5: 552 | version "1.0.5" 553 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 554 | dependencies: 555 | delayed-stream "~1.0.0" 556 | 557 | combined-stream@^1.0.6, combined-stream@~1.0.6: 558 | version "1.0.8" 559 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 560 | dependencies: 561 | delayed-stream "~1.0.0" 562 | 563 | commander@2.9.0, commander@^2.9.0: 564 | version "2.9.0" 565 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 566 | dependencies: 567 | graceful-readlink ">= 1.0.0" 568 | 569 | compare-version@^0.1.2: 570 | version "0.1.2" 571 | resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" 572 | 573 | compress-commons@^1.1.0: 574 | version "1.2.0" 575 | resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.0.tgz#58587092ef20d37cb58baf000112c9278ff73b9f" 576 | dependencies: 577 | buffer-crc32 "^0.2.1" 578 | crc32-stream "^2.0.0" 579 | normalize-path "^2.0.0" 580 | readable-stream "^2.0.0" 581 | 582 | compress-commons@^1.2.0: 583 | version "1.2.2" 584 | resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.2.tgz#524a9f10903f3a813389b0225d27c48bb751890f" 585 | dependencies: 586 | buffer-crc32 "^0.2.1" 587 | crc32-stream "^2.0.0" 588 | normalize-path "^2.0.0" 589 | readable-stream "^2.0.0" 590 | 591 | concat-map@0.0.1: 592 | version "0.0.1" 593 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 594 | 595 | concat-stream@^1.6.2: 596 | version "1.6.2" 597 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 598 | dependencies: 599 | buffer-from "^1.0.0" 600 | inherits "^2.0.3" 601 | readable-stream "^2.2.2" 602 | typedarray "^0.0.6" 603 | 604 | conf@^0.11.1: 605 | version "0.11.2" 606 | resolved "https://registry.yarnpkg.com/conf/-/conf-0.11.2.tgz#879f479267600483e502583462ca4063fc9779b2" 607 | dependencies: 608 | dot-prop "^3.0.0" 609 | env-paths "^0.3.0" 610 | mkdirp "^0.5.1" 611 | pkg-up "^1.0.0" 612 | 613 | config-chain@^1.1.11: 614 | version "1.1.12" 615 | resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" 616 | dependencies: 617 | ini "^1.3.4" 618 | proto-list "~1.2.1" 619 | 620 | configstore@^2.0.0: 621 | version "2.1.0" 622 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" 623 | dependencies: 624 | dot-prop "^3.0.0" 625 | graceful-fs "^4.1.2" 626 | mkdirp "^0.5.0" 627 | object-assign "^4.0.1" 628 | os-tmpdir "^1.0.0" 629 | osenv "^0.1.0" 630 | uuid "^2.0.1" 631 | write-file-atomic "^1.1.2" 632 | xdg-basedir "^2.0.0" 633 | 634 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 635 | version "1.1.0" 636 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 637 | 638 | content-type@~1.0.1: 639 | version "1.0.2" 640 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" 641 | 642 | core-js@^2.4.0: 643 | version "2.4.1" 644 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 645 | 646 | core-js@^3.6.5: 647 | version "3.8.3" 648 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" 649 | 650 | core-util-is@~1.0.0: 651 | version "1.0.2" 652 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 653 | 654 | crc32-stream@^2.0.0: 655 | version "2.0.0" 656 | resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" 657 | dependencies: 658 | crc "^3.4.4" 659 | readable-stream "^2.0.0" 660 | 661 | crc@^3.4.4: 662 | version "3.4.4" 663 | resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b" 664 | 665 | create-error-class@^3.0.1: 666 | version "3.0.2" 667 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 668 | dependencies: 669 | capture-stack-trace "^1.0.0" 670 | 671 | cross-spawn@^3.0.0: 672 | version "3.0.1" 673 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" 674 | dependencies: 675 | lru-cache "^4.0.1" 676 | which "^1.2.9" 677 | 678 | cryptiles@2.x.x: 679 | version "2.0.5" 680 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 681 | dependencies: 682 | boom "2.x.x" 683 | 684 | css-parse@^2.0.0: 685 | version "2.0.0" 686 | resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" 687 | dependencies: 688 | css "^2.0.0" 689 | 690 | css-value@~0.0.1: 691 | version "0.0.1" 692 | resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea" 693 | 694 | css@^2.0.0: 695 | version "2.2.1" 696 | resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" 697 | dependencies: 698 | inherits "^2.0.1" 699 | source-map "^0.1.38" 700 | source-map-resolve "^0.3.0" 701 | urix "^0.1.0" 702 | 703 | cuint@^0.2.1, cuint@^0.2.2: 704 | version "0.2.2" 705 | resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" 706 | 707 | currently-unhandled@^0.4.1: 708 | version "0.4.1" 709 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 710 | dependencies: 711 | array-find-index "^1.0.1" 712 | 713 | dashdash@^1.12.0: 714 | version "1.14.1" 715 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 716 | dependencies: 717 | assert-plus "^1.0.0" 718 | 719 | dateformat@~1.0.12: 720 | version "1.0.12" 721 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" 722 | dependencies: 723 | get-stdin "^4.0.1" 724 | meow "^3.3.0" 725 | 726 | debug@2.6.8: 727 | version "2.6.8" 728 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" 729 | dependencies: 730 | ms "2.0.0" 731 | 732 | debug@^2.1.3, debug@^2.2.0: 733 | version "2.6.6" 734 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a" 735 | dependencies: 736 | ms "0.7.3" 737 | 738 | debug@^2.6.8, debug@^2.6.9: 739 | version "2.6.9" 740 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 741 | dependencies: 742 | ms "2.0.0" 743 | 744 | debug@^3.0.0: 745 | version "3.2.6" 746 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 747 | dependencies: 748 | ms "^2.1.1" 749 | 750 | debug@^4.1.0, debug@^4.1.1: 751 | version "4.3.1" 752 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 753 | dependencies: 754 | ms "2.1.2" 755 | 756 | debug@~2.2.0: 757 | version "2.2.0" 758 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 759 | dependencies: 760 | ms "0.7.1" 761 | 762 | debuglog@^1.0.1: 763 | version "1.0.1" 764 | resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" 765 | 766 | decamelize@^1.1.1, decamelize@^1.1.2: 767 | version "1.2.0" 768 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 769 | 770 | decompress-response@^3.3.0: 771 | version "3.3.0" 772 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 773 | dependencies: 774 | mimic-response "^1.0.0" 775 | 776 | deep-eql@^0.1.3: 777 | version "0.1.3" 778 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" 779 | dependencies: 780 | type-detect "0.1.1" 781 | 782 | deep-extend@^0.6.0: 783 | version "0.6.0" 784 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 785 | 786 | deep-extend@~0.4.0: 787 | version "0.4.1" 788 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" 789 | 790 | deepmerge@~2.0.1: 791 | version "2.0.1" 792 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.1.tgz#25c1c24f110fb914f80001b925264dd77f3f4312" 793 | 794 | defer-to-connect@^1.0.1: 795 | version "1.1.3" 796 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" 797 | 798 | define-properties@^1.1.3: 799 | version "1.1.3" 800 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 801 | dependencies: 802 | object-keys "^1.0.12" 803 | 804 | delayed-stream@~1.0.0: 805 | version "1.0.0" 806 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 807 | 808 | delegates@^1.0.0: 809 | version "1.0.0" 810 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 811 | 812 | depd@~1.1.0: 813 | version "1.1.0" 814 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" 815 | 816 | detect-node@^2.0.4: 817 | version "2.0.4" 818 | resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" 819 | 820 | dev-null@^0.1.1: 821 | version "0.1.1" 822 | resolved "https://registry.yarnpkg.com/dev-null/-/dev-null-0.1.1.tgz#5a205ce3c2b2ef77b6238d6ba179eb74c6a0e818" 823 | 824 | dezalgo@^1.0.0: 825 | version "1.0.3" 826 | resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" 827 | dependencies: 828 | asap "^2.0.0" 829 | wrappy "1" 830 | 831 | diff@3.2.0: 832 | version "3.2.0" 833 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" 834 | 835 | dot-prop@^3.0.0: 836 | version "3.0.0" 837 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 838 | dependencies: 839 | is-obj "^1.0.0" 840 | 841 | duplexer2@^0.1.4: 842 | version "0.1.4" 843 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" 844 | dependencies: 845 | readable-stream "^2.0.2" 846 | 847 | duplexer3@^0.1.4: 848 | version "0.1.4" 849 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 850 | 851 | each-async@^1.0.0: 852 | version "1.1.1" 853 | resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" 854 | dependencies: 855 | onetime "^1.0.0" 856 | set-immediate-shim "^1.0.0" 857 | 858 | ecc-jsbn@~0.1.1: 859 | version "0.1.1" 860 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 861 | dependencies: 862 | jsbn "~0.1.0" 863 | 864 | ee-first@1.1.1: 865 | version "1.1.1" 866 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 867 | 868 | ejs@~2.5.6: 869 | version "2.5.6" 870 | resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" 871 | 872 | electron-builder-http@~17.9.0: 873 | version "17.9.0" 874 | resolved "https://registry.yarnpkg.com/electron-builder-http/-/electron-builder-http-17.9.0.tgz#e760947b86c5dea1fb9a0ceff845cc21e7f881cc" 875 | dependencies: 876 | debug "2.6.8" 877 | fs-extra-p "^4.3.0" 878 | 879 | electron-builder@^7.14.2: 880 | version "7.26.0" 881 | resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-7.26.0.tgz#af0b4d97c3cdf29ad00ccfcd05ccc3792fd8a2ab" 882 | dependencies: 883 | "7zip-bin" "^2.0.4" 884 | ansi-escapes "^1.4.0" 885 | archiver "^1.2.0" 886 | archiver-utils "^1.3.0" 887 | asar-electron-builder "^0.13.5" 888 | bluebird-lst-c "^1.0.4" 889 | chalk "^1.1.3" 890 | chromium-pickle-js "^0.2.0" 891 | cli-cursor "^1.0.2" 892 | cuint "^0.2.2" 893 | debug "^2.2.0" 894 | electron-download "2.1.2" 895 | electron-osx-sign-tf "~1.1.0" 896 | fs-extra-p "^2.0.6" 897 | hosted-git-info "^2.1.5" 898 | ini "^1.3.4" 899 | isbinaryfile "^3.0.1" 900 | js-yaml "^3.6.1" 901 | lodash.template "^4.4.0" 902 | mime "^1.3.4" 903 | minimatch "^3.0.3" 904 | node-emoji "^1.4.1" 905 | normalize-package-data "^2.3.5" 906 | parse-color "^1.0.0" 907 | plist "^2.0.1" 908 | pretty-ms "^2.1.0" 909 | progress "^1.1.8" 910 | progress-stream "^1.2.0" 911 | read-installed "^4.0.3" 912 | sanitize-filename "^1.6.1" 913 | semver "^5.3.0" 914 | source-map-support "^0.4.6" 915 | tunnel-agent "^0.4.3" 916 | update-notifier "^1.0.2" 917 | uuid-1345 "^0.99.6" 918 | yargs "^6.3.0" 919 | 920 | electron-chromedriver@~1.8.0: 921 | version "1.8.0" 922 | resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-1.8.0.tgz#901714133cf6f6093d365e1f44a52d99624d8241" 923 | dependencies: 924 | electron-download "^4.1.0" 925 | extract-zip "^1.6.5" 926 | 927 | electron-config@^0.2.1: 928 | version "0.2.1" 929 | resolved "https://registry.yarnpkg.com/electron-config/-/electron-config-0.2.1.tgz#7e12c26412d06bf3ed3896d0479df162986b95ba" 930 | dependencies: 931 | conf "^0.11.1" 932 | 933 | electron-download@2.1.2: 934 | version "2.1.2" 935 | resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-2.1.2.tgz#913b35b07a90ff1b644834e9bf03f5f1d6f24f64" 936 | dependencies: 937 | debug "^2.2.0" 938 | home-path "^1.0.1" 939 | minimist "^1.2.0" 940 | mkdirp "^0.5.0" 941 | mv "^2.0.3" 942 | nugget "^1.5.1" 943 | path-exists "^1.0.0" 944 | rc "^1.1.2" 945 | 946 | electron-download@^4.1.0: 947 | version "4.1.1" 948 | resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-4.1.1.tgz#02e69556705cc456e520f9e035556ed5a015ebe8" 949 | dependencies: 950 | debug "^3.0.0" 951 | env-paths "^1.0.0" 952 | fs-extra "^4.0.1" 953 | minimist "^1.2.0" 954 | nugget "^2.0.1" 955 | path-exists "^3.0.0" 956 | rc "^1.2.1" 957 | semver "^5.4.1" 958 | sumchecker "^2.0.2" 959 | 960 | electron-is-dev@^0.1.2: 961 | version "0.1.2" 962 | resolved "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-0.1.2.tgz#8a1043e32b3a1da1c3f553dce28ce764246167e3" 963 | 964 | electron-osx-sign-tf@~1.1.0: 965 | version "1.1.0" 966 | resolved "https://registry.yarnpkg.com/electron-osx-sign-tf/-/electron-osx-sign-tf-1.1.0.tgz#f6d7ef8e94e47824ebd6a6c60d3464281d4abce9" 967 | dependencies: 968 | bluebird "^3.4.6" 969 | compare-version "^0.1.2" 970 | debug "^2.2.0" 971 | isbinaryfile "^3.0.1" 972 | minimist "^1.2.0" 973 | plist "^2.0.1" 974 | tempfile "^1.1.1" 975 | 976 | electron-to-chromium@^1.2.7: 977 | version "1.3.9" 978 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.9.tgz#db1cba2a26aebcca2f7f5b8b034554468609157d" 979 | 980 | electron-updater@^1.16.0: 981 | version "1.16.0" 982 | resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-1.16.0.tgz#e81e6a428d16d244e474a884302b5fcfad927230" 983 | dependencies: 984 | bluebird-lst "^1.0.2" 985 | debug "^2.6.8" 986 | electron-builder-http "~17.9.0" 987 | electron-is-dev "^0.1.2" 988 | fs-extra-p "^4.3.0" 989 | js-yaml "^3.8.4" 990 | semver "^5.3.0" 991 | source-map-support "^0.4.15" 992 | xelement "^1.0.14" 993 | 994 | electron@^9.4.0: 995 | version "9.4.0" 996 | resolved "https://registry.yarnpkg.com/electron/-/electron-9.4.0.tgz#c3c607e3598226ddbaaff8babcdffa8bb2210936" 997 | dependencies: 998 | "@electron/get" "^1.0.1" 999 | "@types/node" "^12.0.12" 1000 | extract-zip "^1.0.3" 1001 | 1002 | encodeurl@^1.0.2: 1003 | version "1.0.2" 1004 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 1005 | 1006 | end-of-stream@^1.0.0: 1007 | version "1.4.0" 1008 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" 1009 | dependencies: 1010 | once "^1.4.0" 1011 | 1012 | end-of-stream@^1.1.0: 1013 | version "1.4.4" 1014 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 1015 | dependencies: 1016 | once "^1.4.0" 1017 | 1018 | env-paths@^0.3.0: 1019 | version "0.3.1" 1020 | resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-0.3.1.tgz#c30ccfcbc30c890943dc08a85582517ef00da463" 1021 | 1022 | env-paths@^1.0.0: 1023 | version "1.0.0" 1024 | resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" 1025 | 1026 | env-paths@^2.2.0: 1027 | version "2.2.0" 1028 | resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" 1029 | 1030 | error-ex@^1.2.0: 1031 | version "1.3.1" 1032 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 1033 | dependencies: 1034 | is-arrayish "^0.2.1" 1035 | 1036 | es6-error@^4.1.1: 1037 | version "4.1.1" 1038 | resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" 1039 | 1040 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 1041 | version "1.0.5" 1042 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1043 | 1044 | escape-string-regexp@^4.0.0: 1045 | version "4.0.0" 1046 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1047 | 1048 | esprima@^2.6.0: 1049 | version "2.7.3" 1050 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 1051 | 1052 | esprima@^3.1.1: 1053 | version "3.1.3" 1054 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" 1055 | 1056 | esprima@^4.0.0: 1057 | version "4.0.1" 1058 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1059 | 1060 | eventemitter2@~0.4.13: 1061 | version "0.4.14" 1062 | resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" 1063 | 1064 | exit-hook@^1.0.0: 1065 | version "1.1.1" 1066 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 1067 | 1068 | exit@~0.1.1: 1069 | version "0.1.2" 1070 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1071 | 1072 | extend@~3.0.0: 1073 | version "3.0.1" 1074 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 1075 | 1076 | extend@~3.0.2: 1077 | version "3.0.2" 1078 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1079 | 1080 | external-editor@^2.0.4: 1081 | version "2.2.0" 1082 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" 1083 | dependencies: 1084 | chardet "^0.4.0" 1085 | iconv-lite "^0.4.17" 1086 | tmp "^0.0.33" 1087 | 1088 | extract-zip@^1.0.3, extract-zip@^1.6.5: 1089 | version "1.7.0" 1090 | resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" 1091 | dependencies: 1092 | concat-stream "^1.6.2" 1093 | debug "^2.6.9" 1094 | mkdirp "^0.5.4" 1095 | yauzl "^2.10.0" 1096 | 1097 | extsprintf@1.0.2: 1098 | version "1.0.2" 1099 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 1100 | 1101 | fast-deep-equal@^3.1.1: 1102 | version "3.1.3" 1103 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1104 | 1105 | fast-json-stable-stringify@^2.0.0: 1106 | version "2.1.0" 1107 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1108 | 1109 | faye-websocket@~0.10.0: 1110 | version "0.10.0" 1111 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" 1112 | dependencies: 1113 | websocket-driver ">=0.5.1" 1114 | 1115 | fd-slicer@~1.1.0: 1116 | version "1.1.0" 1117 | resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" 1118 | dependencies: 1119 | pend "~1.2.0" 1120 | 1121 | figures@^2.0.0: 1122 | version "2.0.0" 1123 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 1124 | dependencies: 1125 | escape-string-regexp "^1.0.5" 1126 | 1127 | filename-reserved-regex@^2.0.0: 1128 | version "2.0.0" 1129 | resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" 1130 | 1131 | filenamify@^4.1.0: 1132 | version "4.2.0" 1133 | resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.2.0.tgz#c99716d676869585b3b5d328b3f06590d032e89f" 1134 | dependencies: 1135 | filename-reserved-regex "^2.0.0" 1136 | strip-outer "^1.0.1" 1137 | trim-repeated "^1.0.0" 1138 | 1139 | filled-array@^1.0.0: 1140 | version "1.1.0" 1141 | resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" 1142 | 1143 | find-up@^1.0.0: 1144 | version "1.1.2" 1145 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1146 | dependencies: 1147 | path-exists "^2.0.0" 1148 | pinkie-promise "^2.0.0" 1149 | 1150 | findup-sync@~0.3.0: 1151 | version "0.3.0" 1152 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" 1153 | dependencies: 1154 | glob "~5.0.0" 1155 | 1156 | font-awesome@^4.6.3: 1157 | version "4.7.0" 1158 | resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" 1159 | 1160 | forever-agent@~0.6.1: 1161 | version "0.6.1" 1162 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1163 | 1164 | form-data@~2.1.1: 1165 | version "2.1.4" 1166 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 1167 | dependencies: 1168 | asynckit "^0.4.0" 1169 | combined-stream "^1.0.5" 1170 | mime-types "^2.1.12" 1171 | 1172 | form-data@~2.3.2: 1173 | version "2.3.3" 1174 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 1175 | dependencies: 1176 | asynckit "^0.4.0" 1177 | combined-stream "^1.0.6" 1178 | mime-types "^2.1.12" 1179 | 1180 | fs-extra-p@^2.0.6: 1181 | version "2.0.7" 1182 | resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-2.0.7.tgz#525a86ee1250510210defe1ea39f473c23ecfa96" 1183 | dependencies: 1184 | bluebird-lst-c "^1.0.4" 1185 | fs-extra-tf "^1.0.0" 1186 | 1187 | fs-extra-p@^4.3.0: 1188 | version "4.6.1" 1189 | resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-4.6.1.tgz#6156e0cc98097f415fcd17029578fc41c78b5092" 1190 | dependencies: 1191 | bluebird-lst "^1.0.5" 1192 | fs-extra "^6.0.1" 1193 | 1194 | fs-extra-tf@^1.0.0: 1195 | version "1.0.0" 1196 | resolved "https://registry.yarnpkg.com/fs-extra-tf/-/fs-extra-tf-1.0.0.tgz#77d3d7dc2199fbc618a42fe5ea81137db95eeb2e" 1197 | dependencies: 1198 | graceful-fs "^4.1.10" 1199 | jsonfile "^2.4.0" 1200 | klaw "^1.3.1" 1201 | 1202 | fs-extra@^4.0.1: 1203 | version "4.0.3" 1204 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" 1205 | dependencies: 1206 | graceful-fs "^4.1.2" 1207 | jsonfile "^4.0.0" 1208 | universalify "^0.1.0" 1209 | 1210 | fs-extra@^6.0.1: 1211 | version "6.0.1" 1212 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" 1213 | dependencies: 1214 | graceful-fs "^4.1.2" 1215 | jsonfile "^4.0.0" 1216 | universalify "^0.1.0" 1217 | 1218 | fs-extra@^8.1.0: 1219 | version "8.1.0" 1220 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" 1221 | dependencies: 1222 | graceful-fs "^4.2.0" 1223 | jsonfile "^4.0.0" 1224 | universalify "^0.1.0" 1225 | 1226 | fs.realpath@^1.0.0: 1227 | version "1.0.0" 1228 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1229 | 1230 | fstream@^1.0.0, fstream@^1.0.2: 1231 | version "1.0.11" 1232 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 1233 | dependencies: 1234 | graceful-fs "^4.1.2" 1235 | inherits "~2.0.0" 1236 | mkdirp ">=0.5 0" 1237 | rimraf "2" 1238 | 1239 | gauge@~2.7.1: 1240 | version "2.7.4" 1241 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1242 | dependencies: 1243 | aproba "^1.0.3" 1244 | console-control-strings "^1.0.0" 1245 | has-unicode "^2.0.0" 1246 | object-assign "^4.1.0" 1247 | signal-exit "^3.0.0" 1248 | string-width "^1.0.1" 1249 | strip-ansi "^3.0.1" 1250 | wide-align "^1.1.0" 1251 | 1252 | gaze@^1.0.0, gaze@~1.1.2: 1253 | version "1.1.2" 1254 | resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" 1255 | dependencies: 1256 | globule "^1.0.0" 1257 | 1258 | get-caller-file@^1.0.1: 1259 | version "1.0.2" 1260 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1261 | 1262 | get-stdin@^4.0.1: 1263 | version "4.0.1" 1264 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1265 | 1266 | get-stream@^4.1.0: 1267 | version "4.1.0" 1268 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1269 | dependencies: 1270 | pump "^3.0.0" 1271 | 1272 | get-stream@^5.1.0: 1273 | version "5.2.0" 1274 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" 1275 | dependencies: 1276 | pump "^3.0.0" 1277 | 1278 | getobject@~0.1.0: 1279 | version "0.1.0" 1280 | resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" 1281 | 1282 | getpass@^0.1.1: 1283 | version "0.1.7" 1284 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1285 | dependencies: 1286 | assert-plus "^1.0.0" 1287 | 1288 | glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: 1289 | version "7.1.1" 1290 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 1291 | dependencies: 1292 | fs.realpath "^1.0.0" 1293 | inflight "^1.0.4" 1294 | inherits "2" 1295 | minimatch "^3.0.2" 1296 | once "^1.3.0" 1297 | path-is-absolute "^1.0.0" 1298 | 1299 | glob@^6.0.1: 1300 | version "6.0.4" 1301 | resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" 1302 | dependencies: 1303 | inflight "^1.0.4" 1304 | inherits "2" 1305 | minimatch "2 || 3" 1306 | once "^1.3.0" 1307 | path-is-absolute "^1.0.0" 1308 | 1309 | glob@~5.0.0: 1310 | version "5.0.15" 1311 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 1312 | dependencies: 1313 | inflight "^1.0.4" 1314 | inherits "2" 1315 | minimatch "2 || 3" 1316 | once "^1.3.0" 1317 | path-is-absolute "^1.0.0" 1318 | 1319 | glob@~7.0.0: 1320 | version "7.0.6" 1321 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" 1322 | dependencies: 1323 | fs.realpath "^1.0.0" 1324 | inflight "^1.0.4" 1325 | inherits "2" 1326 | minimatch "^3.0.2" 1327 | once "^1.3.0" 1328 | path-is-absolute "^1.0.0" 1329 | 1330 | global-agent@^2.0.2: 1331 | version "2.1.12" 1332 | resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195" 1333 | dependencies: 1334 | boolean "^3.0.1" 1335 | core-js "^3.6.5" 1336 | es6-error "^4.1.1" 1337 | matcher "^3.0.0" 1338 | roarr "^2.15.3" 1339 | semver "^7.3.2" 1340 | serialize-error "^7.0.1" 1341 | 1342 | global-tunnel-ng@^2.7.1: 1343 | version "2.7.1" 1344 | resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" 1345 | dependencies: 1346 | encodeurl "^1.0.2" 1347 | lodash "^4.17.10" 1348 | npm-conf "^1.1.3" 1349 | tunnel "^0.0.6" 1350 | 1351 | globalthis@^1.0.1: 1352 | version "1.0.1" 1353 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9" 1354 | dependencies: 1355 | define-properties "^1.1.3" 1356 | 1357 | globule@^1.0.0: 1358 | version "1.1.0" 1359 | resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" 1360 | dependencies: 1361 | glob "~7.1.1" 1362 | lodash "~4.16.4" 1363 | minimatch "~3.0.2" 1364 | 1365 | got@^5.0.0: 1366 | version "5.7.1" 1367 | resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" 1368 | dependencies: 1369 | create-error-class "^3.0.1" 1370 | duplexer2 "^0.1.4" 1371 | is-redirect "^1.0.0" 1372 | is-retry-allowed "^1.0.0" 1373 | is-stream "^1.0.0" 1374 | lowercase-keys "^1.0.0" 1375 | node-status-codes "^1.0.0" 1376 | object-assign "^4.0.1" 1377 | parse-json "^2.1.0" 1378 | pinkie-promise "^2.0.0" 1379 | read-all-stream "^3.0.0" 1380 | readable-stream "^2.0.5" 1381 | timed-out "^3.0.0" 1382 | unzip-response "^1.0.2" 1383 | url-parse-lax "^1.0.0" 1384 | 1385 | got@^9.6.0: 1386 | version "9.6.0" 1387 | resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" 1388 | dependencies: 1389 | "@sindresorhus/is" "^0.14.0" 1390 | "@szmarczak/http-timer" "^1.1.2" 1391 | cacheable-request "^6.0.0" 1392 | decompress-response "^3.3.0" 1393 | duplexer3 "^0.1.4" 1394 | get-stream "^4.1.0" 1395 | lowercase-keys "^1.0.1" 1396 | mimic-response "^1.0.1" 1397 | p-cancelable "^1.0.0" 1398 | to-readable-stream "^1.0.0" 1399 | url-parse-lax "^3.0.0" 1400 | 1401 | graceful-fs@^4.1.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: 1402 | version "4.1.11" 1403 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1404 | 1405 | graceful-fs@^4.2.0: 1406 | version "4.2.4" 1407 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 1408 | 1409 | "graceful-readlink@>= 1.0.0": 1410 | version "1.0.1" 1411 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 1412 | 1413 | grapheme-splitter@^1.0.2: 1414 | version "1.0.4" 1415 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" 1416 | 1417 | growl@1.9.2: 1418 | version "1.9.2" 1419 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 1420 | 1421 | grunt-cli@~1.2.0: 1422 | version "1.2.0" 1423 | resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" 1424 | dependencies: 1425 | findup-sync "~0.3.0" 1426 | grunt-known-options "~1.1.0" 1427 | nopt "~3.0.6" 1428 | resolve "~1.1.0" 1429 | 1430 | grunt-contrib-clean@^1.0.0: 1431 | version "1.1.0" 1432 | resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz#564abf2d0378a983a15b9e3f30ee75b738c40638" 1433 | dependencies: 1434 | async "^1.5.2" 1435 | rimraf "^2.5.1" 1436 | 1437 | grunt-contrib-watch@^1.0.0: 1438 | version "1.0.0" 1439 | resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" 1440 | dependencies: 1441 | async "^1.5.0" 1442 | gaze "^1.0.0" 1443 | lodash "^3.10.1" 1444 | tiny-lr "^0.2.1" 1445 | 1446 | grunt-known-options@~1.1.0: 1447 | version "1.1.0" 1448 | resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" 1449 | 1450 | grunt-legacy-log-utils@~1.0.0: 1451 | version "1.0.0" 1452 | resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" 1453 | dependencies: 1454 | chalk "~1.1.1" 1455 | lodash "~4.3.0" 1456 | 1457 | grunt-legacy-log@~1.0.0: 1458 | version "1.0.0" 1459 | resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz#fb86f1809847bc07dc47843f9ecd6cacb62df2d5" 1460 | dependencies: 1461 | colors "~1.1.2" 1462 | grunt-legacy-log-utils "~1.0.0" 1463 | hooker "~0.2.3" 1464 | lodash "~3.10.1" 1465 | underscore.string "~3.2.3" 1466 | 1467 | grunt-legacy-util@~1.0.0: 1468 | version "1.0.0" 1469 | resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" 1470 | dependencies: 1471 | async "~1.5.2" 1472 | exit "~0.1.1" 1473 | getobject "~0.1.0" 1474 | hooker "~0.2.3" 1475 | lodash "~4.3.0" 1476 | underscore.string "~3.2.3" 1477 | which "~1.2.1" 1478 | 1479 | grunt-sass@^1.0.0: 1480 | version "1.2.1" 1481 | resolved "https://registry.yarnpkg.com/grunt-sass/-/grunt-sass-1.2.1.tgz#fb87b6caac46fb32d45177fd2e4b6ff7468c1919" 1482 | dependencies: 1483 | each-async "^1.0.0" 1484 | node-sass "^3.7.0" 1485 | object-assign "^4.0.1" 1486 | 1487 | grunt-scss-lint@^0.3.8: 1488 | version "0.3.8" 1489 | resolved "https://registry.yarnpkg.com/grunt-scss-lint/-/grunt-scss-lint-0.3.8.tgz#2e19cdd430ccd254608f5d8fbe21ce9bb2ebd9c5" 1490 | dependencies: 1491 | chalk "^1.0.0" 1492 | lodash "^3.6.0" 1493 | which "^1.1.1" 1494 | xmlbuilder "^2.6.2" 1495 | 1496 | grunt@^1.0.1: 1497 | version "1.0.1" 1498 | resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.1.tgz#e8778764e944b18f32bb0f10b9078475c9dfb56b" 1499 | dependencies: 1500 | coffee-script "~1.10.0" 1501 | dateformat "~1.0.12" 1502 | eventemitter2 "~0.4.13" 1503 | exit "~0.1.1" 1504 | findup-sync "~0.3.0" 1505 | glob "~7.0.0" 1506 | grunt-cli "~1.2.0" 1507 | grunt-known-options "~1.1.0" 1508 | grunt-legacy-log "~1.0.0" 1509 | grunt-legacy-util "~1.0.0" 1510 | iconv-lite "~0.4.13" 1511 | js-yaml "~3.5.2" 1512 | minimatch "~3.0.0" 1513 | nopt "~3.0.6" 1514 | path-is-absolute "~1.0.0" 1515 | rimraf "~2.2.8" 1516 | 1517 | har-schema@^1.0.5: 1518 | version "1.0.5" 1519 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1520 | 1521 | har-schema@^2.0.0: 1522 | version "2.0.0" 1523 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1524 | 1525 | har-validator@~4.2.1: 1526 | version "4.2.1" 1527 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1528 | dependencies: 1529 | ajv "^4.9.1" 1530 | har-schema "^1.0.5" 1531 | 1532 | har-validator@~5.1.3: 1533 | version "5.1.3" 1534 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 1535 | dependencies: 1536 | ajv "^6.5.5" 1537 | har-schema "^2.0.0" 1538 | 1539 | has-ansi@^2.0.0: 1540 | version "2.0.0" 1541 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1542 | dependencies: 1543 | ansi-regex "^2.0.0" 1544 | 1545 | has-flag@^1.0.0: 1546 | version "1.0.0" 1547 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1548 | 1549 | has-flag@^2.0.0: 1550 | version "2.0.0" 1551 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1552 | 1553 | has-flag@^3.0.0: 1554 | version "3.0.0" 1555 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1556 | 1557 | has-unicode@^2.0.0: 1558 | version "2.0.1" 1559 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1560 | 1561 | hawk@~3.1.3: 1562 | version "3.1.3" 1563 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1564 | dependencies: 1565 | boom "2.x.x" 1566 | cryptiles "2.x.x" 1567 | hoek "2.x.x" 1568 | sntp "1.x.x" 1569 | 1570 | he@1.1.1: 1571 | version "1.1.1" 1572 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 1573 | 1574 | hoek@2.x.x: 1575 | version "2.16.3" 1576 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1577 | 1578 | home-path@^1.0.1: 1579 | version "1.0.5" 1580 | resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f" 1581 | 1582 | hooker@~0.2.3: 1583 | version "0.2.3" 1584 | resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" 1585 | 1586 | hosted-git-info@^2.1.4, hosted-git-info@^2.1.5: 1587 | version "2.4.2" 1588 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" 1589 | 1590 | http-cache-semantics@^4.0.0: 1591 | version "4.1.0" 1592 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" 1593 | 1594 | http-errors@~1.3.1: 1595 | version "1.3.1" 1596 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" 1597 | dependencies: 1598 | inherits "~2.0.1" 1599 | statuses "1" 1600 | 1601 | http-signature@~1.1.0: 1602 | version "1.1.1" 1603 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1604 | dependencies: 1605 | assert-plus "^0.2.0" 1606 | jsprim "^1.2.2" 1607 | sshpk "^1.7.0" 1608 | 1609 | http-signature@~1.2.0: 1610 | version "1.2.0" 1611 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1612 | dependencies: 1613 | assert-plus "^1.0.0" 1614 | jsprim "^1.2.2" 1615 | sshpk "^1.7.0" 1616 | 1617 | iconv-lite@0.4.13: 1618 | version "0.4.13" 1619 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" 1620 | 1621 | iconv-lite@^0.4.17: 1622 | version "0.4.24" 1623 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1624 | dependencies: 1625 | safer-buffer ">= 2.1.2 < 3" 1626 | 1627 | iconv-lite@~0.4.13: 1628 | version "0.4.17" 1629 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" 1630 | 1631 | imurmurhash@^0.1.4: 1632 | version "0.1.4" 1633 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1634 | 1635 | in-publish@^2.0.0: 1636 | version "2.0.0" 1637 | resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" 1638 | 1639 | indent-string@^2.1.0: 1640 | version "2.1.0" 1641 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1642 | dependencies: 1643 | repeating "^2.0.0" 1644 | 1645 | inflight@^1.0.4: 1646 | version "1.0.6" 1647 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1648 | dependencies: 1649 | once "^1.3.0" 1650 | wrappy "1" 1651 | 1652 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: 1653 | version "2.0.3" 1654 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1655 | 1656 | inherits@~2.0.3: 1657 | version "2.0.4" 1658 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1659 | 1660 | ini@^1.3.4, ini@~1.3.0: 1661 | version "1.3.7" 1662 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" 1663 | 1664 | inquirer@~3.3.0: 1665 | version "3.3.0" 1666 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" 1667 | dependencies: 1668 | ansi-escapes "^3.0.0" 1669 | chalk "^2.0.0" 1670 | cli-cursor "^2.1.0" 1671 | cli-width "^2.0.0" 1672 | external-editor "^2.0.4" 1673 | figures "^2.0.0" 1674 | lodash "^4.3.0" 1675 | mute-stream "0.0.7" 1676 | run-async "^2.2.0" 1677 | rx-lite "^4.0.8" 1678 | rx-lite-aggregates "^4.0.8" 1679 | string-width "^2.1.0" 1680 | strip-ansi "^4.0.0" 1681 | through "^2.3.6" 1682 | 1683 | invert-kv@^1.0.0: 1684 | version "1.0.0" 1685 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1686 | 1687 | is-arrayish@^0.2.1: 1688 | version "0.2.1" 1689 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1690 | 1691 | is-builtin-module@^1.0.0: 1692 | version "1.0.0" 1693 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1694 | dependencies: 1695 | builtin-modules "^1.0.0" 1696 | 1697 | is-finite@^1.0.0, is-finite@^1.0.1: 1698 | version "1.0.2" 1699 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1700 | dependencies: 1701 | number-is-nan "^1.0.0" 1702 | 1703 | is-fullwidth-code-point@^1.0.0: 1704 | version "1.0.0" 1705 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1706 | dependencies: 1707 | number-is-nan "^1.0.0" 1708 | 1709 | is-fullwidth-code-point@^2.0.0: 1710 | version "2.0.0" 1711 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1712 | 1713 | is-npm@^1.0.0: 1714 | version "1.0.0" 1715 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" 1716 | 1717 | is-obj@^1.0.0: 1718 | version "1.0.1" 1719 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1720 | 1721 | is-promise@^2.1.0: 1722 | version "2.1.0" 1723 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 1724 | 1725 | is-redirect@^1.0.0: 1726 | version "1.0.0" 1727 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" 1728 | 1729 | is-retry-allowed@^1.0.0: 1730 | version "1.1.0" 1731 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 1732 | 1733 | is-stream@^1.0.0: 1734 | version "1.1.0" 1735 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1736 | 1737 | is-typedarray@~1.0.0: 1738 | version "1.0.0" 1739 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1740 | 1741 | is-utf8@^0.2.0: 1742 | version "0.2.1" 1743 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1744 | 1745 | isarray@0.0.1: 1746 | version "0.0.1" 1747 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1748 | 1749 | isarray@~1.0.0: 1750 | version "1.0.0" 1751 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1752 | 1753 | isbinaryfile@^3.0.1: 1754 | version "3.0.2" 1755 | resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" 1756 | 1757 | isexe@^2.0.0: 1758 | version "2.0.0" 1759 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1760 | 1761 | isstream@~0.1.2: 1762 | version "0.1.2" 1763 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1764 | 1765 | jju@^1.1.0: 1766 | version "1.3.0" 1767 | resolved "https://registry.yarnpkg.com/jju/-/jju-1.3.0.tgz#dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa" 1768 | 1769 | jodid25519@^1.0.0: 1770 | version "1.0.2" 1771 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 1772 | dependencies: 1773 | jsbn "~0.1.0" 1774 | 1775 | js-base64@^2.1.8, js-base64@^2.1.9: 1776 | version "2.1.9" 1777 | resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" 1778 | 1779 | js-yaml@^3.6.1: 1780 | version "3.8.3" 1781 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" 1782 | dependencies: 1783 | argparse "^1.0.7" 1784 | esprima "^3.1.1" 1785 | 1786 | js-yaml@^3.8.4: 1787 | version "3.14.0" 1788 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" 1789 | dependencies: 1790 | argparse "^1.0.7" 1791 | esprima "^4.0.0" 1792 | 1793 | js-yaml@~3.5.2: 1794 | version "3.5.5" 1795 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" 1796 | dependencies: 1797 | argparse "^1.0.2" 1798 | esprima "^2.6.0" 1799 | 1800 | jsbn@~0.1.0: 1801 | version "0.1.1" 1802 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1803 | 1804 | json-buffer@3.0.0: 1805 | version "3.0.0" 1806 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 1807 | 1808 | json-parse-helpfulerror@^1.0.2: 1809 | version "1.0.3" 1810 | resolved "https://registry.yarnpkg.com/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" 1811 | dependencies: 1812 | jju "^1.1.0" 1813 | 1814 | json-schema-traverse@^0.4.1: 1815 | version "0.4.1" 1816 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1817 | 1818 | json-schema@0.2.3: 1819 | version "0.2.3" 1820 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1821 | 1822 | json-stable-stringify@^1.0.1: 1823 | version "1.0.1" 1824 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1825 | dependencies: 1826 | jsonify "~0.0.0" 1827 | 1828 | json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: 1829 | version "5.0.1" 1830 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1831 | 1832 | json3@3.3.2: 1833 | version "3.3.2" 1834 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 1835 | 1836 | jsonfile@^2.4.0: 1837 | version "2.4.0" 1838 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" 1839 | optionalDependencies: 1840 | graceful-fs "^4.1.6" 1841 | 1842 | jsonfile@^4.0.0: 1843 | version "4.0.0" 1844 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 1845 | optionalDependencies: 1846 | graceful-fs "^4.1.6" 1847 | 1848 | jsonify@~0.0.0: 1849 | version "0.0.0" 1850 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1851 | 1852 | jsprim@^1.2.2: 1853 | version "1.4.0" 1854 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" 1855 | dependencies: 1856 | assert-plus "1.0.0" 1857 | extsprintf "1.0.2" 1858 | json-schema "0.2.3" 1859 | verror "1.3.6" 1860 | 1861 | keyv@^3.0.0: 1862 | version "3.1.0" 1863 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" 1864 | dependencies: 1865 | json-buffer "3.0.0" 1866 | 1867 | klaw@^1.3.1: 1868 | version "1.3.1" 1869 | resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" 1870 | optionalDependencies: 1871 | graceful-fs "^4.1.9" 1872 | 1873 | latest-version@^2.0.0: 1874 | version "2.0.0" 1875 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" 1876 | dependencies: 1877 | package-json "^2.0.0" 1878 | 1879 | lazy-req@^1.1.0: 1880 | version "1.1.0" 1881 | resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" 1882 | 1883 | lazystream@^1.0.0: 1884 | version "1.0.0" 1885 | resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" 1886 | dependencies: 1887 | readable-stream "^2.0.5" 1888 | 1889 | lcid@^1.0.0: 1890 | version "1.0.0" 1891 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1892 | dependencies: 1893 | invert-kv "^1.0.0" 1894 | 1895 | livereload-js@^2.2.0: 1896 | version "2.2.2" 1897 | resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2" 1898 | 1899 | load-grunt-tasks@^3.4.0: 1900 | version "3.5.2" 1901 | resolved "https://registry.yarnpkg.com/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz#0728561180fd20ff8a6927505852fc58aaea0c88" 1902 | dependencies: 1903 | arrify "^1.0.0" 1904 | multimatch "^2.0.0" 1905 | pkg-up "^1.0.0" 1906 | resolve-pkg "^0.1.0" 1907 | 1908 | load-json-file@^1.0.0: 1909 | version "1.1.0" 1910 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 1911 | dependencies: 1912 | graceful-fs "^4.1.2" 1913 | parse-json "^2.2.0" 1914 | pify "^2.0.0" 1915 | pinkie-promise "^2.0.0" 1916 | strip-bom "^2.0.0" 1917 | 1918 | lodash._baseassign@^3.0.0: 1919 | version "3.2.0" 1920 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" 1921 | dependencies: 1922 | lodash._basecopy "^3.0.0" 1923 | lodash.keys "^3.0.0" 1924 | 1925 | lodash._basecopy@^3.0.0: 1926 | version "3.0.1" 1927 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 1928 | 1929 | lodash._basecreate@^3.0.0: 1930 | version "3.0.3" 1931 | resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" 1932 | 1933 | lodash._getnative@^3.0.0: 1934 | version "3.9.1" 1935 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 1936 | 1937 | lodash._isiterateecall@^3.0.0: 1938 | version "3.0.9" 1939 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 1940 | 1941 | lodash._reinterpolate@~3.0.0: 1942 | version "3.0.0" 1943 | resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" 1944 | 1945 | lodash.assign@^4.2.0: 1946 | version "4.2.0" 1947 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" 1948 | 1949 | lodash.clonedeep@^4.3.2: 1950 | version "4.5.0" 1951 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 1952 | 1953 | lodash.create@3.1.1: 1954 | version "3.1.1" 1955 | resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" 1956 | dependencies: 1957 | lodash._baseassign "^3.0.0" 1958 | lodash._basecreate "^3.0.0" 1959 | lodash._isiterateecall "^3.0.0" 1960 | 1961 | lodash.isarguments@^3.0.0: 1962 | version "3.1.0" 1963 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 1964 | 1965 | lodash.isarray@^3.0.0: 1966 | version "3.0.4" 1967 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 1968 | 1969 | lodash.keys@^3.0.0: 1970 | version "3.1.2" 1971 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 1972 | dependencies: 1973 | lodash._getnative "^3.0.0" 1974 | lodash.isarguments "^3.0.0" 1975 | lodash.isarray "^3.0.0" 1976 | 1977 | lodash.template@^4.4.0: 1978 | version "4.4.0" 1979 | resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" 1980 | dependencies: 1981 | lodash._reinterpolate "~3.0.0" 1982 | lodash.templatesettings "^4.0.0" 1983 | 1984 | lodash.templatesettings@^4.0.0: 1985 | version "4.1.0" 1986 | resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" 1987 | dependencies: 1988 | lodash._reinterpolate "~3.0.0" 1989 | 1990 | lodash@^3.10.1, lodash@^3.5.0, lodash@^3.6.0, lodash@~3.10.1: 1991 | version "3.10.1" 1992 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" 1993 | 1994 | lodash@^4.0.0, lodash@^4.14.0, lodash@^4.3.0, lodash@^4.8.0: 1995 | version "4.17.4" 1996 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 1997 | 1998 | lodash@^4.17.10: 1999 | version "4.17.20" 2000 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" 2001 | 2002 | lodash@~4.16.4: 2003 | version "4.16.6" 2004 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" 2005 | 2006 | lodash@~4.3.0: 2007 | version "4.3.0" 2008 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" 2009 | 2010 | loud-rejection@^1.0.0: 2011 | version "1.6.0" 2012 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 2013 | dependencies: 2014 | currently-unhandled "^0.4.1" 2015 | signal-exit "^3.0.0" 2016 | 2017 | lowercase-keys@^1.0.0: 2018 | version "1.0.0" 2019 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 2020 | 2021 | lowercase-keys@^1.0.1: 2022 | version "1.0.1" 2023 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 2024 | 2025 | lowercase-keys@^2.0.0: 2026 | version "2.0.0" 2027 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" 2028 | 2029 | lru-cache@^4.0.1: 2030 | version "4.0.2" 2031 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" 2032 | dependencies: 2033 | pseudomap "^1.0.1" 2034 | yallist "^2.0.0" 2035 | 2036 | lru-cache@^6.0.0: 2037 | version "6.0.0" 2038 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2039 | dependencies: 2040 | yallist "^4.0.0" 2041 | 2042 | macaddress@^0.2.7: 2043 | version "0.2.9" 2044 | resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.9.tgz#3579b8b9acd5b96b4553abf0f394185a86813cb3" 2045 | 2046 | map-obj@^1.0.0, map-obj@^1.0.1: 2047 | version "1.0.1" 2048 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 2049 | 2050 | matcher@^3.0.0: 2051 | version "3.0.0" 2052 | resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" 2053 | dependencies: 2054 | escape-string-regexp "^4.0.0" 2055 | 2056 | media-typer@0.3.0: 2057 | version "0.3.0" 2058 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 2059 | 2060 | meow@^3.1.0, meow@^3.3.0, meow@^3.7.0: 2061 | version "3.7.0" 2062 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 2063 | dependencies: 2064 | camelcase-keys "^2.0.0" 2065 | decamelize "^1.1.2" 2066 | loud-rejection "^1.0.0" 2067 | map-obj "^1.0.1" 2068 | minimist "^1.1.3" 2069 | normalize-package-data "^2.3.4" 2070 | object-assign "^4.0.1" 2071 | read-pkg-up "^1.0.1" 2072 | redent "^1.0.0" 2073 | trim-newlines "^1.0.0" 2074 | 2075 | mime-db@1.44.0: 2076 | version "1.44.0" 2077 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" 2078 | 2079 | mime-db@~1.27.0: 2080 | version "1.27.0" 2081 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" 2082 | 2083 | mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.7: 2084 | version "2.1.15" 2085 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" 2086 | dependencies: 2087 | mime-db "~1.27.0" 2088 | 2089 | mime-types@~2.1.19: 2090 | version "2.1.27" 2091 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" 2092 | dependencies: 2093 | mime-db "1.44.0" 2094 | 2095 | mime@^1.3.4: 2096 | version "1.3.4" 2097 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" 2098 | 2099 | mimic-fn@^1.0.0: 2100 | version "1.1.0" 2101 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 2102 | 2103 | mimic-response@^1.0.0, mimic-response@^1.0.1: 2104 | version "1.0.1" 2105 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 2106 | 2107 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@~3.0.0, minimatch@~3.0.2: 2108 | version "3.0.3" 2109 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 2110 | dependencies: 2111 | brace-expansion "^1.0.0" 2112 | 2113 | minimist@0.0.8: 2114 | version "0.0.8" 2115 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2116 | 2117 | minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: 2118 | version "1.2.0" 2119 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2120 | 2121 | minimist@^1.2.5: 2122 | version "1.2.5" 2123 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 2124 | 2125 | minimist@~0.0.1: 2126 | version "0.0.10" 2127 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 2128 | 2129 | mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: 2130 | version "0.5.1" 2131 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2132 | dependencies: 2133 | minimist "0.0.8" 2134 | 2135 | mkdirp@^0.5.4: 2136 | version "0.5.5" 2137 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 2138 | dependencies: 2139 | minimist "^1.2.5" 2140 | 2141 | mocha@^3.4.2: 2142 | version "3.5.3" 2143 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d" 2144 | dependencies: 2145 | browser-stdout "1.3.0" 2146 | commander "2.9.0" 2147 | debug "2.6.8" 2148 | diff "3.2.0" 2149 | escape-string-regexp "1.0.5" 2150 | glob "7.1.1" 2151 | growl "1.9.2" 2152 | he "1.1.1" 2153 | json3 "3.3.2" 2154 | lodash.create "3.1.1" 2155 | mkdirp "0.5.1" 2156 | supports-color "3.1.2" 2157 | 2158 | ms@0.7.1: 2159 | version "0.7.1" 2160 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 2161 | 2162 | ms@0.7.3: 2163 | version "0.7.3" 2164 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" 2165 | 2166 | ms@2.0.0: 2167 | version "2.0.0" 2168 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2169 | 2170 | ms@2.1.2, ms@^2.1.1: 2171 | version "2.1.2" 2172 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2173 | 2174 | multimatch@^2.0.0: 2175 | version "2.1.0" 2176 | resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" 2177 | dependencies: 2178 | array-differ "^1.0.0" 2179 | array-union "^1.0.1" 2180 | arrify "^1.0.0" 2181 | minimatch "^3.0.0" 2182 | 2183 | mute-stream@0.0.7: 2184 | version "0.0.7" 2185 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 2186 | 2187 | mv@^2.0.3: 2188 | version "2.1.1" 2189 | resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" 2190 | dependencies: 2191 | mkdirp "~0.5.1" 2192 | ncp "~2.0.0" 2193 | rimraf "~2.4.0" 2194 | 2195 | nan@^2.3.2: 2196 | version "2.6.2" 2197 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" 2198 | 2199 | ncp@~2.0.0: 2200 | version "2.0.0" 2201 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" 2202 | 2203 | node-emoji@^1.4.1: 2204 | version "1.5.1" 2205 | resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.5.1.tgz#fd918e412769bf8c448051238233840b2aff16a1" 2206 | dependencies: 2207 | string.prototype.codepointat "^0.2.0" 2208 | 2209 | node-gyp@^3.3.1: 2210 | version "3.6.1" 2211 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.1.tgz#19561067ff185464aded478212681f47fd578cbc" 2212 | dependencies: 2213 | fstream "^1.0.0" 2214 | glob "^7.0.3" 2215 | graceful-fs "^4.1.2" 2216 | minimatch "^3.0.2" 2217 | mkdirp "^0.5.0" 2218 | nopt "2 || 3" 2219 | npmlog "0 || 1 || 2 || 3 || 4" 2220 | osenv "0" 2221 | request "2" 2222 | rimraf "2" 2223 | semver "~5.3.0" 2224 | tar "^2.0.0" 2225 | which "1" 2226 | 2227 | node-sass@^3.7.0: 2228 | version "3.13.1" 2229 | resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.13.1.tgz#7240fbbff2396304b4223527ed3020589c004fc2" 2230 | dependencies: 2231 | async-foreach "^0.1.3" 2232 | chalk "^1.1.1" 2233 | cross-spawn "^3.0.0" 2234 | gaze "^1.0.0" 2235 | get-stdin "^4.0.1" 2236 | glob "^7.0.3" 2237 | in-publish "^2.0.0" 2238 | lodash.assign "^4.2.0" 2239 | lodash.clonedeep "^4.3.2" 2240 | meow "^3.7.0" 2241 | mkdirp "^0.5.1" 2242 | nan "^2.3.2" 2243 | node-gyp "^3.3.1" 2244 | npmlog "^4.0.0" 2245 | request "^2.61.0" 2246 | sass-graph "^2.1.1" 2247 | 2248 | node-status-codes@^1.0.0: 2249 | version "1.0.0" 2250 | resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" 2251 | 2252 | "nopt@2 || 3", nopt@~3.0.6: 2253 | version "3.0.6" 2254 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 2255 | dependencies: 2256 | abbrev "1" 2257 | 2258 | normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: 2259 | version "2.3.8" 2260 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" 2261 | dependencies: 2262 | hosted-git-info "^2.1.4" 2263 | is-builtin-module "^1.0.0" 2264 | semver "2 || 3 || 4 || 5" 2265 | validate-npm-package-license "^3.0.1" 2266 | 2267 | normalize-path@^2.0.0: 2268 | version "2.1.1" 2269 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2270 | dependencies: 2271 | remove-trailing-separator "^1.0.1" 2272 | 2273 | normalize-range@^0.1.2: 2274 | version "0.1.2" 2275 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 2276 | 2277 | normalize-url@^4.1.0: 2278 | version "4.5.0" 2279 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" 2280 | 2281 | npm-conf@^1.1.3: 2282 | version "1.1.3" 2283 | resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" 2284 | dependencies: 2285 | config-chain "^1.1.11" 2286 | pify "^3.0.0" 2287 | 2288 | npm-install-package@~2.1.0: 2289 | version "2.1.0" 2290 | resolved "https://registry.yarnpkg.com/npm-install-package/-/npm-install-package-2.1.0.tgz#d7efe3cfcd7ab00614b896ea53119dc9ab259125" 2291 | 2292 | "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: 2293 | version "4.0.2" 2294 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" 2295 | dependencies: 2296 | are-we-there-yet "~1.1.2" 2297 | console-control-strings "~1.1.0" 2298 | gauge "~2.7.1" 2299 | set-blocking "~2.0.0" 2300 | 2301 | nugget@^1.5.1: 2302 | version "1.6.2" 2303 | resolved "https://registry.yarnpkg.com/nugget/-/nugget-1.6.2.tgz#88ca6e03ba5706a99173f5da0902593d6bcae107" 2304 | dependencies: 2305 | debug "^2.1.3" 2306 | minimist "^1.1.0" 2307 | pretty-bytes "^1.0.2" 2308 | progress-stream "^1.1.0" 2309 | request "^2.45.0" 2310 | single-line-log "^0.4.1" 2311 | throttleit "0.0.2" 2312 | 2313 | nugget@^2.0.1: 2314 | version "2.0.1" 2315 | resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0" 2316 | dependencies: 2317 | debug "^2.1.3" 2318 | minimist "^1.1.0" 2319 | pretty-bytes "^1.0.2" 2320 | progress-stream "^1.1.0" 2321 | request "^2.45.0" 2322 | single-line-log "^1.1.2" 2323 | throttleit "0.0.2" 2324 | 2325 | num2fraction@^1.2.2: 2326 | version "1.2.2" 2327 | resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" 2328 | 2329 | number-is-nan@^1.0.0: 2330 | version "1.0.1" 2331 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2332 | 2333 | oauth-sign@~0.8.1: 2334 | version "0.8.2" 2335 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 2336 | 2337 | oauth-sign@~0.9.0: 2338 | version "0.9.0" 2339 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 2340 | 2341 | object-assign@^4.0.1, object-assign@^4.1.0: 2342 | version "4.1.1" 2343 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2344 | 2345 | object-keys@^1.0.12: 2346 | version "1.1.1" 2347 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2348 | 2349 | object-keys@~0.4.0: 2350 | version "0.4.0" 2351 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" 2352 | 2353 | on-finished@~2.3.0: 2354 | version "2.3.0" 2355 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 2356 | dependencies: 2357 | ee-first "1.1.1" 2358 | 2359 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2360 | version "1.4.0" 2361 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2362 | dependencies: 2363 | wrappy "1" 2364 | 2365 | onetime@^1.0.0: 2366 | version "1.1.0" 2367 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 2368 | 2369 | onetime@^2.0.0: 2370 | version "2.0.1" 2371 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 2372 | dependencies: 2373 | mimic-fn "^1.0.0" 2374 | 2375 | optimist@~0.6.1: 2376 | version "0.6.1" 2377 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 2378 | dependencies: 2379 | minimist "~0.0.1" 2380 | wordwrap "~0.0.2" 2381 | 2382 | os-homedir@^1.0.0: 2383 | version "1.0.2" 2384 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2385 | 2386 | os-locale@^1.4.0: 2387 | version "1.4.0" 2388 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 2389 | dependencies: 2390 | lcid "^1.0.0" 2391 | 2392 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: 2393 | version "1.0.2" 2394 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2395 | 2396 | osenv@0, osenv@^0.1.0: 2397 | version "0.1.4" 2398 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 2399 | dependencies: 2400 | os-homedir "^1.0.0" 2401 | os-tmpdir "^1.0.0" 2402 | 2403 | p-cancelable@^1.0.0: 2404 | version "1.1.0" 2405 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" 2406 | 2407 | package-json@^2.0.0: 2408 | version "2.4.0" 2409 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" 2410 | dependencies: 2411 | got "^5.0.0" 2412 | registry-auth-token "^3.0.1" 2413 | registry-url "^3.0.3" 2414 | semver "^5.1.0" 2415 | 2416 | parse-color@^1.0.0: 2417 | version "1.0.0" 2418 | resolved "https://registry.yarnpkg.com/parse-color/-/parse-color-1.0.0.tgz#7b748b95a83f03f16a94f535e52d7f3d94658619" 2419 | dependencies: 2420 | color-convert "~0.5.0" 2421 | 2422 | parse-json@^2.1.0, parse-json@^2.2.0: 2423 | version "2.2.0" 2424 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2425 | dependencies: 2426 | error-ex "^1.2.0" 2427 | 2428 | parse-ms@^1.0.0: 2429 | version "1.0.1" 2430 | resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" 2431 | 2432 | parseurl@~1.3.0: 2433 | version "1.3.1" 2434 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" 2435 | 2436 | path-exists@^1.0.0: 2437 | version "1.0.0" 2438 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081" 2439 | 2440 | path-exists@^2.0.0: 2441 | version "2.1.0" 2442 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2443 | dependencies: 2444 | pinkie-promise "^2.0.0" 2445 | 2446 | path-exists@^3.0.0: 2447 | version "3.0.0" 2448 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2449 | 2450 | path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: 2451 | version "1.0.1" 2452 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2453 | 2454 | path-type@^1.0.0: 2455 | version "1.1.0" 2456 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2457 | dependencies: 2458 | graceful-fs "^4.1.2" 2459 | pify "^2.0.0" 2460 | pinkie-promise "^2.0.0" 2461 | 2462 | pend@~1.2.0: 2463 | version "1.2.0" 2464 | resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" 2465 | 2466 | performance-now@^0.2.0: 2467 | version "0.2.0" 2468 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 2469 | 2470 | performance-now@^2.1.0: 2471 | version "2.1.0" 2472 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 2473 | 2474 | pify@^2.0.0: 2475 | version "2.3.0" 2476 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2477 | 2478 | pify@^3.0.0: 2479 | version "3.0.0" 2480 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2481 | 2482 | pinkie-promise@^2.0.0: 2483 | version "2.0.1" 2484 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2485 | dependencies: 2486 | pinkie "^2.0.0" 2487 | 2488 | pinkie@^2.0.0: 2489 | version "2.0.4" 2490 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2491 | 2492 | pkg-up@^1.0.0: 2493 | version "1.0.0" 2494 | resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" 2495 | dependencies: 2496 | find-up "^1.0.0" 2497 | 2498 | plist@^2.0.1: 2499 | version "2.0.1" 2500 | resolved "https://registry.yarnpkg.com/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b" 2501 | dependencies: 2502 | base64-js "1.1.2" 2503 | xmlbuilder "8.2.2" 2504 | xmldom "0.1.x" 2505 | 2506 | plur@^1.0.0: 2507 | version "1.0.0" 2508 | resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" 2509 | 2510 | postcss-value-parser@^3.2.3: 2511 | version "3.3.0" 2512 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" 2513 | 2514 | postcss@^5.2.16: 2515 | version "5.2.17" 2516 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" 2517 | dependencies: 2518 | chalk "^1.1.3" 2519 | js-base64 "^2.1.9" 2520 | source-map "^0.5.6" 2521 | supports-color "^3.2.3" 2522 | 2523 | prepend-http@^1.0.1: 2524 | version "1.0.4" 2525 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 2526 | 2527 | prepend-http@^2.0.0: 2528 | version "2.0.0" 2529 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 2530 | 2531 | pretty-bytes@^1.0.2: 2532 | version "1.0.4" 2533 | resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" 2534 | dependencies: 2535 | get-stdin "^4.0.1" 2536 | meow "^3.1.0" 2537 | 2538 | pretty-ms@^2.1.0: 2539 | version "2.1.0" 2540 | resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" 2541 | dependencies: 2542 | is-finite "^1.0.1" 2543 | parse-ms "^1.0.0" 2544 | plur "^1.0.0" 2545 | 2546 | process-nextick-args@~2.0.0: 2547 | version "2.0.1" 2548 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 2549 | 2550 | progress-stream@^1.1.0, progress-stream@^1.2.0: 2551 | version "1.2.0" 2552 | resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77" 2553 | dependencies: 2554 | speedometer "~0.1.2" 2555 | through2 "~0.2.3" 2556 | 2557 | progress@^1.1.8: 2558 | version "1.1.8" 2559 | resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" 2560 | 2561 | progress@^2.0.3: 2562 | version "2.0.3" 2563 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 2564 | 2565 | proto-list@~1.2.1: 2566 | version "1.2.4" 2567 | resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" 2568 | 2569 | pseudomap@^1.0.1: 2570 | version "1.0.2" 2571 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2572 | 2573 | psl@^1.1.28: 2574 | version "1.8.0" 2575 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 2576 | 2577 | pump@^3.0.0: 2578 | version "3.0.0" 2579 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2580 | dependencies: 2581 | end-of-stream "^1.1.0" 2582 | once "^1.3.1" 2583 | 2584 | punycode@1.3.2: 2585 | version "1.3.2" 2586 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2587 | 2588 | punycode@^1.4.1: 2589 | version "1.4.1" 2590 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2591 | 2592 | punycode@^2.1.0, punycode@^2.1.1: 2593 | version "2.1.1" 2594 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2595 | 2596 | q@~1.5.0: 2597 | version "1.5.0" 2598 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" 2599 | 2600 | qs@5.2.0: 2601 | version "5.2.0" 2602 | resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz#a9f31142af468cb72b25b30136ba2456834916be" 2603 | 2604 | qs@~5.1.0: 2605 | version "5.1.0" 2606 | resolved "https://registry.yarnpkg.com/qs/-/qs-5.1.0.tgz#4d932e5c7ea411cca76a312d39a606200fd50cd9" 2607 | 2608 | qs@~6.4.0: 2609 | version "6.4.0" 2610 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 2611 | 2612 | qs@~6.5.2: 2613 | version "6.5.2" 2614 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 2615 | 2616 | querystring@0.2.0: 2617 | version "0.2.0" 2618 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2619 | 2620 | raw-body@~2.1.5: 2621 | version "2.1.7" 2622 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" 2623 | dependencies: 2624 | bytes "2.4.0" 2625 | iconv-lite "0.4.13" 2626 | unpipe "1.0.0" 2627 | 2628 | rc@^1.0.1, rc@^1.1.2, rc@^1.1.6: 2629 | version "1.2.1" 2630 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" 2631 | dependencies: 2632 | deep-extend "~0.4.0" 2633 | ini "~1.3.0" 2634 | minimist "^1.2.0" 2635 | strip-json-comments "~2.0.1" 2636 | 2637 | rc@^1.2.1: 2638 | version "1.2.8" 2639 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2640 | dependencies: 2641 | deep-extend "^0.6.0" 2642 | ini "~1.3.0" 2643 | minimist "^1.2.0" 2644 | strip-json-comments "~2.0.1" 2645 | 2646 | read-all-stream@^3.0.0: 2647 | version "3.1.0" 2648 | resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" 2649 | dependencies: 2650 | pinkie-promise "^2.0.0" 2651 | readable-stream "^2.0.0" 2652 | 2653 | read-installed@^4.0.3: 2654 | version "4.0.3" 2655 | resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" 2656 | dependencies: 2657 | debuglog "^1.0.1" 2658 | read-package-json "^2.0.0" 2659 | readdir-scoped-modules "^1.0.0" 2660 | semver "2 || 3 || 4 || 5" 2661 | slide "~1.1.3" 2662 | util-extend "^1.0.1" 2663 | optionalDependencies: 2664 | graceful-fs "^4.1.2" 2665 | 2666 | read-package-json@^2.0.0: 2667 | version "2.0.5" 2668 | resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.5.tgz#f93a64e641529df68a08c64de46389e8a3f88845" 2669 | dependencies: 2670 | glob "^7.1.1" 2671 | json-parse-helpfulerror "^1.0.2" 2672 | normalize-package-data "^2.0.0" 2673 | optionalDependencies: 2674 | graceful-fs "^4.1.2" 2675 | 2676 | read-pkg-up@^1.0.1: 2677 | version "1.0.1" 2678 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 2679 | dependencies: 2680 | find-up "^1.0.0" 2681 | read-pkg "^1.0.0" 2682 | 2683 | read-pkg@^1.0.0: 2684 | version "1.1.0" 2685 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 2686 | dependencies: 2687 | load-json-file "^1.0.0" 2688 | normalize-package-data "^2.3.2" 2689 | path-type "^1.0.0" 2690 | 2691 | readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5: 2692 | version "2.3.7" 2693 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 2694 | dependencies: 2695 | core-util-is "~1.0.0" 2696 | inherits "~2.0.3" 2697 | isarray "~1.0.0" 2698 | process-nextick-args "~2.0.0" 2699 | safe-buffer "~5.1.1" 2700 | string_decoder "~1.1.1" 2701 | util-deprecate "~1.0.1" 2702 | 2703 | readable-stream@~1.1.9: 2704 | version "1.1.14" 2705 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 2706 | dependencies: 2707 | core-util-is "~1.0.0" 2708 | inherits "~2.0.1" 2709 | isarray "0.0.1" 2710 | string_decoder "~0.10.x" 2711 | 2712 | readdir-scoped-modules@^1.0.0: 2713 | version "1.0.2" 2714 | resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" 2715 | dependencies: 2716 | debuglog "^1.0.1" 2717 | dezalgo "^1.0.0" 2718 | graceful-fs "^4.1.2" 2719 | once "^1.3.0" 2720 | 2721 | redent@^1.0.0: 2722 | version "1.0.0" 2723 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 2724 | dependencies: 2725 | indent-string "^2.1.0" 2726 | strip-indent "^1.0.1" 2727 | 2728 | regenerator-runtime@^0.11.0: 2729 | version "0.11.1" 2730 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" 2731 | 2732 | registry-auth-token@^3.0.1: 2733 | version "3.3.1" 2734 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" 2735 | dependencies: 2736 | rc "^1.1.6" 2737 | safe-buffer "^5.0.1" 2738 | 2739 | registry-url@^3.0.3: 2740 | version "3.1.0" 2741 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 2742 | dependencies: 2743 | rc "^1.0.1" 2744 | 2745 | remove-trailing-separator@^1.0.1: 2746 | version "1.0.1" 2747 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" 2748 | 2749 | repeating@^2.0.0: 2750 | version "2.0.1" 2751 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2752 | dependencies: 2753 | is-finite "^1.0.0" 2754 | 2755 | request@2, request@^2.45.0, request@^2.61.0: 2756 | version "2.81.0" 2757 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 2758 | dependencies: 2759 | aws-sign2 "~0.6.0" 2760 | aws4 "^1.2.1" 2761 | caseless "~0.12.0" 2762 | combined-stream "~1.0.5" 2763 | extend "~3.0.0" 2764 | forever-agent "~0.6.1" 2765 | form-data "~2.1.1" 2766 | har-validator "~4.2.1" 2767 | hawk "~3.1.3" 2768 | http-signature "~1.1.0" 2769 | is-typedarray "~1.0.0" 2770 | isstream "~0.1.2" 2771 | json-stringify-safe "~5.0.1" 2772 | mime-types "~2.1.7" 2773 | oauth-sign "~0.8.1" 2774 | performance-now "^0.2.0" 2775 | qs "~6.4.0" 2776 | safe-buffer "^5.0.1" 2777 | stringstream "~0.0.4" 2778 | tough-cookie "~2.3.0" 2779 | tunnel-agent "^0.6.0" 2780 | uuid "^3.0.0" 2781 | 2782 | request@^2.81.0, request@^2.83.0: 2783 | version "2.88.2" 2784 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 2785 | dependencies: 2786 | aws-sign2 "~0.7.0" 2787 | aws4 "^1.8.0" 2788 | caseless "~0.12.0" 2789 | combined-stream "~1.0.6" 2790 | extend "~3.0.2" 2791 | forever-agent "~0.6.1" 2792 | form-data "~2.3.2" 2793 | har-validator "~5.1.3" 2794 | http-signature "~1.2.0" 2795 | is-typedarray "~1.0.0" 2796 | isstream "~0.1.2" 2797 | json-stringify-safe "~5.0.1" 2798 | mime-types "~2.1.19" 2799 | oauth-sign "~0.9.0" 2800 | performance-now "^2.1.0" 2801 | qs "~6.5.2" 2802 | safe-buffer "^5.1.2" 2803 | tough-cookie "~2.5.0" 2804 | tunnel-agent "^0.6.0" 2805 | uuid "^3.3.2" 2806 | 2807 | require-directory@^2.1.1: 2808 | version "2.1.1" 2809 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2810 | 2811 | require-main-filename@^1.0.1: 2812 | version "1.0.1" 2813 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2814 | 2815 | resolve-from@^2.0.0: 2816 | version "2.0.0" 2817 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" 2818 | 2819 | resolve-pkg@^0.1.0: 2820 | version "0.1.0" 2821 | resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-0.1.0.tgz#02cc993410e2936962bd97166a1b077da9725531" 2822 | dependencies: 2823 | resolve-from "^2.0.0" 2824 | 2825 | resolve-url@~0.2.1: 2826 | version "0.2.1" 2827 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 2828 | 2829 | resolve@~1.1.0: 2830 | version "1.1.7" 2831 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 2832 | 2833 | responselike@^1.0.2: 2834 | version "1.0.2" 2835 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 2836 | dependencies: 2837 | lowercase-keys "^1.0.0" 2838 | 2839 | restore-cursor@^1.0.1: 2840 | version "1.0.1" 2841 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 2842 | dependencies: 2843 | exit-hook "^1.0.0" 2844 | onetime "^1.0.0" 2845 | 2846 | restore-cursor@^2.0.0: 2847 | version "2.0.0" 2848 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 2849 | dependencies: 2850 | onetime "^2.0.0" 2851 | signal-exit "^3.0.2" 2852 | 2853 | rgb2hex@^0.1.9: 2854 | version "0.1.10" 2855 | resolved "https://registry.yarnpkg.com/rgb2hex/-/rgb2hex-0.1.10.tgz#4fdd432665273e2d5900434940ceba0a04c8a8a8" 2856 | 2857 | rimraf@2, rimraf@^2.5.1: 2858 | version "2.6.1" 2859 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" 2860 | dependencies: 2861 | glob "^7.0.5" 2862 | 2863 | rimraf@~2.2.8: 2864 | version "2.2.8" 2865 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" 2866 | 2867 | rimraf@~2.4.0: 2868 | version "2.4.5" 2869 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" 2870 | dependencies: 2871 | glob "^6.0.1" 2872 | 2873 | roarr@^2.15.3: 2874 | version "2.15.4" 2875 | resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" 2876 | dependencies: 2877 | boolean "^3.0.1" 2878 | detect-node "^2.0.4" 2879 | globalthis "^1.0.1" 2880 | json-stringify-safe "^5.0.1" 2881 | semver-compare "^1.0.0" 2882 | sprintf-js "^1.1.2" 2883 | 2884 | run-async@^2.2.0: 2885 | version "2.3.0" 2886 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 2887 | dependencies: 2888 | is-promise "^2.1.0" 2889 | 2890 | rx-lite-aggregates@^4.0.8: 2891 | version "4.0.8" 2892 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" 2893 | dependencies: 2894 | rx-lite "*" 2895 | 2896 | rx-lite@*, rx-lite@^4.0.8: 2897 | version "4.0.8" 2898 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" 2899 | 2900 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: 2901 | version "5.2.1" 2902 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 2903 | 2904 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2905 | version "5.1.2" 2906 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2907 | 2908 | "safer-buffer@>= 2.1.2 < 3": 2909 | version "2.1.2" 2910 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2911 | 2912 | sanitize-filename@^1.6.1: 2913 | version "1.6.1" 2914 | resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.1.tgz#612da1c96473fa02dccda92dcd5b4ab164a6772a" 2915 | dependencies: 2916 | truncate-utf8-bytes "^1.0.0" 2917 | 2918 | sass-graph@^2.1.1: 2919 | version "2.2.2" 2920 | resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.2.tgz#f4d6c95b546ea2a09d14176d0fc1a07ee2b48354" 2921 | dependencies: 2922 | glob "^7.0.0" 2923 | lodash "^4.0.0" 2924 | scss-tokenizer "^0.2.1" 2925 | yargs "^6.6.0" 2926 | 2927 | sax@^1.2.1: 2928 | version "1.2.2" 2929 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" 2930 | 2931 | scss-tokenizer@^0.2.1: 2932 | version "0.2.1" 2933 | resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.1.tgz#07c0cc577bb7ab4d08fd900185adbf4bc844141d" 2934 | dependencies: 2935 | js-base64 "^2.1.8" 2936 | source-map "^0.4.2" 2937 | 2938 | semver-compare@^1.0.0: 2939 | version "1.0.0" 2940 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 2941 | 2942 | semver-diff@^2.0.0: 2943 | version "2.1.0" 2944 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" 2945 | dependencies: 2946 | semver "^5.0.3" 2947 | 2948 | "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: 2949 | version "5.3.0" 2950 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 2951 | 2952 | semver@^5.4.1: 2953 | version "5.7.1" 2954 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2955 | 2956 | semver@^6.2.0: 2957 | version "6.3.0" 2958 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2959 | 2960 | semver@^7.3.2: 2961 | version "7.3.4" 2962 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" 2963 | dependencies: 2964 | lru-cache "^6.0.0" 2965 | 2966 | serialize-error@^7.0.1: 2967 | version "7.0.1" 2968 | resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" 2969 | dependencies: 2970 | type-fest "^0.13.1" 2971 | 2972 | set-blocking@^2.0.0, set-blocking@~2.0.0: 2973 | version "2.0.0" 2974 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2975 | 2976 | set-immediate-shim@^1.0.0: 2977 | version "1.0.1" 2978 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 2979 | 2980 | signal-exit@^3.0.0, signal-exit@^3.0.2: 2981 | version "3.0.2" 2982 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2983 | 2984 | single-line-log@^0.4.1: 2985 | version "0.4.1" 2986 | resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-0.4.1.tgz#87a55649f749d783ec0dcd804e8140d9873c7cee" 2987 | 2988 | single-line-log@^1.1.2: 2989 | version "1.1.2" 2990 | resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364" 2991 | dependencies: 2992 | string-width "^1.0.1" 2993 | 2994 | slide@^1.1.5, slide@~1.1.3: 2995 | version "1.1.6" 2996 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 2997 | 2998 | sntp@1.x.x: 2999 | version "1.0.9" 3000 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 3001 | dependencies: 3002 | hoek "2.x.x" 3003 | 3004 | source-map-resolve@^0.3.0: 3005 | version "0.3.1" 3006 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" 3007 | dependencies: 3008 | atob "~1.1.0" 3009 | resolve-url "~0.2.1" 3010 | source-map-url "~0.3.0" 3011 | urix "~0.1.0" 3012 | 3013 | source-map-support@^0.4.15, source-map-support@^0.4.6: 3014 | version "0.4.15" 3015 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" 3016 | dependencies: 3017 | source-map "^0.5.6" 3018 | 3019 | source-map-url@~0.3.0: 3020 | version "0.3.0" 3021 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" 3022 | 3023 | source-map@^0.1.38: 3024 | version "0.1.43" 3025 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" 3026 | dependencies: 3027 | amdefine ">=0.0.4" 3028 | 3029 | source-map@^0.4.2: 3030 | version "0.4.4" 3031 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 3032 | dependencies: 3033 | amdefine ">=0.0.4" 3034 | 3035 | source-map@^0.5.6: 3036 | version "0.5.6" 3037 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 3038 | 3039 | spdx-correct@~1.0.0: 3040 | version "1.0.2" 3041 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 3042 | dependencies: 3043 | spdx-license-ids "^1.0.2" 3044 | 3045 | spdx-expression-parse@~1.0.0: 3046 | version "1.0.4" 3047 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 3048 | 3049 | spdx-license-ids@^1.0.2: 3050 | version "1.2.2" 3051 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 3052 | 3053 | spectron@^3.7.2: 3054 | version "3.8.0" 3055 | resolved "https://registry.yarnpkg.com/spectron/-/spectron-3.8.0.tgz#122c3562fd7e92b7cdf6f94094aa495b150dfa51" 3056 | dependencies: 3057 | dev-null "^0.1.1" 3058 | electron-chromedriver "~1.8.0" 3059 | request "^2.81.0" 3060 | split "^1.0.0" 3061 | webdriverio "^4.8.0" 3062 | 3063 | speedometer@~0.1.2: 3064 | version "0.1.4" 3065 | resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d" 3066 | 3067 | split@^1.0.0: 3068 | version "1.0.0" 3069 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" 3070 | dependencies: 3071 | through "2" 3072 | 3073 | sprintf-js@^1.1.2: 3074 | version "1.1.2" 3075 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" 3076 | 3077 | sprintf-js@~1.0.2: 3078 | version "1.0.3" 3079 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3080 | 3081 | sshpk@^1.7.0: 3082 | version "1.13.0" 3083 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" 3084 | dependencies: 3085 | asn1 "~0.2.3" 3086 | assert-plus "^1.0.0" 3087 | dashdash "^1.12.0" 3088 | getpass "^0.1.1" 3089 | optionalDependencies: 3090 | bcrypt-pbkdf "^1.0.0" 3091 | ecc-jsbn "~0.1.1" 3092 | jodid25519 "^1.0.0" 3093 | jsbn "~0.1.0" 3094 | tweetnacl "~0.14.0" 3095 | 3096 | statuses@1: 3097 | version "1.3.1" 3098 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" 3099 | 3100 | string-width@^1.0.1, string-width@^1.0.2: 3101 | version "1.0.2" 3102 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3103 | dependencies: 3104 | code-point-at "^1.0.0" 3105 | is-fullwidth-code-point "^1.0.0" 3106 | strip-ansi "^3.0.0" 3107 | 3108 | string-width@^2.1.0: 3109 | version "2.1.1" 3110 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3111 | dependencies: 3112 | is-fullwidth-code-point "^2.0.0" 3113 | strip-ansi "^4.0.0" 3114 | 3115 | string.prototype.codepointat@^0.2.0: 3116 | version "0.2.0" 3117 | resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78" 3118 | 3119 | string_decoder@~0.10.x: 3120 | version "0.10.31" 3121 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 3122 | 3123 | string_decoder@~1.1.1: 3124 | version "1.1.1" 3125 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 3126 | dependencies: 3127 | safe-buffer "~5.1.0" 3128 | 3129 | stringstream@~0.0.4: 3130 | version "0.0.5" 3131 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 3132 | 3133 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3134 | version "3.0.1" 3135 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3136 | dependencies: 3137 | ansi-regex "^2.0.0" 3138 | 3139 | strip-ansi@^4.0.0: 3140 | version "4.0.0" 3141 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3142 | dependencies: 3143 | ansi-regex "^3.0.0" 3144 | 3145 | strip-bom@^2.0.0: 3146 | version "2.0.0" 3147 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 3148 | dependencies: 3149 | is-utf8 "^0.2.0" 3150 | 3151 | strip-indent@^1.0.1: 3152 | version "1.0.1" 3153 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 3154 | dependencies: 3155 | get-stdin "^4.0.1" 3156 | 3157 | strip-json-comments@~2.0.1: 3158 | version "2.0.1" 3159 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3160 | 3161 | strip-outer@^1.0.1: 3162 | version "1.0.1" 3163 | resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" 3164 | dependencies: 3165 | escape-string-regexp "^1.0.2" 3166 | 3167 | sumchecker@^2.0.2: 3168 | version "2.0.2" 3169 | resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e" 3170 | dependencies: 3171 | debug "^2.2.0" 3172 | 3173 | sumchecker@^3.0.1: 3174 | version "3.0.1" 3175 | resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" 3176 | dependencies: 3177 | debug "^4.1.0" 3178 | 3179 | supports-color@3.1.2: 3180 | version "3.1.2" 3181 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" 3182 | dependencies: 3183 | has-flag "^1.0.0" 3184 | 3185 | supports-color@^2.0.0: 3186 | version "2.0.0" 3187 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3188 | 3189 | supports-color@^3.2.3: 3190 | version "3.2.3" 3191 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 3192 | dependencies: 3193 | has-flag "^1.0.0" 3194 | 3195 | supports-color@^5.3.0: 3196 | version "5.5.0" 3197 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3198 | dependencies: 3199 | has-flag "^3.0.0" 3200 | 3201 | supports-color@~5.0.0: 3202 | version "5.0.1" 3203 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.0.1.tgz#1c5331f22250c84202805b2f17adf16699f3a39a" 3204 | dependencies: 3205 | has-flag "^2.0.0" 3206 | 3207 | tar-stream@^1.5.0: 3208 | version "1.5.2" 3209 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf" 3210 | dependencies: 3211 | bl "^1.0.0" 3212 | end-of-stream "^1.0.0" 3213 | readable-stream "^2.0.0" 3214 | xtend "^4.0.0" 3215 | 3216 | tar@^2.0.0: 3217 | version "2.2.1" 3218 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 3219 | dependencies: 3220 | block-stream "*" 3221 | fstream "^1.0.2" 3222 | inherits "2" 3223 | 3224 | tempfile@^1.1.1: 3225 | version "1.1.1" 3226 | resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" 3227 | dependencies: 3228 | os-tmpdir "^1.0.0" 3229 | uuid "^2.0.1" 3230 | 3231 | throttleit@0.0.2: 3232 | version "0.0.2" 3233 | resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" 3234 | 3235 | through2@~0.2.3: 3236 | version "0.2.3" 3237 | resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f" 3238 | dependencies: 3239 | readable-stream "~1.1.9" 3240 | xtend "~2.1.1" 3241 | 3242 | through@2, through@^2.3.6: 3243 | version "2.3.8" 3244 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3245 | 3246 | timed-out@^3.0.0: 3247 | version "3.1.3" 3248 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" 3249 | 3250 | tiny-lr@^0.2.1: 3251 | version "0.2.1" 3252 | resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.2.1.tgz#b3fdba802e5d56a33c2f6f10794b32e477ac729d" 3253 | dependencies: 3254 | body-parser "~1.14.0" 3255 | debug "~2.2.0" 3256 | faye-websocket "~0.10.0" 3257 | livereload-js "^2.2.0" 3258 | parseurl "~1.3.0" 3259 | qs "~5.1.0" 3260 | 3261 | tmp@^0.0.33: 3262 | version "0.0.33" 3263 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 3264 | dependencies: 3265 | os-tmpdir "~1.0.2" 3266 | 3267 | to-readable-stream@^1.0.0: 3268 | version "1.0.0" 3269 | resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" 3270 | 3271 | tough-cookie@~2.3.0: 3272 | version "2.3.2" 3273 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 3274 | dependencies: 3275 | punycode "^1.4.1" 3276 | 3277 | tough-cookie@~2.5.0: 3278 | version "2.5.0" 3279 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 3280 | dependencies: 3281 | psl "^1.1.28" 3282 | punycode "^2.1.1" 3283 | 3284 | trim-newlines@^1.0.0: 3285 | version "1.0.0" 3286 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 3287 | 3288 | trim-repeated@^1.0.0: 3289 | version "1.0.0" 3290 | resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" 3291 | dependencies: 3292 | escape-string-regexp "^1.0.2" 3293 | 3294 | truncate-utf8-bytes@^1.0.0: 3295 | version "1.0.2" 3296 | resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" 3297 | dependencies: 3298 | utf8-byte-length "^1.0.1" 3299 | 3300 | tunnel-agent@^0.4.3: 3301 | version "0.4.3" 3302 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 3303 | 3304 | tunnel-agent@^0.6.0: 3305 | version "0.6.0" 3306 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 3307 | dependencies: 3308 | safe-buffer "^5.0.1" 3309 | 3310 | tunnel@^0.0.6: 3311 | version "0.0.6" 3312 | resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" 3313 | 3314 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3315 | version "0.14.5" 3316 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 3317 | 3318 | type-detect@0.1.1: 3319 | version "0.1.1" 3320 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" 3321 | 3322 | type-detect@^1.0.0: 3323 | version "1.0.0" 3324 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" 3325 | 3326 | type-fest@^0.13.1: 3327 | version "0.13.1" 3328 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" 3329 | 3330 | type-is@~1.6.10: 3331 | version "1.6.15" 3332 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" 3333 | dependencies: 3334 | media-typer "0.3.0" 3335 | mime-types "~2.1.15" 3336 | 3337 | typedarray@^0.0.6: 3338 | version "0.0.6" 3339 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 3340 | 3341 | underscore.string@~3.2.3: 3342 | version "3.2.3" 3343 | resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.2.3.tgz#806992633665d5e5fcb4db1fb3a862eb68e9e6da" 3344 | 3345 | universalify@^0.1.0: 3346 | version "0.1.2" 3347 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 3348 | 3349 | unpipe@1.0.0: 3350 | version "1.0.0" 3351 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 3352 | 3353 | unzip-response@^1.0.2: 3354 | version "1.0.2" 3355 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" 3356 | 3357 | update-notifier@^1.0.2: 3358 | version "1.0.3" 3359 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" 3360 | dependencies: 3361 | boxen "^0.6.0" 3362 | chalk "^1.0.0" 3363 | configstore "^2.0.0" 3364 | is-npm "^1.0.0" 3365 | latest-version "^2.0.0" 3366 | lazy-req "^1.1.0" 3367 | semver-diff "^2.0.0" 3368 | xdg-basedir "^2.0.0" 3369 | 3370 | uri-js@^4.2.2: 3371 | version "4.2.2" 3372 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3373 | dependencies: 3374 | punycode "^2.1.0" 3375 | 3376 | urix@^0.1.0, urix@~0.1.0: 3377 | version "0.1.0" 3378 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3379 | 3380 | url-parse-lax@^1.0.0: 3381 | version "1.0.0" 3382 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 3383 | dependencies: 3384 | prepend-http "^1.0.1" 3385 | 3386 | url-parse-lax@^3.0.0: 3387 | version "3.0.0" 3388 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 3389 | dependencies: 3390 | prepend-http "^2.0.0" 3391 | 3392 | url@~0.11.0: 3393 | version "0.11.0" 3394 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 3395 | dependencies: 3396 | punycode "1.3.2" 3397 | querystring "0.2.0" 3398 | 3399 | utf8-byte-length@^1.0.1: 3400 | version "1.0.4" 3401 | resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" 3402 | 3403 | util-deprecate@~1.0.1: 3404 | version "1.0.2" 3405 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3406 | 3407 | util-extend@^1.0.1: 3408 | version "1.0.3" 3409 | resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" 3410 | 3411 | uuid-1345@^0.99.6: 3412 | version "0.99.6" 3413 | resolved "https://registry.yarnpkg.com/uuid-1345/-/uuid-1345-0.99.6.tgz#b1270ae015a7721c7adec6c46ec169c6098aed40" 3414 | dependencies: 3415 | macaddress "^0.2.7" 3416 | 3417 | uuid@^2.0.1: 3418 | version "2.0.3" 3419 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 3420 | 3421 | uuid@^3.0.0: 3422 | version "3.0.1" 3423 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" 3424 | 3425 | uuid@^3.3.2: 3426 | version "3.4.0" 3427 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 3428 | 3429 | validate-npm-package-license@^3.0.1: 3430 | version "3.0.1" 3431 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 3432 | dependencies: 3433 | spdx-correct "~1.0.0" 3434 | spdx-expression-parse "~1.0.0" 3435 | 3436 | verror@1.3.6: 3437 | version "1.3.6" 3438 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 3439 | dependencies: 3440 | extsprintf "1.0.2" 3441 | 3442 | vue-router@^2.7.0: 3443 | version "2.8.1" 3444 | resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.8.1.tgz#9833c9ee57ac83beb0269056fefee71713f20695" 3445 | 3446 | vue@^2.4.2: 3447 | version "2.6.11" 3448 | resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" 3449 | 3450 | vuetify@^0.14.5: 3451 | version "0.14.11" 3452 | resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-0.14.11.tgz#757760664373ba7a51d70d41a4b527595bbfed36" 3453 | 3454 | vuex@^2.3.1: 3455 | version "2.5.0" 3456 | resolved "https://registry.yarnpkg.com/vuex/-/vuex-2.5.0.tgz#20f0265ade6c9a5ac6724a405d3ffdb4726c9741" 3457 | 3458 | walkdir@^0.0.11: 3459 | version "0.0.11" 3460 | resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532" 3461 | 3462 | wdio-dot-reporter@~0.0.8: 3463 | version "0.0.8" 3464 | resolved "https://registry.yarnpkg.com/wdio-dot-reporter/-/wdio-dot-reporter-0.0.8.tgz#36195576da0d998210c71948cbb65f5bf11bfc65" 3465 | 3466 | webdriverio@^4.8.0: 3467 | version "4.14.4" 3468 | resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-4.14.4.tgz#f7a94e9a6530819796088f42b009833d83de0386" 3469 | dependencies: 3470 | archiver "~2.1.0" 3471 | babel-runtime "^6.26.0" 3472 | css-parse "^2.0.0" 3473 | css-value "~0.0.1" 3474 | deepmerge "~2.0.1" 3475 | ejs "~2.5.6" 3476 | gaze "~1.1.2" 3477 | glob "~7.1.1" 3478 | grapheme-splitter "^1.0.2" 3479 | inquirer "~3.3.0" 3480 | json-stringify-safe "~5.0.1" 3481 | mkdirp "~0.5.1" 3482 | npm-install-package "~2.1.0" 3483 | optimist "~0.6.1" 3484 | q "~1.5.0" 3485 | request "^2.83.0" 3486 | rgb2hex "^0.1.9" 3487 | safe-buffer "~5.1.1" 3488 | supports-color "~5.0.0" 3489 | url "~0.11.0" 3490 | wdio-dot-reporter "~0.0.8" 3491 | wgxpath "~1.0.0" 3492 | 3493 | websocket-driver@>=0.5.1: 3494 | version "0.6.5" 3495 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" 3496 | dependencies: 3497 | websocket-extensions ">=0.1.1" 3498 | 3499 | websocket-extensions@>=0.1.1: 3500 | version "0.1.4" 3501 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" 3502 | 3503 | wgxpath@~1.0.0: 3504 | version "1.0.0" 3505 | resolved "https://registry.yarnpkg.com/wgxpath/-/wgxpath-1.0.0.tgz#eef8a4b9d558cc495ad3a9a2b751597ecd9af690" 3506 | 3507 | which-module@^1.0.0: 3508 | version "1.0.0" 3509 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 3510 | 3511 | which@1, which@^1.1.1, which@^1.2.9, which@~1.2.1: 3512 | version "1.2.14" 3513 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" 3514 | dependencies: 3515 | isexe "^2.0.0" 3516 | 3517 | wide-align@^1.1.0: 3518 | version "1.1.0" 3519 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" 3520 | dependencies: 3521 | string-width "^1.0.1" 3522 | 3523 | widest-line@^1.0.0: 3524 | version "1.0.0" 3525 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" 3526 | dependencies: 3527 | string-width "^1.0.1" 3528 | 3529 | wordwrap@~0.0.2: 3530 | version "0.0.3" 3531 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 3532 | 3533 | wrap-ansi@^2.0.0: 3534 | version "2.1.0" 3535 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3536 | dependencies: 3537 | string-width "^1.0.1" 3538 | strip-ansi "^3.0.1" 3539 | 3540 | wrappy@1: 3541 | version "1.0.2" 3542 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3543 | 3544 | write-file-atomic@^1.1.2: 3545 | version "1.3.4" 3546 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" 3547 | dependencies: 3548 | graceful-fs "^4.1.11" 3549 | imurmurhash "^0.1.4" 3550 | slide "^1.1.5" 3551 | 3552 | xdg-basedir@^2.0.0: 3553 | version "2.0.0" 3554 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" 3555 | dependencies: 3556 | os-homedir "^1.0.0" 3557 | 3558 | xelement@^1.0.14: 3559 | version "1.0.14" 3560 | resolved "https://registry.yarnpkg.com/xelement/-/xelement-1.0.14.tgz#46eb00ea6f5e4db9c18d6f05bcd08dc9ebeff8c0" 3561 | dependencies: 3562 | sax "^1.2.1" 3563 | 3564 | xmlbuilder@8.2.2: 3565 | version "8.2.2" 3566 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" 3567 | 3568 | xmlbuilder@^2.6.2: 3569 | version "2.6.5" 3570 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-2.6.5.tgz#6ff7ad60fb72d22764f007a164b77f2bf1400526" 3571 | dependencies: 3572 | lodash "^3.5.0" 3573 | 3574 | xmldom@0.1.x: 3575 | version "0.1.27" 3576 | resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" 3577 | 3578 | xtend@^4.0.0: 3579 | version "4.0.1" 3580 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3581 | 3582 | xtend@~2.1.1: 3583 | version "2.1.2" 3584 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" 3585 | dependencies: 3586 | object-keys "~0.4.0" 3587 | 3588 | y18n@^3.2.1: 3589 | version "3.2.1" 3590 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 3591 | 3592 | yallist@^2.0.0: 3593 | version "2.1.2" 3594 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3595 | 3596 | yallist@^4.0.0: 3597 | version "4.0.0" 3598 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 3599 | 3600 | yargs-parser@^4.2.0: 3601 | version "4.2.1" 3602 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" 3603 | dependencies: 3604 | camelcase "^3.0.0" 3605 | 3606 | yargs@^6.3.0, yargs@^6.6.0: 3607 | version "6.6.0" 3608 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" 3609 | dependencies: 3610 | camelcase "^3.0.0" 3611 | cliui "^3.2.0" 3612 | decamelize "^1.1.1" 3613 | get-caller-file "^1.0.1" 3614 | os-locale "^1.4.0" 3615 | read-pkg-up "^1.0.1" 3616 | require-directory "^2.1.1" 3617 | require-main-filename "^1.0.1" 3618 | set-blocking "^2.0.0" 3619 | string-width "^1.0.2" 3620 | which-module "^1.0.0" 3621 | y18n "^3.2.1" 3622 | yargs-parser "^4.2.0" 3623 | 3624 | yauzl@^2.10.0: 3625 | version "2.10.0" 3626 | resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" 3627 | dependencies: 3628 | buffer-crc32 "~0.2.3" 3629 | fd-slicer "~1.1.0" 3630 | 3631 | zip-stream@^1.1.0: 3632 | version "1.1.1" 3633 | resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.1.1.tgz#5216b48bbb4d2651f64d5c6e6f09eb4a7399d557" 3634 | dependencies: 3635 | archiver-utils "^1.3.0" 3636 | compress-commons "^1.1.0" 3637 | lodash "^4.8.0" 3638 | readable-stream "^2.0.0" 3639 | 3640 | zip-stream@^1.2.0: 3641 | version "1.2.0" 3642 | resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" 3643 | dependencies: 3644 | archiver-utils "^1.3.0" 3645 | compress-commons "^1.2.0" 3646 | lodash "^4.8.0" 3647 | readable-stream "^2.0.0" 3648 | --------------------------------------------------------------------------------
60 | {{ line.text }} 61 |
{{ project.json.homepage }}
{{ project.json.description }}