diff --git a/ace-loader/copy_deps_source.js b/ace-loader/copy_deps_source.js index 4b8d830..e0e924f 100644 --- a/ace-loader/copy_deps_source.js +++ b/ace-loader/copy_deps_source.js @@ -12,6 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + const fs = require('fs'); const path = require('path'); const moduleSource = require('./module-source'); @@ -21,46 +22,51 @@ const exists = function(src, dst, callback) { return; } fs.exists(dst, function(exists) { - if(exists){ + if (exists) { callback(src, dst); - } else{ + } else { fs.mkdir(dst, function() { callback(src, dst); }); } }); -} +}; stat = fs.stat; -const copy = function(src, dst){ - fs.readdir(src, function(err, paths){ - if(err){ +const copy = function(src, dst) { + fs.readdir(src, function(err, paths) { + if (err) { throw err; } - paths.forEach(function(_path){ - var _src = src + '/' + _path, - _dst = dst + '/' + _path, - readable, writable; - stat(_src, function(err, st){ - if(err){ - throw err; - } - if(st.isFile()){ - const pathInfo = path.parse(_src); - if (pathInfo.name === 'gulpfile' || pathInfo.ext !== '.js') { - return; - } - readable = fs.createReadStream(_src); - writable = fs.createWriteStream(_dst); - readable.pipe(writable); - } else if(st.isDirectory()){ - exists(_src, _dst, copy); - } - }); + paths.forEach(function(_path) { + copyForEach(src, dst, _path); }); }); }; +function copyForEach(src, dst, _path) { + let _src = src + '/' + _path; + let _dst = dst + '/' + _path; + let readable = null; + let writable = null; + stat(_src, function(err, st) { + if (err) { + throw err; + } + if (st.isFile()) { + const pathInfo = path.parse(_src); + if (pathInfo.name === 'gulpfile' || pathInfo.ext !== '.js') { + return; + } + readable = fs.createReadStream(_src); + writable = fs.createWriteStream(_dst); + readable.pipe(writable); + } else if (st.isDirectory()) { + exists(_src, _dst, copy); + } + }); +} + moduleSource.copyResource(path.resolve(__dirname, './third_party/weex-loader/deps/weex-scripter'), process.argv[2] + '/scripter'); moduleSource.copyResource(path.resolve(__dirname, './third_party/weex-loader/deps/weex-styler'), process.argv[2] + '/styler'); moduleSource.copyResource(path.resolve(__dirname, './third_party/parse5/packages/parse5/dist/cjs'), process.argv[2] + '/parse'); diff --git a/ace-loader/module-source.js b/ace-loader/module-source.js index e1701e7..63eca0d 100644 --- a/ace-loader/module-source.js +++ b/ace-loader/module-source.js @@ -71,4 +71,4 @@ copyResource(path.resolve(__dirname, './plugin/codegen'), process.argv[2] + '/co module.exports = { copyResource -} +};