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/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
|