- walkDir(paths.vendor, handleDir.bind(null, true, false, in_path || paths.main), (filename, stats) => !no_copy_files.has(filename));
- walkDir(paths.core, handleDir.bind(null, true, !in_path, in_path || paths.core), (filename, stats) => !no_copy_files.has(filename));
-
- if (with_app_dir) {
- walkDir(paths.app, handleDir.bind(null, false, false, in_path), (filename, stats) => !no_copy_files.has(filename));
+ Promise.resolve()
+ .then(() => {
+ let handler = handleDir.bind(null, true, false, in_path || paths.main);
+ let filter = (filename, stats) => !no_copy_files.has(filename);
+ return walkDir(paths.vendor, handler, filter);
+ })
+ .then(() => {
+ let handler = handleDir.bind(null, true, !in_path, in_path || paths.core);
+ let filter = (filename, stats) => !no_copy_files.has(filename);
+ return walkDir(paths.core, handler, filter);
+ })
+ .then(() => {
+ if (!with_app_dir) return;
+ let handler = handleDir.bind(null, false, false, in_path);
+ let filter = (filename, stats) => !no_copy_files.has(filename);
+ return walkDir(paths.app, handler, filter);
+ })
+ .then(() => {
+ if (!with_app_dir) return;
+
+ if (!helper || !helper.appWriter) {
+ throw new Error(`Unable to generate app for the ${import_format} format!`);
+ }