diff --git a/src/server.ts b/src/server.ts index f671c7c3..2fe6b040 100644 --- a/src/server.ts +++ b/src/server.ts @@ -285,7 +285,12 @@ export default class Server { await this.runShutdownTasks() await waitMs(delay) - await detachedSpawn(execPath, ['--security-revert=CVE-2023-46809', ...process.argv.slice(1)]) + const isPkg = __filename.indexOf('mainEntry.js') !== -1 + if (isPkg) { + await detachedSpawn(execPath, [...process.argv.slice(1)]) + } else { + await detachedSpawn(execPath, ['--security-revert=CVE-2023-46809', ...process.argv.slice(1)]) + } exit() } diff --git a/src/update.ts b/src/update.ts index 4780d0f2..be1001f0 100644 --- a/src/update.ts +++ b/src/update.ts @@ -44,7 +44,12 @@ export default class Update { await this.server.runShutdownTasks(true) logger.info('message.update.info.restart') - await detachedSpawn(path, ['--security-revert=CVE-2023-46809', process.argv[1], ...args]) + const isPkg = __filename.indexOf('mainEntry.js') !== -1 + if (isPkg) { + await detachedSpawn(path, [process.argv[1], ...args]) + } else { + await detachedSpawn(path, ['--security-revert=CVE-2023-46809', process.argv[1], ...args]) + } logger.info('message.update.info.exit') proc.exit() @@ -112,13 +117,13 @@ export default class Update { // Consume response data to free up memory res.resume() - return reject(`HTTP ${statusCode}`) + return reject(new Error(`HTTP ${statusCode}`)) } let resData = '' res.setEncoding('utf8') - res.on('error', err => reject(`Error: ${err.message}`)) + res.on('error', err => reject(new Error(`Error: ${err.message}`))) res.on('data', chunk => resData += chunk) res.on('end', async () => { try { @@ -131,10 +136,10 @@ export default class Update { resolve((data).v) } catch (err) { - reject(err) + reject(err) } }) - }).on('error', err => reject(`Error: ${err.message}`)) + }).on('error', err => reject(new Error(`Error: ${err.message}`))) }) } @@ -146,13 +151,13 @@ export default class Update { // Consume response data to free up memory res.resume() - return reject(`HTTP ${statusCode}`) + return reject(new Error(`HTTP ${statusCode}`)) } let resData = '' res.setEncoding('utf8') - res.on('error', err => reject(`Error: ${err.message}`)) + res.on('error', err => reject(new Error(`Error: ${err.message}`))) res.on('data', chunk => resData += chunk) res.on('end', async () => { try { @@ -165,10 +170,10 @@ export default class Update { resolve(await this.decodeContent(data)) } catch (err) { - reject(err) + reject(err) } }) - }).on('error', err => reject(`Error: ${err.message}`)) + }).on('error', err => reject(new Error(`Error: ${err.message}`))) }) } diff --git a/src/webServer/handlers/WebstaticSea.ts b/src/webServer/handlers/WebstaticSea.ts index 07164e6b..ebb7a13c 100644 --- a/src/webServer/handlers/WebstaticSea.ts +++ b/src/webServer/handlers/WebstaticSea.ts @@ -19,7 +19,7 @@ class WebstaticSeaHandler extends Handler { join(fsDir, reqPath, 'index.html') ] - const isPkg = __filename.indexOf('index.js') !== -1 + const isPkg = __filename.indexOf('mainEntry.js') !== -1 if (isPkg) { const pkgDir = join(__dirname, '../webstaticSea')