ember-cli-rails 0.9.0 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|