Browse Source

Merge tag 'v2.6.5' into shadow8t4

rebase-shadow8t4
Alex Huddleston 4 months ago
parent
commit
563717916b

+ 33
- 0
CHANGELOG.md View File

@@ -3,6 +3,39 @@ Changelog
3 3
 
4 4
 All notable changes to this project will be documented in this file.
5 5
 
6
+## [2.6.5] - 2018-12-01
7
+### Changed
8
+
9
+- Change lists to display replies to others on the list and list owner (#9324)
10
+
11
+### Fixed
12
+
13
+- Fix failures caused by commonly-used JSON-LD contexts being unavailable (#9412)
14
+
15
+## [2.6.4] - 2018-11-30
16
+### Fixed
17
+
18
+- Fix yarn dependencies not installing due to yanked event-stream package (#9401)
19
+
20
+## [2.6.3] - 2018-11-30
21
+### Added
22
+
23
+- Add hyphen to characters allowed in remote usernames (#9345)
24
+
25
+### Changed
26
+
27
+- Change server user count to exclude suspended accounts (#9380)
28
+
29
+### Fixed
30
+
31
+- Fix ffmpeg processing sometimes stalling due to overfilled stdout buffer (#9368)
32
+- Fix missing DNS records raising the wrong kind of exception (#9379)
33
+- Fix already queued deliveries still trying to reach inboxes marked as unavailable (#9358)
34
+
35
+### Security
36
+
37
+- Fix TLS handshake timeout not being enforced (#9381)
38
+
6 39
 ## [2.6.2] - 2018-11-23
7 40
 ### Added
8 41
 

+ 1
- 0
Gemfile View File

@@ -90,6 +90,7 @@ gem 'webpacker', '~> 3.5'
90 90
 gem 'webpush'
91 91
 
92 92
 gem 'json-ld', '~> 2.2'
93
+gem 'json-ld-preloaded', '~> 2.2'
93 94
 gem 'rdf-normalize', '~> 0.3'
94 95
 
95 96
 group :development, :test do

+ 5
- 0
Gemfile.lock View File

@@ -291,6 +291,10 @@ GEM
291 291
     json-ld (2.2.1)
292 292
       multi_json (~> 1.12)
293 293
       rdf (>= 2.2.8, < 4.0)
294
+    json-ld-preloaded (2.2.3)
295
+      json-ld (>= 2.2, < 4.0)
296
+      multi_json (~> 1.12)
297
+      rdf (>= 2.2, < 4.0)
294 298
     jsonapi-renderer (0.2.0)
295 299
     jwt (2.1.0)
296 300
     kaminari (1.1.1)
@@ -696,6 +700,7 @@ DEPENDENCIES
696 700
   idn-ruby
697 701
   iso-639
698 702
   json-ld (~> 2.2)
703
+  json-ld-preloaded (~> 2.2)
699 704
   kaminari (~> 1.1)
700 705
   letter_opener (~> 1.4)
701 706
   letter_opener_web (~> 1.3)

+ 5
- 1
app/lib/feed_manager.rb View File

@@ -40,7 +40,11 @@ class FeedManager
40 40
   end
41 41
 
42 42
   def push_to_list(list, status)
43
-    return false if status.reply? && status.in_reply_to_account_id != status.account_id
43
+    if status.reply? && status.in_reply_to_account_id != status.account_id
44
+      should_filter = status.in_reply_to_account_id != list.account_id
45
+      should_filter &&= !ListAccount.where(list_id: list.id, account_id: status.in_reply_to_account_id).exists?
46
+      return false if should_filter
47
+    end
44 48
     return false unless add_to_feed(:list, list.id, status)
45 49
     trim(:list, list.id)
46 50
     PushUpdateWorker.perform_async(list.account_id, status.id, "timeline:list:#{list.id}") if push_update_required?("timeline:list:#{list.id}")

+ 20
- 2
app/lib/request.rb View File

@@ -4,6 +4,16 @@ require 'ipaddr'
4 4
 require 'socket'
5 5
 require 'resolv'
6 6
 
7
+# Monkey-patch the HTTP.rb timeout class to avoid using a timeout block
8
+# around the Socket#open method, since we use our own timeout blocks inside
9
+# that method
10
+class HTTP::Timeout::PerOperation
11
+  def connect(socket_class, host, port, nodelay = false)
12
+    @socket = socket_class.open(host, port)
13
+    @socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) if nodelay
14
+  end
15
+end
16
+
7 17
 class Request
8 18
   REQUEST_TARGET = '(request-target)'
9 19
 
@@ -95,7 +105,11 @@ class Request
95 105
   end
96 106
 
97 107
   def timeout
98
-    { connect: nil, read: 10, write: 10 }
108
+    # We enforce a 1s timeout on DNS resolving, 10s timeout on socket opening
109
+    # and 5s timeout on the TLS handshake, meaning the worst case should take
110
+    # about 16s in total
111
+
112
+    { connect: 5, read: 10, write: 10 }
99 113
   end
100 114
 
101 115
   def http_client
@@ -163,7 +177,11 @@ class Request
163 177
           end
164 178
         end
165 179
 
166
-        raise outer_e if outer_e
180
+        if outer_e
181
+          raise outer_e
182
+        else
183
+          raise SocketError, "No address for #{host}"
184
+        end
167 185
       end
168 186
 
169 187
       alias new open

+ 1
- 1
app/models/account.rb View File

@@ -49,7 +49,7 @@
49 49
 #
50 50
 
51 51
 class Account < ApplicationRecord
52
-  USERNAME_RE = /[a-z0-9_]+([a-z0-9_\.]+[a-z0-9_]+)?/i
52
+  USERNAME_RE = /[a-z0-9_]+([a-z0-9_\.-]+[a-z0-9_]+)?/i
53 53
   MENTION_RE  = /(?<=^|[^\/[:word:]])@((#{USERNAME_RE})(?:@[a-z0-9\.\-]+[a-z0-9]+)?)/i
54 54
 
55 55
   include AccountAvatar

+ 1
- 0
app/models/media_attachment.rb View File

@@ -59,6 +59,7 @@ class MediaAttachment < ApplicationRecord
59 59
     format: 'mp4',
60 60
     convert_options: {
61 61
       output: {
62
+        'loglevel' => 'fatal',
62 63
         'movflags' => 'faststart',
63 64
         'pix_fmt'  => 'yuv420p',
64 65
         'vf'       => 'scale=\'trunc(iw/2)*2:trunc(ih/2)*2\'',

+ 1
- 1
app/presenters/instance_presenter.rb View File

@@ -18,7 +18,7 @@ class InstancePresenter
18 18
   end
19 19
 
20 20
   def user_count
21
-    Rails.cache.fetch('user_count') { User.confirmed.count }
21
+    Rails.cache.fetch('user_count') { User.confirmed.joins(:account).merge(Account.without_suspended).count }
22 22
   end
23 23
 
24 24
   def status_count

+ 2
- 0
app/workers/activitypub/delivery_worker.rb View File

@@ -11,6 +11,8 @@ class ActivityPub::DeliveryWorker
11 11
   HEADERS = { 'Content-Type' => 'application/activity+json' }.freeze
12 12
 
13 13
   def perform(json, source_account_id, inbox_url, options = {})
14
+    return if DeliveryFailureTracker.unavailable?(inbox_url)
15
+
14 16
     @options        = options.with_indifferent_access
15 17
     @json           = json
16 18
     @source_account = Account.find(source_account_id)

+ 3
- 0
config/initializers/json_ld.rb View File

@@ -0,0 +1,3 @@
1
+# frozen_string_literal: true
2
+
3
+require_relative '../../lib/json_ld/security'

+ 50
- 0
lib/json_ld/security.rb View File

@@ -0,0 +1,50 @@
1
+# -*- encoding: utf-8 -*-
2
+# frozen_string_literal: true
3
+# This file generated automatically from https://w3id.org/security/v1
4
+require 'json/ld'
5
+class JSON::LD::Context
6
+  add_preloaded("https://w3id.org/security/v1") do
7
+    new(processingMode: "json-ld-1.0", term_definitions: {
8
+      "CryptographicKey" => TermDefinition.new("CryptographicKey", id: "https://w3id.org/security#Key", simple: true),
9
+      "EcdsaKoblitzSignature2016" => TermDefinition.new("EcdsaKoblitzSignature2016", id: "https://w3id.org/security#EcdsaKoblitzSignature2016", simple: true),
10
+      "EncryptedMessage" => TermDefinition.new("EncryptedMessage", id: "https://w3id.org/security#EncryptedMessage", simple: true),
11
+      "GraphSignature2012" => TermDefinition.new("GraphSignature2012", id: "https://w3id.org/security#GraphSignature2012", simple: true),
12
+      "LinkedDataSignature2015" => TermDefinition.new("LinkedDataSignature2015", id: "https://w3id.org/security#LinkedDataSignature2015", simple: true),
13
+      "LinkedDataSignature2016" => TermDefinition.new("LinkedDataSignature2016", id: "https://w3id.org/security#LinkedDataSignature2016", simple: true),
14
+      "authenticationTag" => TermDefinition.new("authenticationTag", id: "https://w3id.org/security#authenticationTag", simple: true),
15
+      "canonicalizationAlgorithm" => TermDefinition.new("canonicalizationAlgorithm", id: "https://w3id.org/security#canonicalizationAlgorithm", simple: true),
16
+      "cipherAlgorithm" => TermDefinition.new("cipherAlgorithm", id: "https://w3id.org/security#cipherAlgorithm", simple: true),
17
+      "cipherData" => TermDefinition.new("cipherData", id: "https://w3id.org/security#cipherData", simple: true),
18
+      "cipherKey" => TermDefinition.new("cipherKey", id: "https://w3id.org/security#cipherKey", simple: true),
19
+      "created" => TermDefinition.new("created", id: "http://purl.org/dc/terms/created", type_mapping: "http://www.w3.org/2001/XMLSchema#dateTime"),
20
+      "creator" => TermDefinition.new("creator", id: "http://purl.org/dc/terms/creator", type_mapping: "@id"),
21
+      "dc" => TermDefinition.new("dc", id: "http://purl.org/dc/terms/", simple: true, prefix: true),
22
+      "digestAlgorithm" => TermDefinition.new("digestAlgorithm", id: "https://w3id.org/security#digestAlgorithm", simple: true),
23
+      "digestValue" => TermDefinition.new("digestValue", id: "https://w3id.org/security#digestValue", simple: true),
24
+      "domain" => TermDefinition.new("domain", id: "https://w3id.org/security#domain", simple: true),
25
+      "encryptionKey" => TermDefinition.new("encryptionKey", id: "https://w3id.org/security#encryptionKey", simple: true),
26
+      "expiration" => TermDefinition.new("expiration", id: "https://w3id.org/security#expiration", type_mapping: "http://www.w3.org/2001/XMLSchema#dateTime"),
27
+      "expires" => TermDefinition.new("expires", id: "https://w3id.org/security#expiration", type_mapping: "http://www.w3.org/2001/XMLSchema#dateTime"),
28
+      "id" => TermDefinition.new("id", id: "@id", simple: true),
29
+      "initializationVector" => TermDefinition.new("initializationVector", id: "https://w3id.org/security#initializationVector", simple: true),
30
+      "iterationCount" => TermDefinition.new("iterationCount", id: "https://w3id.org/security#iterationCount", simple: true),
31
+      "nonce" => TermDefinition.new("nonce", id: "https://w3id.org/security#nonce", simple: true),
32
+      "normalizationAlgorithm" => TermDefinition.new("normalizationAlgorithm", id: "https://w3id.org/security#normalizationAlgorithm", simple: true),
33
+      "owner" => TermDefinition.new("owner", id: "https://w3id.org/security#owner", type_mapping: "@id"),
34
+      "password" => TermDefinition.new("password", id: "https://w3id.org/security#password", simple: true),
35
+      "privateKey" => TermDefinition.new("privateKey", id: "https://w3id.org/security#privateKey", type_mapping: "@id"),
36
+      "privateKeyPem" => TermDefinition.new("privateKeyPem", id: "https://w3id.org/security#privateKeyPem", simple: true),
37
+      "publicKey" => TermDefinition.new("publicKey", id: "https://w3id.org/security#publicKey", type_mapping: "@id"),
38
+      "publicKeyPem" => TermDefinition.new("publicKeyPem", id: "https://w3id.org/security#publicKeyPem", simple: true),
39
+      "publicKeyService" => TermDefinition.new("publicKeyService", id: "https://w3id.org/security#publicKeyService", type_mapping: "@id"),
40
+      "revoked" => TermDefinition.new("revoked", id: "https://w3id.org/security#revoked", type_mapping: "http://www.w3.org/2001/XMLSchema#dateTime"),
41
+      "salt" => TermDefinition.new("salt", id: "https://w3id.org/security#salt", simple: true),
42
+      "sec" => TermDefinition.new("sec", id: "https://w3id.org/security#", simple: true, prefix: true),
43
+      "signature" => TermDefinition.new("signature", id: "https://w3id.org/security#signature", simple: true),
44
+      "signatureAlgorithm" => TermDefinition.new("signatureAlgorithm", id: "https://w3id.org/security#signingAlgorithm", simple: true),
45
+      "signatureValue" => TermDefinition.new("signatureValue", id: "https://w3id.org/security#signatureValue", simple: true),
46
+      "type" => TermDefinition.new("type", id: "@type", simple: true),
47
+      "xsd" => TermDefinition.new("xsd", id: "http://www.w3.org/2001/XMLSchema#", simple: true, prefix: true)
48
+    })
49
+  end
50
+end

+ 1
- 1
lib/mastodon/version.rb View File

@@ -13,7 +13,7 @@ module Mastodon
13 13
     end
14 14
 
15 15
     def patch
16
-      2
16
+      5
17 17
     end
18 18
 
19 19
     def pre

+ 1
- 2
package.json View File

@@ -10,7 +10,7 @@
10 10
     "build:production": "cross-env RAILS_ENV=production NODE_ENV=production ./bin/webpack",
11 11
     "manage:translations": "node ./config/webpack/translationRunner.js",
12 12
     "start": "node ./streaming/index.js",
13
-    "test": "npm-run-all test:lint test:jest",
13
+    "test": "npm run test:lint && npm run test:jest",
14 14
     "test:lint": "eslint -c .eslintrc.yml --ext=js app/javascript/ config/webpack/ streaming/",
15 15
     "test:jest": "cross-env NODE_ENV=test jest --coverage"
16 16
   },
@@ -76,7 +76,6 @@
76 76
     "mini-css-extract-plugin": "^0.4.2",
77 77
     "mkdirp": "^0.5.1",
78 78
     "node-sass": "^4.9.2",
79
-    "npm-run-all": "^4.1.2",
80 79
     "npmlog": "^4.1.2",
81 80
     "object-assign": "^4.1.1",
82 81
     "object-fit-images": "^3.2.3",

+ 7
- 1
spec/models/account_spec.rb View File

@@ -618,9 +618,15 @@ RSpec.describe Account, type: :model do
618 618
         expect(account).not_to model_have_error_on_field(:username)
619 619
       end
620 620
 
621
-      it 'is invalid if the username doesn\'t only contains letters, numbers and underscores' do
621
+      it 'is valid even if the username contains hyphens' do
622 622
         account = Fabricate.build(:account, domain: 'domain', username: 'the-doctor')
623 623
         account.valid?
624
+        expect(account).to_not model_have_error_on_field(:username)
625
+      end
626
+
627
+      it 'is invalid if the username doesn\'t only contains letters, numbers, underscores and hyphens' do
628
+        account = Fabricate.build(:account, domain: 'domain', username: 'the doctor')
629
+        account.valid?
624 630
         expect(account).to model_have_error_on_field(:username)
625 631
       end
626 632
 

+ 5
- 136
yarn.lock View File

@@ -1109,11 +1109,6 @@ array-equal@^1.0.0:
1109 1109
   resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
1110 1110
   integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
1111 1111
 
1112
-array-filter@~0.0.0:
1113
-  version "0.0.1"
1114
-  resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
1115
-  integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
1116
-
1117 1112
 array-find-index@^1.0.1:
1118 1113
   version "1.0.2"
1119 1114
   resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
@@ -1137,16 +1132,6 @@ array-includes@^3.0.3:
1137 1132
     define-properties "^1.1.2"
1138 1133
     es-abstract "^1.7.0"
1139 1134
 
1140
-array-map@~0.0.0:
1141
-  version "0.0.0"
1142
-  resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
1143
-  integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=
1144
-
1145
-array-reduce@~0.0.0:
1146
-  version "0.0.0"
1147
-  resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
1148
-  integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=
1149
-
1150 1135
 array-union@^1.0.1:
1151 1136
   version "1.0.2"
1152 1137
   resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -2411,7 +2396,7 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0:
2411 2396
     shebang-command "^1.2.0"
2412 2397
     which "^1.2.9"
2413 2398
 
2414
-cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5:
2399
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
2415 2400
   version "6.0.5"
2416 2401
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
2417 2402
   integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
@@ -2920,7 +2905,7 @@ double-ended-queue@^2.1.0-0:
2920 2905
   resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
2921 2906
   integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=
2922 2907
 
2923
-duplexer@^0.1.1, duplexer@~0.1.1:
2908
+duplexer@^0.1.1:
2924 2909
   version "0.1.1"
2925 2910
   resolved "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
2926 2911
   integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
@@ -3079,7 +3064,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
3079 3064
   dependencies:
3080 3065
     is-arrayish "^0.2.1"
3081 3066
 
3082
-es-abstract@^1.10.0, es-abstract@^1.4.3, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0:
3067
+es-abstract@^1.10.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0:
3083 3068
   version "1.12.0"
3084 3069
   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
3085 3070
   integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==
@@ -3329,20 +3314,6 @@ etag@~1.8.1:
3329 3314
   resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
3330 3315
   integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
3331 3316
 
3332
-event-stream@~3.3.0:
3333
-  version "3.3.6"
3334
-  resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.6.tgz#cac1230890e07e73ec9cacd038f60a5b66173eef"
3335
-  integrity sha512-dGXNg4F/FgVzlApjzItL+7naHutA3fDqbV/zAZqDDlXTjiMnQmZKu+prImWKszeBM5UQeGvAl3u1wBiKeDh61g==
3336
-  dependencies:
3337
-    duplexer "^0.1.1"
3338
-    flatmap-stream "^0.1.0"
3339
-    from "^0.1.7"
3340
-    map-stream "0.0.7"
3341
-    pause-stream "^0.0.11"
3342
-    split "^1.0.1"
3343
-    stream-combiner "^0.2.2"
3344
-    through "^2.3.8"
3345
-
3346 3317
 eventemitter3@^3.0.0:
3347 3318
   version "3.1.0"
3348 3319
   resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
@@ -3744,11 +3715,6 @@ flat-cache@^1.2.1:
3744 3715
     graceful-fs "^4.1.2"
3745 3716
     write "^0.2.1"
3746 3717
 
3747
-flatmap-stream@^0.1.0:
3748
-  version "0.1.0"
3749
-  resolved "https://registry.yarnpkg.com/flatmap-stream/-/flatmap-stream-0.1.0.tgz#ed54e01422cd29281800914fcb968d58b685d5f1"
3750
-  integrity sha512-Nlic4ZRYxikqnK5rj3YoxDVKGGtUjcNDUtvQ7XsdGLZmMwdUYnXf10o1zcXtzEZTBgc6GxeRpQxV/Wu3WPIIHA==
3751
-
3752 3718
 flatten@^1.0.2:
3753 3719
   version "1.0.2"
3754 3720
   resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
@@ -3846,11 +3812,6 @@ from2@^2.1.0:
3846 3812
     inherits "^2.0.1"
3847 3813
     readable-stream "^2.0.0"
3848 3814
 
3849
-from@^0.1.7:
3850
-  version "0.1.7"
3851
-  resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
3852
-  integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=
3853
-
3854 3815
 fs-extra@^7.0.0:
3855 3816
   version "7.0.0"
3856 3817
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6"
@@ -5642,16 +5603,6 @@ load-json-file@^2.0.0:
5642 5603
     pify "^2.0.0"
5643 5604
     strip-bom "^3.0.0"
5644 5605
 
5645
-load-json-file@^4.0.0:
5646
-  version "4.0.0"
5647
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
5648
-  integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
5649
-  dependencies:
5650
-    graceful-fs "^4.1.2"
5651
-    parse-json "^4.0.0"
5652
-    pify "^3.0.0"
5653
-    strip-bom "^3.0.0"
5654
-
5655 5606
 loader-runner@^2.3.0:
5656 5607
   version "2.3.0"
5657 5608
   resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@@ -5841,11 +5792,6 @@ map-obj@^1.0.0, map-obj@^1.0.1:
5841 5792
   resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
5842 5793
   integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
5843 5794
 
5844
-map-stream@0.0.7:
5845
-  version "0.0.7"
5846
-  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8"
5847
-  integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=
5848
-
5849 5795
 map-visit@^1.0.0:
5850 5796
   version "1.0.0"
5851 5797
   resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -5905,11 +5851,6 @@ memory-fs@^0.4.0, memory-fs@~0.4.1:
5905 5851
     errno "^0.1.3"
5906 5852
     readable-stream "^2.0.1"
5907 5853
 
5908
-memorystream@^0.3.1:
5909
-  version "0.3.1"
5910
-  resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
5911
-  integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI=
5912
-
5913 5854
 meow@^3.7.0:
5914 5855
   version "3.7.0"
5915 5856
   resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
@@ -6462,21 +6403,6 @@ npm-packlist@^1.1.6:
6462 6403
     ignore-walk "^3.0.1"
6463 6404
     npm-bundled "^1.0.1"
6464 6405
 
6465
-npm-run-all@^4.1.2:
6466
-  version "4.1.3"
6467
-  resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.3.tgz#49f15b55a66bb4101664ce270cb18e7103f8f185"
6468
-  integrity sha512-aOG0N3Eo/WW+q6sUIdzcV2COS8VnTZCmdji0VQIAZF3b+a3YWb0AD0vFIyjKec18A7beLGbaQ5jFTNI2bPt9Cg==
6469
-  dependencies:
6470
-    ansi-styles "^3.2.0"
6471
-    chalk "^2.1.0"
6472
-    cross-spawn "^6.0.4"
6473
-    memorystream "^0.3.1"
6474
-    minimatch "^3.0.4"
6475
-    ps-tree "^1.1.0"
6476
-    read-pkg "^3.0.0"
6477
-    shell-quote "^1.6.1"
6478
-    string.prototype.padend "^3.0.0"
6479
-
6480 6406
 npm-run-path@^2.0.0:
6481 6407
   version "2.0.2"
6482 6408
   resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
@@ -6979,20 +6905,6 @@ path-type@^2.0.0:
6979 6905
   dependencies:
6980 6906
     pify "^2.0.0"
6981 6907
 
6982
-path-type@^3.0.0:
6983
-  version "3.0.0"
6984
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
6985
-  integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
6986
-  dependencies:
6987
-    pify "^3.0.0"
6988
-
6989
-pause-stream@^0.0.11:
6990
-  version "0.0.11"
6991
-  resolved "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
6992
-  integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=
6993
-  dependencies:
6994
-    through "~2.3"
6995
-
6996 6908
 pbkdf2@^3.0.3:
6997 6909
   version "3.0.16"
6998 6910
   resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c"
@@ -7663,13 +7575,6 @@ prr@~1.0.1:
7663 7575
   resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
7664 7576
   integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
7665 7577
 
7666
-ps-tree@^1.1.0:
7667
-  version "1.1.0"
7668
-  resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014"
7669
-  integrity sha1-tCGyQUDWID8e08dplrRCewjowBQ=
7670
-  dependencies:
7671
-    event-stream "~3.3.0"
7672
-
7673 7578
 pseudomap@^1.0.2:
7674 7579
   version "1.0.2"
7675 7580
   resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -8115,15 +8020,6 @@ read-pkg@^2.0.0:
8115 8020
     normalize-package-data "^2.3.2"
8116 8021
     path-type "^2.0.0"
8117 8022
 
8118
-read-pkg@^3.0.0:
8119
-  version "3.0.0"
8120
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
8121
-  integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
8122
-  dependencies:
8123
-    load-json-file "^4.0.0"
8124
-    normalize-package-data "^2.3.2"
8125
-    path-type "^3.0.0"
8126
-
8127 8023
 "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6:
8128 8024
   version "2.3.6"
8129 8025
   resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
@@ -8827,16 +8723,6 @@ shebang-regex@^1.0.0:
8827 8723
   resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
8828 8724
   integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
8829 8725
 
8830
-shell-quote@^1.6.1:
8831
-  version "1.6.1"
8832
-  resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
8833
-  integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=
8834
-  dependencies:
8835
-    array-filter "~0.0.0"
8836
-    array-map "~0.0.0"
8837
-    array-reduce "~0.0.0"
8838
-    jsonify "~0.0.0"
8839
-
8840 8726
 shellwords@^0.1.1:
8841 8727
   version "0.1.1"
8842 8728
   resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
@@ -9039,7 +8925,7 @@ split-string@^3.0.1, split-string@^3.0.2:
9039 8925
   dependencies:
9040 8926
     extend-shallow "^3.0.0"
9041 8927
 
9042
-split@^1.0.0, split@^1.0.1:
8928
+split@^1.0.0:
9043 8929
   version "1.0.1"
9044 8930
   resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
9045 8931
   integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
@@ -9124,14 +9010,6 @@ stream-browserify@^2.0.1:
9124 9010
     inherits "~2.0.1"
9125 9011
     readable-stream "^2.0.2"
9126 9012
 
9127
-stream-combiner@^0.2.2:
9128
-  version "0.2.2"
9129
-  resolved "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858"
9130
-  integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=
9131
-  dependencies:
9132
-    duplexer "~0.1.1"
9133
-    through "~2.3.4"
9134
-
9135 9013
 stream-each@^1.1.0:
9136 9014
   version "1.2.3"
9137 9015
   resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
@@ -9181,15 +9059,6 @@ string-width@^1.0.1, string-width@^1.0.2:
9181 9059
     is-fullwidth-code-point "^2.0.0"
9182 9060
     strip-ansi "^4.0.0"
9183 9061
 
9184
-string.prototype.padend@^3.0.0:
9185
-  version "3.0.0"
9186
-  resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0"
9187
-  integrity sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=
9188
-  dependencies:
9189
-    define-properties "^1.1.2"
9190
-    es-abstract "^1.4.3"
9191
-    function-bind "^1.0.2"
9192
-
9193 9062
 string.prototype.trim@^1.1.2:
9194 9063
   version "1.1.2"
9195 9064
   resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea"
@@ -9407,7 +9276,7 @@ through2@^2.0.0:
9407 9276
     readable-stream "^2.1.5"
9408 9277
     xtend "~4.0.1"
9409 9278
 
9410
-through@2, through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.4:
9279
+through@2, through@^2.3.6:
9411 9280
   version "2.3.8"
9412 9281
   resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
9413 9282
   integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=

Loading…
Cancel
Save