ember-cli-rails 0.10.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0e8e3eae43c6174217f04aa96d57a7396f6b1ba8
4
- data.tar.gz: c8d43e9a2efd2b5a9367d6fa974fa3ccedd4bb69
2
+ SHA256:
3
+ metadata.gz: ed137eea5bdc56c6a89bbfaca9ccb77aa477c7d2c15c7cc363aea86148e194a9
4
+ data.tar.gz: 5b87d3079ad0dba80afc777be24fa7c374ffc44f6b9d14095b08848af41535e7
5
5
  SHA512:
6
- metadata.gz: c1f9f0227c30692510edba35b843344b25e839c003437c92df089312c20803246653f9c7e88fddd3ff08d7f684a5ee57c073af3709b64a98e3014ba886442d79
7
- data.tar.gz: a0789e42c15df281a2cd76ce4e61b30688eb1d60e0a28cd7ab81b9b819b0927b525dbeb1b2b4e0c384e795390ef2f08c327bb6934277b0ccd38707502a70e2ea
6
+ metadata.gz: e013d35a791907b4df054156abf9d111e36dd68ac1f0e1da2173310940a2ab657112619a5edf05109e64a427846936004cdb39e22fd83bb373d981c3fba1b709
7
+ data.tar.gz: e19ea5bd822a38c5004f1f8de21a6d5cf2866626e87132cdf8d1bfe40a7402f7edd90a3c4420bf6337fd4c4788dad4f1fbccdac91d5abbcaae04a95606401220
data/CHANGELOG.md CHANGED
@@ -1,6 +1,28 @@
1
1
  master
2
2
  ------
3
3
 
4
+ 0.12.0
5
+ ------
6
+
7
+ * Redirecting with trailing slash with query parameters
8
+ * Recognize Building notice as not an error
9
+ * Use keyword argument for options
10
+ * Add Ruby 2.7 & 3.0 into CI matrix
11
+ * Add missing gems that removed from stdlibs in Ruby 3.0.0
12
+ * Fix autoload deprecation in Rails 6
13
+ * Drop support for Rails versions 4.2, 5.0, 5.1, and 5.2
14
+ * Drop support for End-of-Lifed Ruby versions 2.3 and 2.4
15
+
16
+ 0.11.0
17
+ ------
18
+
19
+ * Switch from TravisCI to GitHub Actions for Continuous Integration
20
+ * Redirect Ember routes with paths that don't end in `/` to corresponding paths
21
+ that end in `/`.
22
+ * Don't route requests to `/rails/active_storage` through the mounted Ember application.
23
+ * Only support for Ruby versions >= 2.5
24
+ * Only support for Rails versions >= 5.2
25
+
4
26
  0.10.0
5
27
  ------
6
28
 
