!1088 Fix duplicate webpack's module & Set merge abc as default on weekly

Merge pull request !1088 from hufeng/cherry-pick-1662473835
This commit is contained in:
openharmony_ci
2022-09-07 15:00:48 +00:00
committed by Gitee
3 changed files with 25 additions and 9 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;
+14 -8
View File
@@ -148,11 +148,11 @@ export class GenAbcPlugin {
}
// case ESMODULE
// | --- merge -- debug -- not removeDir
// | --- merge -- release -- removeDir
// | --- unmerge -- removeDir
// | --- es2abc -- debug -- not removeDir
// | --- es2abc -- release -- removeDir
// | --- ts2abc -- removeDir
if (projectConfig.compileMode === ESMODULE) {
if (!projectConfig.processMergeabc || projectConfig.buildArkMode !== 'debug') {
if ((projectConfig.buildArkMode !== 'debug' && process.env.panda === ES2ABC) || process.env.panda === TS2ABC) {
removeDir(output);
removeDir(projectConfig.nodeModulesPath);
}
@@ -207,8 +207,8 @@ function clearGlobalInfo() {
// fix bug of multi trigger
if (!process.env.watchMode) {
intermediateJsBundle = [];
moduleInfos = [];
}
moduleInfos = [];
fileterIntermediateJsBundle = [];
filterModuleInfos = [];
commonJsModuleInfos = [];
@@ -216,6 +216,7 @@ function clearGlobalInfo() {
entryInfos = new Map<string, EntryInfo>();
hashJsonObject = {};
moduleHashJsonObject = {};
buildMapFileList = [];
}
function getEntryInfo(tempFilePath: string, resourceResolveData: any): void {
@@ -351,7 +352,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,12 +387,13 @@ function handleFinishModules(modules, callback): any {
}
});
if (projectConfig.processMergeabc) {
if (projectConfig.compileMode === ESMODULE && process.env.panda !== TS2ABC) {
if (projectConfig.buildArkMode === 'debug') {
eliminateUnusedFiles(buildMapFileList);
updateCachedModuleList(buildMapFileList);
}
generateMergedAbc(moduleInfos, entryInfos);
clearGlobalInfo();
} else {
judgeModuleWorkersToGenAbc(invokeWorkersModuleToGenAbc);
processEntryToGenAbc(entryInfos);
@@ -518,7 +524,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: ModuleInfo[] = Array<ModuleInfo>();
moduleInfos.forEach((item) => {
let check: boolean = 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 => {