aboutsummaryrefslogtreecommitdiff
path: root/src/compiler.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-09-25 17:24:33 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-09-25 17:24:33 -0700
commita070cc87e45db1639894b8a11d8d12fa0b27ad30 (patch)
tree5fe47aa97e376066102f740cbb311393cb98f316 /src/compiler.js
parent566a7b4469243fea33ec502ba9b8e3debdf709cb (diff)
parent0bd9bff496b894af1e211a830df5cce4c80dcfd5 (diff)
Merge pull request #590 from imvu/relative-paths-pull-requests
Support loading emscripten argument filenames with relative paths
Diffstat (limited to 'src/compiler.js')
-rw-r--r--src/compiler.js21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/compiler.js b/src/compiler.js
index 89da32d5..ab5e6acf 100644
--- a/src/compiler.js
+++ b/src/compiler.js
@@ -31,15 +31,20 @@ if (ENVIRONMENT_IS_NODE) {
var nodeFS = require('fs');
var nodePath = require('path');
- read = function(filename) {
- filename = nodePath['normalize'](filename);
- var ret = nodeFS['readFileSync'](filename).toString();
- // The path is absolute if the normalized version is the same as the resolved.
- if (!ret && filename != nodePath['resolve'](filename)) {
- filename = path.join(__dirname, '..', 'src', filename);
- ret = nodeFS['readFileSync'](filename).toString();
+ function find(filename) {
+ var prefixes = [__dirname, process.cwd()];
+ for (var i = 0; i < prefixes.length; ++i) {
+ var combined = nodePath.join(prefixes[i], filename);
+ if (nodeFS.existsSync(combined)) {
+ return combined;
+ }
}
- return ret;
+ return filename;
+ }
+
+ read = function(filename) {
+ var absolute = find(filename);
+ return nodeFS['readFileSync'](absolute).toString();
};
load = function(f) {