diff --git a/.eslintignore b/.eslintignore new file mode 100755 index 00000000..394522f4 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +node_modules/** \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..27b4386d --- /dev/null +++ b/.eslintrc @@ -0,0 +1,17 @@ +{ + "ignorePatterns": ["file-types/", "node_modules/"], + "plugins": ["@typescript-eslint", "prettier"], + "extends": [ + "plugin:@typescript-eslint/recommended", + "prettier", + "prettier/@typescript-eslint" + ], + "rules": { + "no-console": ["warn"], + "prettier/prettier": ["error"], + "object-shorthand": ["error", "always"], + "eol-last": ["error", "always"], + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/no-non-null-assertion": "off" + } +} diff --git a/.gitignore b/.gitignore index 2fe6a42f..92584911 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ .DS_Store npm-debug.log node_modules +icons/ +!src/icons +lib/ styles/user-theme.less diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..55cef818 --- /dev/null +++ b/.npmignore @@ -0,0 +1,8 @@ +.DS_Store +npm-debug.log +node_modules +src/ +scripts/ +types/ +file-types/ +styles/user-theme.less diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..ed264e35 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "printWidth": 100, + "singleQuote": true, + "semi": false, + "trailingComma": "none" +} diff --git a/README.md b/README.md index a7bfb3d9..9b420ab8 100755 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Gratipay Team](https://img.shields.io/gratipay/team/atom-seti-ui.svg?style=flat-square)](https://gratipay.com/Atom-Seti-UI/) ### Seti-UI Theme, and VS Code icon pack - + This repo contains the latest version of the Seti UI theme. It's a dark interface theme crafted especially for [Atom](http://atom.io), with subtle colors that are meant to be easy on the eyes. It includes custom file icons, and new user configurable settings. [Seti Syntax](https://atom.io/themes/seti-syntax) is also available for all your codez. The icons in this repo are used as the defaults in the file explorer in VS Code also. @@ -122,60 +122,51 @@ Once you're done working locally and ready to install the production version aga Given that changes to this repo are included in VS Code, we are somewhat conservative with adding new file icons because it can affect the performence for everyone. This means we only accept PRs for file icons for popular languages or toolsets. For example does your langauge/tool have package downloads or vscode extensions with thousands of users? If no, then there's a possibility we will deny your pull request. -Adding an icon requires you have [node](https://nodejs.org/en/) and [gulp](https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md) installed. - -Once you have these, you will need to open a terminal window, navigate to the _seti-ui_ folder and run `npm install` (note you only need to do this once). - -Icon Style: +Adding an icon requires you have [node](https://nodejs.org/en/) installed. Once you have it, you will need to open a terminal window, navigate to the _seti-ui_ folder and run `npm install` (note you only need to do this once). - - Use a single color, the colors will be overwritten to one of the 9 below when shipped - - You want to aim for a frame of 32x32 with the icon centered at and being about 18 x 18 big. There's a sketch file with examples in [this repo](./svgs.sketch). +All of the icon's colors will be automatically converted to their closest equivalents on the supported color list. This process uses a very simple mathematical algorithm for determining what's "closest", and might not match what you subjectively feel to be appropriate. That's why if you don't like what the build script generates, choose the colors yourself. Once everything is setup, follow these steps any time you want to add a new icon: - 1. Create an SVG icon with the name of the language, and save it to the `icons` folder _(do not use any spaces or special characters)_ + 1. Create an SVG icon with the name of the language, and save it to the `src/icons` folder _(do not use any spaces or special characters)_ - 2. Open [styles/components/icons/mapping.less](styles/components/icons/mapping.less) and create a link for the icon you just added with the `.icon-set` mixin. Assuming you were adding an icon for Sass it might look something like this: ```.icon-set('.scss', 'sass', @pink)``` + 2. Open [styles/components/icons/mapping.less](styles/components/icons/mapping.less) and create a link for the icon you just added with the `.icon-ext` mixin. Assuming you were adding an icon for Sass it might look something like this: ```.icon-ext('.scss', 'sass', 'pink')``` - The first parameter `'.scss'` is the file extension you want to target, the second parameter `'sass'` is the name of the icon you just created, without the extension (sass.svg), and the last parameter `@pink` indicated what color the icon should be. + The first parameter `'.scss'` is the file extension you want to target, the second parameter `'sass'` is the name of the icon you just created, without the extension (sass.svg), and the last parameter `pink` indicated what color the icon should be. There are currently 9 supported icon colors: - - - `@blue` - - `@grey` - - `@green` - - `@orange` - - `@pink` - - `@purple` - - `@red` - - `@white` - - `@yellow` + + - `blue` + - `grey` + - `green` + - `orange` + - `pink` + - `purple` + - `red` + - `white` + - `yellow` While, you _can_ add additional colors to [styles/ui-variables.less](styles/ui-variables.less), but please do not do this unless you find it _absolutely_ necessary. If you do add another color, please make sure that matches the general feel of the other colors. If you add something really bright or really pale, your pull request will likely be declined. You will need to do this once for every extension, you want to target. For example, if you want to target both **.sass** and **.scss** extensions, you would add the following: ``` - .icon-set('.sass', 'sass', @pink); - .icon-set('.scss', 'sass', @pink); + .icon-set('.sass', 'sass', 'pink'); + .icon-set('.scss', 'sass', 'pink'); ``` - 3. Run `gulp svg` to minimize the svg files. + 1. Run `npm run build:svg` to minimize the svg files. ## Previewing in VS Code This is a bit of work, but the steps: -1. Make your changes, and run `gulp icon` +1. Make your changes, and run `npm run build:svg` 1. Clone VS Code, and make sure that it has the same parent as seti-ui 1. Follow the [VS Code instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run) to set up a local dev copy -1. Once you've confirmed that, you need to update the icons. cd to `extensions/theme-seti` and run `node build/update-icon-theme.js` -1. Make sure that inside `extensions/theme-seti/build/update-icon-theme.js` - `let FROM_DISK` is set to true - -Then, you can make you SVG changes, re-run `gulp icon`, `node build/update-icon-theme.js` and re-launch your dev copy of VS Code. - -Please don't include the built files in your Pull Requests, because it can cause conflicts between PRs and we only need to do this during deploys otherwise. +2. Once you've confirmed that, you need to update the icons, run `npm run vs-theme` +Then, you can make you SVG changes, re-run `npm run build:svg`, `npm run vs-theme` and re-launch your dev copy of VS Code. ## Deploying Run `npm publish` diff --git a/file-types/Sublime.sublime-project b/file-types/.graphqlrc similarity index 100% rename from file-types/Sublime.sublime-project rename to file-types/.graphqlrc diff --git a/file-types/.mocharc.js b/file-types/.mocharc.js new file mode 100644 index 00000000..e69de29b diff --git a/file-types/.prettierignore b/file-types/.prettierignore new file mode 100644 index 00000000..e8c72bd7 --- /dev/null +++ b/file-types/.prettierignore @@ -0,0 +1,37 @@ +--- +env: + browser: true + node: true + jquery: true +globals: + ENV: true +extends: standard +plugins: +- standard +rules: + indent: + - error + - 2 + - SwitchCase: 1 + VariableDeclarator: + var: 2 + let: 2 + const: 3 + key-spacing: 'off' + eol-last: 'off' + prefer-template: 'warn' + no-multi-spaces: 'off' + no-multiple-empty-lines: 'off' + no-path-concat: 'off' + no-unused-vars: error + one-var: + - warn + - always + padded-blocks: 'off' + quotes: + - error + - single + semi: + - 2 + - always + space-before-function-paren: 'off' diff --git a/file-types/.prettierrc b/file-types/.prettierrc new file mode 100644 index 00000000..e8c72bd7 --- /dev/null +++ b/file-types/.prettierrc @@ -0,0 +1,37 @@ +--- +env: + browser: true + node: true + jquery: true +globals: + ENV: true +extends: standard +plugins: +- standard +rules: + indent: + - error + - 2 + - SwitchCase: 1 + VariableDeclarator: + var: 2 + let: 2 + const: 3 + key-spacing: 'off' + eol-last: 'off' + prefer-template: 'warn' + no-multi-spaces: 'off' + no-multiple-empty-lines: 'off' + no-path-concat: 'off' + no-unused-vars: error + one-var: + - warn + - always + padded-blocks: 'off' + quotes: + - error + - single + semi: + - 2 + - always + space-before-function-paren: 'off' diff --git a/file-types/.sublime-project b/file-types/.sublime-project new file mode 100644 index 00000000..e69de29b diff --git a/file-types/Graphql.graphql b/file-types/Graphql.graphql new file mode 100644 index 00000000..e69de29b diff --git a/file-types/React.spec.jsx b/file-types/React.spec.jsx new file mode 100644 index 00000000..e69de29b diff --git a/file-types/React.spec.tsx b/file-types/React.spec.tsx new file mode 100644 index 00000000..e69de29b diff --git a/file-types/Svelte.svelte b/file-types/Svelte.svelte new file mode 100644 index 00000000..e69de29b diff --git a/file-types/Typescript.spec.ts b/file-types/Typescript.spec.ts new file mode 100644 index 00000000..e69de29b diff --git a/file-types/ava.config.js b/file-types/ava.config.js new file mode 100644 index 00000000..e69de29b diff --git a/file-types/jest.config.js b/file-types/jest.config.js new file mode 100644 index 00000000..e69de29b diff --git a/file-types/postcss.config.js b/file-types/postcss.config.js new file mode 100644 index 00000000..e69de29b diff --git a/file-types/tailwind.config.js b/file-types/tailwind.config.js new file mode 100644 index 00000000..e69de29b diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 1ed9029f..00000000 --- a/gulpfile.js +++ /dev/null @@ -1,31 +0,0 @@ -var fontName = 'seti', - gulp = require('gulp'), - iconfont = require('gulp-iconfont'), - iconfontCss = require('gulp-iconfont-css'), - svgmin = require('gulp-svgmin'); - -gulp.task('font', function(){ - gulp.src(['./icons/*.svg']) - .pipe(iconfontCss({ - fontName: fontName, - path: './styles/_fonts/_template.less', - targetPath: '../seti.less/', - fontPath: './styles/_fonts/seti/' - })) - .pipe(iconfont({ - normalize: true, - fontHeight: 1000, - fontName: fontName, - formats: ['ttf', 'eot', 'woff', 'woff2', 'svg'] - })) - .pipe(gulp.dest('./styles/_fonts/seti/')); -}); - -gulp.task('icon', ['svg', 'font']); -gulp.task('icons', ['svg', 'font']); - -gulp.task('svg', function() { - gulp.src('./icons/*.svg') - .pipe(svgmin()) - .pipe(gulp.dest('./icons')); -}); diff --git a/icons/R.svg b/icons/R.svg index f7432477..2e8efbf3 100644 --- a/icons/R.svg +++ b/icons/R.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/apple.svg b/icons/apple.svg deleted file mode 100644 index a9087118..00000000 --- a/icons/apple.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/argdown.svg b/icons/argdown.svg index e00360c2..2ed8c989 100644 --- a/icons/argdown.svg +++ b/icons/argdown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/asm.svg b/icons/asm.svg index 2c9348dc..b5fefe3c 100644 --- a/icons/asm.svg +++ b/icons/asm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/audio.svg b/icons/audio.svg index 9eea3fc6..8470cc2c 100644 --- a/icons/audio.svg +++ b/icons/audio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/babel.svg b/icons/babel.svg index 638c016b..3300ca9b 100644 --- a/icons/babel.svg +++ b/icons/babel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/bower.svg b/icons/bower.svg index 360063a0..35014503 100644 --- a/icons/bower.svg +++ b/icons/bower.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/bsl.svg b/icons/bsl.svg index 1d64268d..92cb6755 100644 --- a/icons/bsl.svg +++ b/icons/bsl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/c-sharp.svg b/icons/c-sharp.svg index 109f3a47..db9a1ff5 100644 --- a/icons/c-sharp.svg +++ b/icons/c-sharp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/c.svg b/icons/c.svg deleted file mode 100644 index 8592cc83..00000000 --- a/icons/c.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/cake.svg b/icons/cake.svg index e49871f1..6c8ba227 100644 --- a/icons/cake.svg +++ b/icons/cake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/cake_php.svg b/icons/cake_php.svg index 9a8863f4..c264eeda 100644 --- a/icons/cake_php.svg +++ b/icons/cake_php.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/checkbox-unchecked.svg b/icons/checkbox-unchecked.svg deleted file mode 100644 index d0d229cd..00000000 --- a/icons/checkbox-unchecked.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/checkbox.svg b/icons/checkbox.svg deleted file mode 100644 index 6b331786..00000000 --- a/icons/checkbox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/cjsx.svg b/icons/cjsx.svg deleted file mode 100644 index 69596d33..00000000 --- a/icons/cjsx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/clock.svg b/icons/clock.svg index 58dad1af..cd5d4ade 100644 --- a/icons/clock.svg +++ b/icons/clock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/clojure.svg b/icons/clojure.svg index bf656977..da8e4a47 100644 --- a/icons/clojure.svg +++ b/icons/clojure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/code-climate.svg b/icons/code-climate.svg index d1e4a31c..31a44d60 100644 --- a/icons/code-climate.svg +++ b/icons/code-climate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/code-search.svg b/icons/code-search.svg index 156b6a7a..c53d3e32 100644 --- a/icons/code-search.svg +++ b/icons/code-search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/coffee.svg b/icons/coffee.svg index fe1203af..865e1fe9 100644 --- a/icons/coffee.svg +++ b/icons/coffee.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/coffee_erb.svg b/icons/coffee_erb.svg deleted file mode 100644 index c381f9f4..00000000 --- a/icons/coffee_erb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/coldfusion.svg b/icons/coldfusion.svg index f7a21473..ec60247e 100644 --- a/icons/coldfusion.svg +++ b/icons/coldfusion.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/config.svg b/icons/config.svg index ca0f80d4..bba23a62 100644 --- a/icons/config.svg +++ b/icons/config.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/cpp.svg b/icons/cpp.svg index 6986f644..7bf93cd6 100644 --- a/icons/cpp.svg +++ b/icons/cpp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/crystal.svg b/icons/crystal.svg index 03936c32..9cf698da 100644 --- a/icons/crystal.svg +++ b/icons/crystal.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/crystal_embedded.svg b/icons/crystal_embedded.svg index fe2fa59f..772cab23 100644 --- a/icons/crystal_embedded.svg +++ b/icons/crystal_embedded.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/css.svg b/icons/css.svg index 0ee67598..165104b6 100644 --- a/icons/css.svg +++ b/icons/css.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/csv.svg b/icons/csv.svg index c206120c..dad4c5fc 100644 --- a/icons/csv.svg +++ b/icons/csv.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/d.svg b/icons/d.svg index 2895a34a..27509fa9 100644 --- a/icons/d.svg +++ b/icons/d.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/dart.svg b/icons/dart.svg deleted file mode 100644 index bc2e14bb..00000000 --- a/icons/dart.svg +++ /dev/null @@ -1 +0,0 @@ -Dart \ No newline at end of file diff --git a/icons/db.svg b/icons/db.svg index 4d29753c..8acf80d2 100644 --- a/icons/db.svg +++ b/icons/db.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/default.svg b/icons/default.svg index 41d0f34f..495bd7c6 100644 --- a/icons/default.svg +++ b/icons/default.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/deprecation-cop.svg b/icons/deprecation-cop.svg deleted file mode 100644 index 9febd65e..00000000 --- a/icons/deprecation-cop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/docker.svg b/icons/docker.svg index 494146b9..5b2e405d 100644 --- a/icons/docker.svg +++ b/icons/docker.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/editorconfig.svg b/icons/editorconfig.svg deleted file mode 100644 index 902179c3..00000000 --- a/icons/editorconfig.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/ejs.svg b/icons/ejs.svg index 14ece9c5..21588a8c 100644 --- a/icons/ejs.svg +++ b/icons/ejs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/elixir.svg b/icons/elixir.svg index 7077bf4e..df1d3cd7 100644 --- a/icons/elixir.svg +++ b/icons/elixir.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/elixir_script.svg b/icons/elixir_script.svg index 69140f5b..a78bb2aa 100644 --- a/icons/elixir_script.svg +++ b/icons/elixir_script.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/elm.svg b/icons/elm.svg index ed06bb1d..e7d37842 100644 --- a/icons/elm.svg +++ b/icons/elm.svg @@ -1 +1 @@ -Layer 1 \ No newline at end of file + \ No newline at end of file diff --git a/icons/error.svg b/icons/error.svg deleted file mode 100644 index 5ca81633..00000000 --- a/icons/error.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/eslint.svg b/icons/eslint.svg index 18650f46..236cf0f4 100644 --- a/icons/eslint.svg +++ b/icons/eslint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/ethereum.svg b/icons/ethereum.svg index 5c9c7ebf..4cd55fe2 100644 --- a/icons/ethereum.svg +++ b/icons/ethereum.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/f-sharp.svg b/icons/f-sharp.svg index b50e6dba..da39c200 100644 --- a/icons/f-sharp.svg +++ b/icons/f-sharp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/favicon.svg b/icons/favicon.svg index d95c4759..a029ab80 100644 --- a/icons/favicon.svg +++ b/icons/favicon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/firebase.svg b/icons/firebase.svg index d423bb82..3d40990d 100644 --- a/icons/firebase.svg +++ b/icons/firebase.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/firefox.svg b/icons/firefox.svg index a6d9b35a..4434ba8b 100644 --- a/icons/firefox.svg +++ b/icons/firefox.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/folder.svg b/icons/folder.svg deleted file mode 100644 index 05833d75..00000000 --- a/icons/folder.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/font.svg b/icons/font.svg index 7b1ee562..3e9bb688 100644 --- a/icons/font.svg +++ b/icons/font.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/git.svg b/icons/git.svg index dc6d711a..e449270e 100644 --- a/icons/git.svg +++ b/icons/git.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/git_folder.svg b/icons/git_folder.svg deleted file mode 100644 index dc6d711a..00000000 --- a/icons/git_folder.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/git_ignore.svg b/icons/git_ignore.svg deleted file mode 100644 index 20d87f57..00000000 --- a/icons/git_ignore.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/github.svg b/icons/github.svg deleted file mode 100644 index 843fefbb..00000000 --- a/icons/github.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/go.svg b/icons/go.svg index b74b4739..3d55e684 100644 --- a/icons/go.svg +++ b/icons/go.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/go2.svg b/icons/go2.svg index d5f601ee..cbaaa0cb 100644 --- a/icons/go2.svg +++ b/icons/go2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/gradle.svg b/icons/gradle.svg index 11fe03a2..80e21177 100644 --- a/icons/gradle.svg +++ b/icons/gradle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/grails.svg b/icons/grails.svg index 5de5caa2..81deb5d6 100644 --- a/icons/grails.svg +++ b/icons/grails.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/graphql.svg b/icons/graphql.svg index ea8d5b2b..1f640c24 100644 --- a/icons/graphql.svg +++ b/icons/graphql.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/grunt.svg b/icons/grunt.svg index 2f78f71a..69a20ecc 100644 --- a/icons/grunt.svg +++ b/icons/grunt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/gulp.svg b/icons/gulp.svg index 837a1f36..4ab98b99 100644 --- a/icons/gulp.svg +++ b/icons/gulp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/hacklang.svg b/icons/hacklang.svg deleted file mode 100644 index 9163f59c..00000000 --- a/icons/hacklang.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/haml.svg b/icons/haml.svg index b3857cb9..44f093dc 100644 --- a/icons/haml.svg +++ b/icons/haml.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/happenings.svg b/icons/happenings.svg index 93b585ee..667c522b 100644 --- a/icons/happenings.svg +++ b/icons/happenings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/haskell.svg b/icons/haskell.svg index 2e3ed1f6..2750a1ce 100644 --- a/icons/haskell.svg +++ b/icons/haskell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/haxe.svg b/icons/haxe.svg index 12e610d8..31e075df 100644 --- a/icons/haxe.svg +++ b/icons/haxe.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/heroku.svg b/icons/heroku.svg index 7cda86dd..36a6b00b 100644 --- a/icons/heroku.svg +++ b/icons/heroku.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/hex.svg b/icons/hex.svg index 62eca0a3..e16859ff 100644 --- a/icons/hex.svg +++ b/icons/hex.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/html.svg b/icons/html.svg index 9610d5c6..c8206dac 100644 --- a/icons/html.svg +++ b/icons/html.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/html_erb.svg b/icons/html_erb.svg index 443e8ded..62ada907 100644 --- a/icons/html_erb.svg +++ b/icons/html_erb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/ignored.svg b/icons/ignored.svg index 3d6881ec..fa22a336 100644 --- a/icons/ignored.svg +++ b/icons/ignored.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/illustrator.svg b/icons/illustrator.svg index 3fb8adf8..d067ea95 100644 --- a/icons/illustrator.svg +++ b/icons/illustrator.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/image.svg b/icons/image.svg index 17ffdf64..500becbd 100644 --- a/icons/image.svg +++ b/icons/image.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/info.svg b/icons/info.svg index fc873864..058a4884 100644 --- a/icons/info.svg +++ b/icons/info.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/ionic.svg b/icons/ionic.svg index 520aad99..b235c0af 100644 --- a/icons/ionic.svg +++ b/icons/ionic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/jade.svg b/icons/jade.svg index c7fb85a3..d61ec1aa 100644 --- a/icons/jade.svg +++ b/icons/jade.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/java.svg b/icons/java.svg index c1240c8f..7c756f0a 100644 --- a/icons/java.svg +++ b/icons/java.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/javascript.svg b/icons/javascript.svg index d6ced9e7..0793c241 100644 --- a/icons/javascript.svg +++ b/icons/javascript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/jenkins.svg b/icons/jenkins.svg index 486bf4c7..c67129d8 100644 --- a/icons/jenkins.svg +++ b/icons/jenkins.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/jinja.svg b/icons/jinja.svg index ba582ce4..2796b8f1 100644 --- a/icons/jinja.svg +++ b/icons/jinja.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/js_erb.svg b/icons/js_erb.svg deleted file mode 100644 index f78ecd44..00000000 --- a/icons/js_erb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/json.svg b/icons/json.svg deleted file mode 100644 index af583f76..00000000 --- a/icons/json.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/julia.svg b/icons/julia.svg index 644d8e28..1e7129e2 100644 --- a/icons/julia.svg +++ b/icons/julia.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/karma.svg b/icons/karma.svg index 03ce79f1..875a016e 100644 --- a/icons/karma.svg +++ b/icons/karma.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/kotlin.svg b/icons/kotlin.svg index f54a9de1..15bfc220 100644 --- a/icons/kotlin.svg +++ b/icons/kotlin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/less.svg b/icons/less.svg index 6f86e780..299f6050 100644 --- a/icons/less.svg +++ b/icons/less.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/license.svg b/icons/license.svg index 4980484f..2a531f6c 100644 --- a/icons/license.svg +++ b/icons/license.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/liquid.svg b/icons/liquid.svg index c00aaf3e..8e4e87e2 100644 --- a/icons/liquid.svg +++ b/icons/liquid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/livescript.svg b/icons/livescript.svg index e69ac2a4..947d010b 100644 --- a/icons/livescript.svg +++ b/icons/livescript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/lock.svg b/icons/lock.svg index ade1e5f5..4085d75e 100644 --- a/icons/lock.svg +++ b/icons/lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/lua.svg b/icons/lua.svg index a5d60737..066bdd30 100644 --- a/icons/lua.svg +++ b/icons/lua.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/makefile.svg b/icons/makefile.svg index 0ed34f23..a97115cc 100644 --- a/icons/makefile.svg +++ b/icons/makefile.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/markdown.svg b/icons/markdown.svg index 3e71bacb..3477a804 100644 --- a/icons/markdown.svg +++ b/icons/markdown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/maven.svg b/icons/maven.svg index b64b0271..003efba3 100644 --- a/icons/maven.svg +++ b/icons/maven.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/mdo.svg b/icons/mdo.svg index 0c1b4bbf..934350b9 100644 --- a/icons/mdo.svg +++ b/icons/mdo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/mustache.svg b/icons/mustache.svg index 74721c3e..030cc6f7 100644 --- a/icons/mustache.svg +++ b/icons/mustache.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/new-file.svg b/icons/new-file.svg deleted file mode 100644 index 7e6e8cde..00000000 --- a/icons/new-file.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/npm.svg b/icons/npm.svg index f3e7ee59..2145fbd1 100644 --- a/icons/npm.svg +++ b/icons/npm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/npm_ignored.svg b/icons/npm_ignored.svg deleted file mode 100644 index 7c0261d1..00000000 --- a/icons/npm_ignored.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/nunjucks.svg b/icons/nunjucks.svg index 15edc3b0..7aa4d01f 100644 --- a/icons/nunjucks.svg +++ b/icons/nunjucks.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/ocaml.svg b/icons/ocaml.svg index 42027de6..7e962a05 100644 --- a/icons/ocaml.svg +++ b/icons/ocaml.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/odata.svg b/icons/odata.svg index 52a80cb4..3661d7c6 100644 --- a/icons/odata.svg +++ b/icons/odata.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pddl.svg b/icons/pddl.svg index c27bdd99..b1040a33 100644 --- a/icons/pddl.svg +++ b/icons/pddl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pdf.svg b/icons/pdf.svg index 16201c11..e0892407 100644 --- a/icons/pdf.svg +++ b/icons/pdf.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/perl.svg b/icons/perl.svg index 58655e52..629eb127 100644 --- a/icons/perl.svg +++ b/icons/perl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/photoshop.svg b/icons/photoshop.svg index aeebcfa8..66721b45 100644 --- a/icons/photoshop.svg +++ b/icons/photoshop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/php.svg b/icons/php.svg index dee7949a..69fa554d 100644 --- a/icons/php.svg +++ b/icons/php.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/plan.svg b/icons/plan.svg index 1fffa3d7..18d12b6d 100644 --- a/icons/plan.svg +++ b/icons/plan.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/platformio.svg b/icons/platformio.svg index 19df16ac..876201b5 100644 --- a/icons/platformio.svg +++ b/icons/platformio.svg @@ -1 +1 @@ -Layer 1 \ No newline at end of file + \ No newline at end of file diff --git a/icons/powershell.svg b/icons/powershell.svg index b49619eb..05503a14 100644 --- a/icons/powershell.svg +++ b/icons/powershell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/project.svg b/icons/project.svg deleted file mode 100644 index b1dc2dee..00000000 --- a/icons/project.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/prolog.svg b/icons/prolog.svg index c892a66c..dbd186fd 100644 --- a/icons/prolog.svg +++ b/icons/prolog.svg @@ -1,12 +1 @@ - - - prolog_bold - Created with Sketch. - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/icons/pug.svg b/icons/pug.svg index 7ead5671..2e5c26da 100644 --- a/icons/pug.svg +++ b/icons/pug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/puppet.svg b/icons/puppet.svg index fd281b6d..f678124d 100644 --- a/icons/puppet.svg +++ b/icons/puppet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/python.svg b/icons/python.svg index 243cbfcc..a92b2131 100644 --- a/icons/python.svg +++ b/icons/python.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/rails.svg b/icons/rails.svg deleted file mode 100644 index 5eed6143..00000000 --- a/icons/rails.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/react.svg b/icons/react.svg index d2e82704..e7a03431 100644 --- a/icons/react.svg +++ b/icons/react.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/reasonml.svg b/icons/reasonml.svg index 3b595227..a6c45671 100644 --- a/icons/reasonml.svg +++ b/icons/reasonml.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/rollup.svg b/icons/rollup.svg index 10e96587..74174ac2 100644 --- a/icons/rollup.svg +++ b/icons/rollup.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/ruby.svg b/icons/ruby.svg index c43bcd53..533b681c 100644 --- a/icons/ruby.svg +++ b/icons/ruby.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/rust.svg b/icons/rust.svg index 1ac5c01e..37779b25 100644 --- a/icons/rust.svg +++ b/icons/rust.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/salesforce.svg b/icons/salesforce.svg index 09ea33e3..960214a0 100644 --- a/icons/salesforce.svg +++ b/icons/salesforce.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/sass.svg b/icons/sass.svg index 2dece9ae..678c40b9 100644 --- a/icons/sass.svg +++ b/icons/sass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/sbt.svg b/icons/sbt.svg index 22a45f4b..8e451101 100644 --- a/icons/sbt.svg +++ b/icons/sbt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/scala.svg b/icons/scala.svg index 72a12ba6..74e4621a 100644 --- a/icons/scala.svg +++ b/icons/scala.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/shell.svg b/icons/shell.svg index 8b8415e6..c86e554d 100644 --- a/icons/shell.svg +++ b/icons/shell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/slim.svg b/icons/slim.svg index 5ea54cf8..e753fab1 100644 --- a/icons/slim.svg +++ b/icons/slim.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/smarty.svg b/icons/smarty.svg index fb4550cd..e46b3bb2 100644 --- a/icons/smarty.svg +++ b/icons/smarty.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/spring.svg b/icons/spring.svg index 94919db3..7b255401 100644 --- a/icons/spring.svg +++ b/icons/spring.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/stylelint.svg b/icons/stylelint.svg index 54588245..84ce7c6a 100644 --- a/icons/stylelint.svg +++ b/icons/stylelint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/stylus.svg b/icons/stylus.svg index 02543781..21e24b8b 100644 --- a/icons/stylus.svg +++ b/icons/stylus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/sublime.svg b/icons/sublime.svg index 508ee08d..15eff1f1 100644 --- a/icons/sublime.svg +++ b/icons/sublime.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/svg.svg b/icons/svg.svg deleted file mode 100644 index e895c822..00000000 --- a/icons/svg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/swift.svg b/icons/swift.svg index 367526ed..5fee72c3 100644 --- a/icons/swift.svg +++ b/icons/swift.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/terraform.svg b/icons/terraform.svg index f94c4e9c..13b8d066 100644 --- a/icons/terraform.svg +++ b/icons/terraform.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/tex.svg b/icons/tex.svg deleted file mode 100644 index b47e96ef..00000000 --- a/icons/tex.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/time-cop.svg b/icons/time-cop.svg deleted file mode 100644 index 58dad1af..00000000 --- a/icons/time-cop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icons/todo.svg b/icons/todo.svg index 893fc856..8febd223 100644 --- a/icons/todo.svg +++ b/icons/todo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/tsconfig.svg b/icons/tsconfig.svg index 90998fbe..22e830ae 100644 --- a/icons/tsconfig.svg +++ b/icons/tsconfig.svg @@ -1 +1 @@ -tsconfig \ No newline at end of file + \ No newline at end of file diff --git a/icons/twig.svg b/icons/twig.svg deleted file mode 100644 index e52ddd7e..00000000 --- a/icons/twig.svg +++ /dev/null @@ -1 +0,0 @@ -Layer 1 \ No newline at end of file diff --git a/icons/typescript.svg b/icons/typescript.svg index 4bd35d2a..e109307f 100644 --- a/icons/typescript.svg +++ b/icons/typescript.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/vala.svg b/icons/vala.svg index d5614a7c..fe6996ad 100644 --- a/icons/vala.svg +++ b/icons/vala.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/video.svg b/icons/video.svg index e0b90cee..53366fc8 100644 --- a/icons/video.svg +++ b/icons/video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/vue.svg b/icons/vue.svg index e9649588..1705fba4 100644 --- a/icons/vue.svg +++ b/icons/vue.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/wasm.svg b/icons/wasm.svg index 0a92923c..c9acf5eb 100644 --- a/icons/wasm.svg +++ b/icons/wasm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/wat.svg b/icons/wat.svg index b9521321..e76757d9 100644 --- a/icons/wat.svg +++ b/icons/wat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/webpack.svg b/icons/webpack.svg index c390ab47..13bb523c 100644 --- a/icons/webpack.svg +++ b/icons/webpack.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/wgt.svg b/icons/wgt.svg index d63c4d8e..4e2b0200 100644 --- a/icons/wgt.svg +++ b/icons/wgt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/windows.svg b/icons/windows.svg index 0e1e5b0f..19cfbad1 100644 --- a/icons/windows.svg +++ b/icons/windows.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/word.svg b/icons/word.svg index 543a8d5c..5373122c 100644 --- a/icons/word.svg +++ b/icons/word.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/xls.svg b/icons/xls.svg index d2c4f8fa..19d4ce46 100644 --- a/icons/xls.svg +++ b/icons/xls.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/xml.svg b/icons/xml.svg index 409a4450..f6f3520e 100644 --- a/icons/xml.svg +++ b/icons/xml.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/yarn.svg b/icons/yarn.svg index d1871da9..9c6924ad 100644 --- a/icons/yarn.svg +++ b/icons/yarn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/yml.svg b/icons/yml.svg index 8ac81945..55851b9c 100644 --- a/icons/yml.svg +++ b/icons/yml.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/icons/zip.svg b/icons/zip.svg deleted file mode 100644 index a30f9ce5..00000000 --- a/icons/zip.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/lib/dom.coffee b/lib/dom.coffee deleted file mode 100644 index 6dae3880..00000000 --- a/lib/dom.coffee +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = - query: (el) -> - document.querySelector el - - queryAll: (el) -> - document.querySelectorAll el - - addClass: (el, className) -> - @toggleClass 'add', el, className - - removeClass: (el, className) -> - @toggleClass 'remove', el, className - - toggleClass: (action, el, className) -> - if el != null - i = 0 - while i < el.length - el[i].classList[action] className - i++ diff --git a/lib/headers.coffee b/lib/headers.coffee deleted file mode 100644 index e99a5598..00000000 --- a/lib/headers.coffee +++ /dev/null @@ -1,48 +0,0 @@ -atom.packages.activatePackage('tree-view').then (tree) -> - IS_ANCHORED_CLASSNAME = 'is--anchored' - - treeView = tree.mainModule.treeView - projectRoots = treeView.roots - - updateTreeViewHeaderPosition = -> - - if treeView.scroller - position = treeView.scroller[0] ? treeView.scroller - else - position = 0 - - yScrollPosition = (position).scrollTop - - for project in projectRoots - projectHeaderHeight = project.header.offsetHeight - projectClassList = project.classList - projectOffsetY = project.offsetTop - projectHeight = project.offsetHeight - - if yScrollPosition > projectOffsetY - if yScrollPosition > projectOffsetY + projectHeight - projectHeaderHeight - project.header.style.top = 'auto' - projectClassList.add IS_ANCHORED_CLASSNAME - else - project.header.style.top = (yScrollPosition - projectOffsetY) + 'px' - projectClassList.remove IS_ANCHORED_CLASSNAME - else - project.header.style.top = '0' - projectClassList.remove IS_ANCHORED_CLASSNAME - - atom.project.onDidChangePaths -> - projectRoots = treeView.roots - updateTreeViewHeaderPosition() - - atom.config.onDidChange 'seti-ui', -> - # TODO something other than setTimeout? it's a hack to trigger the update - # after the CSS changes have occurred. a gamble, probably inaccurate - setTimeout -> updateTreeViewHeaderPosition() - if typeof treeView.scroller.on is 'function' - treeView.scroller.on 'scroll', updateTreeViewHeaderPosition - else - treeView.scroller.addEventListener 'scroll', -> - updateTreeViewHeaderPosition() - - setTimeout -> # TODO something other than setTimeout? - updateTreeViewHeaderPosition() diff --git a/lib/main.coffee b/lib/main.coffee deleted file mode 100644 index d6b43323..00000000 --- a/lib/main.coffee +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = - activate: (state) -> - require( atom.packages.getLoadedPackage('seti-ui').path + '/lib/settings').init() diff --git a/lib/settings.coffee b/lib/settings.coffee deleted file mode 100644 index 9c6a4de3..00000000 --- a/lib/settings.coffee +++ /dev/null @@ -1,164 +0,0 @@ -Dom = require('./dom') -Utility = require('./utility') -# Headers = require('./headers') - -module.exports = - init: (state) -> - - self = @ - - # TAB SIZE - self.tabSize atom.config.get('seti-ui.compactView') - # TITLE BAR - self.hideTitleBar atom.config.get('seti-ui.hideTitleBar') - # SHOW DOCUMENT TITLE - self.hideDocumentTitle atom.config.get('seti-ui.hideDocumentTitle') - # PROJECT TAB - self.hideProjectTab atom.config.get('seti-ui.hideProjectTab') - # DISPLAY IGNORED FILES - self.ignoredFiles atom.config.get('seti-ui.displayIgnored') - # DISPLAY FILE ICONS - self.fileIcons atom.config.get('seti-ui.fileIcons') - # HIDE TABS - self.hideTabs atom.config.get('seti-ui.hideTabs') - # SET THEME - self.setTheme atom.config.get('seti-ui.themeColor'), false, false - # ANIMATIONS - self.animate atom.config.get('seti-ui.disableAnimations') - - atom.config.onDidChange 'seti-ui.themeColor', (value) -> - self.setTheme value.newValue, value.oldValue, true - - package: atom.packages.getLoadedPackage('seti-ui'), - - # RELOAD WHEN SETTINGS CHANGE - refresh: -> - self = @ - self.package.deactivate() - setImmediate -> - return self.package.activate() - - # SET THEME COLOR - setTheme: (theme, previous, reload) -> - self = this - el = Dom.query('atom-workspace') - fs = require('fs') - path = require('path') - - # GET OUR PACKAGE INFO - pkg = atom.packages.getLoadedPackage('seti-ui') - - # THEME DATA - themeData = '@seti-primary: @' + theme.toLowerCase() + ';' - themeData = themeData + '@seti-primary-text: @' + theme.toLowerCase() + '-text;' - themeData = themeData + '@seti-primary-highlight: @' + theme.toLowerCase() + '-highlight;' - - # SAVE TO ATOM CONFIG - atom.config.set 'seti-ui.themeColor', theme - - # SAVE USER THEME FILE - fs.writeFile pkg.path + '/styles/user-theme.less', themeData, (err) -> - if !err - if previous - el.classList.remove 'seti-theme-' + previous.toLowerCase() - el.classList.add 'seti-theme-' + theme.toLowerCase() - if reload - self.refresh() - - # SET TAB SIZE - animate: (val) -> - Utility.applySetting - action: 'addWhenFalse' - config: 'seti-ui.disableAnimations' - el: [ - 'atom-workspace' - ] - className: 'seti-animate' - val: val - cb: @animate - - # SET TAB SIZE - tabSize: (val) -> - Utility.applySetting - action: 'addWhenTrue' - config: 'seti-ui.compactView' - el: [ - 'atom-workspace' - ] - className: 'seti-compact' - val: val - cb: @tabSize - - # HIDE TITLE BAR - hideTitleBar: (val) -> - Utility.applySetting - action: 'addWhenTrue' - config: 'seti-ui.hideTitleBar' - el: [ - 'atom-workspace' - ] - className: 'hide-title-bar' - val: val - cb: @hideTitleBar - - # HIDE DOCUMENT TITLE - hideDocumentTitle: (val) -> - Utility.applySetting - action: 'addWhenTrue' - config: 'seti-ui.hideDocumentTitle' - el: [ - 'atom-workspace' - ] - className: 'hide-document-title' - val: val - cb: @hideDocumentTitle - - # HIDE DOCUMENT TITLE - hideProjectTab: (val) -> - Utility.applySetting - action: 'addWhenTrue' - config: 'seti-ui.hideProjectTab' - el: [ - 'atom-workspace' - ] - className: 'hide-project-tab' - val: val - cb: @hideProjectTab - - - # SET WHETHER WE SHOW TABS - hideTabs: (val) -> - Utility.applySetting - action: 'addWhenTrue' - config: 'seti-ui.hideTabs' - el: [ - 'atom-workspace' - ] - className: 'seti-hide-tabs' - val: val - cb: @hideTabs - return - - # SET WHETHER WE SHOW FILE ICONS - fileIcons: (val) -> - Utility.applySetting - action: 'addWhenTrue' - config: 'seti-ui.fileIcons' - el: [ 'atom-workspace' ] - className: 'seti-icons' - val: val - cb: @fileIcons - return - - # SET IF WE SHOW IGNORED FILES - ignoredFiles: (val) -> - Utility.applySetting - action: 'addWhenFalse' - config: 'seti-ui.displayIgnored' - el: [ - '.file.entry.list-item.status-ignored' - '.directory.entry.list-nested-item.status-ignored' - ] - className: 'seti-hide' - val: val - cb: @ignoredFiles diff --git a/lib/utility.coffee b/lib/utility.coffee deleted file mode 100644 index 53c26e57..00000000 --- a/lib/utility.coffee +++ /dev/null @@ -1,54 +0,0 @@ -Dom = require(atom.packages.getLoadedPackage('seti-ui').path + '/lib/dom') - -module.exports = - - # ADD CLASS WHEN CONDITIONAL IS FALSE - addWhenFalse: (obj) -> - - - # CONVERT TO AN ARRAY IF NOT - if !Array.isArray(obj.el) - obj.el = [ obj.el ] - - obj.el.forEach (element) -> - - el = Dom.queryAll(element) #FIND ELEMENT IN DOM - - if !obj.bool - Dom.addClass el, obj.className # ADD CLASS - else - Dom.removeClass el, obj.className # REMOVE CLASS - - - # ADD CLASS WHEN CONDITIONAL IS TRUE - addWhenTrue: (obj) -> - - - # CONVERT TO AN ARRAY IF NOT - if !Array.isArray(obj.el) - obj.el = [ obj.el ] - - obj.el.forEach (element) -> - - el = Dom.queryAll(element) #FIND ELEMENT IN DOM - - if obj.bool - Dom.addClass el, obj.className # ADD CLASS - else - Dom.removeClass el, obj.className # REMOVE CLASS - - - applySetting: (obj) -> - - - # APPLY A NEW SETTING - atom.config.set obj.config, obj.val - - @[obj.action] - el: obj.el - className: obj.className - bool: obj.val - - atom.config.onDidChange obj.config, (value) -> - if value.oldValue != value.newValue and typeof obj.cb == 'function' - obj.cb value.newValue diff --git a/package-lock.json b/package-lock.json index ee4a7c8b..249702b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,3035 +4,2733 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "ansi-wrap": "0.1.0" + "@babel/highlight": "^7.8.3" } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", "dev": true }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "@babel/highlight": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "@babel/helper-validator-identifier": "^7.9.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "has-flag": "^3.0.0" } } } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@babel/runtime": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "regenerator-runtime": "^0.13.4" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true + "@jimp/bmp": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.10.3.tgz", + "integrity": "sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "bmp-js": "^0.1.0", + "core-js": "^3.4.1" + } }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "@jimp/core": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.10.3.tgz", + "integrity": "sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^3.4.1", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true + "@jimp/custom": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.10.3.tgz", + "integrity": "sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.10.3", + "core-js": "^3.4.1" + } }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true + "@jimp/gif": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.10.3.tgz", + "integrity": "sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "omggif": "^1.0.9" + } }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "@jimp/jpeg": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.10.3.tgz", + "integrity": "sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "jpeg-js": "^0.3.4" + } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "@jimp/plugin-blit": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz", + "integrity": "sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "@jimp/plugin-blur": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz", + "integrity": "sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true + "@jimp/plugin-circle": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz", + "integrity": "sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "aws4": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", - "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", - "dev": true + "@jimp/plugin-color": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.10.3.tgz", + "integrity": "sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "tinycolor2": "^1.4.1" + } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "@jimp/plugin-contain": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz", + "integrity": "sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "@jimp/plugin-cover": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz", + "integrity": "sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "@jimp/plugin-crop": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz", + "integrity": "sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==", "dev": true, - "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true + "@jimp/plugin-displace": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz", + "integrity": "sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "bindings": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==", - "dev": true + "@jimp/plugin-dither": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz", + "integrity": "sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "@jimp/plugin-fisheye": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz", + "integrity": "sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==", "dev": true, "requires": { - "inherits": "~2.0.0" + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", - "dev": true + "@jimp/plugin-flip": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz", + "integrity": "sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "@jimp/plugin-gaussian": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz", + "integrity": "sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==", "dev": true, "requires": { - "hoek": "2.x.x" + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "@jimp/plugin-invert": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz", + "integrity": "sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "@jimp/plugin-mask": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz", + "integrity": "sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "bufferstreams": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.3.tgz", - "integrity": "sha512-HaJnVuslRF4g2kSDeyl++AaVizoitCpL9PglzCYwy0uHHyvWerfvEb8jWmYbF1z4kiVFolGomnxSGl+GUQp2jg==", + "@jimp/plugin-normalize": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz", + "integrity": "sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==", "dev": true, "requires": { - "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "@jimp/plugin-print": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.10.3.tgz", + "integrity": "sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "load-bmfont": "^1.4.0" + } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "@jimp/plugin-resize": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz", + "integrity": "sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true + "@jimp/plugin-rotate": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz", + "integrity": "sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "@jimp/plugin-scale": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz", + "integrity": "sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "@jimp/plugin-shadow": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz", + "integrity": "sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "@jimp/plugin-threshold": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz", + "integrity": "sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" } }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "@jimp/plugins": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.10.3.tgz", + "integrity": "sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==", "dev": true, "requires": { - "chalk": "^1.1.3" + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.10.3", + "@jimp/plugin-blur": "^0.10.3", + "@jimp/plugin-circle": "^0.10.3", + "@jimp/plugin-color": "^0.10.3", + "@jimp/plugin-contain": "^0.10.3", + "@jimp/plugin-cover": "^0.10.3", + "@jimp/plugin-crop": "^0.10.3", + "@jimp/plugin-displace": "^0.10.3", + "@jimp/plugin-dither": "^0.10.3", + "@jimp/plugin-fisheye": "^0.10.3", + "@jimp/plugin-flip": "^0.10.3", + "@jimp/plugin-gaussian": "^0.10.3", + "@jimp/plugin-invert": "^0.10.3", + "@jimp/plugin-mask": "^0.10.3", + "@jimp/plugin-normalize": "^0.10.3", + "@jimp/plugin-print": "^0.10.3", + "@jimp/plugin-resize": "^0.10.3", + "@jimp/plugin-rotate": "^0.10.3", + "@jimp/plugin-scale": "^0.10.3", + "@jimp/plugin-shadow": "^0.10.3", + "@jimp/plugin-threshold": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" } }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "@jimp/png": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.10.3.tgz", + "integrity": "sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "pngjs": "^3.3.3" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true + "@jimp/tiff": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.10.3.tgz", + "integrity": "sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "utif": "^2.0.1" + } }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true + "@jimp/types": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.10.3.tgz", + "integrity": "sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.10.3", + "@jimp/gif": "^0.10.3", + "@jimp/jpeg": "^0.10.3", + "@jimp/png": "^0.10.3", + "@jimp/tiff": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "@jimp/utils": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.10.3.tgz", + "integrity": "sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "@types/atom": { + "version": "1.40.2", + "resolved": "https://registry.npmjs.org/@types/atom/-/atom-1.40.2.tgz", + "integrity": "sha512-vUdDqBFcyJ3aZqz9gz+m1JEwgY+NEVpiNB004mqYwwsaxrWrmt23QgvddnCVs1tbMfKFfE4qzk9Zkv+YnA2GYA==", "dev": true, "requires": { - "q": "^1.1.2" + "@types/node": "*" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "@types/color": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/color/-/color-3.0.1.tgz", + "integrity": "sha512-oeUWVaAwI+xINDUx+3F2vJkl/vVB03VChFF/Gl3iQCdbcakjuoJyMOba+3BXRtnBhxZ7uBYqQBi9EpLnvSoztA==", + "dev": true, + "requires": { + "@types/color-convert": "*" + } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "@types/color-convert": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha512-OKGEfULrvSL2VRbkl/gnjjgbbF7ycIlpSsX7Nkab4MOWi5XxmgBYvuiQ7lcCFY5cPDz7MUNaKgxte2VRmtr4Fg==", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "@types/color-name": "*" } }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", "dev": true }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "@types/jsdom": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.1.tgz", + "integrity": "sha512-KCEq427OsWfpX7FRyEMb3i2XIuz8Pt3XPls4nmX0iMTDJWsHD4Kzoa3v4Uv9c9IDf11ALeHUtPcyAjTz/HV03Q==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "@types/node": "*", + "@types/parse5": "*", + "@types/tough-cookie": "*" } }, - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", "dev": true }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "@types/mime-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", + "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=", "dev": true }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "@types/node": { + "version": "13.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.2.tgz", + "integrity": "sha512-LB2R1Oyhpg8gu4SON/mfforE525+Hi/M1ineICEDftqNVTyFg1aRIeGuTvXAoWHc4nbrFncWtJgMmoyRvuGh7A==", "dev": true }, - "consolidate": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.13.1.tgz", - "integrity": "sha1-npUDVo60hQiJ2m7YeoUsjdLRP2Q=", + "@types/node-fetch": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.6.tgz", + "integrity": "sha512-2w0NTwMWF1d3NJMK0Uiq2UNN8htVCyOWOD0jIPjPgC5Ph/YP4dVhs9YxxcMcuLuwAslz0dVEcZQUaqkLs3IzOQ==", "dev": true, "requires": { - "bluebird": "^2.9.26" + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "@types/parse5": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.2.tgz", + "integrity": "sha512-BOl+6KDs4ItndUWUFchy3aEqGdHhw0BC4Uu+qoDonN/f0rbUnJbm71Ulj8Tt9jLFRaAxPLKvdS1bBLfx1qXR9g==", "dev": true }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@types/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-2CNgVZbMzH6KYHTaf0DOtlm8ejjK8JBxL8C8Xv0fDogDsRQaM55m2bv66+isxmWm/w6z6kmOD3GxNVZ85Z0Uyg==", + "dev": true + }, + "@types/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==", + "dev": true + }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", "dev": true, + "optional": true, "requires": { - "boom": "2.x.x" + "@types/node": "*" } }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "@typescript-eslint/eslint-plugin": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.29.0.tgz", + "integrity": "sha512-X/YAY7azKirENm4QRpT7OVmzok02cSkqeIcLmdz6gXUQG4Hk0Fi9oBAynSAyNXeGdMRuZvjBa0c1Lu0dn/u6VA==", "dev": true, "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" + "@typescript-eslint/experimental-utils": "2.29.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" } }, - "cubic2quad": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cubic2quad/-/cubic2quad-1.1.1.tgz", - "integrity": "sha1-abGcYaP1tB7PLx1fro+wNBWqixU=", - "dev": true + "@typescript-eslint/experimental-utils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.29.0.tgz", + "integrity": "sha512-H/6VJr6eWYstyqjWXBP2Nn1hQJyvJoFdDtsHxGiD+lEP7piGnGpb/ZQd+z1ZSB1F7dN+WsxUDh8+S4LwI+f3jw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.29.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "@typescript-eslint/parser": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.29.0.tgz", + "integrity": "sha512-H78M+jcu5Tf6m/5N8iiFblUUv+HJDguMSdFfzwa6vSg9lKR8Mk9BsgeSjO8l2EshKnJKcbv0e8IDDOvSNjl0EA==", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.29.0", + "@typescript-eslint/typescript-estree": "2.29.0", + "eslint-visitor-keys": "^1.1.0" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "@typescript-eslint/typescript-estree": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.29.0.tgz", + "integrity": "sha512-3YGbtnWy4az16Egy5Fj5CckkVlpIh0MADtAQza+jiMADRSKkjdpzZp/5WuvwK/Qib3Z0HtzrDFeWanS99dNhnA==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^6.3.0", + "tsutils": "^3.17.1" }, "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", "dev": true }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "acorn": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dev": true, "requires": { - "ms": "2.0.0" + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", "dev": true }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "acorn-walk": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", + "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", "dev": true }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "dev": true + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", "dev": true, "requires": { - "clone": "^1.0.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "type-fest": "^0.11.0" }, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "color-name": "~1.1.4" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, - "delayed-stream": { + "any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", + "dev": true + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, - "delegates": { + "astral-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, - "deprecated": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", - "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, - "detect-file": { + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "dev": true + }, + "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", "dev": true }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "readable-stream": "~1.1.9" + "tweetnacl": "^0.14.3" } }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "bl": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", + "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", "dev": true, - "optional": true, "requires": { - "jsbn": "~0.1.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "end-of-stream": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", - "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "once": "~1.3.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", "dev": true }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { - "homedir-polyfill": "^1.0.1" + "restore-cursor": "^3.1.0" } }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" }, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "color-convert": "^1.9.0" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "has-flag": "^3.0.0" } } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fancy-log": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", - "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", "dev": true, "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" + "color-convert": "^1.9.1", + "color-string": "^1.5.2" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "color-name": "1.1.3" } }, - "find-index": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", - "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "delayed-stream": "~1.0.0" } }, - "fined": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.1.tgz", - "integrity": "sha512-jQp949ZmEbiYHk3gkbdtpJ0G1+kgtLQBNdP5edFP7Fh+WAYceLQz6yO1SBj72Xkg8GVyTB3bBzAYrHJVh5Xd5g==", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", "dev": true }, - "for-in": { + "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, "requires": { - "for-in": "^1.0.1" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", "dev": true, "requires": { - "map-cache": "^0.2.2" + "mdn-data": "2.0.4", + "source-map": "^0.6.1" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", "dev": true }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "css-tree": "1.0.0-alpha.39" }, "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dev": true, + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", "dev": true } } }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "gaze": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", - "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", - "dev": true, - "requires": { - "globule": "~0.1.0" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", "dev": true }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "cssstyle": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.2.0.tgz", + "integrity": "sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "cssom": "~0.3.6" }, "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true } } }, - "glob": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", - "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^2.0.1", - "once": "^1.3.0" + "assert-plus": "^1.0.0" } }, - "glob-stream": { - "version": "3.1.18", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", - "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, "requires": { - "glob": "^4.3.1", - "glob2base": "^0.0.12", - "minimatch": "^2.0.1", - "ordered-read-streams": "^0.1.0", - "through2": "^0.6.1", - "unique-stream": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" } }, - "glob-watcher": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", - "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "gaze": "^0.5.1" + "ms": "^2.1.1" } }, - "glob2base": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", - "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "decimal.js": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz", + "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "find-index": "^0.1.1" + "object-keys": "^1.0.12" } }, - "global-modules": { + "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "esutils": "^2.0.2" } }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } } }, - "globule": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dev": true, "requires": { - "glob": "~3.1.21", - "lodash": "~1.0.1", - "minimatch": "~0.2.11" + "webidl-conversions": "^5.0.0" }, "dependencies": { - "glob": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", - "dev": true, - "requires": { - "graceful-fs": "~1.2.0", - "inherits": "1", - "minimatch": "~0.2.11" - } - }, - "graceful-fs": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", - "dev": true - }, - "inherits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, - "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" - } } } }, - "glogg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", - "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "sparkles": "^1.0.0" + "dom-serializer": "0", + "domelementtype": "1" } }, - "graceful-fs": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "natives": "^1.1.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "gulp": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", - "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { - "archy": "^1.0.0", - "chalk": "^1.0.0", - "deprecated": "^0.0.1", - "gulp-util": "^3.0.0", - "interpret": "^1.0.0", - "liftoff": "^2.1.0", - "minimist": "^1.1.0", - "orchestrator": "^0.3.0", - "pretty-hrtime": "^1.0.0", - "semver": "^4.1.0", - "tildify": "^1.0.0", - "v8flags": "^2.0.2", - "vinyl-fs": "^0.3.0" + "once": "^1.4.0" } }, - "gulp-cond": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulp-cond/-/gulp-cond-1.0.0.tgz", - "integrity": "sha1-mYDDzcr6m8TNMKuHEIesE1lVtVg=", + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "is-arrayish": "^0.2.1" } }, - "gulp-iconfont": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/gulp-iconfont/-/gulp-iconfont-8.0.1.tgz", - "integrity": "sha1-vDKqbj6lyjifuwFLqNLAjww8B2M=", + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", "dev": true, "requires": { - "gulp-cond": "^1.0.0", - "gulp-spawn": "^0.3.0", - "gulp-svg2ttf": "^2.0.0", - "gulp-svgicons2svgfont": "^3.0.1", - "gulp-ttf2eot": "^1.1.1", - "gulp-ttf2woff": "^1.1.0", - "gulp-ttf2woff2": "^2.0.2", - "gulp-util": "^3.0.7", - "plexer": "^1.0.1", - "streamfilter": "^1.0.5" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" } }, - "gulp-iconfont-css": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gulp-iconfont-css/-/gulp-iconfont-css-2.1.0.tgz", - "integrity": "sha1-QMD16/yI9kCXzOLNrNc/i0DOlnM=", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { - "consolidate": "^0.13.1", - "gulp-util": "^3.0.6", - "lodash": "^3.10.0" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "gulp-spawn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/gulp-spawn/-/gulp-spawn-0.3.0.tgz", - "integrity": "sha1-Qg+qjQcOy2DLgxYAKTayVCOcVuw=", - "dev": true, - "requires": { - "gulp-util": "~2.2.14", - "plexer": "0.0.1" + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "dependencies": { "ansi-regex": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", - "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "ansi-styles": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", - "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", - "dev": true - }, - "chalk": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", - "dev": true, - "requires": { - "ansi-styles": "^1.1.0", - "escape-string-regexp": "^1.0.0", - "has-ansi": "^0.1.0", - "strip-ansi": "^0.3.0", - "supports-color": "^0.2.0" - } - }, - "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" - } - }, - "gulp-util": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz", - "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=", - "dev": true, - "requires": { - "chalk": "^0.5.0", - "dateformat": "^1.0.7-1.2.3", - "lodash._reinterpolate": "^2.4.1", - "lodash.template": "^2.4.1", - "minimist": "^0.2.0", - "multipipe": "^0.1.0", - "through2": "^0.5.0", - "vinyl": "^0.2.1" - } - }, - "has-ansi": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "ansi-regex": "^0.2.0" + "color-convert": "^1.9.0" } }, - "lodash._reinterpolate": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", - "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=", - "dev": true - }, - "lodash.escape": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", - "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "lodash._escapehtmlchar": "~2.4.1", - "lodash._reunescapedhtml": "~2.4.1", - "lodash.keys": "~2.4.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" + "ms": "^2.1.1" } }, - "lodash.template": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", - "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=", + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { - "lodash._escapestringchar": "~2.4.1", - "lodash._reinterpolate": "~2.4.1", - "lodash.defaults": "~2.4.1", - "lodash.escape": "~2.4.1", - "lodash.keys": "~2.4.1", - "lodash.templatesettings": "~2.4.1", - "lodash.values": "~2.4.1" + "eslint-visitor-keys": "^1.1.0" } }, - "lodash.templatesettings": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", - "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=", + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, "requires": { - "lodash._reinterpolate": "~2.4.1", - "lodash.escape": "~2.4.1" + "is-glob": "^4.0.1" } }, - "minimist": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz", - "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "plexer": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/plexer/-/plexer-0.0.1.tgz", - "integrity": "sha1-aYLbjRzIPIivYIrNnOpdKSCPuZ8=", + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "strip-ansi": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^0.2.1" + "ansi-regex": "^4.1.0" } }, "supports-color": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", - "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", - "dev": true - }, - "through2": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", - "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", - "dev": true, - "requires": { - "readable-stream": "~1.0.17", - "xtend": "~3.0.0" - } - }, - "vinyl": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", - "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "clone-stats": "~0.0.1" + "has-flag": "^3.0.0" } - }, - "xtend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", - "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", - "dev": true } } }, - "gulp-svg2ttf": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/gulp-svg2ttf/-/gulp-svg2ttf-2.0.1.tgz", - "integrity": "sha1-EdaLu+J7ifR2V7TY8pzzOFTX5ow=", + "eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", "dev": true, "requires": { - "bufferstreams": "^1.1.0", - "gulp-util": "^3.0.7", - "readable-stream": "^2.0.4", - "svg2ttf": "^4.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "get-stdin": "^6.0.0" } }, - "gulp-svgicons2svgfont": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/gulp-svgicons2svgfont/-/gulp-svgicons2svgfont-3.0.3.tgz", - "integrity": "sha1-ZQCK/4djOipMZMf6PIxt4NBgNKY=", + "eslint-plugin-prettier": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz", + "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==", "dev": true, "requires": { - "gulp-util": "~3.0.6", - "plexer": "1.0.1", - "readable-stream": "^2.0.2", - "svgicons2svgfont": "^5.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "plexer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/plexer/-/plexer-1.0.1.tgz", - "integrity": "sha1-qAG2Ur+BRXOXlepNO/CvlGwwwN0=", - "dev": true, - "requires": { - "isstream": "^0.1.2", - "readable-stream": "^2.0.2" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "prettier-linter-helpers": "^1.0.0" } }, - "gulp-svgmin": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/gulp-svgmin/-/gulp-svgmin-1.2.4.tgz", - "integrity": "sha1-pKqeJhXPEQXvVVrqhuhilswg4nM=", + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", "dev": true, "requires": { - "gulp-util": "^3.0.4", - "svgo": "^0.7.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, - "gulp-ttf2eot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gulp-ttf2eot/-/gulp-ttf2eot-1.1.2.tgz", - "integrity": "sha1-Z1Fv4lO67Ls5ELQXoI3LUeNKyww=", + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", "dev": true, "requires": { - "bufferstreams": "^1.1.0", - "gulp-util": "^3.0.7", - "readable-stream": "^2.0.4", - "ttf2eot": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "eslint-visitor-keys": "^1.1.0" } }, - "gulp-ttf2woff": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/gulp-ttf2woff/-/gulp-ttf2woff-1.1.1.tgz", - "integrity": "sha1-4iym5xvZrRBXUWRPixx+O+Owhqw=", + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, "requires": { - "bufferstreams": "^1.0.2", - "gulp-util": "^3.0.6", - "readable-stream": "^2.0.1", - "ttf2woff": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" } }, - "gulp-ttf2woff2": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/gulp-ttf2woff2/-/gulp-ttf2woff2-2.0.2.tgz", - "integrity": "sha1-8QGxUg8jaqZ2fsRb9HVByxWe6zI=", + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.2.0.tgz", + "integrity": "sha512-weltsSqdeWIX9G2qQZz7KlTRJdkkOCTPgLYJUz1Hacf48R4YOwGPHO3+ORfWedqJKbq5WQmsgK90n+pFLIKt/Q==", "dev": true, "requires": { - "bufferstreams": "^1.1.0", - "gulp-util": "^3.0.7", - "readable-stream": "^2.0.4", - "ttf2woff2": "^2.0.3" + "estraverse": "^5.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "estraverse": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.0.0.tgz", + "integrity": "sha512-j3acdrMzqrxmJTNj5dbr1YbjacrYgAxVMeF0gK16E3j494mOe7xygM/ZLIguEQ0ETwAg2hlJCtHRGav+y0Ny5A==", "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } } } }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", - "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "glogg": "^1.0.0" + "estraverse": "^4.1.0" } }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" } }, - "has-ansi": { + "extract-zip": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", + "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" } }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - } + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "dev": true }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, - "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "pend": "~1.2.0" } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { - "repeating": "^2.0.0" + "escape-string-regexp": "^1.0.5" } }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "flat-cache": "^2.0.1" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", "dev": true }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", "dev": true, "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" + "semver-regex": "^2.0.0" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { - "kind-of": "^3.0.2" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "glob": "^7.1.3" } } } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "pump": "^3.0.0" } }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "assert-plus": "^1.0.0" } }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "dev": true, "requires": { - "isobject": "^3.0.1" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "requires": { - "is-unc-path": "^1.0.0" + "type-fest": "^0.8.1" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "unc-path-regex": "^0.1.2" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", "dev": true, - "optional": true + "requires": { + "agent-base": "5", + "debug": "4" + } }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "husky": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz", + "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^6.0.0", + "find-versions": "^3.2.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^4.2.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + } }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "jsonify": "~0.0.0" + "safer-buffer": ">= 2.1.2 < 3" } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", "dev": true }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "dev": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "extend": "^3.0.0", - "findup-sync": "^2.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" + "once": "^1.3.0", + "wrappy": "1" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "lodash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", - "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", "dev": true }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", "dev": true }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, - "lodash._escapehtmlchar": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", - "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=", - "dev": true, - "requires": { - "lodash._htmlescapes": "~2.4.1" - } - }, - "lodash._escapestringchar": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", - "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=", + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", "dev": true }, - "lodash._htmlescapes": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=", - "dev": true + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", "dev": true }, - "lodash._isnative": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=", + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, - "lodash._objecttypes": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=", - "dev": true + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "lodash._reunescapedhtml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", - "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=", + "jimp": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.10.3.tgz", + "integrity": "sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==", "dev": true, "requires": { - "lodash._htmlescapes": "~2.4.1", - "lodash.keys": "~2.4.1" - }, - "dependencies": { - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "dev": true, - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - } + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.10.3", + "@jimp/plugins": "^0.10.3", + "@jimp/types": "^0.10.3", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" } }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "jpeg-js": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.7.tgz", + "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==", "dev": true }, - "lodash._shimkeys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", - "dev": true, - "requires": { - "lodash._objecttypes": "~2.4.1" - } + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, - "lodash.defaults": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", - "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=", + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "lodash._objecttypes": "~2.4.1", - "lodash.keys": "~2.4.1" - }, - "dependencies": { - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "dev": true, - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - } + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true, - "requires": { - "lodash._root": "^3.0.0" - } + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "jsdom": { + "version": "16.2.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.2.2.tgz", + "integrity": "sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.0.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, - "lodash.isobject": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", - "dev": true, - "requires": { - "lodash._objecttypes": "~2.4.1" - } + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" } }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, - "lodash.values": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", - "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=", + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "load-bmfont": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.0.tgz", + "integrity": "sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==", "dev": true, "requires": { - "lodash.keys": "~2.4.1" - }, - "dependencies": { - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "dev": true, - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - } + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "p-locate": "^4.1.0" } }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true }, - "microbuffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz", - "integrity": "sha1-izgy7UDIfVH0e7I0kTppinVtGdI=", + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", "dev": true }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "mime-db": "1.43.0" } }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { - "mime-db": "~1.33.0" + "dom-walk": "^0.1.0" } }, "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.0.0" + "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "minimist": "^1.2.5" } }, + "mkdirp-classic": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz", + "integrity": "sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g==", + "dev": true + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true, - "requires": { - "duplexer2": "0.0.2" - } + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, - "natives": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", - "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==", + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", "dev": true }, - "neatequal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/neatequal/-/neatequal-1.0.0.tgz", - "integrity": "sha1-LuEhG8n6bkxVcV/SELsFYC6xrjs=", + "node-html-parser": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.2.16.tgz", + "integrity": "sha512-TrLpGov7J9hBdWWREudBreragmRPq2Q5b19Ly66XoZVUZbb8JXkIqHkPbTHKicuVC8jNnkP4bRnNVik4mkPahw==", + "requires": { + "he": "1.1.1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { - "varstream": "^0.3.2" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node-gyp": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz", - "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": ">=2.9.0 <2.82.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" }, "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "pify": "^3.0.0" } }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "boolbase": "~1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { - "isobject": "^3.0.0" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "dev": true, "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" } }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", "dev": true, "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } + "omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==", + "dev": true }, "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" } }, - "orchestrator": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", - "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", "dev": true, "requires": { - "end-of-stream": "~0.1.5", - "sequencify": "~0.0.7", - "stream-consume": "~0.1.0" + "mimic-fn": "^2.1.0" } }, - "ordered-read-streams": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", - "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", "dev": true }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } }, "os-tmpdir": { "version": "1.0.2", @@ -3040,412 +2738,424 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "p-try": "^2.0.0" } }, - "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", - "dev": true - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" + "p-limit": "^2.2.0" } }, - "parse-json": { + "p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "callsites": "^3.0.0" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=", "dev": true }, - "path-parse": { + "parse-bmfont-binary": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=", "dev": true }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", "dev": true, "requires": { - "path-root-regex": "^0.1.0" + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" } }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==", "dev": true }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - } + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" } }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "plexer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/plexer/-/plexer-1.0.2.tgz", - "integrity": "sha512-YvKSr441x/P9tNuNHUyDWGUSnzsCNXox425j14/3+YcwMyVnJs11qiz/ZWti/y+UNhCFu4SkDSelHYY5hXpifQ==", - "dev": true, - "requires": { - "debug": "2.6.1", - "isstream": "^0.1.2", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "debug": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz", - "integrity": "sha1-eYVQkLosTjEVzH2HaUkdWPBJE1E=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "phin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", "dev": true }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "pngjs": "^3.0.0" } }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "find-up": "^4.0.0" } }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", "dev": true, "requires": { - "resolve": "^1.1.6" + "semver-compare": "^1.0.0" } }, - "redent": { + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prettier": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", + "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", + "dev": true + }, + "prettier-linter-helpers": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "fast-diff": "^1.1.2" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "puppeteer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-3.0.1.tgz", + "integrity": "sha512-DxNnI9n4grVHC+9irUfNK2T6YFuRECJnvG7VzdVolxpVwWC5DQqI5ho9Z0af48K5MQW4sJY5cq3qQ5g6NkAjvw==", + "dev": true, + "requires": { + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "mime-types": "^2.1.25", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "is-finite": "^1.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true }, "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } } }, - "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", "dev": true, "requires": { - "path-parse": "^1.0.6" + "lodash": "^4.17.15" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", "dev": true, "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } } }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "glob": "^7.0.5" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", + "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" } }, "safe-buffer": { @@ -3454,15 +3164,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -3475,210 +3176,131 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "sequencify": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", - "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", "dev": true }, - "set-blocking": { + "semver-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", "dev": true }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "shebang-regex": "^1.0.0" } }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "is-arrayish": "^0.3.1" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true } } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "color-convert": "^1.9.0" } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true } } }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.x.x" - } - }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "source-map-support": { + "version": "0.5.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.18.tgz", + "integrity": "sha512-9luZr/BZ2QeU6tO2uG8N2aZpVSli4TSAOAqFOyTO51AJcD9P99c0K1h6dD6r6qo5dyT44BR5exweOaLLeldTkQ==", "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true - }, "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -3686,9 +3308,9 @@ } }, "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", "dev": true }, "spdx-expression-parse": { @@ -3702,20 +3324,11 @@ } }, "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -3723,450 +3336,350 @@ "dev": true }, "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stream-consume": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", - "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==", - "dev": true - }, - "streamfilter": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/streamfilter/-/streamfilter-1.0.7.tgz", - "integrity": "sha512-Gk6KZM+yNA1JpW0KzlZIhjo3EaBJDkYfXtYSbOwNIQ7Zd6006E6+sCFlW1NDvFG/vnXhKmw6TJJgiEQg/8lXfQ==", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, - "string.fromcodepoint": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz", - "integrity": "sha1-jZeDM8C8klOPUPOD5IiPPlYZ1lM=", + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, - "string.prototype.codepointat": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", - "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==", + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "string.prototype.padend": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", + "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } }, - "stringstream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", - "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "dev": true + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" } }, - "strip-bom": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", - "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", "dev": true, "requires": { - "first-chunk-stream": "^1.0.0", - "is-utf8": "^0.2.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" } }, - "strip-indent": { + "string.prototype.trimstart": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "svg-pathdata": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-1.0.4.tgz", - "integrity": "sha1-emgTQqrH7/2NUq+6eZmRDJ2juVk=", + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "readable-stream": "~2.0.4" + "safe-buffer": "~5.2.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } } } }, - "svg2ttf": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/svg2ttf/-/svg2ttf-4.1.0.tgz", - "integrity": "sha1-ggIuVovQPBq7Zo/djRXwCJVqDhA=", + "strip-json-comments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "argparse": "^1.0.6", - "cubic2quad": "^1.0.0", - "lodash": "^4.6.1", - "microbuffer": "^1.0.0", - "svgpath": "^2.1.5", - "xmldom": "~0.1.22" + "has-flag": "^4.0.0" }, "dependencies": { - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true } } }, - "svgicons2svgfont": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/svgicons2svgfont/-/svgicons2svgfont-5.0.2.tgz", - "integrity": "sha1-BRGCPGSRvhp9VDKS4pqK5ietBAY=", + "svg-autocrop": { + "version": "github:mzdunek93/svg-autocrop#0c9a4530372b40d42c68899daaeb7bf7f46b9d86", + "from": "github:mzdunek93/svg-autocrop#mzdunek-svg-autocrop-v1.0.0-gitpkg", + "dev": true, + "requires": { + "jimp": "0.10.3", + "jsdom": "^16.2.2", + "puppeteer": "3.0.1" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "dev": true, "requires": { - "commander": "^2.9.0", - "neatequal": "^1.0.0", - "readable-stream": "^2.0.4", - "sax": "^1.1.5", - "string.fromcodepoint": "^0.2.1", - "string.prototype.codepointat": "^0.2.0", - "svg-pathdata": "^1.0.4" + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "has-flag": "^3.0.0" } } } }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - } - }, - "svgpath": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/svgpath/-/svgpath-2.2.1.tgz", - "integrity": "sha1-CDS7Z8iadkcrK9BswQH6e1F7Iiw=", + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "ansi-regex": "^4.1.0" } } } }, - "tildify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "tar-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", + "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", "dev": true, "requires": { - "os-homedir": "^1.0.0" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" } }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "tar-stream": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz", + "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "bl": "^4.0.1", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "timm": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.6.2.tgz", + "integrity": "sha512-IH3DYDL1wMUwmIlVmMrmesw5lZD6N+ZOAFWEyLrtpoL9Bcrs9u7M/vyOnHzDD2SMs4irLkVjqxZbHrXStS/Nmw==", + "dev": true + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "os-tmpdir": "~1.0.2" } }, "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dev": true, "requires": { - "punycode": "^1.4.1" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "ttf2eot": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ttf2eot/-/ttf2eot-2.0.0.tgz", - "integrity": "sha1-jmM3pYWr0WCKDISVirSDzmn2ZUs=", + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", "dev": true, "requires": { - "argparse": "^1.0.6", - "microbuffer": "^1.0.0" + "punycode": "^2.1.1" } }, - "ttf2woff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ttf2woff/-/ttf2woff-2.0.1.tgz", - "integrity": "sha1-hxgyJAAksJ25VwkEx8GSi4BXyWk=", + "ts-node": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.9.0.tgz", + "integrity": "sha512-rwkXfOs9zmoHrV8xE++dmNd6ZIS+nmHHCxcV53ekGJrxFLMbp+pizpPS07ARvhwneCIECPppOwbZHvw9sQtU4w==", "dev": true, "requires": { - "argparse": "^1.0.6", - "microbuffer": "^1.0.0", - "pako": "^1.0.0" + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" } }, - "ttf2woff2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ttf2woff2/-/ttf2woff2-2.0.3.tgz", - "integrity": "sha1-XgIK/m5kMofzrXaHq+0g/mVOsyk=", + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", "dev": true, "requires": { - "bindings": "^1.2.1", - "bufferstreams": "^1.1.0", - "nan": "^2.1.0", - "node-gyp": "^3.0.3" + "tslib": "^1.8.1" } }, "tunnel-agent": { @@ -4182,119 +3695,62 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", "dev": true }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "prelude-ls": "~1.1.2" } }, - "unique-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", - "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "typescript": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", + "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", + "dev": true + }, + "unbzip2-stream": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.2.tgz", + "integrity": "sha512-pZMVAofMrrHX6Ik39hCk470kulCbmZ2SWfQLPmTWqfJV/oUm0gn1CblvHdUu4+54Je6Jq34x8kY6XjTy6dMkOg==", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "buffer": "^5.2.1", + "through": "^2.3.8" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", "dev": true }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true + "utif": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "dev": true, + "requires": { + "pako": "^1.0.5" + } }, "util-deprecate": { "version": "1.0.2", @@ -4302,40 +3758,40 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", - "dev": true - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", "dev": true, "requires": { - "user-home": "^1.1.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" } }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "varstream": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/varstream/-/varstream-0.3.2.tgz", - "integrity": "sha1-GKxklHZfP/GjWtmkvgU77BiKXeE=", - "dev": true, - "requires": { - "readable-stream": "^1.0.33" - } - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -4345,89 +3801,66 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.0.0.tgz", + "integrity": "sha512-jTZAeJnc6D+yAOjygbJOs33kVQIk5H6fj9SFDOhIKjsf9HiAzL/c+tAJsc8ASWafvhNkH+wJZms47pmajkhatA==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" + "iconv-lite": "0.4.24" } }, - "vinyl-fs": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", - "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.0.0.tgz", + "integrity": "sha512-41ou2Dugpij8/LPO5Pq64K5q++MnRCBpEHvQr26/mArEKTkCV5aoXIqyhuYtE0pkqScXwhf2JP57rkRTYM29lQ==", "dev": true, "requires": { - "defaults": "^1.0.0", - "glob-stream": "^3.1.5", - "glob-watcher": "^0.0.6", - "graceful-fs": "^3.0.0", - "mkdirp": "^0.5.0", - "strip-bom": "^1.0.0", - "through2": "^0.6.1", - "vinyl": "^0.4.0" + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.0", + "webidl-conversions": "^5.0.0" }, "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } } } }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -4437,14 +3870,17 @@ "isexe": "^2.0.0" } }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true }, "wrappy": { "version": "1.0.2", @@ -4452,16 +3888,96 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "xmldom": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", - "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", + "dev": true + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "dev": true, + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=", + "dev": true + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yaml": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.8.3.tgz", + "integrity": "sha512-X/v7VDnK+sxbQ2Imq4Jt2PRUsRsP7UcpSl3Llg6+NRRqWLIvxkMFYtH1FmvwNGYRKKPa+EPA4qDBlI9WVG1UKw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.7" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true } } diff --git a/package.json b/package.json index a5d6a26f..15c317ba 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,22 @@ "engines": { "atom": ">1.13.0" }, + "husky": { + "hooks": { + "pre-commit": "npm run lint --fix" + } + }, "main": "lib/main", "scripts": { - "prepublishOnly": "gulp icons" + "build:ts": "rm -rf lib && tsc --project tsconfig.project.json --rootDir src --outDir lib", + "build:svg": "ts-node --files ./scripts/transform.ts", + "build": "run-p build:ts build:svg", + "lint": "eslint . --ext .ts", + "prepublishOnly": "npm run build", + "vs-theme": "ts-node --files ./scripts/vs-theme.ts", + "watch:ts": "npm run build:ts -w", + "watch:svg": "ICONS_WATCH=true ts-node --files ./scripts/transform.ts", + "watch": "run-p watch:ts watch:svg" }, "configSchema": { "themeColor": { @@ -88,9 +101,33 @@ } }, "devDependencies": { - "gulp": "^3.9.1", - "gulp-iconfont": "8.0.1", - "gulp-iconfont-css": "^2.1.0", - "gulp-svgmin": "^1.2.3" + "@types/atom": "^1.40.2", + "@types/color": "^3.0.1", + "@types/jsdom": "^16.2.1", + "@types/node": "^13.13.2", + "@types/node-fetch": "^2.5.6", + "@types/svgo": "^1.3.2", + "@typescript-eslint/eslint-plugin": "^2.29.0", + "@typescript-eslint/parser": "^2.29.0", + "chalk": "^4.0.0", + "color": "^3.1.2", + "eslint": "^6.8.0", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-prettier": "^3.1.3", + "husky": "^4.2.5", + "jsdom": "^16.2.2", + "moment": "^2.24.0", + "node-fetch": "^2.6.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.0.5", + "rxjs": "^6.5.5", + "svg-autocrop": "github:mzdunek93/svg-autocrop#mzdunek-svg-autocrop-v1.0.0-gitpkg", + "svgo": "^1.3.2", + "ts-node": "^8.9.0", + "tslib": "^1.11.1", + "typescript": "^3.8.3" + }, + "dependencies": { + "node-html-parser": "^1.2.16" } } diff --git a/screenshot-icons.png b/screenshot-icons.png index f9a8abd6..b76f0d1e 100644 Binary files a/screenshot-icons.png and b/screenshot-icons.png differ diff --git a/scripts/logger.ts b/scripts/logger.ts new file mode 100644 index 00000000..d0684ecc --- /dev/null +++ b/scripts/logger.ts @@ -0,0 +1,23 @@ +import chalk from 'chalk' +import moment from 'moment' + +const queue: string[] = [] +const getDate = () => moment().format('YYYY-MM-DD HH:mm:ss') +const getChalkFn = (type: string) => + type === 'success' + ? chalk.green + : type === 'error' + ? chalk.red + : type === 'info' + ? chalk.yellow + : chalk.white + +const printLine = (line: string | undefined) => process.stdout.write(`${line}\n`) +const getMessage = (type: string, output: string) => `[${getChalkFn(type)(getDate())}]: ${output}` +export const log = (type: string, output: string) => printLine(getMessage(type, output)) +export const enqueue = (type: string, output: string) => queue.push(getMessage(type, output)) +export const flush = () => { + while (queue.length > 0) { + printLine(queue.shift()) + } +} diff --git a/scripts/observable.ts b/scripts/observable.ts new file mode 100644 index 00000000..aa66403d --- /dev/null +++ b/scripts/observable.ts @@ -0,0 +1,140 @@ +import fs from 'fs' +import { Observable, from, merge } from 'rxjs' +import { mergeMap, scan, filter, auditTime, startWith } from 'rxjs/operators' + +import { log, enqueue } from './logger' +import { DirContent } from './types' + +export const promiseAll = async (thunks: (() => Promise | T)[], n = 0) => { + if (n === 0) return Promise.all(thunks.map((thunk) => thunk())) + const head = thunks.slice(0, n) + const tail = thunks.slice(n) + const result: T[] = [] + const execute = async (thunk: () => Promise | T, i: number, runNext: () => Promise) => { + result[i] = await thunk() + await runNext() + } + const runNext = async () => { + const i = thunks.length - tail.length + const promise = tail.shift() + if (promise !== undefined) { + await execute(promise, i, runNext) + } + } + await Promise.all(head.map((thunk, i) => execute(thunk, i, runNext))) + return result +} + +export function fromCallback( + fn: (arg: T, callback: (...args: [P1, P2, P3, P4, P5]) => unknown) => unknown +): (arg: T) => Observable<[P1, P2, P3, P4, P5]> +export function fromCallback( + fn: (arg: T, callback: (...args: [P1, P2, P3, P4]) => unknown) => unknown +): (arg: T) => Observable<[P1, P2, P3, P4]> +export function fromCallback( + fn: (arg: T, callback: (...args: [P1, P2, P3]) => unknown) => unknown +): (arg: T) => Observable<[P1, P2, P3]> +export function fromCallback( + fn: (arg: T, callback: (...args: [P1, P2]) => unknown) => unknown +): (arg: T) => Observable<[P1, P2]> +export function fromCallback( + fn: (arg: T, callback: (...args: [P]) => unknown) => unknown +): (arg: T) => Observable<[P]> +export function fromCallback(fn: (arg: T, callback: (...args: P[]) => unknown) => unknown) { + return (arg: T) => + new Observable((subscriber) => { + try { + fn(arg, (...args: P[]) => subscriber.next(args)) + } catch (e) { + subscriber.error(e) + } + }) +} + +export function mapSpread( + fn: (...args: [T]) => P, + concurrent?: number +): (obs: Observable<[T]>) => Observable

+export function mapSpread( + fn: (...args: [T1, T2]) => P | Promise

, + concurrent?: number +): (obs: Observable<[T1, T2]>) => Observable

+export function mapSpread( + fn: (...args: [T1, T2, T3]) => P | Promise

, + concurrent?: number +): (obs: Observable<[T1, T2, T3]>) => Observable

+export function mapSpread( + fn: (...args: [T1, T2, T3, T4]) => P | Promise

, + concurrent?: number +): (obs: Observable<[T1, T2, T3, T4]>) => Observable

+export function mapSpread( + fn: (...args: [T1, T2, T3, T4, T5]) => P | Promise

, + concurrent?: number +): (obs: Observable<[T1, T2, T3, T4, T5]>) => Observable

+export function mapSpread(fn: (...args: T[]) => P | Promise

, concurrent?: number) { + return (obs: Observable) => mergeMap(async (arr: T[]) => fn(...arr), concurrent)(obs) +} + +export const readFile = (file: string) => from(fs.promises.readFile(file, 'utf-8')) + +export const observeFile = (file: string) => + fromCallback(fs.watchFile)(file).pipe( + startWith(true), + mergeMap(() => readFile(file)) + ) + +export const readDir = ( + dir: string, + loadFn: (names: string[]) => T[] | Promise, + fileFilter: (file: string) => boolean = () => true +) => + from(fs.promises.readdir(dir)).pipe( + mergeMap(async (arr) => { + log('info', `Loading files...`) + try { + const filtered = arr.filter(fileFilter) + const content = await loadFn(filtered) + return filtered + .map((file, i) => ({ [file]: content[i] })) + .reduce((acc, curr) => ({ ...acc, ...curr })) as DirContent + } catch (e) { + enqueue('error', e.stack ? e.stack : e) + return {} + } + }) + ) + +export const watchDir = ( + dir: string, + loadFn: (names: string[]) => T[] | Promise, + fileFilter: (file: string) => boolean = () => true +) => + fromCallback(fs.watch)(dir).pipe( + filter(([, filename]) => fileFilter(filename)), + auditTime(500), + mapSpread(async (eventType: string, filename: string) => { + log('info', `Loading file ${filename}`) + return { + filename, + content: eventType === 'rename' ? null : (await loadFn([filename]))[0] + } + }), + scan( + (acc, { filename, content }) => + content === null + ? Object.entries(acc) + .filter(([key]) => key !== filename) + .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}) + : { ...acc, [filename]: content }, + {} as DirContent + ) + ) + +export const observeDir = ( + dir: string, + loadFn: (names: string[]) => T[] | Promise, + fileFilter: (file: string) => boolean = () => true +) => + merge(readDir(dir, loadFn, fileFilter), watchDir(dir, loadFn, fileFilter)).pipe( + scan((acc, curr) => ({ ...acc, ...curr })) + ) diff --git a/scripts/parse.ts b/scripts/parse.ts new file mode 100644 index 00000000..4ea8768d --- /dev/null +++ b/scripts/parse.ts @@ -0,0 +1,48 @@ +import os from 'os' + +import { normalizeColor } from './svg' +import { ColorVars, Mappings } from './types' + +const interpolate = (regExp: RegExp, values: { [key: string]: string[] | undefined }) => + new RegExp( + Object.entries(values).reduce( + (acc, [key, values]) => acc.replace(`{${key}}`, `(${values?.join('|')})`), + regExp.source + ), + regExp.flags + ) + +export const parseColorVars = (content: string) => + content + .split(os.EOL) + .map((line) => line.match(/@(?\w+): (?#[0-9a-f]{6}|[0-9a-f]{3})/i)?.groups) + .filter((match): match is { [key: string]: string } => match !== undefined) + .map(({ color, code }) => ({ [color]: normalizeColor(code) })) + .reduce((acc, curr) => ({ ...acc, ...curr })) + +const getMappingRegexp = (colorVars: ColorVars) => + interpolate( + /\.icon-(?ext|name|default)\(("(?[^"]*)", )?"(?[^"]*)"(, "(?{colors})")?\)/, + { colors: Object.keys(colorVars) } + ) + +export const parseMappings = (content: string, colorVars: ColorVars) => + content + .split(os.EOL) + .map((line) => line.match(getMappingRegexp(colorVars))?.groups) + .filter((match): match is { [key: string]: string } => match !== undefined) + +export const getMappings = (content: string, colorVars: ColorVars) => + parseMappings(content, colorVars) + .map(({ icon, color = '' }) => ({ icon: `${icon}.svg`, color })) + .reduce( + (acc, { icon, color }) => ({ + ...acc, + [icon]: !acc[icon] + ? [color] + : acc[icon]?.includes(color) + ? acc[icon] + : [...(acc[icon] ?? []), color] + }), + {} as Mappings + ) diff --git a/scripts/svg.ts b/scripts/svg.ts new file mode 100644 index 00000000..1b4ade7d --- /dev/null +++ b/scripts/svg.ts @@ -0,0 +1,249 @@ +import fs from 'fs' +import Color from 'color' +import { JSDOM } from 'jsdom' +import SVGO from 'svgo' +import autocrop from 'svg-autocrop' + +import { ColorVars, ColorMap, Serializable, RGBColor, RGBIndex } from './types' + +const { + window: { document } +} = new JSDOM() + +const COLOR_ATTRS = ['fill', 'stroke'] +const MASK_ELEM_SELECTOR = 'mask, mask *' + +export const normalizeColor = (color: string | Color) => Color(color).rgb().alpha(1).hex() + +const modifyNodes = (selector: string, fn: (el: Element, container: Element) => void) => ( + content: string +) => { + const div = document.createElement('div') + div.innerHTML = content + div.querySelectorAll(selector).forEach((el) => fn(el, div)) + const result = div.innerHTML + div.remove() + return result +} + +const normalizeAttr = ( + el: Element, + attr: string, + fn: (val: string | null) => Serializable | null +) => { + const updated = fn(el.getAttribute(attr)) + + if (updated !== null) { + el.setAttribute(attr, updated.toString()) + } else { + el.removeAttribute(attr) + } +} + +const getClosest = (color: string | Color, colorVars: RGBColor[]) => { + const rgb = Color(color).rgb().object() + const keys: RGBIndex[] = ['r', 'g', 'b'] + const distances = colorVars.map((rgbVar) => + keys + .map((key) => rgbVar[key] - rgb[key]) + .map(Math.abs) + .reduce((acc, curr) => acc + curr) + ) + const minIndex = distances.indexOf(Math.min(...distances)) + return normalizeColor(Color(colorVars[minIndex])) +} + +const maskColors = ['black', 'white'].map((color) => Color(color).rgb().object()) as RGBColor[] +const omittedColors = ['none', 'null', null] + +export const getColors = (content: string, selector = '*') => { + const div = document.createElement('div') + div.innerHTML = content + const result = [ + ...new Set( + Array.from(div.querySelectorAll(selector)) + .flatMap((node) => COLOR_ATTRS.map((attr) => node.getAttribute(attr))) + .filter((color): color is string => !omittedColors.includes(color)) + ) + ] + div.remove() + return result +} + +export const getReplaceable = (colors: string[], colorVars: ColorVars): string[] => + colors.length <= 1 + ? colors + : colors.find((color) => color === colorVars.white) + ? getReplaceable( + colors.filter((color) => color !== colorVars.white), + colorVars + ) + : colors.filter((color) => color !== colorVars.black) + +const getColorsMap = (content: string, vars: RGBColor[], selector = '*') => { + return getColors(content, selector) + .map((color) => ({ + [color]: getClosest(color, vars) + })) + .reduce((acc, curr) => ({ ...acc, ...curr }), {}) +} + +export const replaceColors = (content: string, colorsMap: ColorMap, selector = '*') => + modifyNodes(selector, (node) => { + COLOR_ATTRS.forEach((attr) => + normalizeAttr(node, attr, (color) => { + if (!colorsMap[color ?? 'null']) { + return color + } + return colorsMap[color ?? 'null'] + }) + ) + })(content) + +const getColorAt = (el: Element, offset: number) => { + const stops = Array.from(el.querySelectorAll('stop')) + if (stops.length === 0) { + return null + } + const before = stops.filter((stop) => Number(stop.getAttribute('offset')) < offset) + if (before.length === 0) { + return stops[0].getAttribute('stop-color') + } else if (before.length === stops.length) { + return stops[stops.length - 1].getAttribute('stop-color') + } else { + const elements = [-1, 0].map((n) => n + before.length).map((n) => stops[n]) + const [c1, c2] = elements.map((el) => el.getAttribute('stop-color') ?? '') + const [o1, o2] = elements.map((el, i) => Number(el.getAttribute('offset') ?? i)) + return Color(c1).mix(Color(c2), (offset - o1) / (o2 - o1)) + } +} + +const URL_REGEXP = /url\((?[#\.]?[\w-]+)\)/ + +export const processMasks = (content: string) => { + const map = getColorsMap(content, maskColors, MASK_ELEM_SELECTOR) + return replaceColors(content, map, MASK_ELEM_SELECTOR) +} + +export const fillMasks = (content: string) => + modifyNodes(MASK_ELEM_SELECTOR, (node) => { + COLOR_ATTRS.forEach((attr) => + normalizeAttr(node, attr, (color) => { + if (color === null) { + return attr === 'fill' ? normalizeColor('black') : null + } else { + return color + } + }) + ) + })(content) + +export const processIcon = (content: string, colorVars: ColorVars) => { + const processedVars = Object.values(colorVars).map((color) => + Color(color).rgb().object() + ) as RGBColor[] + const colorsMap = getColorsMap(content, processedVars) + const normalized = replaceColors(content, colorsMap) + const maskMap = { + [colorVars.black]: normalizeColor('#000'), + [colorVars.white]: normalizeColor('#FFF') + } + const masksFixed = replaceColors(normalized, maskMap, MASK_ELEM_SELECTOR) + const masksFilled = fillMasks(masksFixed) + return masksFilled +} + +const getGradientColor = (selector: string, container: Element): string | null => { + const el = container.querySelector(selector) + if (!el || (el.tagName !== 'linearGradient' && el.tagName !== 'radialGradient')) { + return null + } + if (el.hasAttribute('xlink:href')) { + return getGradientColor(el.getAttribute('xlink:href')!, container) + } + return normalizeColor(getColorAt(el, 0.5) ?? 'black') +} + +export const resolveColors = modifyNodes(':not(mask)', (node, container) => { + node.removeAttribute('opacity') + node.removeAttribute('fill-opacity') + node.removeAttribute('stroke-opacity') + COLOR_ATTRS.forEach((attr) => + normalizeAttr(node, attr, (color) => { + if (color === null) { + return null + } + if (!URL_REGEXP.test(color)) { + if (!['none', 'null'].includes(color)) { + return normalizeColor(color) + } else { + return color + } + } + const { selector } = color.match(URL_REGEXP)?.groups ?? { selector: ':not(*)' } + return getGradientColor(selector, container) + }) + ) +}) + +const squareViewBox = (content: string) => { + const div = document.createElement('div') + div.innerHTML = content + const svg = div.querySelector('svg')! + const [x, y, width, height] = svg.getAttribute('viewBox')!.split(' ').map(Number) + + if (width < height) { + const newWidth = height + const newX = x - (newWidth - width) / 2 + svg.setAttribute( + 'viewBox', + `${Number(newX.toPrecision(5))} ${y} ${Number(newWidth.toPrecision(5))} ${height}` + ) + } + + if (height < width) { + const newHeight = width + const newY = y - (newHeight - height) / 2 + svg.setAttribute( + 'viewBox', + `${x} ${Number(newY.toPrecision(5))} ${width} ${Number(newHeight.toPrecision(5))}` + ) + } + + const result = div.innerHTML + div.remove() + return result +} + +const readIcon = async (icon: string) => { + const content = await fs.promises.readFile(`src/icons/${icon}`, 'utf-8') + const { data } = await new SVGO({ + full: true, + plugins: [{ inlineStyles: { onlyMatchedOnce: false } }, { convertStyleToAttrs: true }] + }).optimize(content) + const resolved = resolveColors(data) + return processMasks(resolved) +} + +export const readIcons = async (icons: string[]) => { + const loaded = await Promise.all(icons.map(readIcon)) + const cropped = await autocrop(loaded, { scale: 1.3 }) + const svgo = new SVGO({ plugins: [{ removeViewBox: false }, { removeDimensions: true }] }) + return Promise.all( + cropped.map(squareViewBox).map(async (content) => (await svgo.optimize(content)).data) + ) +} + +export const prepareIconVersion = (content: string, colorVars: ColorVars, base: string) => { + const varCodes = Object.values(colorVars) + const colors = getColors(content).filter((color) => varCodes.includes(color)) + const inverse = base === colorVars.black ? colorVars.white : colorVars.black + const transFn = + base === colorVars.black + ? (c: string) => c + : (c: string) => normalizeColor(Color(c).darken(0.1)) + const colorsMap = varCodes.reduce((acc, color) => ({ [color]: transFn(color), ...acc }), { + [base]: colors.length === 1 ? inverse : base + }) + return replaceColors(content, colorsMap) +} diff --git a/scripts/transform.ts b/scripts/transform.ts new file mode 100644 index 00000000..a85ea8dc --- /dev/null +++ b/scripts/transform.ts @@ -0,0 +1,132 @@ +import fs from 'fs' +import path from 'path' +import { combineLatest, Subject, of, zip } from 'rxjs' +import { map, pairwise, startWith, catchError } from 'rxjs/operators' + +import { mapSpread, observeFile, observeDir, readFile, readDir } from './observable' +import { log, enqueue, flush } from './logger' +import { readIcons, processIcon, getColors, getReplaceable, replaceColors } from './svg' +import { parseColorVars, getMappings } from './parse' +import { filterKeys, mapValues, stripExt } from './utils' +import { IconsObj, IconsDiff, Mappings, ColorVars } from './types' + +process.setMaxListeners(100) + +const basedir = process.cwd() +const resolve = (dir: string) => path.join(basedir, dir) +const variablesFile = resolve('styles/ui-variables.less') +const mappingsFile = resolve('styles/components/icons/mapping.less') +const iconsDir = resolve('src/icons') +const resultDir = resolve('icons') + +const getOutput = (colorVars: ColorVars, mappings: Mappings, iconContents: IconsObj) => { + const iconFiles = mapValues(iconContents, (content) => processIcon(content, colorVars)) + + const varCodes = Object.values(colorVars) + + const iconColors = mapValues(iconFiles, (content) => + getReplaceable( + getColors(content).filter((color) => varCodes.includes(color)), + colorVars + ) + ) + + return Object.entries(mappings) + .flatMap(([icon, colors = []]) => { + const content = iconFiles[icon] + const replaceable = iconColors[icon] + if (!content || !replaceable) { + return [] + } + return colors.map((color) => { + const map = + replaceable.length > 0 + ? replaceable.reduce((acc, curr) => ({ ...acc, [curr]: colorVars[color] }), {}) + : { null: colorVars[color] } + const out = color.length > 0 ? replaceColors(content, map) : content + const filename = color.length > 0 ? `${stripExt(icon)}_${color}.svg` : icon + return { [filename]: out } + }) + }) + .reduce((acc, file) => ({ ...acc, ...file }), {}) +} + +const getChanges = ([prev, curr]: IconsDiff) => { + const prevKeys = Object.keys(prev) + return Object.entries(curr).filter(([key]) => !prevKeys.includes(key) || prev[key] !== curr[key]) +} + +const getDeletions = ([prev, curr]: IconsDiff) => { + const currKeys = Object.keys(curr) + return Object.keys(prev).filter((key) => !currKeys.includes(key)) +} + +const run = async () => { + try { + await fs.promises.access(resultDir) + } catch (e) { + await fs.promises.mkdir(resultDir) + } + + if (!process.env.ICONS_WATCH) { + const icons = await fs.promises.readdir(resultDir) + await Promise.all( + icons + .filter((file) => /\.svg$/.test(file)) + .map((file) => fs.promises.unlink(path.join(resultDir, file))) + ) + } + + const fileObs = process.env.ICONS_WATCH ? observeFile : readFile + const dirObs = process.env.ICONS_WATCH ? observeDir : readDir + + const colorVars = fileObs(variablesFile).pipe(map(parseColorVars)) + const mappings = combineLatest(fileObs(mappingsFile), colorVars).pipe(mapSpread(getMappings)) + const iconContents = dirObs(iconsDir, readIcons, (file) => /\.svg$/.test(file)) + + const filteredIcons = combineLatest( + iconContents, + mappings.pipe(map((obj) => Object.keys(obj))) + ).pipe( + mapSpread((icons: IconsObj, keys: string[]) => filterKeys(icons, (icon) => keys.includes(icon))) + ) + + const output = combineLatest(colorVars, mappings, filteredIcons).pipe( + mapSpread(getOutput), + startWith({} as IconsObj), + catchError((err, caught) => { + enqueue('error', err.stack ? err.stack : err) + return process.env.ICONS_WATCH ? caught : of({} as IconsObj) + }), + pairwise() + ) + + const subject = new Subject() + + output.subscribe(subject) + + const changes = subject.pipe(map(getChanges)) + const deletions = subject.pipe(map(getDeletions)) + + changes.subscribe((arr) => + arr.forEach(async ([name, content]) => { + await fs.promises.writeFile(path.join(resultDir, name), content) + log('success', `Saved icon '${name}'`) + }) + ) + + deletions.subscribe((arr) => + arr.forEach(async (name) => { + await fs.promises.unlink(path.join(resultDir, name)) + log('success', `Deleted icon '${name}'`) + }) + ) + + zip(changes, deletions).subscribe(() => flush()) + + if (process.env.ICONS_WATCH) { + log('info', 'Watching for changes in SVG config/data') + } +} + +run() diff --git a/scripts/types.ts b/scripts/types.ts new file mode 100644 index 00000000..d22db1ad --- /dev/null +++ b/scripts/types.ts @@ -0,0 +1,43 @@ +export interface ColorVars { + [x: string]: string +} + +export interface ColorMap { + [x: string]: string +} + +export interface Mappings { + [x: string]: string[] +} + +export interface IconsObj { + [x: string]: string +} + +export interface Serializable { + toString: () => string +} + +export type RGBIndex = 'r' | 'g' | 'b' + +export type RGBColor = { + [I in RGBIndex]: number +} + +export type IconsDiff = [IconsObj, IconsObj] + +export interface LanguageDef { + id: string + extensions?: string[] + fileNames?: string[] +} + +export interface PackageJson { + contributes?: { + languages?: LanguageDef[] + } +} + +export interface DirContent { + [x: string]: T +} diff --git a/scripts/utils.ts b/scripts/utils.ts new file mode 100644 index 00000000..2b1a5bea --- /dev/null +++ b/scripts/utils.ts @@ -0,0 +1,12 @@ +export const filterKeys = (contents: { [key: string]: T }, fn: (key: string) => boolean) => + Object.entries(contents) + .filter(([key]) => fn(key)) + .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {} as { [key: string]: T }) + +export const mapValues = (obj: { [key: string]: T }, fn: (el: T) => P) => + Object.entries(obj).reduce( + (acc, [key, val]) => ({ ...acc, [key]: fn(val) }), + {} as { [key: string]: P } + ) + +export const stripExt = (str: string) => str.replace(/\.[^/.]+$/, '') diff --git a/scripts/vs-theme.ts b/scripts/vs-theme.ts new file mode 100644 index 00000000..0d66c5bb --- /dev/null +++ b/scripts/vs-theme.ts @@ -0,0 +1,218 @@ +import fs from 'fs' +import path from 'path' +import fetch from 'node-fetch' + +import { log } from './logger' +import { prepareIconVersion } from './svg' +import { parseColorVars, parseMappings, getMappings } from './parse' +import { PackageJson, LanguageDef } from './types' +import { stripExt, mapValues, filterKeys } from './utils' + +// eslint-disable-next-line @typescript-eslint/camelcase +const information_for_contributors = [ + 'This file has been generated from data in https://github.com/jesseweed/seti-ui', + '- icon definitions: https://github.com/jesseweed/seti-ui/blob/master/styles/_fonts/seti.less', + '- icon colors: https://github.com/jesseweed/seti-ui/blob/master/styles/ui-variables.less', + '- file associations: https://github.com/jesseweed/seti-ui/blob/master/styles/components/icons/mapping.less', + 'If you want to provide a fix or improvement, please create a pull request against the jesseweed/seti-ui repository.', + 'Once accepted there, we are happy to receive an update request.' +] + +const nonBuiltInLanguages: { [x: string]: Omit } = { + r: { extensions: ['r', 'rhistory', 'rprofile', 'rt'] }, + argdown: { extensions: ['ad', 'adown', 'argdown', 'argdn'] }, + elm: { extensions: ['elm'] }, + ocaml: { extensions: ['ml', 'mli'] }, + nunjucks: { extensions: ['nunjucks', 'nunjs', 'nunj', 'nj', 'njk', 'tmpl', 'tpl'] }, + mustache: { extensions: ['mustache', 'mst', 'mu', 'stache'] }, + erb: { extensions: ['erb', 'rhtml', 'html.erb'] }, + terraform: { extensions: ['tf', 'tfvars', 'hcl'] }, + vue: { extensions: ['vue'] }, + sass: { extensions: ['sass'] }, + puppet: { extensions: ['puppet'] }, + kotlin: { extensions: ['kt'] }, + jinja: { extensions: ['jinja'] }, + haxe: { extensions: ['hx'] }, + haskell: { extensions: ['hs'] }, + gradle: { extensions: ['gradle'] }, + elixir: { extensions: ['ex'] }, + haml: { extensions: ['haml'] }, + stylus: { extensions: ['styl'] }, + vala: { extensions: ['vala'] }, + todo: { fileNames: ['todo'] }, + jsonc: { extensions: ['json'] } +} + +const basedir = process.cwd() +const resolve = (dir: string) => path.join(basedir, dir) + +const outputDir = resolve(process.env.THEME_ICONS_DIR || '../vscode/extensions/theme-seti/icons') + +const extensionsDir = path.join(outputDir, '../../') + +const readFile = (file: string) => fs.promises.readFile(resolve(file), 'utf-8') + +const run = async () => { + const extensions = await fs.promises.readdir(extensionsDir) + + const packageFiles = await Promise.all( + extensions + .map((extension) => path.join(extensionsDir, extension, 'package.json')) + .map(async (file) => { + try { + await fs.promises.access(file) + return fs.promises.readFile(file, 'utf-8') + } catch (e) { + return null + } + }) + ) + + const languages = packageFiles + .filter((content): content is string => content !== null) + .map((content) => JSON.parse(content)) + .flatMap((pkg: PackageJson) => pkg.contributes?.languages ?? []) + .filter((lang): lang is LanguageDef & { id: string } => lang.id !== undefined) + .map(({ id, extensions, fileNames }) => ({ + [id]: { extensions: extensions?.map((ext) => ext.substr(1)), fileNames } + })) + .reduce((acc, curr) => ({ ...acc, ...curr }), nonBuiltInLanguages) + + const variablesFile = await readFile('styles/ui-variables.less') + const colorVars = parseColorVars(variablesFile) + + const mappingsFile = await readFile('styles/components/icons/mapping.less') + const definitions = parseMappings(mappingsFile, colorVars) + const mappings = getMappings(mappingsFile, colorVars) + + const getIconId = (icon: string, color = '') => + `_${stripExt(icon)}${color.length > 0 ? `_${color}` : ''}` + + const iconDefinitions = Object.entries(mappings) + .flatMap(([icon, colors = []]) => + colors + .map((color) => getIconId(icon, color)) + .map((id) => ({ + [id]: { iconPath: `./${id.substr(1)}.svg` }, + [`${id}_light`]: { iconPath: `./${id.substr(1)}_light.svg` } + })) + ) + .reduce((acc, curr) => ({ ...acc, ...curr })) + + const file = definitions + .filter(({ type }) => type === 'default') + .map(({ icon, color }) => getIconId(icon, color))[0] + + const fileExtensionDefs = definitions + .filter(({ type }) => type === 'ext') + .map(({ name, icon, color }) => ({ + [name.toLowerCase().replace(/^\./, '')]: getIconId(icon, color) + })) + .reduce((acc, curr) => ({ ...acc, ...curr })) + + const fileNameDefs = definitions + .filter(({ type }) => type === 'name') + .map(({ name, icon, color }) => ({ + [name.toLowerCase()]: getIconId(icon, color) + })) + .reduce((acc, curr) => ({ ...acc, ...curr })) + + const languageDefs = Object.entries(languages) + .map(([id, { extensions, fileNames }]) => ({ + id, + extensions, + fileNames, + extension: extensions?.find((ext) => fileExtensionDefs[ext]), + fileName: fileNames?.find((name) => fileNameDefs[name]) + })) + .map(({ extension = '', fileName = '', ...rest }) => ({ + icon: fileExtensionDefs[extension] ?? fileNameDefs[fileName], + ...rest + })) + .filter(({ icon }) => icon) + .map(({ id, icon, extensions, fileNames }) => ({ + id, + icon, + extensions: extensions?.filter((ext) => fileExtensionDefs[ext] === icon), + fileNames: fileNames?.filter((name) => fileNameDefs[name] === icon) + })) + + const languageExts = languageDefs + .filter(({ id }) => !nonBuiltInLanguages[id]) + .flatMap(({ extensions }) => extensions) + const fileExtensions = filterKeys(fileExtensionDefs, (ext) => !languageExts.includes(ext)) + + const languageNames = languageDefs + .filter(({ id }) => !nonBuiltInLanguages[id]) + .flatMap(({ fileNames }) => fileNames) + const fileNames = filterKeys(fileNameDefs, (name) => !languageNames.includes(name)) + + const languageIds = languageDefs + .map(({ id, icon }) => ({ + [id]: icon + })) + .reduce((acc, curr) => ({ + ...acc, + ...curr + })) + + const lightAssoc = (assoc: { [key: string]: string }) => mapValues(assoc, (id) => `${id}_light`) + + const req = await fetch('https://api.github.com/repos/jesseweed/seti-ui/commits/master') + const master = await req.json() + + const theme = { + // eslint-disable-next-line @typescript-eslint/camelcase + information_for_contributors, + iconDefinitions, + file, + fileExtensions, + fileNames, + languageIds, + light: { + file: `${file}_light`, + fileExtensions: lightAssoc(fileExtensions), + fileNames: lightAssoc(fileNames), + languageIds: lightAssoc(languageIds) + }, + version: master.html_url + } + + log('info', `Saving output to ${outputDir}`) + const current = await fs.promises.readdir(outputDir) + await Promise.all( + current + .filter((file) => /\.svg$/.test(file)) + .map((file) => fs.promises.unlink(path.join(outputDir, file))) + ) + + await fs.promises.writeFile( + path.join(outputDir, 'vs-seti-icon-theme.json'), + JSON.stringify(theme, null, '\t') + ) + + const icons = await fs.promises.readdir(resolve('icons')) + + const iconContents = await Promise.all( + icons + .filter((icon) => /\.svg$/.test(icon)) + .map(async (icon) => ({ + icon, + content: await fs.promises.readFile(resolve(`icons/${icon}`), 'utf-8') + })) + ) + + await Promise.all( + iconContents.flatMap(({ icon, content }) => + ['black', 'white'].map((base) => + fs.promises.writeFile( + path.join(outputDir, base === 'white' ? `${stripExt(icon)}_light.svg` : icon), + prepareIconVersion(content, colorVars, colorVars[base]) + ) + ) + ) + ) + log('success', 'Successfully saved all files') +} + +run() diff --git a/src/dom.ts b/src/dom.ts new file mode 100644 index 00000000..b8215b21 --- /dev/null +++ b/src/dom.ts @@ -0,0 +1,8 @@ +export const query = (el: string) => document.querySelector(el) +export const queryAll = (el: string) => document.querySelectorAll(el) +export const toggleClass = (action: 'add' | 'remove', el: NodeListOf, className: string) => + el.forEach((el) => el.classList[action](className)) +export const addClass = (el: NodeListOf, className: string) => + toggleClass('add', el, className) +export const removeClass = (el: NodeListOf, className: string) => + toggleClass('remove', el, className) diff --git a/src/font-icons/checkbox.svg b/src/font-icons/checkbox.svg new file mode 100644 index 00000000..dbe3af82 --- /dev/null +++ b/src/font-icons/checkbox.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/default.svg b/src/font-icons/default.svg new file mode 100644 index 00000000..a4569893 --- /dev/null +++ b/src/font-icons/default.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/deprecation-cop.svg b/src/font-icons/deprecation-cop.svg new file mode 100644 index 00000000..cb92c36b --- /dev/null +++ b/src/font-icons/deprecation-cop.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/git.svg b/src/font-icons/git.svg new file mode 100644 index 00000000..37f0b5aa --- /dev/null +++ b/src/font-icons/git.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/github.svg b/src/font-icons/github.svg new file mode 100644 index 00000000..42d10f8a --- /dev/null +++ b/src/font-icons/github.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/ignored.svg b/src/font-icons/ignored.svg new file mode 100644 index 00000000..629bbf36 --- /dev/null +++ b/src/font-icons/ignored.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/info.svg b/src/font-icons/info.svg new file mode 100644 index 00000000..0a51e9e2 --- /dev/null +++ b/src/font-icons/info.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/font-icons/markdown.svg b/src/font-icons/markdown.svg new file mode 100644 index 00000000..5c431820 --- /dev/null +++ b/src/font-icons/markdown.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/new-file.svg b/src/font-icons/new-file.svg new file mode 100644 index 00000000..02b0b7eb --- /dev/null +++ b/src/font-icons/new-file.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/font-icons/search.svg b/src/font-icons/search.svg new file mode 100644 index 00000000..32400727 --- /dev/null +++ b/src/font-icons/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/settings.svg b/src/font-icons/settings.svg new file mode 100644 index 00000000..6313deba --- /dev/null +++ b/src/font-icons/settings.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/font-icons/time-cop.svg b/src/font-icons/time-cop.svg new file mode 100644 index 00000000..e0d49915 --- /dev/null +++ b/src/font-icons/time-cop.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/headers.ts b/src/headers.ts new file mode 100644 index 00000000..f2e7b82c --- /dev/null +++ b/src/headers.ts @@ -0,0 +1,38 @@ +atom.packages.activatePackage('tree-view').then(({ mainModule: { treeView } }) => { + const IS_ANCHORED_CLASSNAME = 'is--anchored' + let projectRoots = treeView.roots + + const updateTreeViewHeaderPosition = () => { + const position = { scrollTop: 0, ...treeView.scroller } + const yScrollPosition = position.scrollTop + projectRoots.forEach((project) => { + const projectHeaderHeight = project.header.offsetHeight + const projectClassList = project.classList + const projectOffsetY = project.offsetTop + const projectHeight = project.offsetHeight + if (yScrollPosition > projectOffsetY) { + if (yScrollPosition > projectOffsetY + projectHeight - projectHeaderHeight) { + project.header.style.top = 'auto' + projectClassList.add(IS_ANCHORED_CLASSNAME) + } else { + project.header.style.top = yScrollPosition - projectOffsetY + 'px' + projectClassList.remove(IS_ANCHORED_CLASSNAME) + } + } else { + project.header.style.top = '0' + projectClassList.remove(IS_ANCHORED_CLASSNAME) + } + }) + } + + atom.project.onDidChangePaths(() => { + projectRoots = treeView.roots + updateTreeViewHeaderPosition() + }) + // TODO something other than setTimeout? it's a hack to trigger the update + // after the CSS changes have occurred. a gamble, probably inaccurate + atom.config.onDidChange('seti-ui', () => setTimeout(updateTreeViewHeaderPosition)) + + treeView.scroller.addEventListener('scroll', updateTreeViewHeaderPosition) + setTimeout(updateTreeViewHeaderPosition) // TODO something other than setTimeout? +}) diff --git a/src/icons/R.svg b/src/icons/R.svg new file mode 100644 index 00000000..3a56ab5c --- /dev/null +++ b/src/icons/R.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/icons/apple.svg b/src/icons/apple.svg new file mode 100644 index 00000000..25eedb82 --- /dev/null +++ b/src/icons/apple.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/argdown.svg b/src/icons/argdown.svg new file mode 100644 index 00000000..8fc1369f --- /dev/null +++ b/src/icons/argdown.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/asm.svg b/src/icons/asm.svg new file mode 100644 index 00000000..208e51ca --- /dev/null +++ b/src/icons/asm.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/audio.svg b/src/icons/audio.svg new file mode 100644 index 00000000..9aed3164 --- /dev/null +++ b/src/icons/audio.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/icons/ava.svg b/src/icons/ava.svg new file mode 100644 index 00000000..cdb4443d --- /dev/null +++ b/src/icons/ava.svg @@ -0,0 +1,58 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/icons/babel.svg b/src/icons/babel.svg new file mode 100644 index 00000000..4960dca6 --- /dev/null +++ b/src/icons/babel.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/bower.svg b/src/icons/bower.svg new file mode 100644 index 00000000..453c7bf9 --- /dev/null +++ b/src/icons/bower.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/icons/browserslist.svg b/src/icons/browserslist.svg new file mode 100644 index 00000000..bef64d1f --- /dev/null +++ b/src/icons/browserslist.svg @@ -0,0 +1,22 @@ + + + Browserslist logo + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/bsl.svg b/src/icons/bsl.svg new file mode 100644 index 00000000..937781c4 --- /dev/null +++ b/src/icons/bsl.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/c-sharp.svg b/src/icons/c-sharp.svg new file mode 100644 index 00000000..b5378d59 --- /dev/null +++ b/src/icons/c-sharp.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/icons/c.svg b/src/icons/c.svg new file mode 100644 index 00000000..dd04fc38 --- /dev/null +++ b/src/icons/c.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/cake.svg b/src/icons/cake.svg new file mode 100644 index 00000000..19c9f0c3 --- /dev/null +++ b/src/icons/cake.svg @@ -0,0 +1,5 @@ + + + + diff --git a/src/icons/cake_php.svg b/src/icons/cake_php.svg new file mode 100644 index 00000000..27723447 --- /dev/null +++ b/src/icons/cake_php.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/checkbox-unchecked.svg b/src/icons/checkbox-unchecked.svg new file mode 100644 index 00000000..c0f3220d --- /dev/null +++ b/src/icons/checkbox-unchecked.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/checkbox.svg b/src/icons/checkbox.svg new file mode 100644 index 00000000..dbe3af82 --- /dev/null +++ b/src/icons/checkbox.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/cjsx.svg b/src/icons/cjsx.svg new file mode 100644 index 00000000..dbabab1a --- /dev/null +++ b/src/icons/cjsx.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/clock.svg b/src/icons/clock.svg new file mode 100644 index 00000000..45e8545c --- /dev/null +++ b/src/icons/clock.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/clojure.svg b/src/icons/clojure.svg new file mode 100644 index 00000000..544a704f --- /dev/null +++ b/src/icons/clojure.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/icons/code-climate.svg b/src/icons/code-climate.svg new file mode 100644 index 00000000..894369cf --- /dev/null +++ b/src/icons/code-climate.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/code-search.svg b/src/icons/code-search.svg new file mode 100644 index 00000000..bbf4ea30 --- /dev/null +++ b/src/icons/code-search.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/icons/coffee.svg b/src/icons/coffee.svg new file mode 100644 index 00000000..d1bac0f4 --- /dev/null +++ b/src/icons/coffee.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/coffee_erb.svg b/src/icons/coffee_erb.svg new file mode 100644 index 00000000..a3a3ff92 --- /dev/null +++ b/src/icons/coffee_erb.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/coldfusion.svg b/src/icons/coldfusion.svg new file mode 100644 index 00000000..4af4226d --- /dev/null +++ b/src/icons/coldfusion.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/config.svg b/src/icons/config.svg new file mode 100644 index 00000000..cb42a7be --- /dev/null +++ b/src/icons/config.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/cpp.svg b/src/icons/cpp.svg new file mode 100644 index 00000000..fd74116f --- /dev/null +++ b/src/icons/cpp.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/crystal.svg b/src/icons/crystal.svg new file mode 100644 index 00000000..36b9b28a --- /dev/null +++ b/src/icons/crystal.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/src/icons/crystal_embedded.svg b/src/icons/crystal_embedded.svg new file mode 100644 index 00000000..600b0286 --- /dev/null +++ b/src/icons/crystal_embedded.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/icons/css.svg b/src/icons/css.svg new file mode 100644 index 00000000..f91827ac --- /dev/null +++ b/src/icons/css.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/csv.svg b/src/icons/csv.svg new file mode 100644 index 00000000..44f39684 --- /dev/null +++ b/src/icons/csv.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/d.svg b/src/icons/d.svg new file mode 100644 index 00000000..eef621c3 --- /dev/null +++ b/src/icons/d.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/dart.svg b/src/icons/dart.svg new file mode 100644 index 00000000..ffb6ebf2 --- /dev/null +++ b/src/icons/dart.svg @@ -0,0 +1,6 @@ + + + Dart + + + diff --git a/src/icons/db.svg b/src/icons/db.svg new file mode 100644 index 00000000..124d486f --- /dev/null +++ b/src/icons/db.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/default.svg b/src/icons/default.svg new file mode 100644 index 00000000..8190543a --- /dev/null +++ b/src/icons/default.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/deprecation-cop.svg b/src/icons/deprecation-cop.svg new file mode 100644 index 00000000..cb92c36b --- /dev/null +++ b/src/icons/deprecation-cop.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/docker.svg b/src/icons/docker.svg new file mode 100644 index 00000000..ed286796 --- /dev/null +++ b/src/icons/docker.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/icons/editorconfig.svg b/src/icons/editorconfig.svg new file mode 100644 index 00000000..781155cd --- /dev/null +++ b/src/icons/editorconfig.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/ejs.svg b/src/icons/ejs.svg new file mode 100644 index 00000000..304f7032 --- /dev/null +++ b/src/icons/ejs.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/elixir.svg b/src/icons/elixir.svg new file mode 100644 index 00000000..d36cdb35 --- /dev/null +++ b/src/icons/elixir.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/elixir_script.svg b/src/icons/elixir_script.svg new file mode 100644 index 00000000..b75ef3c7 --- /dev/null +++ b/src/icons/elixir_script.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/elm.svg b/src/icons/elm.svg new file mode 100644 index 00000000..4940f9a1 --- /dev/null +++ b/src/icons/elm.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/error.svg b/src/icons/error.svg new file mode 100644 index 00000000..731945aa --- /dev/null +++ b/src/icons/error.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/eslint.svg b/src/icons/eslint.svg new file mode 100644 index 00000000..78c7fe1a --- /dev/null +++ b/src/icons/eslint.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/icons/ethereum.svg b/src/icons/ethereum.svg new file mode 100644 index 00000000..5159af64 --- /dev/null +++ b/src/icons/ethereum.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/src/icons/f-sharp.svg b/src/icons/f-sharp.svg new file mode 100644 index 00000000..65ea256b --- /dev/null +++ b/src/icons/f-sharp.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/src/icons/favicon.svg b/src/icons/favicon.svg new file mode 100644 index 00000000..5f1a6b42 --- /dev/null +++ b/src/icons/favicon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/firebase.svg b/src/icons/firebase.svg new file mode 100644 index 00000000..37c9f749 --- /dev/null +++ b/src/icons/firebase.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/icons/firefox.svg b/src/icons/firefox.svg new file mode 100644 index 00000000..88750895 --- /dev/null +++ b/src/icons/firefox.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/folder.svg b/src/icons/folder.svg new file mode 100644 index 00000000..ea41d73a --- /dev/null +++ b/src/icons/folder.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/font.svg b/src/icons/font.svg new file mode 100644 index 00000000..bebaa6ab --- /dev/null +++ b/src/icons/font.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/git.svg b/src/icons/git.svg new file mode 100644 index 00000000..b70266f9 --- /dev/null +++ b/src/icons/git.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/go.svg b/src/icons/go.svg new file mode 100644 index 00000000..acf25763 --- /dev/null +++ b/src/icons/go.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/icons/go2.svg b/src/icons/go2.svg new file mode 100644 index 00000000..627b1379 --- /dev/null +++ b/src/icons/go2.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/icons/gradle.svg b/src/icons/gradle.svg new file mode 100644 index 00000000..e6195a2e --- /dev/null +++ b/src/icons/gradle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/icons/grails.svg b/src/icons/grails.svg new file mode 100644 index 00000000..1ae20227 --- /dev/null +++ b/src/icons/grails.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/graphql.svg b/src/icons/graphql.svg new file mode 100644 index 00000000..477a8b58 --- /dev/null +++ b/src/icons/graphql.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/grunt.svg b/src/icons/grunt.svg new file mode 100644 index 00000000..66897de5 --- /dev/null +++ b/src/icons/grunt.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/gulp.svg b/src/icons/gulp.svg new file mode 100644 index 00000000..66f87b8f --- /dev/null +++ b/src/icons/gulp.svg @@ -0,0 +1,15 @@ + + + + gulp + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/src/icons/hacklang.svg b/src/icons/hacklang.svg new file mode 100644 index 00000000..75e8d9c2 --- /dev/null +++ b/src/icons/hacklang.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/haml.svg b/src/icons/haml.svg new file mode 100644 index 00000000..44b5f0ca --- /dev/null +++ b/src/icons/haml.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/happenings.svg b/src/icons/happenings.svg new file mode 100644 index 00000000..68b28763 --- /dev/null +++ b/src/icons/happenings.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/icons/haskell.svg b/src/icons/haskell.svg new file mode 100644 index 00000000..ffbae0d2 --- /dev/null +++ b/src/icons/haskell.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/haxe.svg b/src/icons/haxe.svg new file mode 100644 index 00000000..e6ff85fb --- /dev/null +++ b/src/icons/haxe.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/heroku.svg b/src/icons/heroku.svg new file mode 100644 index 00000000..976d64ec --- /dev/null +++ b/src/icons/heroku.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/hex.svg b/src/icons/hex.svg new file mode 100644 index 00000000..b3c568b7 --- /dev/null +++ b/src/icons/hex.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/html.svg b/src/icons/html.svg new file mode 100644 index 00000000..344a1fa0 --- /dev/null +++ b/src/icons/html.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/html_erb.svg b/src/icons/html_erb.svg new file mode 100644 index 00000000..355ab6bd --- /dev/null +++ b/src/icons/html_erb.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/ignored.svg b/src/icons/ignored.svg new file mode 100644 index 00000000..629bbf36 --- /dev/null +++ b/src/icons/ignored.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/illustrator.svg b/src/icons/illustrator.svg new file mode 100644 index 00000000..a3fc4d68 --- /dev/null +++ b/src/icons/illustrator.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/image.svg b/src/icons/image.svg new file mode 100644 index 00000000..3cb66932 --- /dev/null +++ b/src/icons/image.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/info.svg b/src/icons/info.svg new file mode 100644 index 00000000..f312402d --- /dev/null +++ b/src/icons/info.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/icons/ionic.svg b/src/icons/ionic.svg new file mode 100644 index 00000000..cca99531 --- /dev/null +++ b/src/icons/ionic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/jade.svg b/src/icons/jade.svg new file mode 100644 index 00000000..41c50c0b --- /dev/null +++ b/src/icons/jade.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/java.svg b/src/icons/java.svg new file mode 100644 index 00000000..c1e64ecc --- /dev/null +++ b/src/icons/java.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/javascript.svg b/src/icons/javascript.svg new file mode 100644 index 00000000..a61310e8 --- /dev/null +++ b/src/icons/javascript.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/jenkins.svg b/src/icons/jenkins.svg new file mode 100644 index 00000000..f4823c75 --- /dev/null +++ b/src/icons/jenkins.svg @@ -0,0 +1,282 @@ + + + +image/svg+xml diff --git a/src/icons/jest.svg b/src/icons/jest.svg new file mode 100644 index 00000000..a6d1c4af --- /dev/null +++ b/src/icons/jest.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/jinja.svg b/src/icons/jinja.svg new file mode 100644 index 00000000..4ac54021 --- /dev/null +++ b/src/icons/jinja.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/js_erb.svg b/src/icons/js_erb.svg new file mode 100644 index 00000000..59eb8ae1 --- /dev/null +++ b/src/icons/js_erb.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/json.svg b/src/icons/json.svg new file mode 100644 index 00000000..da3767c9 --- /dev/null +++ b/src/icons/json.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/julia.svg b/src/icons/julia.svg new file mode 100644 index 00000000..f7383ff6 --- /dev/null +++ b/src/icons/julia.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/icons/karma.svg b/src/icons/karma.svg new file mode 100644 index 00000000..1699339f --- /dev/null +++ b/src/icons/karma.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/kotlin.svg b/src/icons/kotlin.svg new file mode 100644 index 00000000..59acbb51 --- /dev/null +++ b/src/icons/kotlin.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/less.svg b/src/icons/less.svg new file mode 100644 index 00000000..2c9275f7 --- /dev/null +++ b/src/icons/less.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/license.svg b/src/icons/license.svg new file mode 100644 index 00000000..25a1e8d4 --- /dev/null +++ b/src/icons/license.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/liquid.svg b/src/icons/liquid.svg new file mode 100644 index 00000000..c0b73060 --- /dev/null +++ b/src/icons/liquid.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/livescript.svg b/src/icons/livescript.svg new file mode 100644 index 00000000..14f852c9 --- /dev/null +++ b/src/icons/livescript.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/lock.svg b/src/icons/lock.svg new file mode 100644 index 00000000..72afa088 --- /dev/null +++ b/src/icons/lock.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/lua.svg b/src/icons/lua.svg new file mode 100644 index 00000000..be10cfb2 --- /dev/null +++ b/src/icons/lua.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/makefile.svg b/src/icons/makefile.svg new file mode 100644 index 00000000..57177a74 --- /dev/null +++ b/src/icons/makefile.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/markdown.svg b/src/icons/markdown.svg new file mode 100644 index 00000000..5c431820 --- /dev/null +++ b/src/icons/markdown.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/maven.svg b/src/icons/maven.svg new file mode 100644 index 00000000..0b909be5 --- /dev/null +++ b/src/icons/maven.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/mdo.svg b/src/icons/mdo.svg new file mode 100644 index 00000000..94681963 --- /dev/null +++ b/src/icons/mdo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/mocha.svg b/src/icons/mocha.svg new file mode 100644 index 00000000..9c1826b7 --- /dev/null +++ b/src/icons/mocha.svg @@ -0,0 +1,40 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/src/icons/mustache.svg b/src/icons/mustache.svg new file mode 100644 index 00000000..c709ad58 --- /dev/null +++ b/src/icons/mustache.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/new-file.svg b/src/icons/new-file.svg new file mode 100644 index 00000000..02b0b7eb --- /dev/null +++ b/src/icons/new-file.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/icons/npm.svg b/src/icons/npm.svg new file mode 100644 index 00000000..354f4e0a --- /dev/null +++ b/src/icons/npm.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/npm_ignored.svg b/src/icons/npm_ignored.svg new file mode 100644 index 00000000..84c2c7f8 --- /dev/null +++ b/src/icons/npm_ignored.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/nunjucks.svg b/src/icons/nunjucks.svg new file mode 100644 index 00000000..ab382dac --- /dev/null +++ b/src/icons/nunjucks.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/ocaml.svg b/src/icons/ocaml.svg new file mode 100644 index 00000000..09b2e089 --- /dev/null +++ b/src/icons/ocaml.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/odata.svg b/src/icons/odata.svg new file mode 100644 index 00000000..3ebdf752 --- /dev/null +++ b/src/icons/odata.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/pddl.svg b/src/icons/pddl.svg new file mode 100644 index 00000000..dd8e87c1 --- /dev/null +++ b/src/icons/pddl.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/icons/pdf.svg b/src/icons/pdf.svg new file mode 100644 index 00000000..b074001a --- /dev/null +++ b/src/icons/pdf.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/perl.svg b/src/icons/perl.svg new file mode 100644 index 00000000..29c90c59 --- /dev/null +++ b/src/icons/perl.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/photoshop.svg b/src/icons/photoshop.svg new file mode 100644 index 00000000..f3cfee77 --- /dev/null +++ b/src/icons/photoshop.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/php.svg b/src/icons/php.svg new file mode 100644 index 00000000..362845b7 --- /dev/null +++ b/src/icons/php.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/plan.svg b/src/icons/plan.svg new file mode 100644 index 00000000..3a4c733c --- /dev/null +++ b/src/icons/plan.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/platformio.svg b/src/icons/platformio.svg new file mode 100644 index 00000000..aa31af5f --- /dev/null +++ b/src/icons/platformio.svg @@ -0,0 +1,9 @@ + + + Layer 1 + + + + + + diff --git a/src/icons/postcss.svg b/src/icons/postcss.svg new file mode 100644 index 00000000..4892bce3 --- /dev/null +++ b/src/icons/postcss.svg @@ -0,0 +1,11 @@ + + + postcss-logo-symbol + + + + + + + + diff --git a/src/icons/powershell.svg b/src/icons/powershell.svg new file mode 100644 index 00000000..4b96fd28 --- /dev/null +++ b/src/icons/powershell.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/prettier.svg b/src/icons/prettier.svg new file mode 100644 index 00000000..f8ff0e36 --- /dev/null +++ b/src/icons/prettier.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/project.svg b/src/icons/project.svg new file mode 100644 index 00000000..57c02de0 --- /dev/null +++ b/src/icons/project.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/icons/prolog.svg b/src/icons/prolog.svg new file mode 100644 index 00000000..071e30e0 --- /dev/null +++ b/src/icons/prolog.svg @@ -0,0 +1,12 @@ + + + prolog_bold + Created with Sketch. + + + + + + + + diff --git a/src/icons/pug.svg b/src/icons/pug.svg new file mode 100644 index 00000000..d2f90042 --- /dev/null +++ b/src/icons/pug.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/puppet.svg b/src/icons/puppet.svg new file mode 100644 index 00000000..483a35f3 --- /dev/null +++ b/src/icons/puppet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/python.svg b/src/icons/python.svg new file mode 100644 index 00000000..e6905546 --- /dev/null +++ b/src/icons/python.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/src/icons/rails.svg b/src/icons/rails.svg new file mode 100644 index 00000000..290a2d88 --- /dev/null +++ b/src/icons/rails.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/react.svg b/src/icons/react.svg new file mode 100644 index 00000000..5592ebec --- /dev/null +++ b/src/icons/react.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + diff --git a/src/icons/reasonml.svg b/src/icons/reasonml.svg new file mode 100644 index 00000000..7a248402 --- /dev/null +++ b/src/icons/reasonml.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/rollup.svg b/src/icons/rollup.svg new file mode 100644 index 00000000..d57d421d --- /dev/null +++ b/src/icons/rollup.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/ruby.svg b/src/icons/ruby.svg new file mode 100644 index 00000000..c43bcd53 --- /dev/null +++ b/src/icons/ruby.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/rust.svg b/src/icons/rust.svg new file mode 100644 index 00000000..9f3b19cc --- /dev/null +++ b/src/icons/rust.svg @@ -0,0 +1 @@ + diff --git a/src/icons/salesforce.svg b/src/icons/salesforce.svg new file mode 100644 index 00000000..b49307c9 --- /dev/null +++ b/src/icons/salesforce.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/sass.svg b/src/icons/sass.svg new file mode 100644 index 00000000..2dece9ae --- /dev/null +++ b/src/icons/sass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/sbt.svg b/src/icons/sbt.svg new file mode 100644 index 00000000..df1cceb5 --- /dev/null +++ b/src/icons/sbt.svg @@ -0,0 +1 @@ + diff --git a/src/icons/scala.svg b/src/icons/scala.svg new file mode 100644 index 00000000..73ba2464 --- /dev/null +++ b/src/icons/scala.svg @@ -0,0 +1 @@ + diff --git a/icons/search.svg b/src/icons/search.svg similarity index 100% rename from icons/search.svg rename to src/icons/search.svg diff --git a/icons/settings.svg b/src/icons/settings.svg similarity index 100% rename from icons/settings.svg rename to src/icons/settings.svg diff --git a/src/icons/shell.svg b/src/icons/shell.svg new file mode 100644 index 00000000..9e404f35 --- /dev/null +++ b/src/icons/shell.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/slim.svg b/src/icons/slim.svg new file mode 100644 index 00000000..3980b0c1 --- /dev/null +++ b/src/icons/slim.svg @@ -0,0 +1 @@ + diff --git a/src/icons/smarty.svg b/src/icons/smarty.svg new file mode 100644 index 00000000..833e24f9 --- /dev/null +++ b/src/icons/smarty.svg @@ -0,0 +1 @@ + diff --git a/src/icons/spring.svg b/src/icons/spring.svg new file mode 100644 index 00000000..acf0f4f8 --- /dev/null +++ b/src/icons/spring.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/stylelint.svg b/src/icons/stylelint.svg new file mode 100644 index 00000000..38d3d9e3 --- /dev/null +++ b/src/icons/stylelint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/stylus.svg b/src/icons/stylus.svg new file mode 100644 index 00000000..7a911bd8 --- /dev/null +++ b/src/icons/stylus.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/sublime.svg b/src/icons/sublime.svg new file mode 100644 index 00000000..2478ec8f --- /dev/null +++ b/src/icons/sublime.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/svelte.svg b/src/icons/svelte.svg new file mode 100644 index 00000000..4d66ff63 --- /dev/null +++ b/src/icons/svelte.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/svg.svg b/src/icons/svg.svg new file mode 100644 index 00000000..8a87dec1 --- /dev/null +++ b/src/icons/svg.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/swift.svg b/src/icons/swift.svg new file mode 100644 index 00000000..5decf94f --- /dev/null +++ b/src/icons/swift.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/tailwind.svg b/src/icons/tailwind.svg new file mode 100644 index 00000000..ecbac965 --- /dev/null +++ b/src/icons/tailwind.svg @@ -0,0 +1,6 @@ + diff --git a/src/icons/terraform.svg b/src/icons/terraform.svg new file mode 100644 index 00000000..4091496d --- /dev/null +++ b/src/icons/terraform.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/tex.svg b/src/icons/tex.svg new file mode 100644 index 00000000..ab86e919 --- /dev/null +++ b/src/icons/tex.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/icons/time-cop.svg b/src/icons/time-cop.svg new file mode 100644 index 00000000..e0d49915 --- /dev/null +++ b/src/icons/time-cop.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/todo.svg b/src/icons/todo.svg new file mode 100644 index 00000000..f35692ec --- /dev/null +++ b/src/icons/todo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/tsconfig.svg b/src/icons/tsconfig.svg new file mode 100644 index 00000000..3db81ce3 --- /dev/null +++ b/src/icons/tsconfig.svg @@ -0,0 +1,6 @@ + + + tsconfig + + + diff --git a/src/icons/twig.svg b/src/icons/twig.svg new file mode 100644 index 00000000..e0fd58e4 --- /dev/null +++ b/src/icons/twig.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Our Partners + + + + + + + + + + + + + + + + diff --git a/src/icons/typescript.svg b/src/icons/typescript.svg new file mode 100644 index 00000000..83037b81 --- /dev/null +++ b/src/icons/typescript.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/vala.svg b/src/icons/vala.svg new file mode 100644 index 00000000..4d8b0221 --- /dev/null +++ b/src/icons/vala.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/video.svg b/src/icons/video.svg new file mode 100644 index 00000000..c4610559 --- /dev/null +++ b/src/icons/video.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/vue.svg b/src/icons/vue.svg new file mode 100644 index 00000000..b3b5f055 --- /dev/null +++ b/src/icons/vue.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/wasm.svg b/src/icons/wasm.svg new file mode 100644 index 00000000..6135610e --- /dev/null +++ b/src/icons/wasm.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/wat.svg b/src/icons/wat.svg new file mode 100644 index 00000000..dd7d86c0 --- /dev/null +++ b/src/icons/wat.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/webpack.svg b/src/icons/webpack.svg new file mode 100644 index 00000000..04763d0f --- /dev/null +++ b/src/icons/webpack.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/wgt.svg b/src/icons/wgt.svg new file mode 100644 index 00000000..eb19e168 --- /dev/null +++ b/src/icons/wgt.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/windows.svg b/src/icons/windows.svg new file mode 100644 index 00000000..23adc9e1 --- /dev/null +++ b/src/icons/windows.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/word.svg b/src/icons/word.svg new file mode 100644 index 00000000..1e503c31 --- /dev/null +++ b/src/icons/word.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/xls.svg b/src/icons/xls.svg new file mode 100644 index 00000000..39958f57 --- /dev/null +++ b/src/icons/xls.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/xml.svg b/src/icons/xml.svg new file mode 100644 index 00000000..ef081337 --- /dev/null +++ b/src/icons/xml.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/yarn.svg b/src/icons/yarn.svg new file mode 100644 index 00000000..8cbce618 --- /dev/null +++ b/src/icons/yarn.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/yml.svg b/src/icons/yml.svg new file mode 100644 index 00000000..fb2e5c78 --- /dev/null +++ b/src/icons/yml.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/zip.svg b/src/icons/zip.svg new file mode 100644 index 00000000..952d523e --- /dev/null +++ b/src/icons/zip.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 00000000..cc7d357a --- /dev/null +++ b/src/main.ts @@ -0,0 +1 @@ +export { init as activate } from './settings' diff --git a/src/settings.ts b/src/settings.ts new file mode 100644 index 00000000..d41a4104 --- /dev/null +++ b/src/settings.ts @@ -0,0 +1,122 @@ +import { EOL } from 'os' +import * as fs from 'fs' +import { query, queryAll, addClass, removeClass } from './dom' +// import from './headers' + +import { Action, Config } from './types' + +const applySetting = ({ config, action, selectors, className }: Config) => { + const cb = (val: boolean) => action({ selectors, className, bool: val }) + + cb(atom.config.get(config)) + atom.config.onDidChange(config, ({ oldValue, newValue }) => { + if (oldValue !== newValue) { + cb(newValue) + } + }) +} + +const wrapArr = (val: T[] | T): T[] => (Array.isArray(val) ? val : [val]) + +const getMethod = (bool: boolean) => (bool ? addClass : removeClass) + +// ADD CLASS WHEN CONDITIONAL IS TRUE +const addWhenTrue: Action = ({ selectors, bool, className }) => + wrapArr(selectors).forEach((selector) => getMethod(bool)(queryAll(selector), className)) + +// ADD CLASS WHEN CONDITIONAL IS FALSE +const addWhenFalse: Action = ({ bool, ...props }) => addWhenTrue({ bool: !bool, ...props }) + +const configs = [ + { + config: 'seti-ui.hideProjectTab', + action: addWhenTrue, + selectors: ['atom-workspace'], + className: 'hide-project-tab' + }, + { + config: 'seti-ui.compactView', + action: addWhenTrue, + selectors: ['atom-workspace'], + className: 'seti-compact' + }, + { + config: 'seti-ui.hideTitleBar', + action: addWhenTrue, + selectors: ['atom-workspace'], + className: 'hide-title-bar' + }, + { + config: 'seti-ui.hideDocumentTitle', + action: addWhenTrue, + selectors: ['atom-workspace'], + className: 'hide-document-title' + }, + { + config: 'seti-ui.hideProjectTab', + action: addWhenTrue, + selectors: ['atom-workspace'], + className: 'hide-project-tab' + }, + { + config: 'seti-ui.hideTabs', + action: addWhenTrue, + selectors: ['atom-workspace'], + className: 'seti-hide-tabs' + }, + { + config: 'seti-ui.fileIcons', + action: addWhenTrue, + selectors: ['atom-workspace'], + className: 'seti-icons' + }, + { + config: 'seti-ui.displayIgnored', + action: addWhenFalse, + selectors: [ + '.file.entry.list-item.status-ignored', + '.directory.entry.list-nested-item.status-ignored' + ], + className: 'seti-hide' + } +] + +const pkg = atom.packages.getLoadedPackage('seti-ui') + +const refresh = () => { + pkg?.deactivate?.() + setImmediate(() => pkg?.activate?.()) +} + +// SET THEME COLOR +const setTheme = async (theme: string, previous?: string, reload?: boolean) => { + const el = query('atom-workspace') + // GET OUR PACKAGE INFO + const pkg = atom.packages.getLoadedPackage('seti-ui') + // THEME DATA + const themeData = ['', '-text', '-highlight'] + .map((suffix) => `@seti-primary${suffix}: @${theme.toLowerCase()}${suffix};`) + .join(EOL) + + // SAVE TO ATOM CONFIG + atom.config.set('seti-ui.themeColor', theme) + // SAVE USER THEME FILE + try { + await fs.promises.writeFile(`${pkg?.path}/styles/user-theme.less`, themeData) + if (previous) { + el?.classList.remove('seti-theme-' + previous.toLowerCase()) + el?.classList.add('seti-theme-' + theme.toLowerCase()) + } + if (reload) { + refresh() + } + } catch (e) {} +} + +export const init = () => { + configs.forEach(applySetting) + setTheme(atom.config.get('seti-ui.themeColor')) + atom.config.onDidChange('seti-ui.themeColor', ({ newValue, oldValue }) => + setTheme(newValue, oldValue, true) + ) +} diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 00000000..2acbef1e --- /dev/null +++ b/src/types.ts @@ -0,0 +1,23 @@ +declare module 'atom' { + type ProjectElement = HTMLElement & { header: HTMLElement } + + interface TreeView { + roots: ProjectElement[] + scroller: HTMLElement + } + + interface Package { + activate?: () => void + deactivate?: () => void + mainModule: { treeView: TreeView } + } +} + +interface Dispatch { + selectors: string[] | string + className: string +} + +export type Action = (args: Dispatch & { bool: boolean }) => void + +export type Config = Dispatch & { config: string; action: Action } diff --git a/styles/_fonts/_template.less b/styles/_fonts/_template.less index a03f086d..3ee4885d 100644 --- a/styles/_fonts/_template.less +++ b/styles/_fonts/_template.less @@ -1,11 +1,11 @@ @font-face { font-family: '<%= fontName %>'; - src: url('atom://seti-ui/styles/_fonts/seti/<%= fontName %>.eot'); - src: url('atom://seti-ui/styles/_fonts/seti/<%= fontName %>.eot?#iefix') format('eot'), - // url('atom://seti-ui/styles/_fonts/seti/<%= fontName %>.woff2') format('woff2'), - url('atom://seti-ui/styles/_fonts/seti/<%= fontName %>.woff') format('woff'), - url('atom://seti-ui/styles/_fonts/seti/<%= fontName %>.ttf') format('truetype'), - url('atom://seti-ui/styles/_fonts/seti/<%= fontName %>.svg#<%= fontName %>') format('svg'); + src: url('http://localhost:5000/styles/_fonts/seti/<%= fontName %>.eot'); + src: url('http://localhost:5000/styles/_fonts/seti/<%= fontName %>.eot?#iefix') format('eot'), + // url('http://localhost:5000/styles/_fonts/seti/<%= fontName %>.woff2') format('woff2'), + url('http://localhost:5000/styles/_fonts/seti/<%= fontName %>.woff') format('woff'), + url('http://localhost:5000/styles/_fonts/seti/<%= fontName %>.ttf') format('truetype'), + url('http://localhost:5000/styles/_fonts/seti/<%= fontName %>.svg#<%= fontName %>') format('svg'); font-weight: normal; font-style: normal; } diff --git a/styles/_fonts/roboto.less b/styles/_fonts/roboto.less index 6b20a7a1..230d0026 100644 --- a/styles/_fonts/roboto.less +++ b/styles/_fonts/roboto.less @@ -1,78 +1,78 @@ // Thin @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-Thin.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-Thin.ttf') format('ttf'); font-weight: 100; font-style: normal; } @font-face { font-family: 'Roboto-Thin-Italic'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-ThinItalic.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-ThinItalic.ttf') format('ttf'); font-weight: 100; font-style: italic; } // Light @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-Light.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-Light.ttf') format('ttf'); font-weight: 300; font-style: normal; } @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-LightItalic.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-LightItalic.ttf') format('ttf'); font-weight: 300; font-style: italic; } // Regular @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-Regular.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-Regular.ttf') format('ttf'); font-weight: 500; font-style: normal; } @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-Italic.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-Italic.ttf') format('ttf'); font-weight: 500; font-style: italic; } // Medium @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-Medium.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-Medium.ttf') format('ttf'); font-weight: 600; font-style: normal; } @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-MediumItalic.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-MediumItalic.ttf') format('ttf'); font-weight: 600; font-style: italic; } // Bold @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-Bold.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-Bold.ttf') format('ttf'); font-weight: 700; font-style: normal; } @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-BoldItalic.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-BoldItalic.ttf') format('ttf'); font-weight: 700; font-style: italic; } // Black @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-Black.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-Black.ttf') format('ttf'); font-weight: 900; font-style: normal; } @font-face { font-family: 'Roboto'; - src: url('atom://seti-ui/styles/_fonts/roboto/Roboto-BlackItalic.ttf') format('ttf'); + src: url('http://localhost:5000/styles/_fonts/roboto/Roboto-BlackItalic.ttf') format('ttf'); font-weight: 900; font-style: italic; } diff --git a/styles/_fonts/seti.less b/styles/_fonts/seti.less index 4f8d2120..09f70caa 100644 --- a/styles/_fonts/seti.less +++ b/styles/_fonts/seti.less @@ -1,11 +1,11 @@ @font-face { font-family: 'seti'; - src: url('atom://seti-ui/styles/_fonts/seti/seti.eot'); - src: url('atom://seti-ui/styles/_fonts/seti/seti.eot?#iefix') format('eot'), - // url('atom://seti-ui/styles/_fonts/seti/seti.woff2') format('woff2'), - url('atom://seti-ui/styles/_fonts/seti/seti.woff') format('woff'), - url('atom://seti-ui/styles/_fonts/seti/seti.ttf') format('truetype'), - url('atom://seti-ui/styles/_fonts/seti/seti.svg#seti') format('svg'); + src: url('http://localhost:5000/styles/_fonts/seti/seti.eot'); + src: url('http://localhost:5000/styles/_fonts/seti/seti.eot?#iefix') format('eot'), + // url('http://localhost:5000/styles/_fonts/seti/seti.woff2') format('woff2'), + url('http://localhost:5000/styles/_fonts/seti/seti.woff') format('woff'), + url('http://localhost:5000/styles/_fonts/seti/seti.ttf') format('truetype'), + url('http://localhost:5000/styles/_fonts/seti/seti.svg#seti') format('svg'); font-weight: normal; font-style: normal; } @@ -22,162 +22,19 @@ } .icon-char(@filename) { - @R: '\E001'; - @apple: '\E002'; - @argdown: '\E003'; - @asm: '\E004'; - @audio: '\E005'; - @babel: '\E006'; - @bower: '\E007'; - @bsl: '\E008'; - @c-sharp: '\E009'; - @c: '\E00A'; - @cake: '\E00B'; - @cake_php: '\E00C'; - @checkbox-unchecked: '\E00D'; - @checkbox: '\E00E'; - @cjsx: '\E00F'; - @clock: '\E010'; - @clojure: '\E011'; - @code-climate: '\E012'; - @code-search: '\E013'; - @coffee: '\E014'; - @coffee_erb: '\E015'; - @coldfusion: '\E016'; - @config: '\E017'; - @cpp: '\E018'; - @crystal: '\E019'; - @crystal_embedded: '\E01A'; - @css: '\E01B'; - @csv: '\E01C'; - @d: '\E01D'; - @dart: '\E01E'; - @db: '\E01F'; - @default: '\E020'; - @deprecation-cop: '\E021'; - @docker: '\E022'; - @editorconfig: '\E023'; - @ejs: '\E024'; - @elixir: '\E025'; - @elixir_script: '\E026'; - @elm: '\E027'; - @error: '\E028'; - @eslint: '\E029'; - @ethereum: '\E02A'; - @f-sharp: '\E02B'; - @favicon: '\E02C'; - @firebase: '\E02D'; - @firefox: '\E02E'; - @folder: '\E02F'; - @font: '\E030'; - @git: '\E031'; - @git_folder: '\E032'; - @git_ignore: '\E033'; - @github: '\E034'; - @go: '\E035'; - @go2: '\E036'; - @gradle: '\E037'; - @grails: '\E038'; - @graphql: '\E039'; - @grunt: '\E03A'; - @gulp: '\E03B'; - @hacklang: '\E03C'; - @haml: '\E03D'; - @happenings: '\E03E'; - @haskell: '\E03F'; - @haxe: '\E040'; - @heroku: '\E041'; - @hex: '\E042'; - @html: '\E043'; - @html_erb: '\E044'; - @ignored: '\E045'; - @illustrator: '\E046'; - @image: '\E047'; - @info: '\E048'; - @ionic: '\E049'; - @jade: '\E04A'; - @java: '\E04B'; - @javascript: '\E04C'; - @jenkins: '\E04D'; - @jinja: '\E04E'; - @js_erb: '\E04F'; - @json: '\E050'; - @julia: '\E051'; - @karma: '\E052'; - @kotlin: '\E053'; - @less: '\E054'; - @license: '\E055'; - @liquid: '\E056'; - @livescript: '\E057'; - @lock: '\E058'; - @lua: '\E059'; - @makefile: '\E05A'; - @markdown: '\E05B'; - @maven: '\E05C'; - @mdo: '\E05D'; - @mustache: '\E05E'; - @new-file: '\E05F'; - @npm: '\E060'; - @npm_ignored: '\E061'; - @nunjucks: '\E062'; - @ocaml: '\E063'; - @odata: '\E064'; - @pddl: '\E065'; - @pdf: '\E066'; - @perl: '\E067'; - @photoshop: '\E068'; - @php: '\E069'; - @plan: '\E06A'; - @platformio: '\E06B'; - @powershell: '\E06C'; - @project: '\E06D'; - @prolog: '\E06E'; - @pug: '\E06F'; - @puppet: '\E070'; - @python: '\E071'; - @rails: '\E072'; - @react: '\E073'; - @reasonml: '\E074'; - @rollup: '\E075'; - @ruby: '\E076'; - @rust: '\E077'; - @salesforce: '\E078'; - @sass: '\E079'; - @sbt: '\E07A'; - @scala: '\E07B'; - @search: '\E07C'; - @settings: '\E07D'; - @shell: '\E07E'; - @slim: '\E07F'; - @smarty: '\E080'; - @spring: '\E081'; - @stylelint: '\E082'; - @stylus: '\E083'; - @sublime: '\E084'; - @svg: '\E085'; - @swift: '\E086'; - @terraform: '\E087'; - @tex: '\E088'; - @time-cop: '\E089'; - @todo: '\E08A'; - @tsconfig: '\E08B'; - @twig: '\E08C'; - @typescript: '\E08D'; - @vala: '\E08E'; - @video: '\E08F'; - @vue: '\E090'; - @wasm: '\E091'; - @wat: '\E092'; - @webpack: '\E093'; - @wgt: '\E094'; - @windows: '\E095'; - @word: '\E096'; - @xls: '\E097'; - @xml: '\E098'; - @yarn: '\E099'; - @yml: '\E09A'; - @zip: '\E09B'; - + @checkbox: '\E001'; + @default: '\E002'; + @deprecation-cop: '\E003'; + @git: '\E004'; + @github: '\E005'; + @ignored: '\E006'; + @info: '\E007'; + @markdown: '\E008'; + @new-file: '\E009'; + @search: '\E00A'; + @settings: '\E00B'; + @time-cop: '\E00C'; + content: @@filename; } @@ -191,468 +48,39 @@ } } -.icon-R { - .icon(R); -} -.icon-apple { - .icon(apple); -} -.icon-argdown { - .icon(argdown); -} -.icon-asm { - .icon(asm); -} -.icon-audio { - .icon(audio); -} -.icon-babel { - .icon(babel); -} -.icon-bower { - .icon(bower); -} -.icon-bsl { - .icon(bsl); -} -.icon-c-sharp { - .icon(c-sharp); -} -.icon-c { - .icon(c); -} -.icon-cake { - .icon(cake); -} -.icon-cake_php { - .icon(cake_php); -} -.icon-checkbox-unchecked { - .icon(checkbox-unchecked); -} .icon-checkbox { .icon(checkbox); } -.icon-cjsx { - .icon(cjsx); -} -.icon-clock { - .icon(clock); -} -.icon-clojure { - .icon(clojure); -} -.icon-code-climate { - .icon(code-climate); -} -.icon-code-search { - .icon(code-search); -} -.icon-coffee { - .icon(coffee); -} -.icon-coffee_erb { - .icon(coffee_erb); -} -.icon-coldfusion { - .icon(coldfusion); -} -.icon-config { - .icon(config); -} -.icon-cpp { - .icon(cpp); -} -.icon-crystal { - .icon(crystal); -} -.icon-crystal_embedded { - .icon(crystal_embedded); -} -.icon-css { - .icon(css); -} -.icon-csv { - .icon(csv); -} -.icon-d { - .icon(d); -} -.icon-dart { - .icon(dart); -} -.icon-db { - .icon(db); -} .icon-default { .icon(default); } .icon-deprecation-cop { .icon(deprecation-cop); } -.icon-docker { - .icon(docker); -} -.icon-editorconfig { - .icon(editorconfig); -} -.icon-ejs { - .icon(ejs); -} -.icon-elixir { - .icon(elixir); -} -.icon-elixir_script { - .icon(elixir_script); -} -.icon-elm { - .icon(elm); -} -.icon-error { - .icon(error); -} -.icon-eslint { - .icon(eslint); -} -.icon-ethereum { - .icon(ethereum); -} -.icon-f-sharp { - .icon(f-sharp); -} -.icon-favicon { - .icon(favicon); -} -.icon-firebase { - .icon(firebase); -} -.icon-firefox { - .icon(firefox); -} -.icon-folder { - .icon(folder); -} -.icon-font { - .icon(font); -} .icon-git { .icon(git); } -.icon-git_folder { - .icon(git_folder); -} -.icon-git_ignore { - .icon(git_ignore); -} .icon-github { .icon(github); } -.icon-go { - .icon(go); -} -.icon-go2 { - .icon(go2); -} -.icon-gradle { - .icon(gradle); -} -.icon-grails { - .icon(grails); -} -.icon-graphql { - .icon(graphql); -} -.icon-grunt { - .icon(grunt); -} -.icon-gulp { - .icon(gulp); -} -.icon-hacklang { - .icon(hacklang); -} -.icon-haml { - .icon(haml); -} -.icon-happenings { - .icon(happenings); -} -.icon-haskell { - .icon(haskell); -} -.icon-haxe { - .icon(haxe); -} -.icon-heroku { - .icon(heroku); -} -.icon-hex { - .icon(hex); -} -.icon-html { - .icon(html); -} -.icon-html_erb { - .icon(html_erb); -} .icon-ignored { .icon(ignored); } -.icon-illustrator { - .icon(illustrator); -} -.icon-image { - .icon(image); -} .icon-info { .icon(info); } -.icon-ionic { - .icon(ionic); -} -.icon-jade { - .icon(jade); -} -.icon-java { - .icon(java); -} -.icon-javascript { - .icon(javascript); -} -.icon-jenkins { - .icon(jenkins); -} -.icon-jinja { - .icon(jinja); -} -.icon-js_erb { - .icon(js_erb); -} -.icon-json { - .icon(json); -} -.icon-julia { - .icon(julia); -} -.icon-karma { - .icon(karma); -} -.icon-kotlin { - .icon(kotlin); -} -.icon-less { - .icon(less); -} -.icon-license { - .icon(license); -} -.icon-liquid { - .icon(liquid); -} -.icon-livescript { - .icon(livescript); -} -.icon-lock { - .icon(lock); -} -.icon-lua { - .icon(lua); -} -.icon-makefile { - .icon(makefile); -} .icon-markdown { .icon(markdown); } -.icon-maven { - .icon(maven); -} -.icon-mdo { - .icon(mdo); -} -.icon-mustache { - .icon(mustache); -} .icon-new-file { .icon(new-file); } -.icon-npm { - .icon(npm); -} -.icon-npm_ignored { - .icon(npm_ignored); -} -.icon-nunjucks { - .icon(nunjucks); -} -.icon-ocaml { - .icon(ocaml); -} -.icon-odata { - .icon(odata); -} -.icon-pddl { - .icon(pddl); -} -.icon-pdf { - .icon(pdf); -} -.icon-perl { - .icon(perl); -} -.icon-photoshop { - .icon(photoshop); -} -.icon-php { - .icon(php); -} -.icon-plan { - .icon(plan); -} -.icon-platformio { - .icon(platformio); -} -.icon-powershell { - .icon(powershell); -} -.icon-project { - .icon(project); -} -.icon-prolog { - .icon(prolog); -} -.icon-pug { - .icon(pug); -} -.icon-puppet { - .icon(puppet); -} -.icon-python { - .icon(python); -} -.icon-rails { - .icon(rails); -} -.icon-react { - .icon(react); -} -.icon-reasonml { - .icon(reasonml); -} -.icon-rollup { - .icon(rollup); -} -.icon-ruby { - .icon(ruby); -} -.icon-rust { - .icon(rust); -} -.icon-salesforce { - .icon(salesforce); -} -.icon-sass { - .icon(sass); -} -.icon-sbt { - .icon(sbt); -} -.icon-scala { - .icon(scala); -} .icon-search { .icon(search); } .icon-settings { .icon(settings); } -.icon-shell { - .icon(shell); -} -.icon-slim { - .icon(slim); -} -.icon-smarty { - .icon(smarty); -} -.icon-spring { - .icon(spring); -} -.icon-stylelint { - .icon(stylelint); -} -.icon-stylus { - .icon(stylus); -} -.icon-sublime { - .icon(sublime); -} -.icon-svg { - .icon(svg); -} -.icon-swift { - .icon(swift); -} -.icon-terraform { - .icon(terraform); -} -.icon-tex { - .icon(tex); -} .icon-time-cop { .icon(time-cop); } -.icon-todo { - .icon(todo); -} -.icon-tsconfig { - .icon(tsconfig); -} -.icon-twig { - .icon(twig); -} -.icon-typescript { - .icon(typescript); -} -.icon-vala { - .icon(vala); -} -.icon-video { - .icon(video); -} -.icon-vue { - .icon(vue); -} -.icon-wasm { - .icon(wasm); -} -.icon-wat { - .icon(wat); -} -.icon-webpack { - .icon(webpack); -} -.icon-wgt { - .icon(wgt); -} -.icon-windows { - .icon(windows); -} -.icon-word { - .icon(word); -} -.icon-xls { - .icon(xls); -} -.icon-xml { - .icon(xml); -} -.icon-yarn { - .icon(yarn); -} -.icon-yml { - .icon(yml); -} -.icon-zip { - .icon(zip); -} diff --git a/styles/_fonts/seti/seti.eot b/styles/_fonts/seti/seti.eot index 501f891c..507ccea9 100644 Binary files a/styles/_fonts/seti/seti.eot and b/styles/_fonts/seti/seti.eot differ diff --git a/styles/_fonts/seti/seti.svg b/styles/_fonts/seti/seti.svg index eddc4d8b..73f03ded 100644 --- a/styles/_fonts/seti/seti.svg +++ b/styles/_fonts/seti/seti.svg @@ -1,4 +1,4 @@ - + @@ -7,471 +7,42 @@ units-per-em="1000" ascent="1000" descent="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + unicode="" + horiz-adv-x="1000" d="M412.5 378.125C418.75 384.375 418.75 387.5000000000001 421.875 387.5000000000001C512.5 521.8750000000001 606.25 659.375 696.875 790.6250000000001C715.6250000000001 815.6250000000001 731.2500000000001 818.7500000000001 759.375 800.0000000000001C775 790.6250000000001 793.7500000000001 775.0000000000001 806.25 765.625C825.0000000000001 750 831.25 731.25 815.625 712.5C700.0000000000001 546.8750000000001 587.5 378.125 471.8750000000001 212.5000000000001C446.875 178.1250000000001 415.625 175.0000000000001 387.5000000000001 203.1250000000001L378.1250000000001 212.5000000000001L187.5 403.125C168.75 421.875 168.75 440.6249999999999 187.5 459.375C203.125 478.125 218.75 490.625 228.125 500C253.125 525 265.625 525 290.625 500L409.3750000000001 381.25C409.3750000000001 387.5 412.5000000000001 381.25 412.5000000000001 378.1249999999999z" /> + unicode="" + horiz-adv-x="1200" d="M394.1 462.2H805.8V407.5H394.1V462.2zM394.1 592.5H624V537.8000000000001H394.1V592.5zM394.1 722.8000000000001H805.8V668.1000000000001H394.1V722.8000000000001zM394.1 331.9000000000001H700V277.2000000000001H394.1V331.9000000000001z" /> - - - - - - - - - - - - - - - + unicode="" + horiz-adv-x="1000" d="M781.25 575V565.625C778.125 562.5 778.125 559.375 775 556.25C765.625 543.75 753.125 531.25 743.75 518.75C734.375 509.3749999999999 725 496.8749999999999 725 481.25C725 478.1249999999999 721.8749999999999 478.1249999999999 718.75 475C653.125 459.375 587.5 450 521.875 446.875C475 446.875 428.125 446.875 381.25 456.25C346.875 462.5 315.625 468.75 281.25 475.0000000000001C278.125 475.0000000000001 275 478.1250000000001 275 478.1250000000001C275 496.8750000000002 265.625 509.3750000000001 253.1250000000001 518.7500000000002C243.7500000000001 528.1250000000002 234.3750000000001 534.3750000000002 225 543.7500000000002C209.375 562.5000000000002 215.625 584.3750000000002 240.6250000000001 593.7500000000002C262.5 603.1250000000002 287.5000000000001 609.3750000000002 309.3750000000001 621.8750000000002C346.8750000000001 640.6250000000002 384.3750000000001 665.6250000000002 421.8750000000001 687.5000000000002C446.8750000000001 706.2500000000002 468.7500000000001 718.7500000000002 496.8750000000001 725.0000000000002H506.2500000000001C531.2500000000001 718.7500000000002 556.2500000000001 706.2500000000002 578.1250000000001 693.7500000000002C596.8750000000001 684.3750000000001 615.6250000000001 671.8750000000002 631.2500000000001 659.3750000000002C671.8750000000001 637.5000000000002 709.3750000000001 615.6250000000002 753.125 600.0000000000002C768.75 596.8750000000002 778.1250000000001 590.6250000000001 781.25 575.0000000000001zM503.1250000000001 612.5C481.2500000000001 612.5 462.5 600 450.0000000000001 587.5C450.0000000000001 587.5 446.8750000000001 584.375 446.8750000000001 581.25C450.0000000000001 556.25 459.3750000000001 534.375 475.0000000000001 515.625C478.1250000000001 509.375 484.3750000000001 506.25 490.6250000000001 503.125C506.2500000000001 496.8749999999999 518.75 503.125 528.1250000000001 515.625C543.7500000000001 534.375 553.1250000000001 556.25 556.25 581.25C556.25 584.375 556.25 584.375 553.125 587.5C540.625 600 525 612.5 503.1249999999999 612.5zM493.75 274.9999999999999C478.125 278.125 465.625 278.125 450 281.2499999999999C400 290.6249999999999 362.5000000000001 315.6249999999999 328.125 353.1249999999999C309.375 374.9999999999999 293.75 396.8749999999999 281.25 421.8749999999999C281.25 424.9999999999999 278.125 424.9999999999999 278.125 428.1249999999999V431.2499999999999C428.125 393.7499999999999 575 393.7499999999999 725.0000000000001 431.2499999999999V424.9999999999999C696.8750000000001 368.7499999999999 656.2500000000001 321.8749999999999 596.875 296.875C571.875 284.375 543.7500000000001 278.125 515.625 278.125H509.375C503.1250000000001 274.9999999999999 496.875 274.9999999999999 493.75 274.9999999999999z" /> - - + unicode="" + horiz-adv-x="1000" d="M218.75 493.75V503.1250000000001C221.875 518.75 231.25 525 240.625 537.5L390.625 687.5L396.875 693.75S400 693.75 400 690.625L456.25 634.375C459.375 631.25 459.375 628.125 456.25 625C453.125 606.25 459.375 587.5 475 578.125C481.2499999999999 575 481.2499999999999 571.875 481.2499999999999 565.625V428.1249999999999C481.2499999999999 421.8749999999999 478.1249999999999 418.7499999999999 475 415.6249999999999C459.375 406.2499999999999 450 387.5 456.25 368.7499999999999C462.4999999999999 349.9999999999999 478.1249999999999 337.4999999999999 496.875 337.4999999999999C515.625 337.4999999999999 531.25 349.9999999999999 537.5 365.6249999999999C543.75 384.3749999999999 537.5 403.1249999999999 521.875 415.6249999999999C515.625 418.75 515.625 421.8749999999999 515.625 428.1249999999999V568.7499999999999H518.75L568.7500000000001 518.7499999999999C571.8750000000001 515.6249999999999 571.8750000000001 512.4999999999999 571.8750000000001 512.4999999999999V493.7499999999999C575.0000000000002 468.7499999999999 596.8750000000001 453.1249999999999 621.8750000000002 456.2499999999999C646.8750000000002 459.375 665.6250000000001 484.3749999999999 659.3750000000001 509.3749999999999C656.2500000000001 531.2499999999999 631.2500000000002 546.8749999999999 609.3750000000001 543.7499999999999C606.2500000000001 543.7499999999999 603.1250000000001 543.7499999999999 596.8750000000001 546.8749999999999L543.7500000000002 599.9999999999999C540.6250000000001 603.1249999999998 540.6250000000001 606.2499999999998 540.6250000000001 609.3749999999999C546.8750000000001 637.4999999999999 518.7500000000001 665.6249999999999 490.6250000000002 659.3749999999999C487.5000000000002 659.3749999999999 481.2500000000001 659.3749999999999 481.2500000000001 662.4999999999999C462.5000000000001 681.2499999999998 443.7500000000002 699.9999999999998 425.0000000000001 715.6249999999998C421.8750000000001 718.7499999999998 421.8750000000001 721.8749999999998 425.0000000000001 724.9999999999999C440.6250000000001 737.4999999999999 453.1250000000001 753.1249999999999 465.6250000000001 765.6249999999999C484.3750000000001 784.3749999999999 503.1250000000002 784.3749999999999 521.8750000000001 765.6249999999999L759.3750000000001 528.1249999999998C778.1250000000002 509.3749999999998 778.1250000000002 490.6249999999999 759.3750000000001 471.8749999999998L531.25 243.75C521.875 234.375 512.5 221.875 496.875 218.75H490.6250000000001C484.3750000000001 221.875 475.0000000000001 225 468.7500000000001 231.25C450.0000000000001 250 428.1250000000001 268.7499999999999 409.3750000000001 290.6249999999999L237.5000000000001 462.4999999999999C234.3750000000001 471.8749999999999 221.8750000000001 481.25 218.7500000000001 493.7499999999999z" /> - - - - - - - - - - - - - - - - + unicode="" + horiz-adv-x="1000" d="M556.25 356.25C568.75 359.375 581.25 359.375 593.75 362.4999999999999C631.25 371.875 662.5 390.6249999999999 678.125 424.9999999999999C696.875 462.4999999999999 700 499.9999999999999 690.6249999999999 540.6249999999999C687.4999999999999 559.3749999999999 678.125 571.8749999999999 665.6249999999999 587.4999999999999C662.4999999999999 590.6249999999999 662.4999999999999 593.7499999999999 662.4999999999999 596.875C668.7499999999999 621.875 668.7499999999999 643.75 659.3749999999998 668.75C659.3749999999998 671.875 656.2499999999998 675 649.9999999999998 675C634.3749999999998 675 621.8749999999999 668.75 609.3749999999998 662.5S587.4999999999998 649.9999999999999 578.1249999999998 643.75C574.9999999999998 640.625 571.8749999999998 640.625 568.7499999999998 640.625C518.7499999999997 653.125 471.8749999999998 653.125 421.8749999999998 640.625C418.7499999999998 640.625 415.6249999999998 640.625 412.4999999999998 643.75C390.6249999999998 656.25 371.8749999999997 668.75 346.8749999999998 671.875C331.2499999999998 675 331.2499999999998 675 328.1249999999998 659.375C321.8749999999998 637.5 321.8749999999998 615.625 328.1249999999998 593.75V587.5C299.9999999999998 556.25 293.7499999999998 515.625 299.9999999999998 478.1249999999999C303.1249999999998 465.625 303.1249999999998 456.2499999999999 306.2499999999998 443.7499999999999C321.8749999999998 399.9999999999999 353.1249999999998 374.9999999999999 399.9999999999998 362.4999999999998C412.4999999999998 359.3749999999998 424.9999999999998 356.2499999999999 440.6249999999998 353.1249999999998C431.2499999999998 343.7499999999998 424.9999999999998 328.1249999999998 421.8749999999998 315.6249999999998C421.8749999999998 312.4999999999998 418.7499999999998 312.4999999999998 418.7499999999998 312.4999999999998C387.4999999999998 299.9999999999998 353.1249999999998 303.1249999999998 331.2499999999999 337.4999999999998C321.8749999999998 353.1249999999998 309.3749999999999 365.6249999999998 287.4999999999999 368.7499999999998H271.8749999999999C265.6249999999999 368.7499999999998 265.6249999999999 362.4999999999998 268.7499999999999 359.3749999999998L274.9999999999998 353.1249999999998C290.6249999999998 343.7499999999998 303.1249999999999 328.1249999999998 309.3749999999998 309.3749999999999C321.8749999999998 281.2499999999999 343.7499999999998 268.7499999999998 374.9999999999998 265.6249999999999C387.4999999999998 265.6249999999999 403.1249999999998 265.6249999999999 418.7499999999998 268.7499999999999V209.375C418.7499999999998 200 409.3749999999998 193.75 396.8749999999999 196.875C371.8749999999998 206.25 346.8749999999999 218.75 321.8749999999998 234.375C228.1249999999998 300 178.1249999999998 390.625 184.3749999999998 506.25C190.6249999999998 650 296.8749999999998 765.625 437.4999999999998 793.75C599.9999999999998 825 756.2499999999998 725 799.9999999999998 565.625C840.6249999999999 409.3749999999999 749.9999999999998 246.875 599.9999999999999 196.8749999999999C584.3749999999999 190.6249999999999 574.9999999999999 196.8749999999999 574.9999999999999 215.625V290.6249999999999C578.1249999999999 315.6249999999999 574.9999999999999 337.4999999999999 556.2499999999998 356.25z" /> - - + unicode="" + horiz-adv-x="1000" d="M715.625 678.125C718.75 684.375 721.8749999999999 690.625 721.8749999999999 696.875C718.7499999999999 709.375 712.4999999999999 715.625 703.1249999999999 718.75C693.7499999999999 721.875 684.3749999999999 718.75 674.9999999999999 712.5L612.4999999999999 650C609.3749999999999 646.875 606.25 646.875 600 646.875C528.125 675 459.375 675 387.5 643.75S262.5 559.375 221.875 496.8749999999999C215.625 484.375 215.625 475 225 465.625C240.625 446.8749999999999 259.375 428.125 278.125 412.5C296.875 396.875 315.625 384.375 334.375 371.875C331.25 371.875 331.25 368.7499999999999 328.125 368.7499999999999C312.5 353.1249999999999 296.875 340.625 284.375 325C278.125 318.75 275 309.375 278.125 296.875C281.25 287.5 287.5000000000001 281.25 300 278.125C309.375 278.125 318.75 281.25 325 287.5L712.5 675L715.6250000000001 678.125zM378.125 415.6249999999999H371.875C337.5 434.375 306.25 456.2499999999999 278.125 487.4999999999999C309.375 528.125 346.875 565.625 393.75 590.625C362.5 537.5 365.625 487.4999999999999 399.9999999999999 437.5L378.125 415.625zM518.7499999999999 587.4999999999999C515.6249999999999 578.1249999999999 509.3749999999999 571.8749999999999 496.8749999999999 571.8749999999999C468.7499999999999 571.8749999999999 446.875 553.125 443.75 524.9999999999999V515.6249999999999C443.75 503.1249999999999 434.375 496.8749999999998 425 496.8749999999998C412.5 496.8749999999998 406.25 506.2499999999999 406.25 518.7499999999998C406.25 568.7499999999998 446.875 612.4999999999998 496.875 612.4999999999998C512.5 612.4999999999998 521.875 599.9999999999998 518.75 587.4999999999998zM774.9999999999999 499.9999999999999C759.3749999999999 518.7499999999999 743.7499999999999 540.6249999999999 728.1249999999999 559.3749999999999C715.625 574.9999999999999 696.8749999999999 587.4999999999999 684.375 603.1249999999999L646.875 565.625C674.9999999999999 543.75 700 518.75 721.8749999999999 487.4999999999999C718.7499999999999 484.3749999999999 715.625 481.25 712.4999999999999 481.25C703.1249999999999 471.8749999999999 693.7499999999999 462.4999999999999 684.375 456.2499999999999C621.875 406.2499999999999 553.125 381.25 475 390.6249999999999C468.75 390.6249999999999 465.6249999999999 390.6249999999999 462.4999999999999 387.4999999999999C456.25 381.2499999999999 450 374.9999999999999 443.75 365.6249999999999L425 346.8749999999998H428.125C471.875 337.4999999999998 518.7499999999999 334.3749999999999 562.5 343.7499999999998C650 359.3749999999998 718.75 406.2499999999998 775 471.8749999999998C784.375 478.1249999999998 784.375 487.4999999999998 775 499.9999999999998z" /> - - - - - - - - - - - - - - - - - - + unicode="" + horiz-adv-x="1000" d="M812.5 528.125C809.375 581.25 790.625 628.125 762.5 671.875C718.75 737.5 656.25 781.25 581.25 800C559.3750000000001 806.25 537.5000000000001 809.375 518.75 809.375H468.75C406.25 803.125 353.125 781.25 303.125 743.75C246.875 696.875 209.375 640.625 193.75 568.75C190.625 553.125 187.5 534.375 187.5 518.75V468.75C193.75 415.625 209.375 365.625 240.625 321.875C275 271.875 321.875 231.2500000000001 378.125 209.375C412.5 196.875 446.875 187.5 481.2499999999999 184.375H531.25C606.25 190.6249999999999 671.875 221.8749999999999 725 278.125C768.7499999999999 321.8749999999999 796.875 375 809.375 434.375C812.5 450 812.5 462.4999999999999 815.6249999999999 478.1249999999999V512.4999999999999C812.4999999999999 518.7499999999999 812.4999999999999 521.875 812.4999999999999 528.1249999999999zM500 234.375C353.125 234.375 237.5 353.125 237.5 500S356.25 765.625 506.25 765.625C649.9999999999999 762.5 768.75 646.875 768.75 500C765.625 353.125 646.8750000000001 234.375 500 234.375zM575 331.25C568.75 331.25 565.6249999999999 331.25 559.375 334.3750000000001C553.125 334.3750000000001 553.125 340.6250000000001 549.9999999999999 343.7500000000001V546.8750000000001C499.9999999999999 543.7500000000001 453.1249999999999 543.7500000000001 403.125 540.6250000000001V515.6250000000001H434.375C446.875 515.6250000000001 453.1249999999999 506.2500000000001 453.1249999999999 493.7500000000001V350.0000000000001C453.1249999999999 337.5000000000001 446.875 331.25 434.375 331.25H406.25V306.25H593.75V331.25H575zM493.7499999999999 584.375C524.9999999999999 584.375 546.875 609.375 546.875 637.5C546.875 665.625 521.875 690.625 493.75 690.625C462.5 690.625 440.6250000000001 665.625 440.6250000000001 637.5C440.6250000000001 609.375 465.6250000000001 584.375 493.75 584.375z" /> - - - + unicode="" + horiz-adv-x="1000" d="M646.875 790.625V481.25H765.625C675 387.5 584.375 296.875 493.75 206.2499999999999C409.3750000000001 293.75 318.7500000000001 387.5 231.25 478.1249999999999H340.625V793.75C381.2500000000001 765.625 478.125 696.875 496.875 696.875C515.625 696.875 609.375 765.625 646.875 790.625z" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - + unicode="" + horiz-adv-x="1000" d="M540.625 812.5C540.625 809.375 543.7500000000001 809.375 543.7500000000001 806.25L690.625 659.375C693.7500000000001 656.25 693.7500000000001 653.125 693.7500000000001 650V556.25C681.2500000000001 562.5 668.7500000000001 565.625 653.1250000000001 571.875V618.75H537.5000000000001C512.5000000000001 618.75 496.8750000000001 634.375 496.8750000000001 659.375V771.875H262.5V225H421.875C425 225 428.125 225 431.25 221.8749999999999C440.6250000000001 212.4999999999999 453.125 200 465.625 190.6249999999999L468.75 187.4999999999999H256.25C228.125 193.7499999999999 221.875 212.4999999999999 221.875 234.3749999999999V771.875C221.875 790.625 231.25 803.125 246.875 809.375C253.125 809.375 256.25 812.5 259.375 812.5H540.6249999999999zM656.25 656.25L540.625 771.875V656.25H656.25zM584.375 187.5C571.875 190.625 562.5 190.625 549.9999999999999 193.75C481.2499999999999 212.5 431.2499999999999 275 425 343.75C415.6249999999999 437.5 481.2499999999999 521.875 575 534.375C671.875 546.875 765.625 478.125 774.9999999999999 378.125V343.75C768.7499999999999 275 718.7499999999999 212.5 649.9999999999999 193.75C637.5 190.6249999999999 624.9999999999999 187.5 615.6249999999999 187.5H584.3749999999999zM596.8749999999999 500C521.875 500 459.3749999999999 437.5 459.3749999999999 362.5C459.3749999999999 287.5000000000001 521.8749999999999 225.0000000000001 596.8749999999999 228.125C671.8749999999999 228.125 734.375 290.625 734.375 365.6250000000001C734.375 440.625 671.875 500.0000000000001 596.875 500.0000000000001zM618.75 381.25H656.25C668.75 381.25 678.125 371.875 678.125 362.4999999999999C678.125 350 668.75 343.7499999999999 656.25 343.7499999999999H618.75V299.9999999999999C615.625 290.6249999999999 606.2500000000001 284.3749999999999 596.875 284.3749999999999C587.5 284.3749999999999 578.125 293.75 578.125 303.125V343.75H537.5C528.125 343.75 518.7499999999999 353.125 518.7499999999999 362.5S528.125 381.2500000000001 537.5 381.2500000000001H578.125V421.8750000000001C578.125 431.2500000000001 587.5 440.6250000000001 596.875 440.6250000000001S615.6250000000001 431.2500000000001 615.6250000000001 421.8750000000001V406.2500000000001C618.7500000000001 400.0000000000001 618.7500000000001 393.7500000000001 618.7500000000001 381.2500000000001C618.7500000000001 384.3750000000001 618.7500000000001 384.3750000000001 618.7500000000001 381.2500000000001z" /> + unicode="" + horiz-adv-x="1000" d="M187.5 543.75V568.75C187.5 584.375 190.625 603.125 196.875 618.75C225 725 321.875 803.125 431.25 809.375H462.5C478.125 809.375 496.875 806.25 512.5000000000001 800C615.6250000000001 771.875 693.7500000000001 681.25 700.0000000000001 568.75C700.0000000000001 550 700.0000000000001 528.125 696.875 509.3749999999999C690.625 478.1249999999999 681.25 450 665.625 421.875C665.625 421.875 665.625 418.75 662.5 418.75C662.5 418.75 665.625 418.75 665.625 415.6249999999999L809.375 271.8749999999999L815.6249999999999 265.6249999999999V256.2499999999999C815.6249999999999 253.1249999999998 812.4999999999999 249.9999999999999 812.4999999999999 246.8749999999999C809.3749999999999 240.6249999999999 806.2499999999999 234.3749999999999 799.9999999999999 228.1249999999998L774.9999999999999 203.1249999999998C765.6249999999999 196.8749999999998 759.3749999999999 190.6249999999998 746.875 187.4999999999998H740.625C737.4999999999999 187.4999999999998 734.375 190.6249999999998 731.25 193.7499999999998L590.625 334.3749999999998L587.4999999999999 337.4999999999998H584.3749999999999C537.4999999999999 306.2499999999998 484.3749999999999 293.7499999999999 428.1249999999999 296.8749999999998C412.4999999999999 296.8749999999998 396.8749999999999 299.9999999999998 384.3749999999999 303.1249999999998C312.5 321.875 250 371.875 218.75 437.5C203.125 468.75 193.75 500 193.75 534.375C187.5 540.625 187.5 540.625 187.5 543.75zM271.875 553.125C271.875 459.3750000000001 346.875 381.2500000000001 443.75 381.2500000000001C537.5 381.2500000000001 615.625 456.25 615.625 553.1250000000001C615.625 646.8750000000001 540.625 725.0000000000001 443.75 725.0000000000001C350 725.0000000000001 271.875 650 271.875 553.1250000000001z" /> - - - - - - - - - - - + unicode="" + horiz-adv-x="1000" d="M365.625 743.75C331.25 743.75 303.125 718.75 300 684.375V621.875C303.125 587.5 331.25 562.5 365.625 562.5S428.125 587.5 431.25 621.875V684.375C428.125 718.75 400 743.75 365.625 743.75zM218.75 662.5V643.75C218.75 631.25 228.125 621.875 240.625 621.875H281.25V684.375H240.625C228.125 684.375 218.75 675 218.75 662.5zM759.375 684.375H453.125V621.875H759.375C771.875 621.875 781.25 631.25 781.25 643.75V662.5C781.25 675 771.875 684.3749999999999 759.375 684.3749999999999zM634.375 559.375C600 559.375 571.875 534.375 568.75 500V437.5C571.875 403.125 600 378.125 634.375 378.125S696.875 403.1250000000001 700.0000000000001 437.5V500C696.875 534.375 668.7500000000001 559.375 634.375 559.375zM218.75 478.125V459.375C218.75 446.875 228.125 437.5 240.625 437.5H546.875V500H240.625C228.125 500 218.75 490.625 218.75 478.125zM759.375 500H718.75V437.5H759.375C771.875 437.5 781.25 446.875 781.25 459.375V478.125C781.25 490.625 771.875 500 759.375 500zM468.75 375C434.375 375 406.25 350 403.125 315.625V253.125C406.25 218.75 434.375 193.7500000000001 468.75 193.7500000000001S531.25 218.7500000000001 534.375 253.125V315.625C531.25 350.0000000000001 503.1250000000001 375 468.7500000000001 375zM759.375 315.625H553.1250000000001V253.125H759.3750000000001C771.8750000000001 253.125 781.2500000000001 262.5000000000001 781.2500000000001 275V293.7500000000001C781.2500000000001 306.25 771.8750000000001 315.625 759.3750000000001 315.625zM218.75 293.75V274.9999999999999C218.75 262.5 228.125 253.1249999999999 240.625 253.1249999999999H384.375V315.6249999999999H240.625C228.125 315.6249999999999 218.75 306.2499999999999 218.75 293.75z" /> - - - - - - - - - - - - - - - - - - + unicode="" + horiz-adv-x="1000" d="M484.375 781.25H521.875C537.5 778.125 549.9999999999999 778.125 565.6249999999999 775C603.1249999999999 765.625 637.5 750 668.75 728.125C693.75 709.375 712.4999999999999 690.625 728.1249999999999 665.625C756.2499999999999 628.125 771.8749999999999 587.5 778.125 540.625C778.125 534.375 781.25 528.125 781.25 518.75V478.125C778.125 465.6250000000001 778.125 453.125 775 443.75C765.625 406.25 750 368.75 728.125 337.5S678.125 281.25 643.75 259.375C609.375 240.625 575.0000000000001 225 534.375 221.875C528.1250000000001 221.875 521.8750000000001 218.75 515.625 218.75H475C462.4999999999999 221.875 450 221.875 440.625 225C403.125 234.375 365.625 250 334.375 271.875S278.125 321.875 256.25 356.25C237.5 390.625 221.875 424.9999999999999 218.75 465.625C221.875 468.75 218.75 475 218.75 484.375V521.875C221.875 537.5 221.875 550 225 565.625C234.375 603.125 250 637.5 271.875 668.75S325 725 356.25 743.75C387.5 762.5 421.875 775 459.375 778.125C468.75 778.125 475 781.25 484.375 781.25zM265.625 493.75C268.75 365.6250000000001 375 262.5 503.1250000000001 262.5C634.375 262.5 740.6250000000001 371.875 737.5 506.25C734.375 631.25 628.125 737.5 493.75 734.375C368.75 731.25 262.5 628.125 265.625 493.75zM512.5 500C518.7499999999999 506.25 528.125 509.375 534.3749999999999 515.625C562.4999999999999 534.375 590.625 553.125 615.625 571.875C618.75 575 621.875 575 621.875 578.125C628.1249999999999 584.375 637.5 581.25 643.7499999999999 575C649.9999999999999 568.75 646.875 559.375 640.6249999999999 553.125C631.2499999999999 546.875 618.7499999999999 537.5 609.3749999999999 531.25C587.4999999999999 515.625 562.4999999999999 500.0000000000001 540.6249999999999 481.2500000000001C528.125 471.875 518.7499999999999 465.6250000000001 506.2499999999999 456.25C496.8749999999998 450.0000000000001 484.3749999999999 456.25 484.3749999999999 465.6250000000001V668.75C484.3749999999999 678.1250000000001 487.4999999999999 684.375 496.8749999999999 684.375C503.1249999999999 687.5 512.5 681.25 512.5 671.875V500C512.5 503.125 512.5 500 512.5 500z" /> diff --git a/styles/_fonts/seti/seti.ttf b/styles/_fonts/seti/seti.ttf index 6e8e2e9a..1f3a5760 100644 Binary files a/styles/_fonts/seti/seti.ttf and b/styles/_fonts/seti/seti.ttf differ diff --git a/styles/_fonts/seti/seti.woff b/styles/_fonts/seti/seti.woff index 3a77c429..e234e562 100644 Binary files a/styles/_fonts/seti/seti.woff and b/styles/_fonts/seti/seti.woff differ diff --git a/styles/_fonts/seti/seti.woff2 b/styles/_fonts/seti/seti.woff2 index e99543e2..4b652027 100644 Binary files a/styles/_fonts/seti/seti.woff2 and b/styles/_fonts/seti/seti.woff2 differ diff --git a/styles/components/dock.less b/styles/components/dock.less index c945565b..8cc12563 100644 --- a/styles/components/dock.less +++ b/styles/components/dock.less @@ -122,7 +122,7 @@ atom-dock { } &.icon-git-commit { - .icon('git_folder', @tab-text-color); + .icon('git', @tab-text-color); &::before { margin-right: 10px; } @@ -133,7 +133,7 @@ atom-dock { border: 0; max-width: none; .title::before { - background: url('atom://seti-ui/icons/project.svg') no-repeat; + background: url('http://localhost:5000/icons/project.svg') no-repeat; background-position: center; background-size: 80%; height: @tab-height; diff --git a/styles/components/icons/mapping.less b/styles/components/icons/mapping.less index 98b1ce2c..c029528b 100644 --- a/styles/components/icons/mapping.less +++ b/styles/components/icons/mapping.less @@ -1,613 +1,653 @@ +// DEFAULT ICON +.icon-default("default"); + // - - - - - - - - - - - - - - // LANGUAGES - EXTENSION BASED // - - - - - - - - - - - - - - -// DEFAULT ICON -.icon-file-binary, -.icon-file-pdf, -.icon-file-text, -.icon-book, -.icon-file-media, -.icon-markdown, -.title { - .icon("default", @white); -} - // 1C:Enterprise -.icon-set(".bsl", "bsl", @red); -.icon-set(".mdo", "mdo", @red); +.icon-ext(".bsl", "bsl"); +.icon-ext(".mdo", "mdo"); // Assembly -.icon-set(".asm", "asm", @red); -.icon-set(".s", "asm", @red); +.icon-ext(".asm", "asm"); +.icon-ext(".s", "asm"); // C -.icon-set(".c", "c", @blue); -.icon-set(".h", "c", @purple); -.icon-set(".m", "c", @yellow); +.icon-ext(".c", "c", "blue"); +.icon-ext(".h", "c", "purple"); +.icon-ext(".m", "c", "yellow"); // C♯ -.icon-set(".cs", "c-sharp", @blue); -.icon-set(".cshtml", "html", @blue); -.icon-set(".aspx", "html", @blue); -.icon-set(".ascx", "html", @green); -.icon-set(".asax", "html", @yellow); -.icon-set(".master", "html", @yellow); +.icon-ext(".cs", "c-sharp"); +.icon-ext(".cshtml", "html", "blue"); +.icon-ext(".aspx", "html", "blue"); +.icon-ext(".ascx", "html", "green"); +.icon-ext(".asax", "html", "yellow"); +.icon-ext(".master", "html", "yellow"); // C++ -.icon-set(".cc", "cpp", @blue); -.icon-set(".cpp", "cpp", @blue); -.icon-set(".cxx", "cpp", @blue); -.icon-set(".c++", "cpp", @blue); -.icon-set(".hh", "cpp", @purple); -.icon-set(".hpp", "cpp", @purple); -.icon-set(".hxx", "cpp", @purple); -.icon-set(".h++", "cpp", @purple); -.icon-set(".mm", "cpp", @yellow); +.icon-ext(".cc", "cpp"); +.icon-ext(".cpp", "cpp"); +.icon-ext(".cxx", "cpp"); +.icon-ext(".c++", "cpp"); +.icon-ext(".hh", "cpp", "purple"); +.icon-ext(".hpp", "cpp", "purple"); +.icon-ext(".hxx", "cpp", "purple"); +.icon-ext(".h++", "cpp", "purple"); +.icon-ext(".mm", "cpp", "yellow"); // Clojure -.icon-set(".clj", "clojure", @green); -.icon-set(".cljs", "clojure", @green); -.icon-set(".cljc", "clojure", @green); -.icon-set(".edn", "clojure", @blue); +.icon-ext(".clj", "clojure"); +.icon-ext(".cljs", "clojure"); +.icon-ext(".cljc", "clojure"); +.icon-ext(".edn", "clojure", "blue"); // COLDFUSION -.icon-set(".cfc", "coldfusion", @blue); -.icon-set(".cfm", "coldfusion", @blue); +.icon-ext(".cfc", "coldfusion"); +.icon-ext(".cfm", "coldfusion"); // COFFEESCRIPT -.icon-set(".coffee", "coffee", @yellow); -.icon-set(".litcoffee", "coffee", @yellow); +.icon-ext(".coffee", "coffee"); +.icon-ext(".litcoffee", "coffee"); // CONFIG -.icon-set(".config", "config", @grey-light); -.icon-set(".cfg", "config", @grey-light); -.icon-set(".conf", "config", @grey-light); +.icon-ext(".config", "config"); +.icon-ext(".cfg", "config"); +.icon-ext(".conf", "config"); // CRYSTAL -.icon-set(".cr", "crystal", @white); -.icon-set(".ecr", "crystal_embedded", @white); -.icon-set(".slang", "crystal_embedded", @white); +.icon-ext(".cr", "crystal"); +.icon-ext(".ecr", "crystal_embedded"); +.icon-ext(".slang", "crystal_embedded"); // CSON -.icon-set(".cson", "json", @yellow); +.icon-ext(".cson", "json", "yellow"); // CSS -.icon-set(".css", "css", @blue); -.icon-set(".css.map", "css", @blue); -.icon-set(".sss", "css", @blue); +.icon-ext(".css", "css"); +.icon-ext(".css.map", "css"); +.icon-ext(".sss", "css"); // CSV -.icon-set(".csv", "csv", @green); -.icon-set(".xls", "xls", @green); -.icon-set(".xlsx", "xls", @green); +.icon-ext(".csv", "csv"); +.icon-ext(".xls", "xls"); +.icon-ext(".xlsx", "xls"); // CAKE -.icon-set(".cake", "cake", @red); -.icon-set(".ctp", "cake_php", @red); +.icon-ext(".cake", "cake"); +.icon-ext(".ctp", "cake_php"); // D -.icon-set(".d", "d", @red); +.icon-ext(".d", "d"); // DOC -.icon-set(".doc", "word", @blue); -.icon-set(".docx", "word", @blue); +.icon-ext(".doc", "word"); +.icon-ext(".docx", "word"); // EJS -.icon-set(".ejs", "ejs", @yellow); +.icon-ext(".ejs", "ejs"); // ELIXIR -.icon-set(".ex", "elixir", @purple); -.icon-set(".exs", "elixir_script", @purple); -.icon-partial("mix", "hex", @red); +.icon-ext(".ex", "elixir"); +.icon-ext(".exs", "elixir_script"); +.icon-name("mix.exs", "hex"); // ELM -.icon-set(".elm", "elm", @blue); +.icon-ext(".elm", "elm"); // FAVICON -.icon-set(".ico", "favicon", @yellow); +.icon-ext(".ico", "favicon"); // F# -.icon-set(".fs", "f-sharp", @blue); -.icon-set(".fsx", "f-sharp", @blue); +.icon-ext(".fs", "f-sharp"); +.icon-ext(".fsx", "f-sharp"); // GITIGNORE -.icon-set(".gitignore", "git", @ignore); -.icon-set(".gitconfig", "git", @ignore); -.icon-set(".gitkeep", "git", @ignore); -.icon-set(".gitattributes", "git", @ignore); -.icon-set(".gitmodules", "git", @ignore); +.icon-name(".gitignore", "git"); +.icon-name(".gitconfig", "git"); +.icon-name(".gitkeep", "git"); +.icon-name(".gitattributes", "git"); +.icon-name(".gitmodules", "git"); // GO -.icon-set(".go", "go2", @blue); -.icon-set(".slide", "go", @blue); -.icon-set(".article", "go", @blue); +.icon-ext(".go", "go2"); +.icon-ext(".slide", "go"); +.icon-ext(".article", "go"); // GRADLE -.icon-set(".gradle", "gradle", @green); +.icon-ext(".gradle", "gradle"); // GRAILS -.icon-set(".groovy", "grails", @green); -.icon-set(".gsp", "grails", @green); +.icon-ext(".groovy", "grails"); +.icon-ext(".gsp", "grails"); // GRAPHQL -.icon-set(".gql", "graphql", @pink); -.icon-set(".graphql", "graphql", @pink); +.icon-ext(".gql", "graphql"); +.icon-ext(".graphql", "graphql"); // HAML -.icon-set(".haml", "haml", @red); +.icon-ext(".haml", "haml"); // HANDLEBARS -.icon-set(".handlebars", "mustache", @orange); -.icon-set(".hbs", "mustache", @orange); -.icon-set(".hjs", "mustache", @orange); +.icon-ext(".handlebars", "mustache"); +.icon-ext(".hbs", "mustache"); +.icon-ext(".hjs", "mustache"); // HASKELL -.icon-set(".hs", "haskell", @purple); -.icon-set(".lhs", "haskell", @purple); +.icon-ext(".hs", "haskell"); +.icon-ext(".lhs", "haskell"); // HAXE -.icon-set(".hx", "haxe", @orange); -.icon-set(".hxs", "haxe", @yellow); -.icon-set(".hxp", "haxe", @blue); -.icon-set(".hxml", "haxe", @purple); +.icon-ext(".hx", "haxe"); +.icon-ext(".hxs", "haxe", "yellow"); +.icon-ext(".hxp", "haxe", "blue"); +.icon-ext(".hxml", "haxe", "purple"); // HTML -.icon-set(".html", "html", @orange); +.icon-ext(".html", "html"); // JADE -.icon-set(".jade", "jade", @red); +.icon-ext(".jade", "jade"); // JAVA -.icon-set(".java", "java", @red); -.icon-set(".class", "java", @red); -.icon-set(".classpath", "java", @red); -.icon-set(".properties", "java", @red); +.icon-ext(".java", "java"); +.icon-ext(".class", "java"); +.icon-ext(".classpath", "java"); +.icon-ext(".properties", "java"); // JAVASCRIPT -.icon-set(".js", "javascript", @yellow); -.icon-set(".js.map", "javascript", @yellow); -.icon-set(".spec.js", "javascript", @orange); -.icon-set(".test.js", "javascript", @orange); -.icon-set(".es", "javascript", @yellow); -.icon-set(".es5", "javascript", @yellow); -.icon-set(".es6", "javascript", @yellow); -.icon-set(".es7", "javascript", @yellow); +.icon-ext(".js", "javascript"); +.icon-ext(".js.map", "javascript", "grey"); +.icon-ext(".mjs", "javascript"); +.icon-ext(".mjs.map", "javascript", "grey"); +.icon-ext(".spec.js", "javascript", "orange"); +.icon-ext(".test.js", "javascript", "orange"); +.icon-ext(".es", "javascript"); +.icon-ext(".es5", "javascript"); +.icon-ext(".es6", "javascript"); +.icon-ext(".es7", "javascript"); // JINJA -.icon-set(".jinja", "jinja", @red); -.icon-set(".jinja2", "jinja", @red); +.icon-ext(".jinja", "jinja"); +.icon-ext(".jinja2", "jinja"); // JSON -.icon-set(".json", "json", @yellow); +.icon-ext(".json", "json", "yellow"); // JULIA -.icon-set(".jl", "julia", @purple); +.icon-ext(".jl", "julia"); // KARMA -.icon-set("karma.conf.js", "karma", @green); -.icon-set("karma.conf.coffee", "karma", @green); +.icon-name("karma.conf.js", "karma"); +.icon-name("karma.conf.coffee", "karma"); // KOTLIN -.icon-set('.kt', 'kotlin', @orange); -.icon-set('.kts', 'kotlin', @orange); +.icon-ext(".kt", "kotlin"); +.icon-ext(".kts", "kotlin"); // DART -.icon-set(".dart", "dart", @blue); +.icon-ext(".dart", "dart",); // LESS -.icon-set(".less", "less", @blue); +.icon-ext(".less", "less"); // LIQUID -.icon-set(".liquid", "liquid", @green); +.icon-ext(".liquid", "liquid"); // LIVESCRIPT -.icon-set(".ls", "livescript", @blue); +.icon-ext(".ls", "livescript"); // LUA -.icon-set(".lua", "lua", @blue); +.icon-ext(".lua", "lua"); // MARKDOWN -.icon-set(".markdown", "markdown", @blue); -.icon-set(".md", "markdown", @blue); +.icon-ext(".markdown", "markdown"); +.icon-ext(".md", "markdown"); // ARGDOWN -.icon-set(".argdown", "argdown", @blue); -.icon-set(".ad", "argdown", @blue); +.icon-ext(".argdown", "argdown"); +.icon-ext(".ad", "argdown"); // README -.icon-set("README.md", "info", @blue); +.icon-name("README.md", "info"); // CHANGELOG -.icon-set('CHANGELOG.md', 'clock', @blue); -.icon-set('CHANGELOG', 'clock', @blue); -.icon-set('CHANGES.md', 'clock', @blue); -.icon-set('VERSION.md', 'clock', @blue); -.icon-set('VERSION', 'clock', @blue); +.icon-name("CHANGELOG.md", "clock"); +.icon-name("CHANGELOG", "clock"); +.icon-name("CHANGES.md", "clock"); +.icon-name("VERSION.md", "clock"); +.icon-name("VERSION", "clock"); // MAVEN -.icon-set("mvnw", "maven", @red); +.icon-name("mvnw", "maven"); // MUSTACHE -.icon-set(".mustache", "mustache", @orange); -.icon-set(".stache", "mustache", @orange); +.icon-ext(".mustache", "mustache"); +.icon-ext(".stache", "mustache"); // NPM -.icon-set(".njk", "nunjucks", @green); -.icon-set(".nunjucks", "nunjucks", @green); -.icon-set(".nunjs", "nunjucks", @green); -.icon-set(".nunj", "nunjucks", @green); -.icon-set(".njs", "nunjucks", @green); -.icon-set(".nj", "nunjucks", @green); - -// NPM -.icon-set(".npm-debug.log", "npm", @ignore); -.icon-set(".npmignore", "npm", @red); -.icon-set(".npmrc", "npm", @red); +.icon-name(".npm-debug.log", "npm", "grey"); +.icon-name(".npmignore", "npm"); +.icon-name(".npmrc", "npm"); + +// NUNJUCKS +.icon-ext(".njk", "nunjucks"); +.icon-ext(".nunjucks", "nunjucks"); +.icon-ext(".nunjs", "nunjucks"); +.icon-ext(".nunj", "nunjucks"); +.icon-ext(".njs", "nunjucks"); +.icon-ext(".nj", "nunjucks"); // OCAML -.icon-set(".ml", "ocaml", @orange); -.icon-set(".mli", "ocaml", @orange); -.icon-set(".cmx", "ocaml", @orange); -.icon-set(".cmxa", "ocaml", @orange); +.icon-ext(".ml", "ocaml"); +.icon-ext(".mli", "ocaml"); +.icon-ext(".cmx", "ocaml"); +.icon-ext(".cmxa", "ocaml"); // ODATA -.icon-set(".odata", "odata", @orange); +.icon-ext(".odata", "odata"); // PERL -.icon-set(".pl", "perl", @blue); +.icon-ext(".pl", "perl"); // PHP -.icon-set(".php", "php", @purple); -.icon-set(".php.inc", "php", @purple); +.icon-ext(".php", "php"); +.icon-ext(".php.inc", "php"); // PLANNING -.icon-set('.pddl', 'pddl', @purple); -.icon-set('.plan', 'plan', @green); -.icon-set('.happenings', 'happenings', @blue); +.icon-ext(".pddl", "pddl"); +.icon-ext(".plan", "plan"); +.icon-ext(".happenings", "happenings"); // POWERSHELL -.icon-set(".ps1", "powershell", @blue); -.icon-set(".psd1", "powershell", @blue); -.icon-set(".psm1", "powershell", @blue); +.icon-ext(".ps1", "powershell"); +.icon-ext(".psd1", "powershell"); +.icon-ext(".psm1", "powershell"); // PUG -.icon-set(".pug", "pug", @red); +.icon-ext(".pug", "pug"); // PUPPET .pp -.icon-set(".pp", "puppet", @yellow); -.icon-set(".epp", "puppet", @yellow); +.icon-ext(".pp", "puppet"); +.icon-ext(".epp", "puppet"); // PYTHON -.icon-set(".py", "python", @blue); +.icon-ext(".py", "python"); // REACT -.icon-set(".jsx", "react", @blue); -.icon-set(".spec.jsx", "react", @orange); -.icon-set(".test.jsx", "react", @orange); -.icon-set(".cjsx", "react", @blue); -.icon-set(".tsx", "react", @blue); -.icon-set(".spec.tsx", "react", @yellow); -.icon-set(".test.tsx", "react", @yellow); +.icon-ext(".jsx", "react"); +.icon-ext(".spec.jsx", "react", "orange"); +.icon-ext(".test.jsx", "react", "orange"); +.icon-ext(".cjsx", "react"); +.icon-ext(".tsx", "react"); +.icon-ext(".spec.tsx", "react", "yellow"); +.icon-ext(".test.tsx", "react", "yellow"); // REASONML -.icon-set(".re", "reasonml", @red); +.icon-ext(".re", "reasonml"); // R -.icon-set('.R', 'R', @blue); +.icon-ext(".R", "R"); // RUBY -.icon-set(".rb", "ruby", @red); -.icon-set(".erb", "html_erb", @red); -.icon-set(".erb.html", "html_erb", @red); -.icon-set(".html.erb", "html_erb", @red); +.icon-ext(".rb", "ruby"); +.icon-ext(".erb", "html_erb"); +.icon-ext(".erb.html", "html_erb"); +.icon-ext(".html.erb", "html_erb"); // RUST -.icon-set(".rs", "rust", @grey-light); +.icon-ext(".rs", "rust"); // SASS -.icon-set(".sass", "sass", @pink); -.icon-set(".scss", "sass", @pink); +.icon-ext(".sass", "sass"); +.icon-ext(".scss", "sass"); // SPRING -.icon-set(".springBeans", "spring", @green); +.icon-ext(".springBeans", "spring"); // SLIM -.icon-set(".slim", "slim", @orange); +.icon-ext(".slim", "slim"); // SMARTY -.icon-set(".smarty.tpl", "smarty", @yellow); +.icon-ext(".smarty.tpl", "smarty"); // SBT -.icon-set(".sbt", "sbt", @blue); +.icon-ext(".sbt", "sbt"); // SCALA -.icon-set(".scala", "scala", @red); +.icon-ext(".scala", "scala"); -// SCALA -.icon-set(".sol", "ethereum", @blue); +// SOLIDITY +.icon-ext(".sol", "ethereum"); // STYLUS -.icon-set(".styl", "stylus", @green); +.icon-ext(".styl", "stylus"); + +// SVELTE +.icon-ext(".svelte", "svelte"); +.icon-name("svelte.config.js", "svelte"); // SWIFT -.icon-set(".swift", "swift", @orange); +.icon-ext(".swift", "swift"); // SQL -.icon-set(".sql", "db", @pink); +.icon-ext(".sql", "db"); // TERRAFORM -.icon-set(".tf", "terraform", @purple); -.icon-set(".tf.json", "terraform", @purple); -.icon-set(".tfvars", "terraform", @purple); +.icon-ext(".tf", "terraform"); +.icon-ext(".tf.json", "terraform"); +.icon-ext(".tfvars", "terraform"); // TEX -.icon-set(".tex", "tex", @blue); -.icon-set(".sty", "tex", @yellow); -.icon-set(".dtx", "tex", @orange); -.icon-set(".ins", "tex", @white); +.icon-ext(".tex", "tex", "blue"); +.icon-ext(".sty", "tex", "yellow"); +.icon-ext(".dtx", "tex", "orange"); +.icon-ext(".ins", "tex", "white"); // TEXT -.icon-set(".txt", "default", @white); +.icon-ext(".txt", "default"); // TOML -.icon-set(".toml", "config", @grey-light); +.icon-ext(".toml", "config"); // TWIG -.icon-set(".twig", "twig", @green); +.icon-ext(".twig", "twig", "green"); // TYPESCRIPT -.icon-set(".ts", "typescript", @blue); -.icon-set(".spec.ts", "typescript", @yellow); -.icon-set(".test.ts", "typescript", @yellow); +.icon-ext(".ts", "typescript"); +.icon-ext(".ts.map", "typescript", "grey"); +.icon-ext(".spec.ts", "typescript", "yellow"); +.icon-ext(".test.ts", "typescript", "yellow"); // TSCONFIG -.icon-set("tsconfig.json", "tsconfig", @blue); +.icon-name("tsconfig.json", "tsconfig"); // VALA -.icon-set(".vala", "vala", @grey-light); -.icon-set(".vapi", "vala", @grey-light); +.icon-ext(".vala", "vala"); +.icon-ext(".vapi", "vala"); // VUE -.icon-set(".vue", "vue", @green); +.icon-ext(".vue", "vue"); // WEBASSEMBLY -.icon-set('.wasm', 'wasm', @purple); -.icon-set('.wat', 'wat', @purple); +.icon-ext(".wasm", "wasm"); +.icon-ext(".wat", "wat"); // XML -.icon-set(".xml", "xml", @orange); +.icon-ext(".xml", "xml"); // YML -.icon-set('.yml', 'yml', @purple); -.icon-set('.yaml', 'yml', @purple); +.icon-ext(".yml", "yml"); +.icon-ext(".yaml", "yml"); // SWAGGER -.icon-set('swagger.json', 'json', @green); -.icon-set('swagger.yml', 'json', @green); -.icon-set('swagger.yaml', 'json', @green); +.icon-name("swagger.json", "json", "green"); +.icon-name("swagger.yml", "json", "green"); +.icon-name("swagger.yaml", "json", "green"); // PROLOG -.icon-set('.pro', 'prolog', @orange); +.icon-ext(".pro", "prolog"); // - - - - - - - - - - - - - - - - - - - // GENERIC FILE TYPES - EXTENSION BASED // - - - - - - - - - - - - - - - - - - - // ARCHIVES -.icon-set(".jar", "zip", @red); -.icon-set(".zip", "zip", @grey-light); -.icon-set(".wgt", "wgt", @blue); +.icon-ext(".jar", "zip", "red"); +.icon-ext(".zip", "zip", "grey"); +.icon-ext(".wgt", "wgt"); // ADOBE FILE -.icon-set(".ai", "illustrator", @yellow); -.icon-set(".psd", "photoshop", @blue); -.icon-set(".pdf", "pdf", @red); +.icon-ext(".ai", "illustrator"); +.icon-ext(".psd", "photoshop"); +.icon-ext(".pdf", "pdf"); // FONT FILES -.icon-set(".eot", "font", @red); -.icon-set(".ttf", "font", @red); -.icon-set(".woff", "font", @red); -.icon-set(".woff2", "font", @red); +.icon-ext(".eot", "font"); +.icon-ext(".ttf", "font"); +.icon-ext(".woff", "font"); +.icon-ext(".woff2", "font"); // IMAGE FILES -.icon-set(".gif", "image", @purple); -.icon-set(".jpg", "image", @purple); -.icon-set(".jpeg", "image", @purple); -.icon-set(".png", "image", @purple); -.icon-set(".pxm", "image", @purple); -.icon-set(".svg", "svg", @purple); -.icon-set(".svgx", "image", @purple); +.icon-ext(".gif", "image"); +.icon-ext(".jpg", "image"); +.icon-ext(".jpeg", "image"); +.icon-ext(".png", "image"); +.icon-ext(".pxm", "image"); +.icon-ext(".svg", "svg", "purple"); +.icon-ext(".svgx", "image"); // SUBLIME -.icon-set(".sublime-project", "sublime", @orange); -.icon-set(".sublime-workspace", "sublime", @orange); +.icon-name(".sublime-project", "sublime"); +.icon-name(".sublime-workspace", "sublime"); // VS CODE -.icon-set(".code-search", "code-search", @purple); +.icon-ext(".code-search", "code-search"); // SALESFORCE -.icon-set(".component", "salesforce", @blue); -.icon-set(".cls", "salesforce", @blue); +.icon-ext(".component", "salesforce"); +.icon-ext(".cls", "salesforce"); // SHELL -.icon-set(".sh", "shell", @grey); -.icon-set(".zsh", "shell", @grey); -.icon-set(".fish", "shell", @grey); -.icon-set(".zshrc", "shell", @grey); -.icon-set(".bashrc", "shell", @grey); +.icon-ext(".sh", "shell"); +.icon-ext(".zsh", "shell"); +.icon-ext(".fish", "shell"); +.icon-ext(".zshrc", "shell"); +.icon-ext(".bashrc", "shell"); // VIDEO FILES -.icon-set(".mov", "video", @pink); -.icon-set(".ogv", "video", @pink); -.icon-set(".webm", "video", @pink); -.icon-set(".avi", "video", @pink); -.icon-set(".mpg", "video", @pink); -.icon-set(".mp4", "video", @pink); +.icon-ext(".mov", "video"); +.icon-ext(".ogv", "video"); +.icon-ext(".webm", "video"); +.icon-ext(".avi", "video"); +.icon-ext(".mpg", "video"); +.icon-ext(".mp4", "video"); // AUDIO FILES -.icon-set('.mp3', 'audio', @purple); -.icon-set('.ogg', 'audio', @purple); -.icon-set('.wav', 'audio', @purple); -.icon-set('.flac', 'audio', @purple); +.icon-ext(".mp3", "audio"); +.icon-ext(".ogg", "audio"); +.icon-ext(".wav", "audio"); +.icon-ext(".flac", "audio"); // 3D files -.icon-set('.3ds', 'svg', @blue); -.icon-set('.3dm', 'svg', @blue); -.icon-set('.stl', 'svg', @blue); -.icon-set('.obj', 'svg', @blue); -.icon-set('.dae', 'svg', @blue); +.icon-ext(".3ds", "svg", "blue"); +.icon-ext(".3dm", "svg", "blue"); +.icon-ext(".stl", "svg", "blue"); +.icon-ext(".obj", "svg", "blue"); +.icon-ext(".dae", "svg", "blue"); // WINDOWS -.icon-set(".bat", "windows", @blue); -.icon-set(".cmd", "windows", @blue); +.icon-ext(".bat", "windows"); +.icon-ext(".cmd", "windows"); // - - - - - - - - - // NAME BASED ICONS // - - - - - - - - - // APACHE -.icon-set("mime.types", "config", @grey-light); +.icon-name("mime.types", "config"); -// CI -.icon-set("Jenkinsfile", "jenkins", @red); +// AVA +.icon-name("ava.config.js", "ava"); +.icon-name("ava.config.cjs", "ava"); // BABEL -.icon-set(".babelrc", "babel", @yellow); -.icon-set(".babelrc.js", "babel", @yellow); -.icon-set(".babelrc.cjs", "babel", @yellow); -.icon-set("babel.config.js", "babel", @yellow); -.icon-set("babel.config.json", "babel", @yellow); -.icon-set("babel.config.cjs", "babel", @yellow); +.icon-name(".babelrc", "babel"); +.icon-name(".babelrc.js", "babel"); +.icon-name(".babelrc.cjs", "babel"); +.icon-name("babel.config.js", "babel"); +.icon-name("babel.config.json", "babel"); +.icon-name("babel.config.cjs", "babel"); // BOWER -.icon-set("bower.json", "bower", @orange); -.icon-set("Bower.json", "bower", @orange); -.icon-set(".bowerrc", "bower", @orange); - -// BOWER -.icon-partial("dockerfile", "docker", @blue); -.icon-partial("Dockerfile", "docker", @blue); -.icon-partial("DOCKERFILE", "docker", @blue); -.icon-partial(".dockerignore", "docker", @grey); -.icon-partial("docker-healthcheck", "docker", @green); -.icon-partial("docker-compose.yml", "docker", @pink); -.icon-partial("docker-compose.yaml", "docker", @pink); -.icon-partial("docker-compose.override.yml", "docker", @pink); -.icon-partial("docker-compose.override.yaml", "docker", @pink); - -// BABEL -.icon-set(".codeclimate.yml", "code-climate", @green); +.icon-name("bower.json", "bower"); +.icon-name("Bower.json", "bower"); +.icon-name(".bowerrc", "bower"); + +// BROWSERSLIST +.icon-name(".browserslistrc", "browserslist"); + +// CODE CLIMATE +.icon-ext(".codeclimate.yml", "code-climate"); + +// DOCKER +.icon-name("dockerfile", "docker"); +.icon-name("Dockerfile", "docker"); +.icon-name("DOCKERFILE", "docker"); +.icon-name(".dockerignore", "docker", "grey"); +.icon-name("docker-healthcheck", "docker", "green"); +.icon-name("docker-compose.yml", "docker", "pink"); +.icon-name("docker-compose.yaml", "docker", "pink"); +.icon-name("docker-compose.override.yml", "docker", "pink"); +.icon-name("docker-compose.override.yaml", "docker", "pink"); // ESLINT -.icon-set(".eslintrc", "eslint", @purple); -.icon-set(".eslintrc.js", "eslint", @purple); -.icon-set(".eslintrc.yaml", "eslint", @purple); -.icon-set(".eslintrc.yml", "eslint", @purple); -.icon-set(".eslintrc.json", "eslint", @purple); -.icon-set(".eslintignore", "eslint", @grey); +.icon-name(".eslintrc", "eslint"); +.icon-name(".eslintrc.js", "eslint"); +.icon-name(".eslintrc.yaml", "eslint"); +.icon-name(".eslintrc.yml", "eslint"); +.icon-name(".eslintrc.json", "eslint"); +.icon-name(".eslintignore", "eslint", "grey"); // FIREBASE -.icon-set(".firebaserc", "firebase", @orange); -.icon-set("firebase.json", "firebase", @orange); +.icon-name(".firebaserc", "firebase"); +.icon-name("firebase.json", "firebase"); // GECKODRIVER -.icon-set("geckodriver", "firefox", @orange); +.icon-name("geckodriver", "firefox"); + +// GRAPHQL +.icon-name("graphql.config.js", "graphql"); +.icon-name("graphql.config.json", "graphql"); +.icon-name("graphql.config.yml", "graphql"); +.icon-name("graphql.config.yaml", "graphql"); +.icon-name(".graphqlrc", "graphql"); +.icon-name(".graphqlrc.js", "graphql"); +.icon-name(".graphqlrc.json", "graphql"); +.icon-name(".graphqlrc.yml", "graphql"); +.icon-name(".graphqlrc.yaml", "graphql"); // GRUNT -.icon-set("Gruntfile.js", "grunt", @orange); -.icon-set("gruntfile.babel.js", "grunt", @orange); -.icon-set("Gruntfile.babel.js", "grunt", @orange); -.icon-set("gruntfile.js", "grunt", @orange); -.icon-set("Gruntfile.coffee", "grunt", @orange); -.icon-set("gruntfile.coffee", "grunt", @orange); +.icon-name("Gruntfile.js", "grunt"); +.icon-name("gruntfile.js", "grunt"); +.icon-name("gruntfile.babel.js", "grunt"); +.icon-name("Gruntfile.babel.js", "grunt"); +.icon-name("Gruntfile.coffee", "grunt"); +.icon-name("gruntfile.coffee", "grunt"); // GULP -.icon-partial("GULPFILE", "gulp", @red); -.icon-partial("Gulpfile", "gulp", @red); -.icon-partial("gulpfile", "gulp", @red); -.icon-partial("gulpfile.js", "gulp", @red); +.icon-name("GULPFILE", "gulp"); +.icon-name("Gulpfile", "gulp"); +.icon-name("gulpfile", "gulp"); +.icon-name("gulpfile.js", "gulp"); +.icon-name("gulpfile.babel.js", "gulp"); // IONIC -.icon-set("ionic.config.json", "ionic", @blue); -.icon-set("Ionic.config.json", "ionic", @blue); -.icon-set("ionic.project", "ionic", @blue); -.icon-set("Ionic.project", "ionic", @blue); +.icon-name("ionic.config.json", "ionic"); +.icon-name("Ionic.config.json", "ionic"); +.icon-name("ionic.project", "ionic"); +.icon-name("Ionic.project", "ionic"); + +// JENKINS +.icon-name("Jenkinsfile", "jenkins"); + +// JEST +.icon-name("jest.config.js", "jest"); +.icon-name("jest.config.mjs", "jest"); +.icon-name("jest.config.cjs", "jest"); +.icon-name("jest.config.json", "jest"); // JSHINT -.icon-set(".jshintrc", "javascript", @blue); -.icon-set(".jscsrc", "javascript", @blue); +.icon-name(".jshintrc", "javascript", "blue"); +.icon-name(".jscsrc", "javascript", "blue"); -.icon-set('platformio.ini', 'platformio', @orange); +// MAKEFILES +.icon-name("MAKEFILE", "makefile"); +.icon-name("Makefile", "makefile"); +.icon-name("makefile", "makefile"); +.icon-name("QMAKEFILE", "makefile", "purple"); +.icon-name("QMakefile", "makefile", "purple"); +.icon-name("qmakefile", "makefile", "purple"); +.icon-name("OMAKEFILE", "makefile", "grey"); +.icon-name("OMakefile", "makefile", "grey"); +.icon-name("omakefile", "makefile", "grey"); +.icon-name("CMAKELISTS.TXT", "makefile", "blue"); +.icon-name("CMAKELISTS.txt", "makefile", "blue"); +.icon-name("CMakeLists.txt", "makefile", "blue"); +.icon-name("cmakelists.txt", "makefile", "blue"); + +// MOCHA +.icon-name(".mocharc.js", "mocha"); +.icon-name(".mocharc.cjs", "mocha"); +.icon-name(".mocharc.yaml", "mocha"); +.icon-name(".mocharc.yml", "mocha"); +.icon-name(".mocharc.json", "mocha"); +.icon-name(".mocharc.jsonc", "mocha"); + +// PLATFORMIO +.icon-name("platformio.ini", "platformio"); + +// POSTCSS +.icon-name("postcss.config.js", "postcss"); + +// PRETTIER +.icon-name(".prettierrc", "prettier"); +.icon-name(".prettierignore", "prettier", "grey"); + +// PROCFILE +.icon-name("Procfile", "heroku"); // ROLLUP -.icon-set("rollup.config.js", "rollup", @red); +.icon-name("rollup.config.js", "rollup"); // SASS LINT -.icon-set("sass-lint.yml", "sass", @pink); +.icon-name("sass-lint.yml", "sass"); // STYLELINT -.icon-set('.stylelintrc', 'stylelint', @white); -.icon-set('.stylelintrc.json', 'stylelint', @white); -.icon-set('.stylelintrc.yaml', 'stylelint', @white); -.icon-set('.stylelintrc.yml', 'stylelint', @white); -.icon-set('.stylelintrc.js', 'stylelint', @white); -.icon-set('.stylelintignore', 'stylelint', @grey); -.icon-set('stylelint.config.js', 'stylelint', @white); +.icon-name(".stylelintrc", "stylelint"); +.icon-name(".stylelintrc.json", "stylelint"); +.icon-name(".stylelintrc.yaml", "stylelint"); +.icon-name(".stylelintrc.yml", "stylelint"); +.icon-name(".stylelintrc.js", "stylelint"); +.icon-name(".stylelintignore", "stylelint", "grey"); +.icon-name("stylelint.config.js", "stylelint"); -// YARN -.icon-set("yarn.clean", "yarn", @blue); -.icon-set("yarn.lock", "yarn", @blue); +// TAILWIND +.icon-name("tailwind.config.js", "tailwind"); + +// TODO +.icon-name("TODO", "todo"); // WEBPACK -.icon-set("webpack.config.js", "webpack", @blue); -.icon-set("webpack.config.build.js", "webpack", @blue); -.icon-set("webpack.common.js", "webpack", @blue); -.icon-set("webpack.dev.js", "webpack", @blue); -.icon-set("webpack.prod.js", "webpack", @blue); +.icon-name("webpack.config.js", "webpack"); +.icon-name("webpack.config.build.js", "webpack"); +.icon-name("webpack.common.js", "webpack"); +.icon-name("webpack.dev.js", "webpack"); +.icon-name("webpack.prod.js", "webpack"); + +// YARN +.icon-name("yarn.clean", "yarn"); +.icon-name("yarn.lock", "yarn"); +.icon-name("yarn-error.log", "yarn", "grey"); // MISC SETTING -.icon-set(".direnv", "config", @grey-light); -.icon-set(".env", "config", @grey-light); -.icon-set(".static", "config", @grey-light); -.icon-set(".editorconfig", "config", @grey-light); -.icon-set(".slugignore", "config", @grey-light); -.icon-set(".tmp", "clock", @grey-light); -.icon-set(".htaccess", "config", @grey-light); -.icon-set(".key", "lock", @green); -.icon-set(".cert", "lock", @green); +.icon-name(".direnv", "config"); +.icon-name(".env", "config"); +.icon-name(".static", "config"); +.icon-name(".editorconfig", "config"); +.icon-name(".slugignore", "config"); +.icon-ext(".tmp", "clock", "grey"); +.icon-name(".htaccess", "config"); +.icon-ext(".key", "lock"); +.icon-ext(".cert", "lock"); +.icon-ext(".cer", "lock"); +.icon-ext(".crt", "lock"); +.icon-name(".DS_Store", "ignored"); // LICENSE FILES -.icon-partial("LICENSE", "license", @yellow); -.icon-partial("LICENCE", "license", @yellow); -.icon-partial("COPYING", "license", @yellow); -.icon-partial("COMPILING", "license", @orange); -.icon-partial("CONTRIBUTING", "license", @red); - -// MAKEFILES -.icon-partial("MAKEFILE", "makefile", @orange); -.icon-partial("Makefile", "makefile", @orange); -.icon-partial("makefile", "makefile", @orange); -.icon-partial("QMAKEFILE", "makefile", @purple); -.icon-partial("QMakefile", "makefile", @purple); -.icon-partial("qmakefile", "makefile", @purple); -.icon-partial("OMAKEFILE", "makefile", @grey-light); -.icon-partial("OMakefile", "makefile", @grey-light); -.icon-partial("omakefile", "makefile", @grey-light); -.icon-partial("CMAKELISTS.TXT", "makefile", @blue); -.icon-partial("CMAKELISTS.txt", "makefile", @blue); -.icon-partial("CMakeLists.txt", "makefile", @blue); -.icon-partial("cmakelists.txt", "makefile", @blue); - -// PROCFILE -.icon-partial("Procfile", "heroku", @purple); - -// TODO -.icon-partial("TODO", "todo", @seti-primary); - -// - - - - - - - -// IGNORED FILES -// - - - - - - - - -.icon-set("npm-debug.log", "npm_ignored", @ignore); -.icon-set(".DS_Store", "ignored", @ignore); +.icon-name("LICENSE", "license"); +.icon-name("LICENCE", "license"); +.icon-name("COPYING", "license"); +.icon-name("COMPILING", "license", "orange"); +.icon-name("CONTRIBUTING", "license", "red"); diff --git a/styles/components/icons/tabs.less b/styles/components/icons/tabs.less index 31d51cd4..ce596625 100644 --- a/styles/components/icons/tabs.less +++ b/styles/components/icons/tabs.less @@ -1,11 +1,17 @@ .tab-bar .tab { - // SET ICON SIZE - .title::before { - float: left; - font-size: 22px; - margin-right: 1px; - line-height: @tab-height; + .title { + display: flex; + flex-direction: row; + align-items: center; + + &::before { + float: left; + font-size: 22px; + margin-right: 1px; + height: 16px; + width: 16px; + } } // IGNORED FILES @@ -30,6 +36,4 @@ &[data-type='TextEditor'] .title:not([data-name]) { .icon('new-file', @green); } - - } diff --git a/styles/components/sidebar/header.less b/styles/components/sidebar/header.less index 2880e687..6ee9ec6d 100644 --- a/styles/components/sidebar/header.less +++ b/styles/components/sidebar/header.less @@ -58,7 +58,7 @@ atom-panel-container { .icon-repo, .icon-file-directory { margin-top: 5px; &::before { - background: url('atom://seti-ui/icons/project.svg') no-repeat; + background: url('http://localhost:5000/icons/project.svg') no-repeat; content: ''; height: 24px; margin-bottom: -7px; diff --git a/styles/ui-mixins.less b/styles/ui-mixins.less index 2bc6ac1c..5b82ffeb 100644 --- a/styles/ui-mixins.less +++ b/styles/ui-mixins.less @@ -9,28 +9,45 @@ } } -// SET ICON FILE BASED ON DATA NAME -.icon-set( @extension, @file, @color) { - - .icon:not(.icon-file-directory), - .title { - &[data-name$="@{extension}"] { - .icon(@file, @color) +.svg-icon(@filename, @attr: ~'', @insert: before) { + @pseudo-selector: ~'::@{insert}'; + + .icon-file-text, .icon-file-zip, .icon-file-media, .icon-book, .icon-file-pdf { + &@{attr}@{pseudo-selector} { + content: ' '; + background-image: url("http://localhost:5000/icons/@{filename}.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + height: 16px; + width: 16px; } } - } // SET ICON FILE BASED ON DATA NAME -.icon-partial( @extension, @file, @color) { +.icon-default(@file) { + .svg-icon(@file); +} - .icon:not(.icon-file-directory), - .title { - &[data-name*="@{extension}"] { - .icon(@file, @color) - } - } +.icon-default(@file, @color) { + .svg-icon("@{file}_@{color}"); +} + +.icon-ext(@extension, @file) { + .svg-icon(@file, ~'[data-name$="@{extension}"]'); +} + +.icon-ext(@extension, @file, @color) { + .svg-icon("@{file}_@{color}", ~'[data-name$="@{extension}"]'); +} + +.icon-name(@name, @file) { + .svg-icon(@file, ~'[data-name*="@{name}"]'); +} +.icon-name(@name, @file, @color) { + .svg-icon("@{file}_@{color}", ~'[data-name*="@{name}"]'); } // SET ICON FOR TAB BASED ON DATA TYPE diff --git a/styles/ui-variables.less b/styles/ui-variables.less index 3aa6bdc7..7edc8092 100644 --- a/styles/ui-variables.less +++ b/styles/ui-variables.less @@ -11,9 +11,9 @@ @black: #0e1112; @black-dark: #090b0d; @white: #d4d7d6; -@grey: #4d5a5e; -@grey-dark: #1f2326; -@grey-light: #6d8086; +@grey: #6d8086; +@grey-dark: #2f3438; +@grey-light: #96a6ab; // THEME COLORS @blue: #519aba; @@ -80,7 +80,7 @@ @bad: @red; @warn: @yellow; @hidden: @grey-dark; -@ignore: #41535b; +@ignore: @grey-dark; // - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..b06afd8e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,66 @@ +{ + "compilerOptions": { + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "ES2015", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + "lib": ["dom", "ESNext"], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "lib", /* Redirect output structure to the directory. */ + "rootDir": "src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} diff --git a/tsconfig.project.json b/tsconfig.project.json new file mode 100644 index 00000000..bc022736 --- /dev/null +++ b/tsconfig.project.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["src/main.ts"] +}