ember-cli-rails 0.9.0 → 0.10.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +3 -3
- data/lib/ember-cli-rails.rb +1 -67
- data/lib/ember_cli.rb +72 -0
- data/lib/ember_cli/app.rb +12 -0
- data/lib/ember_cli/path_set.rb +8 -1
- data/lib/ember_cli/version.rb +1 -1
- data/lib/generators/ember/heroku/USAGE +2 -4
- data/lib/generators/ember/heroku/heroku_generator.rb +28 -3
- data/lib/generators/ember/heroku/templates/package.json.erb +3 -10
- data/lib/generators/ember/heroku/templates/yarn.lock.erb +1 -0
- data/lib/tasks/ember-cli.rake +1 -6
- metadata +18 -3
- data/lib/generators/ember/heroku/templates/bin_heroku_install.erb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e8e3eae43c6174217f04aa96d57a7396f6b1ba8
|
4
|
+
data.tar.gz: c8d43e9a2efd2b5a9367d6fa974fa3ccedd4bb69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1f9f0227c30692510edba35b843344b25e839c003437c92df089312c20803246653f9c7e88fddd3ff08d7f684a5ee57c073af3709b64a98e3014ba886442d79
|
7
|
+
data.tar.gz: a0789e42c15df281a2cd76ce4e61b30688eb1d60e0a28cd7ab81b9b819b0927b525dbeb1b2b4e0c384e795390ef2f08c327bb6934277b0ccd38707502a70e2ea
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,23 @@
|
|
1
1
|
master
|
2
2
|
------
|
3
3
|
|
4
|
+
0.10.0
|
5
|
+
------
|
6
|
+
|
7
|
+
* Remove `bin/heroku_install` to simplify Heroku setup.
|
8
|
+
To upgrade, remove your project's generated `bin/heroku_install`.
|
9
|
+
Next, execute `rake ember:heroku`. [#544]
|
10
|
+
* Generate an empty `yarn.lock` so that Heroku understands that the
|
11
|
+
application's deployment target requires `yarn`. Closes [#538]. [#540]
|
12
|
+
* No longer support `rails < 4.2`. [#543]
|
13
|
+
* Generate an empty `yarn.lock` so that Heroku understands that the
|
14
|
+
application's deployment target requires `yarn`. Closes [#538]. [#540]
|
15
|
+
|
16
|
+
[#543]: https://github.com/thoughtbot/ember-cli-rails/pull/543
|
17
|
+
[#544]: https://github.com/thoughtbot/ember-cli-rails/pull/544
|
18
|
+
[#538]: https://github.com/thoughtbot/ember-cli-rails/issues/538
|
19
|
+
[#540]: https://github.com/thoughtbot/ember-cli-rails/pull/540
|
20
|
+
|
4
21
|
0.9.0
|
5
22
|
-----
|
6
23
|
|
data/README.md
CHANGED
@@ -476,13 +476,13 @@ EmberCli.configure do |c|
|
|
476
476
|
end
|
477
477
|
```
|
478
478
|
|
479
|
-
Next, mount the applications alongside the rest of Rails' routes:
|
479
|
+
Next, mount the applications alongside the rest of Rails' routes. Note that `admin_panel` route is added before the `frontend` route because it's more specific:
|
480
480
|
|
481
481
|
```rb
|
482
482
|
# /config/routes.rb
|
483
483
|
Rails.application.routes.draw do
|
484
|
-
mount_ember_app :frontend, to: "/"
|
485
484
|
mount_ember_app :admin_panel, to: "/admin_panel"
|
485
|
+
mount_ember_app :frontend, to: "/"
|
486
486
|
end
|
487
487
|
```
|
488
488
|
|
@@ -661,7 +661,7 @@ This project supports:
|
|
661
661
|
This project supports:
|
662
662
|
|
663
663
|
* Ruby versions `>= 2.2.0`
|
664
|
-
* Rails versions `>=4.
|
664
|
+
* Rails versions `>=4.2.x`.
|
665
665
|
|
666
666
|
To learn more about supported versions and upgrades, read the [upgrading guide].
|
667
667
|
|
data/lib/ember-cli-rails.rb
CHANGED
@@ -1,69 +1,3 @@
|
|
1
|
-
require "
|
2
|
-
require "ember-cli-rails-assets"
|
3
|
-
require "ember_cli/engine"
|
4
|
-
require "ember_cli/configuration"
|
5
|
-
require "ember_cli/helpers"
|
6
|
-
require "ember_cli/errors"
|
7
|
-
|
8
|
-
module EmberCli
|
9
|
-
extend self
|
10
|
-
|
11
|
-
def configure
|
12
|
-
yield configuration
|
13
|
-
end
|
14
|
-
|
15
|
-
def configuration
|
16
|
-
Configuration.instance
|
17
|
-
end
|
18
|
-
|
19
|
-
def app(name)
|
20
|
-
apps.fetch(name) do
|
21
|
-
fail KeyError, "#{name.inspect} app is not defined"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def build(name)
|
26
|
-
app(name).build
|
27
|
-
end
|
28
|
-
|
29
|
-
alias_method :[], :app
|
30
|
-
|
31
|
-
def skip?
|
32
|
-
ENV["SKIP_EMBER"].present?
|
33
|
-
end
|
34
|
-
|
35
|
-
def install_dependencies!
|
36
|
-
each_app(&:install_dependencies)
|
37
|
-
end
|
38
|
-
|
39
|
-
def test!
|
40
|
-
each_app(&:test)
|
41
|
-
end
|
42
|
-
|
43
|
-
def compile!
|
44
|
-
cleanup!
|
45
|
-
each_app(&:compile)
|
46
|
-
end
|
47
|
-
|
48
|
-
def root
|
49
|
-
@root ||= Rails.root.join("tmp", "ember-cli").tap(&:mkpath)
|
50
|
-
end
|
51
|
-
|
52
|
-
def env
|
53
|
-
@env ||= Helpers.current_environment
|
54
|
-
end
|
55
|
-
|
56
|
-
delegate :apps, to: :configuration
|
57
|
-
|
58
|
-
private
|
59
|
-
|
60
|
-
def cleanup!
|
61
|
-
root.children.each { |tmp_file| FileUtils.rm_rf(tmp_file) }
|
62
|
-
end
|
63
|
-
|
64
|
-
def each_app
|
65
|
-
apps.each { |_, app| yield app }
|
66
|
-
end
|
67
|
-
end
|
1
|
+
require "ember_cli"
|
68
2
|
|
69
3
|
EmberCLI = EmberCli
|
data/lib/ember_cli.rb
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
require "fileutils"
|
2
|
+
require "ember-cli-rails-assets"
|
3
|
+
require "ember_cli/engine"
|
4
|
+
require "ember_cli/configuration"
|
5
|
+
require "ember_cli/helpers"
|
6
|
+
require "ember_cli/errors"
|
7
|
+
|
8
|
+
module EmberCli
|
9
|
+
extend self
|
10
|
+
|
11
|
+
def configure
|
12
|
+
yield configuration
|
13
|
+
end
|
14
|
+
|
15
|
+
def configuration
|
16
|
+
Configuration.instance
|
17
|
+
end
|
18
|
+
|
19
|
+
def app(name)
|
20
|
+
apps.fetch(name) do
|
21
|
+
fail KeyError, "#{name.inspect} app is not defined"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
alias_method :[], :app
|
25
|
+
|
26
|
+
def apps
|
27
|
+
configuration.apps
|
28
|
+
end
|
29
|
+
|
30
|
+
def build(name)
|
31
|
+
app(name).build
|
32
|
+
end
|
33
|
+
|
34
|
+
def any?(*arguments, &block)
|
35
|
+
apps.values.any?(*arguments, &block)
|
36
|
+
end
|
37
|
+
|
38
|
+
def skip?
|
39
|
+
ENV["SKIP_EMBER"].present?
|
40
|
+
end
|
41
|
+
|
42
|
+
def install_dependencies!
|
43
|
+
each_app(&:install_dependencies)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test!
|
47
|
+
each_app(&:test)
|
48
|
+
end
|
49
|
+
|
50
|
+
def compile!
|
51
|
+
cleanup!
|
52
|
+
each_app(&:compile)
|
53
|
+
end
|
54
|
+
|
55
|
+
def root
|
56
|
+
@root ||= Rails.root.join("tmp", "ember-cli").tap(&:mkpath)
|
57
|
+
end
|
58
|
+
|
59
|
+
def env
|
60
|
+
@env ||= Helpers.current_environment
|
61
|
+
end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
def cleanup!
|
66
|
+
root.children.each { |tmp_file| FileUtils.rm_rf(tmp_file) }
|
67
|
+
end
|
68
|
+
|
69
|
+
def each_app
|
70
|
+
apps.each { |_, app| yield app }
|
71
|
+
end
|
72
|
+
end
|
data/lib/ember_cli/app.rb
CHANGED
@@ -33,6 +33,10 @@ module EmberCli
|
|
33
33
|
paths.dist
|
34
34
|
end
|
35
35
|
|
36
|
+
def cached_directories
|
37
|
+
paths.cached_directories
|
38
|
+
end
|
39
|
+
|
36
40
|
def compile
|
37
41
|
@compiled ||= begin
|
38
42
|
prepare
|
@@ -83,6 +87,14 @@ module EmberCli
|
|
83
87
|
deploy.mountable?
|
84
88
|
end
|
85
89
|
|
90
|
+
def yarn_enabled?
|
91
|
+
options.fetch(:yarn, false)
|
92
|
+
end
|
93
|
+
|
94
|
+
def bower?
|
95
|
+
paths.bower_json.exist?
|
96
|
+
end
|
97
|
+
|
86
98
|
def to_rack
|
87
99
|
deploy.to_rack
|
88
100
|
end
|
data/lib/ember_cli/path_set.rb
CHANGED
@@ -36,7 +36,7 @@ module EmberCli
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def bower_json
|
39
|
-
|
39
|
+
root.join("bower.json")
|
40
40
|
end
|
41
41
|
|
42
42
|
def ember
|
@@ -108,6 +108,13 @@ module EmberCli
|
|
108
108
|
@bundler ||= path_for_executable("bundler")
|
109
109
|
end
|
110
110
|
|
111
|
+
def cached_directories
|
112
|
+
[
|
113
|
+
node_modules,
|
114
|
+
(bower_components if bower_json.exist?),
|
115
|
+
].compact
|
116
|
+
end
|
117
|
+
|
111
118
|
private
|
112
119
|
|
113
120
|
attr_reader :app, :ember_cli_root, :environment, :rails_root
|
data/lib/ember_cli/version.rb
CHANGED
@@ -4,9 +4,8 @@ Description:
|
|
4
4
|
Once the generator is complete, execute the following:
|
5
5
|
|
6
6
|
$ heroku buildpacks:clear
|
7
|
-
$ heroku buildpacks:add --index 1
|
8
|
-
$ heroku buildpacks:add --index 2
|
9
|
-
$ heroku config:set NPM_CONFIG_PRODUCTION=false
|
7
|
+
$ heroku buildpacks:add --index 1 heroku/nodejs
|
8
|
+
$ heroku buildpacks:add --index 2 heroku/ruby
|
10
9
|
$ heroku config:unset SKIP_EMBER
|
11
10
|
|
12
11
|
Example:
|
@@ -16,5 +15,4 @@ Example:
|
|
16
15
|
rails_12factor
|
17
16
|
|
18
17
|
This will create:
|
19
|
-
bin/heroku_install
|
20
18
|
package.json
|
@@ -8,19 +8,44 @@ module EmberCli
|
|
8
8
|
template "package.json.erb", "package.json"
|
9
9
|
end
|
10
10
|
|
11
|
-
def
|
12
|
-
|
13
|
-
|
11
|
+
def identify_as_yarn_project
|
12
|
+
if EmberCli.any?(&:yarn_enabled?)
|
13
|
+
template "yarn.lock.erb", "yarn.lock"
|
14
|
+
end
|
14
15
|
end
|
15
16
|
|
16
17
|
def inject_12factor_gem
|
17
18
|
gem "rails_12factor", group: [:staging, :production]
|
18
19
|
end
|
19
20
|
|
21
|
+
private
|
22
|
+
|
23
|
+
def cache_directories
|
24
|
+
all_cached_directories.map do |cached_directory|
|
25
|
+
cached_directory.relative_path_from(Rails.root).to_s
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def all_cached_directories
|
30
|
+
app_specific_cached_directories + project_root_cached_directories
|
31
|
+
end
|
32
|
+
|
33
|
+
def app_specific_cached_directories
|
34
|
+
apps.flat_map(&:cached_directories)
|
35
|
+
end
|
36
|
+
|
37
|
+
def project_root_cached_directories
|
38
|
+
[Rails.root.join("node_modules")]
|
39
|
+
end
|
40
|
+
|
20
41
|
def app_paths
|
21
42
|
EmberCli.apps.values.map do |app|
|
22
43
|
app.root_path.relative_path_from(Rails.root)
|
23
44
|
end
|
24
45
|
end
|
46
|
+
|
47
|
+
def apps
|
48
|
+
EmberCli.apps.values
|
49
|
+
end
|
25
50
|
end
|
26
51
|
end
|
@@ -1,15 +1,8 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
"postinstall": "sh bin/heroku_install"
|
4
|
-
},
|
2
|
+
<% if EmberCli.any?(&:bower?) %>
|
5
3
|
"dependencies": {
|
6
4
|
"bower": "*"
|
7
5
|
},
|
8
|
-
|
9
|
-
|
10
|
-
"<%= app_path %>/node_modules",
|
11
|
-
"<%= app_path %>/bower_components",
|
12
|
-
<%- end -%>
|
13
|
-
"node_modules"
|
14
|
-
]
|
6
|
+
<% end %>
|
7
|
+
"cacheDirectories": <%= cache_directories.to_json %>
|
15
8
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
|
data/lib/tasks/ember-cli.rake
CHANGED
@@ -16,10 +16,5 @@ namespace :ember do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
unless EmberCli.skip?
|
19
|
-
|
20
|
-
if Rails::VERSION::MAJOR < 4
|
21
|
-
task "assets:precompile:all" => "ember:compile"
|
22
|
-
else
|
23
|
-
task "assets:precompile" => "ember:compile"
|
24
|
-
end
|
19
|
+
task "assets:precompile" => "ember:compile"
|
25
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ember-cli-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Pravosud
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-
|
13
|
+
date: 2017-09-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ember-cli-rails-assets
|
@@ -68,6 +68,20 @@ dependencies:
|
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: 0.1.0
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: generator_spec
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.9.0
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 0.9.0
|
71
85
|
description:
|
72
86
|
email:
|
73
87
|
- pavel@pravosud.com
|
@@ -84,6 +98,7 @@ files:
|
|
84
98
|
- app/helpers/ember_rails_helper.rb
|
85
99
|
- app/views/ember_cli/ember/index.html.erb
|
86
100
|
- lib/ember-cli-rails.rb
|
101
|
+
- lib/ember_cli.rb
|
87
102
|
- lib/ember_cli/app.rb
|
88
103
|
- lib/ember_cli/build_monitor.rb
|
89
104
|
- lib/ember_cli/command.rb
|
@@ -100,8 +115,8 @@ files:
|
|
100
115
|
- lib/ember_cli/version.rb
|
101
116
|
- lib/generators/ember/heroku/USAGE
|
102
117
|
- lib/generators/ember/heroku/heroku_generator.rb
|
103
|
-
- lib/generators/ember/heroku/templates/bin_heroku_install.erb
|
104
118
|
- lib/generators/ember/heroku/templates/package.json.erb
|
119
|
+
- lib/generators/ember/heroku/templates/yarn.lock.erb
|
105
120
|
- lib/generators/ember/init/USAGE
|
106
121
|
- lib/generators/ember/init/init_generator.rb
|
107
122
|
- lib/generators/ember/init/templates/initializer.rb
|