slinky 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +8 -6
- data/README.md +137 -48
- data/VERSION +1 -1
- data/bin/slinky +0 -3
- data/lib/slinky/builder.rb +7 -2
- data/lib/slinky/compiled_file.rb +1 -1
- data/lib/slinky/compilers/clojurescript-compiler.rb +18 -0
- data/lib/slinky/compilers/coffee-compiler.rb +2 -3
- data/lib/slinky/compilers/haml-compiler.rb +3 -4
- data/lib/slinky/compilers/less-compiler.rb +14 -0
- data/lib/slinky/compilers/sass-compiler.rb +2 -3
- data/lib/slinky/compilers.rb +34 -2
- data/lib/slinky/config_reader.rb +49 -0
- data/lib/slinky/listener.rb +27 -6
- data/lib/slinky/live_reload.rb +51 -0
- data/lib/slinky/manifest.rb +37 -18
- data/lib/slinky/proxy_server.rb +3 -4
- data/lib/slinky/runner.rb +30 -13
- data/lib/slinky/server.rb +39 -30
- data/lib/slinky.rb +15 -12
- data/slinky.gemspec +21 -19
- data/spec/slinky_spec.rb +90 -11
- data/spec/spec_helper.rb +21 -0
- metadata +145 -58
- data/lib/slinky/compilers/coffee-helper +0 -3
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
|
-
|
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(
|
291
|
-
File.exists?("/src/build/build").
|
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
|
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
|
-
|
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.
|
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-
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
60
|
-
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:
|
101
|
+
version: '1.16'
|
66
102
|
type: :runtime
|
67
103
|
prerelease: false
|
68
|
-
version_requirements:
|
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:
|
71
|
-
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:
|
117
|
+
version: 0.9.6
|
77
118
|
type: :runtime
|
78
119
|
prerelease: false
|
79
|
-
version_requirements:
|
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:
|
82
|
-
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:
|
133
|
+
version: 0.4.5
|
88
134
|
type: :runtime
|
89
135
|
prerelease: false
|
90
|
-
version_requirements:
|
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:
|
93
|
-
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:
|
149
|
+
version: 3.0.0
|
99
150
|
type: :runtime
|
100
151
|
prerelease: false
|
101
|
-
version_requirements:
|
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:
|
104
|
-
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:
|
165
|
+
version: 3.1.1
|
110
166
|
type: :runtime
|
111
167
|
prerelease: false
|
112
|
-
version_requirements:
|
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:
|
115
|
-
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:
|
181
|
+
version: 2.2.0
|
121
182
|
type: :runtime
|
122
183
|
prerelease: false
|
123
|
-
version_requirements:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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.
|
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:
|
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:
|
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:
|
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:
|
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:
|
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.
|
349
|
+
rubygems_version: 1.8.24
|
263
350
|
signing_key:
|
264
351
|
specification_version: 3
|
265
352
|
summary: Static file server for javascript apps
|