sewing_kit 0.6.2 → 0.7.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/lib/sewing_kit/version.rb +1 -1
- data/lib/sewing_kit/webpack/helper.rb +13 -17
- data/lib/sewing_kit/webpack/manifest.rb +25 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 414255f60aa685249721e994b55a325c2651c46a
|
4
|
+
data.tar.gz: e30a4f36e0b77439df7f0195b8332716b464e712
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3eaed1acd08aeb49ca206c5e8f324bdff9b5e3f8d457771959122e51716cf3fda9e0ab1fdd4f6695f9eec51f2e17938baf17994ca20601bb5dde539789c9adaa
|
7
|
+
data.tar.gz: 0d312b594a84f4de70e9a73712ca8dd07e69ae7f16452849b16f24cfdee8b0b9b8ce5491af2caa7a065fb2cd9a1d99bda40680467338bbb76b79508baf8ad29f
|
data/lib/sewing_kit/version.rb
CHANGED
@@ -10,22 +10,24 @@ module SewingKit
|
|
10
10
|
class UnknownJavaScriptAssetError < StandardError
|
11
11
|
end
|
12
12
|
|
13
|
-
def sewing_kit_asset_paths(
|
14
|
-
return '' unless
|
15
|
-
return '/webpack/assets/dll/vendor.js' if serve_development_asests? && 'vendor' == source && extension == 'js'
|
13
|
+
def sewing_kit_asset_paths(entrypointName, extension: 'js')
|
14
|
+
return '' unless entrypointName.present?
|
16
15
|
|
17
|
-
paths = SewingKit::Webpack::Manifest.asset_paths(
|
18
|
-
return '' unless paths[extension]
|
16
|
+
paths = SewingKit::Webpack::Manifest.asset_paths(entrypointName)
|
17
|
+
return '' unless paths && paths[extension]
|
19
18
|
|
20
|
-
|
19
|
+
entryPaths = paths[extension]
|
20
|
+
if serve_development_assets? && extension == 'js'
|
21
|
+
entryPaths.unshift('/webpack/assets/dll/vendor.js')
|
22
|
+
end
|
23
|
+
entryPaths
|
21
24
|
end
|
22
25
|
|
23
26
|
def sewing_kit_link_tag(*paths)
|
24
|
-
return '' unless serve_compiled_assets?
|
25
|
-
|
26
27
|
options = paths.extract_options!
|
27
28
|
|
28
29
|
tags = paths.uniq.map { |path|
|
30
|
+
next '' if path == ''
|
29
31
|
create_asset_tag(:link, path, options)
|
30
32
|
}
|
31
33
|
|
@@ -36,9 +38,7 @@ module SewingKit
|
|
36
38
|
options = paths.extract_options!
|
37
39
|
|
38
40
|
tags = paths.uniq.map { |path|
|
39
|
-
if path == ''
|
40
|
-
next ''
|
41
|
-
end
|
41
|
+
next '' if path == ''
|
42
42
|
|
43
43
|
create_asset_tag(:script, path, options)
|
44
44
|
}
|
@@ -79,12 +79,8 @@ module SewingKit
|
|
79
79
|
path.rpartition('-').last.split('.').first
|
80
80
|
end
|
81
81
|
|
82
|
-
def
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
def serve_development_asests?
|
87
|
-
return false if serve_compiled_assets?
|
82
|
+
def serve_development_assets?
|
83
|
+
return false if ENV['SK_SIMULATE_PRODUCTION'] == '1'
|
88
84
|
Rails.env.development?
|
89
85
|
end
|
90
86
|
end
|
@@ -11,43 +11,54 @@ module SewingKit
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
class LegacyManifestError < StandardError
|
15
|
+
def initialize(manifest)
|
16
|
+
super "manifest must contain 'entrypoints' key (found: #{manifest})"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
14
20
|
class << self
|
15
21
|
# :nodoc:
|
16
|
-
def asset_paths(
|
17
|
-
|
18
|
-
paths || {}
|
22
|
+
def asset_paths(entrypointName)
|
23
|
+
metadata['entrypoints'][entrypointName]
|
19
24
|
end
|
20
25
|
|
21
26
|
def clear_cache!
|
22
|
-
@
|
23
|
-
@
|
27
|
+
@metadata = nil
|
28
|
+
@metadata_expiry_time = nil
|
24
29
|
end
|
25
30
|
|
26
31
|
def manifest
|
32
|
+
metadata['assets']
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def metadata
|
27
38
|
if ::Rails.env.production?
|
28
39
|
# Cache at class level, as JSON loading/parsing can be expensive.
|
29
|
-
@
|
40
|
+
@metadata ||= load_metadata
|
30
41
|
else
|
31
42
|
# In development, the manifest may change.
|
32
43
|
# A short cache lifetime avoids time consuming node callouts.
|
33
|
-
if self.instance_variable_defined?('@
|
34
|
-
@
|
44
|
+
if self.instance_variable_defined?('@metadata_expiry_time') && @metadata_expiry_time && @metadata_expiry_time >= Time.now
|
45
|
+
@metadata
|
35
46
|
else
|
36
|
-
@
|
37
|
-
@
|
47
|
+
@metadata = load_metadata
|
48
|
+
@metadata_expiry_time = Time.now + 4
|
38
49
|
end
|
39
50
|
end
|
40
51
|
|
41
|
-
@
|
42
|
-
end
|
52
|
+
raise LegacyManifestError.new(@metadata) if !@metadata['entrypoints']
|
43
53
|
|
44
|
-
|
54
|
+
@metadata
|
55
|
+
end
|
45
56
|
|
46
57
|
def manifest_bundled?
|
47
58
|
!manifest["errors"].any? { |error| error.include? "Module build failed" }
|
48
59
|
end
|
49
60
|
|
50
|
-
def
|
61
|
+
def load_metadata
|
51
62
|
JSON.parse(`node_modules/.bin/sewing-kit manifest --mode #{mode}`)
|
52
63
|
rescue => e
|
53
64
|
raise ManifestLoadError.new("Could not load compiled manifest - have you run `rake sewing_kit:build`?", e)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sewing_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Sauve
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|