mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-15 01:03:03 +08:00
chore(build): update build scripts
This commit is contained in:
58
packages/angular/scripts/clean.js
vendored
58
packages/angular/scripts/clean.js
vendored
@ -1,54 +1,12 @@
|
||||
const fs = require('fs-extra');
|
||||
const path = require('path');
|
||||
const cwd = process.cwd();
|
||||
|
||||
const glob = require('glob');
|
||||
const rimRaf = require('rimraf');
|
||||
|
||||
const distDir = path.join(cwd, 'dist');
|
||||
const cleanDirs = [
|
||||
'dist'
|
||||
];
|
||||
|
||||
const distGeneratedNodeModules = path.join(distDir, 'node_modules');
|
||||
|
||||
function rimRafAsync(dir) {
|
||||
return new Promise((resolve, reject) => {
|
||||
rimRaf(dir, {}, err => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
resolve();
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
function doGlob(globString) {
|
||||
return new Promise((resolve, reject) => {
|
||||
glob(globString, (err, matches) => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
resolve(matches);
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
function getCodegenedFilesToDelete() {
|
||||
const ngFactoryGlob = path.join(distDir, '**', '*ngfactory*');
|
||||
const ngSummaryGlob = path.join(distDir, '**', '*ngsummary*');
|
||||
const promises = [];
|
||||
promises.push(doGlob(ngFactoryGlob));
|
||||
promises.push(doGlob(ngSummaryGlob));
|
||||
return Promise.all(promises).then(listOfGlobResults => {
|
||||
const deleteFilePromises = [];
|
||||
listOfGlobResults.forEach(fileMatches => {
|
||||
fileMatches.forEach(filePath => {
|
||||
deleteFilePromises.push(rimRafAsync(filePath));
|
||||
})
|
||||
})
|
||||
return Promise.all(deleteFilePromises);
|
||||
});
|
||||
}
|
||||
|
||||
const taskPromises = [];
|
||||
taskPromises.push(getCodegenedFilesToDelete());
|
||||
taskPromises.push(rimRafAsync(distGeneratedNodeModules));
|
||||
|
||||
return Promise.all(taskPromises);
|
||||
cleanDirs.forEach(dir => {
|
||||
const cleanDir = path.join(__dirname, '../', dir);
|
||||
fs.removeSync(cleanDir);
|
||||
});
|
||||
|
Reference in New Issue
Block a user