Fixed: Allow loading json using require()

This commit is contained in:
Martin P 2016-01-01 15:13:09 +01:00
parent badf8b5470
commit a0b46b0975

View file

@ -160,25 +160,14 @@ When resolving module names to file paths, ScriptCraft uses the following rules.
} }
} }
} else { } else {
// it's of the form ./path if ((file = new File(parentDir, moduleName)).exists()) {
file = new File(parentDir, moduleName);
if ( file.exists() ) {
return fileExists(file); return fileExists(file);
} else { } else if ((file = new File(parentDir, moduleName + ".js")).exists()) { // try .js extension
// try appending a .js to the end
pathWithJSExt = file.canonicalPath + '.js';
file = new File( parentDir, pathWithJSExt );
if (file.exists()) {
return file; return file;
} else { } else if ((file = new File(parentDir, moduleName + ".json")).exists()) { // try .json extension
file = new File(pathWithJSExt);
if ( file.exists() ) {
return file; return file;
} }
} }
}
}
return null; return null;
} }
/* /*
@ -250,6 +239,9 @@ When resolving module names to file paths, ScriptCraft uses the following rules.
} }
buffered.close(); // close the stream so there's no file locks buffered.close(); // close the stream so there's no file locks
if(canonizedFilename.toLowerCase().substring(canonizedFilename.length - 5) === ".json") // patch code when it is json
code = "module.exports = (" + code + ");";
moduleInfo = { moduleInfo = {
loaded: false, loaded: false,
id: canonizedFilename, id: canonizedFilename,