slinky 0.6.1 → 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.
data/spec/slinky_spec.rb CHANGED
@@ -53,7 +53,7 @@ describe "Slinky" do
53
53
  end
54
54
 
55
55
  it "should produce the correct scripts string for devel" do
56
- @mdevel.scripts_string.should == '<script type="text/javascript" src="l1/test5.js"></script><script type="text/javascript" src="l1/l2/test6.js"></script><script type="text/javascript" src="l1/test2.js"></script><script type="text/javascript" src="l1/l2/test3.js"></script><script type="text/javascript" src="l1/test.js"></script>'
56
+ @mdevel.scripts_string.should == '<script type="text/javascript" src="/l1/test5.js"></script><script type="text/javascript" src="/l1/l2/test6.js"></script><script type="text/javascript" src="/l1/test2.js"></script><script type="text/javascript" src="/l1/l2/test3.js"></script><script type="text/javascript" src="/l1/test.js"></script>'
57
57
  end
58
58
 
59
59
  it "should produce the correct styles string for production" do
@@ -66,7 +66,7 @@ describe "Slinky" do
66
66
  f.write "require('../test.sass')\ncolor: red;"
67
67
  }
68
68
  manifest = Slinky::Manifest.new("/src", @config)
69
- @mdevel.styles_string.should == '<link rel="stylesheet" href="l1/test.css" /><link rel="stylesheet" href="l1/l2/test2.css" />'
69
+ @mdevel.styles_string.should == '<link rel="stylesheet" href="/l1/test.css" /><link rel="stylesheet" href="/l1/l2/test2.css" />'
70
70
  end
71
71
 
72
72
  it "should allow the creation of ManifestFiles" do
@@ -111,6 +111,13 @@ describe "Slinky" do
111
111
  FileUtils.rm_rf("/src/build") rescue nil
112
112
  end
113
113
 
114
+ it "should give the proper error message for compilers with unmet dependencies" do
115
+ File.open("/src/test.fake", "w+"){|f| f.write("hello, fake data")}
116
+ $stderr.should_receive(:puts).with(/Missing dependency/)
117
+ mf = Slinky::ManifestFile.new("/src/test.fake", "/src/build", @mprod)
118
+ build_path = mf.process
119
+ end
120
+
114
121
  it "should report errors for bad files" do
