From 87d94e3afe74056fac4467f8dd9b76521d17c5a3 Mon Sep 17 00:00:00 2001 From: Damiano Petrungaro Date: Thu, 13 Sep 2018 22:36:30 +0200 Subject: [PATCH] style: Move to new UI --- .gitignore | 4 +- CNAME | 1 - Dockerfile | 15 + Dockerfile.dev | 7 + Gemfile | 41 - Gemfile.lock | 167 - Makefile | 26 + Procfile | 1 - README.md | 30 +- Rakefile | 5 - _config.yml | 36 - _config_local.yml | 2 - _layouts/default.html | 48 - _redirects | 1 + archetypes/next.md | 3 + archetypes/v1.0.0-beta.1.md | 3 + archetypes/v1.0.0-beta.2.md | 3 + archetypes/v1.0.0-beta.md | 3 + config.ru | 3 - config.yaml | 102 + index.md => content/next/index.md | 71 +- .../v1.0.0-beta.1/index.it.md | 31 +- .../v1.0.0-beta.1/index.md | 30 +- .../v1.0.0-beta.1/index.pl.md | 32 +- .../v1.0.0-beta.1/index.zh.md | 31 +- .../v1.0.0-beta.2/index.es.md | 40 +- .../v1.0.0-beta.2/index.it.md | 36 +- .../v1.0.0-beta.2/index.md | 36 +- .../v1.0.0-beta.2/index.pl.md | 36 +- .../v1.0.0-beta.2/index.zh.md | 34 +- .../v1.0.0-beta/index.it.md | 31 +- .../v1.0.0-beta/index.md | 29 +- .../v1.0.0-beta/index.pl.md | 31 +- .../v1.0.0-beta/index.zh.md | 33 +- css/blueprint/ie.css | 35 - css/blueprint/print.css | 29 - css/blueprint/screen.css | 257 - css/lang/ar.css | 30 - css/lang/zh-CN.css | 3 - css/lang/zh-TW.css | 3 - css/main.css | 95 - css/screen.css | 60 - css/syntax.css | 60 - data/.gitkeep | 0 docker-compose.yml | 21 +- js/anchorli.js | 29 - lang/es/spec/v1.0.0-beta.2.md | 249 - lang/it/spec/v1.0.0-beta.2.md | 194 - lang/pl/spec/v1.0.0-beta.2.md | 187 - lang/zh-Hans/index.md | 162 - layouts/.gitkeep | 0 script/bootstrap | 3 - script/cibuild | 6 - script/server | 3 - static/.gitkeep | 0 themes/conventional-commits/.editorconfig | 15 + themes/conventional-commits/.gitignore | 65 + themes/conventional-commits/LICENSE | 20 + themes/conventional-commits/README.md | 69 + .../archetypes/default.md | 2 + themes/conventional-commits/layouts/404.html | 8 + .../layouts/_default/single.html | 15 + .../layouts/partials/footer.html | 21 + .../layouts/partials/head.html | 2 + .../layouts/partials/header.html | 24 + .../layouts/partials/scripts.html | 1 + .../layouts/partials/svg-github.html | 8 + .../layouts/partials/welcome.html | 16 + .../layouts/shortcodes/banner-image.html | 3 + themes/conventional-commits/package-lock.json | 7311 +++++++++++++++++ themes/conventional-commits/package.json | 33 + .../conventional-commits/static/css/index.css | 0 .../static/css/scss/abstracts/_functions.scss | 11 + .../static/css/scss/abstracts/_mixins.scss | 29 + .../static/css/scss/abstracts/_variables.scss | 40 + .../static/css/scss/abstracts/index.scss | 4 + .../static/css/scss/base/_base.scss | 51 + .../css/scss/components/_banner-image.scss | 19 + .../static/css/scss/components/_dropdown.scss | 107 + .../static/css/scss/layout/_footer.scss | 35 + .../static/css/scss/layout/_header.scss | 40 + .../static/css/scss/layout/_welcome.scss | 80 + .../static/css/scss/style.scss | 9 + .../scss/themes/_conventional-commits.scss | 6 + .../static/css/scss/themes/_markdown.scss | 14 + .../css/scss/vendors/github-markdown-css.scss | 1 + .../conventional-commits/static/css/style.css | 1 + .../static/css/style.min.css | 1 + .../static/img/git-flow--welcome.png | Bin 0 -> 61428 bytes .../static/img/git-flow.png | Bin 0 -> 225386 bytes .../static/img/git-flow.svg | 343 + .../conventional-commits/static/js/bundle.js | 1 + .../conventional-commits/static/js/index.js | 37 + themes/conventional-commits/theme.toml | 7 + 94 files changed, 8850 insertions(+), 2027 deletions(-) delete mode 100644 CNAME create mode 100644 Dockerfile create mode 100644 Dockerfile.dev delete mode 100644 Gemfile delete mode 100644 Gemfile.lock create mode 100644 Makefile delete mode 100644 Procfile delete mode 100644 Rakefile delete mode 100644 _config.yml delete mode 100644 _config_local.yml delete mode 100644 _layouts/default.html create mode 100644 _redirects create mode 100644 archetypes/next.md create mode 100644 archetypes/v1.0.0-beta.1.md create mode 100644 archetypes/v1.0.0-beta.2.md create mode 100644 archetypes/v1.0.0-beta.md delete mode 100644 config.ru create mode 100644 config.yaml rename index.md => content/next/index.md (74%) rename lang/it/spec/v1.0.0-beta.1.md => content/v1.0.0-beta.1/index.it.md (90%) rename spec/v1.0.0-beta.1.md => content/v1.0.0-beta.1/index.md (90%) rename lang/pl/spec/v1.0.0-beta.1.md => content/v1.0.0-beta.1/index.pl.md (91%) rename lang/zh-Hans/spec/v1.0.0-beta.1.md => content/v1.0.0-beta.1/index.zh.md (89%) rename lang/es/index.md => content/v1.0.0-beta.2/index.es.md (88%) rename lang/it/index.md => content/v1.0.0-beta.2/index.it.md (90%) rename spec/v1.0.0-beta.2.md => content/v1.0.0-beta.2/index.md (90%) rename lang/pl/index.md => content/v1.0.0-beta.2/index.pl.md (90%) rename lang/zh-Hans/spec/v1.0.0-beta.2.md => content/v1.0.0-beta.2/index.zh.md (89%) rename lang/it/spec/v1.0.0-beta.md => content/v1.0.0-beta/index.it.md (90%) rename spec/v1.0.0-beta.md => content/v1.0.0-beta/index.md (90%) rename lang/pl/spec/v1.0.0-beta.md => content/v1.0.0-beta/index.pl.md (91%) rename lang/zh-Hans/spec/v1.0.0-beta.md => content/v1.0.0-beta/index.zh.md (80%) delete mode 100644 css/blueprint/ie.css delete mode 100644 css/blueprint/print.css delete mode 100644 css/blueprint/screen.css delete mode 100644 css/lang/ar.css delete mode 100644 css/lang/zh-CN.css delete mode 100644 css/lang/zh-TW.css delete mode 100644 css/main.css delete mode 100644 css/screen.css delete mode 100644 css/syntax.css create mode 100644 data/.gitkeep delete mode 100644 js/anchorli.js delete mode 100644 lang/es/spec/v1.0.0-beta.2.md delete mode 100644 lang/it/spec/v1.0.0-beta.2.md delete mode 100644 lang/pl/spec/v1.0.0-beta.2.md delete mode 100644 lang/zh-Hans/index.md create mode 100644 layouts/.gitkeep delete mode 100755 script/bootstrap delete mode 100755 script/cibuild delete mode 100755 script/server create mode 100644 static/.gitkeep create mode 100644 themes/conventional-commits/.editorconfig create mode 100644 themes/conventional-commits/.gitignore create mode 100644 themes/conventional-commits/LICENSE create mode 100644 themes/conventional-commits/README.md create mode 100644 themes/conventional-commits/archetypes/default.md create mode 100644 themes/conventional-commits/layouts/404.html create mode 100644 themes/conventional-commits/layouts/_default/single.html create mode 100644 themes/conventional-commits/layouts/partials/footer.html create mode 100644 themes/conventional-commits/layouts/partials/head.html create mode 100644 themes/conventional-commits/layouts/partials/header.html create mode 100644 themes/conventional-commits/layouts/partials/scripts.html create mode 100644 themes/conventional-commits/layouts/partials/svg-github.html create mode 100644 themes/conventional-commits/layouts/partials/welcome.html create mode 100644 themes/conventional-commits/layouts/shortcodes/banner-image.html create mode 100644 themes/conventional-commits/package-lock.json create mode 100644 themes/conventional-commits/package.json create mode 100644 themes/conventional-commits/static/css/index.css create mode 100644 themes/conventional-commits/static/css/scss/abstracts/_functions.scss create mode 100644 themes/conventional-commits/static/css/scss/abstracts/_mixins.scss create mode 100644 themes/conventional-commits/static/css/scss/abstracts/_variables.scss create mode 100644 themes/conventional-commits/static/css/scss/abstracts/index.scss create mode 100644 themes/conventional-commits/static/css/scss/base/_base.scss create mode 100644 themes/conventional-commits/static/css/scss/components/_banner-image.scss create mode 100644 themes/conventional-commits/static/css/scss/components/_dropdown.scss create mode 100644 themes/conventional-commits/static/css/scss/layout/_footer.scss create mode 100644 themes/conventional-commits/static/css/scss/layout/_header.scss create mode 100644 themes/conventional-commits/static/css/scss/layout/_welcome.scss create mode 100644 themes/conventional-commits/static/css/scss/style.scss create mode 100644 themes/conventional-commits/static/css/scss/themes/_conventional-commits.scss create mode 100644 themes/conventional-commits/static/css/scss/themes/_markdown.scss create mode 100644 themes/conventional-commits/static/css/scss/vendors/github-markdown-css.scss create mode 100644 themes/conventional-commits/static/css/style.css create mode 100644 themes/conventional-commits/static/css/style.min.css create mode 100644 themes/conventional-commits/static/img/git-flow--welcome.png create mode 100644 themes/conventional-commits/static/img/git-flow.png create mode 100644 themes/conventional-commits/static/img/git-flow.svg create mode 100644 themes/conventional-commits/static/js/bundle.js create mode 100644 themes/conventional-commits/static/js/index.js create mode 100644 themes/conventional-commits/theme.toml diff --git a/.gitignore b/.gitignore index 15081af..364fdec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ -_site -.DS_Store -vendor/ \ No newline at end of file +public/ diff --git a/CNAME b/CNAME deleted file mode 100644 index d0bb166..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -conventionalcommits.org diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6b2f6ab --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:alpine +WORKDIR /src/ +COPY ./themes/conventional-commits /src/ +RUN npm rebuild node-sass +RUN npm install +RUN npm run build + +FROM jguyomard/hugo-builder:latest +COPY ./ /src/ +COPY --from=0 /src/ /src/themes/conventional-commits/ +RUN hugo + +FROM nginx:stable +COPY --from=1 /src/public/ /usr/share/nginx/html/ +EXPOSE 80 \ No newline at end of file diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..72a2ab0 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,7 @@ +FROM jguyomard/hugo-builder:latest +FROM node:latest +WORKDIR /src/ +COPY --from=0 /usr/local/bin/hugo /usr/local/bin/hugo +COPY ./ /src/ +ENTRYPOINT make all-dev +EXPOSE 1313 \ No newline at end of file diff --git a/Gemfile b/Gemfile deleted file mode 100644 index a141bc6..0000000 --- a/Gemfile +++ /dev/null @@ -1,41 +0,0 @@ -source 'https://rubygems.org' - -gem "jekyll", "3.4.3" -gem "jekyll-sass-converter", "1.5.0" - -# Converters -gem "kramdown", "1.13.2" - - # Misc -gem "liquid", "3.0.6" -gem "rouge", "1.11.1" - - # Plugins -gem "jekyll-redirect-from", "0.12.1" -gem "jekyll-sitemap", "1.0.0" -gem "jekyll-feed", "0.9.2" -gem "jekyll-gist", "1.4.0" -gem "jekyll-paginate", "1.1.0" -gem "jekyll-coffeescript", "1.0.1" -gem "jekyll-seo-tag", "2.1.0" -gem "jekyll-avatar", "0.4.2" - -# Plugins to match GitHub.com Markdown -gem "jemoji", "0.8.0" -gem "jekyll-mentions", "1.2.0" -gem "jekyll-relative-links", "0.4.0" -gem "jekyll-optional-front-matter", "0.1.2" -gem "jekyll-readme-index", "0.1.0" -gem "jekyll-default-layout", "0.1.4" -gem "jekyll-titles-from-headings", "0.1.5" - - # Pin listen because it's broken on 2.1 & that's what we recommend. - # https://github.com/guard/listen/pull/371 -gem "listen", "3.0.6" - - # Pin activesupport because 5.0 is broken on 2.1 -gem "activesupport", "4.2.7" -gem "html-proofer" -gem "rack-jekyll" -gem 'rake' -gem 'puma' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index b7163aa..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,167 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (4.2.7) - i18n (~> 0.7) - json (~> 1.7, >= 1.7.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.12.2) - colorator (1.1.0) - colorize (0.8.1) - concurrent-ruby (1.0.5) - ethon (0.11.0) - ffi (>= 1.3.0) - execjs (2.7.0) - faraday (0.15.1) - multipart-post (>= 1.2, < 3) - ffi (1.9.23) - forwardable-extended (2.6.0) - gemoji (3.0.0) - html-pipeline (2.8.0) - activesupport (>= 2) - nokogiri (>= 1.4) - html-proofer (3.8.0) - activesupport (>= 4.2, < 6.0) - addressable (~> 2.3) - colorize (~> 0.8) - mercenary (~> 0.3.2) - nokogiri (~> 1.8.1) - parallel (~> 1.3) - typhoeus (~> 1.3) - yell (~> 2.0) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - jekyll (3.4.3) - addressable (~> 2.4) - colorator (~> 1.0) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 1.1) - kramdown (~> 1.3) - liquid (~> 3.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (~> 1.7) - safe_yaml (~> 1.0) - jekyll-avatar (0.4.2) - jekyll (~> 3.0) - jekyll-coffeescript (1.0.1) - coffee-script (~> 2.2) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.9.2) - jekyll (~> 3.3) - jekyll-gist (1.4.0) - octokit (~> 4.2) - jekyll-mentions (1.2.0) - activesupport (~> 4.0) - html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-optional-front-matter (0.1.2) - jekyll (~> 3.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.1.0) - jekyll (~> 3.0) - jekyll-redirect-from (0.12.1) - jekyll (~> 3.3) - jekyll-relative-links (0.4.0) - jekyll (~> 3.3) - jekyll-sass-converter (1.5.0) - sass (~> 3.4) - jekyll-seo-tag (2.1.0) - jekyll (~> 3.3) - jekyll-sitemap (1.0.0) - jekyll (~> 3.3) - jekyll-titles-from-headings (0.1.5) - jekyll (~> 3.3) - jekyll-watch (1.5.1) - listen (~> 3.0) - jemoji (0.8.0) - activesupport (~> 4.0) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (>= 3.0) - json (1.8.6) - kramdown (1.13.2) - liquid (3.0.6) - listen (3.0.6) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9.7) - mercenary (0.3.6) - mini_portile2 (2.3.0) - minitest (5.11.3) - multipart-post (2.0.0) - nokogiri (1.8.2) - mini_portile2 (~> 2.3.0) - octokit (4.9.0) - sawyer (~> 0.8.0, >= 0.5.3) - parallel (1.12.1) - pathutil (0.16.1) - forwardable-extended (~> 2.6) - public_suffix (3.0.2) - puma (3.11.4) - rack (1.6.10) - rack-jekyll (0.5.0) - jekyll (>= 1.3) - listen (>= 1.3) - rack (~> 1.5) - rake (12.3.1) - rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) - rouge (1.11.1) - safe_yaml (1.0.4) - sass (3.5.6) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) - thread_safe (0.3.6) - typhoeus (1.3.0) - ethon (>= 0.9.0) - tzinfo (1.2.5) - thread_safe (~> 0.1) - yell (2.0.7) - -PLATFORMS - ruby - -DEPENDENCIES - activesupport (= 4.2.7) - html-proofer - jekyll (= 3.4.3) - jekyll-avatar (= 0.4.2) - jekyll-coffeescript (= 1.0.1) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.9.2) - jekyll-gist (= 1.4.0) - jekyll-mentions (= 1.2.0) - jekyll-optional-front-matter (= 0.1.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.1.0) - jekyll-redirect-from (= 0.12.1) - jekyll-relative-links (= 0.4.0) - jekyll-sass-converter (= 1.5.0) - jekyll-seo-tag (= 2.1.0) - jekyll-sitemap (= 1.0.0) - jekyll-titles-from-headings (= 0.1.5) - jemoji (= 0.8.0) - kramdown (= 1.13.2) - liquid (= 3.0.6) - listen (= 3.0.6) - puma - rack-jekyll - rake - rouge (= 1.11.1) - -BUNDLED WITH - 1.16.1 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5c34c37 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +all: compile-assets compile-site +all-dev: rebuild-node-sass compile-assets-dev serve-site-dev + +compile-site: + echo "Generating static website" + hugo + echo "Website generated" + +serve-site-dev: + echo "Serving website" + hugo serve --bind=0.0.0.0 + +compile-assets: + echo "Compiling assets" + cd themes/conventional-commits && npm install && npm run build + echo "Assets compiled" + +compile-assets-dev: + echo "Compiling assets" + cd themes/conventional-commits && npm install && npm run start & + +rebuild-node-sass: + echo "Rebuilding node sass" + cd themes/conventional-commits && npm rebuild node-sass + echo "node sass rebuilt" + diff --git a/Procfile b/Procfile deleted file mode 100644 index 0d558b4..0000000 --- a/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: bundle exec puma -t 8:32 -w 3 -p $PORT diff --git a/README.md b/README.md index 7ce1750..bcc12de 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,13 @@ This repo is the home of the Conventional Commits specification. ## Repo Layout -* `./index.md`: contains the current version of the specification. -* `./spec`: contains past versions of the specification. -* `./lang`: contains various translations of the specification. +We use [HUGO](https://gohugo.io/) as static site generator, so we use the [directory structure](https://gohugo.io/getting-started/directory-structure/) HUGO proposes. + +#### Our implementation + +* `./content`: contains all the versions of the specification. +* `./content/next/`: contains the version of the specification (where all the changes SHOULD be made). +* `./content/**/index[.lang].md`: contains the content of the specification, if a language is specified it's a translation. ## Contributing @@ -18,17 +22,17 @@ to send a pull request. ### Adding a translation -1. Create a new folder in `lang/` with the appropriate language tag. -2. Add a translated `index.md` to that folder. -3. Add a translated `spec/vX.X.X.md` for the latest spec to that folder. -4. Ensure all files have the appropriate `title` and `language` front matter (see others as an example). -5. Add the language to the `_config.yml` file. +1. Create a new file in `./content/version/index.{lang}.md` using the hugo command `hugo new {version}/index.{lang}.md`. +1. Ensure all files have the appropriate fields required (see others as an example).. +1. Add the language to the `config.yml` file (see others as an example). ### Running project locally There's a docker-compose.yml file ready that will help you to check if the website looks good! To run it make sure you have [docker-compose installed](https://docs.docker.com/compose/install/#install-compose) on your machine and just use the command `docker-compose up` to make it run locally. +Once the website will be compiled, you can see the website visiting `http://localhost:1313` + ## Badges! Tell your users that you use the Conventional Commits specification: @@ -37,7 +41,11 @@ Tell your users that you use the Conventional Commits specification: [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) ``` -## Thank you semver.org +## Thank you -We used [semver.org](https://github.com/mojombo/semver.org) as a blueprint for -both the website and structure of this specification. +To *[Lorenzo D'Ianni]*(https://github.com/lorenzodianni) for the great effort creating the CSS and the HTML for the new UI. + +To [Netlify](https://www.netlify.com/) to host our project, giving us a lot of [amazing built in functionality](https://www.netlify.com/features/) for free. + +To `semver.org`: we used [semver.org](https://github.com/mojombo/semver.org) as a blueprint for +the structure of this specification and the first version of the website. \ No newline at end of file diff --git a/Rakefile b/Rakefile deleted file mode 100644 index f07ef52..0000000 --- a/Rakefile +++ /dev/null @@ -1,5 +0,0 @@ -namespace :assets do - task :precompile do - puts `bundle exec jekyll build` - end -end diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 1e5f550..0000000 --- a/_config.yml +++ /dev/null @@ -1,36 +0,0 @@ -title: Conventional Commits -descriptions: open-source maintainer, squash feature branches onto `master` and write a standardized commit message while doing so. - -# Should be in the form of -# : -languages: - en: english - pl: polish - it: italian - zh-Hans: 简体中文 - es: spanish - -versions: - - 1.0.0-beta - - 1.0.0-beta.1 - - 1.0.0-beta.2 - -current_version: 1.0.0-beta.2 - -# Default author, for when none is set -author: Benjamin Coe - -gems: - - jekyll-sitemap - - jekyll-seo-tag - - jekyll-redirect-from - - kramdown - -defaults: - - - scope: - path: "" - values: - layout: "default" - -exclude: ['docker-compose.yml', 'config.ru', 'Gemfile', 'Gemfile.lock', 'vendor', 'Procfile', 'Rakefile'] diff --git a/_config_local.yml b/_config_local.yml deleted file mode 100644 index 306afe5..0000000 --- a/_config_local.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: - url: "" diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 989355f..0000000 --- a/_layouts/default.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - {% if page.custom_css %} - - {% endif %} - - {% seo %} - - - Fork me on GitHub - - -
- {{ content }} -
- - - diff --git a/_redirects b/_redirects new file mode 100644 index 0000000..2d89c4d --- /dev/null +++ b/_redirects @@ -0,0 +1 @@ +/ /en/v1.0.0-beta.2/ \ No newline at end of file diff --git a/archetypes/next.md b/archetypes/next.md new file mode 100644 index 0000000..4140a05 --- /dev/null +++ b/archetypes/next.md @@ -0,0 +1,3 @@ +--- +draft: true +--- \ No newline at end of file diff --git a/archetypes/v1.0.0-beta.1.md b/archetypes/v1.0.0-beta.1.md new file mode 100644 index 0000000..f9d787d --- /dev/null +++ b/archetypes/v1.0.0-beta.1.md @@ -0,0 +1,3 @@ +--- +draft: false +--- \ No newline at end of file diff --git a/archetypes/v1.0.0-beta.2.md b/archetypes/v1.0.0-beta.2.md new file mode 100644 index 0000000..f9d787d --- /dev/null +++ b/archetypes/v1.0.0-beta.2.md @@ -0,0 +1,3 @@ +--- +draft: false +--- \ No newline at end of file diff --git a/archetypes/v1.0.0-beta.md b/archetypes/v1.0.0-beta.md new file mode 100644 index 0000000..f9d787d --- /dev/null +++ b/archetypes/v1.0.0-beta.md @@ -0,0 +1,3 @@ +--- +draft: false +--- \ No newline at end of file diff --git a/config.ru b/config.ru deleted file mode 100644 index 2205dba..0000000 --- a/config.ru +++ /dev/null @@ -1,3 +0,0 @@ -require 'rack/jekyll' -require 'yaml' -run Rack::Jekyll.new diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..d5e1f17 --- /dev/null +++ b/config.yaml @@ -0,0 +1,102 @@ +baseURL: '/' +languageCode: en-us +theme: conventional-commits +defaultContentLanguageInSubdir: true +defaultContentLanguage: "en" + +# Global parameters +params: + license: + title: License + action: + label: Creative Commons - CC BY 3.0 + url: 'https://creativecommons.org/licenses/by/3.0/' + + footer: + logos: + - name: github + url: 'https://github.com/conventional-commits/conventionalcommits.org' + +# Languages parameters +languages: + en: + weight: 1 + languageName: "English" + title: Conventional Commits + description: A specification for adding human and machine readable meaning to commit messages + actions: + - label: Read the specs + url: '#specification' + - label: GitHub + url: 'https://github.com/conventional-commits/conventionalcommits.org' + versions: + current: v1.0.0-beta.2 + list: + - v1.0.0-beta.2 + - v1.0.0-beta.1 + - v1.0.0-beta + + it: + weight: 2 + languageName: "Italian" + title: Commit Convenzionali + description: Una specifica per aggiungere un significato leggibile da umani e macchine ai messaggi dei commit + actions: + - label: Leggi la specifica + url: '#specifica' + - label: GitHub + url: 'https://github.com/conventional-commits/conventionalcommits.org' + versions: + current: v1.0.0-beta.2 + list: + - v1.0.0-beta.2 + - v1.0.0-beta.1 + - v1.0.0-beta + + pl: + weight: 2 + languageName: "Polish" + title: Konwencjonalne Commity + description: Specyfikacja dodawania znaczenia czytelnego dla człowieka do commit komunikatów + actions: + - label: Przeczytaj specyfikację + url: '#specyfikacja' + - label: GitHub + url: 'https://github.com/conventional-commits/conventionalcommits.org' + versions: + current: v1.0.0-beta.2 + list: + - v1.0.0-beta.2 + - v1.0.0-beta.1 + - v1.0.0-beta + zh: + weight: 2 + languageName: "Chinese" + title: 约定式提交 + description: 一种规范,用于添加人机可读的含义以提交消息 + actions: + - label: 阅读规范 + url: '#约定式提交规范' + - label: GitHub + url: 'https://github.com/conventional-commits/conventionalcommits.org' + versions: + current: v1.0.0-beta.2 + list: + - v1.0.0-beta.2 + - v1.0.0-beta.1 + - v1.0.0-beta + + es: + weight: 2 + languageName: "Spanish" + title: Commits Convencionales + description: Una especificación para agregar un significado legible por una máquina humana para commit mensajes + actions: + - label: Lee la especificación + url: '#especificación' + - label: GitHub + url: 'https://github.com/conventional-commits/conventionalcommits.org' + versions: + current: v1.0.0-beta.2 + list: + - v1.0.0-beta.2 diff --git a/index.md b/content/next/index.md similarity index 74% rename from index.md rename to content/next/index.md index 8cfa0cd..042e5a0 100644 --- a/index.md +++ b/content/next/index.md @@ -1,14 +1,16 @@ --- -title: Conventional Commits 1.0.0-beta.2 -redirect_from: /lang/en/ +draft: true --- # Conventional Commits 1.0.0-beta.2 ## Summary -As a software developer, I want to squash feature branches onto `master` and write -a standardized commit message while doing so. +As a software developer, I want to create a readable commit history writing standardized commit messages to make easier and explicit what changes have been applied to a project. +To accomplish it, the Conventional Commits specification proposes introducing a standardized lightweight +convention on top of commit messages giving to you also the chance to automate processes. +This convention dovetails with [SemVer](http://semver.org), +asking software developers to describe in commit messages, features, fixes, and breaking changes that they make. The commit message should be structured as follows: @@ -28,10 +30,10 @@ The commit contains the following structural elements, to communicate intent to consumers of your library: 1. **fix:** a commit of the _type_ `fix` patches a bug in your codebase (this correlates with [`PATCH`](http://semver.org/#summary) in semantic versioning). -2. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates with [`MINOR`](http://semver.org/#summary) in semantic versioning). -3. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). +1. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates with [`MINOR`](http://semver.org/#summary) in semantic versioning). +1. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). A BREAKING CHANGE can be part of commits of any _type_. -4. Others: commit _types_ other than `fix:` and `feat:` are allowed, for example [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (based on the [the Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) recommends `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, and others. +1. Others: commit _types_ other than `fix:` and `feat:` are allowed, for example [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (based on the [the Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) recommends `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, and others. We also recommend `improvement` for commits that improve a current implementation without adding a new feature or fixing a bug. Notice these types are not mandated by the conventional commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE).
@@ -53,53 +55,34 @@ docs: correct spelling of CHANGELOG ### Commit message with scope ``` -feat(lang): add polish language +feat(lang): added polish language ``` ### Commit message for a fix using an (optional) issue number. ``` -fix: correct minor typos in code +fix: minor typos in code see the issue for details on the typos fixed fixes issue #12 ``` - -## Introduction - -In software development, it's been my experience that bugs are most often introduced at the boundaries between applications. -Unit testing works great for testing the interactions that a maintainer knows about, but do a poor job of capturing all the interesting, often unexpected, ways that a community puts a library to use. - -Anyone who has upgraded to a new patch version of a dependency, only to watch their -application start throwing a steady stream of 500 errors, knows how important -a readable commit history (and [ideally a well maintained CHANGELOG](http://keepachangelog.com/en/0.3.0/)) is to the ensuing -forensic process. - -The Conventional Commits specification proposes introducing a standardized lightweight -convention on top of commit messages. This convention dovetails with [SemVer](http://semver.org), -asking software developers to describe in commit messages, features, fixes, and breaking -changes that they make. - -By introducing this convention, we create a common language that makes it easier to -debug issues across project boundaries. - -## Conventional Commits Specification +## Specification The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Commits MUST be prefixed with a type, which consists of a noun, `feat`, `fix`, etc., followed by a colon and a space. -2. The type `feat` MUST be used when a commit adds a new feature to your application or library. -3. The type `fix` MUST be used when a commit represents a bug fix for your application. -4. An optional scope MAY be provided after a type. A scope is a phrase describing a section of the codebase enclosed in parenthesis, e.g., `fix(parser):` -5. A description MUST immediately follow the type/scope prefix. +1. The type `feat` MUST be used when a commit adds a new feature to your application or library. +1. The type `fix` MUST be used when a commit represents a bug fix for your application. +1. An optional scope MAY be provided after a type. A scope is a phrase describing a section of the codebase enclosed in parenthesis, e.g., `fix(parser):` +1. A description MUST immediately follow the type/scope prefix. The description is a short description of the code changes, e.g., _fix: array parsing issue when multiple spaces were contained in string._ -6. A longer commit body MAY be provided after the short description, providing additional contextual information about the code changes. The body MUST begin one blank line after the description. -7. A footer MAY be provided one blank line after the body (or after the description if body is missing). +1. A longer commit body MAY be provided after the short description, providing additional contextual information about the code changes. The body MUST begin one blank line after the description. +1. A footer MAY be provided one blank line after the body (or after the description if body is missing). The footer SHOULD contain additional issue references about the code changes (such as the issues it fixes, e.g.,`Fixes #13`). -8. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. -9. A description MUST be provided after the `BREAKING CHANGE: `, describing what has changed about the API, e.g., _BREAKING CHANGE: environment variables now take precedence over config files._ -10. The footer MUST only contain `BREAKING CHANGE`, external links, issue references, and other meta-information. -11. Types other than `feat` and `fix` MAY be used in your commit messages. +1. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. +1. A description MUST be provided after the `BREAKING CHANGE: `, describing what has changed about the API, e.g., _BREAKING CHANGE: environment variables now take precedence over config files._ +1. The footer MUST only contain `BREAKING CHANGE`, external links, issue references, and other meta-information. +1. Types other than `feat` and `fix` MAY be used in your commit messages. ## Why Use Conventional Commits @@ -156,12 +139,6 @@ In a worst case scenario, it's not the end of the world if a commit lands that d No! If you use a squash based workflow on Git lead maintainers can cleanup the commit messages as they're merged—adding no workload to casual committers. A common workflow for this is to have your git system automatically squash commits from a pull request and present a form for the lead maintainer to enter the proper git commit message for the merge. -### What writing form should I use? - -We recommend writing a commit description and body using the [imperative](https://en.wikipedia.org/wiki/Imperative_mood) present tense writing form. - -There are a significant number of examples of this writing form for commits [1](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)[2](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#subject)[3](https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project)[4](https://medium.com/@danielfeelfine/commit-verbs-101-why-i-like-to-use-this-and-why-you-should-also-like-it-d3ed2689ef70)[5](https://chris.beams.io/posts/git-commit/) - ## About The Conventional Commit specification is inspired by, and based heavily on, the [Angular Commit Guidelines](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines). @@ -184,7 +161,3 @@ The first draft of this specification has been written in collaboration with som [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _want your project on this list?_ [send a pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## License - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/it/spec/v1.0.0-beta.1.md b/content/v1.0.0-beta.1/index.it.md similarity index 90% rename from lang/it/spec/v1.0.0-beta.1.md rename to content/v1.0.0-beta.1/index.it.md index ce6e038..acc0f9c 100644 --- a/lang/it/spec/v1.0.0-beta.1.md +++ b/content/v1.0.0-beta.1/index.it.md @@ -1,6 +1,5 @@ --- -title: Commit Convenzionali 1.0.0-beta.1 -language: it +draft: false --- # Commit Convenzionali 1.0.0-beta.1 @@ -28,8 +27,8 @@ Il commit contiene i seguenti elementi strutturali, allo scopo di comunicarne l'intento al consumatore della libreria: 1. **fix:** un commit di _tipo_ `fix` risolve un errore nel codice (correlato al [`PATCH`](http://semver.org/#summary) in un versionamento semver). -2. **feat:** un commit di _tipo_ `feat` introduce una nuova funzionalità al codice (correlato al [`MINOR`](http://semver.org/#summary) in un versionamento semver). -3. **BREAKING CHANGE:** un commit che contiente il testo `BREAKING CHANGE:` all'inizio delle sezioni opzionali _corpo_ o _piè di pagina_, introduce una breaking API change (correlato al [`MAJOR`](http://semver.org/#summary) in un versionamento semver). +1. **feat:** un commit di _tipo_ `feat` introduce una nuova funzionalità al codice (correlato al [`MINOR`](http://semver.org/#summary) in un versionamento semver). +1. **BREAKING CHANGE:** un commit che contiente il testo `BREAKING CHANGE:` all'inizio delle sezioni opzionali _corpo_ o _piè di pagina_, introduce una breaking API change (correlato al [`MAJOR`](http://semver.org/#summary) in un versionamento semver). Una _breaking change_ può essere parte di un commit di qualsiasi _tipo_. Es: I tipi `fix:`, `feat:` & `chore:` sono tutti validi.
@@ -59,31 +58,31 @@ di descrivere nei messaggi dei commit qualsiasi feature, fix e breaking change l Introducendo questa convenzione, si crea un linguaggio comune che rende più semplice rimuovere errori tra progetti. -## Specifica Commit Convenzionali +## Specifica Le parole “DEVE”, “NON DEVE”, “RICHIESTO”, “DOVRÀ”, “NON DOVRÀ”, “DOVREBBE”, “NON DOVREBBE”, “RACCOMANDATO”, “POTREBBE” e “OPZIONALE” devo essere interpretata come da specifica [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Un commit DEVE iniziare con un _tipo_, il quale consiste in un sostantivo, `feat`, `fix`, etc., seguito dai due punti ed uno spazio. -2. Il _tipo_ `feat` DEVE essere usato quando un commit aggiunge una funzionalità +1. Il _tipo_ `feat` DEVE essere usato quando un commit aggiunge una funzionalità all'applicazione o libreria. -3. Il _tipo_ `fix` DEVE essere usato quando un commit corregge un errore all'applicazione o libreria. -4. Un _contesto_ opzionale POTREBBE essere fornito dopo il _tipo_. +1. Il _tipo_ `fix` DEVE essere usato quando un commit corregge un errore all'applicazione o libreria. +1. Un _contesto_ opzionale POTREBBE essere fornito dopo il _tipo_. Un _contesto_ rappresenta una sezione dell'applicazione o libreria, il contentuo va racchiusa tra delle parentesi. Es: `fix(parser):` -5. Una _descrizione_ DEVE seguire immediatamente il _tipo_ (con eventuale _contesto_). +1. Una _descrizione_ DEVE seguire immediatamente il _tipo_ (con eventuale _contesto_). Per _descrizione_ si intende una breve spiegazione della pull request. Es: _fix: array parsing issue when multiple spaces were contained in string._ -6. Un _corpo_ del commit più lungo POTREBBE essere aggiunto dopo una breve _descrizione_. +1. Un _corpo_ del commit più lungo POTREBBE essere aggiunto dopo una breve _descrizione_. Il _corpo_ DEVE inizare dopo una linea vuota dalla _descrizione_. -7. Un _piè di pagina_ POTREBBE essere aggiunto inserendo una linea vuota dopo il _corpo_. +1. Un _piè di pagina_ POTREBBE essere aggiunto inserendo una linea vuota dopo il _corpo_. Il _piè di pagina_ DOVREBBE contenere ulteriori informazioni riguardo la pull request (come le issue che risolve, Es: `fixes #13, #5`). -8. Una _breaking changes_ DEVE essere indicata all'inizio delle sezioni _piè di pagina_ o del _corpo_ del commit. +1. Una _breaking changes_ DEVE essere indicata all'inizio delle sezioni _piè di pagina_ o del _corpo_ del commit. Una _breaking change_ DEVE essere scritta in maiuscolo `BREAKING CHANGE`, seguita dai due punti ed uno spazio. -9. Una descrizione DEVE essere aggiunta dopo il testo `BREAKING CHANGE: `, descrivendo il cambiamento delle API. +1. Una descrizione DEVE essere aggiunta dopo il testo `BREAKING CHANGE: `, descrivendo il cambiamento delle API. Es: _BREAKING CHANGE: environment variables now take precedence over config files._ -10. Un commit POTREBBE utilizzare altri _tipi_ al di fuori di `feat` e `fix` nel messagio. +1. Un commit POTREBBE utilizzare altri _tipi_ al di fuori di `feat` e `fix` nel messagio. ## Perchè utilizzare commit convenzionali @@ -159,7 +158,3 @@ La prima bozza di questa specifica è stata scritta in collaborazione con alcuni [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _vuoi aggingere il tuo progetto alla lista?_ [invia una pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licenza - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/spec/v1.0.0-beta.1.md b/content/v1.0.0-beta.1/index.md similarity index 90% rename from spec/v1.0.0-beta.1.md rename to content/v1.0.0-beta.1/index.md index f8e1acd..792844b 100644 --- a/spec/v1.0.0-beta.1.md +++ b/content/v1.0.0-beta.1/index.md @@ -1,5 +1,5 @@ --- -title: Conventional Commits 1.0.0-beta.1 +draft: false --- # Conventional Commits 1.0.0-beta.1 @@ -27,9 +27,9 @@ The commit contains the following structural elements, to communicate intent to consumers of your library: 1. **fix:** a commit of the _type_ `fix` patches a bug in your codebase (this correlates with [`PATCH`](http://semver.org/#summary) in semantic versioning). -2. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates +1. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates with [`MINOR`](http://semver.org/#summary) in semantic versioning). -3. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). A breaking change can be +1. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). A breaking change can be part of commits of any _type_. e.g., a `fix:`, `feat:` & `chore:` types would all be valid, in addition to any other _type_.
@@ -59,28 +59,28 @@ changes that they make. By introducing this convention, we create a common language that makes it easier to debug issues across project boundaries. -## Conventional Commits Specification +## Specification The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. commits MUST be prefixed with a type, which consists of a noun, `feat`, `fix`, etc., followed by a colon and a space. -2. the type `feat` MUST be used when a commit adds a new feature to your application +1. the type `feat` MUST be used when a commit adds a new feature to your application or library. -3. the type `fix` MUST be used when a commit represents a bug fix for your application. -4. an optional scope MAY be provided after a type. A scope is a phrase describing +1. the type `fix` MUST be used when a commit represents a bug fix for your application. +1. an optional scope MAY be provided after a type. A scope is a phrase describing a section of the codebase enclosed in parenthesis, e.g., `fix(parser):` -5. A description MUST immediately follow the type/scope prefix. +1. A description MUST immediately follow the type/scope prefix. The description is a short description of the pull request, e.g., _fix: array parsing issue when multiple spaces were contained in string._ -6. A longer commit body MAY be provided after the short description. The body MUST +1. A longer commit body MAY be provided after the short description. The body MUST begin one blank line after the description. -7. A footer MAY be provided one blank line after the body. The footer SHOULD contain +1. A footer MAY be provided one blank line after the body. The footer SHOULD contain additional meta-information about the pull-request (such as the issues it fixes, e.g., `fixes #13, #5`). -8. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. -9. A description MUST be provided after the `BREAKING CHANGE: `, describing what +1. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. +1. A description MUST be provided after the `BREAKING CHANGE: `, describing what has changed about the API, e.g., _BREAKING CHANGE: environment variables now take precedence over config files._ -10. types other than `feat` and `fix` MAY be used in your commit messages. +1. types other than `feat` and `fix` MAY be used in your commit messages. ## Why Use Conventional Commits @@ -156,7 +156,3 @@ folks contributing to: [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _want your project on this list?_ [send a pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## License - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/pl/spec/v1.0.0-beta.1.md b/content/v1.0.0-beta.1/index.pl.md similarity index 91% rename from lang/pl/spec/v1.0.0-beta.1.md rename to content/v1.0.0-beta.1/index.pl.md index dc8a546..600ad14 100644 --- a/lang/pl/spec/v1.0.0-beta.1.md +++ b/content/v1.0.0-beta.1/index.pl.md @@ -1,6 +1,5 @@ --- -title: Konwencjonalne Commity 1.0.0-beta.1 -language: pl +draft: false --- # Konwencjonalne Commity 1.0.0-beta.1 @@ -28,8 +27,8 @@ Wiadomość zawiera następujące strukturalne elementy po to, aby zakomunikowa do użytkowników Twojej biblioteki: 1. **fix:** dostarczenie _typu_ `fix` naprawia błąd obecny w Twoim kodzie (powiązane z [`PATCH`](http://semver.org/#summary) w wersjonowaniu semantycznym). -2. **feat:** dostarczenie _typu_ `feat` wprowadza nowe funkcje do Twojej biblioteki (powiązane z [`MINOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). -3. **BREAKING CHANGE:** dostarczenie, które posiada tekst `BREAKING CHANGE:` na początku jego opcjonalnego ciała bądź stopki wprowadza zmianę łamiącą kompatybilność API (powiązane z [`MAJOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). Zmiana łamiąca kompatybilność wsteczną może być elementem zmian każdego innego _typu_, np. `fix:`, `feat:` & `chore:` - wszystkie byłyby poprawne, w dodatku do każdego innego _typu_. +1. **feat:** dostarczenie _typu_ `feat` wprowadza nowe funkcje do Twojej biblioteki (powiązane z [`MINOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). +1. **BREAKING CHANGE:** dostarczenie, które posiada tekst `BREAKING CHANGE:` na początku jego opcjonalnego ciała bądź stopki wprowadza zmianę łamiącą kompatybilność API (powiązane z [`MAJOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). Zmiana łamiąca kompatybilność wsteczną może być elementem zmian każdego innego _typu_, np. `fix:`, `feat:` & `chore:` - wszystkie byłyby poprawne, w dodatku do każdego innego _typu_.
Przy typie dostarczenia może zostać podany zakres w celu dostarczenia dokładniejszej informacji o kontekście dostarczenia. @@ -59,24 +58,24 @@ oraz jakie niekompatybilne wstecz zmiany wnoszą. Wprowadzając tę konwencję, tworzymy powszechny język, który pozwala na dużo łatwiejsze wyłapywanie błędów występujących na granicy projektu z jego zależnościami. -## Specyfikacja Konwencjonalnych Commitów +## Specyfikacja Następujące terminy “MUSI” (“MUST”), “NIE MOŻE” (“MUST NOT”), “WYMAGANY” (“REQUIRED”), “MA BYĆ” (“SHALL”), “NIE BĘDZIE” (“SHALL NOT”), “POWINIEN” (“SHOULD”), “NIE POWINIEN” (“SHOULD NOT”), “ZALECANY” (“RECOMMENDED”), “MOŻE” (“MAY”) oraz “OPCJONALNY” (“OPTIONAL”) pojawiające się w tym dokumencie rozumiane są zgodnie z ich opisem na stronie: [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Dostarczenie MUSI być poprzedzone typem, który składa się z rzeczownika, np. `feat`, `fix`, itp., oraz następującymi bezpośrednio po nim dwukropka oraz spacji. -2. Typ `feat` MUSI być użyty, gdy dostarczenie dodaje nową funkcję do Twojej aplikacji bądź biblioteki. -3. Typ `fix` MUSI być użyty, kiedy dostarczenie naprawia błąd w Twojej aplikacji. -4. Opcjonalny zakres MOŻE być podany po typie. Zakres jest to fraza opisująca obszar kodu zawarta w nawiasach okrągłych, np., `fix(parser):` -5. Opis MUSI występować zaraz po przedrostku typu/zakresu. +1. Typ `feat` MUSI być użyty, gdy dostarczenie dodaje nową funkcję do Twojej aplikacji bądź biblioteki. +1. Typ `fix` MUSI być użyty, kiedy dostarczenie naprawia błąd w Twojej aplikacji. +1. Opcjonalny zakres MOŻE być podany po typie. Zakres jest to fraza opisująca obszar kodu zawarta w nawiasach okrągłych, np., `fix(parser):` +1. Opis MUSI występować zaraz po przedrostku typu/zakresu. Opis jest to krótka notka stanowiąca o treści dostarczenia, np., _fix: problem podczas parsowania listy, kiedy string zawierał wiele spacji._ -6. Dłuższe ciało wiadomości MOŻE być podane po krótkim opisie. Ciało MUSI zaczynać się jedną pustą linię po opisie. -7. Stopka MOŻE być podane jedną linię za ciałem wiadomości. Stopka POWINNA zawierać dodatkowe informacje odnośnie zgłoszeń błędów lub propozycji funkcjonalności, które rozwiązuje, np. `fixes #13, #5`. -8. Zmiany niekompatybilne wstecz MUSZĄ być zaznaczone na samym początku sekcji ciała wiadomości lub stopki. Informacja o niekompatybilności MUSI zawierać tekst `BREAKING CHANGE`, wraz z następującymi po nim dwukropkiem oraz spacją. -9. Po tekście `BREAKING CHANGE: ` MUSI następować opis mówiący o tym, co zostało zmienione w kodzie w sposób, który niszczy kompatybilność wstecz, +1. Dłuższe ciało wiadomości MOŻE być podane po krótkim opisie. Ciało MUSI zaczynać się jedną pustą linię po opisie. +1. Stopka MOŻE być podane jedną linię za ciałem wiadomości. Stopka POWINNA zawierać dodatkowe informacje odnośnie zgłoszeń błędów lub propozycji funkcjonalności, które rozwiązuje, np. `fixes #13, #5`. +1. Zmiany niekompatybilne wstecz MUSZĄ być zaznaczone na samym początku sekcji ciała wiadomości lub stopki. Informacja o niekompatybilności MUSI zawierać tekst `BREAKING CHANGE`, wraz z następującymi po nim dwukropkiem oraz spacją. +1. Po tekście `BREAKING CHANGE: ` MUSI następować opis mówiący o tym, co zostało zmienione w kodzie w sposób, który niszczy kompatybilność wstecz, np. _BREAKING CHANGE: zmienne środowiskowe mają teraz większy priorytet niż pliki konfiguracyjne._ -10. Typy inne niż `feat` oraz `fix` MOGĄ być użyte w wiadomościach Twoich dostarczeń. +1. Typy inne niż `feat` oraz `fix` MOGĄ być użyte w wiadomościach Twoich dostarczeń. ## Dlaczego używać Konwencjonalnych Commitów @@ -154,8 +153,3 @@ pozwalających na parsowanie konwencjonalnych commitów z historii `git`owych do [![Konwencjonalne Commity](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _chcesz, aby Twój projekt znajdował się na tej liście?_ [stwórz pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licencja - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) - diff --git a/lang/zh-Hans/spec/v1.0.0-beta.1.md b/content/v1.0.0-beta.1/index.zh.md similarity index 89% rename from lang/zh-Hans/spec/v1.0.0-beta.1.md rename to content/v1.0.0-beta.1/index.zh.md index c586880..c254369 100644 --- a/lang/zh-Hans/spec/v1.0.0-beta.1.md +++ b/content/v1.0.0-beta.1/index.zh.md @@ -1,6 +1,5 @@ --- -title: 约定式提交 1.0.0-beta.1 -language: zh-Hans +draft: false --- # 约定式提交 1.0.0-beta.1 @@ -26,9 +25,9 @@ language: zh-Hans 提交说明包含了下面的结构化元素,以向类库使用者表明其意图: 1. **fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 [`PATCH`](http://semver.org/#summary) 相对应)。 -2. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](http://semver.org/#summary) 相对应)。 -3. **BREAKING CHANGE:** 在可选的正文或页脚的起始位置带有 `BREAKING CHANGE:` 的提交,表示引入了破坏性变更(这和语义化版本中的 [`MAJOR`](http://semver.org/#summary) 相对应)。破坏性变更可以是任意 _类型_ 提交的一部分。对于 `fix:`、`feat:` 和 `chore:`,乃至更多其它的 _类型_ 而言,它都是有效的。 -4. 其它在 `fix:` 和 `feat:` 之外的提交 _类型_ 也都是支持的,例如 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines) 中推荐使用 `docs:`、`style:`、`refactor:`、`perf:`、`test:`、`chore:`,但这些标签在约定式提交规范中并不是强制性的。 +1. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](http://semver.org/#summary) 相对应)。 +1. **BREAKING CHANGE:** 在可选的正文或页脚的起始位置带有 `BREAKING CHANGE:` 的提交,表示引入了破坏性变更(这和语义化版本中的 [`MAJOR`](http://semver.org/#summary) 相对应)。破坏性变更可以是任意 _类型_ 提交的一部分。对于 `fix:`、`feat:` 和 `chore:`,乃至更多其它的 _类型_ 而言,它都是有效的。 +1. 其它在 `fix:` 和 `feat:` 之外的提交 _类型_ 也都是支持的,例如 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines) 中推荐使用 `docs:`、`style:`、`refactor:`、`perf:`、`test:`、`chore:`,但这些标签在约定式提交规范中并不是强制性的。
可以为提交类型添加一个围在圆括号内的作用域,以为其提供额外的上下文信息。例如 `feat(parser): add ability to parse arrays.` @@ -48,15 +47,15 @@ language: zh-Hans 本文档中的关键词 “必须”、“禁止”、“需要”、“应当”、“不应当”、“应该”、“不应该”、“推荐”、“可以” 和 “可选” 应按照 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 的描述解释。 1. 每个提交都**必须**使用类型字段前缀,这由一个形如 `feat` 或 `fix` 的名词组成,其后接冒号和空格。 -2. 当一个提交为应用或类库实现了新特性时,**必须**使用 `feat` 类型。 -3. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 -4. 可选的作用域字段**可以**在类型后提供。作用域是描述代码库中某个部分的词组,封装在括号中,形如 `fix(parser):` 等。 -5. 描述字段**必须**紧接在类型或作用域前缀之后。描述指的是对 pull request 的简短描述,形如 _fix: array parsing issue when multiple spaces were contained in string._ -6. 在简短描述之后,**可以**编写更长的提交正文。正文**必须**起始于描述字段结束的一个空行后。 -7. 在正文结束的一个空行后,**可以**编写页脚。页脚**应当**包含额外的元信息(例如它所修复的 issue,类似 `fixse #13, #5` 等)。 -8. 破坏性变更**必须**在提交的正文或脚注加以展示。一个破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,紧跟冒号和空格。 -9. 在 `BREAKING CHANGE: ` 之后**必须**提供描述,以描述对 API 的变更。例如 _BREAKING CHANGE: environment variables now take precedence over config files._ -10. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型。 +1. 当一个提交为应用或类库实现了新特性时,**必须**使用 `feat` 类型。 +1. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 +1. 可选的作用域字段**可以**在类型后提供。作用域是描述代码库中某个部分的词组,封装在括号中,形如 `fix(parser):` 等。 +1. 描述字段**必须**紧接在类型或作用域前缀之后。描述指的是对 pull request 的简短描述,形如 _fix: array parsing issue when multiple spaces were contained in string._ +1. 在简短描述之后,**可以**编写更长的提交正文。正文**必须**起始于描述字段结束的一个空行后。 +1. 在正文结束的一个空行后,**可以**编写页脚。页脚**应当**包含额外的元信息(例如它所修复的 issue,类似 `fixse #13, #5` 等)。 +1. 破坏性变更**必须**在提交的正文或脚注加以展示。一个破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,紧跟冒号和空格。 +1. 在 `BREAKING CHANGE: ` 之后**必须**提供描述,以描述对 API 的变更。例如 _BREAKING CHANGE: environment variables now take precedence over config files._ +1. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型。 ## 为什么使用约定式提交 @@ -127,7 +126,3 @@ language: zh-Hans [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _想让你的项目出现在上面吗?_[提交 pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls) 吧。 - -## 许可 - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/es/index.md b/content/v1.0.0-beta.2/index.es.md similarity index 88% rename from lang/es/index.md rename to content/v1.0.0-beta.2/index.es.md index fec6d63..221c57d 100644 --- a/lang/es/index.md +++ b/content/v1.0.0-beta.2/index.es.md @@ -1,6 +1,6 @@ --- -title: Commits Convencionales 1.0.0-beta.2 -language: es +draft: false +aliases: ["/es/"] --- # Commits Convencionales 1.0.0-beta.2 @@ -27,19 +27,19 @@ mensaje del commit debe estar estructurado de la siguiente forma: El commit contiene los siguientes elementos estructurales para comunicar la intención al consumidor de la librería: -1. **fix:** un commit de _tipo_ `fix` corrige un error en la base del código +1. **fix:** un commit de _tipo_ `fix` corrige un error en la base del código (se correlaciona con [`PATCH`](http://semver.org/#summary) en el versionado semántico). -2. **feat:** un commit de _tipo_ `feat` introduce nuevas características en la +1. **feat:** un commit de _tipo_ `feat` introduce nuevas características en la base del código (se correlaciona con [`MINOR`](http://semver.org/#summary) en el versionado semántico). -3. **BREAKING CHANGE:** un commit que contiene el texto `BREAKING CHANGE:` al +1. **BREAKING CHANGE:** un commit que contiene el texto `BREAKING CHANGE:` al inicio de su cuerpo opcional o la sección de nota de pie introduce un cambio en el uso de la API (se correlaciona con [`MAJOR`](http://semver.org/#summary) en el versionado semántico). Un cambio en el uso de la API puede ser parte de commits de _tipo_. e.g., a `fix:`, `feat:` & `chore:` todos tipos válidos, adicional a cualquier otro _tipo_. -4. Otros: _tipos_ de commits distintos a `fix:` y `feat:` están permitidos, por +1. Otros: _tipos_ de commits distintos a `fix:` y `feat:` están permitidos, por ejemplo [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (basado en [the Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) recomienda `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:` y @@ -108,7 +108,7 @@ cambios que rompen el uso de la API que hagan. Al introducir esta convención, creamos un lenguaje común que permite depurar más fácilmente los problemas a través de las fronteras de un proyecto. -## Especificación de Commits Convencionales +## Especificación Las palabras “DEBE” (“MUST”), “NO DEBE” (“MUST NOT”), “REQUIERE” (“REQUIRED”), “DEBERÁ” (“SHALL”), “NO DEBERÁ” (“SHALL NOT”), “DEBERÍA” (“SHOULD”), @@ -116,34 +116,34 @@ Las palabras “DEBE” (“MUST”), “NO DEBE” (“MUST NOT”), “REQUIER “OPCIONAL” (“OPTIONAL”) en este documento se deben interpretar como se describe en [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). -1. Los commits DEBEN iniciar con un tipo que consiste en un sustantivo `feat`, `fix`, etc., +1. Los commits DEBEN iniciar con un tipo que consiste en un sustantivo `feat`, `fix`, etc., seguido de dos puntos y un espacio. -2. El tipo `feat` DEBE ser usado cuando un commit agrega una nueva +1. El tipo `feat` DEBE ser usado cuando un commit agrega una nueva característica a la aplicación o librería. -3. El tipo `fix` DEBE ser usado cuando el commit representa una corrección a un +1. El tipo `fix` DEBE ser usado cuando el commit representa una corrección a un error en el código de la aplicación. -4. Se PUEDE añadir un ámbito opcional después del tipo. El ámbito es una frase +1. Se PUEDE añadir un ámbito opcional después del tipo. El ámbito es una frase que describe una sección de la base del código encerrada en paréntesis, e.g., `fix(parser):` -5. Una descripción DEBE ir inmediatamente después del tipo/ámbito inicial y es +1. Una descripción DEBE ir inmediatamente después del tipo/ámbito inicial y es una descripción corta de los cambios realizados en el código, e.g., _fix: array parsing issue when multiple spaces were contained in string._ -6. Un cuerpo del commit más extenso PUEDE agregarse después de la descripción, +1. Un cuerpo del commit más extenso PUEDE agregarse después de la descripción, dando información contextual adicional acerca de los cambios en el código. El cuerpo DEBE iniciar con una línea en blanco después de la descripción. -7. Una nota de pie PUEDE agregarse tras una línea en blanco después del +1. Una nota de pie PUEDE agregarse tras una línea en blanco después del cuerpo o después de la descripción en caso de que no se haya dado un cuerpo. La nota de pie DEBE contener referencias adicionales a los números de problemas registrados sobre el cambio del código (como el número de problema que corrige, e.g.,`Fixes #13`). -8. Los cambios que rompen la API DEBEN ser indicados al inicio de la nota de +1. Los cambios que rompen la API DEBEN ser indicados al inicio de la nota de pie o el cuerpo del commit. Un cambio que rompe la API DEBE contener el texto en mayúsculas `BREAKING CHANGE`, seguido de dos puntos y espacio. -9. Una descripción se DEBE proveer después de `BREAKING CHANGE:`, describiendo +1. Una descripción se DEBE proveer después de `BREAKING CHANGE:`, describiendo qué ha cambiado en la API, e.g., _BREAKING CHANGE: environment variables now take precedence over config files._ -10. La nota de pie DEBE contener solamente el texto `BREAKING CHANGE`, vínculos +1. La nota de pie DEBE contener solamente el texto `BREAKING CHANGE`, vínculos externos, referencias a problemas u otra metainformación. -11. Otros tipos distintos a `feat` y `fix` PUEDEN ser usados en los mensajes de +1. Otros tipos distintos a `feat` y `fix` PUEDEN ser usados en los mensajes de los commits. ## ¿Por qué usar Commits Convencionales? @@ -243,7 +243,3 @@ algunos de los colaboradores de: [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _¿Quiere ver su proyecto en esta lista?_ [haga un pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licencia - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/it/index.md b/content/v1.0.0-beta.2/index.it.md similarity index 90% rename from lang/it/index.md rename to content/v1.0.0-beta.2/index.it.md index 68dc947..b15cf48 100644 --- a/lang/it/index.md +++ b/content/v1.0.0-beta.2/index.it.md @@ -1,6 +1,6 @@ --- -title: Commit Convenzionali 1.0.0-beta.2 -language: it +draft: false +aliases: ["/it/"] --- # Commit Convenzionali 1.0.0-beta.2 @@ -28,10 +28,10 @@ Il commit contiene i seguenti elementi strutturali, allo scopo di comunicarne l'intento al consumatore della libreria: 1. **fix:** un commit di _tipo_ `fix` risolve un errore nel codice (correlato al [`PATCH`](http://semver.org/#summary) in un versionamento semver). -2. **feat:** un commit di _tipo_ `feat` introduce una nuova funzionalità al codice (correlato al [`MINOR`](http://semver.org/#summary) in un versionamento semver). -3. **BREAKING CHANGE:** un commit che contiente il testo `BREAKING CHANGE:` all'inizio delle sezioni opzionali _corpo_ o _piè di pagina_, introduce una breaking API change (correlato al [`MAJOR`](http://semver.org/#summary) in un versionamento semver). +1. **feat:** un commit di _tipo_ `feat` introduce una nuova funzionalità al codice (correlato al [`MINOR`](http://semver.org/#summary) in un versionamento semver). +1. **BREAKING CHANGE:** un commit che contiente il testo `BREAKING CHANGE:` all'inizio delle sezioni opzionali _corpo_ o _piè di pagina_, introduce una breaking API change (correlato al [`MAJOR`](http://semver.org/#summary) in un versionamento semver). Una _breaking change_ può essere parte di un commit di qualsiasi _tipo_. Es: I tipi `fix:`, `feat:` & `chore:` sono tutti validi, cosí come qualsiasi altro _tipo_. -4. Extra: sono ammessi ulteriori _tipi_ oltre `fix:` e`feat:`, per esempio [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (che si basa sulla [convenzione Angular](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) raccomanda `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, ed altri. +1. Extra: sono ammessi ulteriori _tipi_ oltre `fix:` e`feat:`, per esempio [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (che si basa sulla [convenzione Angular](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) raccomanda `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, ed altri. Noi raccomandiamo anche `improvement` per commit che migliorano un'implementazione esistente senza aggiungere nuove funzionalità o risolvere un errore. Notare che questi _tipi_ non sono mantenuti da questa specifica, e non hanno un effetto sul versionamento semver (a meno che non introducano una _BREAKING CHANGE_, il quale NON è raccomandato).
@@ -87,32 +87,32 @@ di descrivere nei messaggi dei commit qualsiasi feature, fix e breaking change l Introducendo questa convenzione, si crea un linguaggio comune che rende più semplice rimuovere errori tra progetti. -## Specifica Commit Convenzionali +## Specifica Le parole “DEVE”, “NON DEVE”, “RICHIESTO”, “DOVRÀ”, “NON DOVRÀ”, “DOVREBBE”, “NON DOVREBBE”, “RACCOMANDATO”, “POTREBBE” e “OPZIONALE” devo essere interpretata come da specifica [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Un commit DEVE iniziare con un _tipo_, il quale consiste in un sostantivo, `feat`, `fix`, etc., seguito dai due punti ed uno spazio. -2. Il _tipo_ `feat` DEVE essere usato quando un commit aggiunge una funzionalità +1. Il _tipo_ `feat` DEVE essere usato quando un commit aggiunge una funzionalità all'applicazione o libreria. -3. Il _tipo_ `fix` DEVE essere usato quando un commit corregge un errore all'applicazione o libreria. -4. Un _contesto_ opzionale POTREBBE essere fornito dopo il _tipo_. +1. Il _tipo_ `fix` DEVE essere usato quando un commit corregge un errore all'applicazione o libreria. +1. Un _contesto_ opzionale POTREBBE essere fornito dopo il _tipo_. Un _contesto_ rappresenta una sezione dell'applicazione o libreria, il contentuo va racchiusa tra delle parentesi. Es: `fix(parser):` -5. Una _descrizione_ DEVE seguire immediatamente il _tipo_ (con eventuale _contesto_). +1. Una _descrizione_ DEVE seguire immediatamente il _tipo_ (con eventuale _contesto_). Per _descrizione_ si intende una breve spiegazione riguardo la modifica al codice. Es: _fix: array parsing issue when multiple spaces were contained in string._ -6. Un _corpo_ del commit più lungo POTREBBE essere aggiunto dopo una breve _descrizione_, aggiungendo ulteriori informazioni contestuali riguardo le modifiche apportate al codice. +1. Un _corpo_ del commit più lungo POTREBBE essere aggiunto dopo una breve _descrizione_, aggiungendo ulteriori informazioni contestuali riguardo le modifiche apportate al codice. Il _corpo_ DEVE inizare dopo una linea vuota dalla _descrizione_. -7. Un _piè di pagina_ POTREBBE essere aggiunto inserendo una linea vuota dopo il _corpo_. +1. Un _piè di pagina_ POTREBBE essere aggiunto inserendo una linea vuota dopo il _corpo_. Il _piè di pagina_ DOVREBBE contenere ulteriori informazioni riguardo le modifiche apportate al codice (come le issue che risolve, Es: `fixes #13, #5`). -8. Una _breaking changes_ DEVE essere indicata all'inizio delle sezioni _piè di pagina_ o del _corpo_ del commit. +1. Una _breaking changes_ DEVE essere indicata all'inizio delle sezioni _piè di pagina_ o del _corpo_ del commit. Una _breaking change_ DEVE essere scritta in maiuscolo `BREAKING CHANGE`, seguita dai due punti ed uno spazio. -9. Una descrizione DEVE essere aggiunta dopo il testo `BREAKING CHANGE: `, descrivendo il cambiamento delle API. +1. Una descrizione DEVE essere aggiunta dopo il testo `BREAKING CHANGE: `, descrivendo il cambiamento delle API. Es: _BREAKING CHANGE: environment variables now take precedence over config files._ -10. Il _piè di pagina_ DEVE solo contentere `BREAKING CHANGE`, collegamenti esterni, riferimenti alle issueed ulteriori meta-informazioni. -11. Un commit POTREBBE utilizzare altri _tipi_ al di fuori di `feat` e `fix` nel messagio. +1. Il _piè di pagina_ DEVE solo contentere `BREAKING CHANGE`, collegamenti esterni, riferimenti alle issueed ulteriori meta-informazioni. +1. Un commit POTREBBE utilizzare altri _tipi_ al di fuori di `feat` e `fix` nel messagio. ## Perchè utilizzare commit convenzionali @@ -188,7 +188,3 @@ La prima bozza di questa specifica è stata scritta in collaborazione con alcuni [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _vuoi aggingere il tuo progetto alla lista?_ [invia una pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licenza - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/spec/v1.0.0-beta.2.md b/content/v1.0.0-beta.2/index.md similarity index 90% rename from spec/v1.0.0-beta.2.md rename to content/v1.0.0-beta.2/index.md index 3188974..3cd28d4 100644 --- a/spec/v1.0.0-beta.2.md +++ b/content/v1.0.0-beta.2/index.md @@ -1,6 +1,6 @@ --- -title: Conventional Commits 1.0.0-beta.2 -redirect_from: /lang/en/ +draft: false +aliases: ["/en/"] --- # Conventional Commits 1.0.0-beta.2 @@ -28,11 +28,11 @@ The commit contains the following structural elements, to communicate intent to consumers of your library: 1. **fix:** a commit of the _type_ `fix` patches a bug in your codebase (this correlates with [`PATCH`](http://semver.org/#summary) in semantic versioning). -2. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates +1. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates with [`MINOR`](http://semver.org/#summary) in semantic versioning). -3. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). A breaking change can be +1. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). A breaking change can be part of commits of any _type_. e.g., a `fix:`, `feat:` & `chore:` types would all be valid, in addition to any other _type_. -4. Others: commit _types_ other than `fix:` and `feat:` are allowed, for example [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (based on the [the Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) recommends `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, and others. We also recommend `improvement` for commits that improve a current implementation without adding a new feature or fixing a bug. Notice these types are not mandated by the conventional commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE, which is NOT recommended). +1. Others: commit _types_ other than `fix:` and `feat:` are allowed, for example [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (based on the [the Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) recommends `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, and others. We also recommend `improvement` for commits that improve a current implementation without adding a new feature or fixing a bug. Notice these types are not mandated by the conventional commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE, which is NOT recommended).
A scope may be provided to a commit's type, to provide additional contextual information and is contained within parenthesis, e.g., `feat(parser): add ability to parse arrays`. @@ -85,28 +85,28 @@ changes that they make. By introducing this convention, we create a common language that makes it easier to debug issues across project boundaries. -## Conventional Commits Specification +## Specification The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Commits MUST be prefixed with a type, which consists of a noun, `feat`, `fix`, etc., followed by a colon and a space. -2. The type `feat` MUST be used when a commit adds a new feature to your application +1. The type `feat` MUST be used when a commit adds a new feature to your application or library. -3. The type `fix` MUST be used when a commit represents a bug fix for your application. -4. An optional scope MAY be provided after a type. A scope is a phrase describing +1. The type `fix` MUST be used when a commit represents a bug fix for your application. +1. An optional scope MAY be provided after a type. A scope is a phrase describing a section of the codebase enclosed in parenthesis, e.g., `fix(parser):` -5. A description MUST immediately follow the type/scope prefix. +1. A description MUST immediately follow the type/scope prefix. The description is a short description of the code changes, e.g., _fix: array parsing issue when multiple spaces were contained in string._ -6. A longer commit body MAY be provided after the short description, providing additional contextual information about the code changes. The body MUST begin one blank line after the description. -7. A footer MAY be provided one blank line after the body (or after the description if body is missing). +1. A longer commit body MAY be provided after the short description, providing additional contextual information about the code changes. The body MUST begin one blank line after the description. +1. A footer MAY be provided one blank line after the body (or after the description if body is missing). The footer SHOULD contain additional issue references about the code changes (such as the issues it fixes, e.g.,`Fixes #13`). -8. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. -9. A description MUST be provided after the `BREAKING CHANGE: `, describing what +1. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. +1. A description MUST be provided after the `BREAKING CHANGE: `, describing what has changed about the API, e.g., _BREAKING CHANGE: environment variables now take precedence over config files._ -10. The footer MUST only contain `BREAKING CHANGE`, external links, issue references, and other meta-information. -11. Types other than `feat` and `fix` MAY be used in your commit messages. +1. The footer MUST only contain `BREAKING CHANGE`, external links, issue references, and other meta-information. +1. Types other than `feat` and `fix` MAY be used in your commit messages. ## Why Use Conventional Commits @@ -184,7 +184,3 @@ folks contributing to: [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _want your project on this list?_ [send a pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## License - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/pl/index.md b/content/v1.0.0-beta.2/index.pl.md similarity index 90% rename from lang/pl/index.md rename to content/v1.0.0-beta.2/index.pl.md index f0483cf..8b033ae 100644 --- a/lang/pl/index.md +++ b/content/v1.0.0-beta.2/index.pl.md @@ -1,6 +1,6 @@ --- -title: Konwencjonalne Commity 1.0.0-beta.2 -language: pl +draft: false +aliases: ["/pl/"] --- # Konwencjonalne Commity 1.0.0-beta.2 @@ -28,9 +28,9 @@ Wiadomość zawiera następujące strukturalne elementy po to, aby zakomunikowa do użytkowników Twojej biblioteki: 1. **fix:** dostarczenie _typu_ `fix` naprawia błąd obecny w Twoim kodzie (powiązane z [`PATCH`](http://semver.org/#summary) w wersjonowaniu semantycznym). -2. **feat:** dostarczenie _typu_ `feat` wprowadza nowe funkcje do Twojej biblioteki (powiązane z [`MINOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). -3. **BREAKING CHANGE:** dostarczenie, które posiada tekst `BREAKING CHANGE:` na początku jego opcjonalnego ciała bądź stopki wprowadza zmianę łamiącą kompatybilność API (powiązane z [`MAJOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). Zmiana łamiąca kompatybilność wsteczną może być elementem zmian każdego innego _typu_, np. `fix:`, `feat:` & `chore:` - wszystkie byłyby poprawne, w dodatku do każdego innego _typu_. -4. Inne: commity _typu_ innego niż `fix:` oraz `feat:` są dozwolone, np. [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (bazowano na [konwencji Angulara](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) poleca `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, oraz inne. My polecamy także `improvement` dla dostarczeń, które ulepszają obecną implementację bez dodawania nowych funkcjonalności lub naprawy błędów. Zauważ, że te typy nie są obowiązkowe według specyfikacji konwencjonalnych commitów i nie mają wpływu na wersjonowanie (chyba, że zawierają BREAKING CHANGE, co NIE JEST rekomendowane). +1. **feat:** dostarczenie _typu_ `feat` wprowadza nowe funkcje do Twojej biblioteki (powiązane z [`MINOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). +1. **BREAKING CHANGE:** dostarczenie, które posiada tekst `BREAKING CHANGE:` na początku jego opcjonalnego ciała bądź stopki wprowadza zmianę łamiącą kompatybilność API (powiązane z [`MAJOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). Zmiana łamiąca kompatybilność wsteczną może być elementem zmian każdego innego _typu_, np. `fix:`, `feat:` & `chore:` - wszystkie byłyby poprawne, w dodatku do każdego innego _typu_. +1. Inne: commity _typu_ innego niż `fix:` oraz `feat:` są dozwolone, np. [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (bazowano na [konwencji Angulara](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) poleca `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, oraz inne. My polecamy także `improvement` dla dostarczeń, które ulepszają obecną implementację bez dodawania nowych funkcjonalności lub naprawy błędów. Zauważ, że te typy nie są obowiązkowe według specyfikacji konwencjonalnych commitów i nie mają wpływu na wersjonowanie (chyba, że zawierają BREAKING CHANGE, co NIE JEST rekomendowane).
Przy typie dostarczenia może zostać podany zakres w celu dostarczenia dokładniejszej informacji o kontekście dostarczenia. Zawiera się on w nawiasach następujących bezpośrednio po typie, np. `feat(parser): dodano możliwość parsowania list`. @@ -84,25 +84,25 @@ oraz jakie niekompatybilne wstecz zmiany wnoszą. Wprowadzając tę konwencję, tworzymy powszechny język, który pozwala na dużo łatwiejsze wyłapywanie błędów występujących na granicy projektu z jego zależnościami. -## Specyfikacja Konwencjonalnych Commitów +## Specyfikacja Następujące terminy “MUSI” (“MUST”), “NIE MOŻE” (“MUST NOT”), “WYMAGANY” (“REQUIRED”), “MA BYĆ” (“SHALL”), “NIE BĘDZIE” (“SHALL NOT”), “POWINIEN” (“SHOULD”), “NIE POWINIEN” (“SHOULD NOT”), “ZALECANY” (“RECOMMENDED”), “MOŻE” (“MAY”) oraz “OPCJONALNY” (“OPTIONAL”) pojawiające się w tym dokumencie rozumiane są zgodnie z ich opisem na stronie: [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Dostarczenie MUSI być poprzedzone typem, który składa się z rzeczownika, np. `feat`, `fix`, itp., oraz następującymi bezpośrednio po nim dwukropka oraz spacji. -2. Typ `feat` MUSI być użyty, gdy dostarczenie dodaje nową funkcję do Twojej aplikacji bądź biblioteki. -3. Typ `fix` MUSI być użyty, kiedy dostarczenie naprawia błąd w Twojej aplikacji. -4. Opcjonalny zakres MOŻE być podany po typie. Zakres jest to fraza opisująca obszar kodu zawarta w nawiasach okrągłych, np., `fix(parser):` -5. Opis MUSI występować zaraz po przedrostku typu/zakresu. +1. Typ `feat` MUSI być użyty, gdy dostarczenie dodaje nową funkcję do Twojej aplikacji bądź biblioteki. +1. Typ `fix` MUSI być użyty, kiedy dostarczenie naprawia błąd w Twojej aplikacji. +1. Opcjonalny zakres MOŻE być podany po typie. Zakres jest to fraza opisująca obszar kodu zawarta w nawiasach okrągłych, np., `fix(parser):` +1. Opis MUSI występować zaraz po przedrostku typu/zakresu. Opis jest to krótka notka stanowiąca o treści dostarczenia, np., _fix: problem podczas parsowania listy, kiedy string zawierał wiele spacji._ -6. Dłuższe ciało wiadomości MOŻE być podane po krótkim opisie. Ciało MUSI zaczynać się jedną pustą linię po opisie. -7. Stopka MOŻE być podane jedną linię za ciałem wiadomości. Stopka POWINNA zawierać dodatkowe informacje odnośnie zgłoszeń błędów lub propozycji funkcjonalności, które rozwiązuje, np. `fixes #13, #5`. -8. Zmiany niekompatybilne wstecz MUSZĄ być zaznaczone na samym początku sekcji ciała wiadomości lub stopki. Informacja o niekompatybilności MUSI zawierać tekst `BREAKING CHANGE`, wraz z następującymi po nim dwukropkiem oraz spacją. -9. Po tekście `BREAKING CHANGE: ` MUSI następować opis mówiący o tym, co zostało zmienione w kodzie w sposób, który niszczy kompatybilność wstecz, +1. Dłuższe ciało wiadomości MOŻE być podane po krótkim opisie. Ciało MUSI zaczynać się jedną pustą linię po opisie. +1. Stopka MOŻE być podane jedną linię za ciałem wiadomości. Stopka POWINNA zawierać dodatkowe informacje odnośnie zgłoszeń błędów lub propozycji funkcjonalności, które rozwiązuje, np. `fixes #13, #5`. +1. Zmiany niekompatybilne wstecz MUSZĄ być zaznaczone na samym początku sekcji ciała wiadomości lub stopki. Informacja o niekompatybilności MUSI zawierać tekst `BREAKING CHANGE`, wraz z następującymi po nim dwukropkiem oraz spacją. +1. Po tekście `BREAKING CHANGE: ` MUSI następować opis mówiący o tym, co zostało zmienione w kodzie w sposób, który niszczy kompatybilność wstecz, np. _BREAKING CHANGE: zmienne środowiskowe mają teraz większy priorytet niż pliki konfiguracyjne._ -10. Stopka powinna zawierać tylko i wyłącznie `BREAKING CHANGE`, linki zewnętrzne, odnośniki do raportów błędów oraz inne meta-informacje. -11. Typy inne niż `feat` oraz `fix` MOGĄ być użyte w wiadomościach Twoich dostarczeń. +1. Stopka powinna zawierać tylko i wyłącznie `BREAKING CHANGE`, linki zewnętrzne, odnośniki do raportów błędów oraz inne meta-informacje. +1. Typy inne niż `feat` oraz `fix` MOGĄ być użyte w wiadomościach Twoich dostarczeń. ## Dlaczego używać Konwencjonalnych Commitów @@ -181,7 +181,3 @@ pozwalających na parsowanie konwencjonalnych commitów z historii `git`owych do [![Konwencjonalne Commity](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _chcesz, aby Twój projekt znajdował się na tej liście?_ [stwórz pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licencja - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) \ No newline at end of file diff --git a/lang/zh-Hans/spec/v1.0.0-beta.2.md b/content/v1.0.0-beta.2/index.zh.md similarity index 89% rename from lang/zh-Hans/spec/v1.0.0-beta.2.md rename to content/v1.0.0-beta.2/index.zh.md index 845e92c..7b3c93b 100644 --- a/lang/zh-Hans/spec/v1.0.0-beta.2.md +++ b/content/v1.0.0-beta.2/index.zh.md @@ -1,6 +1,6 @@ --- -title: 约定式提交 1.0.0-beta.2 -language: zh-Hans +draft: false +aliases: ["/zh/"] --- # 约定式提交 1.0.0-beta.2 @@ -26,9 +26,9 @@ language: zh-Hans 提交说明包含了下面的结构化元素,以向类库使用者表明其意图: 1. **fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 [`PATCH`](http://semver.org/#summary) 相对应)。 -2. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](http://semver.org/#summary) 相对应)。 -3. **BREAKING CHANGE:** 在可选的正文或脚注的起始位置带有 `BREAKING CHANGE:` 的提交,表示引入了破坏性变更(这和语义化版本中的 [`MAJOR`](http://semver.org/#summary) 相对应)。破坏性变更可以是任意 _类型_ 提交的一部分。对于 `fix:`、`feat:` 和 `chore:`,乃至更多其它的 _类型_ 而言,它都是有效的。 -4. 其它在 `fix:` 和 `feat:` 之外的提交 _类型_ 也都是支持的,例如 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines) 中推荐使用 `docs:`、`style:`、`refactor:`、`perf:`、`test:`、`chore:`,但这些标签在约定式提交规范中并不是强制性的。 +1. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](http://semver.org/#summary) 相对应)。 +1. **BREAKING CHANGE:** 在可选的正文或脚注的起始位置带有 `BREAKING CHANGE:` 的提交,表示引入了破坏性变更(这和语义化版本中的 [`MAJOR`](http://semver.org/#summary) 相对应)。破坏性变更可以是任意 _类型_ 提交的一部分。对于 `fix:`、`feat:` 和 `chore:`,乃至更多其它的 _类型_ 而言,它都是有效的。 +1. 其它在 `fix:` 和 `feat:` 之外的提交 _类型_ 也都是支持的,例如 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines) 中推荐使用 `docs:`、`style:`、`refactor:`、`perf:`、`test:`、`chore:`,但这些标签在约定式提交规范中并不是强制性的。
可以为提交类型添加一个围在圆括号内的作用域,以为其提供额外的上下文信息。例如 `feat(parser): adds ability to parse arrays.` @@ -76,16 +76,16 @@ fixes issue #12 本文档中的关键词 “必须”、“禁止”、“需要”、“应当”、“不应当”、“应该”、“不应该”、“推荐”、“可以” 和 “可选” 应按照 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 的描述解释。 1. 每个提交都**必须**使用类型字段前缀,这由一个形如 `feat` 或 `fix` 的名词组成,其后接冒号和空格。 -2. 当一个提交为应用或类库实现了新特性时,**必须**使用 `feat` 类型。 -3. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 -4. 可选的作用域字段**可以**在类型后提供。作用域是描述代码库中某个部分的词组,封装在括号中,形如 `fix(parser):` 等。 -5. 描述字段**必须**紧接在类型或作用域前缀之后。描述指的是对代码变更的简短描述,形如 _fix: array parsing issue when multiple spaces were contained in string._ -6. 在简短描述之后,**可以**编写更长的提交正文,为代码变更提供额外的上下文信息。正文**必须**起始于描述字段结束的一个空行后。 -7. 在正文结束的一个空行后,**可以**编写脚注(如果正文缺失,可以编写在描述之后)。脚注**应当**为代码变更包含额外的 issue 引用信息(例如它所修复的 issue,类似 `Fixes #13` 等)。 -8. 破坏性变更**必须**在提交的正文或脚注加以展示。一个破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,紧跟冒号和空格。 -9. 在 `BREAKING CHANGE: ` 之后**必须**提供描述,以描述对 API 的变更。例如 _BREAKING CHANGE: environment variables now take precedence over config files._ -10. 脚注**必须**只包含 `BREAKING CHANGE`、外部链接、issue 引用和其它元数据信息。 -11. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型。 +1. 当一个提交为应用或类库实现了新特性时,**必须**使用 `feat` 类型。 +1. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 +1. 可选的作用域字段**可以**在类型后提供。作用域是描述代码库中某个部分的词组,封装在括号中,形如 `fix(parser):` 等。 +1. 描述字段**必须**紧接在类型或作用域前缀之后。描述指的是对代码变更的简短描述,形如 _fix: array parsing issue when multiple spaces were contained in string._ +1. 在简短描述之后,**可以**编写更长的提交正文,为代码变更提供额外的上下文信息。正文**必须**起始于描述字段结束的一个空行后。 +1. 在正文结束的一个空行后,**可以**编写脚注(如果正文缺失,可以编写在描述之后)。脚注**应当**为代码变更包含额外的 issue 引用信息(例如它所修复的 issue,类似 `Fixes #13` 等)。 +1. 破坏性变更**必须**在提交的正文或脚注加以展示。一个破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,紧跟冒号和空格。 +1. 在 `BREAKING CHANGE: ` 之后**必须**提供描述,以描述对 API 的变更。例如 _BREAKING CHANGE: environment variables now take precedence over config files._ +1. 脚注**必须**只包含 `BREAKING CHANGE`、外部链接、issue 引用和其它元数据信息。 +1. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型。 ## 为什么使用约定式提交 @@ -156,7 +156,3 @@ fixes issue #12 [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _想让你的项目出现在上面吗?_[提交 pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls) 吧。 - -## 许可 - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/it/spec/v1.0.0-beta.md b/content/v1.0.0-beta/index.it.md similarity index 90% rename from lang/it/spec/v1.0.0-beta.md rename to content/v1.0.0-beta/index.it.md index cd3fa18..72e5269 100644 --- a/lang/it/spec/v1.0.0-beta.md +++ b/content/v1.0.0-beta/index.it.md @@ -1,6 +1,5 @@ --- -title: Commit Convenzionali 1.0.0-beta -language: it +draft: false --- # Commit Convenzionali 1.0.0-beta @@ -28,8 +27,8 @@ Il commit contiene i seguenti elementi strutturali, allo scopo di comunicarne l'intento al consumatore della libreria: 1. **fix:** un commit di _tipo_ `fix` risolve un errore nel codice (correlato al [`PATCH`](http://semver.org/#summary) in un versionamento semver). -2. **feat:** un commit di _tipo_ `feat` introduce una nuova funzionalità al codice (correlato al [`MINOR`](http://semver.org/#summary) in un versionamento semver). -3. **BREAKING CHANGE:** un commit che contiente il testo `BREAKING CHANGE:` all'inizio delle sezioni opzionali _corpo_ o _piè di pagina_, introduce una breaking API change (correlato al [`MAJOR`](http://semver.org/#summary) in un versionamento semver). +1. **feat:** un commit di _tipo_ `feat` introduce una nuova funzionalità al codice (correlato al [`MINOR`](http://semver.org/#summary) in un versionamento semver). +1. **BREAKING CHANGE:** un commit che contiente il testo `BREAKING CHANGE:` all'inizio delle sezioni opzionali _corpo_ o _piè di pagina_, introduce una breaking API change (correlato al [`MAJOR`](http://semver.org/#summary) in un versionamento semver). Una _breaking change_ può essere parte di entrambi i _tipi_ `fix:` w `feat:`.
Un _contesto_ potrebbe essere aggiunto al _tipo_ di commit, al fine di offrire ulteriori informazioni contestuali. @@ -58,31 +57,31 @@ di descrivere nei messaggi dei commit qualsiasi feature, fix e breaking change l Introducendo questa convenzione, si crea un linguaggio comune che rende più semplice rimuovere errori tra progetti. -## Specifica Commit Convenzionali +## Specifica Le parole “DEVE”, “NON DEVE”, “RICHIESTO”, “DOVRÀ”, “NON DOVRÀ”, “DOVREBBE”, “NON DOVREBBE”, “RACCOMANDATO”, “POTREBBE” e “OPZIONALE” devo essere interpretata come da specifica [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Un commit DEVE iniziare con un _tipo_, il quale consiste in un sostantivo, `feat`, `fix`, etc., seguito dai due punti ed uno spazio. -2. Il _tipo_ `feat` DEVE essere usato quando un commit aggiunge una funzionalità +1. Il _tipo_ `feat` DEVE essere usato quando un commit aggiunge una funzionalità all'applicazione o libreria. -3. Il _tipo_ `fix` DEVE essere usato quando un commit corregge un errore all'applicazione o libreria. -4. Un _contesto_ opzionale POTREBBE essere fornito dopo il _tipo_. +1. Il _tipo_ `fix` DEVE essere usato quando un commit corregge un errore all'applicazione o libreria. +1. Un _contesto_ opzionale POTREBBE essere fornito dopo il _tipo_. Un _contesto_ rappresenta una sezione dell'applicazione o libreria, il contentuo va racchiusa tra delle parentesi. Es: `fix(parser):` -5. Una _descrizione_ DEVE seguire immediatamente il _tipo_ (con eventuale _contesto_). +1. Una _descrizione_ DEVE seguire immediatamente il _tipo_ (con eventuale _contesto_). Per _descrizione_ si intende una breve spiegazione della pull request. Es: _fix: array parsing issue when multiple spaces were contained in string._ -6. Un _corpo_ del commit più lungo POTREBBE essere aggiunto dopo una breve _descrizione_. +1. Un _corpo_ del commit più lungo POTREBBE essere aggiunto dopo una breve _descrizione_. Il _corpo_ DEVE inizare dopo una linea vuota dalla _descrizione_. -7. Un _piè di pagina_ POTREBBE essere aggiunto inserendo una linea vuota dopo il _corpo_. +1. Un _piè di pagina_ POTREBBE essere aggiunto inserendo una linea vuota dopo il _corpo_. Il _piè di pagina_ DOVREBBE contenere ulteriori informazioni riguardo la pull request (come le issue che risolve, Es: `fixes #13, #5`). -8. Una _breaking changes_ DEVE essere indicata all'inizio delle sezioni _piè di pagina_ o del _corpo_ del commit. +1. Una _breaking changes_ DEVE essere indicata all'inizio delle sezioni _piè di pagina_ o del _corpo_ del commit. Una _breaking change_ DEVE essere scritta in maiuscolo `BREAKING CHANGE`, seguita dai due punti ed uno spazio. -9. Una descrizione DEVE essere aggiunta dopo il testo `BREAKING CHANGE: `, descrivendo il cambiamento delle API. +1. Una descrizione DEVE essere aggiunta dopo il testo `BREAKING CHANGE: `, descrivendo il cambiamento delle API. Es: _BREAKING CHANGE: environment variables now take precedence over config files._ -10. Un commit POTREBBE utilizzare altri _tipi_ al di fuori di `feat` e `fix` nel messagio. +1. Un commit POTREBBE utilizzare altri _tipi_ al di fuori di `feat` e `fix` nel messagio. ## Perchè utilizzare commit convenzionali @@ -158,7 +157,3 @@ La prima bozza di questa specifica è stata scritta in collaborazione con alcuni [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _vuoi aggingere il tuo progetto alla lista?_ [invia una pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licenza - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/spec/v1.0.0-beta.md b/content/v1.0.0-beta/index.md similarity index 90% rename from spec/v1.0.0-beta.md rename to content/v1.0.0-beta/index.md index 8ade63d..906c03b 100644 --- a/spec/v1.0.0-beta.md +++ b/content/v1.0.0-beta/index.md @@ -1,5 +1,5 @@ --- -title: Conventional Commits 1.0.0-beta +draft: false --- # Conventional Commits 1.0.0-beta @@ -27,9 +27,9 @@ The commit contains the following structural elements, to communicate intent to consumers of your library: 1. **fix:** a commit of the _type_ `fix` patches a bug in your codebase (this correlates with [`PATCH`](http://semver.org/#summary) in semantic versioning). -2. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates +1. **feat:** a commit of the _type_ `feat` introduces a new feature to the codebase (this correlates with [`MINOR`](http://semver.org/#summary) in semantic versioning). -3. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). A breaking change can be +1. **BREAKING CHANGE:** a commit that has the text `BREAKING CHANGE:` at the beginning of its optional body or footer section introduces a breaking API change (correlating with [`MAJOR`](http://semver.org/#summary) in semantic versioning). A breaking change can be part of either a `fix:` or `feat:` _type_ commit.
@@ -59,28 +59,28 @@ changes that they make. By introducing this convention, we create a common language that makes it easier to debug issues across project boundaries. -## Conventional Commits Specification +## Specification The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. commits MUST be prefixed with a type, which consists of a noun, `feat`, `fix`, etc., followed by a colon and a space. -2. the type `feat` MUST be used when a commit adds a new feature to your application +1. the type `feat` MUST be used when a commit adds a new feature to your application or library. -3. the type `fix` MUST be used when a commit represents a bug fix for your application. -4. an optional scope MAY be provided after a type. A scope is a phrase describing +1. the type `fix` MUST be used when a commit represents a bug fix for your application. +1. an optional scope MAY be provided after a type. A scope is a phrase describing a section of the codebase enclosed in parenthesis, e.g., `fix(parser):` -5. A description MUST immediately follow the type/scope prefix. +1. A description MUST immediately follow the type/scope prefix. The description is a short description of the pull request, e.g., _fix: array parsing issue when multiple spaces were contained in string._ -6. A longer commit body MAY be provided after the short description. The body MUST +1. A longer commit body MAY be provided after the short description. The body MUST begin one blank line after the description. -7. A footer MAY be provided one blank line after the body. The footer SHOULD contain +1. A footer MAY be provided one blank line after the body. The footer SHOULD contain additional meta-information about the pull-request (such as the issues it fixes, e.g., `fixes #13, #5`). -8. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. -9. A description MUST be provided after the `BREAKING CHANGE: `, describing what +1. Breaking changes MUST be indicated at the very beginning of the footer or body section of a commit. A breaking change MUST consist of the uppercase text `BREAKING CHANGE`, followed by a colon and a space. +1. A description MUST be provided after the `BREAKING CHANGE: `, describing what has changed about the API, e.g., _BREAKING CHANGE: environment variables now take precedence over config files._ -10. types other than `feat` and `fix` MAY be used in your commit messages. +1. types other than `feat` and `fix` MAY be used in your commit messages. ## Why Use Conventional Commits @@ -157,6 +157,3 @@ folks contributing to: _want your project on this list?_ [send a pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). -## License - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/pl/spec/v1.0.0-beta.md b/content/v1.0.0-beta/index.pl.md similarity index 91% rename from lang/pl/spec/v1.0.0-beta.md rename to content/v1.0.0-beta/index.pl.md index e3a0087..65290bf 100644 --- a/lang/pl/spec/v1.0.0-beta.md +++ b/content/v1.0.0-beta/index.pl.md @@ -1,6 +1,5 @@ --- -title: Konwencjonalne Commity 1.0.0-beta -language: pl +draft: false --- # Konwencjonalne Commity 1.0.0-beta @@ -28,8 +27,8 @@ Wiadomość zawiera następujące strukturalne elementy po to, aby zakomunikowa do użytkowników Twojej biblioteki: 1. **fix:** dostarczenie _typu_ `fix` naprawia błąd obecny w Twoim kodzie (powiązane z [`PATCH`](http://semver.org/#summary) w wersjonowaniu semantycznym). -2. **feat:** dostarczenie _typu_ `feat` wprowadza nowe funkcje do Twojej biblioteki (powiązane z [`MINOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). -3. **BREAKING CHANGE:** dostarczenie, które posiada tekst `BREAKING CHANGE:` na początku jego opcjonalnego ciała bądź stopki wprowadza zmianę łamiącą kompatybilność API (powiązane z [`MAJOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). Zmiana łamiąca kompatybilność wsteczną może być elementem zmian _typu_, `fix:` lub `feat:`. +1. **feat:** dostarczenie _typu_ `feat` wprowadza nowe funkcje do Twojej biblioteki (powiązane z [`MINOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). +1. **BREAKING CHANGE:** dostarczenie, które posiada tekst `BREAKING CHANGE:` na początku jego opcjonalnego ciała bądź stopki wprowadza zmianę łamiącą kompatybilność API (powiązane z [`MAJOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). Zmiana łamiąca kompatybilność wsteczną może być elementem zmian _typu_, `fix:` lub `feat:`.
Przy typie dostarczenia może zostać podany zakres w celu dostarczenia dokładniejszej informacji o kontekście dostarczenia. Zawiera się on w nawiasach następujących bezpośrednio po typie, np. `feat(parser): dodano możliwość parsowania list`. @@ -58,24 +57,24 @@ oraz jakie niekompatybilne wstecz zmiany wnoszą. Wprowadzając tę konwencję, tworzymy powszechny język, który pozwala na dużo łatwiejsze wyłapywanie błędów występujących na granicy projektu z jego zależnościami. -## Specyfikacja Konwencjonalnych Commitów +## Specyfikacja Następujące terminy “MUSI” (“MUST”), “NIE MOŻE” (“MUST NOT”), “WYMAGANY” (“REQUIRED”), “MA BYĆ” (“SHALL”), “NIE BĘDZIE” (“SHALL NOT”), “POWINIEN” (“SHOULD”), “NIE POWINIEN” (“SHOULD NOT”), “ZALECANY” (“RECOMMENDED”), “MOŻE” (“MAY”) oraz “OPCJONALNY” (“OPTIONAL”) pojawiające się w tym dokumencie rozumiane są zgodnie z ich opisem na stronie: [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 1. Dostarczenie MUSI być poprzedzone typem, który składa się z rzeczownika, np. `feat`, `fix`, itp., oraz następującymi bezpośrednio po nim dwukropka oraz spacji. -2. Typ `feat` MUSI być użyt, gdy dostarczenie dodaje nową funkcję do Twojej aplikacji bądź bibliteki. -3. Typ `fix` MUSI być użyty, kiedy dostarczenie naprawia błąd w Twojej aplikacji. -4. Opcjonalny zakres MOŻE być podany po typie. Zakres jest to fraza opisująca obszar kodu zawarta w nawiasach okrągłych, np., `fix(parser):` -5. Opis MUSI występować zaraz po przedrostku typu/zakresu. +1. Typ `feat` MUSI być użyt, gdy dostarczenie dodaje nową funkcję do Twojej aplikacji bądź bibliteki. +1. Typ `fix` MUSI być użyty, kiedy dostarczenie naprawia błąd w Twojej aplikacji. +1. Opcjonalny zakres MOŻE być podany po typie. Zakres jest to fraza opisująca obszar kodu zawarta w nawiasach okrągłych, np., `fix(parser):` +1. Opis MUSI występować zaraz po przedrostku typu/zakresu. Opis jest to krótka notka stanowiąca o treści dostarczenia, np., _fix: problem podczas parsowania listy, kiedy string zawierał wiele spacji._ -6. Dłuższe ciało wiadomośći MOŻĘ być podane po krótkim opisie. Ciało MUSI zaczynać się jedną pustą linię po opisie. -7. Stopka MOŻE być podane jedną linię za ciałem wiadomości. Stopka POWINNA zawierać dodatkowe informacje odnośnie zgłoszeń błędów lub propozycji funkcjonalności, które rozwiąznuje, np. `fixes #13, #5`. -8. Zmiany niekompatybilne wstecz MUSZĄ być zaznaczone na samym początku sekcji ciała wiadmości lub stopki. Informacja o niekompatybilności MUSI zawierać tekst `BREAKING CHANGE`, wraz z następującymi po nim dwukropkiem oraz spacją. -9. Po tekście `BREAKING CHANGE: ` MUSI następować opis mówiący o tym, co zostało zmienione w kodzie w sposób, który niszczy kompatybilność wstecz, +1. Dłuższe ciało wiadomośći MOŻĘ być podane po krótkim opisie. Ciało MUSI zaczynać się jedną pustą linię po opisie. +1. Stopka MOŻE być podane jedną linię za ciałem wiadomości. Stopka POWINNA zawierać dodatkowe informacje odnośnie zgłoszeń błędów lub propozycji funkcjonalności, które rozwiąznuje, np. `fixes #13, #5`. +1. Zmiany niekompatybilne wstecz MUSZĄ być zaznaczone na samym początku sekcji ciała wiadmości lub stopki. Informacja o niekompatybilności MUSI zawierać tekst `BREAKING CHANGE`, wraz z następującymi po nim dwukropkiem oraz spacją. +1. Po tekście `BREAKING CHANGE: ` MUSI następować opis mówiący o tym, co zostało zmienione w kodzie w sposób, który niszczy kompatybilność wstecz, np. _BREAKING CHANGE: zmienne środowiskowe mają teraz większy priorytet niż pliki konfiuguracyjne._ -10. Typy inne niż `feat` oraz `fix` MOGĄ być użyte w wiadomościach Twoich dostarczeń. +1. Typy inne niż `feat` oraz `fix` MOGĄ być użyte w wiadomościach Twoich dostarczeń. ## Dlaczego używać Konwencjonalnych Commitów @@ -153,7 +152,3 @@ Pierwsza wersja tej specyfikacji została stworzona we współpracy z kilkoma ko [![Konwencjonalne Commity](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _chcesz, aby Twój projekt znajdował się na tej liście?_ [stwórz pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licencja - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/zh-Hans/spec/v1.0.0-beta.md b/content/v1.0.0-beta/index.zh.md similarity index 80% rename from lang/zh-Hans/spec/v1.0.0-beta.md rename to content/v1.0.0-beta/index.zh.md index 03c0638..c937dd4 100644 --- a/lang/zh-Hans/spec/v1.0.0-beta.md +++ b/content/v1.0.0-beta/index.zh.md @@ -1,6 +1,5 @@ --- -title: 约定式提交 1.0.0-beta -language: zh-Hans +draft: false --- # 约定式提交 1.0.0-beta @@ -25,10 +24,10 @@ language: zh-Hans
提交说明包含了下面的结构化元素,以向类库使用者表明其意图: -1. **fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 [`PATCH`](http://semver.org/#summary) 相对应)。 -2. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](http://semver.org/#summary) 相对应)。 -3. **BREAKING CHANGE:** 在可选的正文或页脚的起始位置带有 `BREAKING CHANGE:` 的提交,表示引入了破坏性变更(这和语义化版本中的 [`MAJOR`](http://semver.org/#summary) 相对应)。破坏性变更可以是 `fix:` 或 `feat:` _类型_ 提交的一部分。 -4. 其它在 `fix:` 和 `feat:` 之外的提交 _类型_ 也都是支持的,例如 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines) 中推荐使用 `docs:`、`style:`、`refactor:`、`perf:`、`test:`、`chore:`,但这些标签在约定式提交规范中并不是强制性的。 +1.**fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 [`PATCH`](http://semver.org/#summary) 相对应)。 +1.**feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](http://semver.org/#summary) 相对应)。 +1.**BREAKING CHANGE:** 在可选的正文或页脚的起始位置带有 `BREAKING CHANGE:` 的提交,表示引入了破坏性变更(这和语义化版本中的 [`MAJOR`](http://semver.org/#summary) 相对应)。破坏性变更可以是 `fix:` 或 `feat:` _类型_ 提交的一部分。 +1.其它在 `fix:` 和 `feat:` 之外的提交 _类型_ 也都是支持的,例如 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines) 中推荐使用 `docs:`、`style:`、`refactor:`、`perf:`、`test:`、`chore:`,但这些标签在约定式提交规范中并不是强制性的。
可以为提交类型添加一个围在圆括号内的作用域,以为其提供额外的上下文信息。例如 `feat(parser): add ability to parse arrays.` @@ -48,15 +47,15 @@ language: zh-Hans 本文档中的关键词 “必须”、“禁止”、“需要”、“应当”、“不应当”、“应该”、“不应该”、“推荐”、“可以” 和 “可选” 应按照 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 的描述解释。 1. 每个提交都**必须**使用类型字段前缀,这由一个形如 `feat` 或 `fix` 的名词组成,其后接冒号和空格。 -2. 当一个提交为应用或类库实现了新特性时,**必须**使用 `feat` 类型。 -3. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 -4. 可选的作用域字段**可以**在类型后提供。作用域是描述代码库中某个部分的词组,封装在括号中,形如 `fix(parser):` 等。 -5. 描述字段**必须**紧接在类型或作用域前缀之后。描述指的是对 pull request 的简短描述,形如 _fix: array parsing issue when multiple spaces were contained in string._ -6. 在简短描述之后,**可以**编写更长的提交正文。正文**必须**起始于描述字段结束的一个空行后。 -7. 在正文结束的一个空行后,**可以**编写页脚。页脚**应当**包含额外的元信息(例如它所修复的 issue,类似 `fixse #13, #5` 等)。 -8. 破坏性变更**必须**在提交的正文或脚注加以展示。一个破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,紧跟冒号和空格。 -9. 在 `BREAKING CHANGE: ` 之后**必须**提供描述,以描述对 API 的变更。例如 _BREAKING CHANGE: environment variables now take precedence over config files._ -10. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型。 +1. 当一个提交为应用或类库实现了新特性时,**必须**使用 `feat` 类型。 +1. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 +1. 可选的作用域字段**可以**在类型后提供。作用域是描述代码库中某个部分的词组,封装在括号中,形如 `fix(parser):` 等。 +1. 描述字段**必须**紧接在类型或作用域前缀之后。描述指的是对 pull request 的简短描述,形如 _fix: array parsing issue when multiple spaces were contained in string._ +1. 在简短描述之后,**可以**编写更长的提交正文。正文**必须**起始于描述字段结束的一个空行后。 +1. 在正文结束的一个空行后,**可以**编写页脚。页脚**应当**包含额外的元信息(例如它所修复的 issue,类似 `fixse #13, #5` 等)。 +1. 破坏性变更**必须**在提交的正文或脚注加以展示。一个破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,紧跟冒号和空格。 +1. 在 `BREAKING CHANGE: ` 之后**必须**提供描述,以描述对 API 的变更。例如 _BREAKING CHANGE: environment variables now take precedence over config files._ +1. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型。 ## 为什么使用约定式提交 @@ -127,7 +126,3 @@ language: zh-Hans [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) _想让你的项目出现在上面吗?_[提交 pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls) 吧。 - -## 许可 - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/css/blueprint/ie.css b/css/blueprint/ie.css deleted file mode 100644 index f336f0e..0000000 --- a/css/blueprint/ie.css +++ /dev/null @@ -1,35 +0,0 @@ -/* ----------------------------------------------------------------------- - - - Blueprint CSS Framework 0.9 - http://blueprintcss.org - - * Copyright (c) 2007-Present. See LICENSE for more info. - * See README for instructions on how to use Blueprint. - * For credits and origins, see AUTHORS. - * This is a compressed file. See the sources in the 'src' directory. - ------------------------------------------------------------------------ */ - -/* ie.css */ -body {text-align:center;} -.container {text-align:left;} -* html .column, * html div.span-1, * html div.span-2, * html div.span-3, * html div.span-4, * html div.span-5, * html div.span-6, * html div.span-7, * html div.span-8, * html div.span-9, * html div.span-10, * html div.span-11, * html div.span-12, * html div.span-13, * html div.span-14, * html div.span-15, * html div.span-16, * html div.span-17, * html div.span-18, * html div.span-19, * html div.span-20, * html div.span-21, * html div.span-22, * html div.span-23, * html div.span-24 {display:inline;overflow-x:hidden;} -* html legend {margin:0px -8px 16px 0;padding:0;} -sup {vertical-align:text-top;} -sub {vertical-align:text-bottom;} -html>body p code {*white-space:normal;} -hr {margin:-8px auto 11px;} -img {-ms-interpolation-mode:bicubic;} -.clearfix, .container {display:inline-block;} -* html .clearfix, * html .container {height:1%;} -fieldset {padding-top:0;} -textarea {overflow:auto;} -input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;} -input.text:focus, input.title:focus {border-color:#666;} -input.text, input.title, textarea, select {margin:0.5em 0;} -input.checkbox, input.radio {position:relative;top:.25em;} -form.inline div, form.inline p {vertical-align:middle;} -form.inline label {position:relative;top:-0.25em;} -form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;} -button, input.button {position:relative;top:0.25em;} \ No newline at end of file diff --git a/css/blueprint/print.css b/css/blueprint/print.css deleted file mode 100644 index fdb8220..0000000 --- a/css/blueprint/print.css +++ /dev/null @@ -1,29 +0,0 @@ -/* ----------------------------------------------------------------------- - - - Blueprint CSS Framework 0.9 - http://blueprintcss.org - - * Copyright (c) 2007-Present. See LICENSE for more info. - * See README for instructions on how to use Blueprint. - * For credits and origins, see AUTHORS. - * This is a compressed file. See the sources in the 'src' directory. - ------------------------------------------------------------------------ */ - -/* print.css */ -body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;} -.container {background:none;} -hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;} -hr.space {background:#fff;color:#fff;visibility:hidden;} -h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;} -code {font:.9em "Courier New", Monaco, Courier, monospace;} -a img {border:none;} -p img.top {margin-top:0;} -blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;} -.small {font-size:.9em;} -.large {font-size:1.1em;} -.quiet {color:#999;} -.hide {display:none;} -a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;} -a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;} \ No newline at end of file diff --git a/css/blueprint/screen.css b/css/blueprint/screen.css deleted file mode 100644 index 2c2b328..0000000 --- a/css/blueprint/screen.css +++ /dev/null @@ -1,257 +0,0 @@ -/* ----------------------------------------------------------------------- - - - Blueprint CSS Framework 0.9 - http://blueprintcss.org - - * Copyright (c) 2007-Present. See LICENSE for more info. - * See README for instructions on how to use Blueprint. - * For credits and origins, see AUTHORS. - * This is a compressed file. See the sources in the 'src' directory. - ------------------------------------------------------------------------ */ - -/* reset.css */ -html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;} -body {line-height:1.5;} -table {border-collapse:separate;border-spacing:0;} -caption, th, td {text-align:left;font-weight:normal;} -table, td, th {vertical-align:middle;} -blockquote:before, blockquote:after, q:before, q:after {content:"";} -blockquote, q {quotes:"" "";} -a img {border:none;} - -/* typography.css */ -html {font-size:100.01%;} -body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;} -h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;} -h1 {font-size:3em;line-height:1;margin-bottom:0.5em;} -h2 {font-size:2em;margin-bottom:0.75em;} -h3 {font-size:1.5em;line-height:1;margin-bottom:1em;} -h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;} -h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;} -h6 {font-size:1em;font-weight:bold;} -h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;} -p {margin:0 0 1.5em;} -p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;} -p img.right {float:right;margin:1.5em 0 1.5em 1.5em;} -a:focus, a:hover {color:#000;} -a {color:#009;text-decoration:underline;} -blockquote {margin:1.5em;color:#666;font-style:italic;} -strong {font-weight:bold;} -em, dfn {font-style:italic;} -dfn {font-weight:bold;} -sup, sub {line-height:0;} -abbr, acronym {border-bottom:1px dotted #666;} -address {margin:0 0 1.5em;font-style:italic;} -del {color:#666;} -pre {margin:1.5em 0;white-space:pre;} -pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;} -li ul, li ol {margin:0;} -ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;} -ul {list-style-type:disc;} -ol {list-style-type:decimal;} -dl {margin:0 0 1.5em 0;} -dl dt {font-weight:bold;} -dd {margin-left:1.5em;} -table {margin-bottom:1.4em;width:100%;} -th {font-weight:bold;} -thead th {background:#c3d9ff;} -th, td, caption {padding:4px 10px 4px 5px;} -tr.even td {background:#e5ecf9;} -tfoot {font-style:italic;} -caption {background:#eee;} -.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;} -.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;} -.hide {display:none;} -.quiet {color:#666;} -.loud {color:#000;} -.highlight {background:#ff0;} -.added {background:#060;color:#fff;} -.removed {background:#900;color:#fff;} -.first {margin-left:0;padding-left:0;} -.last {margin-right:0;padding-right:0;} -.top {margin-top:0;padding-top:0;} -.bottom {margin-bottom:0;padding-bottom:0;} - -/* forms.css */ -label {font-weight:bold;} -fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;} -legend {font-weight:bold;font-size:1.2em;} -input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;} -input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;} -input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;} -input.text, input.title {width:300px;padding:5px;} -input.title {font-size:1.5em;} -textarea {width:390px;height:250px;padding:5px;} -input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;} -form.inline {line-height:3;} -form.inline p {margin-bottom:0;} -.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;} -.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;} -.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;} -.success {background:#E6EFC2;color:#264409;border-color:#C6D880;} -.error a {color:#8a1f11;} -.notice a {color:#514721;} -.success a {color:#264409;} - -/* grid.css */ -.container {width:950px;margin:0 auto;} -.showgrid {background:url(src/grid.png);} -.column, div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-7, div.span-8, div.span-9, div.span-10, div.span-11, div.span-12, div.span-13, div.span-14, div.span-15, div.span-16, div.span-17, div.span-18, div.span-19, div.span-20, div.span-21, div.span-22, div.span-23, div.span-24 {float:left;margin-right:10px;} -.last, div.last {margin-right:0;} -.span-1 {width:30px;} -.span-2 {width:70px;} -.span-3 {width:110px;} -.span-4 {width:150px;} -.span-5 {width:190px;} -.span-6 {width:230px;} -.span-7 {width:270px;} -.span-8 {width:310px;} -.span-9 {width:350px;} -.span-10 {width:390px;} -.span-11 {width:430px;} -.span-12 {width:470px;} -.span-13 {width:510px;} -.span-14 {width:550px;} -.span-15 {width:590px;} -.span-16 {width:630px;} -.span-17 {width:670px;} -.span-18 {width:710px;} -.span-19 {width:750px;} -.span-20 {width:790px;} -.span-21 {width:830px;} -.span-22 {width:870px;} -.span-23 {width:910px;} -.span-24, div.span-24 {width:950px;margin-right:0;} -input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px!important;border-right-width:1px!important;padding-left:5px!important;padding-right:5px!important;} -input.span-1, textarea.span-1 {width:18px!important;} -input.span-2, textarea.span-2 {width:58px!important;} -input.span-3, textarea.span-3 {width:98px!important;} -input.span-4, textarea.span-4 {width:138px!important;} -input.span-5, textarea.span-5 {width:178px!important;} -input.span-6, textarea.span-6 {width:218px!important;} -input.span-7, textarea.span-7 {width:258px!important;} -input.span-8, textarea.span-8 {width:298px!important;} -input.span-9, textarea.span-9 {width:338px!important;} -input.span-10, textarea.span-10 {width:378px!important;} -input.span-11, textarea.span-11 {width:418px!important;} -input.span-12, textarea.span-12 {width:458px!important;} -input.span-13, textarea.span-13 {width:498px!important;} -input.span-14, textarea.span-14 {width:538px!important;} -input.span-15, textarea.span-15 {width:578px!important;} -input.span-16, textarea.span-16 {width:618px!important;} -input.span-17, textarea.span-17 {width:658px!important;} -input.span-18, textarea.span-18 {width:698px!important;} -input.span-19, textarea.span-19 {width:738px!important;} -input.span-20, textarea.span-20 {width:778px!important;} -input.span-21, textarea.span-21 {width:818px!important;} -input.span-22, textarea.span-22 {width:858px!important;} -input.span-23, textarea.span-23 {width:898px!important;} -input.span-24, textarea.span-24 {width:938px!important;} -.append-1 {padding-right:40px;} -.append-2 {padding-right:80px;} -.append-3 {padding-right:120px;} -.append-4 {padding-right:160px;} -.append-5 {padding-right:200px;} -.append-6 {padding-right:240px;} -.append-7 {padding-right:280px;} -.append-8 {padding-right:320px;} -.append-9 {padding-right:360px;} -.append-10 {padding-right:400px;} -.append-11 {padding-right:440px;} -.append-12 {padding-right:480px;} -.append-13 {padding-right:520px;} -.append-14 {padding-right:560px;} -.append-15 {padding-right:600px;} -.append-16 {padding-right:640px;} -.append-17 {padding-right:680px;} -.append-18 {padding-right:720px;} -.append-19 {padding-right:760px;} -.append-20 {padding-right:800px;} -.append-21 {padding-right:840px;} -.append-22 {padding-right:880px;} -.append-23 {padding-right:920px;} -.prepend-1 {padding-left:40px;} -.prepend-2 {padding-left:80px;} -.prepend-3 {padding-left:120px;} -.prepend-4 {padding-left:160px;} -.prepend-5 {padding-left:200px;} -.prepend-6 {padding-left:240px;} -.prepend-7 {padding-left:280px;} -.prepend-8 {padding-left:320px;} -.prepend-9 {padding-left:360px;} -.prepend-10 {padding-left:400px;} -.prepend-11 {padding-left:440px;} -.prepend-12 {padding-left:480px;} -.prepend-13 {padding-left:520px;} -.prepend-14 {padding-left:560px;} -.prepend-15 {padding-left:600px;} -.prepend-16 {padding-left:640px;} -.prepend-17 {padding-left:680px;} -.prepend-18 {padding-left:720px;} -.prepend-19 {padding-left:760px;} -.prepend-20 {padding-left:800px;} -.prepend-21 {padding-left:840px;} -.prepend-22 {padding-left:880px;} -.prepend-23 {padding-left:920px;} -div.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;} -div.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;} -.pull-1 {margin-left:-40px;} -.pull-2 {margin-left:-80px;} -.pull-3 {margin-left:-120px;} -.pull-4 {margin-left:-160px;} -.pull-5 {margin-left:-200px;} -.pull-6 {margin-left:-240px;} -.pull-7 {margin-left:-280px;} -.pull-8 {margin-left:-320px;} -.pull-9 {margin-left:-360px;} -.pull-10 {margin-left:-400px;} -.pull-11 {margin-left:-440px;} -.pull-12 {margin-left:-480px;} -.pull-13 {margin-left:-520px;} -.pull-14 {margin-left:-560px;} -.pull-15 {margin-left:-600px;} -.pull-16 {margin-left:-640px;} -.pull-17 {margin-left:-680px;} -.pull-18 {margin-left:-720px;} -.pull-19 {margin-left:-760px;} -.pull-20 {margin-left:-800px;} -.pull-21 {margin-left:-840px;} -.pull-22 {margin-left:-880px;} -.pull-23 {margin-left:-920px;} -.pull-24 {margin-left:-960px;} -.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;} -.push-1 {margin:0 -40px 1.5em 40px;} -.push-2 {margin:0 -80px 1.5em 80px;} -.push-3 {margin:0 -120px 1.5em 120px;} -.push-4 {margin:0 -160px 1.5em 160px;} -.push-5 {margin:0 -200px 1.5em 200px;} -.push-6 {margin:0 -240px 1.5em 240px;} -.push-7 {margin:0 -280px 1.5em 280px;} -.push-8 {margin:0 -320px 1.5em 320px;} -.push-9 {margin:0 -360px 1.5em 360px;} -.push-10 {margin:0 -400px 1.5em 400px;} -.push-11 {margin:0 -440px 1.5em 440px;} -.push-12 {margin:0 -480px 1.5em 480px;} -.push-13 {margin:0 -520px 1.5em 520px;} -.push-14 {margin:0 -560px 1.5em 560px;} -.push-15 {margin:0 -600px 1.5em 600px;} -.push-16 {margin:0 -640px 1.5em 640px;} -.push-17 {margin:0 -680px 1.5em 680px;} -.push-18 {margin:0 -720px 1.5em 720px;} -.push-19 {margin:0 -760px 1.5em 760px;} -.push-20 {margin:0 -800px 1.5em 800px;} -.push-21 {margin:0 -840px 1.5em 840px;} -.push-22 {margin:0 -880px 1.5em 880px;} -.push-23 {margin:0 -920px 1.5em 920px;} -.push-24 {margin:0 -960px 1.5em 960px;} -.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;} -.prepend-top {margin-top:1.5em;} -.append-bottom {margin-bottom:1.5em;} -.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;} -hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;} -hr.space {background:#fff;color:#fff;visibility:hidden;} -.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;} -.clearfix, .container {display:block;} -.clear {clear:both;} \ No newline at end of file diff --git a/css/lang/ar.css b/css/lang/ar.css deleted file mode 100644 index 462f1a6..0000000 --- a/css/lang/ar.css +++ /dev/null @@ -1,30 +0,0 @@ -@import url(http://fonts.googleapis.com/earlyaccess/droidarabickufi.css); -@import url(http://fonts.googleapis.com/earlyaccess/droidarabicnaskh.css); -@import url(http://fonts.googleapis.com/earlyaccess/thabit.css); - - -html { - font-family: 'Droid Arabic Naskh', tahoma, Helvetica, Arial, sans-serif; - line-height: 1.8em; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Droid Arabic Kufi', Arial, sans-serif; -} - -h3 { - text-align: right; - font-weight: bold; -} - -code { - direction: ltr !important; - background-color: #ecf0f1; - padding: 5px; - font-family: 'Thabit', 'Courier New', serif; - font-size: 18px; -} - -p { - text-align: justify; -} diff --git a/css/lang/zh-CN.css b/css/lang/zh-CN.css deleted file mode 100644 index f1ee22c..0000000 --- a/css/lang/zh-CN.css +++ /dev/null @@ -1,3 +0,0 @@ -html { font-size: 16px; } - -h1, h2, h3 { font-family: "Microsoft YaHei", "Heiti TC", "Heiti SC"; } diff --git a/css/lang/zh-TW.css b/css/lang/zh-TW.css deleted file mode 100644 index 24cc633..0000000 --- a/css/lang/zh-TW.css +++ /dev/null @@ -1,3 +0,0 @@ -html { font-size: 16px; } - -h1, h2, h3 { font-family: "Microsoft JhengHei", "Microsoft YaHei", "Heiti TC", "Heiti SC"; } diff --git a/css/main.css b/css/main.css deleted file mode 100644 index bd472a4..0000000 --- a/css/main.css +++ /dev/null @@ -1,95 +0,0 @@ -/* -CSS for semver.org -@author Mathias Bynens -@link http://mathiasbynens.be/ -*/ - -h1, h2, ol { margin: 0; padding: 0; } - -html { font: 14.4px/1.5 Helvetica, Arial, sans-serif; } -body { margin: 0 auto; padding: 0 10%; max-width: 710px; } - -@-ms-viewport { width: device-width; } -html { -webkit-text-size-adjust: 100%; } - -h1, h2, h3 { text-align: center; font-weight: normal; } - h1 { font-size: 43px; margin: 1.1em 0 .7em; } - h2 { margin: 2.1em 0 .7em; font-size: 24px; } - h3 { text-align: left; font-size: 15.8px; margin-bottom: .6em; } - -a { color: #009; } -a:hover, a:focus { color: #000; } -ol { padding-left: 1.5em; } -p { margin: 0 0 1em; } - -@media print { - body { width: 100%; } - h1, h2, h3 { font-weight: bold; } - a:after { content: ' <' attr(href) '>'; font-size: 90%; } -} - -/* Nav */ - -ol.nav { - background-color: #333; - list-style-type: none; - margin: 0; - padding: 10px; - overflow: hidden; -} - -ol.nav li { - display: inline; - font-weight: bold; - margin-right: 20px; - white-space: nowrap; -} - -ol.nav li a { - color: white; -} - -ol.lang { - background-color: white; -} - -ol.lang li a { - color: black; -} - -/* Anchor Link styling */ - -#spec a.anchor-link { - opacity: 0; - /* Got this background image from an AnchorJs example http://bryanbraun.github.io/anchorjs/ */ - background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMTBweCIgdmlld0JveD0iMCAwIDIwIDEwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxpbmsiIGZpbGw9IiNGRjUyMzEiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUsMCBMMTIuMzA0Njg3NSwwIEMxMy4yNDIxODc1LDAuNjI1IDE0LjEyMTA5MzgsMS43MzgyODEyNSAxNC4zOTQ1MzEyLDIuNSBMMTQuOTgwNDY4OCwyLjUgQzE2LjI1LDIuNSAxNy40ODA0Njg4LDMuNzUgMTcuNDgwNDY4OCw1IEMxNy40ODA0Njg4LDYuMjUgMTYuMjEwOTM3NSw3LjUgMTQuOTgwNDY4OCw3LjUgTDExLjIzMDQ2ODgsNy41IEMxMCw3LjUgOC43MzA0Njg3NSw2LjI1IDguNzMwNDY4NzUsNSBDOC43MzA0Njg3NSw0LjU1MDc4MTI1IDguODY3MTg3NSw0LjEyMTA5Mzc1IDkuMDgyMDMxMjUsMy43NSBMNi40MDYyNSwzLjc1IEM2LjMwODU5Mzc1LDQuMTYwMTU2MjUgNi4yNSw0LjU3MDMxMjUgNi4yNSw1IEM2LjI1LDcuNSA4LjczMDQ2ODc1LDEwIDExLjIzMDQ2ODgsMTAgTDE1LDEwIEMxNy41LDEwIDIwLDcuNSAyMCw1IEMyMCwyLjUgMTcuNSwwIDE1LDAgTDE1LDAgWiBNNS42MDU0Njg3NSw3LjUgTDUuMDE5NTMxMjUsNy41IEMzLjc1LDcuNSAyLjUxOTUzMTI1LDYuMjUgMi41MTk1MzEyNSw1IEMyLjUxOTUzMTI1LDMuNzUgMy43ODkwNjI1LDIuNSA1LjAxOTUzMTI1LDIuNSBMOC43Njk1MzEyNSwyLjUgQzEwLDIuNSAxMS4yNjk1MzEyLDMuNzUgMTEuMjY5NTMxMiw1IEMxMS4yNjk1MzEyLDUuNDQ5MjE4NzUgMTEuMTMyODEyNSw1Ljg3ODkwNjI1IDEwLjkxNzk2ODgsNi4yNSBMMTMuNTkzNzUsNi4yNSBDMTMuNjkxNDA2Miw1LjgzOTg0Mzc1IDEzLjc1LDUuNDI5Njg3NSAxMy43NSw1IEMxMy43NSwyLjUgMTEuMjY5NTMxMiwwIDguNzY5NTMxMjUsMCBMNSwwIEMyLjUsMCAwLDIuNSAwLDUgQzAsNy41IDIuNSwxMCA1LDEwIEw3LjY5NTMxMjUsMTAgQzYuNzU3ODEyNSw5LjM3NSA1Ljg3ODkwNjI1LDguMjYxNzE4NzUgNS42MDU0Njg3NSw3LjUgTDUuNjA1NDY4NzUsNy41IFoiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+") no-repeat; - position: absolute; - margin-top: 0.5em; - margin-left: -1em; - padding-right: 0.5em; - height: 16px; - width: 20px; - text-decoration: none; -} - -#spec h1 a.anchor-link { - margin-left: -0.6em; -} - -#spec h3 a.anchor-link { - margin-left: -1.5em; - margin-top: 0.4em; -} - -#spec li a.anchor-link { - margin-top: 0.4em; - margin-left: -3em; -} - -#spec [id] { - position: relative; -} - -#spec [id]:hover > .anchor-link, .anchor-link:focus { - opacity: 1; -} diff --git a/css/screen.css b/css/screen.css deleted file mode 100644 index ee0c7a4..0000000 --- a/css/screen.css +++ /dev/null @@ -1,60 +0,0 @@ -html { - font-size: 120%; - line-height: 1.75em; -} - -.container { - margin-top: 2em; - margin-bottom: 2em; - width: 710px; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 1em; - margin-bottom: .75em; - line-height: 1.5em; -} - -h1 { - font-size: 300%; - text-align: center; -} - -h2 { - margin-top: 2em; - font-size: 170%; - text-align: center; -} - -h3 { - font-size: 110%; -} - -p { - margin: 0 0 1em; -} - -pre { - margin: 1em 0; - border: 1px solid #ddd; - padding: .25em .25em; - background-color: #eef; -} - -code { - border: 1px solid #ddd; - padding: 0 .2em; - background-color: #eef; -} - -pre code { - border: none; -} - -ol { - padding-left: 1.5em; -} - -td { - padding: .25em 1em .25em 0; -} \ No newline at end of file diff --git a/css/syntax.css b/css/syntax.css deleted file mode 100644 index 2774b76..0000000 --- a/css/syntax.css +++ /dev/null @@ -1,60 +0,0 @@ -.highlight { background: #ffffff; } -.highlight .c { color: #999988; font-style: italic } /* Comment */ -.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ -.highlight .k { font-weight: bold } /* Keyword */ -.highlight .o { font-weight: bold } /* Operator */ -.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ -.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ -.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #aa0000 } /* Generic.Error */ -.highlight .gh { color: #999999 } /* Generic.Heading */ -.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ -.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #555555 } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ -.highlight .gt { color: #aa0000 } /* Generic.Traceback */ -.highlight .kc { font-weight: bold } /* Keyword.Constant */ -.highlight .kd { font-weight: bold } /* Keyword.Declaration */ -.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ -.highlight .m { color: #009999 } /* Literal.Number */ -.highlight .s { color: #d14 } /* Literal.String */ -.highlight .na { color: #008080 } /* Name.Attribute */ -.highlight .nb { color: #0086B3 } /* Name.Builtin */ -.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ -.highlight .no { color: #008080 } /* Name.Constant */ -.highlight .ni { color: #800080 } /* Name.Entity */ -.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ -.highlight .nn { color: #555555 } /* Name.Namespace */ -.highlight .nt { color: #000080 } /* Name.Tag */ -.highlight .nv { color: #008080 } /* Name.Variable */ -.highlight .ow { font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #009999 } /* Literal.Number.Float */ -.highlight .mh { color: #009999 } /* Literal.Number.Hex */ -.highlight .mi { color: #009999 } /* Literal.Number.Integer */ -.highlight .mo { color: #009999 } /* Literal.Number.Oct */ -.highlight .sb { color: #d14 } /* Literal.String.Backtick */ -.highlight .sc { color: #d14 } /* Literal.String.Char */ -.highlight .sd { color: #d14 } /* Literal.String.Doc */ -.highlight .s2 { color: #d14 } /* Literal.String.Double */ -.highlight .se { color: #d14 } /* Literal.String.Escape */ -.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ -.highlight .si { color: #d14 } /* Literal.String.Interpol */ -.highlight .sx { color: #d14 } /* Literal.String.Other */ -.highlight .sr { color: #009926 } /* Literal.String.Regex */ -.highlight .s1 { color: #d14 } /* Literal.String.Single */ -.highlight .ss { color: #990073 } /* Literal.String.Symbol */ -.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #008080 } /* Name.Variable.Class */ -.highlight .vg { color: #008080 } /* Name.Variable.Global */ -.highlight .vi { color: #008080 } /* Name.Variable.Instance */ -.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml index 7d383b8..cb01373 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,13 +1,12 @@ -version: "3" +version: '3' + services: - site: - command: jekyll serve - image: jekyll/jekyll:latest - volumes: - - ./:/srv/jekyll - - ./vendor/bundle:/usr/local/bundle + app: + build: + dockerfile: Dockerfile.dev + context: . ports: - - 4000:4000 - - 35729:35729 - - 3000:3000 - - 80:4000 \ No newline at end of file + - "1313:1313" + working_dir: /src/ + volumes: + - ./:/src/ \ No newline at end of file diff --git a/js/anchorli.js b/js/anchorli.js deleted file mode 100644 index 1ea9f4f..0000000 --- a/js/anchorli.js +++ /dev/null @@ -1,29 +0,0 @@ -document.onreadystatechange = function () { - if (this.readyState === "complete") { - - var createAnchorLink = function (id) { - var anchor = document.createElement("a"); - anchor.className = "anchor-link"; - anchor.href = "#" + id; - return anchor; - }; - - // Add IDs to all spec li elements - var specItems = document.querySelectorAll("#spec ol")[1] - .querySelectorAll('li'); - for (var i = 0; i < specItems.length; i++) - { - var li = specItems[i]; - li.id = 'spec-item-' + (i + 1); - } - - // Add anchor link to all elements with an ID in the spec - var headers = document.querySelectorAll('#spec [id]'); - for (var i = 0; i < headers.length; i++) - { - var element = headers[i]; - var anchorLink = createAnchorLink(element.id); - element.insertBefore(anchorLink, element.firstChild) - } - } -}; diff --git a/lang/es/spec/v1.0.0-beta.2.md b/lang/es/spec/v1.0.0-beta.2.md deleted file mode 100644 index fec6d63..0000000 --- a/lang/es/spec/v1.0.0-beta.2.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -title: Commits Convencionales 1.0.0-beta.2 -language: es ---- - -# Commits Convencionales 1.0.0-beta.2 - -## Resumen - -Al mantener proyectos de código abierto, cuando se incorporan ramas con nuevas -características en `master` al escribir un mensaje de commit estandarizado, el -mensaje del commit debe estar estructurado de la siguiente forma: - ---- - -``` -[ámbito opcional]: - -[cuerpo opcional] - -[nota de pie opcional] -``` - ---- - -
-El commit contiene los siguientes elementos estructurales para comunicar la -intención al consumidor de la librería: - -1. **fix:** un commit de _tipo_ `fix` corrige un error en la base del código - (se correlaciona con [`PATCH`](http://semver.org/#summary) en el versionado - semántico). -2. **feat:** un commit de _tipo_ `feat` introduce nuevas características en la - base del código (se correlaciona con [`MINOR`](http://semver.org/#summary) - en el versionado semántico). -3. **BREAKING CHANGE:** un commit que contiene el texto `BREAKING CHANGE:` al - inicio de su cuerpo opcional o la sección de nota de pie introduce un cambio - en el uso de la API (se correlaciona con [`MAJOR`](http://semver.org/#summary) - en el versionado semántico). Un cambio en el uso de la API puede ser parte - de commits de _tipo_. e.g., a `fix:`, `feat:` & `chore:` todos tipos - válidos, adicional a cualquier otro _tipo_. -4. Otros: _tipos_ de commits distintos a `fix:` y `feat:` están permitidos, por - ejemplo [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) - (basado en [the Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) - recomienda `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:` y - otros. También recomendamos `improvement` para commits que mejorar una - implementación actual sin añadir nuevas características ni corregir errores. - Tenga presente que estos tipos no son impuestos por la especificación de - commits convencionales y no tienen efecto implícito en el versionado - semántico (a menos que incluyan el texto BREAKING CHANGE, lo cual NO es - recomendado). -
- Se puede agregar un ámbito al _tipo_ de commit para proveer información - contextual adicional y se escribe entre paréntesis, e.g., `feat(parser): add ability to parse arrays`. - -## Ejemplos - -### Mensaje de commit con descripción y cambio en el uso de la API en el cuerpo - -``` -feat: allow provided config object to extend other configs - -BREAKING CHANGE: `extends` key in config file is now used for extending other config files -``` - -### Mensaje de commit sin cuerpo - -``` -docs: correct spelling of CHANGELOG -``` - -### Mensaje de commit con ámbito - -``` -feat(lang): added polish language -``` - -### Mensaje de commit para una corrección usando un número de problema (opcional) - -``` -fix: minor typos in code - -see the issue for details on the typos fixed - -fixes issue #12 -``` - -## Introducción - -En el desarrollo de software, ha sido mi experiencia que los errores en el -código son introducidos con más frecuencia en las fronteras de la aplicación. -Los tests unitarios funcionan muy bien para probar las interacciones que el -mantenedor conoce, pero hacen un mal trabajo capturando la manera interesante, -a veces inesperada, en que una comunidad usa una librería. - -Cualquiera que haya actualizado una versión corregida de una dependencia para -luego darse cuenta de que la aplicación empieza a arrojar un flujo de 500 -errores, sabe lo importante que es un historial de commits legible (e -[idealmente un bien mantenido CHANGELOG](http://keepachangelog.com/en/0.3.0/)) -para el consiguiente proceso forense. - -La especificación de Commits Convencionales propone introducir una convención -estandarizada y ligera sobre los mensajes de los commits. Esta convención encaja -con [SemVer](http://semver.org), pidiéndole a los desarrolladores de software -describir en los mensajes de los commits, las características, correcciones y -cambios que rompen el uso de la API que hagan. - -Al introducir esta convención, creamos un lenguaje común que permite depurar más -fácilmente los problemas a través de las fronteras de un proyecto. - -## Especificación de Commits Convencionales - -Las palabras “DEBE” (“MUST”), “NO DEBE” (“MUST NOT”), “REQUIERE” (“REQUIRED”), -“DEBERÁ” (“SHALL”), “NO DEBERÁ” (“SHALL NOT”), “DEBERÍA” (“SHOULD”), -“NO DEBERÍA” (“SHOULD NOT”), “RECOMIENDA” (“RECOMMENDED”), “PUEDE” (“MAY”) Y -“OPCIONAL” (“OPTIONAL”) en este documento se deben interpretar como se describe -en [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). - -1. Los commits DEBEN iniciar con un tipo que consiste en un sustantivo `feat`, `fix`, etc., - seguido de dos puntos y un espacio. -2. El tipo `feat` DEBE ser usado cuando un commit agrega una nueva - característica a la aplicación o librería. -3. El tipo `fix` DEBE ser usado cuando el commit representa una corrección a un - error en el código de la aplicación. -4. Se PUEDE añadir un ámbito opcional después del tipo. El ámbito es una frase - que describe una sección de la base del código encerrada en paréntesis, - e.g., `fix(parser):` -5. Una descripción DEBE ir inmediatamente después del tipo/ámbito inicial y es - una descripción corta de los cambios realizados en el código, e.g., - _fix: array parsing issue when multiple spaces were contained in string._ -6. Un cuerpo del commit más extenso PUEDE agregarse después de la descripción, - dando información contextual adicional acerca de los cambios en el código. - El cuerpo DEBE iniciar con una línea en blanco después de la descripción. -7. Una nota de pie PUEDE agregarse tras una línea en blanco después del - cuerpo o después de la descripción en caso de que no se haya dado un cuerpo. - La nota de pie DEBE contener referencias adicionales a los números de - problemas registrados sobre el cambio del código (como el número de problema - que corrige, e.g.,`Fixes #13`). -8. Los cambios que rompen la API DEBEN ser indicados al inicio de la nota de - pie o el cuerpo del commit. Un cambio que rompe la API DEBE contener el - texto en mayúsculas `BREAKING CHANGE`, seguido de dos puntos y espacio. -9. Una descripción se DEBE proveer después de `BREAKING CHANGE:`, describiendo - qué ha cambiado en la API, e.g., _BREAKING CHANGE: environment variables now take precedence over config files._ -10. La nota de pie DEBE contener solamente el texto `BREAKING CHANGE`, vínculos - externos, referencias a problemas u otra metainformación. -11. Otros tipos distintos a `feat` y `fix` PUEDEN ser usados en los mensajes de - los commits. - -## ¿Por qué usar Commits Convencionales? - -* Generación automática de CHANGELOGs. -* Determinación automática de los cambios de versión (basado en los tipos de - commits). -* Comunicar la naturaleza de los cambios a los demás integrantes del equipo, el - público o cualquier otro interesado. -* Ejecutar procesos de ejecución y publicación. -* Hacer más fácil a otras personas contribuir al proyecto, permitiendo explorar - una historia de los commits más estructurada. - -## FAQ - -### ¿Cómo puedo trabajar con los mensajes de los commits en la etapa inicial de desarrollo? - -Recomendamos trabajar como si ya hubiera lanzado su producto. Típicamente -_alguien_, incluso si son sus compañeros desarrolladores, están usando su -producto. Ellos querrán saber que se ha arreglado, que se ha dañado, etc. - -### ¿Qué debo hacer si un commit encaja en más de un tipo de commit? - -Regrese y haga múltiples commits de ser posible. Parte de los beneficios de los -Commits Convencionales es la habilidad para hacer commits más organizados y así -mismo PRs. - -### ¿No desalienta esto el desarrollo y la iteración rápida? - -Desalienta moverse rápido de una forma desorganizada. Ayuda a moverse rápido a -largo plazo a través de proyectos con una gran variedad de contribuidores. - -### ¿Pueden los Commits Convencionales llevar a los desarrolladores a limitar el tipo de commits que hacen ya que estarán pensando en los tipos previstos? - -Los Commits Convencionales nos animan a hacer más de cierto tipo de commits como -_fixes_. Adicionalmente, la flexibilidad de los Commits Convencionales permite -a su equipo generar sus propios tipos y cambiarlos a lo largo del tiempo. - -### ¿Cómo se relaciona esto con SemVer? - -El tipo de commit `fix` se traduce a un cambio de versión `PATCH`. El tipo de -commit `feat` se traduce a un cambio de versión `MINOR`. Commits con el texto -`BREAKING CHANGE`, sin importar su tipo, se traducen a un cambio de versión -`MAJOR`. - -### ¿Cómo puedo versionar mis extensiones a la especificación de Commits Convencionales, e.g. `@jameswomack/conventional-commit-spec`? - -Recomendamos usar SemVer para liberar su propia extensión a esta especificación -(¡y lo animamos a hacer esta extensión!) - -### ¿Qué debo hacer si por accidente uso un tipo de commit equivocado? - -#### Cuando utiliza un tipo que es de la especificación pero no es el correcto, e.g. `fix` en lugar de `feat` - -Antes de combinar o liberar el error, recomendamos usar `git rebase -i` para -editar la historia de los commits. Después de que se ha liberado, la limpieza -será distinta de acuerdo con las herramientas y procesos que usted use. - -#### Cuanto se usa un tipo que no está en la especificación, e.g. `feet` instead of `feat` - -En el peor de los escenarios, no es el fin del mundo si aparece un commit que no -cumple con las especificaciones de los commits convencionales. Simplemente, el -commit será ignorado por las herramientas que se basen en esta especificación. - -### ¿Deben todos los que contribuyen a mi proyecto usar esta especificación? - -¡No! Si usa un flujo de trabajo basado en `squash` los líderes del proyecto -pueden limpiar el mensaje en el momento en que se incorpora, sin agregar cargas -adicionales a quienes contribuyen casualmente. Un flujo de trabajo común para -esto es configurar su sistema de git para que haga el `squash` de manera -automática de un pull request y presente al líder del proyecto un formulario -para que ingrese el mensaje de commit correcto al momento de hacer el merge. - -## Acerca de - -La especificación de Commits Convencionales está inspirada, y fuertemente -basada, en [Angular Commit Guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit). - -El primer borrador de esta especificación ha sido escrito en colaboración con -algunos de los colaboradores de: - -* [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog): - una serie de herramientas para analizar los mensajes de los commits de los - historiales de git. -* [unleash](https://github.com/netflix/unleash): una herramienta para - automatizar la liberación de software y ciclo de vida de publicación. -* [lerna](https://github.com/lerna/lerna): una herramienta para manejar - mono-repositorios, que creció a partir del proyecto Babel. - -## Proyectos usando Commits Convencionales - -* [yargs](https://github.com/yargs/yargs): el analizador de argumentos de la línea de comandos preferido por todos. -* [istanbuljs](https://github.com/istanbuljs/istanbuljs): una colección de herramientas y librerías de código abierto para agregar cobertura de código a sus tests. -* [standard-version](https://github.com/conventional-changelog/standard-version): versionado automático y manejos de CHANGELOG, usando el botón de squash de GitHub y siguiendo el flujo de trabajo de los Commits Convencionales. -* [uPortal-home](https://github.com/UW-Madison-DoIT/angularjs-portal) y [uPortal-application-framework](https://github.com/UW-Madison-DoIT/uw-frame): mejoramiento opcional para la interfaz de usuario [Apereo uPortal](https://www.apereo.org/projects/uportal). - -[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) - -_¿Quiere ver su proyecto en esta lista?_ [haga un pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licencia - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/it/spec/v1.0.0-beta.2.md b/lang/it/spec/v1.0.0-beta.2.md deleted file mode 100644 index 68dc947..0000000 --- a/lang/it/spec/v1.0.0-beta.2.md +++ /dev/null @@ -1,194 +0,0 @@ ---- -title: Commit Convenzionali 1.0.0-beta.2 -language: it ---- - -# Commit Convenzionali 1.0.0-beta.2 - -## Riepilogo - -Da maintainer di codice open source, devo poter scrivere messaggi standardizzati per i commit -ed eseguire lo squash dei feature branch nel `master`. - -I messaggi dei commit dovrebbero seguire la seguente struttura: - ---- - -``` -[contesto opzionale]: - -[corpo opzionale] - -[piè di pagina opzionale] -``` ---- - -
-Il commit contiene i seguenti elementi strutturali, allo scopo di comunicarne -l'intento al consumatore della libreria: - -1. **fix:** un commit di _tipo_ `fix` risolve un errore nel codice (correlato al [`PATCH`](http://semver.org/#summary) in un versionamento semver). -2. **feat:** un commit di _tipo_ `feat` introduce una nuova funzionalità al codice (correlato al [`MINOR`](http://semver.org/#summary) in un versionamento semver). -3. **BREAKING CHANGE:** un commit che contiente il testo `BREAKING CHANGE:` all'inizio delle sezioni opzionali _corpo_ o _piè di pagina_, introduce una breaking API change (correlato al [`MAJOR`](http://semver.org/#summary) in un versionamento semver). -Una _breaking change_ può essere parte di un commit di qualsiasi _tipo_. Es: I tipi `fix:`, `feat:` & `chore:` sono tutti validi, cosí come qualsiasi altro _tipo_. -4. Extra: sono ammessi ulteriori _tipi_ oltre `fix:` e`feat:`, per esempio [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (che si basa sulla [convenzione Angular](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) raccomanda `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, ed altri. -Noi raccomandiamo anche `improvement` per commit che migliorano un'implementazione esistente senza aggiungere nuove funzionalità o risolvere un errore. -Notare che questi _tipi_ non sono mantenuti da questa specifica, e non hanno un effetto sul versionamento semver (a meno che non introducano una _BREAKING CHANGE_, il quale NON è raccomandato). -
-Un _contesto_ potrebbe essere aggiunto al _tipo_ di commit, al fine di offrire ulteriori informazioni contestuali. -Da aggiungere tra delle parentesi tonde, Es: `feat(parser): add ability to parse arrays`. - -## Esempi - -### Messaggio di un commit con una _descrizione_ e una breaking change nel _corpo_ -``` -feat: allow provided config object to extend other configs - -BREAKING CHANGE: `extends` key in config file is now used for extending other config files -``` - -### Messaggio di un commit senza una _descrizione_ -``` -docs: correct spelling of CHANGELOG -``` - -### Messaggio di un commit con uno _contesto_ -``` -feat(lang): added polish language -``` - -### Messaggio di un commit per un `fix` utilizzando il numero della issue (opzionale) -``` -fix: minor typos in code - -see the issue for details on the typos fixed - -fixes issue #12 -``` - -## Introduzione - -Nello sviluppo software, secondo la mia esperienza, gli errori sono spesso introdotti ai limiti tra le applicazioni. - -I test unitari vanno benissimo per le interazioni che i mantenitori open source conoscono, -ma non fanno un ottimo lavoro nel catturare tutti i modi interessanti, spesso inaspettati, con i quali la comunità utilizza una libreria. - -Solamente chi ha visto la propria applicazione restituire errori 500 -dopo aver aggiornato una dipendenza ad una nuova versione patch, -sa quanto sia importante una cronologia di commit facilmente leggibile -(e nel migliore dei casi [un CHANGELOG ben mantenuto](http://keepachangelog.com/en/0.3.0/)) -per il processo di investigazione che dovrà affrontare. - -La specifica per commit convenzionali propone l'introduzione di una convenzione -facilmente applicabile ai messaggi dei commit. -Questa convenzione legata al [SemVer](http://semver.org), chiede ai sviluppatori software -di descrivere nei messaggi dei commit qualsiasi feature, fix e breaking change loro abbiano fatto. - -Introducendo questa convenzione, si crea un linguaggio comune che rende più semplice -rimuovere errori tra progetti. - -## Specifica Commit Convenzionali - -Le parole “DEVE”, “NON DEVE”, “RICHIESTO”, “DOVRÀ”, “NON DOVRÀ”, “DOVREBBE”, “NON DOVREBBE”, “RACCOMANDATO”, “POTREBBE” e “OPZIONALE” devo essere interpretata come da specifica [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). - -1. Un commit DEVE iniziare con un _tipo_, il quale consiste in un sostantivo, `feat`, `fix`, etc., - seguito dai due punti ed uno spazio. -2. Il _tipo_ `feat` DEVE essere usato quando un commit aggiunge una funzionalità - all'applicazione o libreria. -3. Il _tipo_ `fix` DEVE essere usato quando un commit corregge un errore all'applicazione o libreria. -4. Un _contesto_ opzionale POTREBBE essere fornito dopo il _tipo_. - Un _contesto_ rappresenta una sezione dell'applicazione o libreria, il contentuo va racchiusa tra delle parentesi. - Es: `fix(parser):` -5. Una _descrizione_ DEVE seguire immediatamente il _tipo_ (con eventuale _contesto_). - Per _descrizione_ si intende una breve spiegazione riguardo la modifica al codice. - Es: _fix: array parsing issue when multiple spaces were contained in string._ -6. Un _corpo_ del commit più lungo POTREBBE essere aggiunto dopo una breve _descrizione_, aggiungendo ulteriori informazioni contestuali riguardo le modifiche apportate al codice. - Il _corpo_ DEVE inizare dopo una linea vuota dalla _descrizione_. -7. Un _piè di pagina_ POTREBBE essere aggiunto inserendo una linea vuota dopo il _corpo_. - Il _piè di pagina_ DOVREBBE contenere ulteriori informazioni riguardo le modifiche apportate al codice (come le issue che risolve, - Es: `fixes #13, #5`). -8. Una _breaking changes_ DEVE essere indicata all'inizio delle sezioni _piè di pagina_ o del _corpo_ del commit. - Una _breaking change_ DEVE essere scritta in maiuscolo `BREAKING CHANGE`, seguita dai due punti ed uno spazio. -9. Una descrizione DEVE essere aggiunta dopo il testo `BREAKING CHANGE: `, descrivendo il cambiamento delle API. - Es: _BREAKING CHANGE: environment variables now take precedence over config files._ -10. Il _piè di pagina_ DEVE solo contentere `BREAKING CHANGE`, collegamenti esterni, riferimenti alle issueed ulteriori meta-informazioni. -11. Un commit POTREBBE utilizzare altri _tipi_ al di fuori di `feat` e `fix` nel messagio. - -## Perchè utilizzare commit convenzionali - -* CHANGELOG generati automaticamente. -* Determina automaticamente l'incremento di un versionamento semver (basandosi sui tipi di commit utilizzati). -* Comunica la natura dei cambiamenti a colleghi, pubblico, o altri parti interessate. -* Attiva build e processi di rilascio. -* Rendi più semplice alle persone contribuire al tuo progetto, dando la possibilità di espolrare una cronologia di commit più strutturata. - -## FAQ - -### Come dovrei comportarmi con i messaggi dei commit nella fase iniziale del progetto? - -Raccomandiamo di procedere come se il tuo prodotto sia già stato rilasciato. Tipicamente *qualcuno*, anche i tuoi colleghi, stanno utilizzando il tuo software. Loro vorranno sapere cosa sia stato risolto, cosa si sia rotto etc. - -### Cosa faccio se il tipo di commit è conforme a più di un tipo? - -Torna indietro e dividi in più commit dove puoi. -Parte del beneficio di usare Commit Convenzionali è quello di spingerti a fare commit e pull request più organizzati. - -### Non disincoraggia sviluppo ed iterazioni rapidi? - -Disingoraggia farlo in una maniere disorgaizzata. Inoltre ti aiuterà a muoverti più velocemente su più progetti con diversi contributori. - -### Potrebbe Commit Convenzionali limitare gli sviluppatori a fare solamente alcuni tipi commit perchè penseranno nei tipi forniti dalla specifica? - -Commit Convenzionali ti incoraggia nel fare più di certi tipi di commit. -Inoltre la flessibilità di Commit Convenzionali consente al tuo team di inventare i propri tipi e cambiarli nel tempo. - -### Come si collega a SemVer? - -I commit di tipo `fix` dovrebbero essere traducibili ai rilasci `PATCH`. -I commit di tipo `feat` dovrebbero essere traducibili ai rilasci `MINOR`. -I commit con `BREAKING CHANGE`, indipentemente dal tipo, dovrebbero essere traducibili ai rilasci `MAJOR`. - -### Come dovrei versionare le mie estensioni per la specifica Commit Convenzionali? (Es: `@jameswomack/conventional-commit-spec`) - -Raccomandiamo l'utilizzo di SemVer per rilasciare la tua estensione (crea delle estensioni!) - -### Cosa faccio se accidentalmente utilizzo un tipo di commit sbagliato? - -#### Quando usi un tipo della specifica ma non quello giusto (Es: `fix` invece di `feat`) - -Se ancora devi creare il merge o il rilascio dell'errore, raccomandiamo l'utilizzo di `git rebase -i` per riscrivere la cronologia dei commit. -Nel caso ti abbia già rilasciato questa correzzione dipende dai tool e processi che usi. - -#### Quando usi un tipo *non* della specifica (Es: `feet` invece di `feat`) - -Non è la fine del mondo se un commit non segue la specifica Commit Convenzionali. -Semplicemente il commit verrà ignorato dai tool che sono basati su questa specifica. - -### Devono tutti i contributori seguire la specifica Commit Convenzionali? - -No. Se usi un workflow basato sugli squash di Git, i mantenitori possono pulire i messaggi dei commit mentre vengono inseriti nel branch principale (merge), non aggiungendo alcun carico di lavoro ai committer occasionali. -Un workflow comune è quello di unire (con lo squash) automaticamente i commit dalle pull request e far utilizzare un form ai mantenitori per riscrivere un messaggio più adeguato. - -## Riguardo - -La specifica Commit Convenzionali è ispirata e fortemente basata su [Angular Commit Guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit). - -La prima bozza di questa specifica è stata scritta in collaborazione con alcuni contributori di: - -* [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog): un set di tool per analizzare messagi dei commit convenzionali dalla cronologia git. -* [unleash](https://github.com/netflix/unleash): un tool per automatizzare rilasci e cicli di pubblicazioni di un software. -* [lerna](https://github.com/lerna/lerna): un tool per la gestione di monorepos, nato del progetto Babel. - -## Progetti che usano Commit Convenzionali - -* [yargs](https://github.com/yargs/yargs): Parser di argomenti da CLI, a tema pirati. -* [istanbuljs](https://github.com/istanbuljs/istanbuljs): Una collezione di strumenti e librerie open source per aggiungere la coverage dei test JavaScript. -* [standard-version](https://github.com/conventional-changelog/standard-version): Automatizza il versionamento e la gestione del CHANGELOG utilizzando il nuovo pulsante squash di GitHub e il flusso di lavoro consigliato da Commit Convenzionali. - -[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) - -_vuoi aggingere il tuo progetto alla lista?_ [invia una pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licenza - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/lang/pl/spec/v1.0.0-beta.2.md b/lang/pl/spec/v1.0.0-beta.2.md deleted file mode 100644 index f0483cf..0000000 --- a/lang/pl/spec/v1.0.0-beta.2.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -title: Konwencjonalne Commity 1.0.0-beta.2 -language: pl ---- - -# Konwencjonalne Commity 1.0.0-beta.2 - -## Streszczenie - -Jako opiekun otwartych źródeł, spłaszczaj (squashuj) gałęzie funkcyjne (featurowe) do gałęzi głównej - `master` -oraz pisz ustandaryzowane opisy dostarczeń (commitów). - -Opis dostarczenia powinien wyglądać następująco: - ---- - -``` -[opcjonalny zakres]: - -[opcjonalne ciało wiadomości] - -[opcjonalna stopka wiadomości] -``` ---- - -
-Wiadomość zawiera następujące strukturalne elementy po to, aby zakomunikować intencje -do użytkowników Twojej biblioteki: - -1. **fix:** dostarczenie _typu_ `fix` naprawia błąd obecny w Twoim kodzie (powiązane z [`PATCH`](http://semver.org/#summary) w wersjonowaniu semantycznym). -2. **feat:** dostarczenie _typu_ `feat` wprowadza nowe funkcje do Twojej biblioteki (powiązane z [`MINOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). -3. **BREAKING CHANGE:** dostarczenie, które posiada tekst `BREAKING CHANGE:` na początku jego opcjonalnego ciała bądź stopki wprowadza zmianę łamiącą kompatybilność API (powiązane z [`MAJOR`](http://semver.org/#summary) w wersjonowaniu semantycznym). Zmiana łamiąca kompatybilność wsteczną może być elementem zmian każdego innego _typu_, np. `fix:`, `feat:` & `chore:` - wszystkie byłyby poprawne, w dodatku do każdego innego _typu_. -4. Inne: commity _typu_ innego niż `fix:` oraz `feat:` są dozwolone, np. [commitlint-config-conventional](https://github.com/marionebl/commitlint/tree/master/%40commitlint/config-conventional) (bazowano na [konwencji Angulara](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)) poleca `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, oraz inne. My polecamy także `improvement` dla dostarczeń, które ulepszają obecną implementację bez dodawania nowych funkcjonalności lub naprawy błędów. Zauważ, że te typy nie są obowiązkowe według specyfikacji konwencjonalnych commitów i nie mają wpływu na wersjonowanie (chyba, że zawierają BREAKING CHANGE, co NIE JEST rekomendowane). -
-Przy typie dostarczenia może zostać podany zakres w celu dostarczenia dokładniejszej informacji o kontekście dostarczenia. -Zawiera się on w nawiasach następujących bezpośrednio po typie, np. `feat(parser): dodano możliwość parsowania list`. - -## Przykłady - -### Commit z opisem oraz zmianą niekomatybilną wstecz (BREAKING CHANGE) -``` -feat: pozwól dostarczonemu obiektowi konfiguracyjnemu na rozszerzanie innych konfiguracji - -BREAKING CHANGE: klucz `extends` i pliku konfiguracyjnym jest teraz używany do rozszerzania innych konfiguracji -``` - -### Commit bez ciała wiadomości -``` -docs: poprawniono pisownię w CHANGELOG -``` - -### Commit z określonym zakresem -``` -feat(lang): dodano język polski -``` - -### Commit dostarczenia naprawiającego buga określonego w raporcie błędu (issue) o (opcjonalnym) numerze -``` -fix: kilka literówek w kodzie - -po więcej szczegółów udaj się do raportu błędu - -fixes issue #12 -``` - -## Wprowadzenie - -Podczas rozwoju oprogramowania zauważyłem, że błędy często występują na granicy -pomiędzy aplikacjami. Testy jednostkowe doskonale zdają egzamin w przypadkach, o których -opiekun biblioteki pomyślał, jednak sposoby, w jakich oprogramowanie zostanie użyte -przez społeczność często, choć interesujące mogą być nie do pomyślenia. -Tutaj testy jednostkowe niezbyt zdają egzamin. - -Każdy, kto kiedykolwiek zaktualizował zależność swojej aplikacji, chociażby o jedną wersję _patch_, -tylko po to, aby zobaczyć, jak jego aplikacja zaczyna rzucać 500 błędami, wie, -jak ważną rolę stanowi czytelna historia dostarczeń (oraz dodatkowo [dobrze zarządzany DZIENNIK ZMIAN (CHANGELOG)](http://keepachangelog.com/en/0.3.0/)) -podczas naprawy. - -Specyfikacja Konwencjonalnych Commitów proponuje wprowadzenie ustandaryzowanej, lekkiej -konwencji wykorzystującej wiadomości w dostarczeniach. Konwencja ta łączy się z [SemVer](http://semver.org), -nakazując deweloperom opisywanie w wiadomościach podczas dostarczania jakie funkcje wprowadzają, co naprawiają -oraz jakie niekompatybilne wstecz zmiany wnoszą. - -Wprowadzając tę konwencję, tworzymy powszechny język, który pozwala na dużo łatwiejsze -wyłapywanie błędów występujących na granicy projektu z jego zależnościami. - -## Specyfikacja Konwencjonalnych Commitów - -Następujące terminy “MUSI” (“MUST”), “NIE MOŻE” (“MUST NOT”), “WYMAGANY” (“REQUIRED”), “MA BYĆ” (“SHALL”), “NIE BĘDZIE” (“SHALL NOT”), “POWINIEN” (“SHOULD”), “NIE POWINIEN” (“SHOULD NOT”), “ZALECANY” (“RECOMMENDED”), “MOŻE” (“MAY”) oraz “OPCJONALNY” (“OPTIONAL”) pojawiające się w tym dokumencie rozumiane są zgodnie z ich opisem na stronie: [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). - -1. Dostarczenie MUSI być poprzedzone typem, który składa się z rzeczownika, np. `feat`, `fix`, itp., -oraz następującymi bezpośrednio po nim dwukropka oraz spacji. -2. Typ `feat` MUSI być użyty, gdy dostarczenie dodaje nową funkcję do Twojej aplikacji bądź biblioteki. -3. Typ `fix` MUSI być użyty, kiedy dostarczenie naprawia błąd w Twojej aplikacji. -4. Opcjonalny zakres MOŻE być podany po typie. Zakres jest to fraza opisująca obszar kodu zawarta w nawiasach okrągłych, np., `fix(parser):` -5. Opis MUSI występować zaraz po przedrostku typu/zakresu. -Opis jest to krótka notka stanowiąca o treści dostarczenia, np., -_fix: problem podczas parsowania listy, kiedy string zawierał wiele spacji._ -6. Dłuższe ciało wiadomości MOŻE być podane po krótkim opisie. Ciało MUSI zaczynać się jedną pustą linię po opisie. -7. Stopka MOŻE być podane jedną linię za ciałem wiadomości. Stopka POWINNA zawierać dodatkowe informacje odnośnie zgłoszeń błędów lub propozycji funkcjonalności, które rozwiązuje, np. `fixes #13, #5`. -8. Zmiany niekompatybilne wstecz MUSZĄ być zaznaczone na samym początku sekcji ciała wiadomości lub stopki. Informacja o niekompatybilności MUSI zawierać tekst `BREAKING CHANGE`, wraz z następującymi po nim dwukropkiem oraz spacją. -9. Po tekście `BREAKING CHANGE: ` MUSI następować opis mówiący o tym, co zostało zmienione w kodzie w sposób, który niszczy kompatybilność wstecz, -np. _BREAKING CHANGE: zmienne środowiskowe mają teraz większy priorytet niż pliki konfiguracyjne._ -10. Stopka powinna zawierać tylko i wyłącznie `BREAKING CHANGE`, linki zewnętrzne, odnośniki do raportów błędów oraz inne meta-informacje. -11. Typy inne niż `feat` oraz `fix` MOGĄ być użyte w wiadomościach Twoich dostarczeń. - -## Dlaczego używać Konwencjonalnych Commitów - -* Automatycznie generowany DZIENNIK ZMIAN. -* Automatycznie wykrywana zmiana semantycznej zmiany wersji (określana na podstawie typów dostarczonych zmian) -* Komunikowanie zmian członkom zespołu, publice, oraz innym zainteresowanym. -* Wyzwalanie procesów budowania oraz publikacji. -* Łatwiejsze włączenie się w rozwój kodu przez ludzi z zewnątrz poprzez pozwolenie im na przeglądanie -bardziej zorganizowanej historii dostarczeń. - -## FAQ - -### Jak powinienem radzić sobie z wiadomościami dostarczeń w fazie początkowej rozwoju kodu? - -Polecamy, żebyś postępował tak, jakby Twój produkt już został wydany. Zazwyczaj *ktoś*, nawet jeśli jest to Twój kolega z zespołu, już -używa Twojego oprogramowania. Będzie chciał wiedzieć, co zostało naprawione, co nie działa itp. - -### Co powinienem zrobić, jeśli dostarczenie pasuje do więcej niż jednego typu? - -Wróć się i stwórz więcej dostarczeń, jeśli to tylko możliwe. Częściową korzyścią z Konwencjonalnych Commitów jest zdolność do tworzenia kodu -w bardziej zorganizowany sposób. - -### Czy takie podejście nie zniechęca do szybkiego rozwoju oraz szybkich iteracji? - -Zniechęca do szybkiego poruszania się do przodu w niezorganizowany sposób. Pozwala Ci na szybkie posuwanie się do przodu w wielu projektach oraz -różnorodnych deweloperów. - -### Czy Konwencjonalne Commity mogą prowadzić do zmniejszenia ilości typów dostarczanych przez deweloperów, ponieważ będą myśleć w przestrzeni wymienionych typów? - -Konwencjonalne Commity zachęcają do tworzenia większej ilości dostarczeń danego typu, np. napraw. Z innego punktu widzenia, elastyczność -Konwencjonalnych Commitów pozwala Twojemu zespołowi stworzyć własne typy oraz zmieniać je z biegiem czasu. - -### Jak jest to powiązane z SemVer? - -Wiadomości typu `fix` powinny być traktowane tak jak `PATCH`. Wiadomości typu `feat` tak jak `MINOR`, natomiast dostarczenia zawierające `BREAKING CHANGE`, bez względu na typ, powinny być traktowane jak `MAJOR`. - -### Jak powinienem wersjonować moje rozszerzenia zgodnie ze specyfikacją Konwencjonalnych Commitów, np. `@jameswomack/conventional-commit-spec`? - -Zalecamy używanie SemVer do wydawania własnych rozszerzeń do tej specyfikacji (oraz zachęcamy do tworzenia tych rozszerzeń!). - -### Co powinienem zrobić, jeśli przypadkowo użyje błędnego typu dostarczenia? - -#### Jeśli użyłeś typu, który znajduje się w specyfikacji, ale nie jest poprawny, np. `fix` zamiast `feat` - -Przed dostarczeniem i wydaniem pomyłki, polecamy użyć `git rebase -i` w celu zmienienia historii dostarczeń. Zmiana po dostarczeniu zależy od narzędzi oraz procesów, których używasz. - -#### Jeśli użyłeś typu, który *nie* znajduje się w specyfikacji, np. `feet` zamiast `feat` - -W najgorszym przypadku - to nie koniec świata, jeśli dostarczenie niespełniające specyfikacji Konwencjonalnych Commitów zostanie wprowadzone. -Po prostu znaczy to, że będzie pominięty przez narzędzia bazujące na specyfikacji. - -### Czy wszyscy moi kontrybutorzy muszą używać specyfikacji Konwencjonalnych Commitów? - -Nie! Jeśli używasz trybu bazującego na spłaszczaniu historii dostarczeń, wtedy główni opiekunowie projektu mogą posprzątać wiadomości -podczas dostarczania. Takie podejście nie narzuca żadnego obowiązku na osoby dostarczające od czasu do czasu. Powszechnym podejściem -jest używanie automatycznego spłaszczania historii dostarczeń z prośby wciągnięcia (pull request) oraz wyświetlenie formularza osobie dostarczającej w celu wypełnienia wiadomości poprawną treścią. - -## O twórcy - -Specyfikacja Konwencjonalnych Commitów jest inspirowana oraz mocno bazuje na [Wytycznych Commitów Angulara](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit). - -Pierwsza wersja tej specyfikacji została stworzona we współpracy z kilkoma kontrybutorami takich projektów jak: - -* [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog): zbiór narzędzi -pozwalających na parsowanie konwencjonalnych commitów z historii `git`owych dostarczeń. -* [unleash](https://github.com/netflix/unleash): narzędzie do automatyzacji wydawania oraz publikowania. -* [lerna](https://github.com/lerna/lerna): narzędzie do zarządzania mono-repozytoriami, które wyrosło z projektu Babel. - -## Projekty używające Konwencjonalnych Commitów - -* [yargs](https://github.com/yargs/yargs): uwielbiany przez wszystkich, piracko stylizowany parser argumentów linii komend. -* [istanbuljs](https://github.com/istanbuljs/istanbuljs): kolekcja otwarto-źródłowych narzędzi oraz bibliotek do dodawania miar pokrycia kodu do Twoich testów jednostkowych -* [standard-version](https://github.com/conventional-changelog/standard-version): Automatyczne zarządzanie wersjami oraz DZIENNIKIEM ZMIAN, używający nowego przycisku Spłaszcz na GitHubie oraz trybu pracy opartego o Konwencjonalne Commity. -* [uPortal-home](https://github.com/UW-Madison-DoIT/angularjs-portal) oraz [uPortal-application-framework](https://github.com/UW-Madison-DoIT/uw-frame): Opcjonalny, uupełniający interfejs użytkownika ulepszający [Apereo uPortal](https://www.apereo.org/projects/uportal). - -[![Konwencjonalne Commity](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) - -_chcesz, aby Twój projekt znajdował się na tej liście?_ [stwórz pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls). - -## Licencja - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) \ No newline at end of file diff --git a/lang/zh-Hans/index.md b/lang/zh-Hans/index.md deleted file mode 100644 index 7ff01dd..0000000 --- a/lang/zh-Hans/index.md +++ /dev/null @@ -1,162 +0,0 @@ ---- -title: 约定式提交 1.0.0-beta.2 -language: zh-Hans ---- - -# 约定式提交 1.0.0-beta.2 - -## 概述 - -开源维护者在将特性分支合并入 `master` 时,可编写标准化的提交说明。 - -提交说明的结构如下所示: - ---- - -``` -<类型>[可选的作用域]: <描述> - -[可选的正文] - -[可选的脚注] -``` ---- - -
-提交说明包含了下面的结构化元素,以向类库使用者表明其意图: - -1. **fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 [`PATCH`](http://semver.org/#summary) 相对应)。 -2. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](http://semver.org/#summary) 相对应)。 -3. **BREAKING CHANGE:** 在可选的正文或脚注的起始位置带有 `BREAKING CHANGE:` 的提交,表示引入了破坏性变更(这和语义化版本中的 [`MAJOR`](http://semver.org/#summary) 相对应)。破坏性变更可以是任意 _类型_ 提交的一部分。对于 `fix:`、`feat:` 和 `chore:`,乃至更多其它的 _类型_ 而言,它都是有效的。 -4. 其它在 `fix:` 和 `feat:` 之外的提交 _类型_ 也都是支持的,例如 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines) 中推荐使用 `docs:`、`style:`、`refactor:`、`perf:`、`test:`、`chore:`,但这些标签在约定式提交规范中并不是强制性的。 - -
-可以为提交类型添加一个围在圆括号内的作用域,以为其提供额外的上下文信息。例如 `feat(parser): adds ability to parse arrays.` - -## 示例 - -### 包含了描述与正文内破坏性变更的提交说明 -``` -feat: allow provided config object to extend other configs - -BREAKING CHANGE: `extends` key in config file is now used for extending other config files -``` - -### 不包含正文的提交说明 -``` -docs: correct spelling of CHANGELOG -``` - -### 包含作用域的提交说明 -``` -feat(lang): added polish language -``` - -### 为 fix 编写的提交说明,包含可选的 issue 编号 -``` -fix: minor typos in code - -see the issue for details on the typos fixed - -fixes issue #12 -``` - -## 介绍 - -在软件开发中,个人的经验是 bug 最常由应用间的边界引入。对单元测试而言,在所测试的交互处在开源维护者知识范围内时,它工作得很好。但在刻画社区里各种有趣而常在预料之外的使用场景时,它就显得比较糟糕了。 - -任何在升级新依赖 patch 版本后发现应用开始抛出稳定 500 错误流的人,都知道可读的提交历史(以及[理想条件下高质量维护的 CHANGELOG](http://keepachangelog.com/en/0.3.0/))有多重要。 - -约定式的提交规范提议在提交说明的基础上,引入标准化的轻量约定。这个约定和 [SemVer](http://semver.org) 相吻合,要求开发者在提交信息中描述新特性、bug 修复和破坏性更新。 - -引入这一约定后,我们可以创建一种通用的语言,简化在项目边界之间调试的问题。 - -## 约定式提交规范 - -本文档中的关键词 “必须”、“禁止”、“需要”、“应当”、“不应当”、“应该”、“不应该”、“推荐”、“可以” 和 “可选” 应按照 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 的描述解释。 - -1. 每个提交都**必须**使用类型字段前缀,这由一个形如 `feat` 或 `fix` 的名词组成,其后接冒号和空格。 -2. 当一个提交为应用或类库实现了新特性时,**必须**使用 `feat` 类型。 -3. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 -4. 可选的作用域字段**可以**在类型后提供。作用域是描述代码库中某个部分的词组,封装在括号中,形如 `fix(parser):` 等。 -5. 描述字段**必须**紧接在类型或作用域前缀之后。描述指的是对代码变更的简短描述,形如 _fix: array parsing issue when multiple spaces were contained in string._ -6. 在简短描述之后,**可以**编写更长的提交正文,为代码变更提供额外的上下文信息。正文**必须**起始于描述字段结束的一个空行后。 -7. 在正文结束的一个空行后,**可以**编写脚注(如果正文缺失,可以编写在描述之后)。脚注**应当**为代码变更包含额外的 issue 引用信息(例如它所修复的 issue,类似 `Fixes #13` 等)。 -8. 破坏性变更**必须**在提交的正文或脚注加以展示。一个破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,紧跟冒号和空格。 -9. 在 `BREAKING CHANGE: ` 之后**必须**提供描述,以描述对 API 的变更。例如 _BREAKING CHANGE: environment variables now take precedence over config files._ -10. 脚注**必须**只包含 `BREAKING CHANGE`、外部链接、issue 引用和其它元数据信息。 -11. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型。 - -## 为什么使用约定式提交 - -* 自动化生成 CHANGELOG。 -* 基于提交的类型,自动决定语义化的版本变更。 -* 向同事、公众与其他利益关系人传达变化的性质。 -* 触发构建和部署流程。 -* 让人们更容易地探索结构化的提交历史,降低贡献项目的难度。 - -## FAQ - -### 如何处理初始开发阶段的提交说明? - -我们建议你按照已发布的产品那样来处理。一般情况下即便是开发者同事,也*有人*使用你的软件。他们会希望知道诸如修复了什么、哪里不兼容等信息。 - -### 提交符合一或多种类型时该如何处理? - -回退并尽可能创建多次提交。约定式提交的部分好处是能够促使我们做出更有组织的提交和 PR。 - -### 这不会阻碍快速的开发和迭代吗? - -它阻碍的是以杂乱无章的方式快速前进。它帮助我们在横跨长时间周期、多个项目、多个贡献者时能够保持效率。 - -### 约定式提交会让开发者受限于提交的类型吗? - -约定式提交鼓励我们更多地使用某些类型的提交,比如 fixes。除此之外,约定式提交的灵活性也允许你的团队使用自己的类型,并随着时间的推移更改这些类型。 - -### 这和 SemVer 有什么关联呢? - -`fix` 类型提交应当对应到 `PATCH` 版本。`feat` 类型提交应该对应到 `MINOR` 版本。带有 `BREAKING CHANGE` 的提交不管类型如何,都应该对应到 `MAJOR` 版本。 - -### 我对约定式提交做了形如 `@jameswomack/conventional-commit-spec` 的扩展,该如何版本化管理这些扩展呢? - -我们推荐使用 SemVer 来发布你对于这个规范的扩展(并鼓励你创建这些扩展!) - -### 如果我不小心使用了错误的提交类型,该怎么办呢? - -#### 当你使用了在规范中但错误的类型时,如将 `feat` 写成了 `fix` - -在合并或发布这个错误之前,我们建议使用 `git rebase -i` 来编辑提交历史。而在发布之后,根据你使用的工具和流程不同,会有不同的清理方案。 - -#### 当使用了*不*在规范中的类型时,如将 `feat` 写成了 `feet` - -在最坏的场景下,即便提交没有满足约定式提交的规范,也不是世界的终结。这只意味着这个提交会被基于规范的工具错过而已。 - -### 所有的贡献者都需要使用约定式提交规范吗? - -并不!如果你使用基于 squash 的 Git 工作流,主管维护者可以在合并时清理提交信息——这不会对普通提交者产生额外的负担。有种常见的工作流是让 git 系统自动从 pull request 中 squash 出提交,向主管维护者提供表单,来在合并时输入合适的 git 提交信息。 - -## 关于 - -约定式提交规范受到了 [Angular 提交准则](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit)的启发,并在很大程度上以其为依据。 - -该规范的首个草案来自下面这些项目中若干贡献者们的协作: - - -* [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog):一套从 git 历史中解析出约定式提交说明的工具。 -* [unleash](https://github.com/netflix/unleash):一个用于自动化软件发行和发布生命周期的工具。 -* [lerna](https://github.com/lerna/lerna):一个用于管理宏仓库的工具,源自 Babel 项目。 - -## 使用约定式提交的项目 - -* [yargs](https://github.com/yargs/yargs):广受欢迎的命令行参数解析器。 -* [istanbuljs](https://github.com/istanbuljs/istanbuljs):一套为 JavaScript 测试生成测试覆盖率的开源工具和类库。 -* [standard-version](https://github.com/conventional-changelog/standard-version) 基于 GitHub 的新 squash 按钮与推荐的约定式提交工作流,自动管理版本和 CHANGELOG。 -* [uPortal-home](https://github.com/UW-Madison-DoIT/angularjs-portal) 和 [uPortal-application-framework](https://github.com/UW-Madison-DoIT/uw-frame):用于增强 [Apereo uPortal](https://www.apereo.org/projects/uportal) 的可选用户界面。 - -[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) - -_想让你的项目出现在上面吗?_[提交 pull request](https://github.com/conventional-changelog/conventionalcommits.org/pulls) 吧。 - -## 许可 - -[Creative Commons - CC BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/layouts/.gitkeep b/layouts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/script/bootstrap b/script/bootstrap deleted file mode 100755 index 7d35d75..0000000 --- a/script/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -bundle install diff --git a/script/cibuild b/script/cibuild deleted file mode 100755 index b9f02a3..0000000 --- a/script/cibuild +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -set -e - -bundle exec jekyll build --config _config.yml,_config_local.yml -bundle exec htmlproofer _site --check-html --disable-external diff --git a/script/server b/script/server deleted file mode 100755 index 9ffed55..0000000 --- a/script/server +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -bundle exec jekyll serve --config _config.yml,_config_local.yml diff --git a/static/.gitkeep b/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/conventional-commits/.editorconfig b/themes/conventional-commits/.editorconfig new file mode 100644 index 0000000..82da0b1 --- /dev/null +++ b/themes/conventional-commits/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false \ No newline at end of file diff --git a/themes/conventional-commits/.gitignore b/themes/conventional-commits/.gitignore new file mode 100644 index 0000000..6d160ac --- /dev/null +++ b/themes/conventional-commits/.gitignore @@ -0,0 +1,65 @@ +.idea +.DS_Store +package-lock.json + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next diff --git a/themes/conventional-commits/LICENSE b/themes/conventional-commits/LICENSE new file mode 100644 index 0000000..624b3f3 --- /dev/null +++ b/themes/conventional-commits/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 YOUR_NAME_HERE + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/conventional-commits/README.md b/themes/conventional-commits/README.md new file mode 100644 index 0000000..2f51006 --- /dev/null +++ b/themes/conventional-commits/README.md @@ -0,0 +1,69 @@ +# hugo conventional commits theme +Copy hugo-conventional-commits-theme inside your my-hugo-site/theme + +## config.yaml example +All config params are optionals. +```yaml +baseURL: 'http://conventional-commits.org/' +languageCode: en-us +title: Conventional Commits +theme: conventional-commits + +# Language +defaultContentLanguageInSubdir: true +defaultContentLanguage: "en" +languages: + en: + weight: 1 + languageName: "English" + it: + weight: 2 + languageName: "Italian" + +# Content +params: + versions: + current: 1.0.0-beta.2 + list: + - label: 1.0.0-beta + url: 'https://github.com/conventional-commits/conventionalcommits.org' + - label: 1.0.0-beta.1 + url: 'https://github.com/conventional-commits/conventionalcommits.org' + - label: 1.0.0-beta.2 + url: 'https://github.com/conventional-commits/conventionalcommits.org' + + welcome: + description: A specification made for write standardized and useful commit messages + image: 'https://path-to-image' + actions: + - label: Read the specs + url: 'https://github.com/conventional-commits/conventionalcommits.org' + - label: GitHub + url: 'https://github.com/conventional-commits/conventionalcommits.org' + + license: + title: License + action: + label: Creative Commons - CC BY 3.0 + url: 'https://creativecommons.org/licenses/by/3.0/' + + footer: + logos: + - name: github + url: 'https://github.com/conventional-commits/conventionalcommits.org' +``` + +## Apply theme changes +Development script +```ssh +npm run start +``` + +Production script +```ssh +npm run build +``` + +## Shortcodes +* banner-image + * src (optional) | default: static/img/git-flow.png \ No newline at end of file diff --git a/themes/conventional-commits/archetypes/default.md b/themes/conventional-commits/archetypes/default.md new file mode 100644 index 0000000..ac36e06 --- /dev/null +++ b/themes/conventional-commits/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/themes/conventional-commits/layouts/404.html b/themes/conventional-commits/layouts/404.html new file mode 100644 index 0000000..19a5090 --- /dev/null +++ b/themes/conventional-commits/layouts/404.html @@ -0,0 +1,8 @@ + + + +
+ 404 +
+ + diff --git a/themes/conventional-commits/layouts/_default/single.html b/themes/conventional-commits/layouts/_default/single.html new file mode 100644 index 0000000..79d147c --- /dev/null +++ b/themes/conventional-commits/layouts/_default/single.html @@ -0,0 +1,15 @@ + + +{{- partial "head.html" . -}} + +{{- partial "header.html" . -}} +{{- partial "welcome.html" . -}} +
+
+ {{.Content}} +
+
+{{- partial "footer.html" . -}} +{{- partial "scripts.html" . -}} + + diff --git a/themes/conventional-commits/layouts/partials/footer.html b/themes/conventional-commits/layouts/partials/footer.html new file mode 100644 index 0000000..b01c294 --- /dev/null +++ b/themes/conventional-commits/layouts/partials/footer.html @@ -0,0 +1,21 @@ + diff --git a/themes/conventional-commits/layouts/partials/head.html b/themes/conventional-commits/layouts/partials/head.html new file mode 100644 index 0000000..948181f --- /dev/null +++ b/themes/conventional-commits/layouts/partials/head.html @@ -0,0 +1,2 @@ + + diff --git a/themes/conventional-commits/layouts/partials/header.html b/themes/conventional-commits/layouts/partials/header.html new file mode 100644 index 0000000..52d56c6 --- /dev/null +++ b/themes/conventional-commits/layouts/partials/header.html @@ -0,0 +1,24 @@ +
+
+ +
    + + +
+
+
diff --git a/themes/conventional-commits/layouts/partials/scripts.html b/themes/conventional-commits/layouts/partials/scripts.html new file mode 100644 index 0000000..79131fb --- /dev/null +++ b/themes/conventional-commits/layouts/partials/scripts.html @@ -0,0 +1 @@ + diff --git a/themes/conventional-commits/layouts/partials/svg-github.html b/themes/conventional-commits/layouts/partials/svg-github.html new file mode 100644 index 0000000..3db17ed --- /dev/null +++ b/themes/conventional-commits/layouts/partials/svg-github.html @@ -0,0 +1,8 @@ + + + + diff --git a/themes/conventional-commits/layouts/partials/welcome.html b/themes/conventional-commits/layouts/partials/welcome.html new file mode 100644 index 0000000..3aa909a --- /dev/null +++ b/themes/conventional-commits/layouts/partials/welcome.html @@ -0,0 +1,16 @@ +
+
+

{{.Param "Title"}}

+

{{.Param "Description"}}

+ {{ if .Param "Actions" }} +
+ {{ range .Param "Actions" }} + {{.label}} + {{ end }} +
+ {{ end }} +
+ +
+
+
diff --git a/themes/conventional-commits/layouts/shortcodes/banner-image.html b/themes/conventional-commits/layouts/shortcodes/banner-image.html new file mode 100644 index 0000000..3f68839 --- /dev/null +++ b/themes/conventional-commits/layouts/shortcodes/banner-image.html @@ -0,0 +1,3 @@ + diff --git a/themes/conventional-commits/package-lock.json b/themes/conventional-commits/package-lock.json new file mode 100644 index 0000000..7fab8af --- /dev/null +++ b/themes/conventional-commits/package-lock.json @@ -0,0 +1,7311 @@ +{ + "name": "hugo-conventional-commits-theme", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.1.tgz", + "integrity": "sha512-KU/VDjC5RwtDUZiz3d+DHXJF2lp5hB9dn552TXIyptj8SH1vXmR40mG0JgGq03IlYsOgGfcv8xrLpSQ0YUMQdA==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", + "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "debug": "3.1.0", + "mamacro": "0.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", + "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", + "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", + "integrity": "sha512-v7igWf1mHcpJNbn4m7e77XOAWXCDT76Xe7Is1VQFXc4K5jRcFrl9D0NrqM4XifQ0bXiuTSkTKMYqDxu5MhNljA==", + "dev": true, + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", + "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.5.13" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", + "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", + "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", + "dev": true, + "requires": { + "debug": "3.1.0", + "mamacro": "0.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", + "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", + "integrity": "sha512-IJ/goicOZ5TT1axZFSnlAtz4m8KEjYr12BNOANAwGFPKXM4byEDaMNXYowHMG0yKV9a397eU/NlibFaLwr1fbw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/ieee754": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", + "integrity": "sha512-TseswvXEPpG5TCBKoLx9tT7+/GMACjC1ruo09j46ULRZWYm8XHpDWaosOjTnI7kr4SRJFzA6MWoUkAB+YCGKKg==", + "dev": true, + "requires": { + "ieee754": "1.1.12" + } + }, + "@webassemblyjs/leb128": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", + "integrity": "sha512-0NRMxrL+GG3eISGZBmLBLAVjphbN8Si15s7jzThaw1UE9e5BY1oH49/+MA1xBzxpf1OW5sf9OrPDOclk9wj2yg==", + "dev": true, + "requires": { + "long": "4.0.0" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + } + } + }, + "@webassemblyjs/utf8": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", + "integrity": "sha512-Ve1ilU2N48Ew0lVGB8FqY7V7hXjaC4+PeZM+vDYxEd+R2iQ0q+Wb3Rw8v0Ri0+rxhoz6gVGsnQNb4FjRiEH/Ng==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", + "integrity": "sha512-X7ZNW4+Hga4f2NmqENnHke2V/mGYK/xnybJSIXImt1ulxbCOEs/A+ZK/Km2jgihjyVxp/0z0hwIcxC6PrkWtgw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/helper-wasm-section": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "@webassemblyjs/wast-printer": "1.5.13", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", + "integrity": "sha512-yfv94Se8R73zmr8GAYzezFHc3lDwE/lBXQddSiIZEKZFuqy7yWtm3KMwA1uGbv5G1WphimJxboXHR80IgX1hQA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", + "integrity": "sha512-IkXSkgzVhQ0QYAdIayuCWMmXSYx0dHGU8Ah/AxJf1gBvstMWVnzJnBwLsXLyD87VSBIcsqkmZ28dVb0mOC3oBg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", + "integrity": "sha512-XnYoIcu2iqq8/LrtmdnN3T+bRjqYFjRHqWbqK3osD/0r/Fcv4d9ecRzjVtC29ENEuNTK4mQ9yyxCBCbK8S/cpg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", + "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/floating-point-hex-parser": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-code-frame": "1.5.13", + "@webassemblyjs/helper-fsm": "1.5.13", + "long": "3.2.0", + "mamacro": "0.0.3" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", + "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "long": "3.2.0" + } + }, + "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 + }, + "acorn": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", + "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "dev": true, + "requires": { + "acorn": "5.7.2" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "anchor-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/anchor-js/-/anchor-js-4.1.1.tgz", + "integrity": "sha512-c2Wl9F1X0C4jkYKLla1SNE2uI6xJrSKsRC7HCCg4yLNQ5sL5D+tDEWrjRaoTuTlMTqBCnF6kOuR3dx59Erxpvw==" + }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "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": "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.3" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "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==", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "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.3" + } + }, + "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-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-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "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 + }, + "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 + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "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.2" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "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 + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "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 + }, + "autoprefixer": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.1.3.tgz", + "integrity": "sha512-No9xrkPCGIHc9I52e+u1MuvkwfTOIXQt3tu+jGSONAJf4awvQmqOTWmk7JhA9Q3BTvBYIRdpS9PLFtrmpZcImg==", + "dev": true, + "requires": { + "browserslist": "4.1.0", + "caniuse-lite": "1.0.30000883", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "7.0.2", + "postcss-value-parser": "3.3.0" + } + }, + "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 + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "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.2" + } + }, + "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.2" + } + }, + "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.2" + } + }, + "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" + } + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "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, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "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=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "bluebird": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", + "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "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": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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.3", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "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.1" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "1.0.6" + } + }, + "browserslist": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.0.tgz", + "integrity": "sha512-kQBKB8hnq1SRfSpwHDpM1JNHAyk9fydW8hIDvndR2ijTFKIlBPEvkJkCt8JznOugdm12/YCaRgyq/sqDGz9PwA==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000883", + "electron-to-chromium": "1.3.62", + "node-releases": "1.0.0-alpha.11" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" + } + }, + "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 + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "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 + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "3.5.2", + "chownr": "1.0.1", + "glob": "7.1.3", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + }, + "dependencies": { + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "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" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "4.1.0", + "caniuse-lite": "1.0.30000883", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30000883", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000883.tgz", + "integrity": "sha512-ovvb0uya4cKJct8Rj9Olstz0LaWmyJhCp3NawRG5fVigka8pEhIIwipF7zyYd2Q58UZb5YfIt52pVF444uj2kQ==", + "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": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "dev": true, + "requires": { + "tslib": "1.9.3" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "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==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "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.6" + } + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "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 + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.1.tgz", + "integrity": "sha512-5wfTTO8E2/ja4jFSxePXlG5nRu5bBtL/r1HCIpJW/lzT6yDtKl0u0Z4o/Vpz32IpKmBn7HerheEZQgA9N2DarQ==", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "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 + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "dev": true, + "requires": { + "color-convert": "1.9.3", + "color-string": "1.5.3" + } + }, + "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": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "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": { + "color-name": "1.1.3", + "simple-swizzle": "0.2.2" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "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=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "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=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "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=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "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=", + "dev": true + }, + "cosmiconfig": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz", + "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.1" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "which": "1.3.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-3.0.1.tgz", + "integrity": "sha512-jH4024SHZ3e0M7ann9VxpFpH3moplRXNz9ZBqvFMZqi09Yo5ARbs2wdPH8GqN9iRTlQynrbGbraNbBxBLei85Q==", + "dev": true, + "requires": { + "postcss": "6.0.23", + "timsort": "0.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "css-select": { + "version": "1.3.0-rc0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.3.0-rc0.tgz", + "integrity": "sha1-b5MZaqrnN2ZuoQNqjLFKj8t6kjE=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz", + "integrity": "sha1-AQKz0UYw34bD65+p9UVicBBs+ZA=", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha25", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha25.tgz", + "integrity": "sha512-XC6xLW/JqIGirnZuUWHXCHRaAjje2b3OIB0Vj5RIJo6mIi/AdJo30quQl5LxUl0gkXDIrTrFGbMlcZjyFplz1A==", + "dev": true, + "requires": { + "mdn-data": "1.2.0", + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", + "dev": true + }, + "css-url-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz", + "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=", + "dev": true + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, + "cssnano": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.0.tgz", + "integrity": "sha512-7x24b/ghbrQv2QRgqMR12H3ZZ38xYCKJSXfg21YCtnIE177/NyvMkeiuQdWauIgMjySaTZ+cd5PN2qvfbsGeSw==", + "dev": true, + "requires": { + "cosmiconfig": "5.0.6", + "cssnano-preset-default": "4.0.0", + "is-resolvable": "1.1.0", + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.0.tgz", + "integrity": "sha1-wzQoe099SfstFwqS+SFGVXiOO2s=", + "dev": true, + "requires": { + "css-declaration-sorter": "3.0.1", + "cssnano-util-raw-cache": "4.0.0", + "postcss": "6.0.23", + "postcss-calc": "6.0.1", + "postcss-colormin": "4.0.1", + "postcss-convert-values": "4.0.0", + "postcss-discard-comments": "4.0.0", + "postcss-discard-duplicates": "4.0.0", + "postcss-discard-empty": "4.0.0", + "postcss-discard-overridden": "4.0.0", + "postcss-merge-longhand": "4.0.5", + "postcss-merge-rules": "4.0.1", + "postcss-minify-font-values": "4.0.0", + "postcss-minify-gradients": "4.0.0", + "postcss-minify-params": "4.0.0", + "postcss-minify-selectors": "4.0.0", + "postcss-normalize-charset": "4.0.0", + "postcss-normalize-display-values": "4.0.0", + "postcss-normalize-positions": "4.0.0", + "postcss-normalize-repeat-style": "4.0.0", + "postcss-normalize-string": "4.0.0", + "postcss-normalize-timing-functions": "4.0.0", + "postcss-normalize-unicode": "4.0.0", + "postcss-normalize-url": "4.0.0", + "postcss-normalize-whitespace": "4.0.0", + "postcss-ordered-values": "4.1.0", + "postcss-reduce-initial": "4.0.1", + "postcss-reduce-transforms": "4.0.0", + "postcss-svgo": "4.0.0", + "postcss-unique-selectors": "4.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.0.tgz", + "integrity": "sha1-vgooVuJfGF9feivMBiTii38Xmp8=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.0.tgz", + "integrity": "sha1-0qPeEDmqmLxOwlAB+gUDMMKhbaw=", + "dev": true + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.29" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "dev": true, + "requires": { + "mdn-data": "1.1.4", + "source-map": "0.5.7" + } + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "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=", + "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": { + "object-keys": "1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "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.2" + } + }, + "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.2" + } + }, + "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" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "dependency-graph": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", + "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + }, + "dependencies": { + "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": { + "pify": "3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" + } + }, + "electron-to-chromium": { + "version": "1.3.62", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.62.tgz", + "integrity": "sha512-x09ndL/Gjnuk3unlAyoGyUg3wbs4w/bXurgL7wL913vXHAOWmMhrLf1VNGRaMLngmadd5Q8gsV9BFuIr6rP+Xg==", + "dev": true + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.0.0" + } + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "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": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.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 + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, + "requires": { + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "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 + }, + "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": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.2" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "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.6" + } + }, + "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.1" + } + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "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" + } + } + } + }, + "external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "dev": true, + "requires": { + "chardet": "0.7.0", + "iconv-lite": "0.4.24", + "tmp": "0.0.33" + } + }, + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.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.2" + } + }, + "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.1" + } + }, + "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.2" + } + }, + "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.2" + } + }, + "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" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.1", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.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.1" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.20" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-extra": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.11.0", + "node-pre-gyp": "0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "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.2" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "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.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "1.2.1" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "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=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "github-markdown-css": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-2.10.0.tgz", + "integrity": "sha512-RX5VUC54uX6Lvrm226M9kMzsNeOa81MnKyxb3J0G5KLjyoOySOZgwyKFkUpv6iUhooiUZdogk+OTwQPJ4WttYg==" + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global-modules-path": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", + "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==", + "dev": true + }, + "globby": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.3", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "7.1.3", + "lodash": "4.17.10", + "minimatch": "3.0.4" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "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.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "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" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "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.1" + } + }, + "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.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true + }, + "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": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "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": { + "safer-buffer": "2.1.2" + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "2.1.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "inquirer": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "3.0.3", + "figures": "2.0.0", + "lodash": "4.17.10", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "6.3.1", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "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": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "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=", + "dev": true, + "requires": { + "kind-of": "3.2.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.6" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "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=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "hex-color-regex": "1.1.0", + "hsl-regex": "1.0.0", + "hsla-regex": "1.0.0", + "rgb-regex": "1.0.1", + "rgba-regex": "1.0.0" + } + }, + "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.2.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.6" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "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.1.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 + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "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=", + "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=", + "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.1" + } + }, + "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=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.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.6" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "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 + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.3" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "1.1.1" + } + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "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==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "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 + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "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 + }, + "js-base64": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", + "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "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 + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "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 + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "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.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, + "dependencies": { + "parse-json": { + "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.3.2" + } + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "3.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.4.1" + } + }, + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "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.1" + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "mdn-data": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.2.0.tgz", + "integrity": "sha512-esDqNvsJB2q5V28+u7NdtdMg6Rmg4khQmAVSjUiX7BY/7haIv0K2yWM43hYp0or+3nvG7+UaTF1JHz31hgU1TA==", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + } + }, + "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.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "merge2": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", + "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true + }, + "mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "dev": true, + "requires": { + "mime-db": "1.36.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "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.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.3" + } + }, + "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": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", + "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "neo-async": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz", + "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.3", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.87.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + } + }, + "node-releases": { + "version": "1.0.0-alpha.11", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.11.tgz", + "integrity": "sha512-CaViu+2FqTNYOYNihXa5uPS/zry92I3vPU4nCB6JB3OeZ2UGtOpF5gRwuN4+m3hbEcL47bOXyun1jX2iC+3uEQ==", + "dev": true, + "requires": { + "semver": "5.5.1" + } + }, + "node-sass": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz", + "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==", + "dev": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.3", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.11.0", + "node-gyp": "3.8.0", + "npmlog": "4.1.2", + "request": "2.87.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.1", + "true-case-path": "1.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "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 + } + } + }, + "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.1.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.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.1", + "validate-npm-package-license": "3.0.4" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.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==", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "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=", + "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=", + "dev": true + }, + "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 + }, + "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.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "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.6" + } + }, + "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.6" + } + } + } + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "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=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.12.0" + } + }, + "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" + } + }, + "object.values": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz", + "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has": "1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "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 + }, + "os-locale": { + "version": "1.4.0", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "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==", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "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 + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" + } + }, + "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.2", + "json-parse-better-errors": "1.0.2" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "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=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "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 + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "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=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "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.4" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.3.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "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=", + "dev": true + }, + "postcss": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.2.tgz", + "integrity": "sha512-fmaUY5370keLUTx+CnwRxtGiuFTcNBLQBqr1oE3WZ/euIYmGAo0OAgOhVJ3ByDnVmOR3PK+0V9VebzfjRIUcqw==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "postcss-calc": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.1.tgz", + "integrity": "sha1-PSQXG79udinUIqQ26/5t2VEfQzA=", + "dev": true, + "requires": { + "css-unit-converter": "1.1.1", + "postcss": "6.0.23", + "postcss-selector-parser": "2.2.3", + "reduce-css-calc": "2.1.4" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-cli": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-6.0.0.tgz", + "integrity": "sha512-7DuxMn1Wj6dJKbjKpZXOdAc5nl5NfPXiJbg0m/+tdObPvgk1xv4+lZgNKD3jL/kCrDRPf1jgFlmq1cHh8lBR2w==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "chokidar": "2.0.4", + "dependency-graph": "0.7.2", + "fs-extra": "7.0.0", + "get-stdin": "6.0.0", + "globby": "8.0.1", + "postcss": "7.0.2", + "postcss-load-config": "2.0.0", + "postcss-reporter": "5.0.0", + "pretty-hrtime": "1.0.3", + "read-cache": "1.0.0", + "yargs": "12.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "3.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": "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 + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", + "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "2.0.0", + "find-up": "3.0.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "postcss-colormin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.1.tgz", + "integrity": "sha1-bxwYoBVbxpYT8v8ThD4uSuj/C74=", + "dev": true, + "requires": { + "browserslist": "4.1.0", + "color": "3.0.0", + "has": "1.0.3", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-convert-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.0.tgz", + "integrity": "sha1-d9d9mu0dxOaVbmUcw0nVMwWHb2I=", + "dev": true, + "requires": { + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.0.tgz", + "integrity": "sha1-loSimedrPpMmPvj9KtvxocCP2I0=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.0.tgz", + "integrity": "sha1-QvPCZ/hfqQngQsNXZ+z9Zcsr1yw=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.0.tgz", + "integrity": "sha1-VeGKWcdBKOOMfSgEvPpAVmEfuX8=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.0.tgz", + "integrity": "sha1-Sgv4WXh4TPH4HtLBwf2dlkodofo=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-load-config": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", + "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "dev": true, + "requires": { + "cosmiconfig": "4.0.0", + "import-cwd": "2.1.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", + "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0", + "require-from-string": "2.0.2" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.5.tgz", + "integrity": "sha512-tw2obF6I2VhXhPMObQc1QpQO850m3arhqP3PcBAU7Tx70v73QF6brs9uK0XKMNuC7BPo6DW+fh07cGhrLL57HA==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0", + "stylehacks": "4.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.1.tgz", + "integrity": "sha1-Qw/Vmz8u0uivzQsxJ47aOYVKuxA=", + "dev": true, + "requires": { + "browserslist": "4.1.0", + "caniuse-api": "3.0.0", + "cssnano-util-same-parent": "4.0.0", + "postcss": "6.0.23", + "postcss-selector-parser": "3.1.1", + "vendors": "1.0.2" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.0.tgz", + "integrity": "sha1-TMM9KD1qgXWQNudX75gdksvYW+0=", + "dev": true, + "requires": { + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.0.tgz", + "integrity": "sha1-P8ORZDnSepu4Bm23za2AFlDrCQ4=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "4.0.0", + "is-color-stop": "1.1.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-minify-params": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.0.tgz", + "integrity": "sha1-BekWbuSMBa9lGYnOhNOcG015BnQ=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "cssnano-util-get-arguments": "4.0.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.0.tgz", + "integrity": "sha1-sen2xGNBbT/Nyybnt4XZX2FXiq0=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.3", + "postcss": "6.0.23", + "postcss-selector-parser": "3.1.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.0.tgz", + "integrity": "sha1-JFJyknAtXoEp6vo9HeSe1RpqtzA=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", + "integrity": "sha1-lQ4Me+NEV3ChYP/9a2ZEw8DNj4k=", + "dev": true, + "requires": { + "cssnano-util-get-match": "4.0.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.0.tgz", + "integrity": "sha1-7pNDq5gbgixjq3JhXszNCFZERaM=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "4.0.0", + "has": "1.0.3", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.0.tgz", + "integrity": "sha1-txHFks8W+vn/V15C+hALZ5kIPv8=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "4.0.0", + "cssnano-util-get-match": "4.0.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.0.tgz", + "integrity": "sha1-cYy20wpvrGrGqDDjLAbAfbxm/l0=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.0.tgz", + "integrity": "sha1-A1HymIaqmB1D2RssK9GuptCvbSM=", + "dev": true, + "requires": { + "cssnano-util-get-match": "4.0.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.0.tgz", + "integrity": "sha1-Ws1dR7rqXRdnSyzMSuUWb6iM35c=", + "dev": true, + "requires": { + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.0.tgz", + "integrity": "sha1-t6nIrSbPJmlMFG6y1ovQz0mVbw0=", + "dev": true, + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "3.3.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.0.tgz", + "integrity": "sha1-HafnaxCuY8EYJ/oE/Du0oe/pnMA=", + "dev": true, + "requires": { + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.0.tgz", + "integrity": "sha512-gbqbEiONKKJgoOKhtzBjFqmHSzviPL4rv0ACVcFS7wxWXBY07agFXRQ7Y3eMGV0ZORzQXp2NGnj0c+imJG0NcA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "4.0.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.1.tgz", + "integrity": "sha1-8tWPUM6isMXcEnjW6l7Q/1gpwpM=", + "dev": true, + "requires": { + "browserslist": "4.1.0", + "caniuse-api": "3.0.0", + "has": "1.0.3", + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.0.tgz", + "integrity": "sha1-9kX8dEDDUnT0DegQThStcWPt8Yg=", + "dev": true, + "requires": { + "cssnano-util-get-match": "4.0.0", + "has": "1.0.3", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-reporter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-5.0.0.tgz", + "integrity": "sha512-rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "lodash": "4.17.10", + "log-symbols": "2.2.0", + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.0.tgz", + "integrity": "sha1-wLutAlIPxjbJ14sOhAPi5RXDIoU=", + "dev": true, + "requires": { + "is-svg": "3.0.0", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.0", + "svgo": "1.0.5" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.0.tgz", + "integrity": "sha1-BMHpdkx1h0JhMDQCxB8Ol2n8VQE=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "6.0.23", + "uniqs": "2.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "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=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "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==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "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 + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "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.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "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=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.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==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.4.tgz", + "integrity": "sha512-i/vWQbyd3aJRmip9OVSN9V6nIjLf/gg/ctxb0CpvHWtcRysFl/ngDBQD+rqavxdw/doScA3GMBXhzkHQ4GCzFQ==", + "dev": true, + "requires": { + "css-unit-converter": "1.1.1", + "postcss-value-parser": "3.3.0" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "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=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.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.20", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "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 + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, + "rxjs": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.1.tgz", + "integrity": "sha512-hRVfb1Mcf8rLXq1AZEjYpzBnQbO7Duveu1APXkWRTvqzhmkoQ40Pl2F9Btacx+gJCOqsMiugCGG4I2HPQgJRtA==", + "dev": true, + "requires": { + "tslib": "1.9.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "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.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "7.1.3", + "lodash": "4.17.10", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "6.5.3", + "ajv-keywords": "3.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "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 + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "2.4.9", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "dev": true + }, + "serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "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==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.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.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "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": { + "shebang-regex": "1.0.0" + } + }, + "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 + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "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": { + "is-arrayish": "0.3.2" + }, + "dependencies": { + "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 + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "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==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.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.6" + } + }, + "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.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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.1", + "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.2" + } + }, + "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.2" + } + }, + "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.2" + } + }, + "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" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.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.6" + } + } + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "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==", + "dev": true, + "requires": { + "atob": "2.1.2", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.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 + }, + "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==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "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==", + "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.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "dev": true, + "requires": { + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "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.6" + } + } + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "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.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.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.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "stylehacks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.0.tgz", + "integrity": "sha1-ZLMjlRxKJOX8ey7AbBN78y0VXoo=", + "dev": true, + "requires": { + "browserslist": "4.1.0", + "postcss": "6.0.23", + "postcss-selector-parser": "3.1.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + } + } + }, + "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" + } + }, + "svgo": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.0.5.tgz", + "integrity": "sha512-nYrifviB77aNKDNKKyuay3M9aYiK6Hv5gJVDdjj2ZXTQmI8WZc8+UPLR5IpVlktJfSu3co/4XcWgrgI6seGBPg==", + "dev": true, + "requires": { + "coa": "2.0.1", + "colors": "1.1.2", + "css-select": "1.3.0-rc0", + "css-select-base-adapter": "0.1.0", + "css-tree": "1.0.0-alpha25", + "css-url-regex": "1.1.0", + "csso": "3.5.1", + "js-yaml": "3.10.0", + "mkdirp": "0.5.1", + "object.values": "1.0.4", + "sax": "1.2.4", + "stable": "0.1.8", + "unquote": "1.1.1", + "util.promisify": "1.0.0" + }, + "dependencies": { + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + } + } + }, + "tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "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.3.6", + "xtend": "4.0.1" + } + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "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": { + "os-tmpdir": "1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "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=", + "dev": true, + "requires": { + "kind-of": "3.2.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.6" + } + } + } + }, + "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" + } + }, + "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=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, + "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==", + "dev": true, + "requires": { + "punycode": "1.4.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 + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "7.1.3" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "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 + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + } + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.7", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.2.0", + "worker-farm": "1.6.0" + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "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.1" + } + }, + "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.4", + "to-object-path": "0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "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=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "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.6", + "has-values": "0.1.4", + "isobject": "2.1.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 + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "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.1" + }, + "dependencies": { + "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 + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "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 + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", + "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "dev": true + }, + "validate-npm-package-license": { + "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" + } + }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "2.0.4", + "graceful-fs": "4.1.11", + "neo-async": "2.5.2" + } + }, + "webpack": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.17.2.tgz", + "integrity": "sha512-hCK8FPco2Paz9FVMlo3ZdVd7Jsr7qxoiEwhd7f4dMaWBLZtc7E+/9QNee4CYHlVSvpmspWBnhFpx4MiWSl3nNg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/wasm-edit": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "acorn": "5.7.2", + "acorn-dynamic-import": "3.0.0", + "ajv": "6.5.3", + "ajv-keywords": "3.2.0", + "chrome-trace-event": "1.0.0", + "enhanced-resolve": "4.1.0", + "eslint-scope": "4.0.0", + "json-parse-better-errors": "1.0.2", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "neo-async": "2.5.2", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.7", + "tapable": "1.0.0", + "uglifyjs-webpack-plugin": "1.3.0", + "watchpack": "1.6.0", + "webpack-sources": "1.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "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 + } + } + }, + "webpack-cli": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz", + "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "global-modules-path": "2.3.0", + "import-local": "1.0.0", + "inquirer": "6.2.0", + "interpret": "1.1.0", + "loader-utils": "1.1.0", + "supports-color": "5.5.0", + "v8-compile-cache": "2.0.2", + "yargs": "12.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "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.5", + "path-key": "2.0.1", + "semver": "5.5.1", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "3.0.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 + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", + "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "2.0.0", + "find-up": "3.0.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "webpack-sources": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", + "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "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" + } + }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dev": true, + "requires": { + "errno": "0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/themes/conventional-commits/package.json b/themes/conventional-commits/package.json new file mode 100644 index 0000000..b71df61 --- /dev/null +++ b/themes/conventional-commits/package.json @@ -0,0 +1,33 @@ +{ + "name": "hugo-conventional-commits-theme", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "npm run css:watch & npm run js:watch", + "css": "node-sass ./static/css/scss/style.scss -o ./static/css", + "css:watch": "npm run css -- -w", + "css:autoprefixer": "postcss --no-map --use autoprefixer -o ./static/css/style.css ./static/css/style.css", + "css:nano": "postcss --no-map --use cssnano -o ./static/css/style.css ./static/css/style.css", + "css:build": "npm run css && npm run css:autoprefixer && npm run css:nano", + "js": "webpack --mode=development ./static/js/index.js -o ./static/js/bundle.js", + "js:watch": "npm run js -- --watch", + "js:build": "webpack --mode=production ./static/js/index.js -o ./static/js/bundle.js", + "build": "npm run css:build && npm run js:build" + }, + "author": "", + "license": "MIT", + "dependencies": { + "anchor-js": "^4.1.1", + "github-markdown-css": "^2.10.0" + }, + "devDependencies": { + "autoprefixer": "^9.1.3", + "cssnano": "^4.1.0", + "node-sass": "^4.9.3", + "postcss": "^7.0.2", + "postcss-cli": "^6.0.0", + "webpack": "^4.17.1", + "webpack-cli": "^3.1.0" + } +} diff --git a/themes/conventional-commits/static/css/index.css b/themes/conventional-commits/static/css/index.css new file mode 100644 index 0000000..e69de29 diff --git a/themes/conventional-commits/static/css/scss/abstracts/_functions.scss b/themes/conventional-commits/static/css/scss/abstracts/_functions.scss new file mode 100644 index 0000000..d95a547 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/abstracts/_functions.scss @@ -0,0 +1,11 @@ +@import "./../abstracts/variables"; + + +@function get-color-accessible-for-background($color) { + @if (lightness( $color ) > 50) { + @return darken($color, 60%) + } + @else { + @return lighten($color, 60%) + } +} diff --git a/themes/conventional-commits/static/css/scss/abstracts/_mixins.scss b/themes/conventional-commits/static/css/scss/abstracts/_mixins.scss new file mode 100644 index 0000000..4a54886 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/abstracts/_mixins.scss @@ -0,0 +1,29 @@ +@import "variables"; + +@mixin tablet { + @media (min-width: #{$tablet-width}) and (max-width: #{$desktop-width - 1px}) { + @content; + } +} + +@mixin desktop { + @media (min-width: #{$desktop-width}) { + @content; + } +} + +@mixin gradient-primary($deg: 45deg) { + background: linear-gradient($deg, $color-primary 0%, $color-primary-light 100%); +} + +@mixin dropdown-animation-visible { + visibility: visible; + opacity: 1; + transform: translate(-50%, $dropdown-options-space-from-label); +} + +@mixin dropdown-animation-hidden { + visibility: hidden; + opacity: 0; + transform: translate(-50%, 0); +} diff --git a/themes/conventional-commits/static/css/scss/abstracts/_variables.scss b/themes/conventional-commits/static/css/scss/abstracts/_variables.scss new file mode 100644 index 0000000..2b2ac29 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/abstracts/_variables.scss @@ -0,0 +1,40 @@ +$color-primary: #FE5196; +$color-primary-light: #F77062; +$color-neutral-light: #FFF; +$color-neutral-dark: #000; + +$color-primary-heading: #FA6673; + +$gap-sm: 8px; +$gap-md: 24px; +$gap-lg: 48px; + +$radius-md: 4px; +$radius-lg: 8px; + +$shadow-soft: 0 2px 10px 0 rgba(0, 0, 0, .03), 0 2px 20px 10px rgba(0, 0, 0, 0.02); + +$tablet-width: 768px; +$desktop-width: 1024px; + +$header-height: 56px; +$footer-logo-size: 24px; + +$welcome-min-height: 450px; +$welcome-height: 100vh; +$welcome-action-color: $color-neutral-light; + +$main-background: $color-neutral-light; +$article-background: $color-neutral-light; +$article-offset-top: -$header-height + -$gap-sm; + +$dropdown-padding: 12px 16px; +$dropdown-border-radius: $radius-md; +$dropdown-animation-timing: .4s; +$dropdown-label-background-color: transparent; +$dropdown-arrow-size: 10px; +$dropdown-options-background-color: $color-neutral-light; +$dropdown-options-space-from-label: $gap-sm; +$dropdown-option-border-bottom-color: rgba($color-neutral-dark, .04); + +$banner-image-height: 300px; diff --git a/themes/conventional-commits/static/css/scss/abstracts/index.scss b/themes/conventional-commits/static/css/scss/abstracts/index.scss new file mode 100644 index 0000000..3a4b209 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/abstracts/index.scss @@ -0,0 +1,4 @@ +@import './variables'; +@import './mixins'; +@import './functions'; + diff --git a/themes/conventional-commits/static/css/scss/base/_base.scss b/themes/conventional-commits/static/css/scss/base/_base.scss new file mode 100644 index 0000000..73a8c17 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/base/_base.scss @@ -0,0 +1,51 @@ +@import "./../abstracts/index"; + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-tap-highlight-color: rgba($color-neutral-dark, 0); +} + +body { + position: relative; + min-height: 100vh; + font: 16px Helvetica, sans-serif; +} + +.container { + width: 100%; + max-width: $desktop-width; + margin-left: auto; + margin-right: auto; + padding-left: $gap-md; + padding-right: $gap-md; +} + +main { + background-color: $main-background; +} + +article { + background-color: $article-background; + transform: translateY($article-offset-top); + padding-top: $gap-md; + padding-bottom: $gap-md; + border-radius: $radius-lg; + min-height: 50vh; + box-shadow: $shadow-soft; +} + +@include desktop { + .container { + padding-left: $gap-lg; + padding-right: $gap-lg; + } + + article { + padding-top: $gap-lg - $gap-sm; + padding-bottom: $gap-lg - $gap-sm; + } +} diff --git a/themes/conventional-commits/static/css/scss/components/_banner-image.scss b/themes/conventional-commits/static/css/scss/components/_banner-image.scss new file mode 100644 index 0000000..2de13be --- /dev/null +++ b/themes/conventional-commits/static/css/scss/components/_banner-image.scss @@ -0,0 +1,19 @@ +@import "./../abstracts/index"; + +.banner-image { + width: 100%; + border-radius: $radius-md; + margin: $gap-lg 0; + box-shadow: $shadow-soft; + @include gradient-primary(14deg); + + img.banner-image__picture { + display: block; + width: 100%; + min-height: 100px; + max-height: $banner-image-height; + object-fit: contain; + margin: auto; + background-color: transparent; + } +} diff --git a/themes/conventional-commits/static/css/scss/components/_dropdown.scss b/themes/conventional-commits/static/css/scss/components/_dropdown.scss new file mode 100644 index 0000000..aeb4964 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/components/_dropdown.scss @@ -0,0 +1,107 @@ +@import "./../abstracts/index"; + +@keyframes show { + from { + @include dropdown-animation-hidden; + } + to { + @include dropdown-animation-visible; + } +} + +@keyframes hide { + from { + @include dropdown-animation-visible; + } + to { + @include dropdown-animation-hidden; + } +} + +.dropdown { + position: relative; + min-width: 110px; + + &__label { + display: block; + width: 100%; + appearance: none; + border: none; + outline: none; + font-size: inherit; + color: inherit; + text-decoration: inherit; + text-transform: inherit; + text-align: center; + padding: $dropdown-padding; + background-color: $dropdown-label-background-color; + border-radius: $dropdown-border-radius; + &:after { + display: none; + content: ''; + width: 100%; + height: $dropdown-options-space-from-label * 1.5; + position: absolute; + top: 100%; + left: 0; + background-color: transparent; + } + } + + &__options { + visibility: visible; + min-width: 100%; + position: absolute; + top: 100%; + left: 50%; + transform: translate(-50%, 0); + list-style: none; + background-color: $dropdown-options-background-color; + border-radius: $dropdown-border-radius; + box-shadow: $shadow-soft; + animation: hide $dropdown-animation-timing/2 ease forwards; + &:before { + content: ''; + width: 0; + height: 0; + position: absolute; + top: 0; + left: 50%; + border-style: solid; + border-width: 0 $dropdown-arrow-size ($dropdown-arrow-size/2) $dropdown-arrow-size; + border-color: transparent transparent $dropdown-options-background-color transparent; + transform: translate(-50%, -100%); + } + } + + &__option { + a { + display: block; + padding: $dropdown-padding; + color: rgba(black, .6); + text-decoration: none; + border-bottom: 1px solid $dropdown-option-border-bottom-color; + transition: background-color .3s ease, color .3s ease; + text-transform: none; + font-weight: normal; + &:hover, + &:focus { + color: $color-primary; + background-color: rgba($color-neutral-dark, .025); + } + } + &:last-child a { + border-bottom: none; + } + } + + &:hover &__label:after, &:hover &__options, + &:focus &__label:after, &:focus &__options { + display: block; + } + + &:hover &__options, + &:focus &__options { + animation: show $dropdown-animation-timing ease forwards; + } +} diff --git a/themes/conventional-commits/static/css/scss/layout/_footer.scss b/themes/conventional-commits/static/css/scss/layout/_footer.scss new file mode 100644 index 0000000..ecbe9c6 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/layout/_footer.scss @@ -0,0 +1,35 @@ +@import "./../abstracts/index"; + +.footer { + margin: ($article-offset-top + ($gap-md*3)) 0 ($gap-md*3); + + .container { + display: flex; + align-items: center; + } + + &__license { + margin-right: auto; + a { + font-size: .7em; + text-decoration: none; + color: inherit; + &:hover { + text-decoration: underline; + } + } + } + + &__logos { + margin-left: auto; + } + + &__logo { + display: flex; + } + + .github { + width: $footer-logo-size; + height: $footer-logo-size; + } +} diff --git a/themes/conventional-commits/static/css/scss/layout/_header.scss b/themes/conventional-commits/static/css/scss/layout/_header.scss new file mode 100644 index 0000000..4837a62 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/layout/_header.scss @@ -0,0 +1,40 @@ +@import "./../abstracts/index"; + +.header { + position: absolute; + z-index: 10; + top: 12px; + left: 0; + width: 100%; + + .container { + display: flex; + align-items: center; + justify-content: space-between; + height: $header-height; + font-size: .8em; + font-weight: bold; + text-transform: uppercase; + } + + .logo { + width: 30px; + height: 30px; + background-color: transparent; + border: 2px solid #FFF; + border-radius: 50%; + } + + &__menu { + display: flex; + color: $color-neutral-light; + list-style: none; + } + + &__menu-item { + margin-right: $gap-sm; + &:last-child { + margin-right: 0; + } + } +} diff --git a/themes/conventional-commits/static/css/scss/layout/_welcome.scss b/themes/conventional-commits/static/css/scss/layout/_welcome.scss new file mode 100644 index 0000000..f495749 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/layout/_welcome.scss @@ -0,0 +1,80 @@ +@import "./../abstracts/index"; + +.welcome { + position: relative; + z-index: 0; + background: $color-primary; + @include gradient-primary(); + + .container { + position: relative; + z-index: 2; + display: flex; + flex-direction: column; + justify-content: center; + height: $welcome-height; + min-height: $welcome-min-height; + color: $color-neutral-light; + } + + &__title { + font-size: 3em; + margin-bottom: $gap-sm; + @include desktop { + font-size: 3.6em; + } + } + + &__description { + font-size: 18px; + } + + &__actions { + display: flex; + margin-top: ($gap-lg * 3)/2; + } + + &__action { + padding: 12px 16px; + border-radius: 50px; + text-decoration: none; + color: $welcome-action-color; + border: 1px solid $welcome-action-color; + margin-right: $gap-md; + transition: background-color .3s ease, color .3s ease; + &:last-child { + margin-right: 0; + } + &:hover { + background-color: $welcome-action-color; + color: get-color-accessible-for-background($welcome-action-color) + } + } + + &__image { + display: none; + } +} + +@include desktop { + .welcome__image { + display: flex; + justify-content: center; + align-items: center; + z-index: -1; + position: absolute; + top: 50%; + right: 0; + height: 70%; + width: 24%; + overflow: hidden; + transform: translate(0, -50%); + img { + display: block; + margin: auto; + max-width: 200px; + max-height: 100%; + } + } +} + diff --git a/themes/conventional-commits/static/css/scss/style.scss b/themes/conventional-commits/static/css/scss/style.scss new file mode 100644 index 0000000..68b5383 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/style.scss @@ -0,0 +1,9 @@ +@import 'base/base'; +@import 'layout/header'; +@import 'layout/footer'; +@import 'layout/welcome'; +@import "components/dropdown"; +@import "components/banner-image"; +@import "themes/markdown"; +@import "themes/conventional-commits"; +@import "vendors/github-markdown-css"; diff --git a/themes/conventional-commits/static/css/scss/themes/_conventional-commits.scss b/themes/conventional-commits/static/css/scss/themes/_conventional-commits.scss new file mode 100644 index 0000000..3682734 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/themes/_conventional-commits.scss @@ -0,0 +1,6 @@ +.conventional-commits--loading { + .dropdown__options { + height: 0 !important; + box-shadow: none !important; + } +} diff --git a/themes/conventional-commits/static/css/scss/themes/_markdown.scss b/themes/conventional-commits/static/css/scss/themes/_markdown.scss new file mode 100644 index 0000000..c9aa263 --- /dev/null +++ b/themes/conventional-commits/static/css/scss/themes/_markdown.scss @@ -0,0 +1,14 @@ +@import "./../abstracts/index"; + +main article.markdown-body { + h1{ + font-size: 2.3em; + } + h1, h2, h3, h4, h5, h6, a { + font-weight: bold; + color: $color-primary-heading; + } + a.anchorjs-link:hover { + text-decoration: none; + } +} diff --git a/themes/conventional-commits/static/css/scss/vendors/github-markdown-css.scss b/themes/conventional-commits/static/css/scss/vendors/github-markdown-css.scss new file mode 100644 index 0000000..5ed5bab --- /dev/null +++ b/themes/conventional-commits/static/css/scss/vendors/github-markdown-css.scss @@ -0,0 +1 @@ +@import "./../../../../node_modules/github-markdown-css/github-markdown"; diff --git a/themes/conventional-commits/static/css/style.css b/themes/conventional-commits/static/css/style.css new file mode 100644 index 0000000..50921f4 --- /dev/null +++ b/themes/conventional-commits/static/css/style.css @@ -0,0 +1 @@ +*{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box;margin:0;padding:0}body{font:16px Helvetica,sans-serif;min-height:100vh;position:relative}.container{margin-left:auto;margin-right:auto;max-width:1024px;padding-left:24px;padding-right:24px;width:100%}article,main{background-color:#fff}article{-webkit-transform:translateY(-64px);border-radius:8px;box-shadow:0 2px 10px 0 rgba(0,0,0,.03),0 2px 20px 10px rgba(0,0,0,.02);min-height:50vh;padding-bottom:24px;padding-top:24px;transform:translateY(-64px)}@media (min-width:1024px){.container{padding-left:48px;padding-right:48px}article{padding-bottom:40px;padding-top:40px}}.header{left:0;position:absolute;top:12px;width:100%;z-index:10}.header .container{align-items:center;display:flex;font-size:.8em;font-weight:700;height:56px;justify-content:space-between;text-transform:uppercase}.header .logo{background-color:transparent;border:2px solid #fff;border-radius:50%;height:30px;width:30px}.header__menu{color:#fff;display:flex;list-style:none}.header__menu-item{margin-right:8px}.header__menu-item:last-child{margin-right:0}.footer{margin:8px 0 72px}.footer .container{align-items:center;display:flex}.footer__license{margin-right:auto}.footer__license a{color:inherit;font-size:.7em;text-decoration:none}.footer__license a:hover{text-decoration:underline}.footer__logos{margin-left:auto}.footer__logo{display:flex}.footer .github{height:24px;width:24px}.welcome{background:#fe5196;background:linear-gradient(45deg,#fe5196,#f77062);position:relative;z-index:0}.welcome .container{color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center;min-height:450px;position:relative;z-index:2}.welcome__title{font-size:3em;margin-bottom:8px}@media (min-width:1024px){.welcome__title{font-size:3.6em}}.welcome__description{font-size:18px}.welcome__actions{display:flex;margin-top:72px}.welcome__action{border:1px solid #fff;border-radius:50px;color:#fff;margin-right:24px;padding:12px 16px;text-decoration:none;transition:background-color .3s ease,color .3s ease}.welcome__action:last-child{margin-right:0}.welcome__action:hover{background-color:#fff;color:#666}.welcome__image{display:none}@media (min-width:1024px){.welcome__image{-webkit-transform:translateY(-50%);align-items:center;display:flex;height:70%;justify-content:center;overflow:hidden;position:absolute;right:0;top:50%;transform:translateY(-50%);width:24%;z-index:-1}.welcome__image img{display:block;margin:auto;max-height:100%;max-width:200px}}@-webkit-keyframes show{0%{-webkit-transform:translate(-50%);opacity:0;transform:translate(-50%);visibility:hidden}to{-webkit-transform:translate(-50%,8px);opacity:1;transform:translate(-50%,8px);visibility:visible}}@keyframes show{0%{-webkit-transform:translate(-50%);opacity:0;transform:translate(-50%);visibility:hidden}to{-webkit-transform:translate(-50%,8px);opacity:1;transform:translate(-50%,8px);visibility:visible}}@-webkit-keyframes hide{0%{-webkit-transform:translate(-50%,8px);opacity:1;transform:translate(-50%,8px);visibility:visible}to{-webkit-transform:translate(-50%);opacity:0;transform:translate(-50%);visibility:hidden}}@keyframes hide{0%{-webkit-transform:translate(-50%,8px);opacity:1;transform:translate(-50%,8px);visibility:visible}to{-webkit-transform:translate(-50%);opacity:0;transform:translate(-50%);visibility:hidden}}.dropdown{min-width:110px;position:relative}.dropdown__label{-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:4px;color:inherit;display:block;font-size:inherit;outline:none;padding:12px 16px;text-align:center;text-decoration:inherit;text-transform:inherit;width:100%}.dropdown__label:after{background-color:transparent;content:"";display:none;height:12px;left:0;position:absolute;top:100%;width:100%}.dropdown__options{-webkit-animation:hide .2s ease forwards;-webkit-transform:translate(-50%,8px);animation:hide .2s ease forwards;background-color:#fff;border-radius:4px;box-shadow:0 2px 10px 0 rgba(0,0,0,.03),0 2px 20px 10px rgba(0,0,0,.02);left:50%;list-style:none;min-width:100%;overflow:hidden;position:absolute;top:100%;transform:translate(-50%,8px);visibility:visible}.dropdown__option a{border-bottom:1px solid rgba(0,0,0,.04);color:rgba(0,0,0,.6);display:block;font-weight:400;padding:12px 16px;text-decoration:none;text-transform:none;transition:background-color .3s ease,color .3s ease}.dropdown__option a:focus,.dropdown__option a:hover{background-color:rgba(0,0,0,.025);color:#fe5196}.dropdown__option:last-child a{border-bottom:none}.dropdown:focus .dropdown__label:after,.dropdown:focus .dropdown__options,.dropdown:hover .dropdown__label:after,.dropdown:hover .dropdown__options{display:block}.dropdown:focus .dropdown__options,.dropdown:hover .dropdown__options{-webkit-animation:show .4s ease forwards;animation:show .4s ease forwards}.banner-image{background:linear-gradient(14deg,#fe5196,#f77062);border-radius:4px;box-shadow:0 2px 10px 0 rgba(0,0,0,.03),0 2px 20px 10px rgba(0,0,0,.02);margin:48px 0;width:100%}.banner-image img.banner-image__picture{-o-object-fit:contain;background-color:transparent;display:block;margin:auto;max-height:300px;min-height:100px;object-fit:contain;width:100%}main article.markdown-body h1{font-size:2.3em}main article.markdown-body a,main article.markdown-body h1,main article.markdown-body h2,main article.markdown-body h3,main article.markdown-body h4,main article.markdown-body h5,main article.markdown-body h6{color:#fa6673;font-weight:700}main article.markdown-body a.anchorjs-link:hover{text-decoration:none}.conventional-commits--loading .dropdown__options{box-shadow:none!important;height:0!important}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,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) format("woff")}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{background-color:#b31d28;color:#fafbfc}.markdown-body .pl-c2{background-color:#d73a49;color:#fafbfc}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{color:#22863a;font-weight:700}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#005cc5;font-weight:700}.markdown-body .pl-mi{color:#24292e;font-style:italic}.markdown-body .pl-mb{color:#24292e;font-weight:700}.markdown-body .pl-md{background-color:#ffeef0;color:#b31d28}.markdown-body .pl-mi1{background-color:#f0fff4;color:#22863a}.markdown-body .pl-mc{background-color:#ffebda;color:#e36209}.markdown-body .pl-mi2{background-color:#005cc5;color:#f6f8fa}.markdown-body .pl-mdr{color:#6f42c1;font-weight:700}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{color:#032f62;text-decoration:underline}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-top}.markdown-body a{background-color:transparent}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{background:transparent;border-bottom:1px solid #dfe2e5;height:0;margin:15px 0;overflow:hidden}.markdown-body hr:after,.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both}.markdown-body table{border-collapse:collapse;border-spacing:0}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-bottom:0;margin-top:0}.markdown-body h1{font-size:32px;font-weight:600}.markdown-body h2{font-size:24px;font-weight:600}.markdown-body h3{font-size:20px;font-weight:600}.markdown-body h4{font-size:16px;font-weight:600}.markdown-body h5{font-size:14px;font-weight:600}.markdown-body h6{font-size:12px;font-weight:600}.markdown-body p{margin-bottom:10px;margin-top:0}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body .octicon{vertical-align:text-bottom}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;font-size:11px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{background-color:#fff;box-sizing:content-box;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body code{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:transparent;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{background-color:#f6f8fa;border-radius:3px;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body .full-commit .btn-outline:not(:disabled):hover{border-color:#005cc5;color:#005cc5}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body :checked+.radio-label{border-color:#0366d6;position:relative;z-index:1}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee} \ No newline at end of file diff --git a/themes/conventional-commits/static/css/style.min.css b/themes/conventional-commits/static/css/style.min.css new file mode 100644 index 0000000..582d51d --- /dev/null +++ b/themes/conventional-commits/static/css/style.min.css @@ -0,0 +1 @@ +*{box-sizing:border-box;margin:0;padding:0}body{font:16px Helvetica,sans-serif;min-height:100vh;position:relative}.container{margin-left:auto;margin-right:auto;max-width:1024px;padding-left:24px;padding-right:24px;width:100%}article,main{background-color:#fff}article{-webkit-transform:translateY(-72px);border-radius:8px;box-shadow:0 2px 10px 0 rgba(0,0,0,.03),0 2px 20px 10px rgba(0,0,0,.02);min-height:50vh;padding-bottom:24px;padding-top:24px;transform:translateY(-72px)}main article.markdown-body a,main article.markdown-body h1,main article.markdown-body h2{color:#00ca9d}@media (min-width:1024px){.container{padding-left:48px;padding-right:48px}article{padding-bottom:40px;padding-top:40px}}.header{left:0;position:absolute;top:0;width:100%}.header .container{align-items:center;display:flex;height:56px;justify-content:space-between}.welcome{background:#00ca9d;background:linear-gradient(45deg,#00ca9d,#bff3af)}.welcome .container{display:flex;flex-direction:column;height:100vh;justify-content:center;min-height:300px}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,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) format("woff")}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{background-color:#b31d28;color:#fafbfc}.markdown-body .pl-c2{background-color:#d73a49;color:#fafbfc}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{color:#22863a;font-weight:700}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#005cc5;font-weight:700}.markdown-body .pl-mi{color:#24292e;font-style:italic}.markdown-body .pl-mb{color:#24292e;font-weight:700}.markdown-body .pl-md{background-color:#ffeef0;color:#b31d28}.markdown-body .pl-mi1{background-color:#f0fff4;color:#22863a}.markdown-body .pl-mc{background-color:#ffebda;color:#e36209}.markdown-body .pl-mi2{background-color:#005cc5;color:#f6f8fa}.markdown-body .pl-mdr{color:#6f42c1;font-weight:700}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{color:#032f62;text-decoration:underline}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-top}.markdown-body a{background-color:transparent}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{background:transparent;border-bottom:1px solid #dfe2e5;height:0;margin:15px 0;overflow:hidden}.markdown-body hr:after,.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both}.markdown-body table{border-collapse:collapse;border-spacing:0}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-bottom:0;margin-top:0}.markdown-body h1{font-size:32px;font-weight:600}.markdown-body h2{font-size:24px;font-weight:600}.markdown-body h3{font-size:20px;font-weight:600}.markdown-body h4{font-size:16px;font-weight:600}.markdown-body h5{font-size:14px;font-weight:600}.markdown-body h6{font-size:12px;font-weight:600}.markdown-body p{margin-bottom:10px;margin-top:0}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body .octicon{vertical-align:text-bottom}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;font-size:11px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{background-color:#fff;box-sizing:content-box;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body code{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:transparent;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{background-color:#f6f8fa;border-radius:3px;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body .full-commit .btn-outline:not(:disabled):hover{border-color:#005cc5;color:#005cc5}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body :checked+.radio-label{border-color:#0366d6;position:relative;z-index:1}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee} \ No newline at end of file diff --git a/themes/conventional-commits/static/img/git-flow--welcome.png b/themes/conventional-commits/static/img/git-flow--welcome.png new file mode 100644 index 0000000000000000000000000000000000000000..f5efd5b247ff466dd5e9fd953bb98c48c06b2c58 GIT binary patch literal 61428 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
  • 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 htji73K5QgR`qJ?Pu!i_F`O5CzGO?IJH(e05& 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 N?~Z`&m0KfE{vWTo5gz~m literal 0 HcmV?d00001 diff --git a/themes/conventional-commits/static/img/git-flow.svg b/themes/conventional-commits/static/img/git-flow.svg new file mode 100644 index 0000000..a528484 --- /dev/null +++ b/themes/conventional-commits/static/img/git-flow.svg @@ -0,0 +1,343 @@ + + + + Flow + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/conventional-commits/static/js/bundle.js b/themes/conventional-commits/static/js/bundle.js new file mode 100644 index 0000000..96a5dd9 --- /dev/null +++ b/themes/conventional-commits/static/js/bundle.js @@ -0,0 +1 @@ +!function(A){var e={};function t(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return A[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=A,t.c=e,t.d=function(A,e,n){t.o(A,e)||Object.defineProperty(A,e,{enumerable:!0,get:n})},t.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},t.t=function(A,e){if(1&e&&(A=t(A)),8&e)return A;if(4&e&&"object"==typeof A&&A&&A.__esModule)return A;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:A}),2&e&&"string"!=typeof A)for(var o in A)t.d(n,o,function(e){return A[e]}.bind(null,o));return n},t.n=function(A){var e=A&&A.__esModule?function(){return A.default}:function(){return A};return t.d(e,"a",e),e},t.o=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},t.p="",t(t.s=1)}([function(A,e,t){var n,o,i;!function(t,s){"use strict";o=[],void 0===(i="function"==typeof(n=function(){return function(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var n,o,i,s,r,a,c,l,h,u,d,f=[];if(e(this.options),"touch"===(d=this.options.visible)&&(d=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(n=t(A)).length)return this;for(function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),o=document.querySelectorAll("[id]"),i=[].map.call(o,function(A){return A.id}),r=0;r\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&(" "+A.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}})?n.apply(e,o):n)||(A.exports=i)}()},function(A,e,t){"use strict";t.r(e);var n=t(0);new class{constructor(A){this.anchors=A,this.onInit()}_addEventListeners(){window.addEventListener("load",()=>{setTimeout(()=>this._onPageLoaded(),0)})}_onPageLoaded(){this.removeLoadingClass()}onInit(){this.addAnchorsLinks(),this._addEventListeners()}addAnchorsLinks(){this.anchors.options={placement:"left"},this.anchors.add()}removeLoadingClass(){document.body.classList.remove("conventional-commits--loading")}}(new(t.n(n).a))}]); \ No newline at end of file diff --git a/themes/conventional-commits/static/js/index.js b/themes/conventional-commits/static/js/index.js new file mode 100644 index 0000000..6ddc6a4 --- /dev/null +++ b/themes/conventional-commits/static/js/index.js @@ -0,0 +1,37 @@ +import AnchorJS from 'anchor-js'; + +class App { + constructor(anchors) { + this.anchors = anchors; + this.onInit(); + } + + _addEventListeners() { + // using 'load' instead of 'DOMContentLoaded' because we want to wait the css + // https://javascript.info/onload-ondomcontentloaded + window.addEventListener('load', () => { + // wrapped in a timeout for wait css parsing + setTimeout(() => this._onPageLoaded(), 0); + }); + } + + _onPageLoaded() { + this.removeLoadingClass(); + } + + onInit() { + this.addAnchorsLinks(); + this._addEventListeners(); + } + + addAnchorsLinks() { + this.anchors.options = {placement: 'left'}; + this.anchors.add(); + } + + removeLoadingClass() { + document.body.classList.remove('conventional-commits--loading'); + } +} + +const app = new App(new AnchorJS()); diff --git a/themes/conventional-commits/theme.toml b/themes/conventional-commits/theme.toml new file mode 100644 index 0000000..f67c351 --- /dev/null +++ b/themes/conventional-commits/theme.toml @@ -0,0 +1,7 @@ +name = "Conventional Commits" +license = "MIT" +description = "Hugo theme for Conventional Commits website" +homepage = "https://github.com/lorenzodianni/hugo-conventional-commits-theme" +tags = [] +features = [] +min_version = "0.42"