jekyll-minibundle 1.4.3 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Rakefile +1 -1
- data/lib/jekyll/minibundle/asset_file_registry.rb +1 -1
- data/lib/jekyll/minibundle/asset_stamp.rb +1 -1
- data/lib/jekyll/minibundle/bundle_file.rb +6 -6
- data/lib/jekyll/minibundle/development_file_collection.rb +5 -5
- data/lib/jekyll/minibundle/environment.rb +1 -3
- data/lib/jekyll/minibundle/mini_bundle_block.rb +1 -1
- data/lib/jekyll/minibundle/mini_stamp_tag.rb +1 -1
- data/lib/jekyll/minibundle/version.rb +1 -1
- data/test/integration/minibundle_development_mode_test.rb +4 -4
- data/test/support/test_case.rb +1 -1
- 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: 27c6e3e700c2d0f5767edcebbb8df218df565536
|
4
|
+
data.tar.gz: 1fc68af34209d4556fcb726088fca486a318a33a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c68cdff97eecd9343ea90498ff73e0c04987ef7020ee360d0c9a7c74d28782877e996cedd3e8ab8d1cdfbc5a9279bc8b18842c34a62d5206ff7320b46a056563
|
7
|
+
data.tar.gz: 6f6873bc41f2bfde2e7d38b5e4091672fb3a59cff7d026e2d18580ea706527920c035c5b27d6833773ebdce9eeb2d4687b76aebab42b0b02317d00ac3613a230
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# 1.4.4 / 2014-01-16
|
2
|
+
|
3
|
+
* Conserve memory when calculating fingerprint for an asset.
|
4
|
+
Previously, we read the whole asset file into memory and then
|
5
|
+
calculated the MD5 digest. This is bad for big assets. Now, we read
|
6
|
+
the file in chunks.
|
7
|
+
|
1
8
|
# 1.4.3 / 2014-01-16
|
2
9
|
|
3
10
|
* Do not leak read pipe file descriptor upon minifier command failure
|
data/Rakefile
CHANGED
@@ -42,7 +42,7 @@ end
|
|
42
42
|
|
43
43
|
desc 'Run tests; envars: tests=<test_path> to select a particular suite, debug=1 to require Pry and PP'
|
44
44
|
task :test do
|
45
|
-
glob = ENV
|
45
|
+
glob = ENV.fetch('tests', 'test/{unit,integration}/*_test.rb')
|
46
46
|
files = Dir[glob].
|
47
47
|
map { |file| %r{^test/(.+)\.rb$}.match(file)[1] }.
|
48
48
|
shelljoin
|
@@ -11,7 +11,7 @@ module Jekyll::Minibundle
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def bundle_file(config)
|
14
|
-
asset_destination_path = "#{config
|
14
|
+
asset_destination_path = "#{config.fetch('destination_path')}.#{config.fetch('type')}"
|
15
15
|
@_instances[asset_destination_path] ||= register_bundle_file(config)
|
16
16
|
end
|
17
17
|
|
@@ -8,12 +8,12 @@ module Jekyll::Minibundle
|
|
8
8
|
include AssetFileOperations
|
9
9
|
|
10
10
|
def initialize(config)
|
11
|
-
@type = config
|
12
|
-
@site_source_dir = config
|
13
|
-
asset_source_dir = File.join(@site_source_dir, config
|
14
|
-
@assets = config
|
15
|
-
@destination_path = config
|
16
|
-
@attributes = config
|
11
|
+
@type = config.fetch('type')
|
12
|
+
@site_source_dir = config.fetch('site_dir')
|
13
|
+
asset_source_dir = File.join(@site_source_dir, config.fetch('source_dir'))
|
14
|
+
@assets = config.fetch('assets').map { |asset_path| File.join(asset_source_dir, "#{asset_path}.#{@type}") }
|
15
|
+
@destination_path = config.fetch('destination_path')
|
16
|
+
@attributes = config.fetch('attributes')
|
17
17
|
@stamped_at = nil
|
18
18
|
@is_modified = false
|
19
19
|
end
|
@@ -4,18 +4,18 @@ require 'jekyll/minibundle/development_file'
|
|
4
4
|
module Jekyll::Minibundle
|
5
5
|
class DevelopmentFileCollection
|
6
6
|
def initialize(config)
|
7
|
-
@type = config
|
8
|
-
asset_source_dir = File.join(config
|
9
|
-
destination_path = config
|
7
|
+
@type = config.fetch('type')
|
8
|
+
asset_source_dir = File.join(config.fetch('site_dir'), config.fetch('source_dir'))
|
9
|
+
destination_path = config.fetch('destination_path')
|
10
10
|
|
11
|
-
@files = config
|
11
|
+
@files = config.fetch('assets').map do |asset_path|
|
12
12
|
asset_basename = "#{asset_path}.#{@type}"
|
13
13
|
asset_source = File.join(asset_source_dir, asset_basename)
|
14
14
|
asset_destination = File.join(destination_path, asset_basename)
|
15
15
|
DevelopmentFile.new(asset_source, asset_destination)
|
16
16
|
end
|
17
17
|
|
18
|
-
@attributes = config
|
18
|
+
@attributes = config.fetch('attributes')
|
19
19
|
end
|
20
20
|
|
21
21
|
def static_file!(site)
|
@@ -3,9 +3,7 @@ module Jekyll::Minibundle
|
|
3
3
|
class << self
|
4
4
|
def command_for(type)
|
5
5
|
key = "JEKYLL_MINIBUNDLE_CMD_#{type.upcase}"
|
6
|
-
|
7
|
-
fail "You need to set command for minification in $#{key}" if !cmd
|
8
|
-
cmd
|
6
|
+
ENV.fetch(key) { fail "You need to set command for minification in $#{key}" }
|
9
7
|
end
|
10
8
|
|
11
9
|
def development?
|
@@ -9,7 +9,7 @@ module Jekyll::Minibundle
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def render(context)
|
12
|
-
site = context.registers
|
12
|
+
site = context.registers.fetch(:site)
|
13
13
|
config = get_current_config(YAML.load(super), site)
|
14
14
|
file = AssetFileRegistry.bundle_file(config)
|
15
15
|
file.static_file!(site)
|
@@ -8,7 +8,7 @@ module Jekyll::Minibundle
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def render(context)
|
11
|
-
site = context.registers
|
11
|
+
site = context.registers.fetch(:site)
|
12
12
|
file = AssetFileRegistry.stamp_file(File.join(site.source, @asset_source), @asset_destination)
|
13
13
|
file.static_file!(site)
|
14
14
|
file.markup
|
@@ -54,13 +54,13 @@ module Jekyll::Minibundle::Test
|
|
54
54
|
{desc: "changing", action: ->(source) { File.write(source, 'h1 {}') }},
|
55
55
|
{desc: "touching", action: ->(source) { FileUtils.touch(source) }}
|
56
56
|
].each do |spec|
|
57
|
-
define_method :"test_#{spec
|
57
|
+
define_method :"test_#{spec.fetch(:desc)}_css_asset_source_rewrites_destination" do
|
58
58
|
with_site do
|
59
59
|
generate_site(:development)
|
60
60
|
destination = destination_path(CSS_BUNDLE_DESTINATION_PATH, 'common.css')
|
61
61
|
org_mtime = mtime_of(destination)
|
62
62
|
source = source_path(CSS_BUNDLE_SOURCE_DIR, 'common.css')
|
63
|
-
ensure_file_mtime_changes { spec
|
63
|
+
ensure_file_mtime_changes { spec.fetch(:action).call(source) }
|
64
64
|
generate_site(:development, clear_cache: false)
|
65
65
|
|
66
66
|
assert_equal File.read(destination), File.read(source)
|
@@ -73,13 +73,13 @@ module Jekyll::Minibundle::Test
|
|
73
73
|
{desc: "changing", action: ->(source) { File.write(source, '(function() {})()') }},
|
74
74
|
{desc: "touching", action: ->(source) { FileUtils.touch(source) }}
|
75
75
|
].each do |spec|
|
76
|
-
define_method :"test_#{spec
|
76
|
+
define_method :"test_#{spec.fetch(:desc)}_js_asset_source_rewrites_destination" do
|
77
77
|
with_site do
|
78
78
|
generate_site(:development)
|
79
79
|
destination = destination_path(JS_BUNDLE_DESTINATION_PATH, 'app.js')
|
80
80
|
org_mtime = mtime_of(destination)
|
81
81
|
source = source_path(JS_BUNDLE_SOURCE_DIR, 'app.js')
|
82
|
-
ensure_file_mtime_changes { spec
|
82
|
+
ensure_file_mtime_changes { spec.fetch(:action).call(source) }
|
83
83
|
generate_site(:development, clear_cache: false)
|
84
84
|
|
85
85
|
assert_equal File.read(destination), File.read(source)
|
data/test/support/test_case.rb
CHANGED
@@ -108,7 +108,7 @@ module Jekyll::Minibundle::Test
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def _generate_site(test_options)
|
111
|
-
AssetFileRegistry.clear if test_options
|
111
|
+
AssetFileRegistry.clear if test_options.fetch(:clear_cache)
|
112
112
|
|
113
113
|
capture_io do
|
114
114
|
Jekyll::Site.new(Jekyll.configuration(TestCase.site_generation_jekyll_options)).process
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-minibundle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tuomas Kareinen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|