ember-cli-rails 0.5.8 → 0.6.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 +24 -0
- data/README.md +180 -261
- data/app/controller/ember_cli/ember_controller.rb +5 -2
- data/app/helpers/ember_rails_helper.rb +15 -40
- data/app/views/ember_cli/ember/index.html.erb +1 -1
- data/lib/ember-cli-rails.rb +8 -28
- data/lib/ember_cli/app.rb +23 -29
- data/lib/ember_cli/asset_map.rb +64 -0
- data/lib/ember_cli/assets.rb +29 -44
- data/lib/ember_cli/command.rb +18 -10
- data/lib/ember_cli/configuration.rb +4 -37
- data/lib/ember_cli/directory_asset_map.rb +30 -0
- data/lib/ember_cli/engine.rb +0 -12
- data/lib/ember_cli/{constraint.rb → html_constraint.rb} +1 -1
- data/lib/ember_cli/path_set.rb +17 -9
- data/lib/ember_cli/route_helpers.rb +6 -2
- data/lib/ember_cli/shell.rb +6 -2
- data/lib/ember_cli/version.rb +1 -1
- data/lib/generators/{ember-cli → ember}/heroku/USAGE +1 -1
- data/lib/generators/{ember-cli → ember}/heroku/heroku_generator.rb +1 -11
- data/lib/generators/{ember-cli → ember}/heroku/templates/bin_heroku_install.erb +0 -0
- data/lib/generators/{ember-cli → ember}/heroku/templates/package.json.erb +0 -0
- data/lib/generators/ember/init/USAGE +8 -0
- data/lib/generators/{ember-cli → ember}/init/init_generator.rb +1 -1
- data/lib/generators/{ember-cli → ember}/init/templates/initializer.rb +0 -0
- metadata +14 -43
- data/lib/ember_cli/controller_extension.rb +0 -19
- data/lib/ember_cli/missing_manifest.rb +0 -11
- data/lib/ember_cli/sprockets.rb +0 -82
- data/lib/generators/ember-cli/init/USAGE +0 -8
@@ -5,16 +5,7 @@ module EmberCli
|
|
5
5
|
include Singleton
|
6
6
|
|
7
7
|
def app(name, **options)
|
8
|
-
if options.has_key? :build_timeout
|
9
|
-
deprecate_timeout
|
10
|
-
end
|
11
|
-
|
12
|
-
if options.has_key? :enable
|
13
|
-
deprecate_enable
|
14
|
-
end
|
15
|
-
|
16
8
|
app = App.new(name, options)
|
17
|
-
app.sprockets.register!
|
18
9
|
apps.store(name, app)
|
19
10
|
end
|
20
11
|
|
@@ -30,38 +21,14 @@ module EmberCli
|
|
30
21
|
@npm_path ||= Helpers.which("npm")
|
31
22
|
end
|
32
23
|
|
33
|
-
def
|
34
|
-
@
|
24
|
+
def tee_path
|
25
|
+
@tee_path ||= Helpers.which("tee")
|
35
26
|
end
|
36
27
|
|
37
|
-
def
|
38
|
-
|
28
|
+
def bundler_path
|
29
|
+
@bundler_path ||= Helpers.which("bundler")
|
39
30
|
end
|
40
31
|
|
41
32
|
attr_accessor :watcher
|
42
|
-
|
43
|
-
private
|
44
|
-
|
45
|
-
def deprecate_enable
|
46
|
-
warn <<-WARN.strip_heredoc
|
47
|
-
|
48
|
-
The `enable` lambda configuration has been removed.
|
49
|
-
|
50
|
-
Please read https://github.com/thoughtbot/ember-cli-rails/pull/261 for
|
51
|
-
details.
|
52
|
-
|
53
|
-
WARN
|
54
|
-
end
|
55
|
-
|
56
|
-
def deprecate_timeout
|
57
|
-
warn <<-WARN.strip_heredoc
|
58
|
-
|
59
|
-
The `build_timeout` configuration has been removed.
|
60
|
-
|
61
|
-
Please read https://github.com/thoughtbot/ember-cli-rails/pull/259 for
|
62
|
-
details.
|
63
|
-
|
64
|
-
WARN
|
65
|
-
end
|
66
33
|
end
|
67
34
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module EmberCli
|
2
|
+
class DirectoryAssetMap
|
3
|
+
def initialize(directory)
|
4
|
+
@directory = Pathname(directory)
|
5
|
+
end
|
6
|
+
|
7
|
+
def to_h
|
8
|
+
{
|
9
|
+
"assets" => files_with_data,
|
10
|
+
"prepend" => "assets/",
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
def files_with_data
|
15
|
+
files.reduce({}) do |manifest, file|
|
16
|
+
name = File.basename(file.path)
|
17
|
+
|
18
|
+
manifest[name] = name
|
19
|
+
|
20
|
+
manifest
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def files
|
27
|
+
@directory.children.map { |path| File.new(path) }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/ember_cli/engine.rb
CHANGED
@@ -5,20 +5,8 @@ module EmberCli
|
|
5
5
|
require "ember_cli/route_helpers"
|
6
6
|
end
|
7
7
|
|
8
|
-
initializer "ember-cli-rails.enable" do
|
9
|
-
EmberCli.enable! unless EmberCli.skip?
|
10
|
-
end
|
11
|
-
|
12
8
|
config.to_prepare do
|
13
9
|
ActionController::Base.helper EmberRailsHelper
|
14
10
|
end
|
15
|
-
|
16
|
-
config.after_initialize do
|
17
|
-
if defined?(ApplicationController)
|
18
|
-
require "ember_cli/controller_extension"
|
19
|
-
|
20
|
-
ApplicationController.include(EmberCli::ControllerExtension)
|
21
|
-
end
|
22
|
-
end
|
23
11
|
end
|
24
12
|
end
|
data/lib/ember_cli/path_set.rb
CHANGED
@@ -18,28 +18,28 @@ module EmberCli
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
def index_file
|
22
|
+
dist.join("index.html")
|
23
|
+
end
|
24
|
+
|
21
25
|
def tmp
|
22
26
|
@tmp ||= root.join("tmp").tap(&:mkpath)
|
23
27
|
end
|
24
28
|
|
25
29
|
def log
|
26
|
-
@log ||=
|
30
|
+
@log ||= logs.join("ember-#{app_name}.#{environment}.log")
|
27
31
|
end
|
28
32
|
|
29
33
|
def dist
|
30
34
|
@dist ||= ember_cli_root.join("apps", app_name).tap(&:mkpath)
|
31
35
|
end
|
32
36
|
|
33
|
-
def
|
34
|
-
@
|
35
|
-
end
|
36
|
-
|
37
|
-
def app_assets
|
38
|
-
@app_assets ||= assets.join(app_name)
|
37
|
+
def asset_map
|
38
|
+
@asset_map ||= Pathname.glob(assets.join("assetMap*.json")).first
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
42
|
-
@
|
41
|
+
def assets
|
42
|
+
@assets ||= dist.join("assets").tap(&:mkpath)
|
43
43
|
end
|
44
44
|
|
45
45
|
def gemfile
|
@@ -97,6 +97,10 @@ module EmberCli
|
|
97
97
|
@npm ||= app_options.fetch(:npm_path) { configuration.npm_path }
|
98
98
|
end
|
99
99
|
|
100
|
+
def tee
|
101
|
+
@tee ||= app_options.fetch(:tee_path) { configuration.tee_path }
|
102
|
+
end
|
103
|
+
|
100
104
|
def bundler
|
101
105
|
@bundler ||= app_options.fetch(:bundler_path) do
|
102
106
|
configuration.bundler_path
|
@@ -109,6 +113,10 @@ module EmberCli
|
|
109
113
|
|
110
114
|
delegate :name, :options, to: :app, prefix: true
|
111
115
|
|
116
|
+
def logs
|
117
|
+
rails_root.join("log").tap(&:mkpath)
|
118
|
+
end
|
119
|
+
|
112
120
|
def default_root
|
113
121
|
rails_root.join(app_name)
|
114
122
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require "ember_cli/
|
1
|
+
require "ember_cli/html_constraint"
|
2
2
|
|
3
3
|
module ActionDispatch
|
4
4
|
module Routing
|
@@ -14,10 +14,14 @@ module ActionDispatch
|
|
14
14
|
format: :html,
|
15
15
|
)
|
16
16
|
|
17
|
+
dist_directory = EmberCli[app_name].paths.dist
|
18
|
+
|
17
19
|
Rails.application.routes.draw do
|
18
|
-
scope constraints: EmberCli::
|
20
|
+
scope constraints: EmberCli::HtmlConstraint.new do
|
19
21
|
get("#{to}(*rest)", routing_options)
|
20
22
|
end
|
23
|
+
|
24
|
+
mount Rack::File.new(dist_directory.to_s) => to
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
data/lib/ember_cli/shell.rb
CHANGED
@@ -51,8 +51,12 @@ module EmberCli
|
|
51
51
|
attr_reader :ember, :env, :options, :paths
|
52
52
|
|
53
53
|
def spawn(command)
|
54
|
-
Kernel.spawn(
|
55
|
-
|
54
|
+
Kernel.spawn(
|
55
|
+
env,
|
56
|
+
command,
|
57
|
+
chdir: paths.root.to_s,
|
58
|
+
err: paths.build_error_file.to_s,
|
59
|
+
) || exit(1)
|
56
60
|
end
|
57
61
|
|
58
62
|
def exec(command)
|
data/lib/ember_cli/version.rb
CHANGED
@@ -2,7 +2,7 @@ module EmberCli
|
|
2
2
|
class HerokuGenerator < Rails::Generators::Base
|
3
3
|
source_root File.expand_path("../templates", __FILE__)
|
4
4
|
|
5
|
-
namespace "ember
|
5
|
+
namespace "ember:heroku"
|
6
6
|
|
7
7
|
def copy_package_json_file
|
8
8
|
template "package.json.erb", "package.json"
|
@@ -13,16 +13,6 @@ module EmberCli
|
|
13
13
|
run "chmod a+x bin/heroku_install"
|
14
14
|
end
|
15
15
|
|
16
|
-
def config_js_compressor
|
17
|
-
production_config = "config/environments/production.rb"
|
18
|
-
|
19
|
-
inject_into_file production_config, before: "end\n" do
|
20
|
-
<<-RUBY
|
21
|
-
config.assets.js_compressor = nil
|
22
|
-
RUBY
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
16
|
def inject_12factor_gem
|
27
17
|
gem "rails_12factor", group: [:staging, :production]
|
28
18
|
end
|
File without changes
|
File without changes
|
File without changes
|
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.6.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: 2015-12-
|
13
|
+
date: 2015-12-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: railties
|
@@ -32,48 +32,20 @@ dependencies:
|
|
32
32
|
- - "<"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '5'
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: non-stupid-digest-assets
|
37
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 1.0.0
|
42
|
-
type: :runtime
|
43
|
-
prerelease: false
|
44
|
-
version_requirements: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: 1.0.0
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: sprockets
|
51
|
-
requirement: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - ">="
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '2.0'
|
56
|
-
type: :runtime
|
57
|
-
prerelease: false
|
58
|
-
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '2.0'
|
63
35
|
- !ruby/object:Gem::Dependency
|
64
36
|
name: cocaine
|
65
37
|
requirement: !ruby/object:Gem::Requirement
|
66
38
|
requirements:
|
67
39
|
- - "~>"
|
68
40
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.5.
|
41
|
+
version: 0.5.8
|
70
42
|
type: :runtime
|
71
43
|
prerelease: false
|
72
44
|
version_requirements: !ruby/object:Gem::Requirement
|
73
45
|
requirements:
|
74
46
|
- - "~>"
|
75
47
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0.5.
|
48
|
+
version: 0.5.8
|
77
49
|
description:
|
78
50
|
email:
|
79
51
|
- pavel@pravosud.com
|
@@ -91,31 +63,30 @@ files:
|
|
91
63
|
- app/views/ember_cli/ember/index.html.erb
|
92
64
|
- lib/ember-cli-rails.rb
|
93
65
|
- lib/ember_cli/app.rb
|
66
|
+
- lib/ember_cli/asset_map.rb
|
94
67
|
- lib/ember_cli/assets.rb
|
95
68
|
- lib/ember_cli/build_monitor.rb
|
96
69
|
- lib/ember_cli/capture.rb
|
97
70
|
- lib/ember_cli/command.rb
|
98
71
|
- lib/ember_cli/configuration.rb
|
99
|
-
- lib/ember_cli/
|
100
|
-
- lib/ember_cli/controller_extension.rb
|
72
|
+
- lib/ember_cli/directory_asset_map.rb
|
101
73
|
- lib/ember_cli/engine.rb
|
102
74
|
- lib/ember_cli/errors.rb
|
103
75
|
- lib/ember_cli/helpers.rb
|
76
|
+
- lib/ember_cli/html_constraint.rb
|
104
77
|
- lib/ember_cli/html_page.rb
|
105
|
-
- lib/ember_cli/missing_manifest.rb
|
106
78
|
- lib/ember_cli/path_set.rb
|
107
79
|
- lib/ember_cli/route_helpers.rb
|
108
80
|
- lib/ember_cli/runner.rb
|
109
81
|
- lib/ember_cli/shell.rb
|
110
|
-
- lib/ember_cli/sprockets.rb
|
111
82
|
- lib/ember_cli/version.rb
|
112
|
-
- lib/generators/ember
|
113
|
-
- lib/generators/ember
|
114
|
-
- lib/generators/ember
|
115
|
-
- lib/generators/ember
|
116
|
-
- lib/generators/ember
|
117
|
-
- lib/generators/ember
|
118
|
-
- lib/generators/ember
|
83
|
+
- lib/generators/ember/heroku/USAGE
|
84
|
+
- lib/generators/ember/heroku/heroku_generator.rb
|
85
|
+
- lib/generators/ember/heroku/templates/bin_heroku_install.erb
|
86
|
+
- lib/generators/ember/heroku/templates/package.json.erb
|
87
|
+
- lib/generators/ember/init/USAGE
|
88
|
+
- lib/generators/ember/init/init_generator.rb
|
89
|
+
- lib/generators/ember/init/templates/initializer.rb
|
119
90
|
- lib/tasks/ember-cli.rake
|
120
91
|
homepage: https://github.com/thoughtbot/ember-cli-rails
|
121
92
|
licenses:
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module EmberCli
|
2
|
-
module ControllerExtension
|
3
|
-
def self.included(base)
|
4
|
-
build_ember_app = lambda do
|
5
|
-
app = params[:ember_app]
|
6
|
-
|
7
|
-
if app.present?
|
8
|
-
EmberCli[app].build
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
if base.respond_to?(:before_action)
|
13
|
-
base.before_action(&build_ember_app)
|
14
|
-
else
|
15
|
-
base.before_filter(&build_ember_app)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/ember_cli/sprockets.rb
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
require "sprockets"
|
2
|
-
require "ember_cli/errors"
|
3
|
-
require "non-stupid-digest-assets"
|
4
|
-
require "ember_cli/html_page"
|
5
|
-
require "ember_cli/missing_manifest"
|
6
|
-
require "ember_cli/assets"
|
7
|
-
|
8
|
-
module EmberCli
|
9
|
-
class Sprockets
|
10
|
-
class AssetPipelineError < BuildError; end
|
11
|
-
|
12
|
-
def initialize(app)
|
13
|
-
@app = app
|
14
|
-
end
|
15
|
-
|
16
|
-
def register!
|
17
|
-
register_or_raise!(Rails.configuration.assets.precompile)
|
18
|
-
register_or_raise!(NonStupidDigestAssets.whitelist)
|
19
|
-
end
|
20
|
-
|
21
|
-
def index_html(head:, body:)
|
22
|
-
html_page = HtmlPage.new(
|
23
|
-
content: app.index_file.read,
|
24
|
-
head: head,
|
25
|
-
body: body,
|
26
|
-
)
|
27
|
-
|
28
|
-
html_page.render
|
29
|
-
end
|
30
|
-
|
31
|
-
def javascript_assets
|
32
|
-
assets.javascripts
|
33
|
-
end
|
34
|
-
|
35
|
-
def stylesheet_assets
|
36
|
-
assets.stylesheets
|
37
|
-
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
attr_reader :app
|
42
|
-
|
43
|
-
def assets
|
44
|
-
Assets.new(
|
45
|
-
app_name: app.name,
|
46
|
-
ember_app_name: ember_app_name,
|
47
|
-
manifest: rails_manifest,
|
48
|
-
)
|
49
|
-
end
|
50
|
-
|
51
|
-
def ember_app_name
|
52
|
-
@ember_app_name ||= app.options.fetch(:name) { package_json.fetch(:name) }
|
53
|
-
end
|
54
|
-
|
55
|
-
def package_json
|
56
|
-
@package_json ||=
|
57
|
-
JSON.parse(app.paths.package_json_file.read).with_indifferent_access
|
58
|
-
end
|
59
|
-
|
60
|
-
def rails_manifest
|
61
|
-
if Rails.application.respond_to?(:assets_manifest)
|
62
|
-
Rails.application.assets_manifest
|
63
|
-
else
|
64
|
-
MissingManifest.new
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
def asset_matcher
|
69
|
-
%r{\A#{app.name}/}
|
70
|
-
end
|
71
|
-
|
72
|
-
def register_or_raise!(precompiled_assets)
|
73
|
-
if precompiled_assets.include?(asset_matcher)
|
74
|
-
raise AssetPipelineError.new <<-MSG.strip_heredoc
|
75
|
-
EmberCLI application #{app.name.inspect} already registered!
|
76
|
-
MSG
|
77
|
-
else
|
78
|
-
precompiled_assets << asset_matcher
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|