115
122
  File.open("/src/l1/l2/bad.sass", "w+"){|f|
116
123
  f.write "color: red;"
@@ -284,11 +291,12 @@ describe "Slinky" do
284
291
 
285
292
  it "should ignore the build directory" do
286
293
  $stdout.should_receive(:puts).with(/Compiled \/src\/.+/).exactly(6).times
287
- Slinky::Builder.build("/src", "/src/build", @config)
294
+ options = {:src_dir => "/src", :build_dir => "/src/build"}
295
+ Slinky::Builder.build(options, @config)
288
296
  File.exists?("/src/build/build").should_not == true
289
297
  File.exists?("/src/build/test.html").should == true
290
- Slinky::Builder.build("/src", "/src/build", @config)
291
- File.exists?("/src/build/build").should_not == true
298
+ Slinky::Builder.build(options, @config)
299
+ File.exists?("/src/build/build").should == false
292
300
  end
293
301
 
294
302
  it "should combine and compress javascript" do
@@ -306,7 +314,7 @@ describe "Slinky" do
306
314
  @mprod.build
307
315
  File.exists?("/build/styles.css").should == true
308
316
  File.size("/build/styles.css").should > 25
309
- File.read("/build/styles.css").match(/color:red/).should_not == nil
317
+ File.read("/build/styles.css").match(/color:\s*red/).should_not == nil
310
318
  File.exists?("/build/l1/test.css").should == false
311
319
  end
312
320
 
@@ -315,8 +323,8 @@ describe "Slinky" do
315
323
  @mprod.build
316
324
  css = File.read("/build/styles.css")
317
325
  css.include?("url('/l1/asdf.png')").should == true
318
- css.include?("url('l1/bg.png')").should == true
319
- css.include?("url('l1/l2/l3/hello.png')").should == true
326
+ css.include?("url('/l1/bg.png')").should == true
327
+ css.include?("url('/l1/l2/l3/hello.png')").should == true
320
328
  end
321
329
  end
322
330
 
@@ -325,6 +333,7 @@ describe "Slinky" do
325
333
  @resp = double("EventMachine::DelegatedHttpResponse")
326
334
  @resp.stub(:content=){|c| @content = c}
327
335
  @resp.stub(:content){ @content }
336
+ @mdevel = Slinky::Manifest.new("/src", @config)
328
337
  end
329
338
 
330
339
  it "path_for_uri should work correctly" do
@@ -362,11 +371,57 @@ describe "Slinky" do
362
371
  @resp.content.should == "File not found\n"
363
372
  end
364
373
 
374
+ it "should handle a global pushstate" do
375
+ config = <<eos
376
+ pushstate:
377
+ "/": "/test.html"
378
+ eos
379
+ File.open("/src/slinky.yaml", "w+"){|f| f.write config}
380
+ cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
381
+ Slinky::Server.config = cr
382
+ Slinky::Server.manifest = @mdevel
383
+ $stdout.should_receive(:puts).with("Compiled /src/test.haml".foreground(:green))
384
+ @resp.should_receive(:content_type).with("text/html").at_least(:once)
385
+ Slinky::Server.process_path @resp, "this/doesnt/exist.html"
386
+ @resp.content.include?("html").should == true
387
+ end
388
+
389
+ it "should not enter an infinite loop with a non-existant pushstate index" do
390
+ config = <<eos
391
+ pushstate:
392
+ "/": "/notreal.html"
393
+ eos
394
+ File.open("/src/slinky.yaml", "w+"){|f| f.write config}
395
+ cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
396
+ Slinky::Server.config = cr
397
+ Slinky::Server.manifest = @mdevel
398
+ @resp.should_receive(:status=).with(404)
399
+ @resp.should_receive(:content_type).with("text/html").at_least(:once)
400
+ Slinky::Server.process_path @resp, "this/doesnt/exist.html"
401
+ end
402
+
403
+ it "should choose the more specific pushstate path when conflicts are present" do
404
+ config = <<eos
405
+ pushstate:
406
+ "/": "/index.html"
407
+ "/hello": "/test.html"
408
+ eos
409
+ File.open("/src/slinky.yaml", "w+"){|f| f.write config}
410
+ File.open("/src/index.html", "w+"){|f| f.write("goodbye")}
411
+ cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
412
+ Slinky::Server.config = cr
413
+ manifest = Slinky::Manifest.new("/src", cr)
414
+ Slinky::Server.manifest = manifest
415
+ @resp.should_receive(:content_type).with("text/html").at_least(:once)
416
+ Slinky::Server.process_path @resp, "hello/doesnt/exist.html"
417
+ @resp.content.include?("goodbye").should == true
418
+ end
419
+
365
420
  it "should accept a port option" do
366
421
  port = 53455
367
422
  $stdout.should_receive(:puts).with(/Started static file server on port #{port}/)
368
423
  run_for 0.3 do
369
- Slinky::Runner.new(["start","--port", port.to_s]).run
424
+ Slinky::Runner.new(["start","--port", port.to_s, "--no-livereload"]).run
370
425
  end
371
426
  end
372
427
 
@@ -384,7 +439,7 @@ describe "Slinky" do
384
439
  eos
385
440
  }
386
441
  run_for 3 do
387
- Slinky::Runner.new(["start","--port", "43453", "--src-dir", "/src"]).run
442
+ Slinky::Runner.new(["start","--port", "43453", "--src-dir", "/src", "--no-livereload"]).run
388
443
  base = "http://localhost:43453"
389
444
  multi = EventMachine::MultiRequest.new
390
445
  $stdout.should_receive(:puts).with(/Compiled \/src\/index.haml/)
@@ -411,7 +466,8 @@ eos
411
466
  end
412
467
  it "should build manifest to build directory" do
413
468
  $stdout.should_receive(:puts).with(/Compiled \/src\/.+/).exactly(3).times
414
- Slinky::Builder.build("/src", "/build", @config)
469
+ options = {:src_dir => "/src", :build_dir => "/build"}
470
+ Slinky::Builder.build(options, @config)
415
471
  File.exists?("/build").should == true
416
472
  File.exists?("/build/scripts.js").should == true
417
473
  File.exists?("/build/l1/l2/test.txt").should == true
@@ -427,6 +483,16 @@ proxy:
427
483
  ignore:
428
484
  - script/vendor
429
485
  - script/jquery.js
486
+ port: 5555
487
+ src_dir: "src/"
488
+ build_dir: "build/"
489
+ no_proxy: true
490
+ no_livereload: true
491
+ livereload_port: 5556
492
+ dont_minify: true
493
+ pushstate:
494
+ "/app1": "/index.html"
495
+ "/app2": "/index2.html"
430
496
  eos
431
497
  File.open("/src/slinky.yaml", "w+"){|f| f.write @config}
432
498
  @proxies = {
@@ -434,6 +500,10 @@ eos
434
500
  "/test2" => "http://127.0.0.1:7000"
435
501
  }
436
502
  @ignores = ["script/vendor", "script/jquery.js"]
503
+ @pushstates = {
504
+ "/app1" => "/index.html",
505
+ "/app2" => "/index2.html"
506
+ }
437
507
  end
438
508
 
439
509
  it "should be able to read configuration from strings" do
@@ -446,6 +516,14 @@ eos
446
516
  cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
447
517
  cr.proxies.should == @proxies
448
518
  cr.ignores.should == @ignores
519
+ cr.port.should == 5555
520
+ cr.src_dir.should == "src/"
521
+ cr.build_dir.should == "build/"
522
+ cr.no_proxy.should == true
523
+ cr.no_livereload.should == true
524
+ cr.livereload_port.should == 5556
525
+ cr.dont_minify.should == true
526
+ cr.pushstates.should == @pushstates
449
527
  end
450
528
 
451
529
  it "should be able to create the empty config" do
@@ -528,5 +606,6 @@ eos
528
606
  @proxies[0][1].to_s.should == "http://127.0.0.1:6000"
529
607
  @proxies[0][2].should == {"lag" => 1000}
530
608
  end
609
+
531
610
  end
532
611
  end
data/spec/spec_helper.rb CHANGED
@@ -31,6 +31,7 @@ module FakeFS
31
31
  end
32
32
 
33
33
  module Slinky
34
+ # The coffee script compiler doesn't work under FakeFS
34
35
  module CoffeeCompiler
35
36
  def CoffeeCompiler::compile s, file
36
37
  FakeFS.deactivate!
@@ -40,10 +41,30 @@ module Slinky
40
41
  end
41
42
  end
42
43
 
44
+ # This is necessary because require doesn't work with FakeFS
45
+ class Compilers
46
+ class << self
47
+ alias :get_old_cfile :get_cfile
48
+ def get_cfile *args
49
+ FakeFS.deactivate!
50
+ cfile = get_old_cfile *args
51
+ FakeFS.activate!
52
+ cfile
53
+ end
54
+ end
55
+ end
56
+
43
57
  # No way to make this work with FakeFS, so just disabled it
44
58
  class Listener
45
59
  def run; end
46
60
  end
61
+
62
+ module FakeCompiler
63
+ Compilers.register_compiler self,
64
+ :inputs => ["fake"],
65
+ :outputs =>["real"],
66
+ :dependencies => [["nonexistant_gem", ">= 9.9.9"]]
67
+ end
47
68
  end
48
69
 
49
70
  RSpec.configure do |config|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slinky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-19 00:00:00.000000000 Z
12
+ date: 2012-12-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine
16
- requirement: &70362415712140 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 0.12.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70362415712140
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.12.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: eventmachine_httpserver
27
- requirement: &70362415725440 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,31 @@ dependencies:
32
37
  version: 0.2.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70362415725440
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.2.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: em-websocket
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.3.8
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.3.8
36
62
  - !ruby/object:Gem::Dependency
37
63
  name: em-proxy
38
- requirement: &70362415723240 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
39
65
  none: false
40
66
  requirements:
41
67
  - - ! '>='
@@ -43,10 +69,15 @@ dependencies:
43
69
  version: 0.1.6
44
70
  type: :runtime
45
71
  prerelease: false
46
- version_requirements: *70362415723240
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.1.6
47
78
  - !ruby/object:Gem::Dependency
48
79
  name: rainbow
49
- requirement: &70362415720620 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
50
81
  none: false
51
82
  requirements:
52
83
  - - ! '>='
@@ -54,76 +85,111 @@ dependencies:
54
85
  version: 1.1.3
55
86
  type: :runtime
56
87
  prerelease: false
57
- version_requirements: *70362415720620
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.1.3
58
94
  - !ruby/object:Gem::Dependency
59
- name: haml
60
- requirement: &70362415744280 !ruby/object:Gem::Requirement
95
+ name: mime-types
96
+ requirement: !ruby/object:Gem::Requirement
61
97
  none: false
62
98
  requirements:
63
99
  - - ! '>='
64
100
  - !ruby/object:Gem::Version
65
- version: 3.0.0
101
+ version: '1.16'
66
102
  type: :runtime
67
103
  prerelease: false
68
- version_requirements: *70362415744280
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '1.16'
69
110
  - !ruby/object:Gem::Dependency
70
- name: sass
71
- requirement: &70362415742500 !ruby/object:Gem::Requirement
111
+ name: yui-compressor
112
+ requirement: !ruby/object:Gem::Requirement
72
113
  none: false
73
114
  requirements:
74
115
  - - ! '>='
75
116
  - !ruby/object:Gem::Version
76
- version: 3.1.1
117
+ version: 0.9.6
77
118
  type: :runtime
78
119
  prerelease: false
79
- version_requirements: *70362415742500
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: 0.9.6
80
126
  - !ruby/object:Gem::Dependency
81
- name: coffee-script
82
- requirement: &70362415739720 !ruby/object:Gem::Requirement
127
+ name: listen
128
+ requirement: !ruby/object:Gem::Requirement
83
129
  none: false
84
130
  requirements:
85
131
  - - ! '>='
86
132
  - !ruby/object:Gem::Version
87
- version: 2.2.0
133
+ version: 0.4.5
88
134
  type: :runtime
89
135
  prerelease: false
90
- version_requirements: *70362415739720
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 0.4.5
91
142
  - !ruby/object:Gem::Dependency
92
- name: mime-types
93
- requirement: &70362415751120 !ruby/object:Gem::Requirement
143
+ name: haml
144
+ requirement: !ruby/object:Gem::Requirement
94
145
  none: false
95
146
  requirements:
96
147
  - - ! '>='
97
148
  - !ruby/object:Gem::Version
98
- version: '1.16'
149
+ version: 3.0.0
99
150
  type: :runtime
100
151
  prerelease: false
101
- version_requirements: *70362415751120
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: 3.0.0
102
158
  - !ruby/object:Gem::Dependency
103
- name: yui-compressor
104
- requirement: &70362415759760 !ruby/object:Gem::Requirement
159
+ name: sass
160
+ requirement: !ruby/object:Gem::Requirement
105
161
  none: false
106
162
  requirements:
107
163
  - - ! '>='
108
164
  - !ruby/object:Gem::Version
109
- version: 0.9.6
165
+ version: 3.1.1
110
166
  type: :runtime
111
167
  prerelease: false
112
- version_requirements: *70362415759760
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: 3.1.1
113
174
  - !ruby/object:Gem::Dependency
114
- name: listen
115
- requirement: &70362415757320 !ruby/object:Gem::Requirement
175
+ name: coffee-script
176
+ requirement: !ruby/object:Gem::Requirement
116
177
  none: false
117
178
  requirements:
118
179
  - - ! '>='
119
180
  - !ruby/object:Gem::Version
120
- version: 0.4.5
181
+ version: 2.2.0
121
182
  type: :runtime
122
183
  prerelease: false
123
- version_requirements: *70362415757320
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: 2.2.0
124
190
  - !ruby/object:Gem::Dependency
125
191
  name: rspec
126
- requirement: &70362415755100 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
127
193
  none: false
128
194
  requirements:
129
195
  - - ~>
@@ -131,10 +197,15 @@ dependencies:
131
197
  version: 2.10.0
132
198
  type: :development
133
199
  prerelease: false
134
- version_requirements: *70362415755100
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: 2.10.0
135
206
  - !ruby/object:Gem::Dependency
136
207
  name: yard
137
- requirement: &70362415752880 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
138
209
  none: false
139
210
  requirements:
140
211
  - - ~>
@@ -142,21 +213,31 @@ dependencies:
142
213
  version: 0.6.0
143
214
  type: :development
144
215
  prerelease: false
145
- version_requirements: *70362415752880
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ version: 0.6.0
146
222
  - !ruby/object:Gem::Dependency
147
223
  name: bundler
148
- requirement: &70362415767840 !ruby/object:Gem::Requirement
224
+ requirement: !ruby/object:Gem::Requirement
149
225
  none: false
150
226
  requirements:
151
- - - ~>
227
+ - - ! '>='
152
228
  - !ruby/object:Gem::Version
153
229
  version: 1.1.0
154
230
  type: :development
155
231
  prerelease: false
156
- version_requirements: *70362415767840
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: 1.1.0
157
238
  - !ruby/object:Gem::Dependency
158
239
  name: jeweler
159
- requirement: &70362415765060 !ruby/object:Gem::Requirement
240
+ requirement: !ruby/object:Gem::Requirement
160
241
  none: false
161
242
  requirements:
162
243
  - - ~>
@@ -164,21 +245,15 @@ dependencies:
164
245
  version: 1.8.0
165
246
  type: :development
166
247
  prerelease: false
167
- version_requirements: *70362415765060
168
- - !ruby/object:Gem::Dependency
169
- name: cover_me
170
- requirement: &70362415763620 !ruby/object:Gem::Requirement
248
+ version_requirements: !ruby/object:Gem::Requirement
171
249
  none: false
172
250
  requirements:
173
- - - ! '>='
251
+ - - ~>
174
252
  - !ruby/object:Gem::Version
175
- version: 1.0.0.rc6
176
- type: :development
177
- prerelease: false
178
- version_requirements: *70362415763620
253
+ version: 1.8.0
179
254
  - !ruby/object:Gem::Dependency
180
255
  name: fakefs
181
- requirement: &70362415761540 !ruby/object:Gem::Requirement
256
+ requirement: !ruby/object:Gem::Requirement
182
257
  none: false
183
258
  requirements:
184
259
  - - ~>
@@ -186,10 +261,15 @@ dependencies:
186
261
  version: 0.4.0
187
262
  type: :development
188
263
  prerelease: false
189
- version_requirements: *70362415761540
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ~>
268
+ - !ruby/object:Gem::Version
269
+ version: 0.4.0
190
270
  - !ruby/object:Gem::Dependency
191
271
  name: em-http-request
192
- requirement: &70362415775780 !ruby/object:Gem::Requirement
272
+ requirement: !ruby/object:Gem::Requirement
193
273
  none: false
194
274
  requirements:
195
275
  - - ~>
@@ -197,7 +277,12 @@ dependencies:
197
277
  version: 1.0.0
198
278
  type: :development
199
279
  prerelease: false
200
- version_requirements: *70362415775780
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ~>
284
+ - !ruby/object:Gem::Version
285
+ version: 1.0.0
201
286
  description: A static file server for rich web apps that automatically compiles SASS,
202
287
  HAML, CoffeeScript and more
203
288
  email: micah@micahw.com
@@ -221,13 +306,15 @@ files:
221
306
  - lib/slinky/builder.rb
222
307
  - lib/slinky/compiled_file.rb
223
308
  - lib/slinky/compilers.rb
309
+ - lib/slinky/compilers/clojurescript-compiler.rb
224
310
  - lib/slinky/compilers/coffee-compiler.rb
225
- - lib/slinky/compilers/coffee-helper
226
311
  - lib/slinky/compilers/haml-compiler.rb
312
+ - lib/slinky/compilers/less-compiler.rb
227
313
  - lib/slinky/compilers/sass-compiler.rb
228
314
  - lib/slinky/config_reader.rb
229
315
  - lib/slinky/em-popen3.rb
230
316
  - lib/slinky/listener.rb
317
+ - lib/slinky/live_reload.rb
231
318
  - lib/slinky/manifest.rb
232
319
  - lib/slinky/proxy_server.rb
233
320
  - lib/slinky/runner.rb
@@ -250,7 +337,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
250
337
  version: '0'
251
338
  segments:
252
339
  - 0
253
- hash: -1657614552858671315
340
+ hash: 4080873917067961416
254
341
  required_rubygems_version: !ruby/object:Gem::Requirement
255
342
  none: false
256
343
  requirements:
@@ -259,7 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
259
346
  version: '0'
260
347
  requirements: []
261
348
  rubyforge_project:
262
- rubygems_version: 1.8.10
349
+ rubygems_version: 1.8.24
263
350
  signing_key:
264
351
  specification_version: 3
265
352
  summary: Static file server for javascript apps
@@ -1,3 +0,0 @@
1
- #!/bin/bash
2
-
3
- coffee --compile --print $1 > $2