coffeescript-router 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/.gitignore +3 -0
  2. data/Cakefile +122 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/LICENSE.txt +19 -0
  6. data/README.md +18 -0
  7. data/Rakefile +2 -0
  8. data/SpecRunner.html +25 -0
  9. data/coffeescript-router.gemspec +19 -0
  10. data/lib/CoffeeScript.png +0 -0
  11. data/lib/coffeescript-router/version.rb +5 -0
  12. data/lib/jasmine-1.0.2/MIT.LICENSE +20 -0
  13. data/lib/jasmine-1.0.2/jasmine-html.js +188 -0
  14. data/lib/jasmine-1.0.2/jasmine.css +166 -0
  15. data/lib/jasmine-1.0.2/jasmine.js +2421 -0
  16. data/node_modules/.bin/cake +7 -0
  17. data/node_modules/.bin/coffee +7 -0
  18. data/node_modules/.bin/uglifyjs +212 -0
  19. data/node_modules/coffee-script/.npmignore +11 -0
  20. data/node_modules/coffee-script/LICENSE +22 -0
  21. data/node_modules/coffee-script/README +48 -0
  22. data/node_modules/coffee-script/Rakefile +78 -0
  23. data/node_modules/coffee-script/bin/cake +7 -0
  24. data/node_modules/coffee-script/bin/coffee +7 -0
  25. data/node_modules/coffee-script/lib/browser.js +75 -0
  26. data/node_modules/coffee-script/lib/cake.js +76 -0
  27. data/node_modules/coffee-script/lib/coffee-script.js +107 -0
  28. data/node_modules/coffee-script/lib/command.js +274 -0
  29. data/node_modules/coffee-script/lib/grammar.js +591 -0
  30. data/node_modules/coffee-script/lib/helpers.js +66 -0
  31. data/node_modules/coffee-script/lib/index.js +8 -0
  32. data/node_modules/coffee-script/lib/lexer.js +650 -0
  33. data/node_modules/coffee-script/lib/nodes.js +2230 -0
  34. data/node_modules/coffee-script/lib/optparse.js +111 -0
  35. data/node_modules/coffee-script/lib/parser.js +676 -0
  36. data/node_modules/coffee-script/lib/repl.js +114 -0
  37. data/node_modules/coffee-script/lib/rewriter.js +359 -0
  38. data/node_modules/coffee-script/lib/scope.js +120 -0
  39. data/node_modules/coffee-script/package.json +27 -0
  40. data/node_modules/growl/History.md +16 -0
  41. data/node_modules/growl/Readme.md +74 -0
  42. data/node_modules/growl/lib/growl.js +82 -0
  43. data/node_modules/growl/package.json +6 -0
  44. data/node_modules/growl/test.js +17 -0
  45. data/node_modules/uglify-js/.gitignore +4 -0
  46. data/node_modules/uglify-js/README.html +825 -0
  47. data/node_modules/uglify-js/README.org +431 -0
  48. data/node_modules/uglify-js/bin/uglifyjs +212 -0
  49. data/node_modules/uglify-js/docstyle.css +75 -0
  50. data/node_modules/uglify-js/lib/parse-js.js +1319 -0
  51. data/node_modules/uglify-js/lib/process.js +1614 -0
  52. data/node_modules/uglify-js/lib/squeeze-more.js +22 -0
  53. data/node_modules/uglify-js/package.json +22 -0
  54. data/node_modules/uglify-js/test/beautify.js +28 -0
  55. data/node_modules/uglify-js/test/testparser.js +402 -0
  56. data/node_modules/uglify-js/test/unit/compress/expected/array1.js +1 -0
  57. data/node_modules/uglify-js/test/unit/compress/expected/array2.js +1 -0
  58. data/node_modules/uglify-js/test/unit/compress/expected/array3.js +1 -0
  59. data/node_modules/uglify-js/test/unit/compress/expected/array4.js +1 -0
  60. data/node_modules/uglify-js/test/unit/compress/expected/assignment.js +1 -0
  61. data/node_modules/uglify-js/test/unit/compress/expected/concatstring.js +1 -0
  62. data/node_modules/uglify-js/test/unit/compress/expected/const.js +1 -0
  63. data/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js +1 -0
  64. data/node_modules/uglify-js/test/unit/compress/expected/forstatement.js +1 -0
  65. data/node_modules/uglify-js/test/unit/compress/expected/if.js +1 -0
  66. data/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js +1 -0
  67. data/node_modules/uglify-js/test/unit/compress/expected/issue10.js +1 -0
  68. data/node_modules/uglify-js/test/unit/compress/expected/issue11.js +1 -0
  69. data/node_modules/uglify-js/test/unit/compress/expected/issue13.js +1 -0
  70. data/node_modules/uglify-js/test/unit/compress/expected/issue14.js +1 -0
  71. data/node_modules/uglify-js/test/unit/compress/expected/issue16.js +1 -0
  72. data/node_modules/uglify-js/test/unit/compress/expected/issue17.js +1 -0
  73. data/node_modules/uglify-js/test/unit/compress/expected/issue20.js +1 -0
  74. data/node_modules/uglify-js/test/unit/compress/expected/issue21.js +1 -0
  75. data/node_modules/uglify-js/test/unit/compress/expected/issue25.js +1 -0
  76. data/node_modules/uglify-js/test/unit/compress/expected/issue27.js +1 -0
  77. data/node_modules/uglify-js/test/unit/compress/expected/issue28.js +1 -0
  78. data/node_modules/uglify-js/test/unit/compress/expected/issue29.js +1 -0
  79. data/node_modules/uglify-js/test/unit/compress/expected/issue30.js +1 -0
  80. data/node_modules/uglify-js/test/unit/compress/expected/issue34.js +1 -0
  81. data/node_modules/uglify-js/test/unit/compress/expected/issue4.js +1 -0
  82. data/node_modules/uglify-js/test/unit/compress/expected/issue48.js +1 -0
  83. data/node_modules/uglify-js/test/unit/compress/expected/issue50.js +1 -0
  84. data/node_modules/uglify-js/test/unit/compress/expected/issue53.js +1 -0
  85. data/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js +1 -0
  86. data/node_modules/uglify-js/test/unit/compress/expected/issue68.js +1 -0
  87. data/node_modules/uglify-js/test/unit/compress/expected/issue69.js +1 -0
  88. data/node_modules/uglify-js/test/unit/compress/expected/issue9.js +1 -0
  89. data/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js +1 -0
  90. data/node_modules/uglify-js/test/unit/compress/expected/var.js +1 -0
  91. data/node_modules/uglify-js/test/unit/compress/test/array1.js +3 -0
  92. data/node_modules/uglify-js/test/unit/compress/test/array2.js +4 -0
  93. data/node_modules/uglify-js/test/unit/compress/test/array3.js +4 -0
  94. data/node_modules/uglify-js/test/unit/compress/test/array4.js +6 -0
  95. data/node_modules/uglify-js/test/unit/compress/test/assignment.js +20 -0
  96. data/node_modules/uglify-js/test/unit/compress/test/concatstring.js +3 -0
  97. data/node_modules/uglify-js/test/unit/compress/test/const.js +5 -0
  98. data/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js +4 -0
  99. data/node_modules/uglify-js/test/unit/compress/test/forstatement.js +10 -0
  100. data/node_modules/uglify-js/test/unit/compress/test/if.js +6 -0
  101. data/node_modules/uglify-js/test/unit/compress/test/ifreturn.js +9 -0
  102. data/node_modules/uglify-js/test/unit/compress/test/issue10.js +1 -0
  103. data/node_modules/uglify-js/test/unit/compress/test/issue11.js +3 -0
  104. data/node_modules/uglify-js/test/unit/compress/test/issue13.js +1 -0
  105. data/node_modules/uglify-js/test/unit/compress/test/issue14.js +1 -0
  106. data/node_modules/uglify-js/test/unit/compress/test/issue16.js +1 -0
  107. data/node_modules/uglify-js/test/unit/compress/test/issue17.js +4 -0
  108. data/node_modules/uglify-js/test/unit/compress/test/issue20.js +1 -0
  109. data/node_modules/uglify-js/test/unit/compress/test/issue21.js +6 -0
  110. data/node_modules/uglify-js/test/unit/compress/test/issue25.js +7 -0
  111. data/node_modules/uglify-js/test/unit/compress/test/issue27.js +1 -0
  112. data/node_modules/uglify-js/test/unit/compress/test/issue28.js +3 -0
  113. data/node_modules/uglify-js/test/unit/compress/test/issue29.js +1 -0
  114. data/node_modules/uglify-js/test/unit/compress/test/issue30.js +3 -0
  115. data/node_modules/uglify-js/test/unit/compress/test/issue34.js +3 -0
  116. data/node_modules/uglify-js/test/unit/compress/test/issue4.js +3 -0
  117. data/node_modules/uglify-js/test/unit/compress/test/issue48.js +1 -0
  118. data/node_modules/uglify-js/test/unit/compress/test/issue50.js +9 -0
  119. data/node_modules/uglify-js/test/unit/compress/test/issue53.js +1 -0
  120. data/node_modules/uglify-js/test/unit/compress/test/issue54.1.js +3 -0
  121. data/node_modules/uglify-js/test/unit/compress/test/issue68.js +5 -0
  122. data/node_modules/uglify-js/test/unit/compress/test/issue69.js +1 -0
  123. data/node_modules/uglify-js/test/unit/compress/test/issue9.js +4 -0
  124. data/node_modules/uglify-js/test/unit/compress/test/strict-equals.js +3 -0
  125. data/node_modules/uglify-js/test/unit/compress/test/var.js +3 -0
  126. data/node_modules/uglify-js/test/unit/scripts.js +46 -0
  127. data/node_modules/uglify-js/uglify-js.js +2 -0
  128. data/src/coffeescript/coffeescript-router.js.coffee +31 -0
  129. data/test/coffeescript/routerSpec.coffee +47 -0
  130. data/vendor/assets/javascripts/coffeescript-router.min.js +1 -0
  131. metadata +187 -0
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+
3
+ var path = require('path');
4
+ var fs = require('fs');
5
+ var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
6
+
7
+ require(lib + '/cake').run();
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+
3
+ var path = require('path');
4
+ var fs = require('fs');
5
+ var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
6
+
7
+ require(lib + '/command').run();
@@ -0,0 +1,212 @@
1
+ #! /usr/bin/env node
2
+ // -*- js -*-
3
+
4
+ global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util");
5
+ var fs = require("fs");
6
+ var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js
7
+ jsp = uglify.parser,
8
+ pro = uglify.uglify;
9
+
10
+ var options = {
11
+ ast: false,
12
+ mangle: true,
13
+ mangle_toplevel: false,
14
+ squeeze: true,
15
+ make_seqs: true,
16
+ dead_code: true,
17
+ verbose: false,
18
+ show_copyright: true,
19
+ out_same_file: false,
20
+ max_line_length: 32 * 1024,
21
+ unsafe: false,
22
+ reserved_names: null,
23
+ codegen_options: {
24
+ ascii_only: false,
25
+ beautify: false,
26
+ indent_level: 4,
27
+ indent_start: 0,
28
+ quote_keys: false,
29
+ space_colon: false
30
+ },
31
+ output: true // stdout
32
+ };
33
+
34
+ var args = jsp.slice(process.argv, 2);
35
+ var filename;
36
+
37
+ out: while (args.length > 0) {
38
+ var v = args.shift();
39
+ switch (v) {
40
+ case "-b":
41
+ case "--beautify":
42
+ options.codegen_options.beautify = true;
43
+ break;
44
+ case "-i":
45
+ case "--indent":
46
+ options.codegen_options.indent_level = args.shift();
47
+ break;
48
+ case "-q":
49
+ case "--quote-keys":
50
+ options.codegen_options.quote_keys = true;
51
+ break;
52
+ case "-mt":
53
+ case "--mangle-toplevel":
54
+ options.mangle_toplevel = true;
55
+ break;
56
+ case "--no-mangle":
57
+ case "-nm":
58
+ options.mangle = false;
59
+ break;
60
+ case "--no-squeeze":
61
+ case "-ns":
62
+ options.squeeze = false;
63
+ break;
64
+ case "--no-seqs":
65
+ options.make_seqs = false;
66
+ break;
67
+ case "--no-dead-code":
68
+ options.dead_code = false;
69
+ break;
70
+ case "--no-copyright":
71
+ case "-nc":
72
+ options.show_copyright = false;
73
+ break;
74
+ case "-o":
75
+ case "--output":
76
+ options.output = args.shift();
77
+ break;
78
+ case "--overwrite":
79
+ options.out_same_file = true;
80
+ break;
81
+ case "-v":
82
+ case "--verbose":
83
+ options.verbose = true;
84
+ break;
85
+ case "--ast":
86
+ options.ast = true;
87
+ break;
88
+ case "--unsafe":
89
+ options.unsafe = true;
90
+ break;
91
+ case "--max-line-len":
92
+ options.max_line_length = parseInt(args.shift(), 10);
93
+ break;
94
+ case "--reserved-names":
95
+ options.reserved_names = args.shift().split(",");
96
+ break;
97
+ case "--ascii":
98
+ options.codegen_options.ascii_only = true;
99
+ break;
100
+ default:
101
+ filename = v;
102
+ break out;
103
+ }
104
+ }
105
+
106
+ if (options.verbose) {
107
+ pro.set_logger(function(msg){
108
+ sys.debug(msg);
109
+ });
110
+ }
111
+
112
+ jsp.set_logger(function(msg){
113
+ sys.debug(msg);
114
+ });
115
+
116
+ if (filename) {
117
+ fs.readFile(filename, "utf8", function(err, text){
118
+ if (err) throw err;
119
+ output(squeeze_it(text));
120
+ });
121
+ } else {
122
+ var stdin = process.openStdin();
123
+ stdin.setEncoding("utf8");
124
+ var text = "";
125
+ stdin.on("data", function(chunk){
126
+ text += chunk;
127
+ });
128
+ stdin.on("end", function() {
129
+ output(squeeze_it(text));
130
+ });
131
+ }
132
+
133
+ function output(text) {
134
+ var out;
135
+ if (options.out_same_file && filename)
136
+ options.output = filename;
137
+ if (options.output === true) {
138
+ out = process.stdout;
139
+ } else {
140
+ out = fs.createWriteStream(options.output, {
141
+ flags: "w",
142
+ encoding: "utf8",
143
+ mode: 0644
144
+ });
145
+ }
146
+ out.write(text);
147
+ if (options.output !== true) {
148
+ out.end();
149
+ }
150
+ };
151
+
152
+ // --------- main ends here.
153
+
154
+ function show_copyright(comments) {
155
+ var ret = "";
156
+ for (var i = 0; i < comments.length; ++i) {
157
+ var c = comments[i];
158
+ if (c.type == "comment1") {
159
+ ret += "//" + c.value + "\n";
160
+ } else {
161
+ ret += "/*" + c.value + "*/";
162
+ }
163
+ }
164
+ return ret;
165
+ };
166
+
167
+ function squeeze_it(code) {
168
+ var result = "";
169
+ if (options.show_copyright) {
170
+ var tok = jsp.tokenizer(code), c;
171
+ c = tok();
172
+ result += show_copyright(c.comments_before);
173
+ }
174
+ try {
175
+ var ast = time_it("parse", function(){ return jsp.parse(code); });
176
+ if (options.mangle) ast = time_it("mangle", function(){
177
+ return pro.ast_mangle(ast, {
178
+ toplevel: options.mangle_toplevel,
179
+ except: options.reserved_names
180
+ });
181
+ });
182
+ if (options.squeeze) ast = time_it("squeeze", function(){
183
+ ast = pro.ast_squeeze(ast, {
184
+ make_seqs : options.make_seqs,
185
+ dead_code : options.dead_code,
186
+ keep_comps : !options.unsafe
187
+ });
188
+ if (options.unsafe)
189
+ ast = pro.ast_squeeze_more(ast);
190
+ return ast;
191
+ });
192
+ if (options.ast)
193
+ return sys.inspect(ast, null, null);
194
+ result += time_it("generate", function(){ return pro.gen_code(ast, options.codegen_options) });
195
+ if (!options.codegen_options.beautify && options.max_line_length) {
196
+ result = time_it("split", function(){ return pro.split_lines(result, options.max_line_length) });
197
+ }
198
+ return result;
199
+ } catch(ex) {
200
+ sys.debug(ex.stack);
201
+ sys.debug(sys.inspect(ex));
202
+ sys.debug(JSON.stringify(ex));
203
+ }
204
+ };
205
+
206
+ function time_it(name, cont) {
207
+ if (!options.verbose)
208
+ return cont();
209
+ var t1 = new Date().getTime();
210
+ try { return cont(); }
211
+ finally { sys.debug("// " + name + ": " + ((new Date().getTime() - t1) / 1000).toFixed(3) + " sec."); }
212
+ };
@@ -0,0 +1,11 @@
1
+ *.coffee
2
+ *.html
3
+ .DS_Store
4
+ .git*
5
+ Cakefile
6
+ documentation/
7
+ examples/
8
+ extras/
9
+ raw/
10
+ src/
11
+ test/
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2011 Jeremy Ashkenas
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,48 @@
1
+ =
2
+ {
3
+ } } {
4
+ { { } }
5
+ } }{ {
6
+ { }{ } } _____ __ __
7
+ ( }{ }{ { ) / ____| / _|/ _|
8
+ .- { { } { }} -. | | ___ | |_| |_ ___ ___
9
+ ( ( } { } { } } ) | | / _ \| _| _/ _ \/ _ \
10
+ |`-..________ ..-'| | |___| (_) | | | || __/ __/
11
+ | | \_____\___/|_| |_| \___|\___|
12
+ | ;--.
13
+ | (__ \ _____ _ _
14
+ | | ) ) / ____| (_) | |
15
+ | |/ / | (___ ___ _ __ _ _ __ | |_
16
+ | ( / \___ \ / __| '__| | '_ \| __|
17
+ | |/ ____) | (__| | | | |_) | |_
18
+ | | |_____/ \___|_| |_| .__/ \__|
19
+ `-.._________..-' | |
20
+ |_|
21
+
22
+
23
+ CoffeeScript is a little language that compiles into JavaScript.
24
+
25
+ Install Node.js, and then the CoffeeScript compiler:
26
+ sudo bin/cake install
27
+
28
+ Or, if you have the Node Package Manager installed:
29
+ npm install -g coffee-script
30
+ (Leave off the -g if you don't wish to install globally.)
31
+
32
+ Compile a script:
33
+ coffee /path/to/script.coffee
34
+
35
+ For documentation, usage, and examples, see:
36
+ http://coffeescript.org/
37
+
38
+ To suggest a feature, report a bug, or general discussion:
39
+ http://github.com/jashkenas/coffee-script/issues/
40
+
41
+ If you'd like to chat, drop by #coffeescript on Freenode IRC,
42
+ or on webchat.freenode.net.
43
+
44
+ The source repository:
45
+ git://github.com/jashkenas/coffee-script.git
46
+
47
+ All contributors are listed here:
48
+ http://github.com/jashkenas/coffee-script/contributors
@@ -0,0 +1,78 @@
1
+ require 'rubygems'
2
+ require 'erb'
3
+ require 'fileutils'
4
+ require 'rake/testtask'
5
+ require 'json'
6
+
7
+ desc "Build the documentation page"
8
+ task :doc do
9
+ source = 'documentation/index.html.erb'
10
+ child = fork { exec "bin/coffee -bcw -o documentation/js documentation/coffee/*.coffee" }
11
+ at_exit { Process.kill("INT", child) }
12
+ Signal.trap("INT") { exit }
13
+ loop do
14
+ mtime = File.stat(source).mtime
15
+ if !@mtime || mtime > @mtime
16
+ rendered = ERB.new(File.read(source)).result(binding)
17
+ File.open('index.html', 'w+') {|f| f.write(rendered) }
18
+ end
19
+ @mtime = mtime
20
+ sleep 1
21
+ end
22
+ end
23
+
24
+ desc "Build coffee-script-source gem"
25
+ task :gem do
26
+ require 'rubygems'
27
+ require 'rubygems/package'
28
+
29
+ gemspec = Gem::Specification.new do |s|
30
+ s.name = 'coffee-script-source'
31
+ s.version = JSON.parse(File.read('package.json'))["version"]
32
+ s.date = Time.now.strftime("%Y-%m-%d")
33
+
34
+ s.homepage = "http://jashkenas.github.com/coffee-script/"
35
+ s.summary = "The CoffeeScript Compiler"
36
+ s.description = <<-EOS
37
+ CoffeeScript is a little language that compiles into JavaScript.
38
+ Underneath all of those embarrassing braces and semicolons,
39
+ JavaScript has always had a gorgeous object model at its heart.
40
+ CoffeeScript is an attempt to expose the good parts of JavaScript
41
+ in a simple way.
42
+ EOS
43
+
44
+ s.files = [
45
+ 'lib/coffee_script/coffee-script.js',
46
+ 'lib/coffee_script/source.rb'
47
+ ]
48
+
49
+ s.authors = ['Jeremy Ashkenas']
50
+ s.email = 'jashkenas@gmail.com'
51
+ s.rubyforge_project = 'coffee-script-source'
52
+ end
53
+
54
+ file = File.open("coffee-script-source.gem", "w")
55
+ Gem::Package.open(file, 'w') do |pkg|
56
+ pkg.metadata = gemspec.to_yaml
57
+
58
+ path = "lib/coffee_script/source.rb"
59
+ contents = <<-ERUBY
60
+ module CoffeeScript
61
+ module Source
62
+ def self.bundled_path
63
+ File.expand_path("../coffee-script.js", __FILE__)
64
+ end
65
+ end
66
+ end
67
+ ERUBY
68
+ pkg.add_file_simple(path, 0644, contents.size) do |tar_io|
69
+ tar_io.write(contents)
70
+ end
71
+
72
+ contents = File.read("extras/coffee-script.js")
73
+ path = "lib/coffee_script/coffee-script.js"
74
+ pkg.add_file_simple(path, 0644, contents.size) do |tar_io|
75
+ tar_io.write(contents)
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+
3
+ var path = require('path');
4
+ var fs = require('fs');
5
+ var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
6
+
7
+ require(lib + '/cake').run();
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+
3
+ var path = require('path');
4
+ var fs = require('fs');
5
+ var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
6
+
7
+ require(lib + '/command').run();
@@ -0,0 +1,75 @@
1
+ (function() {
2
+ var CoffeeScript, runScripts;
3
+ CoffeeScript = require('./coffee-script');
4
+ CoffeeScript.require = require;
5
+ CoffeeScript.eval = function(code, options) {
6
+ return eval(CoffeeScript.compile(code, options));
7
+ };
8
+ CoffeeScript.run = function(code, options) {
9
+ if (options == null) {
10
+ options = {};
11
+ }
12
+ options.bare = true;
13
+ return Function(CoffeeScript.compile(code, options))();
14
+ };
15
+ if (typeof window === "undefined" || window === null) {
16
+ return;
17
+ }
18
+ CoffeeScript.load = function(url, callback) {
19
+ var xhr;
20
+ xhr = new (window.ActiveXObject || XMLHttpRequest)('Microsoft.XMLHTTP');
21
+ xhr.open('GET', url, true);
22
+ if ('overrideMimeType' in xhr) {
23
+ xhr.overrideMimeType('text/plain');
24
+ }
25
+ xhr.onreadystatechange = function() {
26
+ var _ref;
27
+ if (xhr.readyState === 4) {
28
+ if ((_ref = xhr.status) === 0 || _ref === 200) {
29
+ CoffeeScript.run(xhr.responseText);
30
+ } else {
31
+ throw new Error("Could not load " + url);
32
+ }
33
+ if (callback) {
34
+ return callback();
35
+ }
36
+ }
37
+ };
38
+ return xhr.send(null);
39
+ };
40
+ runScripts = function() {
41
+ var coffees, execute, index, length, s, scripts;
42
+ scripts = document.getElementsByTagName('script');
43
+ coffees = (function() {
44
+ var _i, _len, _results;
45
+ _results = [];
46
+ for (_i = 0, _len = scripts.length; _i < _len; _i++) {
47
+ s = scripts[_i];
48
+ if (s.type === 'text/coffeescript') {
49
+ _results.push(s);
50
+ }
51
+ }
52
+ return _results;
53
+ })();
54
+ index = 0;
55
+ length = coffees.length;
56
+ (execute = function() {
57
+ var script;
58
+ script = coffees[index++];
59
+ if ((script != null ? script.type : void 0) === 'text/coffeescript') {
60
+ if (script.src) {
61
+ return CoffeeScript.load(script.src, execute);
62
+ } else {
63
+ CoffeeScript.run(script.innerHTML);
64
+ return execute();
65
+ }
66
+ }
67
+ })();
68
+ return null;
69
+ };
70
+ if (window.addEventListener) {
71
+ addEventListener('DOMContentLoaded', runScripts, false);
72
+ } else {
73
+ attachEvent('onload', runScripts);
74
+ }
75
+ }).call(this);