diff options
-rw-r--r-- | app/models/repository.rb | 4 | ||||
-rw-r--r-- | app/services/merge_requests/merge_service.rb | 27 | ||||
-rw-r--r-- | changelogs/unreleased/issue_39773_be.yml | 5 | ||||
-rw-r--r-- | doc/install/installation.md | 4 | ||||
-rw-r--r-- | lib/gitlab/git/operation_service.rb | 10 | ||||
-rw-r--r-- | lib/gitlab/git/remote_repository.rb | 82 | ||||
-rw-r--r-- | lib/gitlab/git/repository.rb | 34 | ||||
-rw-r--r-- | spec/lib/gitlab/git/remote_repository_spec.rb | 99 | ||||
-rw-r--r-- | spec/lib/gitlab/git/repository_spec.rb | 70 | ||||
-rw-r--r-- | spec/services/merge_requests/merge_service_spec.rb | 22 | ||||
-rw-r--r-- | vendor/gitignore/Android.gitignore | 2 | ||||
-rw-r--r-- | vendor/gitignore/Perl.gitignore | 2 | ||||
-rw-r--r-- | vendor/gitlab-ci-yml/Crystal.gitlab-ci.yml | 2 | ||||
-rw-r--r-- | vendor/licenses.csv | 228 |
14 files changed, 496 insertions, 95 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 6bdee538172..3a89fa9264b 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -1062,6 +1062,10 @@ class Repository blob_data_at(sha, path) end + def fetch_ref(source_repository, source_ref:, target_ref:) + raw_repository.fetch_ref(source_repository.raw_repository, source_ref: source_ref, target_ref: target_ref) + end + private # TODO Generice finder, later split this on finders by Ref or Oid diff --git a/app/services/merge_requests/merge_service.rb b/app/services/merge_requests/merge_service.rb index 156e7b2f078..1da4dbd9e96 100644 --- a/app/services/merge_requests/merge_service.rb +++ b/app/services/merge_requests/merge_service.rb @@ -18,15 +18,7 @@ module MergeRequests @merge_request = merge_request - unless @merge_request.mergeable? - return handle_merge_error(log_message: 'Merge request is not mergeable', save_message_on_model: true) - end - - @source = find_merge_source - - unless @source - return handle_merge_error(log_message: 'No source for merge', save_message_on_model: true) - end + error_check! merge_request.in_locked_state do if commit @@ -41,6 +33,19 @@ module MergeRequests private + def error_check! + error = + if @merge_request.should_be_rebased? + 'Only fast-forward merge is allowed for your project. Please update your source branch' + elsif !@merge_request.mergeable? + 'Merge request is not mergeable' + elsif !source + 'No source for merge' + end + + raise MergeError, error if error + end + def commit message = params[:commit_message] || merge_request.merge_commit_message @@ -91,8 +96,8 @@ module MergeRequests merge_request.to_reference(full: true) end - def find_merge_source - merge_request.diff_head_sha + def source + @source ||= @merge_request.diff_head_sha end end end diff --git a/changelogs/unreleased/issue_39773_be.yml b/changelogs/unreleased/issue_39773_be.yml new file mode 100644 index 00000000000..db30267d71f --- /dev/null +++ b/changelogs/unreleased/issue_39773_be.yml @@ -0,0 +1,5 @@ +--- +title: Show error message when fast-forward merge is not possible +merge_request: +author: +type: fixed diff --git a/doc/install/installation.md b/doc/install/installation.md index 2a004152d5e..4efe911b778 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -299,9 +299,9 @@ sudo usermod -aG redis git ### Clone the Source # Clone GitLab repository - sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 10-1-stable gitlab + sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 10-2-stable gitlab -**Note:** You can change `10-1-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server! +**Note:** You can change `10-2-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server! ### Configure It diff --git a/lib/gitlab/git/operation_service.rb b/lib/gitlab/git/operation_service.rb index ab94ba8a73a..e36d5410431 100644 --- a/lib/gitlab/git/operation_service.rb +++ b/lib/gitlab/git/operation_service.rb @@ -72,7 +72,7 @@ module Gitlab # Whenever `start_branch_name` is passed, if `branch_name` doesn't exist, # it would be created from `start_branch_name`. - # If `start_project` is passed, and the branch doesn't exist, + # If `start_repository` is passed, and the branch doesn't exist, # it would try to find the commits from it instead of current repository. def with_branch( branch_name, @@ -80,15 +80,13 @@ module Gitlab start_repository: repository, &block) - # Refactoring aid - unless start_repository.is_a?(Gitlab::Git::Repository) - raise "expected a Gitlab::Git::Repository, got #{start_repository}" - end + Gitlab::Git.check_namespace!(start_repository) + start_repository = RemoteRepository.new(start_repository) unless start_repository.is_a?(RemoteRepository) start_branch_name = nil if start_repository.empty_repo? if start_branch_name && !start_repository.branch_exists?(start_branch_name) - raise ArgumentError, "Cannot find branch #{start_branch_name} in #{start_repository.full_path}" + raise ArgumentError, "Cannot find branch #{start_branch_name} in #{start_repository.relative_path}" end update_branch_with_hooks(branch_name) do diff --git a/lib/gitlab/git/remote_repository.rb b/lib/gitlab/git/remote_repository.rb new file mode 100644 index 00000000000..3685aa20669 --- /dev/null +++ b/lib/gitlab/git/remote_repository.rb @@ -0,0 +1,82 @@ +module Gitlab + module Git + # + # When a Gitaly call involves two repositories instead of one we cannot + # assume that both repositories are on the same Gitaly server. In this + # case we need to make a distinction between the repository that the + # call is being made on (a Repository instance), and the "other" + # repository (a RemoteRepository instance). This is the reason why we + # have the RemoteRepository class in Gitlab::Git. + # + # When you make changes, be aware that gitaly-ruby sub-classes this + # class. + # + class RemoteRepository + attr_reader :path, :relative_path, :gitaly_repository + + def initialize(repository) + @relative_path = repository.relative_path + @gitaly_repository = repository.gitaly_repository + + # These instance variables will not be available in gitaly-ruby, where + # we have no disk access to this repository. + @repository = repository + @path = repository.path + end + + def empty_repo? + # We will override this implementation in gitaly-ruby because we cannot + # use '@repository' there. + @repository.empty_repo? + end + + def commit_id(revision) + # We will override this implementation in gitaly-ruby because we cannot + # use '@repository' there. + @repository.commit(revision)&.sha + end + + def branch_exists?(name) + # We will override this implementation in gitaly-ruby because we cannot + # use '@repository' there. + @repository.branch_exists?(name) + end + + # Compares self to a Gitlab::Git::Repository. This implementation uses + # 'self.gitaly_repository' so that it will also work in the + # GitalyRemoteRepository subclass defined in gitaly-ruby. + def same_repository?(other_repository) + gitaly_repository.storage_name == other_repository.storage && + gitaly_repository.relative_path == other_repository.relative_path + end + + def fetch_env + gitaly_ssh = File.absolute_path(File.join(Gitlab.config.gitaly.client_path, 'gitaly-ssh')) + gitaly_address = gitaly_client.address(storage) + gitaly_token = gitaly_client.token(storage) + + request = Gitaly::SSHUploadPackRequest.new(repository: gitaly_repository) + env = { + 'GITALY_ADDRESS' => gitaly_address, + 'GITALY_PAYLOAD' => request.to_json, + 'GITALY_WD' => Dir.pwd, + 'GIT_SSH_COMMAND' => "#{gitaly_ssh} upload-pack" + } + env['GITALY_TOKEN'] = gitaly_token if gitaly_token.present? + + env + end + + private + + # Must return an object that responds to 'address' and 'storage'. + def gitaly_client + Gitlab::GitalyClient + end + + def storage + gitaly_repository.storage_name + end + end + end +end diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index d236e1b03e6..14a8d551524 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -58,7 +58,7 @@ module Gitlab # Rugged repo object attr_reader :rugged - attr_reader :storage, :gl_repository, :relative_path, :gitaly_resolver + attr_reader :storage, :gl_repository, :relative_path # This initializer method is only used on the client side (gitlab-ce). # Gitaly-ruby uses a different initializer. @@ -66,7 +66,6 @@ module Gitlab @storage = storage @relative_path = relative_path @gl_repository = gl_repository - @gitaly_resolver = Gitlab::GitalyClient storage_path = Gitlab.config.repositories.storages[@storage]['path'] @path = File.join(storage_path, @relative_path) @@ -1014,23 +1013,22 @@ module Gitlab def with_repo_branch_commit(start_repository, start_branch_name) Gitlab::Git.check_namespace!(start_repository) + start_repository = RemoteRepository.new(start_repository) unless start_repository.is_a?(RemoteRepository) return yield nil if start_repository.empty_repo? - if start_repository == self + if start_repository.same_repository?(self) yield commit(start_branch_name) else - start_commit = start_repository.commit(start_branch_name) + start_commit_id = start_repository.commit_id(start_branch_name) - return yield nil unless start_commit + return yield nil unless start_commit_id - sha = start_commit.sha - - if branch_commit = commit(sha) + if branch_commit = commit(start_commit_id) yield branch_commit else with_repo_tmp_commit( - start_repository, start_branch_name, sha) do |tmp_commit| + start_repository, start_branch_name, start_commit_id) do |tmp_commit| yield tmp_commit end end @@ -1087,6 +1085,9 @@ module Gitlab end def fetch_ref(source_repository, source_ref:, target_ref:) + Gitlab::Git.check_namespace!(source_repository) + source_repository = RemoteRepository.new(source_repository) unless source_repository.is_a?(RemoteRepository) + message, status = GitalyClient.migrate(:fetch_ref) do |is_enabled| if is_enabled gitaly_fetch_ref(source_repository, source_ref: source_ref, target_ref: target_ref) @@ -1620,22 +1621,9 @@ module Gitlab end def gitaly_fetch_ref(source_repository, source_ref:, target_ref:) - gitaly_ssh = File.absolute_path(File.join(Gitlab.config.gitaly.client_path, 'gitaly-ssh')) - gitaly_address = gitaly_resolver.address(source_repository.storage) - gitaly_token = gitaly_resolver.token(source_repository.storage) - - request = Gitaly::SSHUploadPackRequest.new(repository: source_repository.gitaly_repository) - env = { - 'GITALY_ADDRESS' => gitaly_address, - 'GITALY_PAYLOAD' => request.to_json, - 'GITALY_WD' => Dir.pwd, - 'GIT_SSH_COMMAND' => "#{gitaly_ssh} upload-pack" - } - env['GITALY_TOKEN'] = gitaly_token if gitaly_token.present? - args = %W(fetch --no-tags -f ssh://gitaly/internal.git #{source_ref}:#{target_ref}) - run_git(args, env: env) + run_git(args, env: source_repository.fetch_env) end def gitaly_ff_merge(user, source_sha, target_branch) diff --git a/spec/lib/gitlab/git/remote_repository_spec.rb b/spec/lib/gitlab/git/remote_repository_spec.rb new file mode 100644 index 00000000000..0506210887c --- /dev/null +++ b/spec/lib/gitlab/git/remote_repository_spec.rb @@ -0,0 +1,99 @@ +require 'spec_helper' + +describe Gitlab::Git::RemoteRepository, seed_helper: true do + let(:repository) { Gitlab::Git::Repository.new('default', TEST_REPO_PATH, '') } + subject { described_class.new(repository) } + + describe '#empty_repo?' do + using RSpec::Parameterized::TableSyntax + + where(:repository, :result) do + Gitlab::Git::Repository.new('default', TEST_REPO_PATH, '') | false + Gitlab::Git::Repository.new('default', 'does-not-exist.git', '') | true + end + + with_them do + it { expect(subject.empty_repo?).to eq(result) } + end + end + + describe '#commit_id' do + it 'returns an OID if the revision exists' do + expect(subject.commit_id('v1.0.0')).to eq('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') + end + + it 'is nil when the revision does not exist' do + expect(subject.commit_id('does-not-exist')).to be_nil + end + end + + describe '#branch_exists?' do + using RSpec::Parameterized::TableSyntax + + where(:branch, :result) do + 'master' | true + 'does-not-exist' | false + end + + with_them do + it { expect(subject.branch_exists?(branch)).to eq(result) } + end + end + + describe '#same_repository?' do + using RSpec::Parameterized::TableSyntax + + where(:other_repository, :result) do + repository | true + Gitlab::Git::Repository.new(repository.storage, repository.relative_path, '') | true + Gitlab::Git::Repository.new('broken', TEST_REPO_PATH, '') | false + Gitlab::Git::Repository.new(repository.storage, 'wrong/relative-path.git', '') | false + Gitlab::Git::Repository.new('broken', 'wrong/relative-path.git', '') | false + end + + with_them do + it { expect(subject.same_repository?(other_repository)).to eq(result) } + end + end + + describe '#fetch_env' do + let(:remote_repository) { described_class.new(repository) } + + let(:gitaly_client) { double(:gitaly_client) } + let(:address) { 'fake-address' } + let(:token) { 'fake-token' } + + subject { remote_repository.fetch_env } + + before do + allow(remote_repository).to receive(:gitaly_client).and_return(gitaly_client) + + expect(gitaly_client).to receive(:address).with(repository.storage).and_return(address) + expect(gitaly_client).to receive(:token).with(repository.storage).and_return(token) + end + + it { expect(subject).to be_a(Hash) } + it { expect(subject['GITALY_ADDRESS']).to eq(address) } + it { expect(subject['GITALY_TOKEN']).to eq(token) } + it { expect(subject['GITALY_WD']).to eq(Dir.pwd) } + + it 'creates a plausible GIT_SSH_COMMAND' do + git_ssh_command = subject['GIT_SSH_COMMAND'] + + expect(git_ssh_command).to start_with('/') + expect(git_ssh_command).to end_with('/gitaly-ssh upload-pack') + end + + it 'creates a plausible GITALY_PAYLOAD' do + req = Gitaly::SSHUploadPackRequest.decode_json(subject['GITALY_PAYLOAD']) + + expect(remote_repository.gitaly_repository).to eq(req.repository) + end + + context 'when the token is blank' do + let(:token) { '' } + + it { expect(subject.keys).not_to include('GITALY_TOKEN') } + end + end +end diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index ee14b528ec2..5d990b42c24 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -449,7 +449,6 @@ describe Gitlab::Git::Repository, seed_helper: true do let(:repository) { Gitlab::Git::Repository.new('default', TEST_MUTABLE_REPO_PATH, '') } after do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end @@ -484,7 +483,6 @@ describe Gitlab::Git::Repository, seed_helper: true do let(:repository) { Gitlab::Git::Repository.new('default', TEST_MUTABLE_REPO_PATH, '') } after do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end @@ -544,7 +542,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end after(:all) do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end end @@ -570,7 +567,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end after(:all) do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end end @@ -588,7 +584,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end after(:all) do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end end @@ -1122,7 +1117,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end after do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end @@ -1169,7 +1163,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end after do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end @@ -1419,7 +1412,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end after(:all) do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end @@ -1537,35 +1529,60 @@ describe Gitlab::Git::Repository, seed_helper: true do end describe '#fetch_source_branch!' do - let(:local_ref) { 'refs/merge-requests/1/head' } + shared_examples '#fetch_source_branch!' do + let(:local_ref) { 'refs/merge-requests/1/head' } + let(:repository) { Gitlab::Git::Repository.new('default', TEST_REPO_PATH, '') } + let(:source_repository) { Gitlab::Git::Repository.new('default', TEST_MUTABLE_REPO_PATH, '') } - context 'when the branch exists' do - let(:source_branch) { 'master' } + after do + ensure_seeds + end - it 'writes the ref' do - expect(repository).to receive(:write_ref).with(local_ref, /\h{40}/) + context 'when the branch exists' do + context 'when the commit does not exist locally' do + let(:source_branch) { 'new-branch-for-fetch-source-branch' } + let(:source_rugged) { source_repository.rugged } + let(:new_oid) { new_commit_edit_old_file(source_rugged).oid } - repository.fetch_source_branch!(repository, source_branch, local_ref) - end + before do + source_rugged.branches.create(source_branch, new_oid) + end - it 'returns true' do - expect(repository.fetch_source_branch!(repository, source_branch, local_ref)).to eq(true) - end - end + it 'writes the ref' do + expect(repository.fetch_source_branch!(source_repository, source_branch, local_ref)).to eq(true) + expect(repository.commit(local_ref).sha).to eq(new_oid) + end + end - context 'when the branch does not exist' do - let(:source_branch) { 'definitely-not-master' } + context 'when the commit exists locally' do + let(:source_branch) { 'master' } + let(:expected_oid) { SeedRepo::LastCommit::ID } - it 'does not write the ref' do - expect(repository).not_to receive(:write_ref) + it 'writes the ref' do + # Sanity check: the commit should already exist + expect(repository.commit(expected_oid)).not_to be_nil - repository.fetch_source_branch!(repository, source_branch, local_ref) + expect(repository.fetch_source_branch!(source_repository, source_branch, local_ref)).to eq(true) + expect(repository.commit(local_ref).sha).to eq(expected_oid) + end + end end - it 'returns false' do - expect(repository.fetch_source_branch!(repository, source_branch, local_ref)).to eq(false) + context 'when the branch does not exist' do + let(:source_branch) { 'definitely-not-master' } + + it 'does not write the ref' do + expect(repository.fetch_source_branch!(source_repository, source_branch, local_ref)).to eq(false) + expect(repository.commit(local_ref)).to be_nil + end end end + + it_behaves_like '#fetch_source_branch!' + + context 'without gitaly', :skip_gitaly_mock do + it_behaves_like '#fetch_source_branch!' + end end describe '#rm_branch' do @@ -1641,7 +1658,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end after do - FileUtils.rm_rf(TEST_MUTABLE_REPO_PATH) ensure_seeds end diff --git a/spec/services/merge_requests/merge_service_spec.rb b/spec/services/merge_requests/merge_service_spec.rb index ac196e92601..f86f1ac2443 100644 --- a/spec/services/merge_requests/merge_service_spec.rb +++ b/spec/services/merge_requests/merge_service_spec.rb @@ -248,6 +248,28 @@ describe MergeRequests::MergeService do expect(merge_request.merge_error).to include(error_message) expect(Rails.logger).to have_received(:error).with(a_string_matching(error_message)) end + + context "when fast-forward merge is not allowed" do + before do + allow_any_instance_of(Repository).to receive(:ancestor?).and_return(nil) + end + + %w(semi-linear ff).each do |merge_method| + it "logs and saves error if merge is #{merge_method} only" do + merge_method = 'rebase_merge' if merge_method == 'semi-linear' + merge_request.project.update(merge_method: merge_method) + error_message = 'Only fast-forward merge is allowed for your project. Please update your source branch' + allow(service).to receive(:execute_hooks) + + service.execute(merge_request) + + expect(merge_request).to be_open + expect(merge_request.merge_commit_sha).to be_nil + expect(merge_request.merge_error).to include(error_message) + expect(Rails.logger).to have_received(:error).with(a_string_matching(error_message)) + end + end + end end end end diff --git a/vendor/gitignore/Android.gitignore b/vendor/gitignore/Android.gitignore index c79ba5080a3..addf405e4f5 100644 --- a/vendor/gitignore/Android.gitignore +++ b/vendor/gitignore/Android.gitignore @@ -32,7 +32,7 @@ proguard/ # Android Studio captures folder captures/ -# Intellij +# IntelliJ *.iml .idea/workspace.xml .idea/tasks.xml diff --git a/vendor/gitignore/Perl.gitignore b/vendor/gitignore/Perl.gitignore index 9bf1537f6ae..ecf66f84291 100644 --- a/vendor/gitignore/Perl.gitignore +++ b/vendor/gitignore/Perl.gitignore @@ -24,7 +24,7 @@ Build.bat # Module::Install inc/ -# ExtUitls::MakeMaker +# ExtUtils::MakeMaker /blib/ /_eumm/ /*.gz diff --git a/vendor/gitlab-ci-yml/Crystal.gitlab-ci.yml b/vendor/gitlab-ci-yml/Crystal.gitlab-ci.yml index 02cfab3a5b2..36386a19fdc 100644 --- a/vendor/gitlab-ci-yml/Crystal.gitlab-ci.yml +++ b/vendor/gitlab-ci-yml/Crystal.gitlab-ci.yml @@ -16,7 +16,7 @@ image: "crystallang/crystal:latest" # Cache shards in between builds cache: paths: - - libs + - lib # This is a basic example for a shard or script which doesn't use # services such as redis or postgres diff --git a/vendor/licenses.csv b/vendor/licenses.csv index 9f78059986d..6f6ca5f8b32 100644 --- a/vendor/licenses.csv +++ b/vendor/licenses.csv @@ -1,7 +1,11 @@ +"","","MIT,ISC,Apache 2.0,New BSD,Simplified BSD" RedCloth,4.3.2,MIT abbrev,1.0.9,ISC +abbrev,1.1.0,ISC accepts,1.3.3,MIT ace-rails-ap,4.1.2,MIT +acorn,3.3.0,MIT +acorn,4.0.13,MIT acorn,5.1.1,MIT acorn-dynamic-import,2.0.2,MIT acorn-jsx,3.0.1,MIT @@ -15,7 +19,9 @@ activesupport,4.2.8,MIT acts-as-taggable-on,4.0.0,MIT addressable,2.5.2,Apache 2.0 after,0.8.2,MIT +ajv,4.11.8,MIT ajv,5.2.2,MIT +ajv-keywords,1.5.1,MIT ajv-keywords,2.1.0,MIT akismet,2.0.0,MIT align-text,0.1.4,MIT @@ -24,10 +30,14 @@ alphanum-sort,1.0.2,MIT amdefine,1.0.1,BSD-3-Clause OR MIT ansi-escapes,1.4.0,MIT ansi-html,0.0.5,"Apache, Version 2.0" +ansi-html,0.0.7,Apache 2.0 ansi-regex,2.1.1,MIT ansi-styles,2.2.1,MIT +ansi-styles,3.2.0,MIT anymatch,1.3.2,ISC append-transform,0.4.0,MIT +aproba,1.1.1,ISC +are-we-there-yet,1.1.4,ISC arel,6.0.4,MIT argparse,1.0.9,MIT arr-diff,2.0.0,MIT @@ -35,6 +45,7 @@ arr-flatten,1.0.1,MIT array-find,1.0.0,MIT array-find-index,1.0.2,MIT array-flatten,1.1.1,MIT +array-flatten,2.1.1,MIT array-slice,0.2.3,MIT array-union,1.0.2,MIT array-uniq,1.0.3,MIT @@ -44,15 +55,24 @@ arrify,1.0.1,MIT asana,0.6.0,MIT asciidoctor,1.5.3,MIT asciidoctor-plantuml,0.0.7,MIT +asn1,0.2.3,MIT asn1.js,4.9.1,MIT assert,1.4.1,MIT +assert-plus,0.2.0,MIT +assert-plus,1.0.0,MIT +async,0.9.2,MIT +async,1.5.2,MIT async,2.4.1,MIT async-each,1.0.1,MIT +asynckit,0.4.0,MIT atomic,1.1.99,Apache 2.0 attr_encrypted,3.0.3,MIT attr_required,1.0.0,MIT autoprefixer,6.7.7,MIT autoprefixer-rails,6.2.3,MIT +autosize,4.0.0,MIT +aws-sign2,0.6.0,Apache 2.0 +aws4,1.6.0,MIT axiom-types,0.1.1,MIT axios,0.16.2,MIT babel-code-frame,6.22.0,MIT @@ -130,6 +150,7 @@ babel-types,6.23.0,MIT babosa,1.0.2,MIT babylon,6.16.1,MIT backo2,1.0.2,MIT +balanced-match,0.4.2,MIT balanced-match,1.0.0,MIT base32,0.3.2,MIT base64-arraybuffer,0.1.5,MIT @@ -137,19 +158,25 @@ base64-js,1.2.0,MIT base64id,1.0.0,MIT batch,0.6.1,MIT bcrypt,3.1.11,MIT +bcrypt-pbkdf,1.0.1,New BSD bcrypt_pbkdf,1.0.0,MIT better-assert,1.0.2,MIT big.js,3.1.3,MIT binary-extensions,1.10.0,MIT bindata,2.4.1,ruby blob,0.0.4,unknown +block-stream,0.0.9,ISC bluebird,2.11.0,MIT +bluebird,3.5.0,MIT bn.js,4.11.6,MIT body-parser,1.17.2,MIT bonjour,3.5.0,MIT +boom,2.10.1,New BSD bootstrap-sass,3.3.6,MIT bootstrap_form,2.7.0,MIT +brace-expansion,1.1.7,MIT brace-expansion,1.1.8,MIT +braces,0.1.5,MIT braces,1.8.5,MIT brorand,1.0.7,MIT browser,2.2.0,MIT @@ -168,17 +195,23 @@ builder,3.2.3,MIT builtin-modules,1.1.1,MIT builtin-status-codes,3.0.0,MIT bytes,2.4.0,MIT +bytes,2.5.0,MIT caller-path,0.1.0,MIT callsite,1.0.0,unknown callsites,0.2.0,MIT +camelcase,1.2.1,MIT +camelcase,2.1.1,MIT +camelcase,3.0.0,MIT camelcase,4.1.0,MIT camelcase-keys,2.1.0,MIT caniuse-api,1.6.1,MIT caniuse-db,1.0.30000649,CC-BY-4.0 -carrierwave,1.1.0,MIT +carrierwave,1.2.1,MIT +caseless,0.12.0,Apache 2.0 cause,0.1,MIT center-align,0.1.3,MIT chalk,1.1.3,MIT +chalk,2.3.0,MIT charlock_holmes,0.7.5,MIT chokidar,1.7.0,MIT chronic,0.10.2,MIT @@ -191,6 +224,7 @@ clap,1.1.3,MIT cli-cursor,1.0.2,MIT cli-width,2.1.0,ISC clipboard,1.6.1,MIT +cliui,2.1.0,ISC cliui,3.2.0,ISC clone,1.0.2,MIT co,4.6.0,MIT @@ -204,9 +238,11 @@ color-string,0.3.0,MIT colormin,1.1.2,MIT colors,1.1.2,MIT combine-lists,1.0.1,MIT +combined-stream,1.0.5,MIT commander,2.9.0,MIT commondir,1.0.1,MIT component-bind,1.0.0,unknown +component-emitter,1.1.2,unknown component-emitter,1.2.1,MIT component-inherit,0.0.3,unknown compressible,2.0.11,MIT @@ -220,7 +256,8 @@ configstore,1.4.0,Simplified BSD connect,3.6.3,MIT connect-history-api-fallback,1.3.0,MIT connection_pool,2.2.1,MIT -console-browserify,1.1.0,[Circular] +console-browserify,1.1.0,MIT +console-control-strings,1.1.0,ISC consolidate,0.14.5,MIT constants-browserify,1.0.0,MIT contains-path,0.1.0,MIT @@ -230,6 +267,7 @@ convert-source-map,1.3.0,MIT cookie,0.3.1,MIT cookie-signature,1.0.6,MIT copy-webpack-plugin,4.0.1,MIT +core-js,2.3.0,MIT core-js,2.4.1,MIT core-util-is,1.0.2,MIT cosmiconfig,2.1.1,MIT @@ -240,9 +278,11 @@ create-hmac,1.1.4,MIT creole,0.5.0,ruby cropper,2.3.0,MIT cross-spawn,5.1.0,MIT +cryptiles,2.0.5,New BSD crypto-browserify,3.11.0,MIT css-color-names,0.0.4,MIT css-loader,0.28.0,MIT +css-selector-tokenizer,0.6.0,MIT css-selector-tokenizer,0.7.0,MIT css_parser,1.5.0,MIT cssesc,0.1.0,MIT @@ -250,11 +290,16 @@ cssnano,3.10.0,MIT csso,2.3.2,MIT currently-unhandled,0.4.1,MIT custom-event,1.0.1,MIT +d,0.1.1,MIT d,1.0.0,MIT d3,3.5.11,New BSD d3_rails,3.5.11,MIT +dashdash,1.14.1,MIT date-now,0.1.4,MIT de-indent,1.0.2,MIT +debug,2.2.0,MIT +debug,2.3.3,MIT +debug,2.6.7,MIT debug,2.6.8,MIT debugger-ruby_core_source,1.3.8,MIT decamelize,1.2.0,MIT @@ -269,7 +314,11 @@ default-require-extensions,1.0.0,MIT default_value_for,3.0.2,MIT defined,1.0.0,MIT del,2.2.2,MIT +del,3.0.0,MIT +delayed-stream,1.0.0,MIT delegate,3.1.2,MIT +delegates,1.0.0,MIT +depd,1.1.0,MIT depd,1.1.1,MIT des.js,1.0.0,MIT descendants_tracker,0.0.4,MIT @@ -285,12 +334,14 @@ diffy,3.1.0,MIT dns-equal,1.0.0,MIT dns-packet,1.2.2,MIT dns-txt,2.0.2,MIT +doctrine,1.5.0,BSD doctrine,2.0.0,Apache 2.0 document-register-element,1.3.0,MIT dom-serialize,2.2.1,MIT dom-serializer,0.1.0,MIT domain-browser,1.1.7,MIT domain_name,0.5.20161021,"Simplified BSD,New BSD,Mozilla Public License 2.0" +domelementtype,1.1.3,unknown domelementtype,1.3.0,unknown domhandler,2.3.0,unknown domutils,1.5.1,unknown @@ -298,9 +349,10 @@ doorkeeper,4.2.6,MIT doorkeeper-openid_connect,1.2.0,MIT dropzone,4.2.0,MIT dropzonejs-rails,0.7.2,MIT -duplexer,0.1.1,[Circular] +duplexer,0.1.1,MIT duplexer3,0.1.4,New BSD duplexify,3.5.1,MIT +ecc-jsbn,0.1.1,MIT editorconfig,0.13.2,MIT ee-first,1.1.1,MIT ejs,2.5.6,Apache 2.0 @@ -315,6 +367,7 @@ end-of-stream,1.4.0,MIT engine.io,1.8.3,MIT engine.io-client,1.8.3,MIT engine.io-parser,1.3.2,MIT +enhanced-resolve,0.9.1,MIT enhanced-resolve,3.4.1,MIT ent,2.2.0,MIT entities,1.1.1,BSD-like @@ -346,9 +399,12 @@ eslint-plugin-jasmine,2.2.0,MIT eslint-plugin-promise,3.5.0,ISC espree,3.5.0,Simplified BSD esprima,2.7.3,Simplified BSD +esprima,4.0.0,Simplified BSD esquery,1.0.0,BSD esrecurse,4.1.0,Simplified BSD +estraverse,1.9.3,BSD estraverse,4.1.1,Simplified BSD +estraverse,4.2.0,Simplified BSD esutils,2.0.2,BSD et-orbi,1.0.3,MIT etag,1.8.0,MIT @@ -365,12 +421,14 @@ execjs,2.6.0,MIT exit-hook,1.1.1,MIT expand-braces,0.1.2,MIT expand-brackets,0.1.5,MIT +expand-range,0.1.1,MIT expand-range,1.8.2,MIT exports-loader,0.6.4,MIT express,4.15.4,MIT expression_parser,0.9.0,MIT extend,3.0.1,MIT extglob,0.3.2,MIT +extsprintf,1.0.2,MIT faraday,0.12.2,MIT faraday_middleware,0.11.0.1,MIT faraday_middleware-multi_json,0.0.6,MIT @@ -378,6 +436,8 @@ fast-deep-equal,1.0.0,MIT fast-levenshtein,2.0.6,MIT fast_gettext,1.4.0,"MIT,ruby" fastparse,1.1.1,MIT +faye-websocket,0.10.0,MIT +faye-websocket,0.11.1,MIT faye-websocket,0.7.3,MIT ffi,1.9.18,New BSD figures,1.7.0,MIT @@ -386,17 +446,19 @@ file-loader,0.11.1,MIT filename-regex,2.0.0,MIT fileset,2.0.3,MIT filesize,3.3.0,New BSD +filesize,3.5.10,New BSD fill-range,2.2.3,MIT finalhandler,1.0.4,MIT find-cache-dir,1.0.0,MIT find-root,0.1.2,MIT +find-up,1.1.2,MIT find-up,2.1.0,MIT flat-cache,1.2.2,MIT flatten,1.0.2,MIT flipper,0.10.2,MIT flipper-active_record,0.10.2,MIT flowdock,0.7.1,MIT -fog-aliyun,0.1.0,MIT +fog-aliyun,0.2.0,MIT fog-aws,1.4.0,MIT fog-core,1.44.3,MIT fog-google,0.5.3,MIT @@ -409,6 +471,8 @@ follow-redirects,1.2.3,MIT font-awesome-rails,4.7.0.1,"MIT,SIL Open Font License" for-in,0.1.6,MIT for-own,0.1.4,MIT +forever-agent,0.6.1,Apache 2.0 +form-data,2.1.4,MIT formatador,0.2.5,MIT forwarded,0.1.0,MIT fresh,0.5.0,MIT @@ -416,8 +480,12 @@ from,0.1.7,MIT fs-access,1.0.1,MIT fs-extra,0.26.7,MIT fs.realpath,1.0.0,ISC -fsevents,,unknown +fsevents,1.1.2,MIT +fstream,1.0.11,ISC +fstream-ignore,1.0.5,ISC function-bind,1.1.0,MIT +fuzzaldrin-plus,0.5.0,MIT +gauge,2.7.4,ISC gemnasium-gitlab-service,0.2.6,MIT gemojione,3.3.0,MIT generate-function,2.0.0,MIT @@ -426,30 +494,37 @@ get-caller-file,1.0.2,ISC get-stdin,4.0.1,MIT get-stream,3.0.0,MIT get_process_mem,0.2.0,MIT +getpass,0.1.7,MIT gettext_i18n_rails,1.8.0,MIT gettext_i18n_rails_js,1.2.0,MIT -gitaly-proto,0.41.0,MIT +gitaly-proto,0.51.0,MIT github-linguist,4.7.6,MIT github-markup,1.6.1,MIT gitlab-flowdock-git-hook,1.0.1,MIT gitlab-grit,2.8.2,MIT -gitlab-markup,1.6.2,MIT +gitlab-markup,1.6.3,MIT gitlab-svgs,1.0.4,unknown gitlab_omniauth-ldap,2.0.4,MIT +glob,5.0.15,ISC glob,6.0.4,ISC +glob,7.1.1,ISC +glob,7.1.2,ISC glob-base,0.3.0,MIT glob-parent,2.0.0,ISC globalid,0.3.7,MIT globals,9.18.0,MIT globby,5.0.0,MIT +globby,6.1.0,MIT gollum-grit_adapter,1.0.1,MIT gollum-lib,4.2.7,MIT gollum-rugged_adapter,0.4.4,MIT gon,6.1.0,MIT good-listener,1.2.2,MIT google-api-client,0.13.6,Apache 2.0 -google-protobuf,3.4.0.2,New BSD +google-protobuf,3.4.1.1,New BSD +googleapis-common-protos-types,1.0.0,Apache 2.0 googleauth,0.5.3,Apache 2.0 +got,3.3.1,MIT got,7.1.0,MIT gpgme,2.0.13,LGPL-2.1+ graceful-fs,4.1.11,ISC @@ -458,25 +533,31 @@ grape,1.0.0,MIT grape-entity,0.6.0,MIT grape-route-helpers,2.1.0,MIT grape_logging,1.7.0,MIT -grpc,1.6.0,Apache 2.0 +grpc,1.6.6,Apache 2.0 gzip-size,3.0.0,MIT hamlit,2.6.1,MIT handle-thing,1.2.5,MIT handlebars,4.0.6,MIT +har-schema,1.0.5,ISC +har-validator,4.2.1,ISC has,1.0.1,MIT has-ansi,2.0.0,MIT has-binary,0.1.7,MIT has-cors,1.1.0,MIT +has-flag,1.0.0,MIT has-flag,2.0.0,MIT has-symbol-support-x,1.3.0,MIT has-to-string-tag-x,1.3.0,MIT +has-unicode,2.0.1,ISC hash-sum,1.0.2,MIT hash.js,1.0.3,MIT hashie,3.5.6,MIT hashie-forbidden_attributes,0.1.1,MIT +hawk,3.1.3,New BSD he,1.1.1,MIT health_check,2.6.0,MIT hipchat,1.5.2,MIT +hoek,2.16.3,New BSD home-or-tmp,2.0.0,MIT hosted-git-info,2.2.0,ISC hpack.js,2.1.6,MIT @@ -489,10 +570,12 @@ htmlparser2,3.9.2,MIT http,0.9.8,MIT http-cookie,1.0.3,MIT http-deceiver,1.2.7,MIT +http-errors,1.6.1,MIT http-errors,1.6.2,MIT http-form_data,1.0.1,MIT http-proxy,1.16.2,MIT http-proxy-middleware,0.17.4,MIT +http-signature,1.1.1,MIT http_parser.rb,0.6.0,MIT httparty,0.13.7,MIT httpclient,2.8.2,ruby @@ -513,6 +596,7 @@ indexof,0.0.1,unknown infinity-agent,2.0.3,MIT inflight,1.0.6,ISC influxdb,0.2.3,MIT +inherits,2.0.1,ISC inherits,2.0.3,ISC ini,1.3.4,ISC inquirer,0.12.0,MIT @@ -532,12 +616,16 @@ is-builtin-module,1.0.0,MIT is-dotfile,1.0.2,MIT is-equal-shallow,0.1.3,MIT is-extendable,0.1.1,MIT +is-extglob,1.0.0,MIT is-extglob,2.1.1,MIT is-finite,1.0.2,MIT +is-fullwidth-code-point,1.0.0,MIT is-fullwidth-code-point,2.0.0,MIT +is-glob,2.0.1,MIT is-glob,3.1.0,MIT is-my-json-valid,2.16.0,MIT is-npm,1.0.0,MIT +is-number,0.1.1,MIT is-number,2.1.0,MIT is-object,1.0.1,MIT is-path-cwd,1.0.0,MIT @@ -553,13 +641,16 @@ is-resolvable,1.0.0,MIT is-retry-allowed,1.1.0,MIT is-stream,1.1.0,MIT is-svg,2.1.0,MIT +is-typedarray,1.0.0,MIT is-unc-path,0.1.2,MIT is-utf8,0.2.1,MIT is-windows,0.2.0,MIT +isarray,0.0.1,MIT isarray,1.0.0,MIT isbinaryfile,3.0.2,MIT -isexe,2.0.0,ISC +isexe,1.1.2,ISC isobject,2.1.0,MIT +isstream,0.1.2,MIT istanbul,0.4.5,New BSD istanbul-api,1.1.1,New BSD istanbul-lib-coverage,1.0.1,New BSD @@ -573,6 +664,7 @@ jasmine-core,2.6.3,MIT jasmine-jquery,2.1.1,MIT jed,1.1.1,MIT jira-ruby,1.4.1,MIT +jodid25519,1.0.2,MIT jquery,2.2.1,MIT jquery-atwho-rails,1.3.2,MIT jquery-rails,4.1.1,MIT @@ -582,18 +674,23 @@ js-beautify,1.6.12,MIT js-cookie,2.1.3,MIT js-tokens,3.0.1,MIT js-yaml,3.7.0,MIT +js-yaml,3.9.1,MIT +jsbn,0.1.1,MIT +jsesc,0.5.0,MIT jsesc,1.3.0,MIT json,1.8.6,ruby json-jwt,1.7.2,MIT json-loader,0.5.7,MIT +json-schema,0.2.3,"AFLv2.1,BSD" json-schema-traverse,0.3.1,MIT json-stable-stringify,1.0.1,MIT json-stringify-safe,5.0.1,ISC -json3,3.3.2,[Circular] +json3,3.3.2,MIT json5,0.5.1,MIT jsonfile,2.4.0,MIT jsonify,0.0.0,Public Domain jsonpointer,4.0.1,MIT +jsprim,1.4.0,MIT jszip,3.1.3,(MIT OR GPL-3.0) jszip-utils,0.0.2,MIT or GPLv3 jwt,1.5.6,MIT @@ -619,11 +716,14 @@ levn,0.3.0,MIT licensee,8.7.0,MIT lie,3.1.1,MIT little-plugger,1.1.4,MIT +load-json-file,1.1.0,MIT load-json-file,2.0.0,MIT loader-runner,2.3.0,MIT +loader-utils,0.2.16,MIT loader-utils,1.1.0,MIT locale,2.1.2,"ruby,LGPLv3+" locate-path,2.0.0,MIT +lodash,3.10.1,MIT lodash,4.17.4,MIT lodash._baseassign,3.2.0,MIT lodash._basecopy,3.0.1,MIT @@ -634,11 +734,13 @@ lodash._getnative,3.9.1,MIT lodash._isiterateecall,3.0.9,MIT lodash._topath,3.8.1,MIT lodash.assign,3.2.0,MIT +lodash.camelcase,4.1.1,MIT lodash.camelcase,4.3.0,MIT lodash.capitalize,4.2.1,MIT lodash.cond,4.5.2,MIT lodash.deburr,4.1.0,MIT lodash.defaults,3.1.2,MIT +lodash.get,3.7.0,MIT lodash.get,4.4.2,MIT lodash.isarguments,3.1.0,MIT lodash.isarray,3.0.4,MIT @@ -658,7 +760,9 @@ loofah,2.0.3,MIT loose-envify,1.3.1,MIT loud-rejection,1.6.0,MIT lowercase-keys,1.0.0,MIT +lru-cache,2.2.4,MIT lru-cache,3.2.0,ISC +lru-cache,4.0.2,ISC macaddress,0.2.8,MIT mail,2.6.6,MIT mail_room,0.9.1,MIT @@ -670,6 +774,7 @@ math-expression-evaluator,1.2.16,MIT media-typer,0.3.0,MIT mem,1.1.0,MIT memoist,0.16.0,MIT +memory-fs,0.2.0,MIT memory-fs,0.4.1,MIT meow,3.7.0,MIT merge-descriptors,1.0.1,MIT @@ -677,8 +782,10 @@ method_source,0.8.2,MIT methods,1.1.2,MIT micromatch,2.3.11,MIT miller-rabin,4.0.0,MIT -mime,1.3.4,[Circular] +mime,1.3.4,MIT +mime-db,1.27.0,MIT mime-db,1.29.0,MIT +mime-types,2.1.15,MIT mime-types,3.1,MIT mime-types-data,3.2016.0521,MIT mimemagic,0.3.0,MIT @@ -687,13 +794,17 @@ mimic-response,1.0.0,MIT mini_portile2,2.3.0,MIT minimalistic-assert,1.0.0,ISC minimatch,3.0.3,ISC +minimatch,3.0.4,ISC minimist,0.0.8,MIT +minimist,1.2.0,MIT mkdirp,0.5.1,MIT mmap2,2.2.7,ruby moment,2.17.1,MIT -monaco-editor,0.8.3,MIT +monaco-editor,0.10.0,MIT mousetrap,1.4.6,Apache 2.0 mousetrap-rails,1.4.6,"MIT,Apache" +ms,0.7.1,MIT +ms,0.7.2,MIT ms,2.0.0,MIT multi_json,1.12.2,MIT multi_xml,0.6.0,MIT @@ -703,7 +814,9 @@ multipart-post,2.0.0,MIT mustermann,1.0.0,MIT mustermann-grape,1.0.0,MIT mute-stream,0.0.5,ISC +mysql2,0.4.5,MIT name-all-modules-plugin,1.0.1,MIT +nan,2.6.2,MIT natural-compare,1.4.0,MIT negotiator,0.6.1,MIT nested-error-stacks,1.0.2,MIT @@ -712,21 +825,30 @@ net-ssh,4.1.0,MIT netrc,0.11.0,MIT node-dir,0.1.17,MIT node-forge,0.6.33,BSD +node-libs-browser,1.1.1,MIT node-libs-browser,2.0.0,MIT +node-pre-gyp,0.6.36,New BSD +node-pre-gyp,0.6.37,New BSD nodemon,1.11.0,MIT nokogiri,1.8.1,MIT +nopt,1.0.10,MIT nopt,3.0.6,ISC -normalize-package-data,2.3.5,Simplified BSD +nopt,4.0.1,ISC +normalize-package-data,2.4.0,Simplified BSD normalize-path,2.1.1,MIT normalize-range,0.1.2,MIT normalize-url,1.9.1,MIT npm-run-path,2.0.2,MIT +npmlog,4.1.0,ISC null-check,1.0.0,MIT num2fraction,1.2.2,MIT number-is-nan,1.0.1,MIT numerizer,0.1.1,MIT oauth,0.5.1,MIT +oauth-sign,0.8.2,Apache 2.0 oauth2,1.4.0,MIT +object-assign,3.0.0,MIT +object-assign,4.1.0,MIT object-assign,4.1.1,MIT object-component,0.0.3,unknown object.omit,2.0.1,MIT @@ -766,6 +888,7 @@ orm_adapter,0.5.0,MIT os,0.9.6,MIT os-browserify,0.2.1,MIT os-homedir,1.0.2,MIT +os-locale,1.4.0,MIT os-locale,2.1.0,MIT os-tmpdir,1.0.2,MIT osenv,0.1.4,ISC @@ -776,6 +899,7 @@ p-locate,2.0.0,MIT p-map,1.1.1,MIT p-timeout,1.2.0,MIT package-json,1.2.0,MIT +pako,0.2.9,MIT pako,1.0.5,(MIT AND Zlib) paranoia,2.3.1,MIT parse-asn1,5.0.0,ISC @@ -786,28 +910,34 @@ parseqs,0.0.5,MIT parseuri,0.0.5,MIT parseurl,1.3.1,MIT path-browserify,0.0.0,MIT +path-exists,2.1.0,MIT path-exists,3.0.0,MIT path-is-absolute,1.0.1,MIT path-is-inside,1.0.2,(WTFPL OR MIT) path-key,2.0.1,MIT path-parse,1.0.5,MIT path-to-regexp,0.1.7,MIT +path-type,1.1.0,MIT path-type,2.0.0,MIT pause-stream,0.0.11,"MIT,Apache2" pbkdf2,3.0.9,MIT peek,1.0.1,MIT peek-gc,0.0.2,MIT peek-host,1.0.0,MIT +peek-mysql2,1.1.0,MIT peek-performance_bar,1.3.0,MIT peek-pg,1.3.0,MIT peek-rblineprof,0.2.0,MIT peek-redis,1.2.0,MIT peek-sidekiq,1.0.3,MIT +performance-now,0.2.0,MIT pg,0.18.4,"BSD,ruby,GPL" pify,2.3.0,MIT -pikaday,1.5.1,"BSD,MIT" +pify,3.0.0,MIT +pikaday,1.6.1,MIT pinkie,2.0.4,MIT pinkie-promise,2.0.1,MIT +pkg-dir,1.0.0,MIT pkg-dir,2.0.0,MIT pkg-up,1.0.0,MIT pluralize,1.2.1,MIT @@ -860,7 +990,7 @@ private,0.1.7,MIT process,0.11.9,MIT process-nextick-args,1.0.7,MIT progress,1.1.8,MIT -prometheus-client-mmap,0.7.0.beta14,Apache 2.0 +prometheus-client-mmap,0.7.0.beta18,Apache 2.0 proto-list,1.2.4,ISC proxy-addr,1.1.5,MIT prr,0.0.0,MIT @@ -868,15 +998,18 @@ ps-tree,1.1.0,MIT pseudomap,1.0.2,ISC public-encrypt,4.0.0,MIT public_suffix,3.0.0,MIT +punycode,1.3.2,MIT punycode,1.4.1,MIT pyu-ruby-sasl,0.0.3.3,MIT q,1.5.0,MIT qjobs,1.1.5,MIT +qs,6.4.0,New BSD qs,6.5.0,New BSD query-string,4.3.2,MIT querystring,0.2.0,MIT -querystring-es3,0.2.1,[Circular] +querystring-es3,0.2.1,MIT querystringify,0.0.4,MIT +querystringify,1.0.0,MIT rack,1.6.8,MIT rack-accept,0.4.5,MIT rack-attack,4.4.1,MIT @@ -908,9 +1041,14 @@ rdoc,4.2.2,ruby re2,1.1.1,New BSD react-dev-utils,0.5.2,New BSD read-all-stream,3.1.0,MIT +read-pkg,1.1.0,MIT read-pkg,2.0.0,MIT +read-pkg-up,1.0.1,MIT read-pkg-up,2.0.0,MIT +readable-stream,1.0.34,MIT readable-stream,2.0.6,MIT +readable-stream,2.2.9,MIT +readable-stream,2.3.3,MIT readdirp,2.1.0,MIT readline2,1.0.1,MIT recaptcha,3.0.0,MIT @@ -932,21 +1070,26 @@ regenerate,1.3.2,MIT regenerator-runtime,0.10.1,MIT regenerator-transform,0.9.8,BSD regex-cache,0.4.3,MIT +regexpu-core,1.0.0,MIT regexpu-core,2.0.0,MIT registry-url,3.1.0,MIT regjsgen,0.2.0,MIT regjsparser,0.1.5,BSD remove-trailing-separator,1.1.0,ISC repeat-element,1.1.2,MIT +repeat-string,0.2.2,MIT repeat-string,1.6.1,MIT +repeating,1.1.3,MIT repeating,2.0.1,MIT representable,3.0.4,MIT +request,2.81.0,Apache 2.0 request_store,1.3.1,MIT require-directory,2.1.1,MIT require-from-string,1.2.1,MIT require-main-filename,1.0.1,ISC require-uncached,1.0.3,MIT requires-port,1.0.0,MIT +resolve,1.1.7,MIT resolve,1.2.0,MIT resolve-from,1.0.1,MIT responders,2.3.0,MIT @@ -972,6 +1115,7 @@ rugged,0.26.0,MIT run-async,0.1.0,MIT rx-lite,3.1.2,Apache 2.0 safe-buffer,5.0.1,MIT +safe-buffer,5.1.1,MIT safe_yaml,1.0.4,MIT sanitize,2.1.0,MIT sass,3.4.22,MIT @@ -985,6 +1129,7 @@ select-hose,2.0.0,MIT select2,3.5.2-browserify,unknown select2-rails,3.5.9.3,MIT selfsigned,1.10.1,MIT +semver,4.3.6,ISC semver,5.3.0,ISC semver-diff,2.1.0,MIT send,0.15.4,MIT @@ -1011,14 +1156,20 @@ slack-notifier,1.5.1,MIT slash,1.0.0,MIT slice-ansi,0.0.4,MIT slide,1.1.6,ISC +sntp,1.0.9,BSD socket.io,1.7.3,MIT socket.io-adapter,0.5.0,MIT socket.io-client,1.7.3,MIT socket.io-parser,2.3.1,MIT sockjs,0.3.18,MIT sockjs-client,1.0.1,MIT +sockjs-client,1.1.4,MIT sort-keys,1.1.2,MIT +source-list-map,0.1.8,MIT source-list-map,2.0.0,MIT +source-map,0.1.43,BSD +source-map,0.2.0,BSD +source-map,0.4.4,New BSD source-map,0.5.6,New BSD source-map-support,0.4.11,MIT spdx-correct,1.0.2,Apache 2.0 @@ -1031,6 +1182,7 @@ sprintf-js,1.0.3,New BSD sprockets,3.7.1,MIT sprockets-rails,3.2.0,MIT sql.js,0.4.0,MIT +sshpk,1.13.0,MIT state_machines,0.4.0,MIT state_machines-activemodel,0.4.0,MIT state_machines-activerecord,0.4.0,MIT @@ -1042,19 +1194,29 @@ stream-shift,1.0.0,MIT strict-uri-encode,1.1.0,MIT string-length,1.0.1,MIT string-width,1.0.2,MIT +string-width,2.0.0,MIT string_decoder,0.10.31,MIT +string_decoder,1.0.1,MIT +string_decoder,1.0.3,MIT stringex,2.7.1,MIT +stringstream,0.0.5,MIT strip-ansi,3.0.1,MIT +strip-bom,2.0.0,MIT strip-bom,3.0.0,MIT strip-eof,1.0.0,MIT strip-indent,1.0.1,MIT strip-json-comments,2.0.1,MIT +supports-color,2.0.0,MIT supports-color,3.2.3,MIT +supports-color,4.2.1,MIT svg4everybody,2.1.9,CC0-1.0 svgo,0.7.2,MIT sys-filesystem,1.1.6,Artistic 2.0 table,3.8.3,New BSD +tapable,0.1.10,MIT tapable,0.2.8,MIT +tar,2.2.1,ISC +tar-pack,3.4.0,Simplified BSD temple,0.7.7,MIT test-exclude,4.0.0,ISC text,1.3.1,MIT @@ -1067,9 +1229,10 @@ three-stl-loader,1.0.4,MIT through,2.3.8,MIT thunky,0.1.0,unknown tilt,2.0.6,MIT -time-stamp,2.0.0,MIT timeago.js,2.0.5,MIT +timed-out,2.0.0,MIT timed-out,4.0.1,MIT +timers-browserify,1.4.2,MIT timers-browserify,2.0.4,MIT timfel-krb5-auth,0.8.3,LGPL tiny-emitter,1.1.0,MIT @@ -1079,15 +1242,20 @@ to-arraybuffer,1.0.1,MIT to-fast-properties,1.0.2,MIT toml-rb,0.3.15,MIT touch,1.0.0,ISC +tough-cookie,2.3.2,New BSD traverse,0.6.6,MIT trim-newlines,1.0.0,MIT trim-right,1.0.1,MIT truncato,0.7.10,MIT tryit,1.0.3,MIT +ts-loader,3.1.1,MIT tty-browserify,0.0.0,MIT +tunnel-agent,0.6.0,Apache 2.0 +tweetnacl,0.14.5,Unlicense type-check,0.3.2,MIT type-is,1.6.15,MIT typedarray,0.0.6,MIT +typescript,2.6.1,Apache 2.0 tzinfo,1.2.3,MIT u2f,0.2.1,MIT uber,0.1.0,MIT @@ -1095,6 +1263,8 @@ uglifier,2.7.2,MIT uglify-js,2.8.29,Simplified BSD uglify-to-browserify,1.0.2,MIT uglifyjs-webpack-plugin,0.4.6,MIT +uid-number,0.0.6,ISC +ultron,1.0.2,MIT ultron,1.1.0,MIT unc-path-regex,0.1.2,MIT undefsafe,0.0.3,MIT / http://rem.mit-license.org @@ -1111,6 +1281,8 @@ update-notifier,0.5.0,Simplified BSD url,0.11.0,MIT url-loader,0.5.8,MIT url-parse,1.0.5,MIT +url-parse,1.1.7,MIT +url-parse,1.1.9,MIT url-parse-lax,1.0.0,MIT url-to-options,1.0.1,MIT url_safe_base64,0.2.2,MIT @@ -1118,26 +1290,28 @@ user-home,2.0.0,MIT useragent,2.2.1,MIT util,0.10.3,MIT util-deprecate,1.0.2,MIT -utils-merge,1.0.0,[Circular] +utils-merge,1.0.0,MIT uuid,2.0.3,MIT +uuid,3.0.1,MIT validate-npm-package-license,3.0.1,Apache 2.0 validates_hostname,1.0.6,MIT vary,1.1.1,MIT vendors,1.0.1,MIT +verror,1.3.6,MIT version_sorter,2.1.0,MIT virtus,1.0.5,MIT visibilityjs,1.2.4,MIT vm-browserify,0.0.4,MIT vmstat,2.3.0,MIT void-elements,2.0.1,MIT -vue,2.2.6,MIT +vue,2.5.2,MIT vue-hot-reload-api,2.0.11,MIT vue-loader,11.3.4,MIT vue-resource,1.3.4,MIT vue-style-loader,2.0.5,MIT -vue-template-compiler,2.2.6,MIT +vue-template-compiler,2.5.2,MIT vue-template-es2015-compiler,1.5.1,MIT -vuex,2.3.1,MIT +vuex,3.0.0,MIT warden,1.2.6,MIT watchpack,1.4.0,MIT wbuf,1.7.2,MIT @@ -1151,15 +1325,20 @@ webpack-stats-plugin,0.1.5,MIT websocket-driver,0.6.5,MIT websocket-extensions,0.1.1,MIT whet.extend,0.9.9,MIT -which,1.3.0,ISC +which,1.2.12,ISC +which-module,1.0.0,ISC which-module,2.0.0,ISC +wide-align,1.1.2,ISC wikicloth,0.8.1,MIT window-size,0.1.0,MIT +wordwrap,0.0.2,MIT/X11 +wordwrap,0.0.3,MIT wordwrap,1.0.0,MIT wrap-ansi,2.1.0,MIT wrappy,1.0.2,ISC write,0.2.1,MIT write-file-atomic,1.3.4,ISC +ws,1.1.2,MIT ws,2.3.1,MIT wtf-8,1.0.0,MIT xdg-basedir,2.0.0,MIT @@ -1168,6 +1347,9 @@ xmlhttprequest-ssl,1.5.3,MIT xtend,4.0.1,MIT y18n,3.2.1,ISC yallist,2.1.2,ISC +yargs,3.10.0,MIT +yargs,6.6.0,MIT yargs,8.0.2,MIT +yargs-parser,4.2.1,ISC yargs-parser,7.0.0,ISC yeast,0.1.2,MIT |