mobile_template 0.0.1
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/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +28 -0
- data/Rakefile +3 -0
- data/bin/mobile_template +71 -0
- data/lib/mobile_template/version.rb +4 -0
- data/lib/mobile_template.rb +5 -0
- data/mobile_template.gemspec +21 -0
- data/templates/assets/Gemfile +4 -0
- data/templates/assets/config.rb +96 -0
- data/templates/assets/config.ru +4 -0
- data/templates/assets/source/images/vendor/ajax-loader.gif +0 -0
- data/templates/assets/source/images/vendor/ajax-loader.png +0 -0
- data/templates/assets/source/images/vendor/icons-18-black.png +0 -0
- data/templates/assets/source/images/vendor/icons-18-white.png +0 -0
- data/templates/assets/source/images/vendor/icons-36-black.png +0 -0
- data/templates/assets/source/images/vendor/icons-36-white.png +0 -0
- data/templates/assets/source/index.html.erb +2 -0
- data/templates/assets/source/javascripts/app/index.js.coffee +2 -0
- data/templates/assets/source/javascripts/application.js.coffee +5 -0
- data/templates/assets/source/javascripts/vendor/cordova.js +4841 -0
- data/templates/assets/source/javascripts/vendor/jquery.js +9267 -0
- data/templates/assets/source/javascripts/vendor/jquery.mobile.js +7410 -0
- data/templates/assets/source/layout.erb +24 -0
- data/templates/assets/source/stylesheets/application.css.scss +2 -0
- data/templates/assets/source/stylesheets/vendor/jquery.mobile.css.scss +1872 -0
- data/templates/cordova_android/.gitignore +18 -0
- data/templates/cordova_android/LICENSE +202 -0
- data/templates/cordova_android/NOTICE +5 -0
- data/templates/cordova_android/README.md +95 -0
- data/templates/cordova_android/VERSION +1 -0
- data/templates/cordova_android/bin/BOOM +4 -0
- data/templates/cordova_android/bin/autotest +2 -0
- data/templates/cordova_android/bin/bench +29 -0
- data/templates/cordova_android/bin/create +46 -0
- data/templates/cordova_android/bin/create.bat +1 -0
- data/templates/cordova_android/bin/create.js +88 -0
- data/templates/cordova_android/bin/create.xml +79 -0
- data/templates/cordova_android/bin/node_modules/.bin/cake +7 -0
- data/templates/cordova_android/bin/node_modules/.bin/coffee +7 -0
- data/templates/cordova_android/bin/node_modules/.bin/nodeunit +120 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/.npmignore +11 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/LICENSE +22 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/README +48 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/Rakefile +78 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/bin/cake +7 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/bin/coffee +7 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/extras/jsl.conf +44 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/browser.js +75 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/cake.js +76 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/coffee-script.js +135 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/command.js +301 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/grammar.js +591 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/helpers.js +66 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/index.js +8 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/lexer.js +656 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/nodes.js +2289 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/optparse.js +111 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/parser.js +676 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/repl.js +123 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/rewriter.js +363 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/lib/scope.js +120 -0
- data/templates/cordova_android/bin/node_modules/coffee-script/package.json +27 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/.gitignore +5 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/.npmignore +3 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/CONTRIBUTORS.md +60 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/LICENSE +19 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/Makefile +126 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/README.md +432 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/bin/nodeunit +120 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/bin/nodeunit.json +10 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/deps/async.js +623 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/deps/console.log.js +55 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/deps/ejs.js +125 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/deps/json2.js +483 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/examples/browser/nodeunit.js +1757 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/examples/browser/suite1.js +12 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/examples/browser/suite2.js +13 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/examples/browser/test.html +16 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/img/example_fail.png +0 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/img/example_pass.png +0 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/index.js +3 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/assert.js +316 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/core.js +260 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/nodeunit.js +82 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/reporters/browser.js +119 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/reporters/default.js +123 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/reporters/html.js +107 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/reporters/index.js +9 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/reporters/junit.js +183 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/reporters/minimal.js +112 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/reporters/skip_passed.js +105 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/track.js +48 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/types.js +187 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/lib/utils.js +209 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/man1/nodeunit.1 +95 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/nodelint.cfg +4 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/package.json +56 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/share/junit.xml.ejs +19 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/share/license.js +11 -0
- data/templates/cordova_android/bin/node_modules/nodeunit/share/nodeunit.css +70 -0
- data/templates/cordova_android/bin/templates/project/.cordova/android/readme.md +1 -0
- data/templates/cordova_android/bin/templates/project/.cordova/readme.md +3 -0
- data/templates/cordova_android/bin/templates/project/cordova/create +36 -0
- data/templates/cordova_android/bin/templates/project/cordova/debug +9 -0
- data/templates/cordova_android/bin/templates/project/cordova/emulate +12 -0
- data/templates/cordova_android/bin/templates/project/cordova/log +3 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/Activity.java +16 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/project/AndroidManifest.xml +50 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/project/assets/www/index.html +42 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/project/assets/www/main.js +146 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/project/assets/www/master.css +96 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/project/res/drawable/icon.png +0 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/project/res/xml/cordova.xml +5 -0
- data/templates/cordova_android/bin/templates/project/cordova/templates/project/res/xml/plugins.xml +19 -0
- data/templates/cordova_android/bin/test +26 -0
- data/templates/cordova_android/bin/tests/autotest.coffee +4 -0
- data/templates/cordova_android/bin/tests/create.coffee +21 -0
- data/templates/cordova_android/bin/tests/debug.coffee +0 -0
- data/templates/cordova_android/bin/tests/test.coffee +0 -0
- data/templates/cordova_android/framework/.classpath +8 -0
- data/templates/cordova_android/framework/.project +33 -0
- data/templates/cordova_android/framework/AndroidManifest.xml +68 -0
- data/templates/cordova_android/framework/ant.properties +34 -0
- data/templates/cordova_android/framework/assets/js/accelerometer.js +137 -0
- data/templates/cordova_android/framework/assets/js/app.js +89 -0
- data/templates/cordova_android/framework/assets/js/battery.js +134 -0
- data/templates/cordova_android/framework/assets/js/camera.js +168 -0
- data/templates/cordova_android/framework/assets/js/capture.js +203 -0
- data/templates/cordova_android/framework/assets/js/compass.js +168 -0
- data/templates/cordova_android/framework/assets/js/contact.js +310 -0
- data/templates/cordova_android/framework/assets/js/cordova.android.js +4841 -0
- data/templates/cordova_android/framework/assets/js/cordova.js.base +924 -0
- data/templates/cordova_android/framework/assets/js/crypto.js +54 -0
- data/templates/cordova_android/framework/assets/js/device.js +83 -0
- data/templates/cordova_android/framework/assets/js/file.js +1082 -0
- data/templates/cordova_android/framework/assets/js/filetransfer.js +125 -0
- data/templates/cordova_android/framework/assets/js/geolocation.js +209 -0
- data/templates/cordova_android/framework/assets/js/header.txt +19 -0
- data/templates/cordova_android/framework/assets/js/media.js +233 -0
- data/templates/cordova_android/framework/assets/js/network.js +100 -0
- data/templates/cordova_android/framework/assets/js/notification.js +133 -0
- data/templates/cordova_android/framework/assets/js/position.js +100 -0
- data/templates/cordova_android/framework/assets/js/storage.js +439 -0
- data/templates/cordova_android/framework/assets/www/index.html +27 -0
- data/templates/cordova_android/framework/build.xml +216 -0
- data/templates/cordova_android/framework/libs/commons-codec-1.3.jar +0 -0
- data/templates/cordova_android/framework/proguard-project.txt +20 -0
- data/templates/cordova_android/framework/project.properties +14 -0
- data/templates/cordova_android/framework/res/drawable/icon.png +0 -0
- data/templates/cordova_android/framework/res/drawable/splash.png +0 -0
- data/templates/cordova_android/framework/res/layout/main.xml +29 -0
- data/templates/cordova_android/framework/res/values/strings.xml +23 -0
- data/templates/cordova_android/framework/res/xml/cordova.xml +37 -0
- data/templates/cordova_android/framework/res/xml/plugins.xml +37 -0
- data/templates/cordova_android/framework/src/com/phonegap/api/IPlugin.java +27 -0
- data/templates/cordova_android/framework/src/com/phonegap/api/LOG.java +28 -0
- data/templates/cordova_android/framework/src/com/phonegap/api/PhonegapActivity.java +28 -0
- data/templates/cordova_android/framework/src/com/phonegap/api/Plugin.java +27 -0
- data/templates/cordova_android/framework/src/com/phonegap/api/PluginManager.java +35 -0
- data/templates/cordova_android/framework/src/com/phonegap/api/PluginResult.java +53 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/AccelListener.java +311 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/App.java +198 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/AudioHandler.java +364 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/AudioPlayer.java +450 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/AuthenticationToken.java +69 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/BatteryListener.java +156 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/CallbackServer.java +431 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/CameraLauncher.java +500 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/Capture.java +400 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/CompassListener.java +308 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/ContactAccessor.java +198 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/ContactAccessorSdk5.java +1934 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/ContactManager.java +113 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/CordovaChromeClient.java +314 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/CordovaWebViewClient.java +306 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/Device.java +219 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/DirectoryManager.java +161 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/DroidGap.java +1417 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/ExifHelper.java +165 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/FileTransfer.java +458 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/FileUploadResult.java +63 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/FileUtils.java +1048 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/GeoBroker.java +165 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/GeoListener.java +133 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/GpsListener.java +163 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/HttpHandler.java +80 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/LinearLayoutSoftKeyboardDetect.java +104 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/NetworkListener.java +153 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/NetworkManager.java +248 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/Notification.java +366 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/PreferenceNode.java +34 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/PreferenceSet.java +62 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/StandAlone.java +35 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/Storage.java +239 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/TempListener.java +112 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/api/CordovaInterface.java +145 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/api/IPlugin.java +116 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/api/LOG.java +234 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/api/Plugin.java +210 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/api/PluginManager.java +359 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/api/PluginResult.java +119 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/file/EncodingException.java +28 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/file/FileExistsException.java +28 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/file/InvalidModificationException.java +29 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/file/NoModificationAllowedException.java +28 -0
- data/templates/cordova_android/framework/src/org/apache/cordova/file/TypeMismatchException.java +29 -0
- data/templates/cordova_android/framework/test/org/apache/cordova/PreferenceNodeTest.java +53 -0
- data/templates/cordova_android/framework/test/org/apache/cordova/PreferenceSetTest.java +73 -0
- metadata +279 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compileScript, compileScripts, compileStdio, contents, exec, forkNode, fs, helpers, lint, loadRequires, optionParser, optparse, opts, parseOptions, path, printLine, printTokens, printWarn, sources, spawn, usage, version, watch, writeJs, _ref;
|
|
3
|
+
fs = require('fs');
|
|
4
|
+
path = require('path');
|
|
5
|
+
helpers = require('./helpers');
|
|
6
|
+
optparse = require('./optparse');
|
|
7
|
+
CoffeeScript = require('./coffee-script');
|
|
8
|
+
_ref = require('child_process'), spawn = _ref.spawn, exec = _ref.exec;
|
|
9
|
+
EventEmitter = require('events').EventEmitter;
|
|
10
|
+
helpers.extend(CoffeeScript, new EventEmitter);
|
|
11
|
+
printLine = function(line) {
|
|
12
|
+
return process.stdout.write(line + '\n');
|
|
13
|
+
};
|
|
14
|
+
printWarn = function(line) {
|
|
15
|
+
return process.binding('stdio').writeError(line + '\n');
|
|
16
|
+
};
|
|
17
|
+
BANNER = 'Usage: coffee [options] path/to/script.coffee';
|
|
18
|
+
SWITCHES = [['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-o', '--output [DIR]', 'set the directory for compiled JavaScript'], ['-j', '--join [FILE]', 'concatenate the scripts before compiling'], ['-w', '--watch', 'watch scripts for changes, and recompile'], ['-p', '--print', 'print the compiled JavaScript to stdout'], ['-l', '--lint', 'pipe the compiled JavaScript through JavaScript Lint'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-e', '--eval', 'compile a string from the command line'], ['-r', '--require [FILE*]', 'require a library before executing your script'], ['-b', '--bare', 'compile without the top-level function wrapper'], ['-t', '--tokens', 'print the tokens that the lexer produces'], ['-n', '--nodes', 'print the parse tree that Jison produces'], ['--nodejs [ARGS]', 'pass options through to the "node" binary'], ['-v', '--version', 'display CoffeeScript version'], ['-h', '--help', 'display this help message']];
|
|
19
|
+
opts = {};
|
|
20
|
+
sources = [];
|
|
21
|
+
contents = [];
|
|
22
|
+
optionParser = null;
|
|
23
|
+
exports.run = function() {
|
|
24
|
+
parseOptions();
|
|
25
|
+
if (opts.nodejs) {
|
|
26
|
+
return forkNode();
|
|
27
|
+
}
|
|
28
|
+
if (opts.help) {
|
|
29
|
+
return usage();
|
|
30
|
+
}
|
|
31
|
+
if (opts.version) {
|
|
32
|
+
return version();
|
|
33
|
+
}
|
|
34
|
+
if (opts.require) {
|
|
35
|
+
loadRequires();
|
|
36
|
+
}
|
|
37
|
+
if (opts.interactive) {
|
|
38
|
+
return require('./repl');
|
|
39
|
+
}
|
|
40
|
+
if (opts.stdio) {
|
|
41
|
+
return compileStdio();
|
|
42
|
+
}
|
|
43
|
+
if (opts.eval) {
|
|
44
|
+
return compileScript(null, sources[0]);
|
|
45
|
+
}
|
|
46
|
+
if (!sources.length) {
|
|
47
|
+
return require('./repl');
|
|
48
|
+
}
|
|
49
|
+
if (opts.run) {
|
|
50
|
+
opts.literals = sources.splice(1).concat(opts.literals);
|
|
51
|
+
}
|
|
52
|
+
process.ARGV = process.argv = process.argv.slice(0, 2).concat(opts.literals);
|
|
53
|
+
process.argv[0] = 'coffee';
|
|
54
|
+
process.execPath = require.main.filename;
|
|
55
|
+
return compileScripts();
|
|
56
|
+
};
|
|
57
|
+
compileScripts = function() {
|
|
58
|
+
var base, compile, source, unprocessed, _i, _j, _len, _len2, _results;
|
|
59
|
+
unprocessed = [];
|
|
60
|
+
for (_i = 0, _len = sources.length; _i < _len; _i++) {
|
|
61
|
+
source = sources[_i];
|
|
62
|
+
unprocessed[sources.indexOf(source)] = 1;
|
|
63
|
+
}
|
|
64
|
+
_results = [];
|
|
65
|
+
for (_j = 0, _len2 = sources.length; _j < _len2; _j++) {
|
|
66
|
+
source = sources[_j];
|
|
67
|
+
base = path.join(source);
|
|
68
|
+
compile = function(source, sourceIndex, topLevel) {
|
|
69
|
+
var remaining_files;
|
|
70
|
+
remaining_files = function() {
|
|
71
|
+
var total, x, _k, _len3;
|
|
72
|
+
total = 0;
|
|
73
|
+
for (_k = 0, _len3 = unprocessed.length; _k < _len3; _k++) {
|
|
74
|
+
x = unprocessed[_k];
|
|
75
|
+
total += x;
|
|
76
|
+
}
|
|
77
|
+
return total;
|
|
78
|
+
};
|
|
79
|
+
return path.exists(source, function(exists) {
|
|
80
|
+
if (topLevel && !exists && source.slice(-7) !== '.coffee') {
|
|
81
|
+
return compile("" + source + ".coffee", sourceIndex, topLevel);
|
|
82
|
+
}
|
|
83
|
+
if (topLevel && !exists) {
|
|
84
|
+
throw new Error("File not found: " + source);
|
|
85
|
+
}
|
|
86
|
+
return fs.stat(source, function(err, stats) {
|
|
87
|
+
if (err) {
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
if (stats.isDirectory()) {
|
|
91
|
+
return fs.readdir(source, function(err, files) {
|
|
92
|
+
var file, _k, _len3;
|
|
93
|
+
if (err) {
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
unprocessed[sourceIndex] += files.length;
|
|
97
|
+
for (_k = 0, _len3 = files.length; _k < _len3; _k++) {
|
|
98
|
+
file = files[_k];
|
|
99
|
+
compile(path.join(source, file), sourceIndex);
|
|
100
|
+
}
|
|
101
|
+
return unprocessed[sourceIndex] -= 1;
|
|
102
|
+
});
|
|
103
|
+
} else if (topLevel || path.extname(source) === '.coffee') {
|
|
104
|
+
fs.readFile(source, function(err, code) {
|
|
105
|
+
if (err) {
|
|
106
|
+
throw err;
|
|
107
|
+
}
|
|
108
|
+
unprocessed[sourceIndex] -= 1;
|
|
109
|
+
if (opts.join) {
|
|
110
|
+
contents[sourceIndex] = helpers.compact([contents[sourceIndex], code.toString()]).join('\n');
|
|
111
|
+
if (helpers.compact(contents).length > 0 && remaining_files() === 0) {
|
|
112
|
+
return compileJoin();
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
return compileScript(source, code.toString(), base);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
if (opts.watch && !opts.join) {
|
|
119
|
+
return watch(source, base);
|
|
120
|
+
}
|
|
121
|
+
} else {
|
|
122
|
+
return unprocessed[sourceIndex] -= 1;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
_results.push(compile(source, sources.indexOf(source), true));
|
|
128
|
+
}
|
|
129
|
+
return _results;
|
|
130
|
+
};
|
|
131
|
+
compileScript = function(file, input, base) {
|
|
132
|
+
var o, options, t, task;
|
|
133
|
+
o = opts;
|
|
134
|
+
options = compileOptions(file);
|
|
135
|
+
try {
|
|
136
|
+
t = task = {
|
|
137
|
+
file: file,
|
|
138
|
+
input: input,
|
|
139
|
+
options: options
|
|
140
|
+
};
|
|
141
|
+
CoffeeScript.emit('compile', task);
|
|
142
|
+
if (o.tokens) {
|
|
143
|
+
return printTokens(CoffeeScript.tokens(t.input));
|
|
144
|
+
} else if (o.nodes) {
|
|
145
|
+
return printLine(CoffeeScript.nodes(t.input).toString().trim());
|
|
146
|
+
} else if (o.run) {
|
|
147
|
+
return CoffeeScript.run(t.input, t.options);
|
|
148
|
+
} else {
|
|
149
|
+
t.output = CoffeeScript.compile(t.input, t.options);
|
|
150
|
+
CoffeeScript.emit('success', task);
|
|
151
|
+
if (o.print) {
|
|
152
|
+
return printLine(t.output.trim());
|
|
153
|
+
} else if (o.compile) {
|
|
154
|
+
return writeJs(t.file, t.output, base);
|
|
155
|
+
} else if (o.lint) {
|
|
156
|
+
return lint(t.file, t.output);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
} catch (err) {
|
|
160
|
+
CoffeeScript.emit('failure', err, task);
|
|
161
|
+
if (CoffeeScript.listeners('failure').length) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (o.watch) {
|
|
165
|
+
return printLine(err.message);
|
|
166
|
+
}
|
|
167
|
+
printWarn(err.stack);
|
|
168
|
+
return process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
compileStdio = function() {
|
|
172
|
+
var code, stdin;
|
|
173
|
+
code = '';
|
|
174
|
+
stdin = process.openStdin();
|
|
175
|
+
stdin.on('data', function(buffer) {
|
|
176
|
+
if (buffer) {
|
|
177
|
+
return code += buffer.toString();
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
return stdin.on('end', function() {
|
|
181
|
+
return compileScript(null, code);
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
compileJoin = function() {
|
|
185
|
+
var code;
|
|
186
|
+
code = contents.join('\n');
|
|
187
|
+
return compileScript(opts.join, code, opts.join);
|
|
188
|
+
};
|
|
189
|
+
loadRequires = function() {
|
|
190
|
+
var realFilename, req, _i, _len, _ref2;
|
|
191
|
+
realFilename = module.filename;
|
|
192
|
+
module.filename = '.';
|
|
193
|
+
_ref2 = opts.require;
|
|
194
|
+
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
|
195
|
+
req = _ref2[_i];
|
|
196
|
+
require(req);
|
|
197
|
+
}
|
|
198
|
+
return module.filename = realFilename;
|
|
199
|
+
};
|
|
200
|
+
watch = function(source, base) {
|
|
201
|
+
return fs.watchFile(source, {
|
|
202
|
+
persistent: true,
|
|
203
|
+
interval: 500
|
|
204
|
+
}, function(curr, prev) {
|
|
205
|
+
if (curr.size === prev.size && curr.mtime.getTime() === prev.mtime.getTime()) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
return fs.readFile(source, function(err, code) {
|
|
209
|
+
if (err) {
|
|
210
|
+
throw err;
|
|
211
|
+
}
|
|
212
|
+
return compileScript(source, code.toString(), base);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
writeJs = function(source, js, base) {
|
|
217
|
+
var baseDir, compile, dir, filename, jsPath, srcDir;
|
|
218
|
+
filename = path.basename(source, path.extname(source)) + '.js';
|
|
219
|
+
srcDir = path.dirname(source);
|
|
220
|
+
baseDir = base === '.' ? srcDir : srcDir.substring(base.length);
|
|
221
|
+
dir = opts.output ? path.join(opts.output, baseDir) : srcDir;
|
|
222
|
+
jsPath = path.join(dir, filename);
|
|
223
|
+
compile = function() {
|
|
224
|
+
if (js.length <= 0) {
|
|
225
|
+
js = ' ';
|
|
226
|
+
}
|
|
227
|
+
return fs.writeFile(jsPath, js, function(err) {
|
|
228
|
+
if (err) {
|
|
229
|
+
return printLine(err.message);
|
|
230
|
+
} else if (opts.compile && opts.watch) {
|
|
231
|
+
return console.log("" + ((new Date).toLocaleTimeString()) + " - compiled " + source);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
return path.exists(dir, function(exists) {
|
|
236
|
+
if (exists) {
|
|
237
|
+
return compile();
|
|
238
|
+
} else {
|
|
239
|
+
return exec("mkdir -p " + dir, compile);
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
};
|
|
243
|
+
lint = function(file, js) {
|
|
244
|
+
var conf, jsl, printIt;
|
|
245
|
+
printIt = function(buffer) {
|
|
246
|
+
return printLine(file + ':\t' + buffer.toString().trim());
|
|
247
|
+
};
|
|
248
|
+
conf = __dirname + '/../extras/jsl.conf';
|
|
249
|
+
jsl = spawn('jsl', ['-nologo', '-stdin', '-conf', conf]);
|
|
250
|
+
jsl.stdout.on('data', printIt);
|
|
251
|
+
jsl.stderr.on('data', printIt);
|
|
252
|
+
jsl.stdin.write(js);
|
|
253
|
+
return jsl.stdin.end();
|
|
254
|
+
};
|
|
255
|
+
printTokens = function(tokens) {
|
|
256
|
+
var strings, tag, token, value;
|
|
257
|
+
strings = (function() {
|
|
258
|
+
var _i, _len, _ref2, _results;
|
|
259
|
+
_results = [];
|
|
260
|
+
for (_i = 0, _len = tokens.length; _i < _len; _i++) {
|
|
261
|
+
token = tokens[_i];
|
|
262
|
+
_ref2 = [token[0], token[1].toString().replace(/\n/, '\\n')], tag = _ref2[0], value = _ref2[1];
|
|
263
|
+
_results.push("[" + tag + " " + value + "]");
|
|
264
|
+
}
|
|
265
|
+
return _results;
|
|
266
|
+
})();
|
|
267
|
+
return printLine(strings.join(' '));
|
|
268
|
+
};
|
|
269
|
+
parseOptions = function() {
|
|
270
|
+
var o;
|
|
271
|
+
optionParser = new optparse.OptionParser(SWITCHES, BANNER);
|
|
272
|
+
o = opts = optionParser.parse(process.argv.slice(2));
|
|
273
|
+
o.compile || (o.compile = !!o.output);
|
|
274
|
+
o.run = !(o.compile || o.print || o.lint);
|
|
275
|
+
o.print = !!(o.print || (o.eval || o.stdio && o.compile));
|
|
276
|
+
return sources = o.arguments;
|
|
277
|
+
};
|
|
278
|
+
compileOptions = function(filename) {
|
|
279
|
+
return {
|
|
280
|
+
filename: filename,
|
|
281
|
+
bare: opts.bare
|
|
282
|
+
};
|
|
283
|
+
};
|
|
284
|
+
forkNode = function() {
|
|
285
|
+
var args, nodeArgs;
|
|
286
|
+
nodeArgs = opts.nodejs.split(/\s+/);
|
|
287
|
+
args = process.argv.slice(1);
|
|
288
|
+
args.splice(args.indexOf('--nodejs'), 2);
|
|
289
|
+
return spawn(process.execPath, nodeArgs.concat(args), {
|
|
290
|
+
cwd: process.cwd(),
|
|
291
|
+
env: process.env,
|
|
292
|
+
customFds: [0, 1, 2]
|
|
293
|
+
});
|
|
294
|
+
};
|
|
295
|
+
usage = function() {
|
|
296
|
+
return printLine((new optparse.OptionParser(SWITCHES, BANNER)).help());
|
|
297
|
+
};
|
|
298
|
+
version = function() {
|
|
299
|
+
return printLine("CoffeeScript version " + CoffeeScript.VERSION);
|
|
300
|
+
};
|
|
301
|
+
}).call(this);
|