Remove duplicate webpack's module

Signed-off-by: hufeng <hufeng20@huawei.com>
Change-Id: I8d1b3f053c14f98d0ca969df9d6883ff52587854
This commit is contained in:
hufeng
2022-09-06 20:08:44 +08:00
parent 9295732d93
commit a2e839087f
3 changed files with 24 additions and 12 deletions
-1
View File
@@ -380,7 +380,6 @@ function loadModuleInfo(projectConfig, envArgs) {
projectConfig.modulePathMap = buildJsonInfo.modulePathMap;
projectConfig.isOhosTest = buildJsonInfo.isOhosTest;
projectConfig.processTs = false;
projectConfig.processMergeabc = false;
projectConfig.buildArkMode = envArgs.buildMode;
if (buildJsonInfo.compileMode === 'esmodule') {
projectConfig.nodeModulesPath = buildJsonInfo.nodeModulesPath;
+13 -11
View File
@@ -148,14 +148,12 @@ export class GenAbcPlugin {
}
// case ESMODULE
// | --- merge -- debug -- not removeDir
// | --- merge -- release -- removeDir
// | --- unmerge -- removeDir
if (projectConfig.compileMode === ESMODULE) {
if (!projectConfig.processMergeabc || projectConfig.buildArkMode !== 'debug') {
removeDir(output);
removeDir(projectConfig.nodeModulesPath);
}
// | --- es2abc -- debug -- not removeDir
// | --- es2abc -- release -- removeDir
// | --- ts2abc -- removeDir
if (projectConfig.compileMode === ESMODULE && ((projectConfig.buildArkMode !== 'debug' && process.env.panda === ES2ABC) || process.env.panda === TS2ABC)) {
removeDir(output);
removeDir(projectConfig.nodeModulesPath);
}
compiler.hooks.compilation.tap('GenAbcPlugin', (compilation) => {
@@ -351,7 +349,11 @@ function eliminateUnusedFiles(moduleList: Array<string>): void{
let cachedModuleList: Array<string> = getCachedModuleList();
if (cachedModuleList.length !== 0) {
const eliminateFiles: Array<string> = cachedModuleList.filter(m => !moduleList.includes(m));
eliminateFiles.forEach((file) => {fs.unlinkSync(file);});
eliminateFiles.forEach((file) => {
if (fs.existsSync(file)) {
fs.unlinkSync(file);
}
});
}
}
@@ -382,7 +384,7 @@ function handleFinishModules(modules, callback): any {
}
});
if (projectConfig.processMergeabc) {
if (projectConfig.compileMode === ESMODULE && process.env.panda !== TS2ABC) {
if (projectConfig.buildArkMode === 'debug') {
eliminateUnusedFiles(buildMapFileList);
updateCachedModuleList(buildMapFileList);
@@ -518,7 +520,7 @@ export function initAbcEnv() : string[] {
if (isDebug) {
args.push('--debug-info');
}
if (projectConfig.processMergeabc) {
if (projectConfig.compileMode === ESMODULE) {
args.push('--merge-abc');
}
} else {
+11
View File
@@ -35,6 +35,17 @@ const red: string = '\u001b[31m';
const reset: string = '\u001b[39m';
function generateCompileFilesInfo(moduleInfos: Array<ModuleInfo>) {
const tempModuleInfos = Array<ModuleInfo>();
moduleInfos.forEach((item) => {
const check = tempModuleInfos.every((newItem) => {
return item.tempFilePath !== newItem.tempFilePath;
});
if (check) {
tempModuleInfos.push(item);
}
});
moduleInfos = tempModuleInfos;
const filesInfoPath: string = path.join(process.env.cachePath, FILESINFO_TXT);
let filesInfo: string = '';
moduleInfos.forEach(info => {