11import * as path from "path" ;
22import * as fs from "fs" ;
3- import { ACConfigManager } from "./common/config/ACConfigManager" ;
4- import { fetch_get_text } from "./common/api-ext/Fetch" ;
5- import { IChecker } from "./common/engine/IChecker" ;
3+ import { ACConfigManager } from "./common/config/ACConfigManager.js " ;
4+ import { fetch_get_text } from "./common/api-ext/Fetch.js " ;
5+ import { IChecker } from "./common/engine/IChecker.js " ;
66
77let ace ;
88
@@ -26,6 +26,7 @@ export class ACEngineManager {
2626 config . DEBUG && console . log ( "[INFO] aChecker.loadEngine detected Puppeteer/Playwright" ) ;
2727 let page = content ;
2828 if ( ENGINE_LOAD_MODE === "REMOTE" ) {
29+ config . DEBUG && console . log ( "[INFO] engineMode REMOTE" ) ;
2930 await page . evaluate ( ( scriptUrl ) => {
3031 try {
3132 var ace_backup_in_ibma ;
@@ -61,19 +62,21 @@ export class ACEngineManager {
6162 }
6263 } , `${ config . rulePack } /ace.js` ) ;
6364 } else if ( ENGINE_LOAD_MODE === "INJECT" ) {
64- await page . evaluate ( ( engineContent ) => {
65+ config . DEBUG && console . log ( "[INFO] engineMode INJECT" ) ;
66+ let aceAlreadyExists = await page . evaluate ( ( ) => { try { return 'undefined' !== typeof ( ace ) } catch ( e ) { return false ; } } ) ;
67+ await page . evaluate ( ( { engineContent, aceAlreadyExists } ) => {
6568 try {
6669 var ace_backup_in_ibma ;
67- if ( 'undefined' !== typeof ( ace ) ) {
70+ if ( aceAlreadyExists ) {
6871 if ( ! ace || ! ace . Checker )
6972 ace_backup_in_ibma = ace ;
7073 ace = null ;
7174 }
72- if ( 'undefined' === typeof ( ace ) || ace === null ) {
75+ if ( ! aceAlreadyExists || ace === null ) {
7376 return new Promise < void > ( ( resolve , reject ) => {
7477 eval ( engineContent ) ;
7578 globalThis . ace_ibma = ace ;
76- if ( 'undefined' !== typeof ( ace ) ) {
79+ if ( aceAlreadyExists ) {
7780 ace = ace_backup_in_ibma ;
7881 }
7982 resolve ( ) ;
@@ -82,7 +85,8 @@ export class ACEngineManager {
8285 } catch ( e ) {
8386 return Promise . reject ( e ) ;
8487 }
85- } , ACEngineManager . engineContent ) ;
88+ } , {
89+ engineContent : ACEngineManager . engineContent , aceAlreadyExists } ) ;
8690 }
8791 return ACEngineManager . loadEngineLocal ( ) ;
8892 } else if ( ACEngineManager . isSelenium ( content ) ) {
0 commit comments