language_server-protocol 3.14.0.1 → 3.14.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/lib/language_server/protocol/interface/code_action_registration_options.rb +1 -0
  4. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +1 -0
  5. data/lib/language_server/protocol/interface/completion_params.rb +2 -0
  6. data/lib/language_server/protocol/interface/completion_registration_options.rb +1 -0
  7. data/lib/language_server/protocol/interface/document_link_registration_options.rb +1 -0
  8. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +1 -0
  9. data/lib/language_server/protocol/interface/notification_message.rb +1 -0
  10. data/lib/language_server/protocol/interface/reference_params.rb +2 -0
  11. data/lib/language_server/protocol/interface/rename_registration_options.rb +1 -0
  12. data/lib/language_server/protocol/interface/request_message.rb +1 -0
  13. data/lib/language_server/protocol/interface/response_message.rb +1 -0
  14. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +1 -0
  15. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +1 -0
  16. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +1 -0
  17. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +1 -0
  18. data/lib/language_server/protocol/version.rb +1 -1
  19. metadata +2 -22
  20. data/.gitignore +0 -10
  21. data/.travis.yml +0 -5
  22. data/CHANGELOG.md +0 -26
  23. data/CODE_OF_CONDUCT.md +0 -74
  24. data/Dockerfile-node.development +0 -6
  25. data/Dockerfile.development +0 -24
  26. data/Gemfile +0 -6
  27. data/Rakefile +0 -10
  28. data/bin/console +0 -14
  29. data/bin/generate_files +0 -5
  30. data/bin/m +0 -17
  31. data/bin/setup +0 -6
  32. data/circle.yml +0 -40
  33. data/docker-compose.ci.yml +0 -14
  34. data/docker-compose.override.yml +0 -16
  35. data/docker-compose.yml +0 -33
  36. data/language_server-protocol.gemspec +0 -33
  37. data/package.json +0 -10
  38. data/scripts/generateFiles.ts +0 -320
  39. data/yarn.lock +0 -293
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 421a684037f06cc7621698f2e85f9032a5d8f67a469a4d36266bbdef355af192
4
- data.tar.gz: 46566651baf77dc574777806f6b2d0fb8d7a43015380b9f688dc772d0cdf8ac9
3
+ metadata.gz: 7b3ee77bec6cba0531b5550480d60d932a2074102ee192899ca2abddfebcadbf
4
+ data.tar.gz: b559fd6bc92f8ec57bd5442004757259e76d65472b2c07ef983040dd01878852
5
5
  SHA512:
6
- metadata.gz: bd257d1aab4eb25a25765826ffbe7924d8dc5e76a7645289da8d3863ef7d873156e2ca30bed215768bc873fdf5c9fb29043604d56d4322fcc2a47cdfed00af0d
7
- data.tar.gz: 23005ed19a166de779eecd57643d5eebec4c7aad3172a8af50f840080f102248aba6d98df6274a1157c117d85885341b893e871831a1f0629b16783f3e63171a
6
+ metadata.gz: ff16e6734e30b1e9ea7a0cb5e842c92f80315593c74fde9373a904fcfa1b738f354a3330369d841d85b0f07cf0fa6897d8bba175bc7af45a40af756531a6134d
7
+ data.tar.gz: 90ba3865c04e5730c0b7246736937ea5af80204745b9dae44ea8c7e612b5b1b2f4eedb252c0532df33be4927ba2ebc4036f0908c6f7f085c299138ecf23ea9d7
data/README.md CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- :memo: Currently, this gem supports only stdio as transport layer.
23
+ Currently, this gem supports only stdio as transport layer out of box.
24
24
 
25
25
  ```ruby
26
26
  require "language_server-protocol"
@@ -53,6 +53,14 @@ reader.read do |request|
53
53
  end
54
54
  ```
55
55
 
56
+ You can use any IO object as transport layer:
57
+
58
+ ```ruby
59
+ io = StringIO.new
60
+ writer = LSP::Transport::Io::Writer.new(io)
61
+ reader = LSP::Transport::Io::Reader.new(io)
62
+ ```
63
+
56
64
  ## Versioning
57
65
 
58
66
  language_server-protocol gem does NOT use semantic versioning.
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(code_action_kinds: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:codeActionKinds] = code_action_kinds if code_action_kinds
8
9
 
9
10
  @attributes.freeze
