shopify-cli 2.8.0 → 2.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE.md +18 -0
  3. data/CHANGELOG.md +34 -0
  4. data/Gemfile.lock +1 -1
  5. data/RELEASING.md +4 -3
  6. data/ext/javy/javy.rb +1 -1
  7. data/lib/project_types/extension/commands/push.rb +2 -2
  8. data/lib/project_types/extension/messages/messages.rb +1 -1
  9. data/lib/project_types/extension/models/development_server.rb +2 -4
  10. data/lib/project_types/rails/gem.rb +1 -2
  11. data/lib/project_types/script/cli.rb +10 -0
  12. data/lib/project_types/script/commands/connect.rb +1 -1
  13. data/lib/project_types/script/commands/create.rb +8 -2
  14. data/lib/project_types/script/commands/push.rb +35 -12
  15. data/lib/project_types/script/config/extension_points.yml +12 -0
  16. data/lib/project_types/script/graphql/app_script_set.graphql +2 -0
  17. data/lib/project_types/script/graphql/module_upload_url_generate.graphql +5 -1
  18. data/lib/project_types/script/layers/application/build_script.rb +6 -3
  19. data/lib/project_types/script/layers/application/connect_app.rb +11 -5
  20. data/lib/project_types/script/layers/application/extension_points.rb +50 -26
  21. data/lib/project_types/script/layers/application/project_dependencies.rb +1 -1
  22. data/lib/project_types/script/layers/application/push_script.rb +41 -30
  23. data/lib/project_types/script/layers/domain/errors.rb +10 -3
  24. data/lib/project_types/script/layers/domain/extension_point.rb +16 -2
  25. data/lib/project_types/script/layers/domain/push_package.rb +0 -3
  26. data/lib/project_types/script/layers/domain/script_config.rb +6 -4
  27. data/lib/project_types/script/layers/domain/script_project.rb +1 -0
  28. data/lib/project_types/script/layers/infrastructure/errors.rb +47 -23
  29. data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_task_runner.rb +2 -12
  30. data/lib/project_types/script/layers/infrastructure/languages/project_creator.rb +1 -0
  31. data/lib/project_types/script/layers/infrastructure/languages/task_runner.rb +1 -0
  32. data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +2 -12
  33. data/lib/project_types/script/layers/infrastructure/languages/wasm_project_creator.rb +15 -0
  34. data/lib/project_types/script/layers/infrastructure/languages/wasm_task_runner.rb +36 -0
  35. data/lib/project_types/script/layers/infrastructure/metadata_repository.rb +18 -0
  36. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +7 -8
  37. data/lib/project_types/script/layers/infrastructure/script_project_repository.rb +45 -54
  38. data/lib/project_types/script/layers/infrastructure/script_service.rb +35 -12
  39. data/lib/project_types/script/layers/infrastructure/script_uploader.rb +22 -9
  40. data/lib/project_types/script/loaders/project.rb +44 -0
  41. data/lib/project_types/script/loaders/specification_handler.rb +22 -0
  42. data/lib/project_types/script/messages/messages.rb +38 -19
  43. data/lib/project_types/script/ui/error_handler.rb +52 -30
  44. data/lib/project_types/theme/commands/pull.rb +45 -17
  45. data/lib/project_types/theme/commands/push.rb +62 -27
  46. data/lib/project_types/theme/commands/serve.rb +5 -0
  47. data/lib/project_types/theme/messages/messages.rb +33 -18
  48. data/lib/shopify_cli/constants.rb +7 -2
  49. data/lib/shopify_cli/context.rb +66 -12
  50. data/lib/shopify_cli/core/executor.rb +4 -4
  51. data/lib/shopify_cli/environment.rb +50 -20
  52. data/lib/shopify_cli/identity_auth.rb +4 -3
  53. data/lib/shopify_cli/messages/messages.rb +2 -0
  54. data/lib/shopify_cli/method_object.rb +21 -9
  55. data/lib/shopify_cli/resources/env_file.rb +5 -1
  56. data/lib/shopify_cli/result.rb +61 -59
  57. data/lib/shopify_cli/task.rb +5 -3
  58. data/lib/shopify_cli/theme/dev_server/hot-reload.js +19 -1
  59. data/lib/shopify_cli/theme/dev_server/hot_reload.rb +18 -2
  60. data/lib/shopify_cli/theme/dev_server/proxy.rb +1 -0
  61. data/lib/shopify_cli/theme/dev_server/reload_mode.rb +34 -0
  62. data/lib/shopify_cli/theme/dev_server.rb +6 -21
  63. data/lib/shopify_cli/theme/file.rb +2 -2
  64. data/lib/shopify_cli/theme/filter/path_matcher.rb +38 -0
  65. data/lib/shopify_cli/theme/ignore_filter.rb +14 -18
  66. data/lib/shopify_cli/theme/include_filter.rb +43 -0
  67. data/lib/shopify_cli/theme/syncer.rb +17 -2
  68. data/lib/shopify_cli/theme/theme.rb +26 -4
  69. data/lib/shopify_cli/version.rb +1 -1
  70. data/lib/shopify_cli.rb +6 -1
  71. data/vendor/deps/cli-kit/lib/cli/kit/system.rb +10 -5
  72. data/vendor/deps/cli-ui/lib/cli/ui/os.rb +6 -4
  73. data/vendor/deps/ruby2_keywords/LICENSE +22 -0
  74. data/vendor/deps/ruby2_keywords/README.md +67 -0
  75. data/vendor/deps/ruby2_keywords/Rakefile +54 -0
  76. data/vendor/deps/ruby2_keywords/lib/ruby2_keywords.rb +57 -0
  77. data/vendor/deps/ruby2_keywords/ruby2_keywords.gemspec +18 -0
  78. data/vendor/deps/ruby2_keywords/test/test_keyword.rb +41 -0
  79. metadata +16 -2
