coyote 1.2.0.rc1 → 1.2.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.travis.yml +10 -0
- data/Gemfile +2 -1
- data/README.md +2 -1
- data/Rakefile +1 -37
- data/lib/coyote/version.rb +1 -1
- metadata +77 -59
- data/Manifest +0 -93
- data/coyote.gemspec +0 -42
- data/lib/coyote/asset.rb +0 -53
- data/lib/coyote/bundle.rb +0 -126
- data/lib/coyote/fs_listener.rb +0 -76
- data/lib/coyote/notifications.rb +0 -22
- data/spec/assets/bundles/base/output.js +0 -3
- data/spec/assets/compiler/javascript/output.js +0 -3
- data/spec/assets/integration/javascript/output.js +0 -3
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
COYOTE
|
2
2
|
=============
|
3
3
|
|
4
|
+
|
4
5
|
##A speedy tool for combining and compressing your JavaScript, CoffeeScript, CSS and LESS source files.
|
5
6
|
|
6
7
|
Coyote combines your source files into a single script or stylesheet to reduce HTTP overhead and make development easier. It has built-in support for <a href="https://github.com/sstephenson/sprockets">Sprockets-style</a> dependency syntax (`#= require x`) and a lightning-fast, built-in watch mechanism to detect changes to your source files and recompile on the fly. For increased optimization, you can optionally run the final compilation through the Google Closure Compiler before save.
|
7
8
|
|
8
|
-
|
9
|
+
[![Build Status](https://secure.travis-ci.org/imulus/coyote.png)](http://travis-ci.org/imulus/coyote)
|
9
10
|
|
10
11
|
|
11
12
|
###Installation
|
data/Rakefile
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require 'rbconfig'
|
3
2
|
require 'rake'
|
4
|
-
require 'echoe'
|
5
3
|
|
6
4
|
$: << File.expand_path(File.dirname(__FILE__) + "/lib")
|
7
5
|
require 'coyote'
|
@@ -10,38 +8,4 @@ task :default => :spec
|
|
10
8
|
|
11
9
|
task :spec do
|
12
10
|
sh "rspec ."
|
13
|
-
end
|
14
|
-
|
15
|
-
Echoe.new('coyote', Coyote::VERSION) do |p|
|
16
|
-
p.description = "A speedy tool for combining and compressing your JavaScript, CoffeeScript, CSS and LESS source files."
|
17
|
-
p.summary = "Coyote combines your source files into a single script or stylesheet to reduce HTTP overhead and make development easier. It has built-in support for Sprockets-style dependency syntax (`#= require x`) and a lightning-fast, built-in watch mechanism to detect changes to your source files and recompile on the fly. For increased optimization, you can optionally run the final compilation through the Google Closure Compiler before save."
|
18
|
-
p.url = "http://github.com/imulus/coyote"
|
19
|
-
p.author = "Imulus"
|
20
|
-
p.email = "developer@imulus.com"
|
21
|
-
p.ignore_pattern = ["./spec/*", "./tmp/*", "./test/*"]
|
22
|
-
|
23
|
-
dependencies = Array.new
|
24
|
-
target_os = Config::CONFIG['target_os']
|
25
|
-
|
26
|
-
if target_os =~ /darwin/i
|
27
|
-
dependencies << "rb-fsevent >=0.4.0"
|
28
|
-
dependencies << "colored >=1.2"
|
29
|
-
elsif target_os =~ /linux/i
|
30
|
-
dependencies << "rb-inotify >=0.8.4"
|
31
|
-
elsif target_os =~ /mswin|mingw/i
|
32
|
-
dependencies << "rb-fchange >=0.0.5"
|
33
|
-
end
|
34
|
-
|
35
|
-
p.development_dependencies = dependencies
|
36
|
-
p.runtime_dependencies = dependencies
|
37
|
-
end
|
38
|
-
|
39
|
-
task :build do
|
40
|
-
`rake manifest`
|
41
|
-
`rake build_gemspec`
|
42
|
-
`gem build coyote.gemspec`
|
43
|
-
end
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
11
|
+
end
|
data/lib/coyote/version.rb
CHANGED
metadata
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coyote
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.0.
|
4
|
+
version: 1.2.0.rc2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Imulus
|
9
|
+
- Casey O'Hara
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
@@ -13,7 +14,7 @@ date: 2012-06-11 00:00:00.000000000Z
|
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: rb-fsevent
|
16
|
-
requirement: &
|
17
|
+
requirement: &2165746400 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - ! '>='
|
@@ -21,10 +22,10 @@ dependencies:
|
|
21
22
|
version: 0.4.0
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
+
version_requirements: *2165746400
|
25
26
|
- !ruby/object:Gem::Dependency
|
26
27
|
name: colored
|
27
|
-
requirement: &
|
28
|
+
requirement: &2165745880 !ruby/object:Gem::Requirement
|
28
29
|
none: false
|
29
30
|
requirements:
|
30
31
|
- - ! '>='
|
@@ -32,10 +33,10 @@ dependencies:
|
|
32
33
|
version: '1.2'
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
+
version_requirements: *2165745880
|
36
37
|
- !ruby/object:Gem::Dependency
|
37
38
|
name: rb-fsevent
|
38
|
-
requirement: &
|
39
|
+
requirement: &2165745400 !ruby/object:Gem::Requirement
|
39
40
|
none: false
|
40
41
|
requirements:
|
41
42
|
- - ! '>='
|
@@ -43,10 +44,10 @@ dependencies:
|
|
43
44
|
version: 0.4.0
|
44
45
|
type: :development
|
45
46
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
+
version_requirements: *2165745400
|
47
48
|
- !ruby/object:Gem::Dependency
|
48
49
|
name: colored
|
49
|
-
requirement: &
|
50
|
+
requirement: &2165744900 !ruby/object:Gem::Requirement
|
50
51
|
none: false
|
51
52
|
requirements:
|
52
53
|
- - ! '>='
|
@@ -54,58 +55,31 @@ dependencies:
|
|
54
55
|
version: '1.2'
|
55
56
|
type: :development
|
56
57
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
+
version_requirements: *2165744900
|
58
59
|
description: A speedy tool for combining and compressing your JavaScript, CoffeeScript,
|
59
60
|
CSS and LESS source files.
|
60
|
-
email:
|
61
|
+
email:
|
62
|
+
- developer@imulus.com
|
63
|
+
- casey.ohara@imulus.com
|
61
64
|
executables:
|
62
65
|
- coyote
|
63
66
|
extensions: []
|
64
|
-
extra_rdoc_files:
|
65
|
-
- README.md
|
66
|
-
- bin/coyote
|
67
|
-
- lib/coyote.rb
|
68
|
-
- lib/coyote/asset.rb
|
69
|
-
- lib/coyote/assets.rb
|
70
|
-
- lib/coyote/assets/base.rb
|
71
|
-
- lib/coyote/assets/coffeescript.rb
|
72
|
-
- lib/coyote/assets/javascript.rb
|
73
|
-
- lib/coyote/assets/less.rb
|
74
|
-
- lib/coyote/bundle.rb
|
75
|
-
- lib/coyote/bundles.rb
|
76
|
-
- lib/coyote/bundles/base.rb
|
77
|
-
- lib/coyote/bundles/css.rb
|
78
|
-
- lib/coyote/bundles/javascript.rb
|
79
|
-
- lib/coyote/cli.rb
|
80
|
-
- lib/coyote/closure_compiler.rb
|
81
|
-
- lib/coyote/compiler.rb
|
82
|
-
- lib/coyote/dsl.rb
|
83
|
-
- lib/coyote/fs_listener.rb
|
84
|
-
- lib/coyote/fs_listeners.rb
|
85
|
-
- lib/coyote/fs_listeners/base.rb
|
86
|
-
- lib/coyote/fs_listeners/darwin.rb
|
87
|
-
- lib/coyote/fs_listeners/linux.rb
|
88
|
-
- lib/coyote/fs_listeners/polling.rb
|
89
|
-
- lib/coyote/fs_listeners/windows.rb
|
90
|
-
- lib/coyote/notifications.rb
|
91
|
-
- lib/coyote/notifier.rb
|
92
|
-
- lib/coyote/rake.rb
|
93
|
-
- lib/coyote/version.rb
|
67
|
+
extra_rdoc_files: []
|
94
68
|
files:
|
69
|
+
- .gitignore
|
70
|
+
- .rspec
|
71
|
+
- .travis.yml
|
95
72
|
- Gemfile
|
96
73
|
- Guardfile
|
97
74
|
- README.md
|
98
75
|
- Rakefile
|
99
76
|
- bin/coyote
|
100
|
-
- coyote.gemspec
|
101
77
|
- lib/coyote.rb
|
102
|
-
- lib/coyote/asset.rb
|
103
78
|
- lib/coyote/assets.rb
|
104
79
|
- lib/coyote/assets/base.rb
|
105
80
|
- lib/coyote/assets/coffeescript.rb
|
106
81
|
- lib/coyote/assets/javascript.rb
|
107
82
|
- lib/coyote/assets/less.rb
|
108
|
-
- lib/coyote/bundle.rb
|
109
83
|
- lib/coyote/bundles.rb
|
110
84
|
- lib/coyote/bundles/base.rb
|
111
85
|
- lib/coyote/bundles/css.rb
|
@@ -114,14 +88,12 @@ files:
|
|
114
88
|
- lib/coyote/closure_compiler.rb
|
115
89
|
- lib/coyote/compiler.rb
|
116
90
|
- lib/coyote/dsl.rb
|
117
|
-
- lib/coyote/fs_listener.rb
|
118
91
|
- lib/coyote/fs_listeners.rb
|
119
92
|
- lib/coyote/fs_listeners/base.rb
|
120
93
|
- lib/coyote/fs_listeners/darwin.rb
|
121
94
|
- lib/coyote/fs_listeners/linux.rb
|
122
95
|
- lib/coyote/fs_listeners/polling.rb
|
123
96
|
- lib/coyote/fs_listeners/windows.rb
|
124
|
-
- lib/coyote/notifications.rb
|
125
97
|
- lib/coyote/notifier.rb
|
126
98
|
- lib/coyote/rake.rb
|
127
99
|
- lib/coyote/version.rb
|
@@ -152,7 +124,6 @@ files:
|
|
152
124
|
- spec/assets/bundles/base/directory1/directory1_script.js
|
153
125
|
- spec/assets/bundles/base/directory1/directory2/directory2_script.js
|
154
126
|
- spec/assets/bundles/base/jquery.js
|
155
|
-
- spec/assets/bundles/base/output.js
|
156
127
|
- spec/assets/bundles/base/script1.js
|
157
128
|
- spec/assets/bundles/base/script2.js
|
158
129
|
- spec/assets/bundles/base/script3.js
|
@@ -163,10 +134,8 @@ files:
|
|
163
134
|
- spec/assets/bundles/css/weird_file.asdf
|
164
135
|
- spec/assets/bundles/javascript/script1.js
|
165
136
|
- spec/assets/bundles/javascript/weird_file.asdf
|
166
|
-
- spec/assets/compiler/javascript/output.js
|
167
137
|
- spec/assets/compiler/javascript/script3.js
|
168
138
|
- spec/assets/compiler/javascript/script4.js
|
169
|
-
- spec/assets/integration/javascript/output.js
|
170
139
|
- spec/assets/integration/javascript/script1.js
|
171
140
|
- spec/assets/integration/javascript/script2.js
|
172
141
|
- spec/coyote/assets/base_spec.rb
|
@@ -184,17 +153,10 @@ files:
|
|
184
153
|
- spec/coyote/notifier_spec.rb
|
185
154
|
- spec/coyote_spec.rb
|
186
155
|
- spec/spec_helper.rb
|
187
|
-
- Manifest
|
188
156
|
homepage: http://github.com/imulus/coyote
|
189
157
|
licenses: []
|
190
158
|
post_install_message:
|
191
|
-
rdoc_options:
|
192
|
-
- --line-numbers
|
193
|
-
- --inline-source
|
194
|
-
- --title
|
195
|
-
- Coyote
|
196
|
-
- --main
|
197
|
-
- README.md
|
159
|
+
rdoc_options: []
|
198
160
|
require_paths:
|
199
161
|
- lib
|
200
162
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -206,9 +168,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
206
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
207
169
|
none: false
|
208
170
|
requirements:
|
209
|
-
- - ! '
|
171
|
+
- - ! '>'
|
210
172
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
173
|
+
version: 1.3.1
|
212
174
|
requirements: []
|
213
175
|
rubyforge_project: coyote
|
214
176
|
rubygems_version: 1.8.17
|
@@ -220,4 +182,60 @@ summary: Coyote combines your source files into a single script or stylesheet to
|
|
220
182
|
to detect changes to your source files and recompile on the fly. For increased optimization,
|
221
183
|
you can optionally run the final compilation through the Google Closure Compiler
|
222
184
|
before save.
|
223
|
-
test_files:
|
185
|
+
test_files:
|
186
|
+
- spec/assets/asset/script.coffee
|
187
|
+
- spec/assets/asset/script.js
|
188
|
+
- spec/assets/asset/stylesheet.less
|
189
|
+
- spec/assets/asset/weird.asdf
|
190
|
+
- spec/assets/assets/coffeescript/script1.coffee
|
191
|
+
- spec/assets/assets/coffeescript/script2.coffee
|
192
|
+
- spec/assets/assets/coffeescript/script3.js
|
193
|
+
- spec/assets/assets/coffeescript/script4.coffee
|
194
|
+
- spec/assets/assets/javascript/script1.js
|
195
|
+
- spec/assets/assets/javascript/script2.js
|
196
|
+
- spec/assets/assets/javascript/script3.js
|
197
|
+
- spec/assets/assets/javascript/script4.js
|
198
|
+
- spec/assets/assets/javascript/script5.js
|
199
|
+
- spec/assets/assets/javascript/scripts/script6.js
|
200
|
+
- spec/assets/assets/javascript/scripts/script7.js
|
201
|
+
- spec/assets/assets/javascript/scripts2/script8.js
|
202
|
+
- spec/assets/assets/less/stylesheet1.less
|
203
|
+
- spec/assets/assets/less/stylesheet2.less
|
204
|
+
- spec/assets/assets/less/stylesheet3.less
|
205
|
+
- spec/assets/assets/less/stylesheet4.less
|
206
|
+
- spec/assets/assets/less/stylesheet5.css
|
207
|
+
- spec/assets/bundle/script.js
|
208
|
+
- spec/assets/bundle/stylesheet.css
|
209
|
+
- spec/assets/bundle/weird.asdf
|
210
|
+
- spec/assets/bundles/base/directory1/directory1_script.js
|
211
|
+
- spec/assets/bundles/base/directory1/directory2/directory2_script.js
|
212
|
+
- spec/assets/bundles/base/jquery.js
|
213
|
+
- spec/assets/bundles/base/script1.js
|
214
|
+
- spec/assets/bundles/base/script2.js
|
215
|
+
- spec/assets/bundles/base/script3.js
|
216
|
+
- spec/assets/bundles/base/script4.js
|
217
|
+
- spec/assets/bundles/base/script5.js
|
218
|
+
- spec/assets/bundles/base/script6.js
|
219
|
+
- spec/assets/bundles/css/stylesheet1.css
|
220
|
+
- spec/assets/bundles/css/weird_file.asdf
|
221
|
+
- spec/assets/bundles/javascript/script1.js
|
222
|
+
- spec/assets/bundles/javascript/weird_file.asdf
|
223
|
+
- spec/assets/compiler/javascript/script3.js
|
224
|
+
- spec/assets/compiler/javascript/script4.js
|
225
|
+
- spec/assets/integration/javascript/script1.js
|
226
|
+
- spec/assets/integration/javascript/script2.js
|
227
|
+
- spec/coyote/assets/base_spec.rb
|
228
|
+
- spec/coyote/assets/coffeescript_spec.rb
|
229
|
+
- spec/coyote/assets/less_spec.rb
|
230
|
+
- spec/coyote/assets_spec.rb
|
231
|
+
- spec/coyote/bundles/base_spec.rb
|
232
|
+
- spec/coyote/bundles/css_spec.rb
|
233
|
+
- spec/coyote/bundles/javascript_spec.rb
|
234
|
+
- spec/coyote/bundles_spec.rb
|
235
|
+
- spec/coyote/cli_spec.rb
|
236
|
+
- spec/coyote/compiler_spec.rb
|
237
|
+
- spec/coyote/dsl_spec.rb
|
238
|
+
- spec/coyote/fs_listeners_spec.rb
|
239
|
+
- spec/coyote/notifier_spec.rb
|
240
|
+
- spec/coyote_spec.rb
|
241
|
+
- spec/spec_helper.rb
|
data/Manifest
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
Gemfile
|
2
|
-
Guardfile
|
3
|
-
README.md
|
4
|
-
Rakefile
|
5
|
-
bin/coyote
|
6
|
-
coyote.gemspec
|
7
|
-
lib/coyote.rb
|
8
|
-
lib/coyote/asset.rb
|
9
|
-
lib/coyote/assets.rb
|
10
|
-
lib/coyote/assets/base.rb
|
11
|
-
lib/coyote/assets/coffeescript.rb
|
12
|
-
lib/coyote/assets/javascript.rb
|
13
|
-
lib/coyote/assets/less.rb
|
14
|
-
lib/coyote/bundle.rb
|
15
|
-
lib/coyote/bundles.rb
|
16
|
-
lib/coyote/bundles/base.rb
|
17
|
-
lib/coyote/bundles/css.rb
|
18
|
-
lib/coyote/bundles/javascript.rb
|
19
|
-
lib/coyote/cli.rb
|
20
|
-
lib/coyote/closure_compiler.rb
|
21
|
-
lib/coyote/compiler.rb
|
22
|
-
lib/coyote/dsl.rb
|
23
|
-
lib/coyote/fs_listener.rb
|
24
|
-
lib/coyote/fs_listeners.rb
|
25
|
-
lib/coyote/fs_listeners/base.rb
|
26
|
-
lib/coyote/fs_listeners/darwin.rb
|
27
|
-
lib/coyote/fs_listeners/linux.rb
|
28
|
-
lib/coyote/fs_listeners/polling.rb
|
29
|
-
lib/coyote/fs_listeners/windows.rb
|
30
|
-
lib/coyote/notifications.rb
|
31
|
-
lib/coyote/notifier.rb
|
32
|
-
lib/coyote/rake.rb
|
33
|
-
lib/coyote/version.rb
|
34
|
-
spec/assets/asset/script.coffee
|
35
|
-
spec/assets/asset/script.js
|
36
|
-
spec/assets/asset/stylesheet.less
|
37
|
-
spec/assets/asset/weird.asdf
|
38
|
-
spec/assets/assets/coffeescript/script1.coffee
|
39
|
-
spec/assets/assets/coffeescript/script2.coffee
|
40
|
-
spec/assets/assets/coffeescript/script3.js
|
41
|
-
spec/assets/assets/coffeescript/script4.coffee
|
42
|
-
spec/assets/assets/javascript/script1.js
|
43
|
-
spec/assets/assets/javascript/script2.js
|
44
|
-
spec/assets/assets/javascript/script3.js
|
45
|
-
spec/assets/assets/javascript/script4.js
|
46
|
-
spec/assets/assets/javascript/script5.js
|
47
|
-
spec/assets/assets/javascript/scripts/script6.js
|
48
|
-
spec/assets/assets/javascript/scripts/script7.js
|
49
|
-
spec/assets/assets/javascript/scripts2/script8.js
|
50
|
-
spec/assets/assets/less/stylesheet1.less
|
51
|
-
spec/assets/assets/less/stylesheet2.less
|
52
|
-
spec/assets/assets/less/stylesheet3.less
|
53
|
-
spec/assets/assets/less/stylesheet4.less
|
54
|
-
spec/assets/assets/less/stylesheet5.css
|
55
|
-
spec/assets/bundle/script.js
|
56
|
-
spec/assets/bundle/stylesheet.css
|
57
|
-
spec/assets/bundle/weird.asdf
|
58
|
-
spec/assets/bundles/base/directory1/directory1_script.js
|
59
|
-
spec/assets/bundles/base/directory1/directory2/directory2_script.js
|
60
|
-
spec/assets/bundles/base/jquery.js
|
61
|
-
spec/assets/bundles/base/output.js
|
62
|
-
spec/assets/bundles/base/script1.js
|
63
|
-
spec/assets/bundles/base/script2.js
|
64
|
-
spec/assets/bundles/base/script3.js
|
65
|
-
spec/assets/bundles/base/script4.js
|
66
|
-
spec/assets/bundles/base/script5.js
|
67
|
-
spec/assets/bundles/base/script6.js
|
68
|
-
spec/assets/bundles/css/stylesheet1.css
|
69
|
-
spec/assets/bundles/css/weird_file.asdf
|
70
|
-
spec/assets/bundles/javascript/script1.js
|
71
|
-
spec/assets/bundles/javascript/weird_file.asdf
|
72
|
-
spec/assets/compiler/javascript/output.js
|
73
|
-
spec/assets/compiler/javascript/script3.js
|
74
|
-
spec/assets/compiler/javascript/script4.js
|
75
|
-
spec/assets/integration/javascript/output.js
|
76
|
-
spec/assets/integration/javascript/script1.js
|
77
|
-
spec/assets/integration/javascript/script2.js
|
78
|
-
spec/coyote/assets/base_spec.rb
|
79
|
-
spec/coyote/assets/coffeescript_spec.rb
|
80
|
-
spec/coyote/assets/less_spec.rb
|
81
|
-
spec/coyote/assets_spec.rb
|
82
|
-
spec/coyote/bundles/base_spec.rb
|
83
|
-
spec/coyote/bundles/css_spec.rb
|
84
|
-
spec/coyote/bundles/javascript_spec.rb
|
85
|
-
spec/coyote/bundles_spec.rb
|
86
|
-
spec/coyote/cli_spec.rb
|
87
|
-
spec/coyote/compiler_spec.rb
|
88
|
-
spec/coyote/dsl_spec.rb
|
89
|
-
spec/coyote/fs_listeners_spec.rb
|
90
|
-
spec/coyote/notifier_spec.rb
|
91
|
-
spec/coyote_spec.rb
|
92
|
-
spec/spec_helper.rb
|
93
|
-
Manifest
|
data/coyote.gemspec
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = "coyote"
|
5
|
-
s.version = "1.2.0.rc1"
|
6
|
-
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = ["Imulus"]
|
9
|
-
s.date = "2012-06-11"
|
10
|
-
s.description = "A speedy tool for combining and compressing your JavaScript, CoffeeScript, CSS and LESS source files."
|
11
|
-
s.email = "developer@imulus.com"
|
12
|
-
s.executables = ["coyote"]
|
13
|
-
s.extra_rdoc_files = ["README.md", "bin/coyote", "lib/coyote.rb", "lib/coyote/asset.rb", "lib/coyote/assets.rb", "lib/coyote/assets/base.rb", "lib/coyote/assets/coffeescript.rb", "lib/coyote/assets/javascript.rb", "lib/coyote/assets/less.rb", "lib/coyote/bundle.rb", "lib/coyote/bundles.rb", "lib/coyote/bundles/base.rb", "lib/coyote/bundles/css.rb", "lib/coyote/bundles/javascript.rb", "lib/coyote/cli.rb", "lib/coyote/closure_compiler.rb", "lib/coyote/compiler.rb", "lib/coyote/dsl.rb", "lib/coyote/fs_listener.rb", "lib/coyote/fs_listeners.rb", "lib/coyote/fs_listeners/base.rb", "lib/coyote/fs_listeners/darwin.rb", "lib/coyote/fs_listeners/linux.rb", "lib/coyote/fs_listeners/polling.rb", "lib/coyote/fs_listeners/windows.rb", "lib/coyote/notifications.rb", "lib/coyote/notifier.rb", "lib/coyote/rake.rb", "lib/coyote/version.rb"]
|
14
|
-
s.files = ["Gemfile", "Guardfile", "README.md", "Rakefile", "bin/coyote", "coyote.gemspec", "lib/coyote.rb", "lib/coyote/asset.rb", "lib/coyote/assets.rb", "lib/coyote/assets/base.rb", "lib/coyote/assets/coffeescript.rb", "lib/coyote/assets/javascript.rb", "lib/coyote/assets/less.rb", "lib/coyote/bundle.rb", "lib/coyote/bundles.rb", "lib/coyote/bundles/base.rb", "lib/coyote/bundles/css.rb", "lib/coyote/bundles/javascript.rb", "lib/coyote/cli.rb", "lib/coyote/closure_compiler.rb", "lib/coyote/compiler.rb", "lib/coyote/dsl.rb", "lib/coyote/fs_listener.rb", "lib/coyote/fs_listeners.rb", "lib/coyote/fs_listeners/base.rb", "lib/coyote/fs_listeners/darwin.rb", "lib/coyote/fs_listeners/linux.rb", "lib/coyote/fs_listeners/polling.rb", "lib/coyote/fs_listeners/windows.rb", "lib/coyote/notifications.rb", "lib/coyote/notifier.rb", "lib/coyote/rake.rb", "lib/coyote/version.rb", "spec/assets/asset/script.coffee", "spec/assets/asset/script.js", "spec/assets/asset/stylesheet.less", "spec/assets/asset/weird.asdf", "spec/assets/assets/coffeescript/script1.coffee", "spec/assets/assets/coffeescript/script2.coffee", "spec/assets/assets/coffeescript/script3.js", "spec/assets/assets/coffeescript/script4.coffee", "spec/assets/assets/javascript/script1.js", "spec/assets/assets/javascript/script2.js", "spec/assets/assets/javascript/script3.js", "spec/assets/assets/javascript/script4.js", "spec/assets/assets/javascript/script5.js", "spec/assets/assets/javascript/scripts/script6.js", "spec/assets/assets/javascript/scripts/script7.js", "spec/assets/assets/javascript/scripts2/script8.js", "spec/assets/assets/less/stylesheet1.less", "spec/assets/assets/less/stylesheet2.less", "spec/assets/assets/less/stylesheet3.less", "spec/assets/assets/less/stylesheet4.less", "spec/assets/assets/less/stylesheet5.css", "spec/assets/bundle/script.js", "spec/assets/bundle/stylesheet.css", "spec/assets/bundle/weird.asdf", "spec/assets/bundles/base/directory1/directory1_script.js", "spec/assets/bundles/base/directory1/directory2/directory2_script.js", "spec/assets/bundles/base/jquery.js", "spec/assets/bundles/base/output.js", "spec/assets/bundles/base/script1.js", "spec/assets/bundles/base/script2.js", "spec/assets/bundles/base/script3.js", "spec/assets/bundles/base/script4.js", "spec/assets/bundles/base/script5.js", "spec/assets/bundles/base/script6.js", "spec/assets/bundles/css/stylesheet1.css", "spec/assets/bundles/css/weird_file.asdf", "spec/assets/bundles/javascript/script1.js", "spec/assets/bundles/javascript/weird_file.asdf", "spec/assets/compiler/javascript/output.js", "spec/assets/compiler/javascript/script3.js", "spec/assets/compiler/javascript/script4.js", "spec/assets/integration/javascript/output.js", "spec/assets/integration/javascript/script1.js", "spec/assets/integration/javascript/script2.js", "spec/coyote/assets/base_spec.rb", "spec/coyote/assets/coffeescript_spec.rb", "spec/coyote/assets/less_spec.rb", "spec/coyote/assets_spec.rb", "spec/coyote/bundles/base_spec.rb", "spec/coyote/bundles/css_spec.rb", "spec/coyote/bundles/javascript_spec.rb", "spec/coyote/bundles_spec.rb", "spec/coyote/cli_spec.rb", "spec/coyote/compiler_spec.rb", "spec/coyote/dsl_spec.rb", "spec/coyote/fs_listeners_spec.rb", "spec/coyote/notifier_spec.rb", "spec/coyote_spec.rb", "spec/spec_helper.rb", "Manifest"]
|
15
|
-
s.homepage = "http://github.com/imulus/coyote"
|
16
|
-
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Coyote", "--main", "README.md"]
|
17
|
-
s.require_paths = ["lib"]
|
18
|
-
s.rubyforge_project = "coyote"
|
19
|
-
s.rubygems_version = "1.8.17"
|
20
|
-
s.summary = "Coyote combines your source files into a single script or stylesheet to reduce HTTP overhead and make development easier. It has built-in support for Sprockets-style dependency syntax (`#= require x`) and a lightning-fast, built-in watch mechanism to detect changes to your source files and recompile on the fly. For increased optimization, you can optionally run the final compilation through the Google Closure Compiler before save."
|
21
|
-
|
22
|
-
if s.respond_to? :specification_version then
|
23
|
-
s.specification_version = 3
|
24
|
-
|
25
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
|
-
s.add_runtime_dependency(%q<rb-fsevent>, [">= 0.4.0"])
|
27
|
-
s.add_runtime_dependency(%q<colored>, [">= 1.2"])
|
28
|
-
s.add_development_dependency(%q<rb-fsevent>, [">= 0.4.0"])
|
29
|
-
s.add_development_dependency(%q<colored>, [">= 1.2"])
|
30
|
-
else
|
31
|
-
s.add_dependency(%q<rb-fsevent>, [">= 0.4.0"])
|
32
|
-
s.add_dependency(%q<colored>, [">= 1.2"])
|
33
|
-
s.add_dependency(%q<rb-fsevent>, [">= 0.4.0"])
|
34
|
-
s.add_dependency(%q<colored>, [">= 1.2"])
|
35
|
-
end
|
36
|
-
else
|
37
|
-
s.add_dependency(%q<rb-fsevent>, [">= 0.4.0"])
|
38
|
-
s.add_dependency(%q<colored>, [">= 1.2"])
|
39
|
-
s.add_dependency(%q<rb-fsevent>, [">= 0.4.0"])
|
40
|
-
s.add_dependency(%q<colored>, [">= 1.2"])
|
41
|
-
end
|
42
|
-
end
|
data/lib/coyote/asset.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
module Coyote
|
2
|
-
autoload :JavaScript, 'coyote/assets/javascript'
|
3
|
-
autoload :CoffeeScript, 'coyote/assets/coffeescript'
|
4
|
-
autoload :Less, 'coyote/assets/less'
|
5
|
-
|
6
|
-
class Asset
|
7
|
-
|
8
|
-
attr_reader :relative_path, :absolute_path, :relative_directory, :absolute_directory, :dependencies
|
9
|
-
attr_accessor :contents
|
10
|
-
|
11
|
-
# Determine the type of file based on the file extension
|
12
|
-
# and return an instance of the proper asset class
|
13
|
-
def self.select_and_init(path)
|
14
|
-
case File.extname(path)
|
15
|
-
when /\.js/i ; JavaScript.new(path)
|
16
|
-
when /\.coffee/i ; CoffeeScript.new(path)
|
17
|
-
when /\.less/i ; Less.new(path)
|
18
|
-
else ; self.new(path)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def initialize(relative_path)
|
23
|
-
@relative_path = File.expand_path(relative_path).gsub("#{Dir.pwd}/", '')
|
24
|
-
@absolute_path = File.expand_path(@relative_path)
|
25
|
-
@relative_directory = File.dirname(@relative_path)
|
26
|
-
@absolute_directory = File.expand_path("#{Dir.pwd}/#{@relative_directory}")
|
27
|
-
update!
|
28
|
-
end
|
29
|
-
|
30
|
-
def update!
|
31
|
-
@contents = File.exists?(@absolute_path) ? File.open(@absolute_path, 'r').read : ""
|
32
|
-
find_dependencies
|
33
|
-
end
|
34
|
-
|
35
|
-
def dependencies_have_changed?
|
36
|
-
@last_dependencies != @dependencies
|
37
|
-
end
|
38
|
-
|
39
|
-
protected
|
40
|
-
|
41
|
-
# Defines the regex pattern for scanning the contents of the
|
42
|
-
# file to look for require directives
|
43
|
-
def require_pattern
|
44
|
-
Regexp.new(/\/\/=\s*require\s*(.*)$/i) # '//= require a/b/c.js' => 'a/b/c.js'
|
45
|
-
end
|
46
|
-
|
47
|
-
def find_dependencies
|
48
|
-
@last_dependencies = @dependencies
|
49
|
-
matches = @contents.scan(require_pattern)
|
50
|
-
@dependencies = matches.reverse.collect { |match| "#{@relative_directory}/#{match.last.strip}" }
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
data/lib/coyote/bundle.rb
DELETED
@@ -1,126 +0,0 @@
|
|
1
|
-
require 'coyote/closure_compiler'
|
2
|
-
|
3
|
-
module Coyote
|
4
|
-
autoload :Asset, 'coyote/asset'
|
5
|
-
|
6
|
-
class Bundle
|
7
|
-
|
8
|
-
attr_reader :contents
|
9
|
-
|
10
|
-
def initialize(entry_point, output_path)
|
11
|
-
@entry_point = entry_point
|
12
|
-
@output_path = output_path
|
13
|
-
build
|
14
|
-
end
|
15
|
-
|
16
|
-
|
17
|
-
def files(absolute = false)
|
18
|
-
@assets.collect do |path, asset|
|
19
|
-
absolute ? asset.absolute_path : asset.relative_path
|
20
|
-
end.reverse
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
def add(path)
|
25
|
-
if File.directory? path
|
26
|
-
add_directory path
|
27
|
-
elsif File.exists? path
|
28
|
-
add_asset path
|
29
|
-
else
|
30
|
-
notify "Could not find #{path}", :failure
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
|
35
|
-
def update!(changed_files = [])
|
36
|
-
bundle_should_rebuild = false
|
37
|
-
|
38
|
-
unless changed_files.empty?
|
39
|
-
changed_files.each do |path|
|
40
|
-
asset = @assets["#{Dir.pwd}/#{path}"]
|
41
|
-
asset.update!
|
42
|
-
if asset.dependencies_have_changed?
|
43
|
-
bundle_should_rebuild = true
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
if bundle_should_rebuild
|
49
|
-
notify "#{Time.new.strftime("%I:%M:%S")} Dependencies have changed. Refreshing bundle and recompiling...", :failure
|
50
|
-
build
|
51
|
-
else
|
52
|
-
refresh
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
def refresh
|
58
|
-
@contents = ""
|
59
|
-
files(true).each { |path| @contents += "#{@assets[path].contents} \n\n" }
|
60
|
-
end
|
61
|
-
|
62
|
-
|
63
|
-
def build
|
64
|
-
empty!
|
65
|
-
add @entry_point
|
66
|
-
end
|
67
|
-
|
68
|
-
|
69
|
-
def empty!
|
70
|
-
@assets = {}
|
71
|
-
@contents = ""
|
72
|
-
end
|
73
|
-
|
74
|
-
|
75
|
-
def compress!
|
76
|
-
notify "#{Time.new.strftime("%I:%M:%S")} Compressing bundle...", :warning
|
77
|
-
compiler = ClosureCompiler.new.compile(@contents)
|
78
|
-
if compiler.success?
|
79
|
-
@contents = compiler.compiled_code
|
80
|
-
elsif compiler.file_too_big?
|
81
|
-
notify "Input code too big for API, creating uncompressed file\n", :failure
|
82
|
-
elsif compiler.errors
|
83
|
-
notify "Google closure API failed to compile, creating uncompressed file\n", :failure
|
84
|
-
notify "Errors:", :failure
|
85
|
-
notify "#{compiler.errors.to_s}", :failure
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
def save
|
90
|
-
output = File.open @output_path, 'w+'
|
91
|
-
output.write @contents
|
92
|
-
output.close
|
93
|
-
end
|
94
|
-
|
95
|
-
def manifest
|
96
|
-
files.inject("") { |result, file| result + "\n + #{file}" }
|
97
|
-
end
|
98
|
-
|
99
|
-
private
|
100
|
-
|
101
|
-
def add_asset(path)
|
102
|
-
asset = Asset.select_and_init(path)
|
103
|
-
|
104
|
-
unless @assets[asset.absolute_path].nil?
|
105
|
-
@assets.delete(asset.absolute_path)
|
106
|
-
end
|
107
|
-
|
108
|
-
@assets[asset.absolute_path] = asset
|
109
|
-
add_dependencies(asset)
|
110
|
-
end
|
111
|
-
|
112
|
-
|
113
|
-
def add_directory(dir_path)
|
114
|
-
Dir.foreach(dir_path) do |path|
|
115
|
-
next if path == '.' or path == '..'
|
116
|
-
add "#{dir_path}/#{path}"
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
|
-
|
121
|
-
def add_dependencies(asset)
|
122
|
-
asset.dependencies.each { |path| add path }
|
123
|
-
end
|
124
|
-
|
125
|
-
end
|
126
|
-
end
|
data/lib/coyote/fs_listener.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
require 'digest'
|
2
|
-
|
3
|
-
module Coyote
|
4
|
-
autoload :Darwin, 'coyote/fs_listeners/darwin'
|
5
|
-
autoload :Linux, 'coyote/fs_listeners/linux'
|
6
|
-
autoload :Windows, 'coyote/fs_listeners/windows'
|
7
|
-
autoload :Polling, 'coyote/fs_listeners/polling'
|
8
|
-
|
9
|
-
class FSListener
|
10
|
-
attr_reader :last_event, :sha1_checksums_hash
|
11
|
-
|
12
|
-
def self.select_and_init
|
13
|
-
if mac? && Darwin.usable?
|
14
|
-
Darwin.new
|
15
|
-
elsif linux? && Linux.usable?
|
16
|
-
Linux.new
|
17
|
-
elsif windows? && Windows.usable?
|
18
|
-
Windows.new
|
19
|
-
else
|
20
|
-
print "Using polling (Please help us to support your system better than that.)\n".red
|
21
|
-
Polling.new
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def initialize
|
26
|
-
@sha1_checksums_hash = {}
|
27
|
-
update_last_event
|
28
|
-
end
|
29
|
-
|
30
|
-
def update_last_event
|
31
|
-
@last_event = Time.now
|
32
|
-
end
|
33
|
-
|
34
|
-
def modified_files(dirs, options = {})
|
35
|
-
files = potentially_modified_files(dirs, options).select { |path| File.file?(path) && file_modified?(path) && file_content_modified?(path) }
|
36
|
-
files.map! { |file| file.gsub("#{Dir.pwd}/", '') }
|
37
|
-
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
def potentially_modified_files(dirs, options = {})
|
42
|
-
match = options[:all] ? "**/*" : "*"
|
43
|
-
Dir.glob(dirs.map { |dir| "#{dir}#{match}" })
|
44
|
-
end
|
45
|
-
|
46
|
-
def file_modified?(path)
|
47
|
-
# Depending on the filesystem, mtime is probably only precise to the second, so round
|
48
|
-
# both values down to the second for the comparison.
|
49
|
-
File.mtime(path).to_i >= last_event.to_i
|
50
|
-
rescue
|
51
|
-
false
|
52
|
-
end
|
53
|
-
|
54
|
-
def file_content_modified?(path)
|
55
|
-
sha1_checksum = Digest::SHA1.file(path).to_s
|
56
|
-
if @sha1_checksums_hash[path] != sha1_checksum
|
57
|
-
@sha1_checksums_hash[path] = sha1_checksum
|
58
|
-
true
|
59
|
-
else
|
60
|
-
false
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
def self.mac?
|
65
|
-
Config::CONFIG['target_os'] =~ /darwin/i
|
66
|
-
end
|
67
|
-
|
68
|
-
def self.linux?
|
69
|
-
Config::CONFIG['target_os'] =~ /linux/i
|
70
|
-
end
|
71
|
-
|
72
|
-
def self.windows?
|
73
|
-
Config::CONFIG['target_os'] =~ /mswin|mingw/i
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
data/lib/coyote/notifications.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'term/ansicolor'
|
2
|
-
include Term::ANSIColor
|
3
|
-
|
4
|
-
module Coyote
|
5
|
-
module Notifications
|
6
|
-
|
7
|
-
def self.notify(msg, type = "message")
|
8
|
-
notify msg, type
|
9
|
-
end
|
10
|
-
|
11
|
-
def notify(msg, type = :message)
|
12
|
-
msg = "#{msg}\n"
|
13
|
-
case type
|
14
|
-
when :success ; print msg.green
|
15
|
-
when :warning ; print msg.yellow
|
16
|
-
when :failure ; print msg.red
|
17
|
-
else ; print msg.white
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
end
|