10
11
  end
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(document_selector:, resolve_provider: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
9
10
 
10
11
  @attributes.freeze
@@ -5,6 +5,8 @@ module LanguageServer
5
5
  def initialize(text_document:, position:, context: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:textDocument] = text_document
9
+ @attributes[:position] = position
8
10
  @attributes[:context] = context if context
9
11
 
10
12
  @attributes.freeze
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(document_selector:, trigger_characters: nil, resolve_provider: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:triggerCharacters] = trigger_characters if trigger_characters
9
10
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
10
11
 
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(document_selector:, resolve_provider: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
9
10
 
10
11
  @attributes.freeze
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(document_selector:, first_trigger_character:, more_trigger_character: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:firstTriggerCharacter] = first_trigger_character
9
10
  @attributes[:moreTriggerCharacter] = more_trigger_character if more_trigger_character
10
11
 
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(jsonrpc:, method:, params: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:jsonrpc] = jsonrpc
8
9
  @attributes[:method] = method
9
10
  @attributes[:params] = params if params
10
11
 
@@ -5,6 +5,8 @@ module LanguageServer
5
5
  def initialize(text_document:, position:, context:)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:textDocument] = text_document
9
+ @attributes[:position] = position
8
10
  @attributes[:context] = context
9
11
 
10
12
  @attributes.freeze
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(document_selector:, prepare_provider: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:prepareProvider] = prepare_provider if prepare_provider
9
10
 
10
11
  @attributes.freeze
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(jsonrpc:, id:, method:, params: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:jsonrpc] = jsonrpc
8
9
  @attributes[:id] = id
9
10
  @attributes[:method] = method
10
11
  @attributes[:params] = params if params
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(jsonrpc:, id:, result: nil, error: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:jsonrpc] = jsonrpc
8
9
  @attributes[:id] = id
9
10
  @attributes[:result] = result if result
10
11
  @attributes[:error] = error if error
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(document_selector:, trigger_characters: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:triggerCharacters] = trigger_characters if trigger_characters
9
10
 
10
11
  @attributes.freeze
@@ -8,6 +8,7 @@ module LanguageServer
8
8
  def initialize(document_selector:, sync_kind:)
9
9
  @attributes = {}
10
10
 
11
+ @attributes[:documentSelector] = document_selector
11
12
  @attributes[:syncKind] = sync_kind
12
13
 
13
14
  @attributes.freeze
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(document_selector:, include_text: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:includeText] = include_text if include_text
9
10
 
10
11
  @attributes.freeze
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(uri:, version:)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:uri] = uri
8
9
  @attributes[:version] = version
9
10
 
10
11
  @attributes.freeze
@@ -1,5 +1,5 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
- VERSION = "3.14.0.1"
3
+ VERSION = "3.14.0.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: language_server-protocol
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.14.0.1
4
+ version: 3.14.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fumiaki MATSUSHIMA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-26 00:00:00.000000000 Z
11
+ date: 2020-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -115,25 +115,8 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
- - ".gitignore"
119
- - ".travis.yml"
120
- - CHANGELOG.md
121
- - CODE_OF_CONDUCT.md
122
- - Dockerfile-node.development
123
- - Dockerfile.development
124
- - Gemfile
125
118
  - LICENSE.txt
126
119
  - README.md
127
- - Rakefile
128
- - bin/console
129
- - bin/generate_files
130
- - bin/m
131
- - bin/setup
132
- - circle.yml
133
- - docker-compose.ci.yml
134
- - docker-compose.override.yml
135
- - docker-compose.yml
136
- - language_server-protocol.gemspec
137
120
  - lib/language_server-protocol.rb
138
121
  - lib/language_server/protocol.rb
139
122
  - lib/language_server/protocol/constant.rb
@@ -283,9 +266,6 @@ files:
283
266
  - lib/language_server/protocol/transport/stdio/reader.rb
284
267
  - lib/language_server/protocol/transport/stdio/writer.rb
285
268
  - lib/language_server/protocol/version.rb
286
- - package.json
287
- - scripts/generateFiles.ts
288
- - yarn.lock
289
269
  homepage: https://github.com/mtsmfm/language_server-protocol-ruby
290
270
  licenses:
