From e99e7a5e3d8cd5013472463381c95524b6bf1f55 Mon Sep 17 00:00:00 2001 From: John A Knight Jr Date: Wed, 16 Oct 2024 22:10:06 -0700 Subject: [PATCH] Fix bug preventing configuration on Windows --- package.json | 6 +- src/config.js | 13 +- src/index.js | 38 +- src/utils.js | 56 +- tplink-kasasmartplug2.zip | Bin 0 -> 113465 bytes utils.js | 285 ----- yarn.lock | 2361 ++++++------------------------------- 7 files changed, 414 insertions(+), 2345 deletions(-) create mode 100755 tplink-kasasmartplug2.zip delete mode 100644 utils.js diff --git a/package.json b/package.json index b0ae39d..4efb412 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tplink-kasasmartplug", - "version": "2.2.1", + "version": "2.2.2", "main": "src/index.js", "type": "module", "scripts": { @@ -13,10 +13,10 @@ "url": "git+https://github.com/bitfocus/companion-module-tplink-kasasmartplug.git" }, "dependencies": { - "@companion-module/base": "^1.9.0" + "@companion-module/base": "^1.11.0" }, "devDependencies": { - "@companion-module/tools": "^1.5.1", + "@companion-module/tools": "^2.1.0", "tplink-smarthome-api": "^5.0.0" }, "prettier": "@companion-module/tools/.prettierrc.json" diff --git a/src/config.js b/src/config.js index 24c9e8f..9811ff9 100644 --- a/src/config.js +++ b/src/config.js @@ -28,18 +28,18 @@ export function getConfigFields() { }) let ch = [] + let def = 'none' if (Object.keys(this.FOUND_PLUGS || {}).length == 0) { ch = [{ id: 'none', label: 'No Kasa Plugs located' }] + this.config.plugId = 'none' + this.saveConfig(this.config) } else { + ch = [{ id: 'none', label: 'No plug selected' }] const plugs = this.FOUND_PLUGS + this.config.plugId = 'none' for (const pId of Object.keys(plugs)) { ch.push({ id: pId, label: `${plugs[pId].alias} at ${plugs[pId].host} (${plugs[pId].mac})` }) } - if (this.config.plugId == 'none') { - this.config.plugId = ch[0].id - this.config.host = this.FOUND_PLUGS[ch[0].id].host - this.saveConfig(this.config) - } } cf.push({ type: 'dropdown', @@ -50,7 +50,7 @@ export function getConfigFields() { return !!opt.scan }, width: 12, - default: this.config?.plugId ? this.config.plugId : ch[0].id, + default: def, choices: ch, }) cf.push( @@ -70,5 +70,6 @@ export function getConfigFields() { 'Disabling Polling will prevent automatic reconnect on error.\nFeedback and variables will not always match the plug state.', }, ) + return cf } diff --git a/src/index.js b/src/index.js index da9a432..c023470 100644 --- a/src/index.js +++ b/src/index.js @@ -51,7 +51,7 @@ class kasaplugInstance extends InstanceBase { } async destroy() { - await this.stopInterval() + this.stopInterval() if (this.cleanupEvents) this.cleanupEvents() @@ -66,19 +66,35 @@ class kasaplugInstance extends InstanceBase { this.configUpdated(config) } - configUpdated(config) { + async configUpdated(config) { const oldConfig = this.config + let resave = false config.interval = 2000 // stop in case polling has been de-selected by config change this.stopInterval() + if (this.DEVICE) { + this.DEVICE.closeConnection() + delete this.DEVICE + } + + if (this.SCANNING) { + this.scanner.stopDiscovery() + this.SCANNING = false + } - if (config.plugId != 'none') { - const newHost = Object.keys(this.FOUND_PLUGS).length ? this.FOUND_PLUGS[config.plugId].host : null + if (!config.plugId) { + config.plugId = '' + } + + if (config.scan && !['', 'none'].includes(config.plugId)) { + const newHost = Object.keys(this.FOUND_PLUGS).length ? this.FOUND_PLUGS[config.plugId].host : this.config?.host if (newHost && config.host != newHost) { config.host = newHost - this.saveConfig(config) + resave = true } + } else if (!config.scan) { + config.plugId = '' } this.config = config @@ -90,10 +106,20 @@ class kasaplugInstance extends InstanceBase { } else { this.FOUND_PLUGS = [] delete this.config.plugId + resave = true } - this.updateStatus(InstanceStatus.Connecting) + if (config.host != '') { + this.updateStatus(InstanceStatus.Connecting) + } else { + this.updateStatus(InstanceStatus.BadConfig, 'IP address not set') + this.FOUND_PLUGS = [] + resave = true + } + if (resave) { + this.saveConfig(this.config) + } this.ERRORED = false this.getInformation() diff --git a/src/utils.js b/src/utils.js index d637d48..6cc5b9b 100644 --- a/src/utils.js +++ b/src/utils.js @@ -9,20 +9,25 @@ const client = new Client() * Gather list of local mixer IP numbers and names */ export async function scanForPlugs() { - const scan = new Client() - - scan.startDiscovery() - this.SCANNING = true - scan.on('device-new', async (device) => { - const plug = await device.getSysInfo({ deviceTypes: ['plug'] }) - let me = '' - plug.host = device.host - this.FOUND_PLUGS[plug.deviceId] = plug - if (plug.host == this.config.host) { - this.config.plugId = ''+plug.deviceId - me = '*' - } - this.log('info', `Found plug ${plug.alias} at ${me}${plug.host}(${plug.mac}) ${plug.deviceId}`) + this.scanner = new Client() + + this.scanner.startDiscovery() + this.SCANNING = true + this.scanner.on('device-new', async (device) => { + try { + const plug = await device.getSysInfo({ deviceTypes: ['plug'] }) + let me = '' + plug.host = device.host + this.FOUND_PLUGS[plug.deviceId] = plug + if (plug.host == this.config.host) { + this.config.plugId = '' + plug.deviceId + me = '*' + } + this.log('info', `Found plug ${plug.alias} at ${me}${plug.host}(${plug.mac}) ${plug.deviceId}`) + } catch (error) { + // ignore + // this.handleError(error) + } }) } @@ -220,8 +225,8 @@ export function updatePlugState(plugId, powerState) { this.checkFeedbacks() this.checkVariables() } -export function setupInterval() { - if (this.INTERVAL !== null) { +export async function setupInterval() { + if (this.INTERVAL != null) { clearInterval(this.INTERVAL) this.INTERVAL = null } @@ -232,7 +237,7 @@ export function setupInterval() { this.log('info', 'Starting Update Interval.') this.INTERVAL = setInterval(this.getInformation.bind(this), this.config.interval) } else { - this.getInformation() + await this.getInformation() } } export function stopInterval() { @@ -257,14 +262,17 @@ export function handleError(err) { if (this.config.host && this.config.mac && this.config.scan) { // if we're scanning see if the IP changed errorStr = `No connection. Checking if ${this.config.mac} has a new IP` - let newIP = Object.keys(this.FOUND_PLUGS).find(plug => { - return plug.mac == this.config.mac - }) - if (newIP) { - this.config.host = newIP - } + let newIP = Object.keys(this.FOUND_PLUGS).find((plug) => { + return plug.mac == this.config.mac + }) + if (newIP) { + this.config.host = newIP + } + } else if ('ECONNRESET' == err['code']) { + errorStr = 'Device is aborting connections' + } else { + errorStr = 'Unable to communicate with Device. Is this the right IP address? Is it still online?' } - errorStr = 'Unable to communicate with Device. Is this the right IP address? Is it still online?' } this.updateStatus(InstanceStatus.ConnectionFailure, errorStr) } else { diff --git a/tplink-kasasmartplug2.zip b/tplink-kasasmartplug2.zip new file mode 100755 index 0000000000000000000000000000000000000000..1aa23fee07a494f44db225b3860e0007947a3f8a GIT binary patch literal 113465 zcmafabBr%AwC32hZQQYK+qP}|#=K+Owt2_4ZQJ(D-TPiPyUAwXdrjK3fAnkfeQk11 z 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 { - try { - const plug = await device.getSysInfo({ deviceTypes: ['plug'] }) - let me = '' - plug.host = device.host - this.FOUND_PLUGS[plug.deviceId] = plug - if (plug.host == this.config.host) { - this.config.plugId = '' + plug.deviceId - me = '*' - } - this.log('info', `Found plug ${plug.alias} at ${me}${plug.host}(${plug.mac}) ${plug.deviceId}`) - } catch (error) { - this.handleError(error) - } - }) -} - -export async function power(plugId, powerState) { - if (!this.config.host || this.ERRORED) return - - const plugName = this.CHOICES_PLUGS.find((PLUG) => PLUG.id == plugId)?.label || '' - - try { - this.log('info', `Setting ${plugName} Power State to: ${powerState ? 'On' : 'Off'}`) - - if (this.SINGLEPLUGMODE) { - await this.DEVICE.setPowerState(powerState) - } else { - let plug = await client.getDevice({ host: this.config.host, childId: plugId }, { timeout: 20000 }) - await plug.setPowerState(powerState) - } - - this.updatePlugState(plugId, powerState) - } catch (error) { - this.handleError(error) - } -} -export async function powerToggle(plugId) { - if (!this.config.host) return - - const plugName = this.CHOICES_PLUGS.find((PLUG) => PLUG.id == plugId)?.label || '' - - try { - let plug, state - if (this.SINGLEPLUGMODE) { - plug = await client.getDevice({ host: this.config.host }) - state = plug.relayState - } else { - plug = await client.getDevice({ host: this.config.host, childId: plugId }) - state = plug.state - } - this.log('info', `Toggling ${plugName} Power`) - plug.togglePowerState() - this.updatePlugState(plug, !state) - } catch (error) { - this.handleError(error) - } -} -export async function getInformation() { - //Get all information from Device - if (!this.config.host) return - - if (this.pollRunning) { - this.pollPending = true - return - } - this.pollRunning = true - this.pollPending = false - - try { - if (!this.DEVICE) { - console.log('reload device') - this.DEVICE = await client.getDevice({ host: this.config.host }, { timeout: 20000 }) - this.PLUGSETUP = {} - } - - this.PLUGINFO = await this.DEVICE.getSysInfo() - - if (this.PLUGINFO) { - this.updateStatus(InstanceStatus.Ok) - this.ERRORED = false - - try { - this.updateData() - this.monitorPlugs() - } catch (error) { - this.handleError(error) - } - - // TODO - this is rather costly to reinit everything for every poll - this.initActions() // export actions - this.initFeedbacks() - this.initVariables() - this.initPresets() - - this.checkVariables() - this.checkFeedbacks() - } - } catch (error) { - this.handleError(error) - } - - this.pollRunning = false -} -export function updateData() { - //check the number of children (total plugs) the device has and update the action list appropriately - if (this.PLUGINFO.children && this.PLUGINFO.children.length > 0) { - this.SINGLEPLUGMODE = false - this.CHOICES_PLUGS = [] - - for (const plugInfo of this.PLUGINFO.children) { - this.CHOICES_PLUGS.push({ - id: plugInfo.id.toString(), - label: plugInfo.alias, - }) - } - } else { - this.SINGLEPLUGMODE = true - - this.CHOICES_PLUGS = [ - { - id: 1, - label: 'Plug', - }, - ] - } -} -export async function monitorPlugs() { - try { - // if (this.cleanupEvents) this.cleanupEvents() - // delete this.cleanupEvents - - if (this.PLUGINFO.children && this.PLUGINFO.children.length > 0) { - const cleanupFns = [] - let didInit = false - - for (const plugInfo of this.PLUGINFO.children) { - // TODO - these should be cached to avoid this constant recreation - if (!this.PLUGSETUP[plugInfo.id]) { - let childPlug = await client.getDevice({ host: this.config.host, childId: plugInfo.id }, { timeout: 20000 }) - cleanupFns.push(this.monitorEvents(childPlug)) - this.PLUGSETUP[plugInfo.id] = childPlug - didInit = true - } - } - - if (didInit) { - this.cleanupEvents = () => { - for (const fn of cleanupFns) { - if (fn) fn() - } - } - } - } else { - this.cleanupEvents = this.monitorEvents(this.DEVICE) - } - } catch (error) { - this.handleError(error) - } -} -export function monitorEvents(plug) { - if (!plug.companionSetupEvents) { - plug.companionSetupEvents = true - - // Device (Common) Events - plug.on('emeter-realtime-update', (emeterRealtime) => { - let i = emeterRealtime - }) - - // Plug Events - const plugId = plug.id - plug.on('power-on', () => { - this.updatePlugState(plugId, 1) - }) - plug.on('power-off', () => { - this.updatePlugState(plugId, 0) - }) - plug.on('power-update', (powerOn) => { - this.updatePlugState(plugId, +powerOn) - }) - plug.on('in-use', () => {}) - plug.on('not-in-use', () => {}) - plug.on('in-use-update', (inUse) => { - // logEvent('in-use-update', device, inUse) - // this.checkFeedbacks() - // this.checkVariables() - }) - } - - return () => { - // plug.stopPolling() - plug.removeAllListeners() - } -} -export function updatePlugState(plugId, powerState) { - if (this.SINGLEPLUGMODE) { - this.PLUGINFO.relay_state = powerState - } else { - if (this.PLUGINFO.children && this.PLUGINFO.children.length > 0) { - for (const plugInfo of this.PLUGINFO.children) { - if (plugInfo.id === plugId) { - plugInfo.state = powerState - break - } - } - } - } - - this.checkFeedbacks() - this.checkVariables() -} -export function setupInterval() { - if (this.INTERVAL !== null) { - clearInterval(this.INTERVAL) - this.INTERVAL = null - } - - this.config.interval = parseInt(this.config.interval) - - if (this.config.polling) { - this.log('info', 'Starting Update Interval.') - this.INTERVAL = setInterval(this.getInformation.bind(this), this.config.interval) - } else { - this.getInformation() - } -} -export function stopInterval() { - if (this.INTERVAL) { - this.log('info', 'Stopping Update Interval.') - clearInterval(this.INTERVAL) - } - this.INTERVAL = null -} -export function handleError(err) { - let stoppit = false - - // reduce log traffic - if (this.ERRORED) { - return - } - - let errorStr = err.toString() - - if ('code' in err) { - if (['ECONNREFUSED', 'EHOSTUNREACH'].includes(err['code'])) { - if (this.config.host && this.config.mac && this.config.scan) { - // if we're scanning see if the IP changed - errorStr = `No connection. Checking if ${this.config.mac} has a new IP` - let newIP = Object.keys(this.FOUND_PLUGS).find((plug) => { - return plug.mac == this.config.mac - }) - if (newIP) { - this.config.host = newIP - } - } - errorStr = 'Unable to communicate with Device. Is this the right IP address? Is it still online?' - } - this.updateStatus(InstanceStatus.ConnectionFailure, errorStr) - } else { - this.updateStatus(InstanceStatus.UnknownError, errorStr) - } - - if (this.INTERVAL && stoppit) { - this.log('error', 'Stopping Update interval due to error.') - this.stopInterval() - } - - this.ERRORED = true - this.log('error', errorStr) -} diff --git a/yarn.lock b/yarn.lock index 59d88ac..8944c30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,13 +5,6 @@ __metadata: version: 8 cacheKey: 10c0 -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f - languageName: node - linkType: hard - "@commander-js/extra-typings@npm:~11.1.0": version: 11.1.0 resolution: "@commander-js/extra-typings@npm:11.1.0" @@ -21,48 +14,54 @@ __metadata: languageName: node linkType: hard -"@companion-module/base@npm:^1.9.0": - version: 1.9.0 - resolution: "@companion-module/base@npm:1.9.0" +"@companion-module/base@npm:^1.11.0": + version: 1.11.0 + resolution: "@companion-module/base@npm:1.11.0" dependencies: - "@sentry/node": "npm:^8.13.0" - ajv: "npm:^8.16.0" + ajv: "npm:^8.17.1" colord: "npm:^2.9.3" ejson: "npm:^2.2.3" - eventemitter3: "npm:^4.0.7" + eventemitter3: "npm:^5.0.1" mimic-fn: "npm:^3.1.0" nanoid: "npm:^3.3.7" p-queue: "npm:^6.6.2" p-timeout: "npm:^4.1.0" - tslib: "npm:^2.6.3" - checksum: 10c0/e36ca1dd4a69dcb4cf70f7877658277679dd34830e52849180524d6924bffa3c56c2758398675556b8d6152c530e7b8e3336a4a7e9bdfba2f92df26ba65cc775 + tslib: "npm:^2.7.0" + checksum: 10c0/187e0bde591360fcdc69a16f58f07088eae1d13c3474ede9ee9c4babe4635ce89de46dd1e9f3681becf1d1638e969430a388eb7808b4019019f3cd0e0319425f languageName: node linkType: hard -"@companion-module/tools@npm:^1.5.1": - version: 1.5.1 - resolution: "@companion-module/tools@npm:1.5.1" +"@companion-module/tools@npm:^2.1.0": + version: 2.1.0 + resolution: "@companion-module/tools@npm:2.1.0" dependencies: - "@typescript-eslint/eslint-plugin": "npm:^5.59.9" - "@typescript-eslint/parser": "npm:^5.59.9" - eslint: "npm:^8.56.0" - eslint-config-prettier: "npm:^8.8.0" - eslint-plugin-n: "npm:^16.6.2" - eslint-plugin-prettier: "npm:^4.2.1" + "@eslint/js": "npm:^9.10.0" + eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-n: "npm:^17.10.2" + eslint-plugin-prettier: "npm:^5.2.1" find-up: "npm:^7.0.0" parse-author: "npm:^2.0.0" - prettier: "npm:^2.8.8" - tar: "npm:^6.2.1" - webpack: "npm:^5.90.0" + tar: "npm:^7.4.3" + webpack: "npm:^5.94.0" webpack-cli: "npm:^5.1.4" - zx: "npm:^7.2.3" + zx: "npm:^8.1.6" peerDependencies: - "@companion-module/base": ^1.4.1 + "@companion-module/base": ^1.11.0 + eslint: ^9.0.0 + prettier: ^3.0.0 + typescript-eslint: ^8.2.0 + peerDependenciesMeta: + eslint: + optional: true + prettier: + optional: true + typescript-eslint: + optional: true bin: companion-generate-manifest: scripts/generate-manifest.js companion-module-build: scripts/build.js companion-module-check: scripts/check.js - checksum: 10c0/97419617ff0911dddb7e8747216436440add40deabf194e3f8b8c8306227fbe8c35819119317bfc5796b36e94f3cba75cc4a6d1ef245592a3c88cbb35e472a66 + checksum: 10c0/a0ea5e762a4ce66088446c8feba10ddd92c3c5cb810c9709c70a60ec67ecf254b7814c3ca4bacc228fba7181018dd84c5d3343203cea7eaa0b475d94dd67e180 languageName: node linkType: hard @@ -73,7 +72,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -84,59 +83,40 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.6.0": version: 4.10.0 resolution: "@eslint-community/regexpp@npm:4.10.0" checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 +"@eslint/js@npm:^9.10.0": + version: 9.12.0 + resolution: "@eslint/js@npm:9.12.0" + checksum: 10c0/325650a59a1ce3d97c69441501ebaf415607248bacbe8c8ca35adc7cb73b524f592f266a75772f496b06f3239e3ee1996722a242148085f0ee5fb3dd7065897c languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 10c0/6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 languageName: node linkType: hard @@ -192,472 +172,17 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@opentelemetry/api-logs@npm:0.52.1": - version: 0.52.1 - resolution: "@opentelemetry/api-logs@npm:0.52.1" - dependencies: - "@opentelemetry/api": "npm:^1.0.0" - checksum: 10c0/fddecb2211f987bf1a7f104594e58227655c887a6a22b41e9ead5ed925a4594b56186b38fca8e24db33058a924d8b54ddd6b315eca915c469f9653ce7813c31a - languageName: node - linkType: hard - -"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.8, @opentelemetry/api@npm:^1.9.0": - version: 1.9.0 - resolution: "@opentelemetry/api@npm:1.9.0" - checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add - languageName: node - linkType: hard - -"@opentelemetry/context-async-hooks@npm:^1.25.1": - version: 1.25.1 - resolution: "@opentelemetry/context-async-hooks@npm:1.25.1" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/bdea47675fe7ca7363b548ca86e724baa102bbb68d92702a20c281615dbae040aad907ff08f553f0e4985868f99a762aadac04f07ad51915ef512c5c817d7976 - languageName: node - linkType: hard - -"@opentelemetry/core@npm:1.25.1, @opentelemetry/core@npm:^1.1.0, @opentelemetry/core@npm:^1.25.1, @opentelemetry/core@npm:^1.8.0": - version: 1.25.1 - resolution: "@opentelemetry/core@npm:1.25.1" - dependencies: - "@opentelemetry/semantic-conventions": "npm:1.25.1" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/37270396fe3546e454f5a6e8cab0e5777e49a8e4e56ef05644c4e458b3ba7c662f57ad1ba2dd936ddaef54cbe985abd7cee0d3e9188dfdc0e3b3d446c3484337 +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd languageName: node linkType: hard -"@opentelemetry/instrumentation-connect@npm:0.38.0": - version: 0.38.0 - resolution: "@opentelemetry/instrumentation-connect@npm:0.38.0" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - "@types/connect": "npm:3.4.36" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/90f24b838ea7530d9919d6ab2685f3a5ec4629f364efbbe57932c7abb5276560f3bc11bb0549e93385f419630151871677598421237b54e395c59ce2333a0ed6 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-express@npm:0.41.1": - version: 0.41.1 - resolution: "@opentelemetry/instrumentation-express@npm:0.41.1" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/0f6c43c78c6e3f8102d80befcf4d658b1175b6b8d0036787c9cc7fd8f27ac0f118c0227402e819ad1d95f596d3cf18c5012a959c82686a5ad8c122d8c3c5913d - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-fastify@npm:0.38.0": - version: 0.38.0 - resolution: "@opentelemetry/instrumentation-fastify@npm:0.38.0" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/e5fa6c14c5d17db55fb93de2aa181f6cc4c5f91bee7f985829d3622ed86793a6fd23e20b01555e16db06343dce32c858a67f12f9ff067ddc9b93bed446579b11 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-fs@npm:0.14.0": - version: 0.14.0 - resolution: "@opentelemetry/instrumentation-fs@npm:0.14.0" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.52.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/440fd443855d1fd56daeda384d55f4136a7664fa4e09a9bf741eafaa205f6c76abf5fbfd2044552db456c1ecf8976be1fe094efc10d9e7299847671a5ea5ecb3 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-graphql@npm:0.42.0": - version: 0.42.0 - resolution: "@opentelemetry/instrumentation-graphql@npm:0.42.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/b460a059725cab0c501b2e33057ef2ce1fcd40a0cb24d31efe368816c506c544fdc3bd5649a44b8ffa6747485005ec8855636b1d36a0f714f8be6f8fd6fcdc69 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-hapi@npm:0.40.0": - version: 0.40.0 - resolution: "@opentelemetry/instrumentation-hapi@npm:0.40.0" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/0f06c854900fda1872d6c9492f773543be6bc4ec9f55f42617a8a793c08d8cf46eb6e4f897df9070a7a344b0d660c583d4aca8df080c7ba60854cd5cbe32569b - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-http@npm:0.52.1": - version: 0.52.1 - resolution: "@opentelemetry/instrumentation-http@npm:0.52.1" - dependencies: - "@opentelemetry/core": "npm:1.25.1" - "@opentelemetry/instrumentation": "npm:0.52.1" - "@opentelemetry/semantic-conventions": "npm:1.25.1" - semver: "npm:^7.5.2" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/4309a99b0410e7ab1351efc26f93965e6df32a18fa529841442de016e32ba35b97f2621331b171e37e75cd4d386372edc7164ec2323fac9fd57fc0082aff55a7 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-ioredis@npm:0.42.0": - version: 0.42.0 - resolution: "@opentelemetry/instrumentation-ioredis@npm:0.42.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/redis-common": "npm:^0.36.2" - "@opentelemetry/semantic-conventions": "npm:^1.23.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/28fc079c87745f88e76a7427b7c82f1c621ee7b11863792b4767febffb853bdd0d8f7523cb190eded46f0bfec8e7434a3b179679ef994be9dd6580cd7ffa061b - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-koa@npm:0.42.0": - version: 0.42.0 - resolution: "@opentelemetry/instrumentation-koa@npm:0.42.0" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/f06fa6276c7aa990866c02ce6afb059cbfb0aca7d6340add397f361f1e5e892964d3d62a1a8e63d62d2732d64838d3ce14007343d061180e6879260a60e21643 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-mongodb@npm:0.46.0": - version: 0.46.0 - resolution: "@opentelemetry/instrumentation-mongodb@npm:0.46.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/sdk-metrics": "npm:^1.9.1" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/7e2e86bda540f06e7360ff98fff63835b4389954d2dacc30a05794ee4f465ce870181241a57352c28bbbde195d2194b4898229a67026d9969b149162d06025a6 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-mongoose@npm:0.40.0": - version: 0.40.0 - resolution: "@opentelemetry/instrumentation-mongoose@npm:0.40.0" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/467357de25c0106fbbacbd6a27ef31ee402c00f70d1c5087f8396a908e5a95591b710da873e66f4fddd6c5614627f59143f61f8400fcd5c425724bd91d265810 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-mysql2@npm:0.40.0": - version: 0.40.0 - resolution: "@opentelemetry/instrumentation-mysql2@npm:0.40.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - "@opentelemetry/sql-common": "npm:^0.40.1" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/dadc2bdbd40969385b77c8397a22bbd9c0fec8bf10942d393fc70bd6b2f17e6a85740103ef3a99a2c4892f151f172f547e98b777fcf6efa7b63e8cd7174cc6a6 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-mysql@npm:0.40.0": - version: 0.40.0 - resolution: "@opentelemetry/instrumentation-mysql@npm:0.40.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - "@types/mysql": "npm:2.15.22" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/b73b2b4831a2a91570eea7791eeb17621d55387ff971d6950b7698e9e5b7e323ee1034bafc8e88d209cf5675c840a8547c17742742a702fc327eb5a8f7400feb - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-nestjs-core@npm:0.39.0": - version: 0.39.0 - resolution: "@opentelemetry/instrumentation-nestjs-core@npm:0.39.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.23.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/1e4c8ba7c4cdd426f83499518c4950cf05c8837be01bcb129014a0e8ba1aa2a6bff12f13003058aaa64229e914b6d6e23bf50ff556f339f5e1fc5a6cf1726bd3 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-pg@npm:0.43.0": - version: 0.43.0 - resolution: "@opentelemetry/instrumentation-pg@npm:0.43.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - "@opentelemetry/sql-common": "npm:^0.40.1" - "@types/pg": "npm:8.6.1" - "@types/pg-pool": "npm:2.0.4" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/be69badfefced5878c77dfea2f165ebd1a2a2df28ec9a39e5cb35bfd38d1992f6c348f4f5976372b007b2884dd0730c4a5ba1477f8fc2ae2f0b21a041bc61678 - languageName: node - linkType: hard - -"@opentelemetry/instrumentation-redis-4@npm:0.41.0": - version: 0.41.0 - resolution: "@opentelemetry/instrumentation-redis-4@npm:0.41.0" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.52.0" - "@opentelemetry/redis-common": "npm:^0.36.2" - "@opentelemetry/semantic-conventions": "npm:^1.22.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/fbf9a3d68c027746160cf3d8bcba61f1fae0e6aeb6ced56b53765bac9286a6f6a62be1bb14b92e7ed74fac5111bd78a8b66ae449dc386c6d3b01e7446ed118bc - languageName: node - linkType: hard - -"@opentelemetry/instrumentation@npm:0.52.1, @opentelemetry/instrumentation@npm:^0.49 || ^0.50 || ^0.51 || ^0.52.0, @opentelemetry/instrumentation@npm:^0.52.0, @opentelemetry/instrumentation@npm:^0.52.1": - version: 0.52.1 - resolution: "@opentelemetry/instrumentation@npm:0.52.1" - dependencies: - "@opentelemetry/api-logs": "npm:0.52.1" - "@types/shimmer": "npm:^1.0.2" - import-in-the-middle: "npm:^1.8.1" - require-in-the-middle: "npm:^7.1.1" - semver: "npm:^7.5.2" - shimmer: "npm:^1.2.1" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/1d4946b470ac31358ba8d81a9f9653a1d705db96ffb8958fef873340c3d3c9699cfd8ff617c313ea8c6a8ece51aa7cf8af37d87a60813c31ed2207e5c14a33ba - languageName: node - linkType: hard - -"@opentelemetry/instrumentation@npm:^0.46.0": - version: 0.46.0 - resolution: "@opentelemetry/instrumentation@npm:0.46.0" - dependencies: - "@types/shimmer": "npm:^1.0.2" - import-in-the-middle: "npm:1.7.1" - require-in-the-middle: "npm:^7.1.1" - semver: "npm:^7.5.2" - shimmer: "npm:^1.2.1" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/6ab3dd88c248818f559d05bd4b79c011761555286bfd264c105c8aee169b8888dcfd754af1c33d8c982daab725819e29ebc3e8f54520f2f6599f92bb35635ee0 - languageName: node - linkType: hard - -"@opentelemetry/redis-common@npm:^0.36.2": - version: 0.36.2 - resolution: "@opentelemetry/redis-common@npm:0.36.2" - checksum: 10c0/4cb831628551b9f13dca8d65897e300ff7be0e256b77f455a26fb053bbdfc7997b27d066ab1402ca929e7ac77598e0d593f91762d8af9f798c19ba1524e9d078 - languageName: node - linkType: hard - -"@opentelemetry/resources@npm:1.25.1, @opentelemetry/resources@npm:^1.25.1": - version: 1.25.1 - resolution: "@opentelemetry/resources@npm:1.25.1" - dependencies: - "@opentelemetry/core": "npm:1.25.1" - "@opentelemetry/semantic-conventions": "npm:1.25.1" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/4edbf04945c7647b9af847f2f8abccabb54f4f8935fd75c199dc22879f8b7927ac50fac8e877ef48e81c586a08d63bbfe41c345caf94a8ce2c623fa99bb8e999 - languageName: node - linkType: hard - -"@opentelemetry/sdk-metrics@npm:^1.9.1": - version: 1.25.1 - resolution: "@opentelemetry/sdk-metrics@npm:1.25.1" - dependencies: - "@opentelemetry/core": "npm:1.25.1" - "@opentelemetry/resources": "npm:1.25.1" - lodash.merge: "npm:^4.6.2" - peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.10.0" - checksum: 10c0/e27d693e2e34dfeadc4632f771a2f7aca7266f7be6d159bb488bb9cdd68edd5a3fca1ecb0cc3a703a61f0f95fbf806d48e5711052519d50d7d235eedb9ce22ae - languageName: node - linkType: hard - -"@opentelemetry/sdk-trace-base@npm:^1.22, @opentelemetry/sdk-trace-base@npm:^1.25.1": - version: 1.25.1 - resolution: "@opentelemetry/sdk-trace-base@npm:1.25.1" - dependencies: - "@opentelemetry/core": "npm:1.25.1" - "@opentelemetry/resources": "npm:1.25.1" - "@opentelemetry/semantic-conventions": "npm:1.25.1" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/bcbc5de75edb8f36a05c7d21699782b4aa100482588d89e318d3f35944d45e776f50f7b353273a0925bc0b3b6e82cbf294cba4cb0792d951148b4ee105280aa2 - languageName: node - linkType: hard - -"@opentelemetry/semantic-conventions@npm:1.25.1, @opentelemetry/semantic-conventions@npm:^1.17.0, @opentelemetry/semantic-conventions@npm:^1.22.0, @opentelemetry/semantic-conventions@npm:^1.23.0, @opentelemetry/semantic-conventions@npm:^1.25.1": - version: 1.25.1 - resolution: "@opentelemetry/semantic-conventions@npm:1.25.1" - checksum: 10c0/fb1d6349e91f142c82931e89e0242215be8248e77919b6faa7e259757e499183546c9b4046de72b053b5222453bc74fff70280d2b4d1229484ba7b2c07f16a3a - languageName: node - linkType: hard - -"@opentelemetry/sql-common@npm:^0.40.1": - version: 0.40.1 - resolution: "@opentelemetry/sql-common@npm:0.40.1" - dependencies: - "@opentelemetry/core": "npm:^1.1.0" - peerDependencies: - "@opentelemetry/api": ^1.1.0 - checksum: 10c0/60a70358f0c94f610e2995333e96b406626d67d03d38ed03b15a3461ad0f8d64afbf6275cca7cb58fe955ecdce832f3ffc9b73f9d88503bba5d2a620bbd6d351 - languageName: node - linkType: hard - -"@prisma/instrumentation@npm:5.17.0": - version: 5.17.0 - resolution: "@prisma/instrumentation@npm:5.17.0" - dependencies: - "@opentelemetry/api": "npm:^1.8" - "@opentelemetry/instrumentation": "npm:^0.49 || ^0.50 || ^0.51 || ^0.52.0" - "@opentelemetry/sdk-trace-base": "npm:^1.22" - checksum: 10c0/831b9e4c175c4a9ab97b2b54aaf0664a41b6c8a189fa6465efa5fd4b31f49f3d6bf8dd4edf9f012a250d8426f93c75bad4c3726356a2b5abc62aa07afb13e857 - languageName: node - linkType: hard - -"@sentry/core@npm:8.26.0": - version: 8.26.0 - resolution: "@sentry/core@npm:8.26.0" - dependencies: - "@sentry/types": "npm:8.26.0" - "@sentry/utils": "npm:8.26.0" - checksum: 10c0/ef843551f10ff2336dc0b048f2681c61e27473b1bc91f7fe578b362c2e8a4a4b07e81959ba38ce170a94d68bec84460c9e2f11e89f21efea4eadead11b57233f - languageName: node - linkType: hard - -"@sentry/node@npm:^8.13.0": - version: 8.26.0 - resolution: "@sentry/node@npm:8.26.0" - dependencies: - "@opentelemetry/api": "npm:^1.9.0" - "@opentelemetry/context-async-hooks": "npm:^1.25.1" - "@opentelemetry/core": "npm:^1.25.1" - "@opentelemetry/instrumentation": "npm:^0.52.1" - "@opentelemetry/instrumentation-connect": "npm:0.38.0" - "@opentelemetry/instrumentation-express": "npm:0.41.1" - "@opentelemetry/instrumentation-fastify": "npm:0.38.0" - "@opentelemetry/instrumentation-fs": "npm:0.14.0" - "@opentelemetry/instrumentation-graphql": "npm:0.42.0" - "@opentelemetry/instrumentation-hapi": "npm:0.40.0" - "@opentelemetry/instrumentation-http": "npm:0.52.1" - "@opentelemetry/instrumentation-ioredis": "npm:0.42.0" - "@opentelemetry/instrumentation-koa": "npm:0.42.0" - "@opentelemetry/instrumentation-mongodb": "npm:0.46.0" - "@opentelemetry/instrumentation-mongoose": "npm:0.40.0" - "@opentelemetry/instrumentation-mysql": "npm:0.40.0" - "@opentelemetry/instrumentation-mysql2": "npm:0.40.0" - "@opentelemetry/instrumentation-nestjs-core": "npm:0.39.0" - "@opentelemetry/instrumentation-pg": "npm:0.43.0" - "@opentelemetry/instrumentation-redis-4": "npm:0.41.0" - "@opentelemetry/resources": "npm:^1.25.1" - "@opentelemetry/sdk-trace-base": "npm:^1.25.1" - "@opentelemetry/semantic-conventions": "npm:^1.25.1" - "@prisma/instrumentation": "npm:5.17.0" - "@sentry/core": "npm:8.26.0" - "@sentry/opentelemetry": "npm:8.26.0" - "@sentry/types": "npm:8.26.0" - "@sentry/utils": "npm:8.26.0" - import-in-the-middle: "npm:^1.11.0" - opentelemetry-instrumentation-fetch-node: "npm:1.2.3" - dependenciesMeta: - opentelemetry-instrumentation-fetch-node: - optional: true - checksum: 10c0/0a10c7ef4bc2f0ed557a693d18a531ee0dc15492a05d1fb321d30efa40169720e41919f5d9cbda57414fae3ffa5895adf9efac7121fb110ce2d24827e55fd53d - languageName: node - linkType: hard - -"@sentry/opentelemetry@npm:8.26.0": - version: 8.26.0 - resolution: "@sentry/opentelemetry@npm:8.26.0" - dependencies: - "@sentry/core": "npm:8.26.0" - "@sentry/types": "npm:8.26.0" - "@sentry/utils": "npm:8.26.0" - peerDependencies: - "@opentelemetry/api": ^1.9.0 - "@opentelemetry/core": ^1.25.1 - "@opentelemetry/instrumentation": ^0.52.1 - "@opentelemetry/sdk-trace-base": ^1.25.1 - "@opentelemetry/semantic-conventions": ^1.25.1 - checksum: 10c0/194d825384968b310ec1b84fd20cf1e023f0aac32392390277b85702e38cef7d358589fbeeee7b089dccd43941f27a6223c47c72d96b3799193f8fa320939087 - languageName: node - linkType: hard - -"@sentry/types@npm:8.26.0": - version: 8.26.0 - resolution: "@sentry/types@npm:8.26.0" - checksum: 10c0/9bc198e31354d8473d77726b282dd0044c26faa4257b362eda1ae132cfeadb75bb29cdfb624dbd6d8f1b8f1862d3c04631a266d5e2bf4b6c79a916bb79562c78 - languageName: node - linkType: hard - -"@sentry/utils@npm:8.26.0": - version: 8.26.0 - resolution: "@sentry/utils@npm:8.26.0" - dependencies: - "@sentry/types": "npm:8.26.0" - checksum: 10c0/26a426f4c98e767edbf8ce10c2428c8380faa671133c86496ef696e3995914540ce6d4d92c1f0d7797157acd043f89ac1e463c98a30ea4a1bdd4a89ac83b40d5 - languageName: node - linkType: hard - -"@types/connect@npm:3.4.36": - version: 3.4.36 - resolution: "@types/connect@npm:3.4.36" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/0dd8fcf576e178e69cbc00d47be69d3198dca4d86734a00fc55de0df147982e0a5f34592117571c5979e92ce8f3e0596e31aa454496db8a43ab90c5ab1068f40 +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 languageName: node linkType: hard @@ -668,7 +193,7 @@ __metadata: languageName: node linkType: hard -"@types/fs-extra@npm:^11.0.1": +"@types/fs-extra@npm:>=11": version: 11.0.4 resolution: "@types/fs-extra@npm:11.0.4" dependencies: @@ -678,7 +203,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:^7.0.8": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -694,22 +219,6 @@ __metadata: languageName: node linkType: hard -"@types/minimist@npm:^1.2.2": - version: 1.2.5 - resolution: "@types/minimist@npm:1.2.5" - checksum: 10c0/3f791258d8e99a1d7d0ca2bda1ca6ea5a94e5e7b8fc6cde84dd79b0552da6fb68ade750f0e17718f6587783c24254bbca0357648dd59dc3812c150305cabdc46 - languageName: node - linkType: hard - -"@types/mysql@npm:2.15.22": - version: 2.15.22 - resolution: "@types/mysql@npm:2.15.22" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/872e7389985c954e7bf507cbe8f62f33c779d28e456b711d18133eaf9636487d0521e7f2c32e22eae0aa71f2d1c6e10d6212fbace50f73ab0a803949cc71f2cc - languageName: node - linkType: hard - "@types/node@npm:*": version: 20.11.13 resolution: "@types/node@npm:20.11.13" @@ -719,199 +228,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^18.16.3": - version: 18.19.11 - resolution: "@types/node@npm:18.19.11" +"@types/node@npm:>=20": + version: 22.7.5 + resolution: "@types/node@npm:22.7.5" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/159e6dc80868970531fbf8f06dd305eab75b1dc7a6788aae3a6dbc606dc7cacd14fc135e9bed40cb2824f01a57d14aeffff7fe494c17859b41e7a8f81a321716 - languageName: node - linkType: hard - -"@types/pg-pool@npm:2.0.4": - version: 2.0.4 - resolution: "@types/pg-pool@npm:2.0.4" - dependencies: - "@types/pg": "npm:*" - checksum: 10c0/1c6b83e1c33c66e6b1ee11332ecf74ad393ba2a3966d5ee7ffaa40ddfe1f3cb4df224263515967d39101fa13b10c1f70da45795ca6eaeeea7d8e9edeeb58093f - languageName: node - linkType: hard - -"@types/pg@npm:*": - version: 8.11.6 - resolution: "@types/pg@npm:8.11.6" - dependencies: - "@types/node": "npm:*" - pg-protocol: "npm:*" - pg-types: "npm:^4.0.1" - checksum: 10c0/e68e057d9500b25cd776f4fcc547b4880c4f3b0c7b6e03c8a0e5e262b6189dd7a00f4edc8937ffc55a9f6a136a78d7e4a9b6bbe6a46122a95c134f7be66f6842 - languageName: node - linkType: hard - -"@types/pg@npm:8.6.1": - version: 8.6.1 - resolution: "@types/pg@npm:8.6.1" - dependencies: - "@types/node": "npm:*" - pg-protocol: "npm:*" - pg-types: "npm:^2.2.0" - checksum: 10c0/8d16660c9a4f050d6d5e391c59f9a62e9d377a2a6a7eb5865f8828082dbdfeab700fd707e585f42d67b29e796b32863aea5bd6d5cbb8ceda2d598da5d0c61693 - languageName: node - linkType: hard - -"@types/ps-tree@npm:^1.1.2": - version: 1.1.6 - resolution: "@types/ps-tree@npm:1.1.6" - checksum: 10c0/5bac64e587b82d4a1b0079f04fa5a54380a94b118e99c8096d52444d722a8f9932dbc62138da130b2f09cd6721f8eae1eac35d3cb68b4126c08e4e92d4c4962c - languageName: node - linkType: hard - -"@types/semver@npm:^7.3.12": - version: 7.5.6 - resolution: "@types/semver@npm:7.5.6" - checksum: 10c0/196dc32db5f68cbcde2e6a42bb4aa5cbb100fa2b7bd9c8c82faaaf3e03fbe063e205dbb4f03c7cdf53da2edb70a0d34c9f2e601b54281b377eb8dc1743226acd - languageName: node - linkType: hard - -"@types/shimmer@npm:^1.0.2": - version: 1.2.0 - resolution: "@types/shimmer@npm:1.2.0" - checksum: 10c0/6f7bfe1b55601cfc3ae713fc74a03341f3834253b8b91cb2add926d5949e4a63f7e666f59c2a6e40a883a5f9e2f3e3af10f9d3aed9b60fced0bda87659e58d8d - languageName: node - linkType: hard - -"@types/which@npm:^3.0.0": - version: 3.0.3 - resolution: "@types/which@npm:3.0.3" - checksum: 10c0/553ff9ae9757ff1f99097b2b40e7ed3a317b1ca8507a9daaa5a429d63670f5d4b69a9b96afe00dfb3bdefa8b274441c93f978b7dd98b9af48daf9f07494689a5 - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^5.59.9": - version: 5.62.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/type-utils": "npm:5.62.0" - "@typescript-eslint/utils": "npm:5.62.0" - debug: "npm:^4.3.4" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - natural-compare-lite: "npm:^1.4.0" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" - peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/3f40cb6bab5a2833c3544e4621b9fdacd8ea53420cadc1c63fac3b89cdf5c62be1e6b7bcf56976dede5db4c43830de298ced3db60b5494a3b961ca1b4bff9f2a - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^5.59.9": - version: 5.62.0 - resolution: "@typescript-eslint/parser@npm:5.62.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/315194b3bf39beb9bd16c190956c46beec64b8371e18d6bb72002108b250983eb1e186a01d34b77eb4045f4941acbb243b16155fbb46881105f65e37dc9e24d4 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/type-utils@npm:5.62.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:5.62.0" - "@typescript-eslint/utils": "npm:5.62.0" - debug: "npm:^4.3.4" - tsutils: "npm:^3.21.0" - peerDependencies: - eslint: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/93112e34026069a48f0484b98caca1c89d9707842afe14e08e7390af51cdde87378df29d213d3bbd10a7cfe6f91b228031b56218515ce077bdb62ddea9d9f474 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@types/json-schema": "npm:^7.0.9" - "@types/semver": "npm:^7.3.12" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" - eslint-scope: "npm:^5.1.1" - semver: "npm:^7.3.7" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - eslint-visitor-keys: "npm:^3.3.0" - checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + undici-types: "npm:~6.19.2" + checksum: 10c0/cf11f74f1a26053ec58066616e3a8685b6bcd7259bc569738b8f752009f9f0f7f85a1b2d24908e5b0f752482d1e8b6babdf1fbb25758711ec7bb9500bfcd6e60 languageName: node linkType: hard @@ -1113,15 +435,6 @@ __metadata: languageName: node linkType: hard -"acorn-import-assertions@npm:^1.9.0": - version: 1.9.0 - resolution: "acorn-import-assertions@npm:1.9.0" - peerDependencies: - acorn: ^8 - checksum: 10c0/3b4a194e128efdc9b86c2b1544f623aba4c1aa70d638f8ab7dc3971a5b4aa4c57bd62f99af6e5325bb5973c55863b4112e708a6f408bad7a138647ca72283afe - languageName: node - linkType: hard - "acorn-import-attributes@npm:^1.9.5": version: 1.9.5 resolution: "acorn-import-attributes@npm:1.9.5" @@ -1131,16 +444,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 - languageName: node - linkType: hard - -"acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.7.1, acorn@npm:^8.8.2": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -1158,7 +462,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -1170,7 +474,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.16.0": +"ajv@npm:^8.17.1": version: 8.17.1 resolution: "ajv@npm:8.17.1" dependencies: @@ -1189,7 +493,14 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.1.0": +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1198,17 +509,10 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c languageName: node linkType: hard @@ -1226,22 +530,12 @@ __metadata: languageName: node linkType: hard -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" dependencies: balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"braces@npm:^3.0.3": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f languageName: node linkType: hard @@ -1266,29 +560,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.3.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a - languageName: node - linkType: hard - -"builtins@npm:^5.0.1": - version: 5.0.1 - resolution: "builtins@npm:5.0.1" - dependencies: - semver: "npm:^7.0.0" - checksum: 10c0/9390a51a9abbc0233dac79c66715f927508b9d0c62cb7a42448fe8c52def60c707e6e9eb2cc4c9b7aba11601899935bca4e4064ae5e19c04c7e1bb9309e69134 - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001580": version: 1.0.30001581 resolution: "caniuse-lite@npm:1.0.30001581" @@ -1296,27 +567,10 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"chalk@npm:^5.2.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 languageName: node linkType: hard @@ -1327,13 +581,6 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^1.2.2": - version: 1.3.1 - resolution: "cjs-module-lexer@npm:1.3.1" - checksum: 10c0/cd98fbf3c7f4272fb0ebf71d08d0c54bc75ce0e30b9d186114e15b4ba791f3d310af65a339eea2a0318599af2818cdd8886d353b43dfab94468f72987397ad16 - languageName: node - linkType: hard - "clone-deep@npm:^4.0.1": version: 4.0.1 resolution: "clone-deep@npm:4.0.1" @@ -1383,97 +630,34 @@ __metadata: linkType: hard "commander@npm:^2.20.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 - languageName: node - linkType: hard - -"commander@npm:~11.1.0": - version: 11.1.0 - resolution: "commander@npm:11.1.0" - checksum: 10c0/13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 - languageName: node - linkType: hard - -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b - languageName: node - linkType: hard - -"debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 - languageName: node - linkType: hard - -"debug@npm:^4.3.5": - version: 4.3.6 - resolution: "debug@npm:4.3.6" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/3293416bff072389c101697d4611c402a6bacd1900ac20c0492f61a9cdd6b3b29750fc7f5e299f8058469ef60ff8fb79b86395a30374fbd2490113c1c7112285 - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c +"commander@npm:~11.1.0": + version: 11.1.0 + resolution: "commander@npm:11.1.0" + checksum: 10c0/13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179 languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 languageName: node linkType: hard -"duplexer@npm:~0.1.1": - version: 0.1.2 - resolution: "duplexer@npm:0.1.2" - checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 languageName: node linkType: hard @@ -1491,7 +675,21 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.17.1": +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.17.0, enhanced-resolve@npm:^5.17.1": version: 5.17.1 resolution: "enhanced-resolve@npm:5.17.1" dependencies: @@ -1524,13 +722,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - "eslint-compat-utils@npm:^0.1.2": version: 0.1.2 resolution: "eslint-compat-utils@npm:0.1.2" @@ -1540,14 +731,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^8.8.0": - version: 8.10.0 - resolution: "eslint-config-prettier@npm:8.10.0" +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 10c0/19f8c497d9bdc111a17a61b25ded97217be3755bbc4714477dfe535ed539dddcaf42ef5cf8bb97908b058260cf89a3d7c565cb0be31096cbcd39f4c2fa5fe43c + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d languageName: node linkType: hard @@ -1564,43 +755,45 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-n@npm:^16.6.2": - version: 16.6.2 - resolution: "eslint-plugin-n@npm:16.6.2" +"eslint-plugin-n@npm:^17.10.2": + version: 17.11.1 + resolution: "eslint-plugin-n@npm:17.11.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - builtins: "npm:^5.0.1" + enhanced-resolve: "npm:^5.17.0" eslint-plugin-es-x: "npm:^7.5.0" get-tsconfig: "npm:^4.7.0" - globals: "npm:^13.24.0" + globals: "npm:^15.8.0" ignore: "npm:^5.2.4" - is-builtin-module: "npm:^3.2.1" - is-core-module: "npm:^2.12.1" - minimatch: "npm:^3.1.2" - resolve: "npm:^1.22.2" + minimatch: "npm:^9.0.5" semver: "npm:^7.5.3" peerDependencies: - eslint: ">=7.0.0" - checksum: 10c0/6008493754b51c6b9ce18c17e7c3d455b69444d2c454dd399a5c2f1b833bb5a649992052f141a5dd695d22e3946a518063b2dd01e872c67dc0294eb143b80633 + eslint: ">=8.23.0" + checksum: 10c0/c67967b49be21b6b099d7a451cf1d1dca106f8cbe435a5dba0822e963a6b30dff20269c1951179b5ed3fac3c74e57b951c6943e66773d2d157d04abaf8928b7f languageName: node linkType: hard -"eslint-plugin-prettier@npm:^4.2.1": - version: 4.2.1 - resolution: "eslint-plugin-prettier@npm:4.2.1" +"eslint-plugin-prettier@npm:^5.2.1": + version: 5.2.1 + resolution: "eslint-plugin-prettier@npm:5.2.1" dependencies: prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.9.1" peerDependencies: - eslint: ">=7.28.0" - prettier: ">=2.0.0" + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" peerDependenciesMeta: + "@types/eslint": + optional: true eslint-config-prettier: optional: true - checksum: 10c0/c5e7316baeab9d96ac39c279f16686e837277e5c67a8006c6588bcff317edffdc1532fb580441eb598bc6770f6444006756b68a6575dff1cd85ebe227252d0b7 + checksum: 10c0/4bc8bbaf5bb556c9c501dcdff369137763c49ccaf544f9fa91400360ed5e3a3f1234ab59690e06beca5b1b7e6f6356978cdd3b02af6aba3edea2ffe69ca6e8b2 languageName: node linkType: hard -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": +"eslint-scope@npm:5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -1610,91 +803,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard -"eslint@npm:^8.56.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" - debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - bin: - eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 - languageName: node - linkType: hard - -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 - languageName: node - linkType: hard - -"esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 - languageName: node - linkType: hard - "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -1711,42 +826,27 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": +"estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 languageName: node linkType: hard -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"event-stream@npm:=3.3.4": - version: 3.3.4 - resolution: "event-stream@npm:3.3.4" - dependencies: - duplexer: "npm:~0.1.1" - from: "npm:~0" - map-stream: "npm:~0.1.0" - pause-stream: "npm:0.0.11" - split: "npm:0.3" - stream-combiner: "npm:~0.0.4" - through: "npm:~2.3.1" - checksum: 10c0/c3ec4e1efc27ab3e73a98923f0a2fa9a19051b87068fea2f3d53d2e4e8c5cfdadf8c8a115b17f3d90b16a46432d396bad91b6e8d0cceb3e449be717a03b75209 - languageName: node - linkType: hard - -"eventemitter3@npm:^4.0.4, eventemitter3@npm:^4.0.7": +"eventemitter3@npm:^4.0.4": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b languageName: node linkType: hard +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 + languageName: node + linkType: hard + "events@npm:^3.2.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -1768,19 +868,6 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - "fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -1788,13 +875,6 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - "fast-uri@npm:^3.0.1": version: 3.0.1 resolution: "fast-uri@npm:3.0.1" @@ -1809,43 +889,6 @@ __metadata: languageName: node linkType: hard -"fastq@npm:^1.6.0": - version: 1.17.0 - resolution: "fastq@npm:1.17.0" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/0a90ed46ccd6a858a32e297bd35f4249ba6544899b905d08f33a6ba36459041639161fa15bc85a38afa98dd44fb2fa2969419a879721a1395d3e24668a7732c7 - languageName: node - linkType: hard - -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" - dependencies: - node-domexception: "npm:^1.0.0" - web-streams-polyfill: "npm:^3.0.3" - checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 - languageName: node - linkType: hard - -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - "find-up@npm:^4.0.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -1856,16 +899,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - "find-up@npm:^7.0.0": version: 7.0.0 resolution: "find-up@npm:7.0.0" @@ -1877,17 +910,6 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" - dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 - languageName: node - linkType: hard - "flat@npm:^5.0.2": version: 5.0.2 resolution: "flat@npm:5.0.2" @@ -1897,53 +919,13 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.9": - version: 3.2.9 - resolution: "flatted@npm:3.2.9" - checksum: 10c0/5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53 - languageName: node - linkType: hard - -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" - dependencies: - fetch-blob: "npm:^3.1.2" - checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 - languageName: node - linkType: hard - -"from@npm:~0": - version: 0.1.7 - resolution: "from@npm:0.1.7" - checksum: 10c0/3aab5aea8fe8e1f12a5dee7f390d46a93431ce691b6222dcd5701c5d34378e51ca59b44967da1105a0f90fcdf5d7629d963d51e7ccd79827d19693bdcfb688d4 - languageName: node - linkType: hard - -"fs-extra@npm:^11.1.1": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" +"foreground-child@npm:^3.1.0": + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2 languageName: node linkType: hard @@ -1954,15 +936,6 @@ __metadata: languageName: node linkType: hard -"fx@npm:*": - version: 31.0.0 - resolution: "fx@npm:31.0.0" - bin: - fx: index.js - checksum: 10c0/6714625a0fbc6772dba320f8f9d7d86605ca0f72d7e0b67f22abab3016046370116bcb710168c25e949727d1fd435e3e81b4050b44e957362512baf0c6f8aa83 - languageName: node - linkType: hard - "get-tsconfig@npm:^4.7.0": version: 4.7.2 resolution: "get-tsconfig@npm:4.7.2" @@ -1972,24 +945,6 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - "glob-to-regexp@npm:^0.4.1": version: 0.4.1 resolution: "glob-to-regexp@npm:0.4.1" @@ -1997,70 +952,36 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"globals@npm:^13.19.0, globals@npm:^13.24.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" +"glob@npm:^10.3.7": + version: 10.4.5 + resolution: "glob@npm:10.4.5" dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd - languageName: node - linkType: hard - -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e languageName: node linkType: hard -"globby@npm:^13.1.4": - version: 13.2.2 - resolution: "globby@npm:13.2.2" - dependencies: - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.3.0" - ignore: "npm:^5.2.4" - merge2: "npm:^1.4.1" - slash: "npm:^4.0.0" - checksum: 10c0/a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 +"globals@npm:^15.8.0": + version: 15.11.0 + resolution: "globals@npm:15.11.0" + checksum: 10c0/861e39bb6bd9bd1b9f355c25c962e5eb4b3f0e1567cf60fa6c06e8c502b0ec8706b1cce055d69d84d0b7b8e028bec5418cf629a54e7047e116538d1c1c1a375c languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 languageName: node linkType: hard -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -2077,47 +998,13 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.2.4": +"ignore@npm:^5.2.4": version: 5.3.0 resolution: "ignore@npm:5.3.0" checksum: 10c0/dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 languageName: node linkType: hard -"import-fresh@npm:^3.2.1": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" - dependencies: - parent-module: "npm:^1.0.0" - resolve-from: "npm:^4.0.0" - checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 - languageName: node - linkType: hard - -"import-in-the-middle@npm:1.7.1": - version: 1.7.1 - resolution: "import-in-the-middle@npm:1.7.1" - dependencies: - acorn: "npm:^8.8.2" - acorn-import-assertions: "npm:^1.9.0" - cjs-module-lexer: "npm:^1.2.2" - module-details-from-path: "npm:^1.0.3" - checksum: 10c0/992619fba916a758a1ed06cd47b6ab47f25cbab61987a887e0971cdbadff8c619a2f27b06d630f6d12ac644b9171d15538299e36355c001c58ca1b85c87a8a5a - languageName: node - linkType: hard - -"import-in-the-middle@npm:^1.11.0, import-in-the-middle@npm:^1.8.1": - version: 1.11.0 - resolution: "import-in-the-middle@npm:1.11.0" - dependencies: - acorn: "npm:^8.8.2" - acorn-import-attributes: "npm:^1.9.5" - cjs-module-lexer: "npm:^1.2.2" - module-details-from-path: "npm:^1.0.3" - checksum: 10c0/b5b52b635450f69640289b9b597fef796ef9aa6c231ae22583a1c2e97bd1b61aa0048d7fc143b4af3ec5bffb7d64131302ed0882f62e0e2d60f0a4f009daff3f - languageName: node - linkType: hard - "import-local@npm:^3.0.2": version: 3.1.0 resolution: "import-local@npm:3.1.0" @@ -2130,30 +1017,6 @@ __metadata: languageName: node linkType: hard -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - "interpret@npm:^3.1.1": version: 3.1.1 resolution: "interpret@npm:3.1.1" @@ -2161,16 +1024,7 @@ __metadata: languageName: node linkType: hard -"is-builtin-module@npm:^3.2.1": - version: 3.2.1 - resolution: "is-builtin-module@npm:3.2.1" - dependencies: - builtin-modules: "npm:^3.3.0" - checksum: 10c0/5a66937a03f3b18803381518f0ef679752ac18cdb7dd53b5e23ee8df8d440558737bd8dcc04d2aae555909d2ecb4a81b5c0d334d119402584b61e6a003e31af1 - languageName: node - linkType: hard - -"is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0": +"is-core-module@npm:^2.13.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -2179,33 +1033,10 @@ __metadata: languageName: node linkType: hard -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc languageName: node linkType: hard @@ -2232,6 +1063,19 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + "jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" @@ -2243,24 +1087,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - "json-parse-even-better-errors@npm:^2.3.1": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -2282,35 +1108,6 @@ __metadata: languageName: node linkType: hard -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 - languageName: node - linkType: hard - -"keyv@npm:^4.5.3": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - "kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -2318,16 +1115,6 @@ __metadata: languageName: node linkType: hard -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e - languageName: node - linkType: hard - "loader-runner@npm:^4.2.0": version: 4.3.0 resolution: "loader-runner@npm:4.3.0" @@ -2344,15 +1131,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - "locate-path@npm:^7.2.0": version: 7.2.0 resolution: "locate-path@npm:7.2.0" @@ -2404,13 +1182,6 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 - languageName: node - linkType: hard - "loglevel@npm:^1.8.1": version: 1.9.1 resolution: "loglevel@npm:1.9.1" @@ -2418,6 +1189,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -2427,34 +1205,10 @@ __metadata: languageName: node linkType: hard -"map-stream@npm:~0.1.0": - version: 0.1.0 - resolution: "map-stream@npm:0.1.0" - checksum: 10c0/7dd6debe511c1b55d9da75e1efa65a28b1252a2d8357938d2e49b412713c478efbaefb0cdf0ee0533540c3bf733e8f9f71e1a15aa0fe74bf71b64e75bf1576bd - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 languageName: node linkType: hard @@ -2481,68 +1235,38 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimist@npm:^1.2.8": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" +"minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard -"minizlib@npm:^2.1.1": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + minipass: "npm:^7.0.4" + rimraf: "npm:^5.0.5" + checksum: 10c0/82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093 languageName: node linkType: hard -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"module-details-from-path@npm:^1.0.3": - version: 1.0.3 - resolution: "module-details-from-path@npm:1.0.3" - checksum: 10c0/3d881f3410c142e4c2b1307835a2862ba04e5b3ec6e90655614a0ee2c4b299b4c1d117fb525d2435bf436990026f18d338a197b54ad6bd36252f465c336ff423 - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d languageName: node linkType: hard @@ -2555,20 +1279,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 10c0/f6cef26f5044515754802c0fc475d81426f3b90fe88c20fabe08771ce1f736ce46e0397c10acb569a4dd0acb84c7f1ee70676122f95d5bfdd747af3a6c6bbaa8 - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -2576,24 +1286,6 @@ __metadata: languageName: node linkType: hard -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b - languageName: node - linkType: hard - -"node-fetch@npm:3.3.1": - version: 3.3.1 - resolution: "node-fetch@npm:3.3.1" - dependencies: - data-uri-to-buffer: "npm:^4.0.0" - fetch-blob: "npm:^3.1.4" - formdata-polyfill: "npm:^4.0.10" - checksum: 10c0/78671bffed741a2f3ccb15588a42fd7e9db2bdc9f99f9f584e0c749307f9603d961692f0877d853b28a4d1375ab2253b19978dd3bfc0c3189b42adc340bef927 - languageName: node - linkType: hard - "node-releases@npm:^2.0.14": version: 2.0.14 resolution: "node-releases@npm:2.0.14" @@ -2601,48 +1293,6 @@ __metadata: languageName: node linkType: hard -"obuf@npm:~1.1.2": - version: 1.1.2 - resolution: "obuf@npm:1.1.2" - checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 - languageName: node - linkType: hard - -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"opentelemetry-instrumentation-fetch-node@npm:1.2.3": - version: 1.2.3 - resolution: "opentelemetry-instrumentation-fetch-node@npm:1.2.3" - dependencies: - "@opentelemetry/instrumentation": "npm:^0.46.0" - "@opentelemetry/semantic-conventions": "npm:^1.17.0" - peerDependencies: - "@opentelemetry/api": ^1.6.0 - checksum: 10c0/18b077638a35896c2c642d4b8a88562a4cfb1936647e6c0b20f6f92b599703f8ea1f400782f00123f3b0a1aaf51367af8faf2ed3b94d288261ca6f99eef5ff44 - languageName: node - linkType: hard - -"optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" - dependencies: - "@aashutoshrathi/word-wrap": "npm:^1.2.3" - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c - languageName: node - linkType: hard - "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -2659,15 +1309,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - "p-limit@npm:^4.0.0": version: 4.0.0 resolution: "p-limit@npm:4.0.0" @@ -2686,15 +1327,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - "p-locate@npm:^6.0.0": version: 6.0.0 resolution: "p-locate@npm:6.0.0" @@ -2737,12 +1369,10 @@ __metadata: languageName: node linkType: hard -"parent-module@npm:^1.0.0": +"package-json-from-dist@npm:^1.0.0": version: 1.0.1 - resolution: "parent-module@npm:1.0.1" - dependencies: - callsites: "npm:^3.0.0" - checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b languageName: node linkType: hard @@ -2769,13 +1399,6 @@ __metadata: languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -2790,68 +1413,13 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - -"pause-stream@npm:0.0.11": - version: 0.0.11 - resolution: "pause-stream@npm:0.0.11" - dependencies: - through: "npm:~2.3" - checksum: 10c0/86f12c64cdaaa8e45ebaca4e39a478e1442db8b4beabc280b545bfaf79c0e2f33c51efb554aace5c069cc441c7b924ba484837b345eaa4ba6fc940d62f826802 - languageName: node - linkType: hard - -"pg-int8@npm:1.0.1": - version: 1.0.1 - resolution: "pg-int8@npm:1.0.1" - checksum: 10c0/be6a02d851fc2a4ae3e9de81710d861de3ba35ac927268973eb3cb618873a05b9424656df464dd43bd7dc3fc5295c3f5b3c8349494f87c7af50ec59ef14e0b98 - languageName: node - linkType: hard - -"pg-numeric@npm:1.0.2": - version: 1.0.2 - resolution: "pg-numeric@npm:1.0.2" - checksum: 10c0/43dd9884e7b52c79ddc28d2d282d7475fce8bba13452d33c04ceb2e0a65f561edf6699694e8e1c832ff9093770496363183c950dd29608e1bdd98f344b25bca9 - languageName: node - linkType: hard - -"pg-protocol@npm:*": - version: 1.6.1 - resolution: "pg-protocol@npm:1.6.1" - checksum: 10c0/7eadef4010ac0a3925c460be7332ca4098a5c6d5181725a62193fcfa800000ae6632d98d814f3989b42cf5fdc3b45e34c714a1959d29174e81e30730e140ae5f - languageName: node - linkType: hard - -"pg-types@npm:^2.2.0": - version: 2.2.0 - resolution: "pg-types@npm:2.2.0" - dependencies: - pg-int8: "npm:1.0.1" - postgres-array: "npm:~2.0.0" - postgres-bytea: "npm:~1.0.0" - postgres-date: "npm:~1.0.4" - postgres-interval: "npm:^1.1.0" - checksum: 10c0/ab3f8069a323f601cd2d2279ca8c425447dab3f9b61d933b0601d7ffc00d6200df25e26a4290b2b0783b59278198f7dd2ed03e94c4875797919605116a577c65 - languageName: node - linkType: hard - -"pg-types@npm:^4.0.1": - version: 4.0.2 - resolution: "pg-types@npm:4.0.2" +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" dependencies: - pg-int8: "npm:1.0.1" - pg-numeric: "npm:1.0.2" - postgres-array: "npm:~3.0.1" - postgres-bytea: "npm:~3.0.0" - postgres-date: "npm:~2.1.0" - postgres-interval: "npm:^3.0.0" - postgres-range: "npm:^1.1.1" - checksum: 10c0/780fccda2f3fa2a34e85a72e8e7dadb7d88fbe71ce88f126cb3313f333ad836d02488ec4ff3d94d0c1e5846f735d6e6c6281f8059e6b8919d2180429acaec3e2 + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d languageName: node linkType: hard @@ -2862,13 +1430,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - "pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -2878,80 +1439,6 @@ __metadata: languageName: node linkType: hard -"postgres-array@npm:~2.0.0": - version: 2.0.0 - resolution: "postgres-array@npm:2.0.0" - checksum: 10c0/cbd56207e4141d7fbf08c86f2aebf21fa7064943d3f808ec85f442ff94b48d891e7a144cc02665fb2de5dbcb9b8e3183a2ac749959e794b4a4cfd379d7a21d08 - languageName: node - linkType: hard - -"postgres-array@npm:~3.0.1": - version: 3.0.2 - resolution: "postgres-array@npm:3.0.2" - checksum: 10c0/644aa071f67a66a59f641f8e623887d2b915bc102a32643e2aa8b54c11acd343c5ad97831ea444dd37bd4b921ba35add4aa2cb0c6b76700a8252c2324aeba5b4 - languageName: node - linkType: hard - -"postgres-bytea@npm:~1.0.0": - version: 1.0.0 - resolution: "postgres-bytea@npm:1.0.0" - checksum: 10c0/febf2364b8a8953695cac159eeb94542ead5886792a9627b97e33f6b5bb6e263bc0706ab47ec221516e79fbd6b2452d668841830fb3b49ec6c0fc29be61892ce - languageName: node - linkType: hard - -"postgres-bytea@npm:~3.0.0": - version: 3.0.0 - resolution: "postgres-bytea@npm:3.0.0" - dependencies: - obuf: "npm:~1.1.2" - checksum: 10c0/41c79cc48aa730c5ba3eda6ab989a940034f07a1f57b8f2777dce56f1b8cca16c5870582932b5b10cc605048aef9b6157e06253c871b4717cafc6d00f55376aa - languageName: node - linkType: hard - -"postgres-date@npm:~1.0.4": - version: 1.0.7 - resolution: "postgres-date@npm:1.0.7" - checksum: 10c0/0ff91fccc64003e10b767fcfeefb5eaffbc522c93aa65d5051c49b3c4ce6cb93ab091a7d22877a90ad60b8874202c6f1d0f935f38a7235ed3b258efd54b97ca9 - languageName: node - linkType: hard - -"postgres-date@npm:~2.1.0": - version: 2.1.0 - resolution: "postgres-date@npm:2.1.0" - checksum: 10c0/00a7472c10788f6b0d08d24108bf1eb80858de1bd6317740198a564918ea4a69b80c98148167b92ae688abd606483020d0de0dd3a36f3ea9a3e26bbeef3464f4 - languageName: node - linkType: hard - -"postgres-interval@npm:^1.1.0": - version: 1.2.0 - resolution: "postgres-interval@npm:1.2.0" - dependencies: - xtend: "npm:^4.0.0" - checksum: 10c0/c1734c3cb79e7f22579af0b268a463b1fa1d084e742a02a7a290c4f041e349456f3bee3b4ee0bb3f226828597f7b76deb615c1b857db9a742c45520100456272 - languageName: node - linkType: hard - -"postgres-interval@npm:^3.0.0": - version: 3.0.0 - resolution: "postgres-interval@npm:3.0.0" - checksum: 10c0/8b570b30ea37c685e26d136d34460f246f98935a1533defc4b53bb05ee23ae3dc7475b718ec7ea607a57894d8c6b4f1adf67ca9cc83a75bdacffd427d5c68de8 - languageName: node - linkType: hard - -"postgres-range@npm:^1.1.1": - version: 1.1.4 - resolution: "postgres-range@npm:1.1.4" - checksum: 10c0/254494ef81df208e0adeae6b66ce394aba37914ea14c7ece55a45fb6691b7db04bee74c825380a47c887a9f87158fd3d86f758f9cc60b76d3a38ce5aca7912e8 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - "prettier-linter-helpers@npm:^1.0.0": version: 1.0.0 resolution: "prettier-linter-helpers@npm:1.0.0" @@ -2961,15 +1448,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.8.8": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" - bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a - languageName: node - linkType: hard - "promise-queue@npm:^2.2.5": version: 2.2.5 resolution: "promise-queue@npm:2.2.5" @@ -2977,17 +1455,6 @@ __metadata: languageName: node linkType: hard -"ps-tree@npm:^1.2.0": - version: 1.2.0 - resolution: "ps-tree@npm:1.2.0" - dependencies: - event-stream: "npm:=3.3.4" - bin: - ps-tree: ./bin/ps-tree.js - checksum: 10c0/9d1c159e0890db5aa05f84d125193c2190a6c4ecd457596fd25e7611f8f747292a846459dcc0244e27d45529d4cea6d1010c3a2a087fad02624d12fdb7d97c22 - languageName: node - linkType: hard - "punycode@npm:^2.1.0": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -2995,13 +1462,6 @@ __metadata: languageName: node linkType: hard -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - "randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -3027,17 +1487,6 @@ __metadata: languageName: node linkType: hard -"require-in-the-middle@npm:^7.1.1": - version: 7.4.0 - resolution: "require-in-the-middle@npm:7.4.0" - dependencies: - debug: "npm:^4.3.5" - module-details-from-path: "npm:^1.0.3" - resolve: "npm:^1.22.8" - checksum: 10c0/67c2242ea5b059c2a10c01d4f409233c67278051b47b9bf83198ab7e3ea591ffe3fa1d97912180d7d3d9a5e44490c00c55882b702849d61ac4db87d2c3823cb0 - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -3047,13 +1496,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 - languageName: node - linkType: hard - "resolve-from@npm:^5.0.0": version: 5.0.0 resolution: "resolve-from@npm:5.0.0" @@ -3068,7 +1510,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.20.0, resolve@npm:^1.22.2, resolve@npm:^1.22.8": +"resolve@npm:^1.20.0": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -3081,7 +1523,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": +"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -3094,30 +1536,14 @@ __metadata: languageName: node linkType: hard -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 - languageName: node - linkType: hard - -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" dependencies: - glob: "npm:^7.1.3" + glob: "npm:^10.3.7" bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + rimraf: dist/esm/bin.mjs + checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc languageName: node linkType: hard @@ -3139,7 +1565,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.3.7, semver@npm:^7.5.3": +"semver@npm:^7.5.3": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -3150,15 +1576,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.2": - version: 7.6.3 - resolution: "semver@npm:7.6.3" - bin: - semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.1": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" @@ -3193,24 +1610,10 @@ __metadata: languageName: node linkType: hard -"shimmer@npm:^1.2.1": - version: 1.2.1 - resolution: "shimmer@npm:1.2.1" - checksum: 10c0/ae8b27c389db2a00acfc8da90240f11577685a8f3e40008f826a3bea8b4f3b3ecd305c26be024b4a0fd3b123d132c1569d6e238097960a9a543b6c60760fb46a - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"slash@npm:^4.0.0": - version: 4.0.0 - resolution: "slash@npm:4.0.0" - checksum: 10c0/b522ca75d80d107fd30d29df0549a7b2537c83c4c4ecd12cd7d4ea6c8aaca2ab17ada002e7a1d78a9d736a0261509f26ea5b489082ee443a3a810586ef8eff18 +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 languageName: node linkType: hard @@ -3231,25 +1634,29 @@ __metadata: languageName: node linkType: hard -"split@npm:0.3": - version: 0.3.3 - resolution: "split@npm:0.3.3" +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" dependencies: - through: "npm:2" - checksum: 10c0/88c09b1b4de84953bf5d6c153123a1fbb20addfea9381f70d27b4eb6b2bfbadf25d313f8f5d3fd727d5679b97bfe54da04766b91010f131635bf49e51d5db3fc + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b languageName: node linkType: hard -"stream-combiner@npm:~0.0.4": - version: 0.0.4 - resolution: "stream-combiner@npm:0.0.4" +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" dependencies: - duplexer: "npm:~0.1.1" - checksum: 10c0/8075a94c0eb0f20450a8236cb99d4ce3ea6e6a4b36d8baa7440b1a08cde6ffd227debadffaecd80993bd334282875d0e927ab5b88484625e01970dd251004ff5 + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca languageName: node linkType: hard -"strip-ansi@npm:^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -3258,19 +1665,12 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 languageName: node linkType: hard @@ -3290,6 +1690,16 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.9.1": + version: 0.9.2 + resolution: "synckit@npm:0.9.2" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e0c262817444e5b872708adb6f5ad37951ba33f6b2d1d4477d45db1f57573a784618ceed5e6614e0225db330632b1f6b95bb74d21e4d013e45ad4bde03d0cb59 + languageName: node + linkType: hard + "tapable@npm:^2.1.1, tapable@npm:^2.2.0": version: 2.2.1 resolution: "tapable@npm:2.2.1" @@ -3297,17 +1707,17 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.2.1": - version: 6.2.1 - resolution: "tar@npm:6.2.1" +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d languageName: node linkType: hard @@ -3347,35 +1757,12 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"through@npm:2, through@npm:~2.3, through@npm:~2.3.1": - version: 2.3.8 - resolution: "through@npm:2.3.8" - checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - "tplink-kasasmartplug@workspace:.": version: 0.0.0-use.local resolution: "tplink-kasasmartplug@workspace:." dependencies: - "@companion-module/base": "npm:^1.9.0" - "@companion-module/tools": "npm:^1.5.1" + "@companion-module/base": "npm:^1.11.0" + "@companion-module/tools": "npm:^2.1.0" tplink-smarthome-api: "npm:^5.0.0" languageName: unknown linkType: soft @@ -3408,44 +1795,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - -"tslib@npm:^2.6.3": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a - languageName: node - linkType: hard - -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: "npm:^1.8.1" - peerDependencies: - typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 - languageName: node - linkType: hard - -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 +"tslib@npm:^2.6.2, tslib@npm:^2.7.0": + version: 2.7.0 + resolution: "tslib@npm:2.7.0" + checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 languageName: node linkType: hard @@ -3456,6 +1809,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + "unicorn-magic@npm:^0.1.0": version: 0.1.0 resolution: "unicorn-magic@npm:0.1.0" @@ -3463,13 +1823,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.0.13": version: 1.0.13 resolution: "update-browserslist-db@npm:1.0.13" @@ -3503,13 +1856,6 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.0.3": - version: 3.3.2 - resolution: "web-streams-polyfill@npm:3.3.2" - checksum: 10c0/623c2fced2ef77d5afdbc43acef64b8af609a32125b691eae286d534a36004c8a71030f0e78068516774a97fd90dbfb3726b10fd569a2d158e60c83a539c489e - languageName: node - linkType: hard - "webpack-cli@npm:^5.1.4": version: 5.1.4 resolution: "webpack-cli@npm:5.1.4" @@ -3560,9 +1906,9 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5.90.0": - version: 5.94.0 - resolution: "webpack@npm:5.94.0" +"webpack@npm:^5.94.0": + version: 5.95.0 + resolution: "webpack@npm:5.95.0" dependencies: "@types/estree": "npm:^1.0.5" "@webassemblyjs/ast": "npm:^1.12.1" @@ -3592,16 +1938,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10c0/b4d1b751f634079bd177a89eef84d80fa5bb8d6fc15d72ab40fc2b9ca5167a79b56585e1a849e9e27e259803ee5c4365cb719e54af70a43c06358ec268ff4ebf - languageName: node - linkType: hard - -"webpod@npm:^0": - version: 0.0.2 - resolution: "webpod@npm:0.0.2" - bin: - webpod: dist/index.js - checksum: 10c0/92b5920be7a8a080839221ce70e5d18f5cac86455af9ee20a54e77ee5c577746981c6d70afc2510df15061d3e3ea8c47f9fc36c2be01f47fd7630db1c9e5cba0 + checksum: 10c0/b9e6d0f8ebcbf0632494ac0b90fe4acb8f4a9b83f7ace4a67a15545a36fe58599c912ab58e625e1bf58ab3b0916c75fe99da6196d412ee0cab0b5065edd84238 languageName: node linkType: hard @@ -3616,17 +1953,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^3.0.0": - version: 3.0.1 - resolution: "which@npm:3.0.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: bin/which.js - checksum: 10c0/15263b06161a7c377328fd2066cb1f093f5e8a8f429618b63212b5b8847489be7bcab0ab3eb07f3ecc0eda99a5a7ea52105cf5fa8266bedd083cc5a9f6da24f1 - languageName: node - linkType: hard - "wildcard@npm:^2.0.0": version: 2.0.1 resolution: "wildcard@npm:2.0.1" @@ -3634,17 +1960,25 @@ __metadata: languageName: node linkType: hard -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da languageName: node linkType: hard -"xtend@npm:^4.0.0": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 languageName: node linkType: hard @@ -3655,17 +1989,10 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.2.2": - version: 2.3.4 - resolution: "yaml@npm:2.3.4" - checksum: 10c0/cf03b68f8fef5e8516b0f0b54edaf2459f1648317fc6210391cf606d247e678b449382f4bd01f77392538429e306c7cba8ff46ff6b37cac4de9a76aff33bd9e1 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 languageName: node linkType: hard @@ -3676,27 +2003,19 @@ __metadata: languageName: node linkType: hard -"zx@npm:^7.2.3": - version: 7.2.3 - resolution: "zx@npm:7.2.3" - dependencies: - "@types/fs-extra": "npm:^11.0.1" - "@types/minimist": "npm:^1.2.2" - "@types/node": "npm:^18.16.3" - "@types/ps-tree": "npm:^1.1.2" - "@types/which": "npm:^3.0.0" - chalk: "npm:^5.2.0" - fs-extra: "npm:^11.1.1" - fx: "npm:*" - globby: "npm:^13.1.4" - minimist: "npm:^1.2.8" - node-fetch: "npm:3.3.1" - ps-tree: "npm:^1.2.0" - webpod: "npm:^0" - which: "npm:^3.0.0" - yaml: "npm:^2.2.2" +"zx@npm:^8.1.6": + version: 8.1.9 + resolution: "zx@npm:8.1.9" + dependencies: + "@types/fs-extra": "npm:>=11" + "@types/node": "npm:>=20" + dependenciesMeta: + "@types/fs-extra": + optional: true + "@types/node": + optional: true bin: zx: build/cli.js - checksum: 10c0/9a90886e4e923263aa363c1b5193d5ef0db23b7debe69d4f267b594c33748b234234ceb4fa984c38487255c3801e748237bb857859f066ba90503935a61bdba7 + checksum: 10c0/b11f0e75b8ed618ededc88ecba1d01bc1415bb6966bd68539f8b47bb13d7bf43bf7b64a80798b0cafb308742a19c14df2b08a09ca60703f227bc1a6122547556 languageName: node linkType: hard