diff --git a/.gitignore b/.gitignore index cca5e93..b90d56a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ node_modules/ /pkg.tgz DEBUG-INSPECT DEBUG-PACKAGE -DEBUG-PACKAGED \ No newline at end of file +DEBUG-PACKAGED +actions_old.js diff --git a/actions.js b/actions.js index 27e4ab8..9d7440a 100644 --- a/actions.js +++ b/actions.js @@ -17,7 +17,11 @@ export function compileActionDefinitions(self) { } else if (cmd !== undefined) { self.log('debug', `sending ${cmd} ${JSON.stringify(args)} to ${self.config.host}`) // everything except 'auditionWindow' and 'overrideWindow' works on a specific workspace - self.sendOSC(cmd, args, ['/auditionWindow', '/alwaysAudition', '/overrideWindow'].includes(cmd)) + self.sendOSC( + cmd, + args, + ['/auditionWindow', '/alwaysAudition', '/overrideWindow'].includes(cmd), + ) } // QLab does not send window updates so ask for status if (self.useTCP && ['/auditionWindow', '/alwaysAudition', '/overrideWindow'].includes(cmd)) { @@ -771,6 +775,84 @@ export function compileActionDefinitions(self) { }) }, }, + manual: { + name: 'Send custom OSC command', + description: 'Please consider filing a feature request', + options: [ + { + type: 'textinput', + label: 'OSC Address', + id: 'node', + default: '', + useVariables: true, + }, + { + type: 'dropdown', + label: 'Argument Type', + id: 'argType', + default: 'n', + choices: [ + { id: 'n', label: 'None' }, + { id: 's', label: 'String' }, + { id: 'i', label: 'Integer' }, + { id: 'f', label: 'Float' }, + ], + }, + { + type: 'textinput', + label: 'String', + id: 'argS', + default: '', + useVariables: true, + isVisible: (option, data) => { + return option.argType === 's' + }, + }, + { + type: 'textinput', + label: 'Integer', + id: 'argI', + default: 0, + useVariables: true, + isVisible: (option, data) => { + return option.argType === 'i' + }, + }, + { + type: 'textinput', + label: 'Float', + id: 'argF', + default: 0.0, + useVariables: true, + isVisible: (option, data) => { + return option.argType === 'f' + }, + }, + ], + callback: async (action, context) => { + let arg + const argT = action.options.argType === 'n' ? '' : action.options.argType + switch (argT) { + case 's': + arg = { type: argT, value: await context.parseVariablesInString(action.options.argS) } + break + case 'i': + arg = { + type: argT, + value: parseInt(await context.parseVariablesInString(action.options.argI)), + } + break + case 'f': + arg = { + type: argT, + value: parseFloat(await context.parseVariablesInString(action.options.argF)), + } + break + } + const cmd = await context.parseVariablesInString(action.options.node) + await sendCommand(action, cmd, arg) + }, + }, copyCueID: { name: 'Copy Unique Cue ID', options: [], diff --git a/colors.js b/colors.js index cc3f35f..8c0f53b 100644 --- a/colors.js +++ b/colors.js @@ -2,13 +2,31 @@ import { combineRgb } from '@companion-module/base' export const colorRGB = { none: combineRgb(16, 16, 16), - // thanks to Baldrian Sector for the extended list of color names + // base colors red: combineRgb(160, 0, 0), orange: combineRgb(255, 100, 0), + yellow: combineRgb(160, 160, 0), green: combineRgb(0, 160, 0), + cyan: combineRgb(0, 160, 160), blue: combineRgb(0, 0, 160), purple: combineRgb(80, 0, 80), - yellow: combineRgb(200, 200, 0), + magenta: combineRgb(160, 0, 160), + // other 'official' colors + berry: combineRgb(94, 30, 77), + crimson: combineRgb(140, 0, 40), + forest: combineRgb(50, 85, 35), + gray: combineRgb(140, 140, 140), + 'Hot Pink': combineRgb(220, 0, 120), + hotpink: combineRgb(220, 0, 120), + indigo: combineRgb(75, 0, 130), + lavender: combineRgb(200, 140, 224), + midnight: combineRgb(32, 36, 125), + olive: combineRgb(128, 128, 0), + peach: combineRgb(228, 128, 89), + plum: combineRgb(52, 0, 62), + skyblue: combineRgb(135, 206, 235), + 'Sky Blue': combineRgb(135, 206, 235), + // 'other' available colors avocado: combineRgb(86, 130, 4), bastardamber: combineRgb(255, 200, 180), bisque: combineRgb(255, 229, 196), @@ -22,18 +40,15 @@ export const colorRGB = { fulvous: combineRgb(228, 134, 0), glaucous: combineRgb(136, 206, 234), grey: combineRgb(140, 140, 140), - indigo: combineRgb(75, 0, 130), lilac: combineRgb(204, 135, 153), maize: combineRgb(247, 232, 92), mauve: combineRgb(153, 51, 102), ochre: combineRgb(205, 118, 34), - olive: combineRgb(128, 128, 0), puce: combineRgb(223, 176, 255), rufous: combineRgb(169, 27, 7), sage: combineRgb(189, 184, 138), scarlet: combineRgb(253, 37, 0), seafoamgreen: combineRgb(195, 226, 190), - skyblue: combineRgb(135, 206, 235), taupe: combineRgb(178, 138, 108), verdigris: combineRgb(65, 129, 108), vermilion: combineRgb(228, 66, 52), @@ -46,10 +61,26 @@ export const colorName = [ { label: 'None', id: 'none' }, { label: 'Red', id: 'red' }, { label: 'Orange', id: 'orange' }, + { label: 'Yellow', id: 'yellow' }, { label: 'Green', id: 'green' }, + { label: 'Cyan', id: 'cyan' }, { label: 'Blue', id: 'blue' }, { label: 'Purple', id: 'purple' }, - { label: 'Yellow', id: 'yellow' }, + { label: 'Magenta', id: 'magenta' }, + // + { label: 'Berry', id: 'berry' }, + { label: 'Crimson', id: 'crimson' }, + { label: 'Forest', id: 'forest' }, + { label: 'Gray', id: 'gray' }, + { label: 'Hot Pink', id: 'Hot Pink' }, + { label: 'Indigo', id: 'indigo' }, + { label: 'Lavender', id: 'Lavender' }, + { label: 'Midnight', id: 'midnight' }, + { label: 'Olive', id: 'olive' }, + { label: 'Peach', id: 'peach' }, + { label: 'Plum', id: 'plum' }, + { label: 'Sky Blue', id: 'Sky Blue' }, + // { label: 'Avocado', id: 'avocado' }, { label: 'Bastard Amber', id: 'bastardamber' }, { label: 'Bisque', id: 'bisque' }, @@ -63,18 +94,15 @@ export const colorName = [ { label: 'Fulvous', id: 'fulvous' }, { label: 'Glaucous', id: 'glaucous' }, { label: 'Grey', id: 'grey' }, - { label: 'Indigo', id: 'indigo' }, { label: 'Lilac', id: 'lilac' }, { label: 'Maize', id: 'maize' }, { label: 'Mauve', id: 'mauve' }, { label: 'Ochre', id: 'ochre' }, - { label: 'Olive', id: 'olive' }, { label: 'Puce', id: 'puce' }, { label: 'Rufous', id: 'rufous' }, { label: 'Sage', id: 'sage' }, { label: 'Scarlet', id: 'scarlet' }, { label: 'Seafoam Green', id: 'seafoamgreen' }, - { label: 'Skyblue', id: 'skyblue' }, { label: 'Taupe', id: 'taupe' }, { label: 'Verdigris', id: 'verdigris' }, { label: 'Vermilion', id: 'vermilion' }, diff --git a/companion/HELP.md b/companion/HELP.md index 84c2616..d9f1a8f 100644 --- a/companion/HELP.md +++ b/companion/HELP.md @@ -26,15 +26,16 @@ https://github.com/sponsors/istnv ## Configuration -| Setting | Description | -| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Target IP** | Enter the address of the QLab computer. You can enter 127.0.0.1 if Companion is running on the same computer. | -| **Target Port** | Enter the port number where QLab is listening for OSC messages. This defaults to 53000. Has no effect on QLab4 (or QLab3) | -| **Use TCP?** | Check to enable TCP mode. This is required for variables and feedback. | -| **Use Tenths** | If checked, the variable _r_left_ will display 0.1 seconds when less than 5 seconds. If unchecked, the time left will be adjusted by 1 second for a more accurate count-down. | -| **OSC Passcode** | Enter a passcode if needed for the QLab workspace. QLab 5 requires a passcode to work reliably from Companion. | -| **Workspace** | Dropdown selection to select a specific Workspace. You can enter 'default' or leave blank to control front-most workspace (if more than one is open) in QLab4. QLab5 commands go to all open workspaces. You can change the IP Control Port too allow multiple workspaces open at once. | -| **Specific Cue List** | Dropdown selection to limit control to a specific cuelist. | +| Setting | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Target IP** | Enter the address of the QLab computer. You can enter 127.0.0.1 if Companion is running on the same computer. | +| **Target Port** | Enter the port number where QLab is listening for OSC messages. This defaults to 53000. Has no effect on QLab4 (or QLab3) | +| **Use TCP?** | Check to enable TCP mode. This is required for variables and feedback. | +| **Use Tenths?** | If checked, the variable _r_left_ will display 0.1 seconds when less than 5 seconds. If unchecked, the time left will be adjusted by 1 second for a more accurate count-down. | +| **Expose Cue Name Variables?** | The cue name variables for all cue numbers and IDs are not normally visible in the list of variables window. Enabling this will show them which could clutter the list with hundreds of variables. | +| **OSC Passcode** | Enter a passcode if needed for the QLab workspace. QLab 5 requires a passcode to work reliably from Companion. | +| **Workspace** | Dropdown selection to select a specific Workspace. You can enter 'default' or leave blank to control front-most workspace (if more than one is open) in QLab4. QLab5 commands go to all open workspaces. You can change the IP Control Port too allow multiple workspaces open at once. | +| **Specific Cue List** | Dropdown selection to limit control to a specific cuelist. | ## Actions @@ -79,6 +80,7 @@ https://github.com/sponsors/istnv | **Set/Unset Autoload** | Set / Unset the Autoload property of the selected cue. | | **Set Continue Mode** | Sets the continue mode of the selected cue. | | **Set Cue Color** | Sets the color of the selected cue. | +| **Custom OSC Command** | Send a custom OSC command to QLab. Useful for commands not yet implemented.
If you use this, consider submitting a feature request to have the command added as a built-in action | | **Copy Unique Cue ID** | Copies the Unique ID of the cue at the Playhead to actions and feedbacks. | The next action or feedback inserted will have the Unique ID already filled in. diff --git a/config.js b/config.js index 53d1e31..f28ea7e 100644 --- a/config.js +++ b/config.js @@ -32,25 +32,44 @@ export function GetConfigFields(self) { type: 'checkbox', label: 'Use TCP?', id: 'useTCP', - width: 20, - tooltip: 'Use TCP instead of UDP\nRequired for feedbacks', - default: false, + width: 6, + tooltip: 'Use TCP instead of UDP\nRequired for feedbacks and variables', + default: true, }, { type: 'checkbox', - label: 'Use Tenths', + label: 'Use Tenths?', id: 'useTenths', - width: 20, + width: 6, + isVisible: (options, data) => { + return !!options.useTCP + }, tooltip: 'Show .1 second resolution for cue remaining timer?\nOtherwise offset countdown by +1 second\nRequires TCP', default: false, }, + { + type: 'checkbox', + label: 'Expose cue name variables?', + id: 'exposeVariables', + width: 6, + isVisible: (options, data) => { + return !!options.useTCP + }, + tooltip: + 'Variables for the name of each cue number and cue ID are normally hidden\n' + + 'in the Variable List. Enabling this will allow them to be searched in the\n' + + 'list but may also cause excessive clutter', + default: false, + }, { type: 'textinput', id: 'passcode', label: 'OSC Passcode', - width: 12, - tooltip: 'The passcode to controll QLab.\nLeave blank if not needed.', + width: 6, + tooltip: + 'The passcode to controll QLab.\nLeave blank if not needed\n' + +'This is almost always required for QLab5', }, ] diff --git a/cues.js b/cues.js index 1fb621f..7d978cf 100644 --- a/cues.js +++ b/cues.js @@ -4,6 +4,8 @@ class Cue { uniqueID = '' qName = '[none]' qNumber = '' + qType = null + qMode = null isLoaded = false isBroken = false isRunning = false @@ -38,6 +40,7 @@ function JSONtoCue(newCue, j, self) { newCue.qNumber = j.number newCue.qColorName = j.colorName newCue.qType = j.type.toLowerCase() + newCue.qMode = j.mode, newCue.isRunning = j.isRunning newCue.isAuditioning = j.isAuditioning newCue.isLoaded = j.isLoaded @@ -55,7 +58,7 @@ function JSONtoCue(newCue, j, self) { if (j.notes) { newCue.Notes = j.notes.slice(0, 20) } - newCue.qColor = Colors.colorRGB[j.colorName] + newCue.qColor = Colors.colorRGB[j.colorName.toLowerCase().replaceAll(' ','')] const isExistingQ = newCue.uniqueID in self.wsCues diff --git a/package.json b/package.json index 92f6f20..d0a8f07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "figure53-qlab-advance", - "version": "2.4.1", + "version": "2.4.2", "main": "qlabfb.js", "type": "module", "scripts": { diff --git a/qlabfb.js b/qlabfb.js index 00e93ea..361a51a 100644 --- a/qlabfb.js +++ b/qlabfb.js @@ -51,7 +51,7 @@ class QLabInstance extends InstanceBase { { type: 's', value: - '["number","uniqueID","listName","type","isPaused","duration","actionElapsed","parent","flagged","notes",' + + '["number","uniqueID","listName","type","mode","isPaused","duration","actionElapsed","parent","flagged","notes",' + '"autoLoad","colorName","isRunning","isAuditioning","isLoaded","armed","isBroken","continueMode","percentActionElapsed","cartPosition",' + '"infiniteLoop","holdLastFrame"]', }, @@ -102,6 +102,7 @@ class QLabInstance extends InstanceBase { } this.useTCP = config.useTCP + this.exposeVariables = config.exposeVariables || false } resetVars(doUpdate) { @@ -165,7 +166,7 @@ class QLabInstance extends InstanceBase { n_type: nc.qType, n_notes: nc.Notes, n_stat: cueToStatusChar(nc), - n_cont: ['NoC','Con','Fol'][nc.continueMode] + n_cont: ['NoC', 'Con', 'Fol'][nc.continueMode], }) this.checkFeedbacks('playhead_bg') } @@ -183,6 +184,8 @@ class QLabInstance extends InstanceBase { let oqOrder = -1 let variableValues = {} + let variableDefs = [] + let oldVariables = [] // unset old variable? if (qID in this.wsCues) { @@ -192,25 +195,45 @@ class QLabInstance extends InstanceBase { oqColor = this.wsCues[qID].qColor oqOrder = this.wsCues[qID].qOrder if (oqNum != '' && oqNum != q.qNumber) { - variableValues['q_' + oqNum + '_name'] = undefined + // cue number changed + let vId = `q_${oqNum}_name` + variableValues[vId] = undefined + oldVariables.push(vId) this.cueColors[oqNum] = 0 delete this.cueByNum[oqNum] oqName = '' } } // set new value - if (q.qName != oqName || qColor != oqColor) { + if ((q.uniqueID != '' && q.qName != oqName) || qColor != oqColor) { if (qNum != '') { - variableValues['q_' + qNum + '_name'] = q.qName + let vId = `q_${qNum}_name` + variableValues[vId] = q.qName + variableDefs.push({ + variableId: vId, + name: `Name of cue number '${qNum}'`, + }) this.cueColors[qNum] = q.qColor this.cueByNum[qNum] = qID } - variableValues['id_' + qID + '_name'] = q.qName + let vId = `id_${qID}_name` + variableValues[vId] = q.qName + variableDefs.push({ variableId: vId, name: `Name of cue ID ${qID}` }) this.checkFeedbacks('q_bg', 'qid_bg') } - this.setVariableValues(variableValues) + if (this.exposeVariables) { + if (variableDefs.length) { + //remove old qNum's + this.variableDefs.filter((variableId) => { + return !oldVariables.includes(variableId) + }) + this.variableDefs = [...this.variableDefs, ...variableDefs] + this.setVariableDefinitions(this.variableDefs) + } + this.setVariableValues(variableValues) + } } updateRunning() { @@ -315,7 +338,8 @@ class QLabInstance extends InstanceBase { } init_variables() { if (this.useTCP) { - this.setVariableDefinitions(compileVariableDefinition(this)) + this.variableDefs = compileVariableDefinition(this) + this.setVariableDefinitions(this.variableDefs) this.updateRunning() this.updateNextCue() } else { @@ -374,7 +398,10 @@ class QLabInstance extends InstanceBase { this.sendOSC('/version', [], true) // app global, not workspace this.sendOSC('/workspaces', [], true) if (this.config.passcode) { - if (this.config.passcode != this.wrongPasscode || Date.now() - this.wrongPasscodeAt > 15000) { + if ( + this.config.passcode != this.wrongPasscode || + Date.now() - this.wrongPasscodeAt > 15000 + ) { this.log('debug', 'sending passcode to ' + this.config.host) this.sendOSC('/connect', [ { @@ -731,7 +758,10 @@ class QLabInstance extends InstanceBase { } this.checkFeedbacks('q_run', 'qid_run', 'any_run') this.updatePlaying() - if ('' == this.cl || (this.cueList[this.cl] && this.cueList[this.cl].includes(q.uniqueID))) { + if ( + '' == this.cl || + (this.cueList[this.cl] && this.cueList[this.cl].includes(q.uniqueID)) + ) { if (q.uniqueID == this.nextCue) { this.updateNextCue() } @@ -764,7 +794,10 @@ class QLabInstance extends InstanceBase { const q = cues[cue] // some cuelists (for example all manual slides) may not have a pre-programmed duration if (q.isRunning || q.isPaused) { - if (('' == cl && 'cue list' != q.qType) || (this.cueList[cl] && this.cueList[cl].includes(cue))) { + if ( + ('' == cl && 'cue list' != q.qType) || + (this.cueList[cl] && this.cueList[cl].includes(cue)) + ) { runningCues.push([cue, q.startedAt]) // if group does not have a duration, ignore // it is probably a playlist, not simultaneous playback diff --git a/yarn.lock b/yarn.lock index 4f9f45c..e65a9a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,9 +55,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.0.tgz#7ccb5f58703fa61ffdcbf39e2c604a109e781162" - integrity sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ== + version "4.9.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4" + integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== "@eslint/eslintrc@^2.1.2": version "2.1.2" @@ -74,17 +74,17 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.50.0": - version "8.50.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484" - integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ== +"@eslint/js@8.52.0": + version "8.52.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.52.0.tgz#78fe5f117840f69dc4a353adf9b9cd926353378c" + integrity sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA== -"@humanwhocodes/config-array@^0.11.11": - version "0.11.11" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" - integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" + "@humanwhocodes/object-schema" "^2.0.1" debug "^4.1.1" minimatch "^3.0.5" @@ -93,10 +93,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== "@jridgewell/gen-mapping@^0.3.0": version "0.3.3" @@ -131,9 +131,9 @@ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -159,57 +159,57 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@sentry-internal/tracing@7.72.0": - version "7.72.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.72.0.tgz#6293a08b8b3dff80499207a4b4994ae70aafc34c" - integrity sha512-DToryaRSHk9R5RLgN4ktYEXZjQdqncOAWPqyyIurji8lIobXFRfmLtGL1wjoCK6sQNgWsjhSM9kXxwGnva1DNw== +"@sentry-internal/tracing@7.74.1": + version "7.74.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.74.1.tgz#55ff387e61d2c9533a9a0d099d376332426c8e08" + integrity sha512-nNaiZreQxCitG2PzYPaC7XtyA9OMsETGYMKAtiK4p62/uTmeYbsBva9BoNx1XeiHRwbrVQYRMKQ9nV5e2jS4/A== dependencies: - "@sentry/core" "7.72.0" - "@sentry/types" "7.72.0" - "@sentry/utils" "7.72.0" + "@sentry/core" "7.74.1" + "@sentry/types" "7.74.1" + "@sentry/utils" "7.74.1" tslib "^2.4.1 || ^1.9.3" -"@sentry/core@7.72.0": - version "7.72.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.72.0.tgz#df19f9dc1c2cfc5993a73c0c36283c35f9c52f94" - integrity sha512-G03JdQ5ZsFNRjcNNi+QvCjqOuBvYqU92Gs1T2iK3GE8dSBTu2khThydMpG4xrKZQLIpHOyiIhlFZiuPtZ66W8w== +"@sentry/core@7.74.1": + version "7.74.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.74.1.tgz#9e33cf59b754a994e4054c47c74df1d3fbd30d3c" + integrity sha512-LvEhOSfdIvwkr+PdlrT/aA/iOLhkXrSkvjqAQyogE4ddCWeYfS0NoirxNt1EaxMBAWKhYZRqzkA7WA4LDLbzlA== dependencies: - "@sentry/types" "7.72.0" - "@sentry/utils" "7.72.0" + "@sentry/types" "7.74.1" + "@sentry/utils" "7.74.1" tslib "^2.4.1 || ^1.9.3" "@sentry/node@^7.63.0": - version "7.72.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.72.0.tgz#085105ce794fdc5aad4054f67d9843cde5876032" - integrity sha512-R5kNCIdaDa92EN6oCLiGJehw5wxayOM53WF60Ap6EJHZb5U8dM2BnODmQ6SCRLNB677p+620oSV6CCU286IleQ== - dependencies: - "@sentry-internal/tracing" "7.72.0" - "@sentry/core" "7.72.0" - "@sentry/types" "7.72.0" - "@sentry/utils" "7.72.0" + version "7.74.1" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.74.1.tgz#6d3b2e3483eb3b379d8d51759a079934eabb2bef" + integrity sha512-aMUQ2LFZF64FBr+cgjAqjT4OkpYBIC9lyWI8QqjEHqNho5+LGu18/iVrJPD4fgs4UhGdCuAiQjpC36MbmnIDZA== + dependencies: + "@sentry-internal/tracing" "7.74.1" + "@sentry/core" "7.74.1" + "@sentry/types" "7.74.1" + "@sentry/utils" "7.74.1" cookie "^0.5.0" https-proxy-agent "^5.0.0" lru_map "^0.3.3" tslib "^2.4.1 || ^1.9.3" "@sentry/tracing@^7.63.0": - version "7.72.0" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.72.0.tgz#1b6a0475d1e9e19ffb5ead87be011e9c6a0941ae" - integrity sha512-DOMlyviMLNwWgN4gJw/TrHaAdBcZWvm8xLbgwMwrihRn/m84kmH2Ui1FUYpL30o/mH+mQS+53IHZukrgQjHkZA== + version "7.74.1" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.74.1.tgz#86cd078f632157c4a1b8880cba7f97c5a4839449" + integrity sha512-YqhLMY28uukOR8FtoCMvzdzBYkTtwj/JHUensDEpTZG5OoQTjrcgttpL+WMaCBUy1MpOIo7FyLB5aoRq2U7AIA== dependencies: - "@sentry-internal/tracing" "7.72.0" + "@sentry-internal/tracing" "7.74.1" -"@sentry/types@7.72.0": - version "7.72.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.72.0.tgz#b474d3821338a545fb2db109715d9aad502bc810" - integrity sha512-g6u0mk62yGshx02rfFADIfyR/S9VXcf3RG2qQPuvykrWtOfN/BOTrZypF7I+MiqKwRW76r3Pcu2C/AB+6z9XQA== +"@sentry/types@7.74.1": + version "7.74.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.74.1.tgz#b6f9b1bd266254f1f8b55fbcc92fa649ba2100ed" + integrity sha512-2jIuPc+YKvXqZETwr2E8VYnsH1zsSUR/wkIvg1uTVeVNyoowJv+YsOtCdeGyL2AwiotUBSPKu7O1Lz0kq5rMOQ== -"@sentry/utils@7.72.0": - version "7.72.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.72.0.tgz#798c764ac61bb658e2117792010ccd20ad8c7b02" - integrity sha512-o/MtqI7WJXuswidH0bSgBP40KN2lrnyQEIx5uoyJUJi/QEaboIsqbxU62vaFJpde8SYrbA+rTnP3J3ujF2gUag== +"@sentry/utils@7.74.1": + version "7.74.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.74.1.tgz#e9a8453c954d02ebed2fd3dbe7588483d8f6d3cb" + integrity sha512-qUsqufuHYcy5gFhLZslLxA5kcEOkkODITXW3c7D+x+8iP/AJqa8v8CeUCVNS7RetHCuIeWAbbTClC4c411EwQg== dependencies: - "@sentry/types" "7.72.0" + "@sentry/types" "7.74.1" tslib "^2.4.1 || ^1.9.3" "@serialport/binding-mock@10.2.2": @@ -297,75 +297,77 @@ debug "^4.3.2" "@types/eslint-scope@^3.7.3": - version "3.7.5" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.5.tgz#e28b09dbb1d9d35fdfa8a884225f00440dfc5a3e" - integrity sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA== + version "3.7.6" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.6.tgz#585578b368ed170e67de8aae7b93f54a1b2fdc26" + integrity sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.44.3" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.3.tgz#96614fae4875ea6328f56de38666f582d911d962" - integrity sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g== + version "8.44.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.6.tgz#60e564551966dd255f4c01c459f0b4fb87068603" + integrity sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.2.tgz#ff02bc3dc8317cd668dfec247b750ba1f1d62453" - integrity sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd" + integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== "@types/fs-extra@^11.0.1": - version "11.0.2" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.2.tgz#23dc1ed7b2eba8ccd75568ac34e7a4e48aa2d087" - integrity sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ== + version "11.0.3" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.3.tgz#72c3a247c8dd5703c93d900c584e006476146866" + integrity sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ== dependencies: "@types/jsonfile" "*" "@types/node" "*" "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.13" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" - integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + version "7.0.14" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" + integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== "@types/jsonfile@*": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.2.tgz#d3b8a3536c5bb272ebee0f784180e456b7691c8f" - integrity sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w== + version "6.1.3" + resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.3.tgz#683d447b413119393e913ecd414a2bc0e5d0f4b9" + integrity sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA== dependencies: "@types/node" "*" "@types/minimist@^1.2.2": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.3.tgz#dd249cef80c6fff2ba6a0d4e5beca913e04e25f8" - integrity sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A== + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.4.tgz#81f886786411c45bba3f33e781ab48bd56bfca2e" + integrity sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ== "@types/node@*": - version "20.7.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.7.1.tgz#06d732ead0bd5ad978ef0ea9cbdeb24dc8717514" - integrity sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg== + version "20.8.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.7.tgz#ad23827850843de973096edfc5abc9e922492a25" + integrity sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ== + dependencies: + undici-types "~5.25.1" "@types/node@^18.16.3": - version "18.18.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.0.tgz#bd19d5133a6e5e2d0152ec079ac27c120e7f1763" - integrity sha512-3xA4X31gHT1F1l38ATDIL9GpRLdwVhnEFC8Uikv5ZLlXATwrCYyPq7ZWHxzxc3J/30SUiwiYT+bQe0/XvKlWbw== + version "18.18.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.6.tgz#26da694f75cdb057750f49d099da5e3f3824cb3e" + integrity sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w== "@types/ps-tree@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@types/ps-tree/-/ps-tree-1.1.3.tgz#12a05ebbdc253ed2b2a6055560667e60814791d0" - integrity sha512-J8IrehehphLtxpABSekURTw9jthrlLcM4llH1I2fZ0zKaxq8jI/O1+Q/tabAJgBY/ffoqDxPRNYBM1lFUXm0lw== + version "1.1.4" + resolved "https://registry.yarnpkg.com/@types/ps-tree/-/ps-tree-1.1.4.tgz#762883fb62e03080ced3fc15e702321968bf0009" + integrity sha512-CJyu2BqU/aZN/s8Ili3jiMctqXfTjCaWXirEcjRD8y1lUQZJ8eNohnal8+LXeWFs1VbdAOrCIdgATFsv+lnQ5Q== "@types/semver@^7.3.12": - version "7.5.3" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" - integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== + version "7.5.4" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff" + integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ== "@types/which@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/which/-/which-3.0.0.tgz#849afdd9fdcb0b67339b9cfc80fa6ea4e0253fc5" - integrity sha512-ASCxdbsrwNfSMXALlC3Decif9rwDMu+80KGp5zI2RLRotfMsTv7fHL8W8VDp24wymzDyIFudhUeSCugrgRFfHQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/which/-/which-3.0.1.tgz#3feaf0cd752e5059c3fb2e9c5bffe584ae73f557" + integrity sha512-OJWjr4k8gS1HXuOnCmQbBrQez+xqt/zqfp5PhgbKtsmEFEuojAg23arr+TiTZZ1TORdUF9RKXb/WKEpT1dwgSg== "@typescript-eslint/eslint-plugin@^5.59.9": version "5.62.0" @@ -451,6 +453,11 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" @@ -692,12 +699,12 @@ braces@^3.0.2: fill-range "^7.0.1" browserslist@^4.14.5: - version "4.22.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.0.tgz#6adc8116589ccea8a99d0df79c5de2436199abdb" - integrity sha512-v+Jcv64L2LbfTC6OnRcaxtqJNJuQAVhZKSJfR/6hn7lhnChUXl4amwVviqN1k411BB+3rRoKMitELRn1CojeRA== + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: - caniuse-lite "^1.0.30001539" - electron-to-chromium "^1.4.530" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" node-releases "^2.0.13" update-browserslist-db "^1.0.13" @@ -718,10 +725,10 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -caniuse-lite@^1.0.30001539: - version "1.0.30001540" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001540.tgz#a316ca4f2ae673ab02ff0ec533334016d56ff658" - integrity sha512-9JL38jscuTJBTcuETxm8QLsFr/F6v0CYYTEU6r5+qSM98P2Q0Hmu0eG1dTG5GBUmywU3UlcVOUSIJYY47rdFSw== +caniuse-lite@^1.0.30001541: + version "1.0.30001551" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz#1f2cfa8820bd97c971a57349d7fd8f6e08664a3e" + integrity sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg== chalk@^4.0.0: version "4.1.2" @@ -842,10 +849,10 @@ ejson@^2.2.3: resolved "https://registry.yarnpkg.com/ejson/-/ejson-2.2.3.tgz#2b18c2d8f5d61a5cfc6e3eab72c3343909e7afd2" integrity sha512-hsFvJp6OpGxFRQfBR3PSxFpaPALdHDY+SB3TRbMpLWNhvu8GzLiZutof5+/DFd2QekZo3KyXau75ngdJqQUSrw== -electron-to-chromium@^1.4.530: - version "1.4.532" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.532.tgz#44454731e26f2c8c14e88cca0d073f0761784f5e" - integrity sha512-piIR0QFdIGKmOJTSNg5AwxZRNWQSXlRYycqDB9Srstx4lip8KpcmRxVP6zuFWExWziHYZpJ0acX7TxqX95KBpg== +electron-to-chromium@^1.4.535: + version "1.4.563" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.563.tgz#dabb424202754c1fed2d2938ff564b23d3bbf0d3" + integrity sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw== enhanced-resolve@^5.15.0: version "5.15.0" @@ -889,9 +896,9 @@ eslint-plugin-es-x@^7.1.0: "@eslint-community/regexpp" "^4.6.0" eslint-plugin-n@^16.0.2: - version "16.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.1.0.tgz#73d24fe3e37d04519c1f9230bdbd3aa567c66799" - integrity sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg== + version "16.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.2.0.tgz#3f98ca9fadd9f7bdaaf60068533118ecb685bfb5" + integrity sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g== dependencies: "@eslint-community/eslint-utils" "^4.4.0" builtins "^5.0.1" @@ -932,17 +939,18 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.47.0: - version "8.50.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2" - integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg== + version "8.52.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.52.0.tgz#d0cd4a1fac06427a61ef9242b9353f36ea7062fc" + integrity sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.50.0" - "@humanwhocodes/config-array" "^0.11.11" + "@eslint/js" "8.52.0" + "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -1125,15 +1133,20 @@ find-up@^6.3.0: path-exists "^5.0.0" flat-cache@^3.0.4: - version "3.1.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" - integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== + version "3.1.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" + integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== dependencies: - flatted "^3.2.7" + flatted "^3.2.9" keyv "^4.5.3" rimraf "^3.0.2" -flatted@^3.2.7: +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: version "3.2.9" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== @@ -1171,10 +1184,10 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== fx@*: version "30.2.0" @@ -1220,9 +1233,9 @@ glob@^7.1.3: path-is-absolute "^1.0.0" globals@^13.19.0: - version "13.22.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8" - integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: type-fest "^0.20.2" @@ -1264,12 +1277,12 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== dependencies: - function-bind "^1.1.1" + function-bind "^1.1.2" https-proxy-agent@^5.0.0: version "5.0.1" @@ -1324,11 +1337,11 @@ interpret@^3.1.1: integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== is-core-module@^2.12.1, is-core-module@^2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-extglob@^2.1.1: version "2.1.1" @@ -1420,9 +1433,9 @@ jsonfile@^6.0.1: graceful-fs "^4.1.6" keyv@^4.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" - integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -1865,9 +1878,9 @@ resolve-pkg-maps@^1.0.0: integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== resolve@^1.20.0, resolve@^1.22.2: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" @@ -2061,9 +2074,9 @@ terser-webpack-plugin@^5.3.7: terser "^5.16.8" terser@^5.16.8: - version "5.20.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.20.0.tgz#ea42aea62578703e33def47d5c5b93c49772423e" - integrity sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ== + version "5.22.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" + integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -2116,6 +2129,11 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +undici-types@~5.25.1: + version "5.25.3" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" + integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -2169,11 +2187,12 @@ webpack-cli@^5.1.4: webpack-merge "^5.7.3" webpack-merge@^5.7.3: - version "5.9.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826" - integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg== + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: clone-deep "^4.0.1" + flat "^5.0.2" wildcard "^2.0.0" webpack-sources@^3.2.3: @@ -2182,9 +2201,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.88.2: - version "5.88.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e" - integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ== + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.0" @@ -2256,9 +2275,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^2.2.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" - integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg== + version "2.3.3" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9" + integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ== yocto-queue@^0.1.0: version "0.1.0"