data/README.md CHANGED
@@ -421,7 +421,7 @@ To override this behavior, you can specify [any of Rails' routing options]
421
421
  For the sake of this example, override the `controller` and `action` options:
422
422
 
423
423
  ```rb
424
- # config/routes
424
+ # config/routes.rb
425
425
 
426
426
  Rails.application.routes.draw do
427
427
  mount_ember_app :frontend, to: "/", controller: "application", action: "index"
@@ -660,8 +660,8 @@ This project supports:
660
660
 
661
661
  This project supports:
662
662
 
663
- * Ruby versions `>= 2.2.0`
664
- * Rails versions `>=4.2.x`.
663
+ * Ruby versions `>= 2.5.0`
664
+ * Rails versions `>=5.2.x`.
665
665
 
666
666
  To learn more about supported versions and upgrades, read the [upgrading guide].
667
667
 
@@ -42,7 +42,8 @@ module EmberCli
42
42
  def build_errors
43
43
  error_lines.
44
44
  reject { |line| is_blank_or_backtrace?(line) }.
45
- reject { |line| is_deprecation_warning?(line) }
45
+ reject { |line| is_deprecation_warning?(line) }.
46
+ reject { |line| is_building_notice?(line) }
46
47
  end
47
48
 
48
49
  def has_build_errors?
@@ -57,6 +58,10 @@ module EmberCli
57
58
  line =~ /^(\e[^\s]+)?DEPRECATION:/
58
59
  end
59
60
 
61
+ def is_building_notice?(line)
62
+ line =~ /^(\e[^\s]+)?.\s(\e[^\s]+)?Building/
63
+ end
64
+
60
65
  def error_lines
61
66
  if error_file_exists?
62
67
  error_file.readlines
@@ -1,4 +1,4 @@
1
- require "cocaine"
1
+ require "terrapin"
2
2
 
3
3
  module EmberCli
4
4
  class Command
@@ -8,7 +8,7 @@ module EmberCli
8
8
  end
9
9
 
10
10
  def test
11
- line = Cocaine::CommandLine.new(paths.ember, "test --environment test")
11
+ line = Terrapin::CommandLine.new(paths.ember, "test --environment test")
12
12
 
13
13
  line.command
14
14
  end
@@ -30,7 +30,7 @@ module EmberCli
30
30
  end
31
31
 
32
32
  def ember_build(watch: false)
33
- line = Cocaine::CommandLine.new(paths.ember, [
33
+ line = Terrapin::CommandLine.new(paths.ember, [
34
34
  "build",
35
35
  ("--watch" if watch),
36
36
  ("--watcher :watcher" if process_watcher),
@@ -8,7 +8,7 @@ module EmberCli
8
8
  attr_accessor :watcher
9
9
 
10
10
  def app(name, **options)
11
- app = App.new(name, options)
11
+ app = App.new(name, **options)
12
12
  apps.store(name, app)
13
13
  end
14
14
 
@@ -1,7 +1,9 @@
1
1
  module EmberCli
2
2
  class EmberConstraint
3
3
  def matches?(request)
4
- html_request?(request) && !rails_info_request?(request)
4
+ html_request?(request) &&
5
+ !rails_info_request?(request) &&
6
+ !rails_active_storage_request?(request)
5
7
  end
6
8
 
7
9
  private
@@ -10,6 +12,10 @@ module EmberCli
10
12
  request.fullpath.start_with?("/rails/info", "/rails/mailers")
11
13
  end
12
14
 
15
+ def rails_active_storage_request?(request)
16
+ request.fullpath.start_with?("/rails/active_storage")
17
+ end
18
+
13
19
  def html_request?(request)
14
20
  request.format.html?
15
21
  end
@@ -1,10 +1,7 @@
1
1
  module EmberCli
2
2
  class Engine < Rails::Engine
3
3
  initializer "ember-cli-rails.setup" do
4
- require "ember_cli/ember_controller"
5
4
  require "ember_cli/route_helpers"
6
-
7
- ActionController::Base.helper EmberRailsHelper
8
5
  end
9
6
  end
10
7
  end
@@ -92,7 +92,16 @@ module EmberCli
92
92
 
93
93
  def yarn
94
94
  if yarn?
95
- @yarn ||= path_for_executable("yarn")
95
+ @yarn ||= path_for_executable("yarn").tap do |yarn|
96
+ unless File.executable?(yarn.to_s)
97
+ fail DependencyError.new(<<-MSG.strip_heredoc)
98
+ EmberCLI has been configured to install NodeJS dependencies with Yarn, but the Yarn executable is unavailable.
99
+
100
+ Install it by following the instructions at https://yarnpkg.com/lang/en/docs/install/
101
+
102
+ MSG
103
+ end
104
+ end
96
105
  end
97
106
  end
98
107
 
@@ -1,4 +1,5 @@
1
1
  require "ember_cli/ember_constraint"
2
+ require "ember_cli/trailing_slash_constraint"
2
3
 
3
4
  module ActionDispatch
4
5
  module Routing
@@ -15,7 +16,15 @@ module ActionDispatch
15
16
  )
16
17
 
17
18
  scope constraints: ::EmberCli::EmberConstraint.new do
18
- get("#{to}(*rest)", routing_options)
19
+ redirect_if_missing_trailing_slash = {
20
+ constraints: EmberCli::TrailingSlashConstraint.new,
21
+ to: redirect(-> (_, request) {
22
+ File.join(request.path, "/?#{request.query_parameters.to_query}")
23
+ }),
24
+ }
25
+
26
+ get(to, redirect_if_missing_trailing_slash)
27
+ get(File.join(to, "(*rest)"), routing_options)
19
28
  end
20
29
 
21
30
  mount_ember_assets(app_name, to: to)
@@ -41,7 +41,7 @@ module EmberCli
41
41
  clean_ember_dependencies!
42
42
  end
43
43
 
44
- if paths.yarn.present? && Pathname.new(paths.yarn).executable?
44
+ if paths.yarn
45
45
  run! "#{paths.yarn} install"
46
46
  else
47
47
  run! "#{paths.npm} prune && #{paths.npm} install"
@@ -0,0 +1,7 @@
1
+ module EmberCli
2
+ class TrailingSlashConstraint
3
+ def matches?(request)
4
+ !request.original_fullpath.to_s.split("?").first.end_with?("/")
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module EmberCli
2
- VERSION = "0.10.0".freeze
2
+ VERSION = "0.12.0".freeze
3
3
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ember-cli-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Pravosud
8
8
  - Jonathan Jackson
9
9
  - Sean Doyle
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-09-01 00:00:00.000000000 Z
13
+ date: 2023-02-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ember-cli-rails-assets
@@ -32,28 +32,28 @@ dependencies:
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '3.2'
35
+ version: '4.2'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '3.2'
42
+ version: '4.2'
43
43
  - !ruby/object:Gem::Dependency
44
- name: cocaine
44
+ name: terrapin
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 0.5.8
49
+ version: 0.6.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 0.5.8
56
+ version: 0.6.0
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: html_page
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,49 @@ dependencies:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
84
  version: 0.9.0
85
- description:
85
+ - !ruby/object:Gem::Dependency
86
+ name: rspec-rails
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: 3.6.0
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: 3.6.0
99
+ - !ruby/object:Gem::Dependency
100
+ name: capybara-selenium
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: codeclimate-test-reporter
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 0.6.0
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: 0.6.0
127
+ description:
86
128
  email:
87
129
  - pavel@pravosud.com
88
130
  - jonathan.jackson1@me.com
@@ -112,6 +154,7 @@ files:
112
154
  - lib/ember_cli/route_helpers.rb
113
155
  - lib/ember_cli/runner.rb
114
156
  - lib/ember_cli/shell.rb
157
+ - lib/ember_cli/trailing_slash_constraint.rb
115
158
  - lib/ember_cli/version.rb
116
159
  - lib/generators/ember/heroku/USAGE
117
160
  - lib/generators/ember/heroku/heroku_generator.rb
@@ -125,7 +168,7 @@ homepage: https://github.com/thoughtbot/ember-cli-rails
125
168
  licenses:
126
169
  - MIT
127
170
  metadata: {}
128
- post_install_message:
171
+ post_install_message:
129
172
  rdoc_options: []
130
173
  require_paths:
131
174
  - lib
@@ -133,16 +176,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
133
176
  requirements:
134
177
  - - ">="
135
178
  - !ruby/object:Gem::Version
136
- version: 2.2.0
179
+ version: 2.5.0
137
180
  required_rubygems_version: !ruby/object:Gem::Requirement
138
181
  requirements:
139
182
  - - ">="
140
183
  - !ruby/object:Gem::Version
141
184
  version: '0'
142
185
  requirements: []
143
- rubyforge_project:
144
- rubygems_version: 2.4.5.1
145
- signing_key:
186
+ rubyforge_project:
187
+ rubygems_version: 2.7.6.2
188
+ signing_key:
146
189
  specification_version: 4
147
190
  summary: Integration between Ember CLI and Rails
148
191
  test_files: []