gulp.task('prune-builtin', function(cb) { var builtins = pjson.builtins.map( function ( path ) { return Path.basename(path); }); var results = Fs.readdirSync('builtin').filter(function(name) { return builtins.indexOf(name) === -1; }); results = results.map(function( name ) { return Path.join( 'builtin', name ); }); Del( results, function ( err ) { if (err) { return cb(err); } results.forEach( function (name) { console.log( 'Prune builtin package ' + name ); }); cb(); }); });
gulp.task('prune-packages', function (cb) { var packages = []; for ( var p in pjson.packages ) { packages.push(Path.basename(p)); } var results = Fs.readdirSync('packages').filter(function(name) { return packages.indexOf(name) === -1; }); results = results.map(function( name ) { return Path.join( 'packages', name ); }); Del( results, function ( err ) { if (err) { return cb(err); } results.forEach( function (name) { console.log( 'Prune packages package ' + name ); }); cb(); }); });
function _copyResources(srcPath, dstPath, resRoot) { if (! Fs.existsSync(srcPath)) { Editor.warn('%s is not found!', srcPath); return; } Fs.readdirSync(srcPath).forEach(function (file) { var absPath = Path.join(srcPath, file); var targetPath = Path.join(dstPath, file); if(Fs.lstatSync(absPath).isDirectory()) { if (file === ResAutoFolderName) { targetPath = dstPath; } if (!Fs.existsSync(targetPath)) { Fs.mkdirsSync(targetPath); } // recurse _copyResources(absPath, targetPath, resRoot); } else { var ext = Path.extname(absPath); if (ext === '.ccb') { targetPath = Path.join(tempCCBsPath, Path.relative(resRoot, absPath)); Fs.copySync(absPath, targetPath); ccbFiles.push(targetPath); } else { if (!Fs.existsSync(targetPath)) { Fs.copySync(absPath, targetPath); } } } }); }
Package.find = function ( name ) { for ( let i = 0; i < _packageSearchPaths.length; ++i ) { let searchPath = _packageSearchPaths[i]; let list = Fs.readdirSync( searchPath ); if ( list.indexOf(name) !== -1 ) { return Path.join( searchPath, name ); } } return null; };
function _rmdirRecursive (path) { if( Fs.existsSync(path) ) { Fs.readdirSync(path).forEach(function(file){ var curPath = Path.join(path, file); if(Fs.lstatSync(curPath).isDirectory()) { // recurse _rmdirRecursive(curPath); } else { // delete file Fs.unlinkSync(curPath); } }); Fs.rmdirSync(path); } }
function findNativeModulePathRecursive(path) { var nativePaths = []; if (Fs.existsSync(Path.join(path, 'binding.gyp'))) { nativePaths.push(path); } else { if (Fs.isDirSync(Path.join(path, 'node_modules'))) { var subPaths = Fs.readdirSync(Path.join(path, 'node_modules')); subPaths.forEach(function(subpath) { var subCollect = findNativeModulePathRecursive(Path.join(path, 'node_modules', subpath)); if (subCollect.length > 0) { nativePaths = nativePaths.concat(subCollect); } }); } } return nativePaths; }
if ( cb ) { cb (); } return; } Editor.info(`=== Build ${path} ===`); Editor.Package.build(path, cb); }, // run run ( path ) { // build all-packages if ( !path ) { path = Path.join( Editor.App.path, 'builtin' ); let files = Fs.readdirSync(path); Async.eachSeries( files, (name, done) => { let packagePath = Path.join(path,name); if ( !Fs.isDirSync(packagePath) ) { done(); return; } Builder.buildPackage(packagePath, done); }, err => { if ( err ) { Editor.error(`Building failed: ${err.message}`); process.exit(1); } process.exit(0); });