@@ -0,0 +1,22 @@
1
+ Copyright 2019-2020 Nobuyoshi Nakada, Yusuke Endoh
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions are met:
5
+
6
+ 1. Redistributions of source code must retain the above copyright notice, this
7
+ list of conditions and the following disclaimer.
8
+
9
+ 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
14
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
17
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
21
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,67 @@
1
+ # ruby2_keywords
2
+
3
+ Provides empty `Module#ruby2_keywords` method, for the forward
4
+ source-level compatibility against ruby2.7 and ruby3.
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'ruby2_keywords'
12
+ ```
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install ruby2_keywords
21
+
22
+ ## Usage
23
+
24
+ For class/module instance methods:
25
+
26
+ ```ruby
27
+ require 'ruby2_keywords'
28
+
29
+ module YourModule
30
+ ruby2_keywords def delegating_method(*args)
31
+ other_method(*args)
32
+ end
33
+ end
34
+ ```
35
+
36
+ For global methods:
37
+
38
+ ```ruby
39
+ require 'ruby2_keywords'
40
+
41
+ ruby2_keywords def oldstyle_keywords(options = {})
42
+ end
43
+ ```
44
+
45
+ You can do the same for a method defined by `Module#define_method`:
46
+
47
+ ```ruby
48
+ define_method :delegating_method do |*args, &block|
49
+ other_method(*args, &block)
50
+ end
51
+ ruby2_keywords :delegating_method
52
+ ```
53
+
54
+ ## Contributing
55
+
56
+ Bug reports and pull requests are welcome on [GitHub] or
57
+ [Ruby Issue Tracking System].
58
+
59
+ ## License
60
+
61
+ The gem is available as open source under the terms of the
62
+ [Ruby License] or the [2-Clause BSD License].
63
+
64
+ [GitHub]: https://github.com/ruby/ruby2_keywords/
65
+ [Ruby Issue Tracking System]: https://bugs.ruby-lang.org
66
+ [Ruby License]: https://www.ruby-lang.org/en/about/license.txt
67
+ [2-Clause BSD License]: https://opensource.org/licenses/BSD-2-Clause
@@ -0,0 +1,54 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ helper = Bundler::GemHelper.instance
5
+
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.test_files = FileList["test/**/test_*.rb"]
8
+ end
9
+
10
+ task :default => :test
11
+
12
+ task "build" => "date_epoch"
13
+
14
+ task "date_epoch" do
15
+ ENV["SOURCE_DATE_EPOCH"] = IO.popen(%W[git -C #{__dir__} log -1 --format=%ct], &:read).chomp
16
+ end
17
+
18
+ def helper.update_gemspec
19
+ path = "#{__dir__}/#{gemspec.name}.gemspec"
20
+ File.open(path, "r+b") do |f|
21
+ if (d = f.read).sub!(/^(version\s*=\s*)".*"/) {$1 + gemspec.version.to_s.dump}
22
+ f.rewind
23
+ f.truncate(0)
24
+ f.print(d)
25
+ end
26
+ end
27
+ end
28
+
29
+ def helper.commit_bump
30
+ sh(%W[git -C #{__dir__} commit -m bump\ up\ to\ #{gemspec.version}
31
+ #{gemspec.name}.gemspec])
32
+ end
33
+
34
+ def helper.version=(v)
35
+ gemspec.version = v
36
+ update_gemspec
37
+ commit_bump
38
+ tag_version
39
+ end
40
+ major, minor, teeny = helper.gemspec.version.segments
41
+
42
+ task "bump:teeny" do
43
+ helper.version = Gem::Version.new("#{major}.#{minor}.#{teeny+1}")
44
+ end
45
+
46
+ task "bump:minor" do
47
+ raise "can't bump up minor"
48
+ end
49
+
50
+ task "bump:major" do
51
+ raise "can't bump up major"
52
+ end
53
+
54
+ task "bump" => "bump:teeny"
@@ -0,0 +1,57 @@
1
+ class Module
2
+ unless private_method_defined?(:ruby2_keywords)
3
+ private
4
+ # call-seq:
5
+ # ruby2_keywords(method_name, ...)
6
+ #
7
+ # Does nothing.
8
+ def ruby2_keywords(name, *)
9
+ # nil
10
+ end
11
+ end
12
+ end
13
+
14
+ main = TOPLEVEL_BINDING.receiver
15
+ unless main.respond_to?(:ruby2_keywords, true)
16
+ # call-seq:
17
+ # ruby2_keywords(method_name, ...)
18
+ #
19
+ # Does nothing.
20
+ def main.ruby2_keywords(name, *)
21
+ # nil
22
+ end
23
+ end
24
+
25
+ class Proc
26
+ unless method_defined?(:ruby2_keywords)
27
+ # call-seq:
28
+ # proc.ruby2_keywords -> proc
29
+ #
30
+ # Does nothing and just returns the receiver.
31
+ def ruby2_keywords
32
+ self
33
+ end
34
+ end
35
+ end
36
+
37
+ class << Hash
38
+ unless method_defined?(:ruby2_keywords_hash?)
39
+ # call-seq:
40
+ # Hash.ruby2_keywords_hash?(hash) -> false
41
+ #
42
+ # Returns false.
43
+ def ruby2_keywords_hash?(hash)
44
+ false
45
+ end
46
+ end
47
+
48
+ unless method_defined?(:ruby2_keywords_hash)
49
+ # call-seq:
50
+ # Hash.ruby2_keywords_hash(hash) -> new_hash
51
+ #
52
+ # Duplicates a given hash and returns the new hash.
53
+ def ruby2_keywords_hash(hash)
54
+ hash.dup
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,18 @@
1
+ version = "0.0.4"
2
+ abort "Version must not reach 1" if version[/\d+/].to_i >= 1
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "ruby2_keywords"
6
+ s.version = version
7
+ s.summary = "Shim library for Module#ruby2_keywords"
8
+ s.homepage = "https://github.com/ruby/ruby2_keywords"
9
+ s.licenses = ["Ruby", "BSD-2-Clause"]
10
+ s.authors = ["Nobuyoshi Nakada"]
11
+ s.require_paths = ["lib"]
12
+ s.rdoc_options = ["--main", "README.md"]
13
+ s.files = [
14
+ "LICENSE",
15
+ "README.md",
16
+ "lib/ruby2_keywords.rb",
17
+ ]
18
+ end
@@ -0,0 +1,41 @@
1
+ require 'test/unit'
2
+ LOADING_RUBY2_KEYWORDS = (RUBY_VERSION.scan(/\d+/).map(&:to_i) <=> [2, 7]) < 0
3
+ if LOADING_RUBY2_KEYWORDS
4
+ require 'ruby2_keywords'
5
+ end
6
+
7
+ class TestKeywordArguments < Test::Unit::TestCase
8
+ def test_loaded_features
9
+ list = $LOADED_FEATURES.grep(%r[/ruby2_keywords\.rb\z])
10
+ if LOADING_RUBY2_KEYWORDS
11
+ assert_not_empty(list)
12
+ assert_not_include($LOADED_FEATURES, "ruby2_keywords.rb")
13
+ else
14
+ assert_empty(list)
15
+ assert_include($LOADED_FEATURES, "ruby2_keywords.rb")
16
+ end
17
+ end
18
+
19
+ def test_module_ruby2_keywords
20
+ assert_send([Module, :private_method_defined?, :ruby2_keywords])
21
+ assert_operator(Module.instance_method(:ruby2_keywords).arity, :<, 0)
22
+ end
23
+
24
+ def test_toplevel_ruby2_keywords
25
+ main = TOPLEVEL_BINDING.receiver
26
+ assert_send([main, :respond_to?, :ruby2_keywords, true])
27
+ assert_operator(main.method(:ruby2_keywords).arity, :<, 0)
28
+ end
29
+
30
+ def test_proc_ruby2_keywords
31
+ assert_respond_to(Proc.new {}, :ruby2_keywords)
32
+ end
33
+
34
+ def test_hash_ruby2_keywords_hash?
35
+ assert_false(Hash.ruby2_keywords_hash?({}))
36
+ end
37
+
38
+ def test_hash_ruby2_keywords_hash
39
+ assert_equal({}, Hash.ruby2_keywords_hash({}.freeze))
40
+ end
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-06 00:00:00.000000000 Z
11
+ date: 2022-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -317,11 +317,16 @@ files:
317
317
  - lib/project_types/script/layers/infrastructure/languages/task_runner.rb
318
318
  - lib/project_types/script/layers/infrastructure/languages/typescript_project_creator.rb
319
319
  - lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb
320
+ - lib/project_types/script/layers/infrastructure/languages/wasm_project_creator.rb
321
+ - lib/project_types/script/layers/infrastructure/languages/wasm_task_runner.rb
322
+ - lib/project_types/script/layers/infrastructure/metadata_repository.rb
320
323
  - lib/project_types/script/layers/infrastructure/push_package_repository.rb
321
324
  - lib/project_types/script/layers/infrastructure/script_project_repository.rb
322
325
  - lib/project_types/script/layers/infrastructure/script_service.rb
323
326
  - lib/project_types/script/layers/infrastructure/script_uploader.rb
324
327
  - lib/project_types/script/layers/infrastructure/service_locator.rb
328
+ - lib/project_types/script/loaders/project.rb
329
+ - lib/project_types/script/loaders/specification_handler.rb
325
330
  - lib/project_types/script/messages/messages.rb
326
331
  - lib/project_types/script/ui/error_handler.rb
327
332
  - lib/project_types/script/ui/printing_spinner.rb
@@ -464,12 +469,15 @@ files:
464
469
  - lib/shopify_cli/theme/dev_server/local_assets.rb
465
470
  - lib/shopify_cli/theme/dev_server/proxy.rb
466
471
  - lib/shopify_cli/theme/dev_server/proxy/template_param_builder.rb
472
+ - lib/shopify_cli/theme/dev_server/reload_mode.rb
467
473
  - lib/shopify_cli/theme/dev_server/sse.rb
468
474
  - lib/shopify_cli/theme/dev_server/watcher.rb
469
475
  - lib/shopify_cli/theme/dev_server/web_server.rb
470
476
  - lib/shopify_cli/theme/development_theme.rb
471
477
  - lib/shopify_cli/theme/file.rb
478
+ - lib/shopify_cli/theme/filter/path_matcher.rb
472
479
  - lib/shopify_cli/theme/ignore_filter.rb
480
+ - lib/shopify_cli/theme/include_filter.rb
473
481
  - lib/shopify_cli/theme/mime_type.rb
474
482
  - lib/shopify_cli/theme/syncer.rb
475
483
  - lib/shopify_cli/theme/syncer/error_reporter.rb
@@ -533,6 +541,12 @@ files:
533
541
  - vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb
534
542
  - vendor/deps/cli-ui/lib/cli/ui/widgets/status.rb
535
543
  - vendor/deps/cli-ui/lib/cli/ui/wrap.rb
544
+ - vendor/deps/ruby2_keywords/LICENSE
545
+ - vendor/deps/ruby2_keywords/README.md
546
+ - vendor/deps/ruby2_keywords/Rakefile
547
+ - vendor/deps/ruby2_keywords/lib/ruby2_keywords.rb
548
+ - vendor/deps/ruby2_keywords/ruby2_keywords.gemspec
549
+ - vendor/deps/ruby2_keywords/test/test_keyword.rb
536
550
  - vendor/deps/smart_properties/REVISION
537
551
  - vendor/deps/smart_properties/lib/smart_properties.rb
538
552
  - vendor/deps/smart_properties/lib/smart_properties/errors.rb