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.
@@ -0,0 +1,11 @@
1
+ output.js
2
+ output.css
3
+ .DS_Store
4
+ test
5
+ coverage
6
+ Gemfile.lock
7
+
8
+ /pkg/*
9
+ Manifest
10
+ *.gemspec
11
+ *.gem
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ # /.rspec
2
+ --color
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ notifications:
7
+ recipients:
8
+ - casey.ohara@imulus.com
9
+
10
+
data/Gemfile CHANGED
@@ -5,4 +5,5 @@ gem "guard", "~> 1.0.3"
5
5
  gem "guard-rspec", "~> 0.7.3"
6
6
  gem "simplecov", "~> 0.6.4"
7
7
  gem "growl", "~> 1.0.3"
8
- gem "colored", "1.2"
8
+ gem "colored", "1.2"
9
+ gem "rake", "0.9.2.2"
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
@@ -1,3 +1,3 @@
1
1
  module Coyote
2
- VERSION = "1.2.0.rc1"
2
+ VERSION = "1.2.0.rc2"
3
3
  end
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.rc1
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: &2168810740 !ruby/object:Gem::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: *2168810740
25
+ version_requirements: *2165746400
25
26
  - !ruby/object:Gem::Dependency
26
27
  name: colored
27
- requirement: &2168809980 !ruby/object:Gem::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: *2168809980
36
+ version_requirements: *2165745880
36
37
  - !ruby/object:Gem::Dependency
37
38
  name: rb-fsevent
38
- requirement: &2168809000 !ruby/object:Gem::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: *2168809000
47
+ version_requirements: *2165745400
47
48
  - !ruby/object:Gem::Dependency
48
49
  name: colored
49
- requirement: &2168807940 !ruby/object:Gem::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: *2168807940
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: developer@imulus.com
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: '1.2'
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1,3 +0,0 @@
1
- console.log("spec/assets/bundle/javascript/jquery.js");//= require jquery.js
2
-
3
- console.log("spec/assets/bundle/javascript/script5.js");
@@ -1,3 +0,0 @@
1
- console.log("script4.js");//= require script4.js
2
-
3
- console.log("script3.js");
@@ -1,3 +0,0 @@
1
- console.log("script2.js");//= require script2.js
2
-
3
- console.log("script1.js");