ember-cli-rails-assets 0.7.0 → 0.8.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/README.md +5 -4
- data/app/helpers/ember_cli_rails_assets_helper.rb +43 -6
- data/lib/ember_cli/assets/engine.rb +0 -3
- data/lib/ember_cli/assets/paths.rb +9 -0
- data/lib/ember_cli/assets/version.rb +1 -1
- metadata +6 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 56b0e51245621258b937d06d80ec8a579a0a79757d82ca48543c6140a831a557
|
|
4
|
+
data.tar.gz: c3e66e4300881a1627db2ef33e89cd4814a3cb9aaba1f664113bd3dd5caf3ba0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e11ac7ab0892ee54e8c6de2e0bf410db8596de9e45efd40658bd6c5c2803ddb3a9eee354730327644f9445063e041f502415280d1ac93fd0de54eb697cfb07a1
|
|
7
|
+
data.tar.gz: 6d5cbfadca8796f9596eaa67d5c8c3a9a6c36a45ea3f5751606ac617ea025064861210cebd97f04bf2ff14b65d202c049645577c08220da5bd3acf476f06a535
|
data/README.md
CHANGED
|
@@ -12,7 +12,7 @@ actively supported method of serving EmberCLI applications.
|
|
|
12
12
|
However, for the sake of backwards compatibility, `ember-cli-rails-assets`
|
|
13
13
|
supports injecting the EmberCLI-generated assets into an existing Rails layout.
|
|
14
14
|
|
|
15
|
-
[ember-cli-rails]: https://github.com/
|
|
15
|
+
[ember-cli-rails]: https://github.com/tricknotes/ember-cli-rails
|
|
16
16
|
|
|
17
17
|
## Install
|
|
18
18
|
|
|
@@ -52,7 +52,7 @@ module.exports = function(defaults) {
|
|
|
52
52
|
};
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
[README]: https://github.com/
|
|
55
|
+
[README]: https://github.com/tricknotes/ember-cli-rails#readme
|
|
56
56
|
|
|
57
57
|
## Mount
|
|
58
58
|
|
|
@@ -141,7 +141,7 @@ See the [CONTRIBUTING] document.
|
|
|
141
141
|
Thank you, [contributors]!
|
|
142
142
|
|
|
143
143
|
[CONTRIBUTING]: CONTRIBUTING.md
|
|
144
|
-
[contributors]: https://github.com/
|
|
144
|
+
[contributors]: https://github.com/tricknotes/ember-cli-rails-assets/graphs/contributors
|
|
145
145
|
|
|
146
146
|
## License
|
|
147
147
|
|
|
@@ -158,8 +158,9 @@ ember-cli-rails was originally created by
|
|
|
158
158
|
[Jonathan Jackson][rondale-sc].
|
|
159
159
|
|
|
160
160
|
ember-cli-rails-assets was extracted from ember-cli-rails is maintained by
|
|
161
|
-
[Sean Doyle][seanpdoyle].
|
|
161
|
+
[Sean Doyle][seanpdoyle] and [Ryunosuke Sato][tricknotes].
|
|
162
162
|
|
|
163
163
|
[rwz]: https://github.com/rwz
|
|
164
164
|
[rondale-sc]: https://github.com/rondale-sc
|
|
165
165
|
[seanpdoyle]: https://github.com/seanpdoyle
|
|
166
|
+
[tricknotes]: https://github.com/tricknotes
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
require "ember_cli/assets/lookup"
|
|
2
|
+
require "ember_cli/assets/paths"
|
|
2
3
|
|
|
3
4
|
module EmberCliRailsAssetsHelper
|
|
4
5
|
def include_ember_script_tags(name, prepend: "")
|
|
5
|
-
EmberCli[name]
|
|
6
|
+
app = EmberCli[name]
|
|
7
|
+
app.build
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
paths = EmberCli::Assets::Paths.new(app)
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if paths.vite?
|
|
12
|
+
vite_ember_script_tags(paths, prepend)
|
|
13
|
+
else
|
|
14
|
+
classic_ember_script_tags(app, prepend)
|
|
15
|
+
end
|
|
13
16
|
end
|
|
14
17
|
|
|
15
18
|
def include_ember_stylesheet_tags(name, prepend: "")
|
|
@@ -22,4 +25,38 @@ module EmberCliRailsAssetsHelper
|
|
|
22
25
|
map { |src| %{<link rel="stylesheet" href="#{src}">}.html_safe }.
|
|
23
26
|
inject(&:+)
|
|
24
27
|
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
# Classic builds ship a fixed set of scripts (vendor and app) resolved
|
|
32
|
+
# through the asset map, so emit a plain script tag per JavaScript asset
|
|
33
|
+
# with `prepend` joined onto each path.
|
|
34
|
+
def classic_ember_script_tags(app, prepend)
|
|
35
|
+
assets = EmberCli::Assets::Lookup.new(app)
|
|
36
|
+
|
|
37
|
+
assets.javascript_assets.
|
|
38
|
+
map { |src| [prepend, src].join }.
|
|
39
|
+
map { |src| %{<script src="#{src}"></script>}.html_safe }.
|
|
40
|
+
inject(&:+)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Vite builds boot from ES modules declared in dist/index.html, so extract
|
|
44
|
+
# the tags required for startup (including the config meta tag and
|
|
45
|
+
# stylesheets) and remap root-absolute paths onto the mount point.
|
|
46
|
+
def vite_ember_script_tags(paths, prepend)
|
|
47
|
+
document = Nokogiri::HTML5(paths.index_html.read)
|
|
48
|
+
prefix = prepend.to_s.chomp("/")
|
|
49
|
+
|
|
50
|
+
tags = document.css(
|
|
51
|
+
'meta[name$="/config/environment"], link[rel="stylesheet"], link[rel="modulepreload"], script'
|
|
52
|
+
).map do |tag|
|
|
53
|
+
%w(href src).each do |attribute|
|
|
54
|
+
value = tag[attribute]
|
|
55
|
+
tag[attribute] = "#{prefix}#{value}" if value&.start_with?("/")
|
|
56
|
+
end
|
|
57
|
+
tag.to_html.html_safe
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
safe_join(tags, "\n")
|
|
61
|
+
end
|
|
25
62
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require "nokogiri"
|
|
2
|
+
|
|
1
3
|
module EmberCli
|
|
2
4
|
module Assets
|
|
3
5
|
class Paths
|
|
@@ -21,6 +23,13 @@ module EmberCli
|
|
|
21
23
|
app.dist_path.join("index.html")
|
|
22
24
|
end
|
|
23
25
|
|
|
26
|
+
# Vite builds (ember-cli >= 6.8) boot from ES modules in index.html,
|
|
27
|
+
# while classic builds emit plain script tags.
|
|
28
|
+
def vite?
|
|
29
|
+
index_html.exist? &&
|
|
30
|
+
!Nokogiri::HTML5(index_html.read).at_css('script[type="module"]').nil?
|
|
31
|
+
end
|
|
32
|
+
|
|
24
33
|
protected
|
|
25
34
|
|
|
26
35
|
attr_reader :app
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ember-cli-rails-assets
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Doyle
|
|
8
|
-
|
|
8
|
+
- Ryunosuke Sato
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|
|
@@ -28,6 +28,7 @@ description: Include EmberCLI-generated JavaScript and CSS stylesheet tags in yo
|
|
|
28
28
|
Rails layouts
|
|
29
29
|
email:
|
|
30
30
|
- sean.p.doyle24@gmail.com
|
|
31
|
+
- tricknotes.rs@gmail.com
|
|
31
32
|
executables: []
|
|
32
33
|
extensions: []
|
|
33
34
|
extra_rdoc_files: []
|
|
@@ -43,11 +44,10 @@ files:
|
|
|
43
44
|
- lib/ember_cli/assets/lookup.rb
|
|
44
45
|
- lib/ember_cli/assets/paths.rb
|
|
45
46
|
- lib/ember_cli/assets/version.rb
|
|
46
|
-
homepage: https://github.com/
|
|
47
|
+
homepage: https://github.com/tricknotes/ember-cli-rails-assets
|
|
47
48
|
licenses:
|
|
48
49
|
- MIT
|
|
49
50
|
metadata: {}
|
|
50
|
-
post_install_message:
|
|
51
51
|
rdoc_options: []
|
|
52
52
|
require_paths:
|
|
53
53
|
- lib
|
|
@@ -62,8 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
62
62
|
- !ruby/object:Gem::Version
|
|
63
63
|
version: '0'
|
|
64
64
|
requirements: []
|
|
65
|
-
rubygems_version:
|
|
66
|
-
signing_key:
|
|
65
|
+
rubygems_version: 4.0.16
|
|
67
66
|
specification_version: 4
|
|
68
67
|
summary: Include EmberCLI-generated JavaScript and CSS stylesheet tags in your Rails
|
|
69
68
|
layouts
|