Просмотр исходного кода

upgrade libs

* mongoose-gridfs
Yuki Takei 7 лет назад
Родитель
Сommit
45a30ceff8
3 измененных файлов с 159 добавлено и 25 удалено
  1. 1 1
      package.json
  2. 11 12
      src/server/service/file-uploader/gridfs.js
  3. 147 12
      yarn.lock

+ 1 - 1
package.json

@@ -100,7 +100,7 @@
     "mkdirp": "~0.5.1",
     "mkdirp": "~0.5.1",
     "module-alias": "^2.0.6",
     "module-alias": "^2.0.6",
     "mongoose": "^5.4.4",
     "mongoose": "^5.4.4",
-    "mongoose-gridfs": "^0.6.2",
+    "mongoose-gridfs": "^1.0.1",
     "mongoose-paginate": "^5.0.3",
     "mongoose-paginate": "^5.0.3",
     "mongoose-unique-validator": "^2.0.2",
     "mongoose-unique-validator": "^2.0.2",
     "multer": "~1.4.0",
     "multer": "~1.4.0",

+ 11 - 12
src/server/service/file-uploader/gridfs.js

@@ -5,18 +5,17 @@ const util = require('util');
 module.exports = function(crowi) {
 module.exports = function(crowi) {
   const lib = {};
   const lib = {};
   const COLLECTION_NAME = 'attachmentFiles';
   const COLLECTION_NAME = 'attachmentFiles';
-  const CHUNK_COLLECTION_NAME = 'attachmentFiles.chunks';
+  const CHUNK_COLLECTION_NAME = `${COLLECTION_NAME}.chunks`;
 
 
   // instantiate mongoose-gridfs
   // instantiate mongoose-gridfs
-  const gridfs = require('mongoose-gridfs')({
-    collection: COLLECTION_NAME,
-    model: 'AttachmentFile',
-    mongooseConnection: mongoose.connection,
+  const { createModel } = require('mongoose-gridfs');
+  const AttachmentFile = createModel({
+    modelName: COLLECTION_NAME,
+    bucketName: COLLECTION_NAME,
+    connection: mongoose.connection,
   });
   });
-
-  // obtain a model
-  const AttachmentFile = gridfs.model;
-  const Chunks = mongoose.model('Chunks', gridfs.schema, CHUNK_COLLECTION_NAME);
+  // get Collection instance of chunk
+  const chunkCollection = mongoose.connection.collection(CHUNK_COLLECTION_NAME);
 
 
   // create promisified method
   // create promisified method
   AttachmentFile.promisifiedWrite = util.promisify(AttachmentFile.write).bind(AttachmentFile);
   AttachmentFile.promisifiedWrite = util.promisify(AttachmentFile.write).bind(AttachmentFile);
@@ -30,7 +29,7 @@ module.exports = function(crowi) {
 
 
     const attachmentFile = await AttachmentFile.findOne({ filename: filenameValue });
     const attachmentFile = await AttachmentFile.findOne({ filename: filenameValue });
 
 
-    AttachmentFile.unlinkById(attachmentFile._id, (error, unlinkedFile) => {
+    AttachmentFile.unlink({ _id: attachmentFile._id }, (error, unlinkedFile) => {
       if (error) {
       if (error) {
         throw new Error(error);
         throw new Error(error);
       }
       }
@@ -42,7 +41,7 @@ module.exports = function(crowi) {
    */
    */
   const getCollectionSize = () => {
   const getCollectionSize = () => {
     return new Promise((resolve, reject) => {
     return new Promise((resolve, reject) => {
-      Chunks.collection.stats((err, data) => {
+      chunkCollection.stats((err, data) => {
         if (err) {
         if (err) {
           // return 0 if not exist
           // return 0 if not exist
           if (err.errmsg.includes('not found')) {
           if (err.errmsg.includes('not found')) {
@@ -117,7 +116,7 @@ module.exports = function(crowi) {
     }
     }
 
 
     // return stream.Readable
     // return stream.Readable
-    return AttachmentFile.readById(attachmentFile._id);
+    return AttachmentFile.read({ _id: attachmentFile._id });
   };
   };
 
 
   return lib;
   return lib;

+ 147 - 12
yarn.lock

@@ -133,6 +133,54 @@
   version "2.0.0"
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/@handsontable/react/-/react-2.0.0.tgz#30d9c2bd05421588a6ed1b3050b1f7dc476b35d3"
   resolved "https://registry.yarnpkg.com/@handsontable/react/-/react-2.0.0.tgz#30d9c2bd05421588a6ed1b3050b1f7dc476b35d3"
 
 
+"@lykmapipo/common@>=0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@lykmapipo/common/-/common-0.17.2.tgz#7d644f148e28541e06d41c130841ffb08870da40"
+  integrity sha512-XBzNRQEaY1sX++ppSwsfKA2ujfZ0+q67BM9XoRczJtngc0IroCn//JqFWpjMEMMtjGf3TZccvw3xzLeg9JL8JQ==
+  dependencies:
+    lodash ">=4.17.11"
+    read-pkg ">=5.1.1"
+    statuses ">=1.5.0"
+
+"@lykmapipo/env@>=0.7.4":
+  version "0.7.4"
+  resolved "https://registry.yarnpkg.com/@lykmapipo/env/-/env-0.7.4.tgz#f83eaf54234347e99690f6d8a28ad83449a7cb72"
+  integrity sha512-sd3SQQ7wSvOm8/a9rZINbrhPswJuZrXT8nhev1wBWHT/xtMJ8T1m6BkAhnxVYfTGbGqKGh1U7G2PVYmZT/6bGw==
+  dependencies:
+    dotenv ">=7.0.0"
+    lodash ">=4.17.11"
+    semver ">=6.0.0"
+
+"@lykmapipo/include@>=0.2.2":
+  version "0.2.2"
+  resolved "https://registry.yarnpkg.com/@lykmapipo/include/-/include-0.2.2.tgz#3f109e6296614cff03f2824b93191ae2db26438b"
+  integrity sha512-eDt0BkF4MhPam2BvMM6iVYRz0e9KfEoRD3aZrlqtOk8AGVMwPmK0jEbTgRaSAUi941K3+9sSlwv1OPeL3v4KlA==
+  dependencies:
+    lodash ">=4.17.11"
+
+"@lykmapipo/mongoose-common@>=0.20.1":
+  version "0.22.1"
+  resolved "https://registry.yarnpkg.com/@lykmapipo/mongoose-common/-/mongoose-common-0.22.1.tgz#fde42b844e4c148265785ceafb850b2629b1d42a"
+  integrity sha512-yZpGK8LhUs5JN7MoXXTS8cgXbU6XXpItJiv8nQ+WIFRMzpwgmmYPNj8rl5qUBnM8CsL6llaY22kK16SUQePPbQ==
+  dependencies:
+    "@lykmapipo/common" ">=0.17.2"
+    "@lykmapipo/env" ">=0.7.4"
+    "@lykmapipo/include" ">=0.2.2"
+    async ">=2.6.2"
+    lodash ">=4.17.11"
+    mongoose-schema-jsonschema ">=1.2.1"
+    mongoose-valid8 ">=1.5.2"
+
+"@lykmapipo/phone@>=0.3.3":
+  version "0.3.3"
+  resolved "https://registry.yarnpkg.com/@lykmapipo/phone/-/phone-0.3.3.tgz#54d380a794ead49aa5493fc918adce57bd66ec22"
+  integrity sha512-rm831xbACan+/Ql9GUVfWH02WjoZxfmRGy5pkbwMxBiTXRZQ1cdVlCTq6MCaavr3tvBhbBxKhiBv4UiRsSG9Bg==
+  dependencies:
+    "@lykmapipo/env" ">=0.7.4"
+    google-libphonenumber ">=3.2.2"
+    lodash ">=4.17.11"
+    os-locale ">=3.1.0"
+
 "@sinonjs/commons@^1.0.2":
 "@sinonjs/commons@^1.0.2":
   version "1.0.2"
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.0.2.tgz#3e0ac737781627b8844257fadc3d803997d0526e"
   resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.0.2.tgz#3e0ac737781627b8844257fadc3d803997d0526e"
@@ -201,6 +249,11 @@
   version "7.0.52"
   version "7.0.52"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.52.tgz#8990d3350375542b0c21a83cd0331e6a8fc86716"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.52.tgz#8990d3350375542b0c21a83cd0331e6a8fc86716"
 
 
+"@types/normalize-package-data@^2.4.0":
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
+  integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+
 "@types/passport@^0.3.3":
 "@types/passport@^0.3.3":
   version "0.3.5"
   version "0.3.5"
   resolved "https://registry.yarnpkg.com/@types/passport/-/passport-0.3.5.tgz#2089c7046d120e8bb92aa4ed86338c9c62ef7853"
   resolved "https://registry.yarnpkg.com/@types/passport/-/passport-0.3.5.tgz#2089c7046d120e8bb92aa4ed86338c9c62ef7853"
@@ -741,6 +794,13 @@ async@2.6.1, async@^2.1.5:
   dependencies:
   dependencies:
     lodash "^4.17.10"
     lodash "^4.17.10"
 
 
+async@>=2.6.2:
+  version "2.6.2"
+  resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381"
+  integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==
+  dependencies:
+    lodash "^4.17.11"
+
 async@^0.9.0:
 async@^0.9.0:
   version "0.9.2"
   version "0.9.2"
   resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
   resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
@@ -3241,6 +3301,11 @@ dot-prop@^4.1.0, dot-prop@^4.1.1:
   dependencies:
   dependencies:
     is-obj "^1.0.0"
     is-obj "^1.0.0"
 
 
+dotenv@>=7.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.0.0.tgz#ed310c165b4e8a97bb745b0a9d99c31bda566440"
+  integrity sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg==
+
 double-ended-queue@^2.1.0-0:
 double-ended-queue@^2.1.0-0:
   version "2.1.0-0"
   version "2.1.0-0"
   resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
   resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
@@ -4759,6 +4824,11 @@ google-auth-library@~0.10.0:
     lodash.noop "^3.0.1"
     lodash.noop "^3.0.1"
     request "^2.74.0"
     request "^2.74.0"
 
 
+google-libphonenumber@>=3.2.2:
+  version "3.2.2"
+  resolved "https://registry.yarnpkg.com/google-libphonenumber/-/google-libphonenumber-3.2.2.tgz#3d9d7ba727e99a50812f21b0ed313723b76c5c54"
+  integrity sha512-ubjGeosYPeusjYbUHy76lCniGTTI0k1rIFc+uKBX+jHQLDmWOSUtlFUxaeoLJ+Y+PAMM6dWp+C1HjHx5BI8kEw==
+
 google-p12-pem@^0.1.0:
 google-p12-pem@^0.1.0:
   version "0.1.2"
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-0.1.2.tgz#33c46ab021aa734fa0332b3960a9a3ffcb2f3177"
   resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-0.1.2.tgz#33c46ab021aa734fa0332b3960a9a3ffcb2f3177"
@@ -6888,11 +6958,12 @@ mongodb@^2.0.36:
     mongodb-core "2.1.19"
     mongodb-core "2.1.19"
     readable-stream "2.2.7"
     readable-stream "2.2.7"
 
 
-mongoose-gridfs@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/mongoose-gridfs/-/mongoose-gridfs-0.6.2.tgz#b144219af01c51b14c58e5cdf7f58293d2ce1d67"
-  integrity sha512-fW6+D1Pn+qtpuYK3lYl1OMd3wenNIJ0/KhpOAoiRZWdzHjABiUQrtZSCyLEjmVgsxuTqIsUqvS1KeMUvUmtO2A==
+mongoose-gridfs@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/mongoose-gridfs/-/mongoose-gridfs-1.0.1.tgz#7619d4666aa161a562286d8672fbd8793af6a9ab"
+  integrity sha512-gCaecj/ReISVbCkfEhu9rOW94CtR3SqEIsf7+WXHRf5wvikK4L1fJoRWYPDFGaH16v4NpbJAy+euB/08YQ2lyw==
   dependencies:
   dependencies:
+    "@lykmapipo/mongoose-common" ">=0.20.1"
     lodash ">=4.17.11"
     lodash ">=4.17.11"
     stream-read ">=1.1.2"
     stream-read ">=1.1.2"
 
 
@@ -6906,6 +6977,13 @@ mongoose-paginate@^5.0.3:
   dependencies:
   dependencies:
     bluebird "3.0.5"
     bluebird "3.0.5"
 
 
+mongoose-schema-jsonschema@>=1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/mongoose-schema-jsonschema/-/mongoose-schema-jsonschema-1.2.1.tgz#6b76edcb28112cb36524c57ca8522d420a50a0d4"
+  integrity sha512-bV2UusuxLFhmMJahk834XkiEK7DPyfaKI+BQPLVFPqqH/ZmInaecmFMHauo7v4kfu4K1jYkB6sR6zXZ84TFj2Q==
+  dependencies:
+    pluralize "^7.0.0"
+
 mongoose-unique-validator@^2.0.2:
 mongoose-unique-validator@^2.0.2:
   version "2.0.2"
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/mongoose-unique-validator/-/mongoose-unique-validator-2.0.2.tgz#a980e68638157cd8fcea86d754eeb2cf67e6bb76"
   resolved "https://registry.yarnpkg.com/mongoose-unique-validator/-/mongoose-unique-validator-2.0.2.tgz#a980e68638157cd8fcea86d754eeb2cf67e6bb76"
@@ -6913,6 +6991,16 @@ mongoose-unique-validator@^2.0.2:
     lodash.foreach "^4.1.0"
     lodash.foreach "^4.1.0"
     lodash.get "^4.0.2"
     lodash.get "^4.0.2"
 
 
+mongoose-valid8@>=1.5.2:
+  version "1.5.2"
+  resolved "https://registry.yarnpkg.com/mongoose-valid8/-/mongoose-valid8-1.5.2.tgz#240481f36d4b81351dab7d2351914415b8fab1f4"
+  integrity sha512-Qfaz4s0sq2Z8n3sRX7Pjkm1KB6Hgcn6UXgBQWSokiuMRgd3i3dJi2CeG8t5QFgtw929vDkBKNASkPxGuZQ6WTQ==
+  dependencies:
+    "@lykmapipo/env" ">=0.7.4"
+    "@lykmapipo/phone" ">=0.3.3"
+    lodash ">=4.17.11"
+    validator ">=10.11.0"
+
 mongoose@^5.4.4:
 mongoose@^5.4.4:
   version "5.4.4"
   version "5.4.4"
   resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.4.4.tgz#923923cd39a03b970c269f828322990ea163f9a8"
   resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.4.4.tgz#923923cd39a03b970c269f828322990ea163f9a8"
@@ -7267,6 +7355,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
     semver "2 || 3 || 4 || 5"
     semver "2 || 3 || 4 || 5"
     validate-npm-package-license "^3.0.1"
     validate-npm-package-license "^3.0.1"
 
 
+normalize-package-data@^2.5.0:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+  integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+  dependencies:
+    hosted-git-info "^2.1.4"
+    resolve "^1.10.0"
+    semver "2 || 3 || 4 || 5"
+    validate-npm-package-license "^3.0.1"
+
 normalize-path@^2.0.1, normalize-path@^2.1.1:
 normalize-path@^2.0.1, normalize-path@^2.1.1:
   version "2.1.1"
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@@ -7567,13 +7665,7 @@ os-homedir@^1.0.0:
   version "1.0.2"
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
   resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
 
 
-os-locale@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
-  dependencies:
-    lcid "^1.0.0"
-
-os-locale@^3.0.0:
+os-locale@>=3.1.0, os-locale@^3.0.0:
   version "3.1.0"
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
   resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
   integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
   integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
@@ -7582,6 +7674,12 @@ os-locale@^3.0.0:
     lcid "^2.0.0"
     lcid "^2.0.0"
     mem "^4.0.0"
     mem "^4.0.0"
 
 
+os-locale@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+  dependencies:
+    lcid "^1.0.0"
+
 os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
 os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
   version "1.0.2"
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
   resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@@ -8000,6 +8098,11 @@ platform@1.3.5:
   version "1.3.5"
   version "1.3.5"
   resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.5.tgz#fb6958c696e07e2918d2eeda0f0bc9448d733444"
   resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.5.tgz#fb6958c696e07e2918d2eeda0f0bc9448d733444"
 
 
+pluralize@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
+  integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==
+
 popper.js@^1.14.4:
 popper.js@^1.14.4:
   version "1.14.7"
   version "1.14.7"
   resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.7.tgz#e31ec06cfac6a97a53280c3e55e4e0c860e7738e"
   resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.7.tgz#e31ec06cfac6a97a53280c3e55e4e0c860e7738e"
@@ -8874,6 +8977,16 @@ read-pkg-up@^3.0.0:
     find-up "^2.0.0"
     find-up "^2.0.0"
     read-pkg "^3.0.0"
     read-pkg "^3.0.0"
 
 
+read-pkg@>=5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5"
+  integrity sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w==
+  dependencies:
+    "@types/normalize-package-data" "^2.4.0"
+    normalize-package-data "^2.5.0"
+    parse-json "^4.0.0"
+    type-fest "^0.4.1"
+
 read-pkg@^1.0.0:
 read-pkg@^1.0.0:
   version "1.1.0"
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
   resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
@@ -9351,6 +9464,13 @@ resolve@^1.0.0:
   dependencies:
   dependencies:
     path-parse "^1.0.5"
     path-parse "^1.0.5"
 
 
+resolve@^1.10.0:
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.1.tgz#664842ac960795bbe758221cdccda61fb64b5f18"
+  integrity sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==
+  dependencies:
+    path-parse "^1.0.6"
+
 resolve@^1.5.0, resolve@^1.9.0:
 resolve@^1.5.0, resolve@^1.9.0:
   version "1.10.0"
   version "1.10.0"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
@@ -9565,6 +9685,11 @@ semver-diff@^2.0.0:
   version "5.4.1"
   version "5.4.1"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
 
 
+semver@>=6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65"
+  integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==
+
 semver@^5.5.0:
 semver@^5.5.0:
   version "5.5.0"
   version "5.5.0"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
@@ -10071,7 +10196,7 @@ static-extend@^0.1.1:
   version "1.4.0"
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
 
 
-"statuses@>= 1.4.0 < 2":
+"statuses@>= 1.4.0 < 2", statuses@>=1.5.0:
   version "1.5.0"
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
@@ -10790,6 +10915,11 @@ type-detect@^4.0.0:
   version "4.0.5"
   version "4.0.5"
   resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2"
   resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2"
 
 
+type-fest@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8"
+  integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==
+
 type-is@^1.6.4, type-is@~1.6.15:
 type-is@^1.6.4, type-is@~1.6.15:
   version "1.6.15"
   version "1.6.15"
   resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
   resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
@@ -11129,6 +11259,11 @@ validate-npm-package-license@^3.0.1:
     spdx-correct "~1.0.0"
     spdx-correct "~1.0.0"
     spdx-expression-parse "~1.0.0"
     spdx-expression-parse "~1.0.0"
 
 
+validator@>=10.11.0:
+  version "10.11.0"
+  resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228"
+  integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==
+
 validator@^2.1.0:
 validator@^2.1.0:
   version "2.1.0"
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/validator/-/validator-2.1.0.tgz#63276570def208adcf1c032c1f4e6a17d2bd8d8b"
   resolved "https://registry.yarnpkg.com/validator/-/validator-2.1.0.tgz#63276570def208adcf1c032c1f4e6a17d2bd8d8b"