From e693ae00664a017273cf46005e87fb5d65234fab Mon Sep 17 00:00:00 2001 From: laibo Date: Thu, 3 Mar 2022 10:44:10 +0800 Subject: [PATCH 1/4] laibo2@huawei.com Signed-off-by: laibo --- ace-loader/src/resource-plugin.js | 42 ++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/ace-loader/src/resource-plugin.js b/ace-loader/src/resource-plugin.js index 041ff5a..465d479 100644 --- a/ace-loader/src/resource-plugin.js +++ b/ace-loader/src/resource-plugin.js @@ -293,19 +293,43 @@ function buildManifest(manifest) { } function loadWorker(entryObj) { - const workerPath = path.resolve(input, 'workers'); - if (fs.existsSync(workerPath)) { - const workerFiles = []; - readFile(workerPath, workerFiles); - workerFiles.forEach((item) => { - if (/\.js$/.test(item)) { - const relativePath = path.relative(workerPath, item).replace(/\.js$/, ''); - entryObj[`./workers/` + relativePath] = item; + if(validateWorkOption()) { + const workerConfig = JSON.parse(fs.readFileSync(process.env.aceWorkPath).toString()); + workerConfig.forEach(worker => { + const relativePath = path.ralative(process.env.projectPath, worker); + if (filterWorker(relativePath)) { + entryObj[relativePath.replace(/\.(ts|js)$/,'')] = worker; } - }); + }) + } else { + const workerPath = path.resolve(input, 'workers'); + if (fs.existsSync(workerPath)) { + const workerFiles = []; + readFile(workerPath, workerFiles); + workerFiles.forEach((item) => { + if (/\.js$/.test(item)) { + const relativePath = path.relative(workerPath, item).replace(/\.js$/, ''); + entryObj[`./workers/` + relativePath] = item; + } + }); + } } } +function validateWorkOption() { + if (process.env.aceWorkPath && fs.existsSync(process.env.aceWorkPath)) { + const workerConfig = JSON.parse(fs.readFileSync(process.env.aceWorkPath).toString()); + if(workerConfig.workers) { + return true; + } + } + return false; +} + +function filterWorker(workerPath) { + return /\.(ts|js)$/.test(workerPath) && !/^\.\./.test(workerPath); +} + function readFile(dir, utFiles) { try { const files = fs.readdirSync(dir); From 8a5e0adb3fadc0b970baab6cdfb6845e62def68c Mon Sep 17 00:00:00 2001 From: laibo Date: Fri, 4 Mar 2022 16:54:45 +0800 Subject: [PATCH 2/4] laibo2@huawei.com Signed-off-by: laibo --- ace-loader/src/resource-plugin.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ace-loader/src/resource-plugin.js b/ace-loader/src/resource-plugin.js index 465d479..15c5d32 100644 --- a/ace-loader/src/resource-plugin.js +++ b/ace-loader/src/resource-plugin.js @@ -294,9 +294,12 @@ function buildManifest(manifest) { function loadWorker(entryObj) { if(validateWorkOption()) { - const workerConfig = JSON.parse(fs.readFileSync(process.env.aceWorkPath).toString()); + const workerConfig = JSON.parse(fs.readFileSync(process.env.aceBuildJson).toString()); workerConfig.forEach(worker => { - const relativePath = path.ralative(process.env.projectPath, worker); + if (!/\.(js)$/.test(worker)) { + worker += '.js' + } + const relativePath = path.relative(process.env.projectPath, worker); if (filterWorker(relativePath)) { entryObj[relativePath.replace(/\.(ts|js)$/,'')] = worker; } @@ -317,8 +320,8 @@ function loadWorker(entryObj) { } function validateWorkOption() { - if (process.env.aceWorkPath && fs.existsSync(process.env.aceWorkPath)) { - const workerConfig = JSON.parse(fs.readFileSync(process.env.aceWorkPath).toString()); + if (process.env.aceBuildJson && fs.existsSync(process.env.aceBuildJson)) { + const workerConfig = JSON.parse(fs.readFileSync(process.env.aceBuildJson).toString()); if(workerConfig.workers) { return true; } From 471039fb358c8a7095e6816ca3afea08fb4613e3 Mon Sep 17 00:00:00 2001 From: laibo Date: Fri, 4 Mar 2022 18:25:48 +0800 Subject: [PATCH 3/4] laibo2@huawei.com Signed-off-by: laibo --- ace-loader/src/resource-plugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ace-loader/src/resource-plugin.js b/ace-loader/src/resource-plugin.js index 15c5d32..7521962 100644 --- a/ace-loader/src/resource-plugin.js +++ b/ace-loader/src/resource-plugin.js @@ -297,7 +297,7 @@ function loadWorker(entryObj) { const workerConfig = JSON.parse(fs.readFileSync(process.env.aceBuildJson).toString()); workerConfig.forEach(worker => { if (!/\.(js)$/.test(worker)) { - worker += '.js' + worker += '.js'; } const relativePath = path.relative(process.env.projectPath, worker); if (filterWorker(relativePath)) { From 8f04513820bd0ae3032b87144280258894ba9edc Mon Sep 17 00:00:00 2001 From: laibo Date: Fri, 11 Mar 2022 17:32:36 +0800 Subject: [PATCH 4/4] fix:worker bug Signed-off-by: laibo --- ace-loader/src/resource-plugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ace-loader/src/resource-plugin.js b/ace-loader/src/resource-plugin.js index 7521962..158f738 100644 --- a/ace-loader/src/resource-plugin.js +++ b/ace-loader/src/resource-plugin.js @@ -295,7 +295,7 @@ function buildManifest(manifest) { function loadWorker(entryObj) { if(validateWorkOption()) { const workerConfig = JSON.parse(fs.readFileSync(process.env.aceBuildJson).toString()); - workerConfig.forEach(worker => { + workerConfig.workers.forEach(worker => { if (!/\.(js)$/.test(worker)) { worker += '.js'; }