291
271
  - MIT
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- /node_modules
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.4.1
5
- before_install: gem install bundler -v 1.15.3
data/CHANGELOG.md DELETED
@@ -1,26 +0,0 @@
1
- # Change log
2
-
3
- ## 3.14.0.1
4
-
5
- - Drop Ruby < 2.4
6
- - Add Transport::Io (Thanks to @soutaro)
7
-
8
- ## 3.14.0.0
9
-
10
- - Update Language Server Protocol version to 3.14.0
11
-
12
- ## 3.12.0.0
13
-
14
- - Update Language Server Protocol version to 3.12.0
15
-
16
- ## 3.7.0.0
17
-
18
- - Update Language Server Protocol version to 3.7.0
19
-
20
- ## 0.5.0
21
-
22
- - Add #to_hash to keep compatibility with Rails (#10)
23
-
24
- ## 0.4.0
25
-
26
- - Fix handling `extends`
data/CODE_OF_CONDUCT.md DELETED
@@ -1,74 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at mtsmfm@gmail.com. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at [http://contributor-covenant.org/version/1/4][version]
72
-
73
- [homepage]: http://contributor-covenant.org
74
- [version]: http://contributor-covenant.org/version/1/4/
@@ -1,6 +0,0 @@
1
- FROM node:6-alpine
2
-
3
- RUN mkdir /app /vendor && chown node:node /app /vendor
4
-
5
- USER node
6
- WORKDIR /app
@@ -1,24 +0,0 @@
1
- ARG RUBY_VERSION
2
- FROM ruby:$RUBY_VERSION
3
-
4
- RUN apt-get update && apt-get install less -y
5
- RUN groupadd --gid 1000 ruby && useradd --uid 1000 --gid ruby --shell /bin/bash --create-home ruby
6
- RUN mkdir /app /vendor && chown ruby:ruby /app /vendor
7
-
8
- ENV LANG=C.UTF-8 \
9
- BUNDLE_PATH=/vendor/bundle/$RUBY_VERSION \
10
- BUNDLE_JOBS=4
11
-
12
- ENV ENTRYKIT_VERSION 0.4.0
13
-
14
- RUN wget https://github.com/progrium/entrykit/releases/download/v${ENTRYKIT_VERSION}/entrykit_${ENTRYKIT_VERSION}_Linux_x86_64.tgz \
15
- && tar -xvzf entrykit_${ENTRYKIT_VERSION}_Linux_x86_64.tgz \
16
- && rm entrykit_${ENTRYKIT_VERSION}_Linux_x86_64.tgz \
17
- && mv entrykit /bin/entrykit \
18
- && chmod +x /bin/entrykit \
19
- && entrykit --symlink
20
-
21
- USER ruby
22
- WORKDIR /app
23
-
24
- ENTRYPOINT ["prehook", "bin/setup", "--"]
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
- # Specify your gem's dependencies in language_server-protocol.gemspec
6
- gemspec
data/Rakefile DELETED
@@ -1,10 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
3
-
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList["test/**/*_test.rb"]
8
- end
9
-
10
- task :default => :test
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "language_server/protocol"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/generate_files DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env sh
2
-
3
- set -ex
4
- yarn install
5
- yarn run -s -- ts-node --compilerOptions '{"target":"es6"}' scripts/generateFiles.ts
data/bin/m DELETED
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
- #
4
- # This file was generated by Bundler.
5
- #
6
- # The application 'm' is installed as part of a gem, and
7
- # this file is here to facilitate running it.
8
- #
9
-
10
- require "pathname"
11
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
12
- Pathname.new(__FILE__).realpath)
13
-
14
- require "rubygems"
15
- require "bundler/setup"
16
-
17
- load Gem.bin_path("m", "m")
data/bin/setup DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle check || bundle install
data/circle.yml DELETED
@@ -1,40 +0,0 @@
1
- version: 2.0
2
- references:
3
- test: &test
4
- docker:
5
- - image: tmaier/docker-compose
6
- environment:
7
- COMPOSE_FILE: docker-compose.yml:docker-compose.ci.yml
8
- steps:
9
- - checkout
10
- - setup_remote_docker
11
- - run:
12
- name: setup
13
- command: |
14
- set -x
15
- docker info
16
- docker volume create project
17
- docker create -v project:/app --name project busybox chown -R 1000:1000 /app
18
- docker cp . project:/app
19
- docker start project
20
- docker-compose build $CIRCLE_JOB
21
- - run:
22
- name: test
23
- command: |
24
- docker-compose run $CIRCLE_JOB bundle exec rake test
25
-
26
- jobs:
27
- ruby-2-6:
28
- <<: *test
29
- ruby-2-5:
30
- <<: *test
31
- ruby-2-4:
32
- <<: *test
33
-
34
- workflows:
35
- version: 2
36
- test_and_buld:
37
- jobs:
38
- - ruby-2-6
39
- - ruby-2-5
40
- - ruby-2-4
@@ -1,14 +0,0 @@
1
- version: "3.0"
2
- services:
3
- ruby-2-6: &latest
4
- volumes:
5
- - project:/app
6
- ruby-2-5:
7
- <<: *latest
8
- ruby-2-4:
9
- <<: *latest
10
- node:
11
- <<: *latest
12
- volumes:
13
- project:
14
- external: true
@@ -1,16 +0,0 @@
1
- version: "3.0"
2
- services:
3
- ruby-2-6: &latest
4
- volumes:
5
- - .:/app:cached
6
- - $HOME/.gitconfig:/home/ruby/.gitconfig:ro
7
- - $HOME/.ssh:/home/ruby/.ssh:ro
8
- - $HOME/.gem:/home/ruby/.gem
9
- - $HOME/.netrc:/home/ruby/.netrc
10
- ruby-2-5:
11
- <<: *latest
12
- ruby-2-4:
13
- <<: *latest
14
- node:
15
- volumes:
16
- - .:/app:cached
data/docker-compose.yml DELETED
@@ -1,33 +0,0 @@
1
- version: "3.0"
2
- services:
3
- ruby-2-6: &latest
4
- build: &build
5
- context: .
6
- dockerfile: Dockerfile.development
7
- args:
8
- RUBY_VERSION: 2.6.3
9
- volumes:
10
- - vendor:/vendor
11
- - home:/home/ruby
12
- ruby-2-5:
13
- <<: *latest
14
- build:
15
- <<: *build
16
- args:
17
- RUBY_VERSION: 2.5.5
18
- ruby-2-4:
19
- <<: *latest
20
- build:
21
- <<: *build
22
- args:
23
- RUBY_VERSION: 2.4.6
24
- node:
25
- build:
26
- context: .
27
- dockerfile: Dockerfile-node.development
28
- volumes:
29
- - vendor:/vendor
30
- - home:/home/node
31
- volumes:
32
- vendor:
33
- home:
@@ -1,33 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "language_server/protocol/version"
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "language_server-protocol"
8
- spec.version = LanguageServer::Protocol::VERSION
9
- spec.authors = ["Fumiaki MATSUSHIMA"]
10
- spec.email = ["mtsmfm@gmail.com"]
11
-
12
- spec.summary = %q{A Language Server Protocol SDK}
13
- spec.description = %q{A Language Server Protocol SDK}
14
- spec.homepage = "https://github.com/mtsmfm/language_server-protocol-ruby"
15
- spec.license = "MIT"
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
- f.match(%r{^(test|spec|features)/})
19
- end
20
- spec.bindir = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
23
-
24
- spec.required_ruby_version = ">= 2.4.0"
25
-
26
- spec.add_development_dependency "bundler", "~> 1.15"
27
- spec.add_development_dependency "rake", "~> 10.0"
28
- spec.add_development_dependency "minitest", "~> 5.0"
29
- spec.add_development_dependency "pry-byebug"
30
- spec.add_development_dependency "minitest-power_assert"
31
- spec.add_development_dependency "m"
32
- spec.add_development_dependency "activesupport"
33
- end
data/package.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "dependencies": {
3
- "@types/es6-promise": "^0.0.32",
4
- "@types/node": "^7.0.18",
5
- "handlebars": "^4.0.8",
6
- "isomorphic-fetch": "^2.2.1",
7
- "ts-node": "^3.0.4",
8
- "typescript": "^2.3.2"
9
- }
10
- }
@@ -1,320 +0,0 @@
1
- import * as ts from "typescript";
2
- import * as fs from "fs";
3
- import * as path from "path";
4
- import * as fetch from "isomorphic-fetch";
5
-
6
- const lspVersion = "c0c516735fb9eea08ac0151333b5380d70525961";
7
- const rootDir = path.normalize(path.join(__dirname, ".."));
8
- const tempDir = path.join(rootDir, "tmp");
9
- const protocolMdPath = path.join(tempDir, lspVersion, "protocol.md");
10
-
11
- const createFile = (filePath, content) => {
12
- const dir = path.dirname(path.normalize(filePath));
13
-
14
- dir.split(/(?!^)\//).forEach((_, index, all) => {
15
- const dir = all.slice(0, index + 1).join("/");
16
-
17
- if (!fs.existsSync(dir)) {
18
- fs.mkdirSync(dir);
19
- }
20
- });
21
-
22
- fs.writeFileSync(filePath, content);
23
- };
24
-
25
- const extractTypeScriptSource = content => {
26
- const regEx = /^```typescript\r\n([^]*?)^```\r\n/gm;
27
- let match;
28
- let result = "";
29
-
30
- while ((match = regEx.exec(content)) !== null) {
31
- result = result.concat(match[1]);
32
- }
33
-
34
- return result;
35
- };
36
-
37
- const extractDefinitions = content => {
38
- const fileName = path.join(tempDir, "protocol.ts");
39
- createFile(fileName, content);
40
- const program = ts.createProgram([fileName], {});
41
- const checker = program.getTypeChecker();
42
-
43
- const output = [];
44
-
45
- const serialize = member => {
46
- const symbol = checker.getSymbolAtLocation(member.name);
47
- const type = checker.getTypeOfSymbolAtLocation(
48
- symbol,
49
- symbol.valueDeclaration
50
- );
51
- const types =
52
- member.kind == ts.SyntaxKind.UnionType
53
- ? (<ts.UnionTypeNode>(<ts.PropertySignature>member).type).types
54
- : [];
55
-
56
- return {
57
- name: symbol.getName(),
58
- documentation: ts.displayPartsToString(symbol.getDocumentationComment()),
59
- type: checker.typeToString(type),
60
- optional: !!member.questionToken,
61
- nullable: (<ts.NodeArray<ts.TypeNode>>types).some(
62
- t => t.kind == ts.SyntaxKind.NullKeyword
63
- ),
64
- value: symbol.valueDeclaration
65
- ? symbol.valueDeclaration
66
- .getChildAt(symbol.valueDeclaration.getChildCount() - 1)
67
- .getText()
68
- : null
69
- };
70
- };
71
-
72
- const handleInterface = (node: ts.InterfaceDeclaration) => {
73
- const members = node.members
74
- .filter(member => member.name)
75
- .map(member => serialize(member));
76
- const parentName =
77
- node.heritageClauses && node.heritageClauses[0].getLastToken().getText();
78
- const parent = output.find(
79
- i => i.interface && i.interface.name === parentName
80
- );
81
-
82
- output.push({
83
- interface: serialize(node),
84
- parent: parent,
85
- allMembers: ((parent && parent.allMembers) || []).concat(members),
86
- members
87
- });
88
- };
89
-
90
- const handleModule = (node: ts.ModuleDeclaration) => {
91
- const members = [];
92
-
93
- ts.forEachChild(node.body, node => {
94
- members.push(
95
- serialize((<ts.VariableStatement>node).declarationList.declarations[0])
96
- );
97
- });
98
-
99
- output.push({
100
- module: serialize(node),
101
- members
102
- });
103
- };
104
-
105
- const visit = node => {
106
- switch (node.kind) {
107
- case ts.SyntaxKind.InterfaceDeclaration:
108
- handleInterface(node);
109
- break;
110
-
111
- case ts.SyntaxKind.ModuleDeclaration:
112
- handleModule(node);
113
- break;
114
- }
115
- };
116
-
117
- ts.forEachChild(program.getSourceFile(fileName), visit);
118
-
119
- return output;
120
- };
121
-
122
- import Handlebars from "handlebars";
123
- const snake = s =>
124
- s
125
- .replace(/^[A-Z]/, s => s.toLowerCase())
126
- .replace(/[A-Z]/g, s => `_${s.toLowerCase()}`);
127
-
128
- Handlebars.registerHelper("params", members => {
129
- return members
130
- .map(
131
- member =>
132
- `${snake(member.name)}:${
133
- member.optional || member.nullable ? " nil" : ""
134
- }`
135
- )
136
- .join(", ");
137
- });
138
- Handlebars.registerHelper("snake", snake);
139
- Handlebars.registerHelper("comment", (s, options) => {
140
- const indent = Array(options.hash.indent + 1).join(" ");
141
- return s
142
- .split("\n")
143
- .map(s => s.trim())
144
- .map(s => `${indent}#${s.length == 0 ? "" : ` ${s}`}`)
145
- .join("\n");
146
- });
147
- Handlebars.registerHelper("local_var", s => {
148
- const rubyKeywords = ["end", "retry"];
149
- const snaked = snake(s);
150
-
151
- if (rubyKeywords.some(k => k == s)) {
152
- return `binding.local_variable_get(:${snaked})`;
153
- } else {
154
- return snake(s);
155
- }
156
- });
157
- Handlebars.registerHelper("const", s => {
158
- return snake(s).toUpperCase();
159
- });
160
-
161
- (async () => {
162
- if (!fs.existsSync(protocolMdPath)) {
163
- const res = await fetch(
164
- `https://github.com/Microsoft/language-server-protocol/raw/${lspVersion}/specification.md`
165
- );
166
- createFile(protocolMdPath, await res.text());
167
- }
168
-
169
- const md = fs.readFileSync(protocolMdPath).toString();
170
- const typeScriptSource = extractTypeScriptSource(md);
171
-
172
- const definitions = extractDefinitions(typeScriptSource);
173
- const interfaces = definitions.filter(d => d.interface);
174
- const modules = definitions.filter(d => d.module);
175
-
176
- interfaces.forEach(definition => {
177
- createFile(
178
- path.join(
179
- rootDir,
180
- "lib",
181
- "language_server",
182
- "protocol",
183
- "interface",
184
- `${snake(definition.interface.name)}.rb`
185
- ),
186
- Handlebars.compile(
187
- `
188
- module LanguageServer
189
- module Protocol
190
- module Interface
191
- {{#if definition.interface.documentation}}
192
- #
193
- {{comment definition.interface.documentation indent=6}}
194
- #
195
- {{/if}}
196
- class {{definition.interface.name}}{{#if definition.parent}} < {{definition.parent.interface.name}}{{/if}}
197
- def initialize({{params definition.allMembers}})
198
- @attributes = {}
199
-
200
- {{#each definition.members}}
201
- @attributes[:{{name}}] = {{local_var name}}{{#if optional}} if {{local_var name}}{{/if}}
202
- {{/each}}
203
-
204
- @attributes.freeze
205
- end
206
- {{#each definition.members}}
207
-
208
- {{#if documentation}}
209
- #
210
- {{comment documentation indent=8}}
211
- #
212
- {{/if}}
213
- # @return [{{type}}{{#if nullable}}, nil{{/if}}]
214
- def {{snake name}}
215
- attributes.fetch(:{{name}})
216
- end
217
- {{/each}}
218
-
219
- attr_reader :attributes
220
-
221
- def to_hash
222
- attributes
223
- end
224
-
225
- def to_json(*args)
226
- to_hash.to_json(*args)
227
- end
228
- end
229
- end
230
- end
231
- end
232
- `.slice(1),
233
- { noEscape: true }
234
- )({ definition })
235
- );
236
- });
237
-
238
- modules.forEach(definition => {
239
- createFile(
240
- path.join(
241
- rootDir,
242
- "lib",
243
- "language_server",
244
- "protocol",
245
- "constant",
246
- `${snake(definition.module.name)}.rb`
247
- ),
248
- Handlebars.compile(
249
- `
250
- module LanguageServer
251
- module Protocol
252
- module Constant
253
- {{#if definition.module.documentation}}
254
- #
255
- {{comment definition.module.documentation indent=6}}
256
- #
257
- {{/if}}
258
- module {{definition.module.name}}
259
- {{#each definition.members}}
260
- {{#if documentation}}
261
- #
262
- {{comment documentation indent=8}}
263
- #
264
- {{/if}}
265
- {{const name}} = {{value}}
266
- {{/each}}
267
- end
268
- end
269
- end
270
- end
271
- `.slice(1),
272
- { noEscape: true }
273
- )({ definition })
274
- );
275
- });
276
-
277
- createFile(
278
- path.join(rootDir, "lib", "language_server", "protocol", "interface.rb"),
279
- Handlebars.compile(
280
- `
281
- module LanguageServer
282
- module Protocol
283
- module Interface
284
- {{#each names}}
285
- autoload :{{this}}, "language_server/protocol/interface/{{snake this}}"
286
- {{/each}}
287
-
288
- {{#each names}}
289
- require "language_server/protocol/interface/{{snake this}}"
290
- {{/each}}
291
- end
292
- end
293
- end
294
- `.slice(1),
295
- { noEscape: true }
296
- )({ names: interfaces.map(i => i.interface.name).sort() })
297
- );
298
-
299
- createFile(
300
- path.join(rootDir, "lib", "language_server", "protocol", "constant.rb"),
301
- Handlebars.compile(
302
- `
303
- module LanguageServer
304
- module Protocol
305
- module Constant
306
- {{#each names}}
307
- autoload :{{this}}, "language_server/protocol/constant/{{snake this}}"
308
- {{/each}}
309
-
310
- {{#each names}}
311
- require "language_server/protocol/constant/{{snake this}}"
312
- {{/each}}
313
- end
314
- end
315
- end
316
- `.slice(1),
317
- { noEscape: true }
318
- )({ names: modules.map(i => i.module.name).sort() })
319
- );
320
- })();
data/yarn.lock DELETED
@@ -1,293 +0,0 @@
1
- # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
- # yarn lockfile v1
3
-
4
-
5
- "@types/es6-promise@^0.0.32":
6
- version "0.0.32"
7
- resolved "https://registry.yarnpkg.com/@types/es6-promise/-/es6-promise-0.0.32.tgz#3bcf44fb1e429f3df76188c8c6d874463ba371fd"
8
-
9
- "@types/node@^7.0.18":
10
- version "7.0.43"
11
- resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.43.tgz#a187e08495a075f200ca946079c914e1a5fe962c"
12
-
13
- align-text@^0.1.1, align-text@^0.1.3:
14
- version "0.1.4"
15
- resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
16
- dependencies:
17
- kind-of "^3.0.2"
18
- longest "^1.0.1"
19
- repeat-string "^1.5.2"
20
-
21
- amdefine@>=0.0.4:
22
- version "1.0.1"
23
- resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
24
-
25
- ansi-styles@^3.1.0:
26
- version "3.2.0"
27
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
28
- dependencies:
29
- color-convert "^1.9.0"
30
-
31
- arrify@^1.0.0:
32
- version "1.0.1"
33
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
34
-
35
- async@^1.4.0:
36
- version "1.5.2"
37
- resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
38
-
39
- camelcase@^1.0.2:
40
- version "1.2.1"
41
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
42
-
43
- center-align@^0.1.1:
44
- version "0.1.3"
45
- resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
46
- dependencies:
47
- align-text "^0.1.3"
48
- lazy-cache "^1.0.3"
49
-
50
- chalk@^2.0.0:
51
- version "2.1.0"
52
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e"
53
- dependencies:
54
- ansi-styles "^3.1.0"
55
- escape-string-regexp "^1.0.5"
56
- supports-color "^4.0.0"
57
-
58
- cliui@^2.1.0:
59
- version "2.1.0"
60
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
61
- dependencies:
62
- center-align "^0.1.1"
63
- right-align "^0.1.1"
64
- wordwrap "0.0.2"
65
-
66
- color-convert@^1.9.0:
67
- version "1.9.0"
68
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
69
- dependencies:
70
- color-name "^1.1.1"
71
-
72
- color-name@^1.1.1:
73
- version "1.1.3"
74
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
75
-
76
- decamelize@^1.0.0:
77
- version "1.2.0"
78
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
79
-
80
- diff@^3.1.0:
81
- version "3.3.1"
82
- resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75"
83
-
84
- encoding@^0.1.11:
85
- version "0.1.12"
86
- resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
87
- dependencies:
88
- iconv-lite "~0.4.13"
89
-
90
- escape-string-regexp@^1.0.5:
91
- version "1.0.5"
92
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
93
-
94
- handlebars@^4.0.8:
95
- version "4.0.10"
96
- resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f"
97
- dependencies:
98
- async "^1.4.0"
99
- optimist "^0.6.1"
100
- source-map "^0.4.4"
101
- optionalDependencies:
102
- uglify-js "^2.6"
103
-
104
- has-flag@^2.0.0:
105
- version "2.0.0"
106
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
107
-
108
- iconv-lite@~0.4.13:
109
- version "0.4.19"
110
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
111
-
112
- is-buffer@^1.1.5:
113
- version "1.1.5"
114
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
115
-
116
- is-stream@^1.0.1:
117
- version "1.1.0"
118
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
119
-
120
- isomorphic-fetch@^2.2.1:
121
- version "2.2.1"
122
- resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
123
- dependencies:
124
- node-fetch "^1.0.1"
125
- whatwg-fetch ">=0.10.0"
126
-
127
- kind-of@^3.0.2:
128
- version "3.2.2"
129
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
130
- dependencies:
131
- is-buffer "^1.1.5"
132
-
133
- lazy-cache@^1.0.3:
134
- version "1.0.4"
135
- resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
136
-
137
- longest@^1.0.1:
138
- version "1.0.1"
139
- resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
140
-
141
- make-error@^1.1.1:
142
- version "1.3.0"
143
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96"
144
-
145
- minimist@0.0.8:
146
- version "0.0.8"
147
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
148
-
149
- minimist@^1.2.0:
150
- version "1.2.0"
151
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
152
-
153
- minimist@~0.0.1:
154
- version "0.0.10"
155
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
156
-
157
- mkdirp@^0.5.1:
158
- version "0.5.1"
159
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
160
- dependencies:
161
- minimist "0.0.8"
162
-
163
- node-fetch@^1.0.1:
164
- version "1.7.3"
165
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
166
- dependencies:
167
- encoding "^0.1.11"
168
- is-stream "^1.0.1"
169
-
170
- optimist@^0.6.1:
171
- version "0.6.1"
172
- resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
173
- dependencies:
174
- minimist "~0.0.1"
175
- wordwrap "~0.0.2"
176
-
177
- repeat-string@^1.5.2:
178
- version "1.6.1"
179
- resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
180
-
181
- right-align@^0.1.1:
182
- version "0.1.3"
183
- resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
184
- dependencies:
185
- align-text "^0.1.1"
186
-
187
- source-map-support@^0.4.0:
188
- version "0.4.18"
189
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
190
- dependencies:
191
- source-map "^0.5.6"
192
-
193
- source-map@^0.4.4:
194
- version "0.4.4"
195
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
196
- dependencies:
197
- amdefine ">=0.0.4"
198
-
199
- source-map@^0.5.6, source-map@~0.5.1:
200
- version "0.5.7"
201
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
202
-
203
- strip-bom@^3.0.0:
204
- version "3.0.0"
205
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
206
-
207
- strip-json-comments@^2.0.0:
208
- version "2.0.1"
209
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
210
-
211
- supports-color@^4.0.0:
212
- version "4.4.0"
213
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
214
- dependencies:
215
- has-flag "^2.0.0"
216
-
217
- ts-node@^3.0.4:
218
- version "3.3.0"
219
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69"
220
- dependencies:
221
- arrify "^1.0.0"
222
- chalk "^2.0.0"
223
- diff "^3.1.0"
224
- make-error "^1.1.1"
225
- minimist "^1.2.0"
226
- mkdirp "^0.5.1"
227
- source-map-support "^0.4.0"
228
- tsconfig "^6.0.0"
229
- v8flags "^3.0.0"
230
- yn "^2.0.0"
231
-
232
- tsconfig@^6.0.0:
233
- version "6.0.0"
234
- resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032"
235
- dependencies:
236
- strip-bom "^3.0.0"
237
- strip-json-comments "^2.0.0"
238
-
239
- typescript@^2.3.2:
240
- version "2.5.2"
241
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.2.tgz#038a95f7d9bbb420b1bf35ba31d4c5c1dd3ffe34"
242
-
243
- uglify-js@^2.6:
244
- version "2.8.29"
245
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
246
- dependencies:
247
- source-map "~0.5.1"
248
- yargs "~3.10.0"
249
- optionalDependencies:
250
- uglify-to-browserify "~1.0.0"
251
-
252
- uglify-to-browserify@~1.0.0:
253
- version "1.0.2"
254
- resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
255
-
256
- user-home@^1.1.1:
257
- version "1.1.1"
258
- resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
259
-
260
- v8flags@^3.0.0:
261
- version "3.0.0"
262
- resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.0.tgz#4be9604488e0c4123645def705b1848d16b8e01f"
263
- dependencies:
264
- user-home "^1.1.1"
265
-
266
- whatwg-fetch@>=0.10.0:
267
- version "2.0.3"
268
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
269
-
270
- window-size@0.1.0:
271
- version "0.1.0"
272
- resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
273
-
274
- wordwrap@0.0.2:
275
- version "0.0.2"
276
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
277
-
278
- wordwrap@~0.0.2:
279
- version "0.0.3"
280
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
281
-
282
- yargs@~3.10.0:
283
- version "3.10.0"
284
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
285
- dependencies:
286
- camelcase "^1.0.2"
287
- cliui "^2.1.0"
288
- decamelize "^1.0.0"
289
- window-size "0.1.0"
290
-
291
- yn@^2.0.0:
292
- version "2.0.0"
293
- resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a"