|
@@ -195,26 +195,28 @@ function check_configuration(configuration) {
|
|
|
* @param filename name of a file without '.js' prefix
|
|
|
* @param callback gets called on success with path to .js file as parameter
|
|
|
*/
|
|
|
-function resolve_js(filename, configuration, callback) {
|
|
|
- var baseName = path.basename(filename, '.js');
|
|
|
- var jsFile = baseName + configuration.loadsuffix + '.js';
|
|
|
- console.log('Resolving: ' + jsFile);
|
|
|
- fs.exists(jsFile, function(exists) {
|
|
|
- if (exists) {
|
|
|
- callback(jsFile);
|
|
|
- } else {
|
|
|
- var amberJsFile = '';
|
|
|
- // check for specified .js file in any of the directories from jsLibraryDirs
|
|
|
- var found = configuration.jsLibraryDirs.some(function(directory) {
|
|
|
- amberJsFile = path.join(directory, jsFile);
|
|
|
- return fs.existsSync(amberJsFile);
|
|
|
- });
|
|
|
- if (found) {
|
|
|
- callback(amberJsFile);
|
|
|
+function resolve_js(filename, configuration) {
|
|
|
+ return new Promise(function(resolve, reject) {
|
|
|
+ var baseName = path.basename(filename, '.js');
|
|
|
+ var jsFile = baseName + configuration.loadsuffix + '.js';
|
|
|
+ console.log('Resolving: ' + jsFile);
|
|
|
+ fs.exists(jsFile, function(exists) {
|
|
|
+ if (exists) {
|
|
|
+ resolve(jsFile);
|
|
|
} else {
|
|
|
- throw(new Error('JavaScript file not found: ' + jsFile));
|
|
|
+ var amberJsFile = '';
|
|
|
+ // check for specified .js file in any of the directories from jsLibraryDirs
|
|
|
+ var found = configuration.jsLibraryDirs.some(function(directory) {
|
|
|
+ amberJsFile = path.join(directory, jsFile);
|
|
|
+ return fs.existsSync(amberJsFile);
|
|
|
+ });
|
|
|
+ if (found) {
|
|
|
+ resolve(amberJsFile);
|
|
|
+ } else {
|
|
|
+ reject(Error('JavaScript file not found: ' + jsFile));
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
});
|
|
|
};
|
|
|
|
|
@@ -264,9 +266,7 @@ function collect_js_files(configuration) {
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
Promise.all(
|
|
|
configuration.jsFiles.map(function(file) {
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
- resolve_js(file, configuration, resolve);
|
|
|
- });
|
|
|
+ return resolve_js(file, configuration);
|
|
|
})
|
|
|
).then(function(data) {
|
|
|
configuration.libraries = configuration.libraries.concat(data);
|
|
@@ -287,9 +287,7 @@ function resolve_kernel(configuration) {
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
Promise.all(
|
|
|
kernel_files.map(function(file) {
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
- resolve_js(file, configuration, resolve);
|
|
|
- });
|
|
|
+ return resolve_js(file, configuration, resolve);
|
|
|
})
|
|
|
).then(function(data) {
|
|
|
// boot.js and Kernel files need to be used first
|
|
@@ -313,9 +311,7 @@ function resolve_compiler(configuration) {
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
Promise.all(
|
|
|
compiler_files.map(function(file) {
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
- resolve_js(file, configuration, resolve);
|
|
|
- });
|
|
|
+ return resolve_js(file, configuration, resolve);
|
|
|
})
|
|
|
).then(function(compilerFiles) {
|
|
|
resolve(compilerFiles);
|