summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClement Ho <ClemMakesApps@gmail.com>2017-05-19 18:56:02 -0500
committerClement Ho <ClemMakesApps@gmail.com>2017-05-19 20:04:26 -0500
commit44765724b105eaf29e1ac689d5509cb3dc416216 (patch)
tree3b60d5043e32e9b4e6281ce24940c486b8bdf1a9
parent9d2d104293f7a4e012de14c6df2601aa59bfe884 (diff)
downloadgitlab-ce-add-svg-optimizer.tar.gz
Test svg optimizeradd-svg-optimizer
-rw-r--r--.gitlab-ci.yml545
-rw-r--r--package.json2
-rw-r--r--scripts/check_svg.js57
-rw-r--r--yarn.lock25
4 files changed, 81 insertions, 548 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 45f1638f871..23941e61eac 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,545 +1,6 @@
image: "dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6"
-cache:
- key: "ruby-233-with-yarn"
- paths:
- - vendor/ruby
- - .yarn-cache/
-
-variables:
- MYSQL_ALLOW_EMPTY_PASSWORD: "1"
- RAILS_ENV: "test"
- NODE_ENV: "test"
- SIMPLECOV: "true"
- GIT_DEPTH: "20"
- GIT_SUBMODULE_STRATEGY: "none"
- PHANTOMJS_VERSION: "2.1.1"
- GET_SOURCES_ATTEMPTS: "3"
- KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/rspec_report-master.json
- KNAPSACK_SPINACH_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/spinach_report-master.json
-
-before_script:
- - bundle --version
- - source scripts/utils.sh
- - source scripts/prepare_build.sh
-
-stages:
-- build
-- prepare
-- test
-- post-test
-- pages
-
-# Predefined scopes
-.dedicated-runner: &dedicated-runner
- tags:
- - gitlab-org
-
-.knapsack-state: &knapsack-state
- services: []
- variables:
- SETUP_DB: "false"
- USE_BUNDLE_INSTALL: "false"
- KNAPSACK_S3_BUCKET: "gitlab-ce-cache"
- cache:
- key: "knapsack"
- paths:
- - knapsack/
- artifacts:
- expire_in: 31d
- paths:
- - knapsack/
-
-.use-pg: &use-pg
- services:
- - postgres:latest
- - redis:alpine
-
-.use-mysql: &use-mysql
- services:
- - mysql:latest
- - redis:alpine
-
-.only-master-and-ee-or-mysql: &only-master-and-ee-or-mysql
- only:
- - /mysql/
- - master@gitlab-org/gitlab-ce
- - master@gitlab/gitlabhq
- - tags@gitlab-org/gitlab-ce
- - tags@gitlab/gitlabhq
- - //@gitlab-org/gitlab-ee
- - //@gitlab/gitlab-ee
-
-# Skip all jobs except the ones that begin with 'docs/'.
-# Used for commits including ONLY documentation changes.
-# https://docs.gitlab.com/ce/development/writing_documentation.html#testing
-.except-docs: &except-docs
- except:
- - /(^docs[\/-].*|.*-docs$)/
-
-.rspec-knapsack: &rspec-knapsack
- stage: test
- <<: *dedicated-runner
- script:
- - JOB_NAME=( $CI_JOB_NAME )
- - export CI_NODE_INDEX=${JOB_NAME[-2]}
- - export CI_NODE_TOTAL=${JOB_NAME[-1]}
- - export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
- - export KNAPSACK_GENERATE_REPORT=true
- - export CACHE_CLASSES=true
- - cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}
- - knapsack rspec "--color --format documentation"
- artifacts:
- expire_in: 31d
- when: always
- paths:
- - coverage/
- - knapsack/
- - tmp/capybara/
-
-.rspec-knapsack-pg: &rspec-knapsack-pg
- <<: *rspec-knapsack
- <<: *use-pg
- <<: *except-docs
-
-.rspec-knapsack-mysql: &rspec-knapsack-mysql
- <<: *rspec-knapsack
- <<: *use-mysql
- <<: *only-master-and-ee-or-mysql
- <<: *except-docs
-
-.spinach-knapsack: &spinach-knapsack
- stage: test
- <<: *dedicated-runner
- script:
- - JOB_NAME=( $CI_JOB_NAME )
- - export CI_NODE_INDEX=${JOB_NAME[-2]}
- - export CI_NODE_TOTAL=${JOB_NAME[-1]}
- - export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
- - export KNAPSACK_GENERATE_REPORT=true
- - export CACHE_CLASSES=true
- - cp ${KNAPSACK_SPINACH_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}
- - knapsack spinach "-r rerun" || retry '[[ -e tmp/spinach-rerun.txt ]] && bundle exec spinach -r rerun $(cat tmp/spinach-rerun.txt)'
- artifacts:
- expire_in: 31d
- when: always
- paths:
- - coverage/
- - knapsack/
- - tmp/capybara/
-
-.spinach-knapsack-pg: &spinach-knapsack-pg
- <<: *spinach-knapsack
- <<: *use-pg
- <<: *except-docs
-
-.spinach-knapsack-mysql: &spinach-knapsack-mysql
- <<: *spinach-knapsack
- <<: *use-mysql
- <<: *only-master-and-ee-or-mysql
- <<: *except-docs
-
-.only-canonical-masters: &only-canonical-masters
- only:
- - master@gitlab-org/gitlab-ce
- - master@gitlab-org/gitlab-ee
- - master@gitlab/gitlabhq
- - master@gitlab/gitlab-ee
-
-# Trigger a package build on omnibus-gitlab repository
-
-build-package:
- before_script: []
- services: []
- variables:
- SETUP_DB: "false"
- USE_BUNDLE_INSTALL: "false"
- stage: build
- when: manual
- script:
- - scripts/trigger-build
-
-# Prepare and merge knapsack tests
-knapsack:
- <<: *knapsack-state
- <<: *dedicated-runner
- <<: *except-docs
- stage: prepare
- script:
- - mkdir -p knapsack/${CI_PROJECT_NAME}/
- - wget -O $KNAPSACK_RSPEC_SUITE_REPORT_PATH http://${KNAPSACK_S3_BUCKET}.s3.amazonaws.com/$KNAPSACK_RSPEC_SUITE_REPORT_PATH || rm $KNAPSACK_RSPEC_SUITE_REPORT_PATH
- - wget -O $KNAPSACK_SPINACH_SUITE_REPORT_PATH http://${KNAPSACK_S3_BUCKET}.s3.amazonaws.com/$KNAPSACK_SPINACH_SUITE_REPORT_PATH || rm $KNAPSACK_SPINACH_SUITE_REPORT_PATH
- - '[[ -f $KNAPSACK_RSPEC_SUITE_REPORT_PATH ]] || echo "{}" > ${KNAPSACK_RSPEC_SUITE_REPORT_PATH}'
- - '[[ -f $KNAPSACK_SPINACH_SUITE_REPORT_PATH ]] || echo "{}" > ${KNAPSACK_SPINACH_SUITE_REPORT_PATH}'
-
-update-knapsack:
- <<: *knapsack-state
- <<: *dedicated-runner
- <<: *only-canonical-masters
- stage: post-test
- script:
- - scripts/merge-reports ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} knapsack/${CI_PROJECT_NAME}/rspec-pg_node_*.json
- - scripts/merge-reports ${KNAPSACK_SPINACH_SUITE_REPORT_PATH} knapsack/${CI_PROJECT_NAME}/spinach-pg_node_*.json
- - '[[ -z ${KNAPSACK_S3_BUCKET} ]] || scripts/sync-reports put $KNAPSACK_S3_BUCKET $KNAPSACK_RSPEC_SUITE_REPORT_PATH $KNAPSACK_SPINACH_SUITE_REPORT_PATH'
- - rm -f knapsack/${CI_PROJECT_NAME}/*_node_*.json
-
-setup-test-env:
- <<: *use-pg
- <<: *dedicated-runner
- <<: *except-docs
- stage: prepare
- script:
- - node --version
- - yarn install --pure-lockfile --cache-folder .yarn-cache
- - bundle exec rake gitlab:assets:compile
- - bundle exec ruby -Ispec -e 'require "spec_helper" ; TestEnv.init'
- artifacts:
- expire_in: 7d
- paths:
- - node_modules
- - public/assets
- - tmp/tests
-
-rspec-pg 0 20: *rspec-knapsack-pg
-rspec-pg 1 20: *rspec-knapsack-pg
-rspec-pg 2 20: *rspec-knapsack-pg
-rspec-pg 3 20: *rspec-knapsack-pg
-rspec-pg 4 20: *rspec-knapsack-pg
-rspec-pg 5 20: *rspec-knapsack-pg
-rspec-pg 6 20: *rspec-knapsack-pg
-rspec-pg 7 20: *rspec-knapsack-pg
-rspec-pg 8 20: *rspec-knapsack-pg
-rspec-pg 9 20: *rspec-knapsack-pg
-rspec-pg 10 20: *rspec-knapsack-pg
-rspec-pg 11 20: *rspec-knapsack-pg
-rspec-pg 12 20: *rspec-knapsack-pg
-rspec-pg 13 20: *rspec-knapsack-pg
-rspec-pg 14 20: *rspec-knapsack-pg
-rspec-pg 15 20: *rspec-knapsack-pg
-rspec-pg 16 20: *rspec-knapsack-pg
-rspec-pg 17 20: *rspec-knapsack-pg
-rspec-pg 18 20: *rspec-knapsack-pg
-rspec-pg 19 20: *rspec-knapsack-pg
-
-rspec-mysql 0 20: *rspec-knapsack-mysql
-rspec-mysql 1 20: *rspec-knapsack-mysql
-rspec-mysql 2 20: *rspec-knapsack-mysql
-rspec-mysql 3 20: *rspec-knapsack-mysql
-rspec-mysql 4 20: *rspec-knapsack-mysql
-rspec-mysql 5 20: *rspec-knapsack-mysql
-rspec-mysql 6 20: *rspec-knapsack-mysql
-rspec-mysql 7 20: *rspec-knapsack-mysql
-rspec-mysql 8 20: *rspec-knapsack-mysql
-rspec-mysql 9 20: *rspec-knapsack-mysql
-rspec-mysql 10 20: *rspec-knapsack-mysql
-rspec-mysql 11 20: *rspec-knapsack-mysql
-rspec-mysql 12 20: *rspec-knapsack-mysql
-rspec-mysql 13 20: *rspec-knapsack-mysql
-rspec-mysql 14 20: *rspec-knapsack-mysql
-rspec-mysql 15 20: *rspec-knapsack-mysql
-rspec-mysql 16 20: *rspec-knapsack-mysql
-rspec-mysql 17 20: *rspec-knapsack-mysql
-rspec-mysql 18 20: *rspec-knapsack-mysql
-rspec-mysql 19 20: *rspec-knapsack-mysql
-
-spinach-pg 0 10: *spinach-knapsack-pg
-spinach-pg 1 10: *spinach-knapsack-pg
-spinach-pg 2 10: *spinach-knapsack-pg
-spinach-pg 3 10: *spinach-knapsack-pg
-spinach-pg 4 10: *spinach-knapsack-pg
-spinach-pg 5 10: *spinach-knapsack-pg
-spinach-pg 6 10: *spinach-knapsack-pg
-spinach-pg 7 10: *spinach-knapsack-pg
-spinach-pg 8 10: *spinach-knapsack-pg
-spinach-pg 9 10: *spinach-knapsack-pg
-
-spinach-mysql 0 10: *spinach-knapsack-mysql
-spinach-mysql 1 10: *spinach-knapsack-mysql
-spinach-mysql 2 10: *spinach-knapsack-mysql
-spinach-mysql 3 10: *spinach-knapsack-mysql
-spinach-mysql 4 10: *spinach-knapsack-mysql
-spinach-mysql 5 10: *spinach-knapsack-mysql
-spinach-mysql 6 10: *spinach-knapsack-mysql
-spinach-mysql 7 10: *spinach-knapsack-mysql
-spinach-mysql 8 10: *spinach-knapsack-mysql
-spinach-mysql 9 10: *spinach-knapsack-mysql
-
-# Static analysis jobs
-.ruby-static-analysis: &ruby-static-analysis
- variables:
- SIMPLECOV: "false"
- SETUP_DB: "false"
-
-.rake-exec: &rake-exec
- <<: *ruby-static-analysis
- <<: *dedicated-runner
- <<: *except-docs
- stage: test
- script:
- - bundle exec rake $CI_JOB_NAME
-
-static-analysis:
- <<: *ruby-static-analysis
- <<: *dedicated-runner
- <<: *except-docs
- stage: test
- script:
- - scripts/static-analysis
-
-# Documentation checks:
-# - Check validity of relative links
-# - Make sure cURL examples in API docs use the full switches
-docs lint:
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:nanoc-bootstrap-ruby-2.4-alpine"
- stage: test
- <<: *dedicated-runner
- cache: {}
- dependencies: []
- before_script: []
- script:
- - scripts/lint-doc.sh
- - mv doc/ /nanoc/content/
- - cd /nanoc
- # Build HTML from Markdown
- - bundle exec nanoc
- # Check the internal links
- - bundle exec nanoc check internal_links
-
-downtime_check:
- <<: *rake-exec
- except:
- - master
- - tags
- - /^[\d-]+-stable(-ee)?$/
- - /(^docs[\/-].*|.*-docs$)/
-
-ee_compat_check:
- <<: *rake-exec
- only:
- - branches@gitlab-org/gitlab-ce
- except:
- - master
- - tags
- - /^[\d-]+-stable(-ee)?$/
- allow_failure: yes
- cache:
- key: "ee_compat_check_repo"
- paths:
- - ee_compat_check/ee-repo/
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMIT_REF_NAME}_${CI_COMMIT_SHA}"
- when: on_failure
- expire_in: 10d
- paths:
- - ee_compat_check/patches/*.patch
-
-# DB migration, rollback, and seed jobs
-.db-migrate-reset: &db-migrate-reset
- stage: test
- <<: *dedicated-runner
- <<: *except-docs
- script:
- - bundle exec rake db:migrate:reset
-
-db:migrate:reset-pg:
- <<: *db-migrate-reset
- <<: *use-pg
-
-db:migrate:reset-mysql:
- <<: *db-migrate-reset
- <<: *use-mysql
-
-.migration-paths: &migration-paths
- stage: test
- <<: *dedicated-runner
- variables:
- SETUP_DB: "false"
- <<: *only-canonical-masters
- script:
- - git fetch origin v8.14.10
- - git checkout -f FETCH_HEAD
- - bundle install $BUNDLE_INSTALL_FLAGS
- - bundle exec rake db:drop db:create db:schema:load db:seed_fu
- - git checkout $CI_COMMIT_SHA
- - bundle install $BUNDLE_INSTALL_FLAGS
- - . scripts/prepare_build.sh
- - bundle exec rake db:migrate
-
-migration:path-pg:
- <<: *migration-paths
- <<: *use-pg
-
-migration:path-mysql:
- <<: *migration-paths
- <<: *use-mysql
-
-.db-rollback: &db-rollback
- stage: test
- <<: *dedicated-runner
- <<: *except-docs
- script:
- - bundle exec rake db:rollback STEP=120
- - bundle exec rake db:migrate
-
-db:rollback-pg:
- <<: *db-rollback
- <<: *use-pg
-
-db:rollback-mysql:
- <<: *db-rollback
- <<: *use-mysql
-
-.db-seed_fu: &db-seed_fu
- stage: test
- <<: *dedicated-runner
- <<: *except-docs
- variables:
- SIZE: "1"
- SETUP_DB: "false"
- RAILS_ENV: "development"
- script:
- - git clone https://gitlab.com/gitlab-org/gitlab-test.git
- /home/git/repositories/gitlab-org/gitlab-test.git
- - bundle exec rake db:setup db:seed_fu
- artifacts:
- when: on_failure
- expire_in: 1d
- paths:
- - log/development.log
-
-db:seed_fu-pg:
- <<: *db-seed_fu
- <<: *use-pg
-
-db:seed_fu-mysql:
- <<: *db-seed_fu
- <<: *use-mysql
-
-# Frontend-related jobs
-gitlab:assets:compile:
- stage: test
- <<: *dedicated-runner
- <<: *except-docs
- dependencies: []
- variables:
- NODE_ENV: "production"
- RAILS_ENV: "production"
- SETUP_DB: "false"
- USE_DB: "false"
- SKIP_STORAGE_VALIDATION: "true"
- WEBPACK_REPORT: "true"
- script:
- - yarn install --pure-lockfile --production --cache-folder .yarn-cache
- - bundle exec rake gitlab:assets:compile
- artifacts:
- name: webpack-report
- expire_in: 31d
- paths:
- - webpack-report/
-
-karma:
- stage: test
- <<: *use-pg
- <<: *dedicated-runner
- <<: *except-docs
- variables:
- BABEL_ENV: "coverage"
- script:
- - bundle exec rake karma
- coverage: '/^Statements *: (\d+\.\d+%)/'
- artifacts:
- name: coverage-javascript
- expire_in: 31d
- paths:
- - coverage-javascript/
-
-coverage:
- stage: post-test
- services: []
- <<: *dedicated-runner
- <<: *except-docs
- variables:
- SETUP_DB: "false"
- USE_BUNDLE_INSTALL: "true"
- script:
- - bundle exec scripts/merge-simplecov
- coverage: '/LOC \((\d+\.\d+%)\) covered.$/'
- artifacts:
- name: coverage
- expire_in: 31d
- paths:
- - coverage/index.html
- - coverage/assets/
-
-lint:javascript:report:
- <<: *dedicated-runner
- <<: *except-docs
- stage: post-test
- before_script: []
- script:
- - find app/ spec/ -name '*.js' -exec sed --in-place 's|/\* eslint-disable .*\*/||' {} \; # run report over all files
- - yarn run eslint-report || true # ignore exit code
- artifacts:
- name: eslint-report
- expire_in: 31d
- paths:
- - eslint-report.html
-
-# Trigger docs build
-# https://gitlab.com/gitlab-com/doc-gitlab-com/blob/master/README.md#deployment-process
-trigger_docs:
- stage: post-test
- image: "alpine"
- <<: *dedicated-runner
- before_script:
- - apk update && apk add curl
- variables:
- GIT_STRATEGY: "none"
- cache: {}
- artifacts: {}
- script:
- - "HTTP_STATUS=$(curl -X POST -F token=${DOCS_TRIGGER_TOKEN} -F ref=master -F variables[PROJECT]=${CI_PROJECT_NAME} --silent --output curl.log --write-out '%{http_code}' https://gitlab.com/api/v3/projects/1794617/trigger/builds)"
- - if [ "${HTTP_STATUS}" -ne "201" ]; then echo "Error ${HTTP_STATUS}"; cat curl.log; echo; exit 1; fi
- only:
- - master@gitlab-org/gitlab-ce
- - master@gitlab-org/gitlab-ee
-
-pages:
- before_script: []
- stage: pages
- <<: *dedicated-runner
- dependencies:
- - coverage
- - karma
- - gitlab:assets:compile
- - lint:javascript:report
- script:
- - mv public/ .public/
- - mkdir public/
- - mv coverage/ public/coverage-ruby/ || true
- - mv coverage-javascript/ public/coverage-javascript/ || true
- - mv eslint-report.html public/ || true
- - mv webpack-report/ public/webpack-report/ || true
- artifacts:
- paths:
- - public
- only:
- - master@gitlab-org/gitlab-ce
- - master@gitlab-org/gitlab-ee
-
-# Insurance in case a gem needed by one of our releases gets yanked from
-# rubygems.org in the future.
-cache gems:
- <<: *dedicated-runner
- only:
- - tags
- variables:
- SETUP_DB: "false"
+check_svg:
script:
- - bundle package --all --all-platforms
- artifacts:
- paths:
- - vendor/cache
- only:
- - master@gitlab-org/gitlab-ce
- - master@gitlab-org/gitlab-ee
+ - yarn install --pure-lockfile --cache-folder .yarn-cache
+ - node scripts/check_svg.js
diff --git a/package.json b/package.json
index 800327d8a08..1729514076d 100644
--- a/package.json
+++ b/package.json
@@ -28,6 +28,7 @@
"eslint-plugin-html": "^2.0.1",
"exports-loader": "^0.6.4",
"file-loader": "^0.11.1",
+ "glob": "^7.1.2",
"jed": "^1.1.1",
"jquery": "^2.2.1",
"jquery-ujs": "^1.2.1",
@@ -46,6 +47,7 @@
"select2": "3.5.2-browserify",
"sql.js": "^0.4.0",
"stats-webpack-plugin": "^0.4.3",
+ "svgo": "^0.7.2",
"three": "^0.84.0",
"three-orbit-controls": "^82.1.0",
"three-stl-loader": "^1.0.4",
diff --git a/scripts/check_svg.js b/scripts/check_svg.js
new file mode 100644
index 00000000000..ebc0bd574a4
--- /dev/null
+++ b/scripts/check_svg.js
@@ -0,0 +1,57 @@
+const glob = require('glob');
+const fs = require('fs');
+const SVGOptimizer = require('svgo');
+
+// node check_svg.js [failIfUncompressedSVGFound = true | false]
+const failFlag = process.argv[2];
+const failIfUncompressedSVGFound = failFlag !== undefined ? JSON.parse(failFlag) : true;
+
+const svgo = new SVGOptimizer();
+const globPath = 'app/views/shared/icons/*.svg';
+const globOptions = { mark: true };
+
+function error(err) {
+ console.error(err);
+ process.exit(1);
+}
+
+function saveOptimization(options) {
+ const { filepath, data, originalSize, failIfUncompressed } = options;
+
+ fs.writeFile(filepath, data, (err) => {
+ if (err) {
+ return error(err);
+ }
+
+ const compressedSize = fs.statSync(filepath).size;
+ const wasUncompressed = compressedSize < originalSize;
+ const compression = (100 - ((compressedSize / originalSize) * 100)).toFixed(2);
+
+ if (failIfUncompressed && wasUncompressed) {
+ error(`${filepath} was found to be uncompressed - could be compressed by ${compression}%`);
+ } else {
+ console.log(`${filepath} was compressed by ${compression}%`);
+ }
+ });
+}
+
+function optimize(filepath) {
+ fs.readFile(filepath, 'utf8', (err, data) => {
+ if (err) {
+ return error(err);
+ }
+
+ svgo.optimize(data, (result) => {
+ saveOptimization({
+ filepath,
+ data: result.data,
+ originalSize: fs.statSync(filepath).size,
+ failIfUncompressed: failIfUncompressedSVGFound,
+ });
+ });
+ });
+}
+
+glob(globPath, globOptions, (er, files) => {
+ files.forEach(filepath => optimize(filepath));
+});
diff --git a/yarn.lock b/yarn.lock
index 8aac2b1b1cd..b58843c3282 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -914,6 +914,13 @@ brace-expansion@^1.0.0:
balanced-match "^0.4.1"
concat-map "0.0.1"
+brace-expansion@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
+ dependencies:
+ balanced-match "^0.4.1"
+ concat-map "0.0.1"
+
braces@^0.1.2:
version "0.1.5"
resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6"
@@ -2490,14 +2497,14 @@ glob@^5.0.15:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
- minimatch "^3.0.2"
+ minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
@@ -3657,7 +3664,13 @@ minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
-"minimatch@2 || 3", minimatch@3.0.3, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3:
+"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.3, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@3.0.3, minimatch@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies:
@@ -5326,7 +5339,7 @@ supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.1.2, supports-co
dependencies:
has-flag "^1.0.0"
-svgo@^0.7.0:
+svgo@^0.7.0, svgo@^0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
dependencies: