From ae9bbc347fc58fd5df37eaf90513f4767151af6b Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Tue, 28 Feb 2023 10:07:54 -0500 Subject: [PATCH] attempt to move cluster polyfill --- bin/www.d.ts | 2 +- bin/www.js | 11 +++-------- bin/www.ts | 13 +++---------- helpers/polyfills.js | 5 +++++ helpers/polyfills.ts | 6 ++++++ 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/bin/www.d.ts b/bin/www.d.ts index cb0ff5c3..6d453531 100644 --- a/bin/www.d.ts +++ b/bin/www.d.ts @@ -1 +1 @@ -export {}; +import '../helpers/polyfills.js'; diff --git a/bin/www.js b/bin/www.js index 027a970e..621ec2a7 100644 --- a/bin/www.js +++ b/bin/www.js @@ -3,6 +3,7 @@ import os from 'node:os'; import { dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; import * as configFunctions from '../helpers/functions.config.js'; +import '../helpers/polyfills.js'; import exitHook from 'exit-hook'; import ntfyPublish from '@cityssm/ntfy-publish'; import Debug from 'debug'; @@ -11,15 +12,9 @@ const directoryName = dirname(fileURLToPath(import.meta.url)); const processCount = Math.min(configFunctions.getProperty('application.maximumProcesses'), os.cpus().length); debug(`Primary pid: ${process.pid}`); debug(`Launching ${processCount} processes`); -const clusterSettings = { +cluster.setupPrimary({ exec: directoryName + '/wwwProcess.js' -}; -if (cluster.setupPrimary) { - cluster.setupPrimary(clusterSettings); -} -else { - cluster.setupMaster(clusterSettings); -} +}); for (let index = 0; index < processCount; index += 1) { cluster.fork(); } diff --git a/bin/www.ts b/bin/www.ts index 9967a031..90b5596b 100644 --- a/bin/www.ts +++ b/bin/www.ts @@ -4,6 +4,7 @@ import { dirname } from 'node:path' import { fileURLToPath } from 'node:url' import * as configFunctions from '../helpers/functions.config.js' +import '../helpers/polyfills.js' import exitHook from 'exit-hook' @@ -23,17 +24,9 @@ const processCount = Math.min( debug(`Primary pid: ${process.pid}`) debug(`Launching ${processCount} processes`) -const clusterSettings = { +cluster.setupPrimary({ exec: directoryName + '/wwwProcess.js' -} - -// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -if (cluster.setupPrimary) { - cluster.setupPrimary(clusterSettings) -} else { - // Maintain Node 14 support - cluster.setupMaster(clusterSettings) -} +}) for (let index = 0; index < processCount; index += 1) { cluster.fork() diff --git a/helpers/polyfills.js b/helpers/polyfills.js index 33d23c81..638a7a1c 100644 --- a/helpers/polyfills.js +++ b/helpers/polyfills.js @@ -1,3 +1,4 @@ +import cluster from 'node:cluster'; import hasOwn from 'object.hasown'; import Debug from 'debug'; const debug = Debug('lot-occupancy-system:polyfills'); @@ -6,6 +7,10 @@ export function applyPolyfills() { debug('Applying Object.hasOwn(o, v) polyfill'); Object.hasOwn = hasOwn; } + if (cluster.setupPrimary === undefined && cluster.setupMaster !== undefined) { + debug('Applying cluster.setupPrimary() polyfill'); + cluster.setupPrimary = cluster.setupMaster; + } } applyPolyfills(); export default applyPolyfills; diff --git a/helpers/polyfills.ts b/helpers/polyfills.ts index 97c4bc75..57326637 100644 --- a/helpers/polyfills.ts +++ b/helpers/polyfills.ts @@ -1,3 +1,4 @@ +import cluster from 'node:cluster' import hasOwn from 'object.hasown' import Debug from 'debug' @@ -8,6 +9,11 @@ export function applyPolyfills(): void { debug('Applying Object.hasOwn(o, v) polyfill') Object.hasOwn = hasOwn } + + if (cluster.setupPrimary === undefined && cluster.setupMaster !== undefined) { + debug('Applying cluster.setupPrimary() polyfill') + cluster.setupPrimary = cluster.setupMaster + } } applyPolyfills()