ember-cli-rails 0.5.8 → 0.6.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 +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
|