diff --git a/.ember-cli b/.ember-cli index 4defd284e..a37e45fab 100644 --- a/.ember-cli +++ b/.ember-cli @@ -3,5 +3,17 @@ Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript rather than JavaScript by default, when a TypeScript version of a given blueprint is available. */ - "isTypeScriptProject": true + "isTypeScriptProject": true, + + /** + Setting `componentAuthoringFormat` to "strict" will force the blueprint generators to generate GJS + or GTS files for the component and the component rendering test. "loose" is the default. + */ + "componentAuthoringFormat": "strict", + + /** + Setting `routeAuthoringFormat` to "strict" will force the blueprint generators to generate GJS + or GTS templates for routes. "loose" is the default + */ + "routeAuthoringFormat": "strict" } diff --git a/.gitignore b/.gitignore index e09b5781b..1bc95a508 100644 --- a/.gitignore +++ b/.gitignore @@ -3,12 +3,14 @@ # compiled output /dist/ /declarations/ +/tmp/ # dependencies /node_modules/ # misc /.env* +*.local /.pnp* /.sass-cache /.eslintcache @@ -19,8 +21,24 @@ /testem.log /yarn-error.log +# ember-try +/.node_modules.ember-try/ +/npm-shrinkwrap.json.ember-try +/package.json.ember-try +/package-lock.json.ember-try +/yarn.lock.ember-try + # broccoli-debug /DEBUG/ electron-out/ .idea/ + +# Vite +.vite/ + +# Electron-Forge +out/ + +# TypeScript +*.tsbuildinfo diff --git a/.prettierignore b/.prettierignore index d36183eaf..16b37f37b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -18,8 +18,6 @@ ember-cli-update.json # ember-electron /electron-app/node_modules/ /electron-app/out/ -/electron-app/ember-dist/ -/electron-app/ember-test/ # Sentry /electron-app/sentry-symbols.js diff --git a/.prettierrc.js b/.prettierrc.mjs similarity index 60% rename from .prettierrc.js rename to .prettierrc.mjs index 2152f97bd..86f40a841 100644 --- a/.prettierrc.js +++ b/.prettierrc.mjs @@ -1,5 +1,3 @@ -'use strict'; - const testing = [ '^ember-cli-htmlbars($|\\/)', '^qunit', @@ -34,18 +32,45 @@ const importOrder = [ ]; const importOrderParserPlugins = ['typescript', 'decorators-legacy']; -module.exports = { +export default { plugins: [ 'prettier-plugin-ember-template-tag', '@ianvs/prettier-plugin-sort-imports', ], importOrder, importOrderParserPlugins, + singleQuote: true, overrides: [ { - files: '*.{js,gjs,ts,gts,mjs,mts,cjs,cts}', - options: { singleQuote: true, templateSingleQuote: false }, + files: ['*.js', '*.ts', '*.cjs', '.mjs', '.cts', '.mts', '.cts'], + options: { + trailingComma: 'es5', + }, + }, + { + files: ['*.html'], + options: { + singleQuote: false, + }, + }, + { + files: ['*.json'], + options: { + singleQuote: false, + }, + }, + { + files: ['*.hbs'], + options: { + singleQuote: false, + }, + }, + { + files: ['*.gjs', '*.gts'], + options: { + templateSingleQuote: false, + trailingComma: 'es5', + }, }, - { files: '*.{yaml,yml}', options: { singleQuote: true } }, ], }; diff --git a/.stylelintrc.cjs b/.stylelintrc.cjs new file mode 100644 index 000000000..414fe6a72 --- /dev/null +++ b/.stylelintrc.cjs @@ -0,0 +1,16 @@ +'use strict'; + +module.exports = { + extends: ['stylelint-config-standard'], + rules: { + 'at-rule-no-deprecated': [true, { ignoreAtRules: ['/^view/', 'apply'] }], + 'at-rule-no-unknown': [ + true, + { ignoreAtRules: ['plugin', 'reference', 'theme'] }, + ], + 'custom-property-empty-line-before': null, + 'custom-property-pattern': null, + 'declaration-empty-line-before': null, + 'import-notation': null, + }, +}; diff --git a/.stylelintrc.js b/.stylelintrc.js deleted file mode 100644 index d650b3713..000000000 --- a/.stylelintrc.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -module.exports = { - extends: ['stylelint-config-standard'], - rules: { - 'at-rule-no-deprecated': [true, { ignoreAtRules: ['/^view/', 'apply'] }], - }, -}; diff --git a/.template-lintrc.js b/.template-lintrc.mjs similarity index 87% rename from .template-lintrc.js rename to .template-lintrc.mjs index 450080d2c..d112f877c 100644 --- a/.template-lintrc.js +++ b/.template-lintrc.mjs @@ -1,7 +1,5 @@ -'use strict'; - -module.exports = { - extends: ['recommended'], +export default { + extends: 'recommended', rules: { 'no-at-ember-render-modifiers': false, 'no-builtin-form-components': false, diff --git a/.tool-versions b/.tool-versions index 3c20bf8c1..8862775c6 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ nodejs 20.19.0 -pnpm 10.11.0 \ No newline at end of file +pnpm 10.18.2 \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 634cedc77..7a73a41bf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,2 @@ { - "eslint.validate": [ - "glimmer-ts", - "glimmer-js" - ] } \ No newline at end of file diff --git a/app/app.ts b/app/app.ts index 30522c199..5a1e25a72 100644 --- a/app/app.ts +++ b/app/app.ts @@ -3,7 +3,9 @@ import { InitSentryForEmber } from '@sentry/ember'; import loadInitializers from 'ember-load-initializers'; import Resolver from 'ember-resolver'; import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros'; +import compatModules from '@embroider/virtual/compat-modules'; import config from 'swach/config/environment'; +import './styles/all.css'; if (macroCondition(isDevelopingApp())) { importSync('./deprecation-workflow'); @@ -14,7 +16,7 @@ InitSentryForEmber(); export default class App extends Application { modulePrefix = config.modulePrefix; podModulePrefix = config.podModulePrefix; - Resolver = Resolver; + Resolver = Resolver.withModules(compatModules); } -loadInitializers(App, config.modulePrefix); +loadInitializers(App, config.modulePrefix, compatModules); diff --git a/app/components/about.gts b/app/components/about.gts index 2038f216d..36f202114 100644 --- a/app/components/about.gts +++ b/app/components/about.gts @@ -3,7 +3,6 @@ import { action } from '@ember/object'; import type Owner from '@ember/owner'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; -import type { IpcRenderer } from 'electron'; interface AboutSignature { Element: HTMLDivElement; @@ -38,7 +37,7 @@ export default class AboutComponent extends Component {

- declare ipcRenderer: IpcRenderer; + declare ipcRenderer: Window['electronAPI']['ipcRenderer']; copyrightYear = new Date().getFullYear(); @tracked version = 'Version not available'; @@ -46,8 +45,8 @@ export default class AboutComponent extends Component { constructor(owner: Owner, args: Record) { super(owner, args); - if (typeof requireNode !== 'undefined') { - const { ipcRenderer } = requireNode('electron'); + if (typeof window !== 'undefined' && window.electronAPI) { + const { ipcRenderer } = window.electronAPI; this.ipcRenderer = ipcRenderer; @@ -61,7 +60,7 @@ export default class AboutComponent extends Component { visitWebsite(event: Event): void { event.preventDefault(); - if (typeof requireNode !== 'undefined') { + if (typeof window !== 'undefined' && window.electronAPI) { void this.ipcRenderer.invoke('open-external', 'https://swach.io/'); } } diff --git a/app/components/alpha-input.gts b/app/components/alpha-input.gts index eaf729069..c2f71634e 100644 --- a/app/components/alpha-input.gts +++ b/app/components/alpha-input.gts @@ -4,7 +4,7 @@ import { action, set } from '@ember/object'; import Component from '@glimmer/component'; // @ts-expect-error TODO: fix this import OneWayInputMask from 'ember-inputmask/_app_/components/one-way-input-mask.js'; -import type { SelectedColorModel } from 'swach/components/rgb-input'; +import type { SelectedColorModel } from './rgb-input'; import { rgbaToHex } from 'swach/data-models/color'; interface AlphaInputSignature { diff --git a/app/components/animated-drag-sort-list.gts b/app/components/animated-drag-sort-list.gts index 4f4800d41..768722900 100644 --- a/app/components/animated-drag-sort-list.gts +++ b/app/components/animated-drag-sort-list.gts @@ -5,11 +5,12 @@ import AnimatedEach from 'ember-animated/components/animated-each'; import { easeOut } from 'ember-animated/easings/cosine'; import move from 'ember-animated/motions/move'; import { fadeOut } from 'ember-animated/motions/opacity'; -// @ts-expect-error TODO: fix this import DragSortItem from 'ember-drag-sort/components/drag-sort-item'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; -export default class AnimatedDragSortList extends DragSortList { +export default class AnimatedDragSortList< + Item extends object, +> extends DragSortList { didDrag = false; - dragEnter(event: Event): void { + @action + dragEnter(event: DragEvent) { set(this, 'didDrag', true); super.dragEnter(event); } @action - rules(): unknown { + rules() { if (!this.didDrag) { // eslint-disable-next-line @typescript-eslint/unbound-method return this.transition; diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index 8dfaeec9f..7eb1007a7 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -7,22 +7,22 @@ import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; -import type { Store } from 'ember-orbit'; +import { orbit, type Store } from 'ember-orbit'; import { TinyColor } from '@ctrl/tinycolor'; import iro from '@jaames/iro'; import { rgbaToHex } from '../data-models/color.ts'; import type ColorModel from '../data-models/color.ts'; import type NearestColor from '../services/nearest-color.ts'; import type UndoManager from '../services/undo-manager.ts'; -import AlphaInput from './alpha-input.ts'; -import ColorRow from './color-row.ts'; -import HexInput from './hex-input.ts'; -import RgbInput from './rgb-input.ts'; +import AlphaInput from './alpha-input.gts'; +import ColorRow from './color-row.gts'; +import HexInput from './hex-input.gts'; import type { PrivateRGBAHex, PublicRGBAHex, SelectedColorModel, -} from './rgb-input.ts'; +} from './rgb-input'; +import RgbInput from './rgb-input.gts'; interface ColorPickerSignature { Element: HTMLDivElement; @@ -38,7 +38,7 @@ export default class ColorPickerComponent extends Component {{#if @isShown}}
-
+
-
+
-
+
-
+
-
+
{{/if}} + + @orbit declare store: Store; + @service declare nearestColor: NearestColor; @service declare router: Router; - @service declare store: Store; @service declare undoManager: UndoManager; colorPicker?: iro.ColorPicker; @@ -260,9 +262,9 @@ export default class ColorPickerComponent extends Component { - @service declare store: Store; + + @orbit declare store: Store; @service declare undoManager: UndoManager; get sortedColors(): Array { @@ -106,12 +107,12 @@ export default class ColorsListComponent extends Component t.removeFromRelatedRecords( { type: 'palette', id: palette.id }, 'colors', - { type: 'color', id: colorToRemove.id }, + { type: 'color', id: colorToRemove.id } ), t.replaceAttribute( { type: 'palette', id: palette.id }, 'colorOrder', - colorsList, + colorsList ), t.removeRecord(colorToRemove), ]; diff --git a/app/components/contrast-checker.gts b/app/components/contrast-checker.gts index 648340c19..9d1bb9a8c 100644 --- a/app/components/contrast-checker.gts +++ b/app/components/contrast-checker.gts @@ -8,7 +8,6 @@ import { tracked } from '@glimmer/tracking'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import { type IroColorValue } from '@irojs/iro-core'; import iro from '@jaames/iro'; -import type { IpcRenderer } from 'electron'; import { hex, score } from 'wcag-contrast'; import htmlSafe from '../helpers/html-safe.ts'; @@ -21,7 +20,7 @@ export default class ContrastChecker extends Component
@@ -96,7 +95,7 @@ export default class ContrastChecker extends Component
declare bgPickr: iro.ColorPicker; declare fgPickr: iro.ColorPicker; - declare ipcRenderer: IpcRenderer; + declare ipcRenderer: Window['electronAPI']['ipcRenderer']; declare onBgChange: (color?: iro.Color) => void; declare onFgChange: (color?: iro.Color) => void; @@ -161,24 +160,18 @@ export default class ContrastChecker extends Component constructor(owner: Owner, args: object) { super(owner, args); - if (typeof requireNode !== 'undefined') { - const { ipcRenderer } = requireNode('electron'); + if (typeof window !== 'undefined' && window.electronAPI) { + const { ipcRenderer } = window.electronAPI; this.ipcRenderer = ipcRenderer; - this.ipcRenderer.on( - 'pickContrastBgColor', - (_event, color: IroColorValue) => { - this.setBgColor(color); - }, - ); + this.ipcRenderer.on('pickContrastBgColor', (color: IroColorValue) => { + this.setBgColor(color); + }); - this.ipcRenderer.on( - 'pickContrastFgColor', - (_event, color: IroColorValue) => { - this.setFgColor(color); - }, - ); + this.ipcRenderer.on('pickContrastFgColor', (color: IroColorValue) => { + this.setFgColor(color); + }); } } diff --git a/app/components/edit-selected-color.gts b/app/components/edit-selected-color.gts index 25b1905e0..e9923aba0 100644 --- a/app/components/edit-selected-color.gts +++ b/app/components/edit-selected-color.gts @@ -3,14 +3,14 @@ import { action, set, setProperties } from '@ember/object'; import { service } from '@ember/service'; import Component from '@glimmer/component'; import type iro from '@jaames/iro'; -import AlphaInput from './alpha-input.ts'; -import HexInput from './hex-input.ts'; -import RgbInput from './rgb-input.ts'; +import AlphaInput from './alpha-input.gts'; +import HexInput from './hex-input.gts'; +import RgbInput from './rgb-input.gts'; import type { PrivateRGBAHex, PublicRGBAHex, SelectedColorModel, -} from 'swach/components/rgb-input'; +} from './rgb-input.gts'; import type PaletteModel from 'swach/data-models/palette'; import type ColorUtils from 'swach/services/color-utils'; @@ -26,7 +26,7 @@ export default class EditSelectedColorComponent extends Component
c.hex), - this.args.palette.selectedColorIndex, + this.args.palette.selectedColorIndex ); } @@ -165,6 +167,7 @@ export default class EditSelectedColorComponent extends Component -
+

{{if this.isConfirming "Reset Password" "Forgot Password"}} @@ -27,7 +27,7 @@ export default class ForgotPasswordComponent extends Component {

{{#if this.errorMessage}} -
+
{{this.errorMessage}}
{{/if}} @@ -45,7 +45,7 @@ export default class ForgotPasswordComponent extends Component {
+ + @orbit declare store: Store; + @service declare colorUtils: ColorUtils; @service('-ea-motion') declare eaMotion: MotionService; @service declare router: Router; - @service declare store: Store; @service declare undoManager: UndoManager; fade = fade as Transition; diff --git a/app/components/kuler.gts b/app/components/kuler.gts index 0ce3b0f6d..af1565ce9 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -5,18 +5,17 @@ import { service } from '@ember/service'; import { capitalize } from '@ember/string'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; -import type { Store } from 'ember-orbit'; +import { orbit, type Store } from 'ember-orbit'; import eq from 'ember-truth-helpers/helpers/eq'; import isEmpty from 'ember-truth-helpers/helpers/is-empty'; import not from 'ember-truth-helpers/helpers/not'; import notEq from 'ember-truth-helpers/helpers/not-eq'; import { TinyColor } from '@ctrl/tinycolor'; import iro from '@jaames/iro'; -import type { IpcRenderer } from 'electron'; import { debounce } from 'throttle-debounce'; import capitalize0 from '../helpers/capitalize.ts'; -import EditSelectedColor from './edit-selected-color.ts'; -import KulerPaletteRow from './kuler-palette-row.ts'; +import EditSelectedColor from './edit-selected-color.gts'; +import KulerPaletteRow from './kuler-palette-row.gts'; import type ColorModel from 'swach/data-models/color'; import type PaletteModel from 'swach/data-models/palette'; import type { ColorPOJO } from 'swach/services/color-utils'; @@ -53,7 +52,7 @@ interface KulerSignature { export default class KulerComponent extends Component { + + @orbit declare store: Store; + @service declare colorUtils: ColorUtils; - @service declare store: Store; _debouncedColorChange!: (color: iro.Color | string) => void; colorPicker!: iro.ColorPicker; harmonies = ['analogous', 'monochromatic', 'tetrad', 'triad'] as const; - declare ipcRenderer: IpcRenderer; + declare ipcRenderer: Window['electronAPI']['ipcRenderer']; @tracked baseColor; @tracked colors = []; @@ -133,28 +134,25 @@ export default class KulerComponent extends Component { void this.baseColorChanged().then(() => { this._setupColorWheel(); - if (typeof requireNode !== 'undefined') { - const { ipcRenderer } = requireNode('electron'); + if (typeof window !== 'undefined' && window.electronAPI) { + const { ipcRenderer } = window.electronAPI; this.ipcRenderer = ipcRenderer; - this.ipcRenderer.on( - 'selectKulerColor', - (_event: unknown, colorIndex: number) => { - this.setSelectedIroColor(colorIndex); - }, - ); + this.ipcRenderer.on('selectKulerColor', (colorIndex: number) => { + this.setSelectedIroColor(colorIndex); + }); this.ipcRenderer.on( 'updateKulerColor', // eslint-disable-next-line @typescript-eslint/no-misused-promises - async (_event: unknown, color: string | iro.Color) => { + async (color: string | iro.Color) => { await this._onColorChange(color); this.colorPicker.setColors( this.selectedPalette.colors.map((c) => c.hex), - this.selectedPalette.selectedColorIndex, + this.selectedPalette.selectedColorIndex ); - }, + } ); } }); @@ -187,7 +185,7 @@ export default class KulerComponent extends Component { return this.colorUtils.createColorPOJO(color.toHexString()); }); const colors = colorPOJOs.map( - (color: ColorPOJO) => color.attributes, + (color: ColorPOJO) => color.attributes ) as unknown as ColorModel[]; palette.colors = colors; @@ -208,11 +206,11 @@ export default class KulerComponent extends Component { ] as ColorModel; return this.baseColorChanged( - this.palettes.indexOf(this.selectedPalette), + this.palettes.indexOf(this.selectedPalette) ).then(() => { this.colorPicker.setColors( this.selectedPalette.colors.map((c) => c.hex), - this.selectedPalette.selectedColorIndex, + this.selectedPalette.selectedColorIndex ); }); } @@ -238,7 +236,7 @@ export default class KulerComponent extends Component { this.selectedPalette = palette; this.colorPicker.setColors( this.selectedPalette.colors.map((c) => c.hex), - palette.selectedColorIndex, + palette.selectedColorIndex ); } } @@ -253,7 +251,7 @@ export default class KulerComponent extends Component { const { selectedColorIndex } = this.selectedPalette; // if changing the selected baseColor, we should update all the colors const newColor = this.colorUtils.createColorPOJO( - color instanceof iro.Color ? color.rgba : color, + color instanceof iro.Color ? color.rgba : color ); // @ts-expect-error TODO: fix this to be able to not use prototype extensions @@ -270,7 +268,7 @@ export default class KulerComponent extends Component { this.colorPicker.setColors( this.selectedPalette.colors.map((c) => c.hex), - this.selectedPalette.selectedColorIndex, + this.selectedPalette.selectedColorIndex ); } @@ -323,7 +321,7 @@ export default class KulerComponent extends Component { }, ], width: 207, - }, + } ); this.colorPicker.on('color:change', this._debouncedColorChange); diff --git a/app/components/login.gts b/app/components/login.gts index d748d0ca2..08fcbae2f 100644 --- a/app/components/login.gts +++ b/app/components/login.gts @@ -6,14 +6,14 @@ import { service } from '@ember/service'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { storageFor } from 'ember-local-storage'; -import LoadingButton from './loading-button.ts'; +import LoadingButton from './loading-button.gts'; import config from 'swach/config/environment'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; export default class LoginComponent extends Component { - @service declare store: Store; + + @orbit declare store: Store; + @service declare undoManager: UndoManager; get palettes(): PaletteModel[] { @@ -116,8 +117,8 @@ export default class PalettesListComponent extends Component -
+

Confirm Registration @@ -17,7 +17,7 @@ export default class RegisterConfirm extends Component {

{{#if this.errorMessage}} -
+
{{this.errorMessage}}
{{/if}} @@ -32,7 +32,7 @@ export default class RegisterConfirm extends Component { {{#if this.errorMessage}} -
+
{{this.errorMessage}}
{{/if}} @@ -43,7 +43,7 @@ export default class RegisterComponent extends Component { { set( selectedColor, `_${type}` as keyof PrivateRGBAHex, - this.args.selectedColor[type], + this.args.selectedColor[type] ); } } diff --git a/app/components/settings-data.gts b/app/components/settings-data.gts index d918e959d..636121569 100644 --- a/app/components/settings-data.gts +++ b/app/components/settings-data.gts @@ -5,16 +5,15 @@ import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import type FlashMessageService from 'ember-cli-flash/services/flash-messages'; import { storageFor } from 'ember-local-storage'; -import type { Store } from 'ember-orbit'; +import { orbit, type Store } from 'ember-orbit'; import set from 'ember-set-helper/helpers/set'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import type { Coordinator } from '@orbit/coordinator'; import type IndexedDBSource from '@orbit/indexeddb'; import type { InitializedRecord } from '@orbit/records'; -import type { IpcRenderer } from 'electron'; import IDBExportImport from 'indexeddb-export-import'; -import LoadingButton from './loading-button.ts'; -import OptionsMenu from './options-menu.ts'; +import LoadingButton from './loading-button.gts'; +import OptionsMenu from './options-menu.gts'; import type { SettingsStorage } from 'swach/storages/settings'; import { getDBOpenRequest } from 'swach/utils/get-db-open-request'; @@ -33,8 +32,8 @@ export default class SettingsData extends Component { <:trigger> {{this.settings.defaultColorFormat}} @@ -81,13 +80,15 @@ export default class SettingsData extends Component {
- @service declare dataCoordinator: Coordinator; + + @orbit declare dataCoordinator: Coordinator; + @orbit declare store: Store; + @service flashMessages!: FlashMessageService; - @service declare store: Store; @storageFor('settings') settings!: SettingsStorage; - declare ipcRenderer: IpcRenderer; + declare ipcRenderer: Window['electronAPI']['ipcRenderer']; colorFormats = ['hex', 'hsl', 'rgba'] as const; @tracked isExporting = false; @@ -96,8 +97,8 @@ export default class SettingsData extends Component { constructor(owner: Owner, args: Record) { super(owner, args); - if (typeof requireNode !== 'undefined') { - const { ipcRenderer } = requireNode('electron'); + if (typeof window !== 'undefined' && window.electronAPI) { + const { ipcRenderer } = window.electronAPI; this.ipcRenderer = ipcRenderer; } @@ -122,13 +123,13 @@ export default class SettingsData extends Component { } else { this.ipcRenderer.send('exportData', jsonString); this.flashMessages.success( - 'Export saved to downloads directory.', + 'Export saved to downloads directory.' ); } idbDatabase.close(); this.isExporting = false; - }, + } ); }; } @@ -138,7 +139,7 @@ export default class SettingsData extends Component { if (this.ipcRenderer) { this.isImporting = true; const jsonString = (await this.ipcRenderer.invoke( - 'importData', + 'importData' )) as string; if (jsonString) { @@ -153,6 +154,7 @@ export default class SettingsData extends Component { IDBExportImport.importFromJsonString( idbDatabase, jsonString, + // eslint-disable-next-line @typescript-eslint/no-misused-promises async (err: Event | null) => { if (!err) { @@ -164,7 +166,7 @@ export default class SettingsData extends Component { if (backup) { const records = await backup.query( - (q) => q.findRecords(), + (q) => q.findRecords() ); await this.store.sync((t) => @@ -177,19 +179,19 @@ export default class SettingsData extends Component { // otherwise orbit will throw a validation error if (r?.attributes?.['createdAt']) { r.attributes['createdAt'] = new Date( - r.attributes['createdAt'] as string, + r.attributes['createdAt'] as string ); } return t.addRecord(r); - }), + }) ); this.flashMessages.success('Data successfully replaced.'); } } this.isImporting = false; - }, + } ); } }); diff --git a/app/components/settings-menu.gts b/app/components/settings-menu.gts index a91e1cf91..79b81216f 100644 --- a/app/components/settings-menu.gts +++ b/app/components/settings-menu.gts @@ -8,10 +8,9 @@ import { tracked } from '@glimmer/tracking'; import { storageFor } from 'ember-local-storage'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import eq from 'ember-truth-helpers/helpers/eq'; -import type { IpcRenderer } from 'electron'; import capitalize from '../helpers/capitalize.ts'; -import About from './about.ts'; -import LoadingButton from './loading-button.ts'; +import About from './about.gts'; +import LoadingButton from './loading-button.gts'; import type { SettingsStorage, themes } from 'swach/storages/settings'; interface SettingsMenuSignature { @@ -35,7 +34,7 @@ export default class SettingsMenu extends Component {
- , + ); diff --git a/app/templates/welcome/cloud-sync.gts b/app/templates/welcome/cloud-sync.gts index 0b51347b9..342968e9a 100644 --- a/app/templates/welcome/cloud-sync.gts +++ b/app/templates/welcome/cloud-sync.gts @@ -52,5 +52,5 @@ export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>(
- , + ); diff --git a/app/templates/welcome/dock-icon.gts b/app/templates/welcome/dock-icon.gts index 9aea1c6e4..3fd19b08c 100644 --- a/app/templates/welcome/dock-icon.gts +++ b/app/templates/welcome/dock-icon.gts @@ -3,7 +3,7 @@ import RouteTemplate from 'ember-route-template'; import set from 'ember-set-helper/helpers/set'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import not from 'ember-truth-helpers/helpers/not'; -import ToggleSwitch from '../../components/toggle-switch.ts'; +import ToggleSwitch from '../../components/toggle-switch.gts'; import type WelcomeDockIconController from 'swach/controllers/welcome/dock-icon'; export default RouteTemplate<{ @@ -57,5 +57,5 @@ export default RouteTemplate<{
- , + ); diff --git a/app/templates/welcome/index.gts b/app/templates/welcome/index.gts index 6ad4f7c8f..c79ee0b2b 100644 --- a/app/templates/welcome/index.gts +++ b/app/templates/welcome/index.gts @@ -34,5 +34,5 @@ export default RouteTemplate<{
- , + ); diff --git a/app/utils/remove-from-to.ts b/app/utils/remove-from-to.ts index b65c8a21b..4e7b1bd9d 100644 --- a/app/utils/remove-from-to.ts +++ b/app/utils/remove-from-to.ts @@ -1,10 +1,11 @@ export default function removeFromTo( array: unknown[], from: number, - to: number, + to: number ): number { array.splice( from, + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument !to || // @ts-expect-error: We need to refactor this function @@ -12,7 +13,7 @@ export default function removeFromTo( to - from + // @ts-expect-error: We need to refactor this function - (!((to < 0) ^ (from >= 0)) && (to < 0 || -1) * array.length), + (!((to < 0) ^ (from >= 0)) && (to < 0 || -1) * array.length) ); return array.length; diff --git a/babel.config.cjs b/babel.config.cjs new file mode 100644 index 000000000..957298726 --- /dev/null +++ b/babel.config.cjs @@ -0,0 +1,50 @@ +const { + babelCompatSupport, + templateCompatSupport, +} = require('@embroider/compat/babel'); + +module.exports = { + plugins: [ + [ + '@babel/plugin-transform-typescript', + { + allExtensions: true, + onlyRemoveTypeImports: true, + allowDeclareFields: true, + }, + ], + [ + 'babel-plugin-ember-template-compilation', + { + compilerPath: 'ember-source/dist/ember-template-compiler.js', + enableLegacyModules: [ + 'ember-cli-htmlbars', + 'ember-cli-htmlbars-inline-precompile', + 'htmlbars-inline-precompile', + ], + transforms: [...templateCompatSupport()], + }, + ], + [ + 'module:decorator-transforms', + { + runtime: { + import: require.resolve('decorator-transforms/runtime-esm'), + }, + }, + ], + [ + '@babel/plugin-transform-runtime', + { + absoluteRuntime: __dirname, + useESModules: true, + regenerator: false, + }, + ], + ...babelCompatSupport(), + ], + + generatorOpts: { + compact: false, + }, +}; diff --git a/config/ember-cli-update.json b/config/ember-cli-update.json index d56936bed..ea9e5da8a 100644 --- a/config/ember-cli-update.json +++ b/config/ember-cli-update.json @@ -2,13 +2,11 @@ "schemaVersion": "1.0.0", "packages": [ { - "name": "ember-cli", - "version": "6.4.0", + "name": "@ember/app-blueprint", + "version": "6.7.2", "blueprints": [ { - "name": "app", - "outputRepo": "https://github.com/ember-cli/ember-new-output", - "codemodsSource": "ember-app-codemods-manifest@1", + "name": "@ember/app-blueprint", "isBaseBlueprint": true, "options": [ "--pnpm", diff --git a/config/targets.js b/config/targets.js index 8c353bee2..e72871c48 100644 --- a/config/targets.js +++ b/config/targets.js @@ -1,5 +1,5 @@ 'use strict'; module.exports = { - browsers: ['electron >= 27.0.0'], + browsers: ['electron >= 37.0.0'], }; diff --git a/electron-app/.gitignore b/electron-app/.gitignore index e70b8212f..572a8c958 100644 --- a/electron-app/.gitignore +++ b/electron-app/.gitignore @@ -89,6 +89,7 @@ typings/ dist/ # Electron-Forge +.vite/ out/ # Ember build diff --git a/electron-app/package.json b/electron-app/package.json deleted file mode 100644 index 2ee12f9db..000000000 --- a/electron-app/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "swach", - "productName": "swach", - "version": "1.2.15", - "description": "A robust color management tool for the modern age.", - "main": "src/index.js", - "scripts": { - "start": "electron-forge start", - "package": "electron-forge package", - "make": "electron-forge make", - "publish": "electron-forge publish", - "lint": "echo \"No linting configured\"" - }, - "keywords": [], - "author": { - "name": "Robert Wagner", - "email": "rwwagner90@gmail.com", - "url": "https://github.com/rwwagner90" - }, - "license": "MIT", - "config": { - "forge": "forge.config.js" - }, - "dependencies": { - "@sentry/electron": "^4.24.0", - "electron-dl": "^3.5.2", - "electron-is-dev": "^2.0.0", - "electron-squirrel-startup": "^1.0.1", - "electron-store": "^8.2.0", - "indexeddb-export-import": "^2.1.5", - "menubar": "^9.5.1", - "throttle-debounce": "^5.0.2" - }, - "devDependencies": { - "@electron-forge/cli": "^7.8.3", - "@electron-forge/core": "^7.8.3", - "@electron-forge/maker-deb": "^7.8.3", - "@electron-forge/maker-dmg": "^7.8.3", - "@electron-forge/maker-snap": "^7.8.3", - "@electron-forge/maker-squirrel": "^7.8.3", - "@electron-forge/maker-zip": "^7.8.3", - "@electron-forge/publisher-snapcraft": "^7.8.3", - "@sentry/cli": "^2.51.1", - "electron": "^33.4.11", - "electron-debug": "^3.2.0", - "electron-download": "^4.1.1" - }, - "packageManager": "pnpm@10.11.0", - "engines": { - "node": ">= 20", - "pnpm": "^10.11.0" - } -} diff --git a/electron-app/src/auto-update.js b/electron-app/src/auto-update.ts similarity index 79% rename from electron-app/src/auto-update.js rename to electron-app/src/auto-update.ts index d2279fe7f..9d32c1702 100644 --- a/electron-app/src/auto-update.js +++ b/electron-app/src/auto-update.ts @@ -1,24 +1,24 @@ -const { autoUpdater, dialog } = require('electron'); +import { autoUpdater, dialog, type App } from 'electron'; -const setupUpdateServer = (app) => { +export const setupUpdateServer = (app: App) => { const server = 'https://download.swach.io'; const feed = `${server}/update/${process.platform}/${app.getVersion()}`; - autoUpdater.setFeedURL(feed); + autoUpdater.setFeedURL({ url: feed }); // Checks for updates every 30 minutes const checkForUpdatesInterval = setInterval( () => { autoUpdater.checkForUpdates(); }, - 30 * 60 * 1000, + 30 * 60 * 1000 ); autoUpdater.on('update-downloaded', (event, releaseNotes, releaseName) => { clearInterval(checkForUpdatesInterval); autoUpdater.removeAllListeners('update-not-available'); const dialogOpts = { - type: 'question', + type: 'question' as const, buttons: ['Restart', 'Later'], title: 'Application Update', message: process.platform === 'win32' ? releaseNotes : releaseName, @@ -26,7 +26,7 @@ const setupUpdateServer = (app) => { 'A new version has been downloaded. Restart the application to apply the updates.', }; - dialog.showMessageBox(dialogOpts).then((returnValue) => { + void dialog.showMessageBox(dialogOpts).then((returnValue) => { if (returnValue.response === 0) autoUpdater.quitAndInstall(); }); }); @@ -39,7 +39,3 @@ const setupUpdateServer = (app) => { return autoUpdater; }; - -module.exports = { - setupUpdateServer, -}; diff --git a/electron-app/src/browsers/index.js b/electron-app/src/browsers/index.js deleted file mode 100644 index d9d1c356e..000000000 --- a/electron-app/src/browsers/index.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = (dirname) => ({ - settings: require('./window')(dirname, 'settings', 'Settings'), -}); diff --git a/electron-app/src/browsers/index.ts b/electron-app/src/browsers/index.ts new file mode 100644 index 000000000..034460051 --- /dev/null +++ b/electron-app/src/browsers/index.ts @@ -0,0 +1,5 @@ +import windowFactory from './window.js'; + +export default (dirname: string) => ({ + settings: windowFactory(dirname, 'settings', 'Settings'), +}); diff --git a/electron-app/src/browsers/window.js b/electron-app/src/browsers/window.js deleted file mode 100644 index 2b593ceca..000000000 --- a/electron-app/src/browsers/window.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -const { BrowserWindow } = require('electron'); - -module.exports = (dirname, route, title) => { - let win; - - /** - * [init] - * @param {boolean} force [force launching new window] - * @return {void} [new Colorpicker] - */ - let init = () => { - if (win === null || win === undefined) createWindow(); - else win.show(); - - // win.openDevTools(); - }; - - /** - * [createWindow - create new Window] - * @param {int} width [width of the window] - * @param {int} height [height of the window] - * @return {void} - */ - let createWindow = () => { - let options = { - width: 700, - height: 500, - minWidth: 460, - minHeight: 340, - fullscreenable: false, - titleBarStyle: 'hidden', - title, - webPreferences: { - contextIsolation: false, - nodeIntegration: true, - }, - }; - - win = new BrowserWindow(options); - const windowRoute = `serve://dist#/${route}`; - win.loadURL(windowRoute); - - win.on('closed', () => { - win = undefined; - }); - - win.on('page-title-updated', function (e) { - e.preventDefault(); - }); - }; - - let getWindow = () => win; - - return { - init: init, - getWindow: getWindow, - }; -}; diff --git a/electron-app/src/browsers/window.ts b/electron-app/src/browsers/window.ts new file mode 100644 index 000000000..0f6f2a3f5 --- /dev/null +++ b/electron-app/src/browsers/window.ts @@ -0,0 +1,45 @@ +// window.js (ESM) +import { BrowserWindow, BrowserWindowConstructorOptions } from 'electron'; + +export default (_dirname: string, route: string, title: string) => { + let win: BrowserWindow | null | undefined; + + const init = () => { + if (win == null) createWindow(); + else win.show(); + // win.webContents.openDevTools(); + }; + + const createWindow = () => { + const options = { + width: 700, + height: 500, + minWidth: 460, + minHeight: 340, + fullscreenable: false, + titleBarStyle: 'hidden', + title, + webPreferences: { + contextIsolation: true, + nodeIntegration: false, + }, + } satisfies BrowserWindowConstructorOptions; + + win = new BrowserWindow(options); + + const windowRoute = `serve://dist#/${route}`; + void win.loadURL(windowRoute); + + win.on('closed', () => { + win = undefined; + }); + + win.on('page-title-updated', (e) => { + e.preventDefault(); + }); + }; + + const getWindow = () => win; + + return { init, getWindow }; +}; diff --git a/electron-app/src/color-picker.js b/electron-app/src/color-picker.ts similarity index 54% rename from electron-app/src/color-picker.js rename to electron-app/src/color-picker.ts index 16d63b9e0..96ff08886 100644 --- a/electron-app/src/color-picker.js +++ b/electron-app/src/color-picker.ts @@ -1,7 +1,9 @@ -async function launchPicker(mb, type = 'global') { +import { type Menubar } from 'menubar'; + +async function launchPicker(mb: Menubar, type = 'global') { mb.hideWindow(); - const color = await mb.window.webContents.executeJavaScript( + const color = await mb.window!.webContents.executeJavaScript( ` async function openEyeDropper() { const eyeDropper = new EyeDropper(); @@ -19,24 +21,22 @@ async function launchPicker(mb, type = 'global') { } openEyeDropper();`, - true, + true ); if (color) { if (type === 'global') { - mb.window.webContents.send('changeColor', color); + mb.window!.webContents.send('changeColor', color); } if (type === 'contrastBg') { - mb.window.webContents.send('pickContrastBgColor', color); + mb.window!.webContents.send('pickContrastBgColor', color); } if (type === 'contrastFg') { - mb.window.webContents.send('pickContrastFgColor', color); + mb.window!.webContents.send('pickContrastFgColor', color); } } - mb.showWindow(); + void mb.showWindow(); } -module.exports = { - launchPicker, -}; +export { launchPicker }; diff --git a/electron-app/src/dialogs.js b/electron-app/src/dialogs.ts similarity index 73% rename from electron-app/src/dialogs.js rename to electron-app/src/dialogs.ts index a5822403f..31ba7f99e 100644 --- a/electron-app/src/dialogs.js +++ b/electron-app/src/dialogs.ts @@ -1,8 +1,8 @@ -const { app, dialog } = require('electron'); +import { app, dialog } from 'electron'; -function noUpdatesAvailableDialog() { +export function noUpdatesAvailableDialog() { const dialogOpts = { - type: 'info', + type: 'info' as const, title: 'Already up to date', message: 'Already up to date', detail: `Swach ${app.getVersion()} is the latest version available.`, @@ -11,9 +11,9 @@ function noUpdatesAvailableDialog() { return dialog.showMessageBox(dialogOpts); } -function restartDialog() { +export function restartDialog() { const dialogOpts = { - type: 'question', + type: 'question' as const, buttons: ['Restart', 'Later'], title: 'Restart Required', message: 'Restart now?', @@ -28,8 +28,3 @@ function restartDialog() { } }); } - -module.exports = { - noUpdatesAvailableDialog, - restartDialog, -}; diff --git a/electron-app/src/handle-file-urls.js b/electron-app/src/handle-file-urls.js deleted file mode 100644 index 96f6b4857..000000000 --- a/electron-app/src/handle-file-urls.js +++ /dev/null @@ -1,53 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const { fileURLToPath, pathToFileURL } = require('url'); -const { promisify } = require('util'); - -const access = promisify(fs.access); - -// -// Patch asset loading -- Ember apps use absolute paths to reference their -// assets, e.g. ``. When the current URL is a `file:` -// URL, that ends up resolving to the absolute filesystem path `/images/foo.jpg` -// rather than being relative to the root of the Ember app. So, we intercept -// `file:` URL request and look to see if they point to an asset when -// interpreted as being relative to the root of the Ember app. If so, we return -// that path, and if not we leave them as-is, as their absolute path. -// -async function getAssetPath(emberAppDir, url) { - let urlPath = fileURLToPath(url); - // Get the root of the path -- should be '/' on MacOS or something like - // 'C:\' on Windows - let { root } = path.parse(urlPath); - // Get the relative path from the root to the full path - let relPath = path.relative(root, urlPath); - // Join the relative path with the Ember app directory - let appPath = path.join(emberAppDir, relPath); - try { - await access(appPath); - return appPath; - } catch { - return urlPath; - } -} - -module.exports = function handleFileURLs(emberAppDir) { - const { protocol, net } = require('electron'); - - if (protocol.handle) { - // Electron >= 25 - protocol.handle('file', async ({ url }) => { - let path = await getAssetPath(emberAppDir, url); - return net.fetch(pathToFileURL(path), { - bypassCustomProtocolHandlers: true, - }); - }); - } else { - // Electron < 25 - protocol.interceptFileProtocol('file', async ({ url }, callback) => { - callback(await getAssetPath(emberAppDir, url)); - }); - } -}; - -module.exports.getAssetPath = getAssetPath; diff --git a/electron-app/src/handle-file-urls.ts b/electron-app/src/handle-file-urls.ts new file mode 100644 index 000000000..ec2140da4 --- /dev/null +++ b/electron-app/src/handle-file-urls.ts @@ -0,0 +1,40 @@ +import { access } from 'node:fs/promises'; +import path from 'node:path'; +import { fileURLToPath, pathToFileURL } from 'node:url'; +import { net, protocol } from 'electron'; + +// +// Patch asset loading -- Ember apps use absolute paths to reference their +// assets, e.g. ``. When the current URL is a `file:` +// URL, that ends up resolving to the absolute filesystem path `/images/foo.jpg` +// rather than being relative to the root of the Ember app. So, we intercept +// `file:` URL requests and look to see if they point to an asset when +// interpreted as being relative to the root of the Ember app. If so, we return +// that path, and if not we leave them as-is, as their absolute path. +// +export async function getAssetPath(emberAppDir: string, url: string) { + const urlPath = fileURLToPath(url); + // Get the root of the path -- should be '/' on MacOS or something like + // 'C:\\' on Windows + const { root } = path.parse(urlPath); + // Get the relative path from the root to the full path + const relPath = path.relative(root, urlPath); + // Join the relative path with the Ember app directory + const appPath = path.join(emberAppDir, relPath); + + try { + await access(appPath); + return appPath; + } catch { + return urlPath; + } +} + +export default function handleFileURLs(emberAppDir: string) { + protocol.handle('file', async ({ url }) => { + const assetPath = await getAssetPath(emberAppDir, url); + return net.fetch(pathToFileURL(assetPath).href, { + bypassCustomProtocolHandlers: true, + }); + }); +} diff --git a/electron-app/src/index.js b/electron-app/src/index.js deleted file mode 100644 index 048f4b4ed..000000000 --- a/electron-app/src/index.js +++ /dev/null @@ -1,278 +0,0 @@ -const Sentry = require('@sentry/electron'); -const { ipcMain, nativeTheme } = require('electron'); -const isDev = require('electron-is-dev'); -const Store = require('electron-store'); -// eslint-disable-next-line no-redeclare -const { menubar } = require('menubar'); -const { basename, dirname, join, resolve } = require('path'); -const { pathToFileURL } = require('url'); - -const { setupUpdateServer } = require('./auto-update'); -const { launchPicker } = require('./color-picker'); -const { noUpdatesAvailableDialog } = require('./dialogs'); -const handleFileUrls = require('./handle-file-urls'); -const { setupEventHandlers } = require('./ipc-events'); -const { - registerKeyboardShortcuts, - setupContextMenu, - setupMenu, -} = require('./shortcuts'); - -const emberAppDir = resolve(__dirname, '..', 'ember-dist'); - -if (isDev) { - const debug = require('electron-debug'); - debug({ showDevTools: false }); -} - -Sentry.init({ - appName: 'swach', - dsn: 'https://6974b46329f24dc1b9fca4507c65e942@sentry.io/3956140', - release: `v${require('../package').version}`, -}); - -const store = new Store({ - defaults: { - firstRunV1: true, - showDockIcon: false, - }, -}); - -let emberAppURL = pathToFileURL(join(emberAppDir, 'index.html')).toString(); - -// On first boot of the application, go through the welcome screen -if (store.get('firstRunV1')) { - emberAppURL = `${emberAppURL}#/welcome`; - store.set('firstRunV1', false); -} - -function openContrastChecker(mb) { - mb.showWindow(); - mb.window.webContents.send('openContrastChecker'); -} - -let menubarIcon = 'resources/menubar-icons/iconTemplate.png'; - -if (process.platform === 'win32') { - menubarIcon = 'resources/icon.ico'; -} - -if (process.platform === 'linux') { - menubarIcon = 'resources/png/64x64.png'; -} - -const mb = menubar({ - index: false, - browserWindow: { - alwaysOnTop: false, - height: 703, - resizable: false, - width: 362, - webPreferences: { - contextIsolation: false, - devTools: isDev, - preload: join(__dirname, 'preload.js'), - nodeIntegration: true, - }, - }, - icon: join(__dirname || resolve(dirname('')), '..', menubarIcon), - preloadWindow: true, - showDockIcon: store.get('showDockIcon'), - showOnAllWorkspaces: false, -}); - -mb.app.allowRendererProcessReuse = true; - -mb.app.commandLine.appendSwitch('autoplay-policy', 'no-user-gesture-required'); -mb.app.commandLine.appendSwitch( - 'disable-backgrounding-occluded-windows', - 'true', -); -mb.app.commandLine.appendSwitch('ignore-certificate-errors', true); - -let sharedPaletteLink; - -async function openSharedPalette() { - await mb.showWindow(); - - if (sharedPaletteLink) { - const query = sharedPaletteLink.split('?data=')[1]; - if (mb?.window && query) { - mb.window.webContents.send('openSharedPalette', query); - } - } -} - -if (isDev && process.platform === 'win32') { - // Set the path of electron.exe and your app. - // These two additional parameters are only available on windows. - // Setting this is required to get this working in dev mode. - mb.app.setAsDefaultProtocolClient('swach', process.execPath, [ - resolve(process.argv[1]), - ]); -} else { - mb.app.setAsDefaultProtocolClient('swach'); -} - -mb.app.on('open-url', function (event, data) { - event.preventDefault(); - sharedPaletteLink = data; - openSharedPalette(); -}); - -// Force single application instance -const gotTheLock = mb.app.requestSingleInstanceLock(); - -if (!gotTheLock) { - mb.app.quit(); -} else { - mb.app.on('second-instance', (e, argv) => { - if (mb.window) { - if (process.platform !== 'darwin') { - sharedPaletteLink = argv.find((arg) => arg.startsWith('swach://')); - openSharedPalette(); - } - } - }); -} - -if (process.platform === 'win32') { - if (require('electron-squirrel-startup')) mb.app.exit(); -} - -// const browsers = require('./browsers')(__dirname); -// const { settings } = browsers; - -// const showPreferences = () => settings.init(); -// ipcMain.on('showPreferences', showPreferences); - -setupEventHandlers(mb, store); - -// Uncomment the lines below to enable Electron's crash reporter -// For more information, see http://electron.atom.io/docs/api/crash-reporter/ -// electron.crashReporter.start({ -// productName: 'YourName', -// companyName: 'YourCompany', -// submitURL: 'https://your-domain.com/url-to-submit', -// autoSubmit: true -// }); - -mb.app.on('window-all-closed', () => { - if (process.platform !== 'darwin') { - mb.app.quit(); - } -}); - -mb.on('after-create-window', async () => { - // If you want to open up dev tools programmatically, call - // mb.window.openDevTools(); - - // Load the ember application using our custom protocol/scheme - await handleFileUrls(emberAppDir); - - mb.window.loadURL(emberAppURL); - - // If a loading operation goes wrong, we'll send Electron back to - // Ember App entry point - mb.window.webContents.on('did-fail-load', () => { - mb.window.loadURL(emberAppURL); - }); - - mb.window.once('ready-to-show', function () { - setTimeout(() => { - mb.showWindow(); - }, 750); - }); - - mb.window.webContents.on('render-process-gone', () => { - console.log( - 'Your Ember app (or other code) in the main window has crashed.', - ); - console.log( - 'This is a serious issue that needs to be handled and/or debugged.', - ); - }); - - mb.window.on('unresponsive', () => { - console.log( - 'Your Ember app (or other code) has made the window unresponsive.', - ); - }); - - mb.window.on('responsive', () => { - console.log('The main window has become responsive again.'); - }); - - registerKeyboardShortcuts(mb, launchPicker, openContrastChecker); - - setupMenu(mb, launchPicker, openContrastChecker); - setupContextMenu(mb, launchPicker, openContrastChecker); - const setOSTheme = () => { - let theme = nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; - mb.window.webContents.send('setTheme', theme); - }; - - nativeTheme.on('updated', setOSTheme); -}); - -mb.on('ready', async () => { - ipcMain.on('enableDisableAutoStart', (event, openAtLogin) => { - // We only want to allow auto-start if in production mode - if (!isDev) { - if (process.platform === 'darwin') { - mb.app.setLoginItemSettings({ - openAtLogin, - }); - } - - if (process.platform === 'win32') { - const appFolder = dirname(process.execPath); - const updateExe = resolve(appFolder, '..', 'Update.exe'); - const exeName = basename(process.execPath); - - mb.app.setLoginItemSettings({ - openAtLogin, - path: updateExe, - args: [ - '--processStart', - `"${exeName}"`, - '--process-start-args', - `"--hidden"`, - ], - }); - } - } - }); -}); - -// We only want to auto update if we're on MacOS or Windows. Linux will use Snapcraft. -if (!isDev && (process.platform === 'darwin' || process.platform === 'win32')) { - const autoUpdater = setupUpdateServer(mb.app); - ipcMain.on('checkForUpdates', () => { - autoUpdater.once('update-not-available', noUpdatesAvailableDialog); - autoUpdater.checkForUpdates(); - }); -} - -// Handle an unhandled error in the main thread -// -// Note that 'uncaughtException' is a crude mechanism for exception handling intended to -// be used only as a last resort. The event should not be used as an equivalent to -// "On Error Resume Next". Unhandled exceptions inherently mean that an application is in -// an undefined state. Attempting to resume application code without properly recovering -// from the exception can cause additional unforeseen and unpredictable issues. -// -// Attempting to resume normally after an uncaught exception can be similar to pulling out -// of the power cord when upgrading a computer -- nine out of ten times nothing happens - -// but the 10th time, the system becomes corrupted. -// -// The correct use of 'uncaughtException' is to perform synchronous cleanup of allocated -// resources (e.g. file descriptors, handles, etc) before shutting down the process. It is -// not safe to resume normal operation after 'uncaughtException'. -process.on('uncaughtException', (err) => { - console.log('An exception in the main thread was not handled.'); - console.log( - 'This is a serious issue that needs to be handled and/or debugged.', - ); - console.log(`Exception: ${err}`); -}); diff --git a/electron-app/src/ipc-events.js b/electron-app/src/ipc-events.js deleted file mode 100644 index c79780255..000000000 --- a/electron-app/src/ipc-events.js +++ /dev/null @@ -1,87 +0,0 @@ -const { - app, - clipboard, - dialog, - ipcMain, - nativeTheme, - shell, -} = require('electron'); -const { download } = require('electron-dl'); -const fs = require('fs'); - -const { launchPicker } = require('./color-picker'); -const { restartDialog } = require('./dialogs'); - -function setupEventHandlers(mb, store) { - ipcMain.on('copyColorToClipboard', (channel, color) => { - clipboard.writeText(color); - }); - - ipcMain.on('exitApp', () => mb.app.quit()); - - ipcMain.on('exportData', async (channel, jsonString) => { - const downloadPath = `${mb.app.getPath('temp')}/swach-data.json`; - fs.writeFileSync(downloadPath, jsonString); - await download(mb.window, `file://${downloadPath}`); - fs.unlink(downloadPath, (err) => { - if (err) throw err; - console.log(`${downloadPath} was deleted`); - }); - }); - - ipcMain.handle('getAppVersion', async () => { - return app.getVersion(); - }); - - ipcMain.handle('getBackupData', async () => { - const backupPath = `${mb.app.getPath('temp')}/backup-swach-data.json`; - return fs.readFileSync(backupPath, { encoding: 'utf8' }); - }); - - ipcMain.handle('getPlatform', () => { - return process.platform; - }); - - ipcMain.handle('getStoreValue', (event, key) => { - return store.get(key); - }); - - ipcMain.handle('getShouldUseDarkColors', () => { - return nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; - }); - - ipcMain.handle('importData', async () => { - const { canceled, filePaths } = await dialog.showOpenDialog({ - properties: ['openFile'], - }); - - if (!canceled && filePaths.length) { - return fs.readFileSync(filePaths[0], { encoding: 'utf8' }); - } - }); - - ipcMain.on('launchContrastBgPicker', async () => { - await launchPicker(mb, 'contrastBg'); - }); - - ipcMain.on('launchContrastFgPicker', async () => { - await launchPicker(mb, 'contrastFg'); - }); - - ipcMain.on('launchPicker', async () => { - await launchPicker(mb); - }); - - ipcMain.handle('open-external', async (_event, url) => { - await shell.openExternal(url); - }); - - ipcMain.on('setShowDockIcon', async (channel, showDockIcon) => { - store.set('showDockIcon', showDockIcon); - await restartDialog(); - }); -} - -module.exports = { - setupEventHandlers, -}; diff --git a/electron-app/src/ipc-events.ts b/electron-app/src/ipc-events.ts new file mode 100644 index 000000000..d55cc4e8f --- /dev/null +++ b/electron-app/src/ipc-events.ts @@ -0,0 +1,86 @@ +import fs from 'fs'; +import { app, clipboard, dialog, ipcMain, nativeTheme, shell } from 'electron'; +import { download } from 'electron-dl'; +import type Store from 'electron-store'; +import { type Menubar } from 'menubar'; +import { launchPicker } from './color-picker'; +import { restartDialog } from './dialogs'; + +function setupEventHandlers( + mb: Menubar, + store: Store<{ firstRunV1: boolean; showDockIcon: boolean }> +) { + ipcMain.on('copyColorToClipboard', (_channel, color: string) => { + clipboard.writeText(color); + }); + + ipcMain.on('exitApp', () => mb.app.quit()); + + // eslint-disable-next-line @typescript-eslint/no-misused-promises + ipcMain.on('exportData', async (_channel, jsonString: string) => { + const downloadPath = `${mb.app.getPath('temp')}/swach-data.json`; + fs.writeFileSync(downloadPath, jsonString); + await download(mb.window!, `file://${downloadPath}`); + fs.unlink(downloadPath, (err) => { + if (err) throw err; + console.log(`${downloadPath} was deleted`); + }); + }); + + ipcMain.handle('getAppVersion', () => { + return app.getVersion(); + }); + + ipcMain.handle('getBackupData', () => { + const backupPath = `${mb.app.getPath('temp')}/backup-swach-data.json`; + return fs.readFileSync(backupPath, { encoding: 'utf8' }); + }); + + ipcMain.handle('getPlatform', () => { + return process.platform; + }); + + ipcMain.handle('getStoreValue', (_event, key: string) => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return store.get(key); + }); + + ipcMain.handle('getShouldUseDarkColors', () => { + return nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; + }); + + ipcMain.handle('importData', async () => { + const { canceled, filePaths } = await dialog.showOpenDialog({ + properties: ['openFile'], + }); + + if (!canceled && filePaths.length) { + return fs.readFileSync(filePaths[0]!, { encoding: 'utf8' }); + } + return null; + }); + + ipcMain.on('launchContrastBgPicker', () => { + void launchPicker(mb, 'contrastBg'); + }); + + ipcMain.on('launchContrastFgPicker', () => { + void launchPicker(mb, 'contrastFg'); + }); + + ipcMain.on('launchPicker', () => { + void launchPicker(mb); + }); + + ipcMain.handle('open-external', async (_event, url: string) => { + await shell.openExternal(url); + }); + + // eslint-disable-next-line @typescript-eslint/no-misused-promises + ipcMain.on('setShowDockIcon', async (_channel, showDockIcon) => { + store.set('showDockIcon', showDockIcon); + await restartDialog(); + }); +} + +export { setupEventHandlers }; diff --git a/electron-app/src/main.ts b/electron-app/src/main.ts new file mode 100644 index 000000000..82d5c8d2f --- /dev/null +++ b/electron-app/src/main.ts @@ -0,0 +1,248 @@ +import { basename, dirname, join, resolve } from 'node:path'; +// This should cause a type error +import { fileURLToPath, pathToFileURL } from 'node:url'; +import { init } from '@sentry/electron'; +import { ipcMain, nativeTheme } from 'electron'; +import isDev from 'electron-is-dev'; +import Store from 'electron-store'; +import { menubar, type Menubar } from 'menubar'; +import pkg from '../../package.json'; +import { setupUpdateServer } from './auto-update.js'; +import { noUpdatesAvailableDialog } from './dialogs.js'; +import handleFileUrls from './handle-file-urls.js'; +import { setupEventHandlers } from './ipc-events.js'; +import { + registerKeyboardShortcuts, + setupContextMenu, + setupMenu, +} from './shortcuts.js'; + +// __dirname in ESM +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +init({ + appName: 'swach', + dsn: 'https://6974b46329f24dc1b9fca4507c65e942@sentry.io/3956140', + release: `v${pkg.version}`, +}); + +const store = new Store({ + defaults: { + firstRunV1: true, + showDockIcon: false, + }, +}); + +const emberAppDir = resolve(__dirname, '..', 'dist'); +let emberAppURL = isDev + ? 'http://localhost:4200' + : pathToFileURL(join(emberAppDir, 'index.html')).toString(); + +// On first boot of the application, go through the welcome screen +if (store.get('firstRunV1')) { + emberAppURL = `${emberAppURL}#/welcome`; + store.set('firstRunV1', false); +} + +function openContrastChecker(mb: Menubar) { + void mb.showWindow(); + mb.window!.webContents.send('openContrastChecker'); +} + +let menubarIcon = 'resources/menubar-icons/iconTemplate.png'; +if (process.platform === 'win32') menubarIcon = 'resources/icon.ico'; +if (process.platform === 'linux') menubarIcon = 'resources/png/64x64.png'; + +const mb = menubar({ + index: false, + browserWindow: { + alwaysOnTop: false, + height: 703, + resizable: false, + width: 362, + webPreferences: { + contextIsolation: true, + devTools: isDev, + preload: join(__dirname, 'preload.js'), + nodeIntegration: false, + }, + }, + icon: join(__dirname, '../../electron-app', menubarIcon), + preloadWindow: true, + showDockIcon: store.get('showDockIcon'), + showOnAllWorkspaces: false, +}); + +// mb.app.allowRendererProcessReuse = true; // Deprecated property + +mb.app.commandLine.appendSwitch('autoplay-policy', 'no-user-gesture-required'); +mb.app.commandLine.appendSwitch( + 'disable-backgrounding-occluded-windows', + 'true' +); +mb.app.commandLine.appendSwitch('ignore-certificate-errors', 'true'); + +let sharedPaletteLink: string | undefined; + +async function openSharedPalette() { + await mb.showWindow(); + + if (sharedPaletteLink) { + const query = sharedPaletteLink.split('?data=')[1]; + if (mb?.window && query) { + mb.window.webContents.send('openSharedPalette', query); + } + } +} + +if (isDev && process.platform === 'win32') { + // Windows dev mode protocol registration + mb.app.setAsDefaultProtocolClient('swach', process.execPath, [ + resolve(process.argv[1]!), + ]); +} else { + mb.app.setAsDefaultProtocolClient('swach'); +} + +mb.app.on('open-url', function (event, data) { + event.preventDefault(); + sharedPaletteLink = data; + void openSharedPalette(); +}); + +// Force single application instance +const gotTheLock = mb.app.requestSingleInstanceLock(); + +if (!gotTheLock) { + mb.app.quit(); +} else { + mb.app.on('second-instance', (e, argv) => { + if (mb.window) { + if (process.platform !== 'darwin') { + sharedPaletteLink = argv.find((arg) => arg.startsWith('swach://')); + void openSharedPalette(); + } + } + }); +} + +if (process.platform === 'win32') { + import('electron-squirrel-startup') + .then(({ default: handled }) => { + if (handled) mb.app.exit(); + }) + .catch(() => {}); +} + +// const browsers = require('./browsers')(__dirname); +// const { settings } = browsers; +// const showPreferences = () => settings.init(); +// ipcMain.on('showPreferences', showPreferences); + +setupEventHandlers(mb, store); + +// Uncomment to enable Electron's crash reporter +// electron.crashReporter.start({ ... }); + +mb.app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + mb.app.quit(); + } +}); + +mb.on('after-create-window', () => { + // Load the Ember application using our custom protocol/scheme + handleFileUrls(emberAppDir); + + void mb.window!.loadURL(emberAppURL); + + // If a loading operation goes wrong, we'll send Electron back to Ember entry + mb.window!.webContents.on('did-fail-load', () => { + void mb.window!.loadURL(emberAppURL); + }); + + mb.window!.once('ready-to-show', function () { + setTimeout(() => { + void mb.showWindow(); + }, 750); + }); + + mb.window!.webContents.on('render-process-gone', () => { + console.log( + 'Your Ember app (or other code) in the main window has crashed.' + ); + console.log( + 'This is a serious issue that needs to be handled and/or debugged.' + ); + }); + + mb.window!.on('unresponsive', () => { + console.log( + 'Your Ember app (or other code) has made the window unresponsive.' + ); + }); + + mb.window!.on('responsive', () => { + console.log('The main window has become responsive again.'); + }); + + registerKeyboardShortcuts(mb, openContrastChecker); + + setupMenu(mb, openContrastChecker); + setupContextMenu(mb, openContrastChecker); + + const setOSTheme = () => { + const theme = nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; + mb.window!.webContents.send('setTheme', theme); + }; + + nativeTheme.on('updated', setOSTheme); +}); + +mb.on('ready', () => { + ipcMain.on('enableDisableAutoStart', (event, openAtLogin) => { + // Only allow auto-start in production + if (!isDev) { + if (process.platform === 'darwin') { + mb.app.setLoginItemSettings({ openAtLogin }); + } + + if (process.platform === 'win32') { + const appFolder = dirname(process.execPath); + const updateExe = resolve(appFolder, '..', 'Update.exe'); + const exeName = basename(process.execPath); + + mb.app.setLoginItemSettings({ + openAtLogin, + path: updateExe, + args: [ + '--processStart', + `"${exeName}"`, + '--process-start-args', + `"--hidden"`, + ], + }); + } + } + }); +}); + +// Auto update on macOS/Windows (Linux uses Snapcraft) +if (!isDev && (process.platform === 'darwin' || process.platform === 'win32')) { + const autoUpdater = setupUpdateServer(mb.app); + ipcMain.on('checkForUpdates', () => { + // eslint-disable-next-line @typescript-eslint/no-misused-promises + autoUpdater.once('update-not-available', noUpdatesAvailableDialog); + autoUpdater.checkForUpdates(); + }); +} + +// Handle an unhandled error in the main thread +process.on('uncaughtException', (err) => { + console.log('An exception in the main thread was not handled.'); + console.log( + 'This is a serious issue that needs to be handled and/or debugged.' + ); + console.log(`Exception: ${err}`); +}); diff --git a/electron-app/src/preload.js b/electron-app/src/preload.js deleted file mode 100644 index b2344e9dd..000000000 --- a/electron-app/src/preload.js +++ /dev/null @@ -1,7 +0,0 @@ -const Sentry = require('@sentry/electron'); - -Sentry.init({ - appName: 'swach', - dsn: 'https://6974b46329f24dc1b9fca4507c65e942@sentry.io/3956140', - release: `v${require('../package').version}`, -}); diff --git a/electron-app/src/preload.ts b/electron-app/src/preload.ts new file mode 100644 index 000000000..14012e693 --- /dev/null +++ b/electron-app/src/preload.ts @@ -0,0 +1,35 @@ +import { init } from '@sentry/electron'; +import { contextBridge, ipcRenderer } from 'electron'; +import pkg from '../../package.json'; + +init({ + appName: 'swach', + dsn: 'https://6974b46329f24dc1b9fca4507c65e942@sentry.io/3956140', + release: `v${pkg.version}`, +}); + +// Expose protected methods that allow the renderer process to use +// the ipcRenderer without exposing the entire object +contextBridge.exposeInMainWorld('electronAPI', { + ipcRenderer: { + send: (channel: string, ...args: unknown[]) => + ipcRenderer.send(channel, ...args), + on: (channel: string, func: (...args: unknown[]) => void) => { + const subscription = (_event: unknown, ...args: unknown[]) => + func(...args); + ipcRenderer.on(channel, subscription); + return subscription; + }, + off: (channel: string, func: (...args: unknown[]) => void) => + ipcRenderer.off(channel, func), + once: (channel: string, func: (...args: unknown[]) => void) => { + ipcRenderer.once(channel, (_event: unknown, ...args: unknown[]) => + func(...args) + ); + }, + invoke: (channel: string, ...args: unknown[]) => + ipcRenderer.invoke(channel, ...args), + removeAllListeners: (channel: string) => + ipcRenderer.removeAllListeners(channel), + }, +}); diff --git a/electron-app/src/shortcuts.js b/electron-app/src/shortcuts.ts similarity index 74% rename from electron-app/src/shortcuts.js rename to electron-app/src/shortcuts.ts index afe955e36..020ab0f05 100644 --- a/electron-app/src/shortcuts.js +++ b/electron-app/src/shortcuts.ts @@ -1,8 +1,20 @@ -const { globalShortcut, shell, Menu } = require('electron'); +import { + globalShortcut, + Menu, + shell, + type MenuItemConstructorOptions, +} from 'electron'; +import { type Menubar } from 'menubar'; +import { launchPicker } from './color-picker.js'; -function registerKeyboardShortcuts(mb, launchPicker, openContrastChecker) { +type OpenContrastCheckerFn = (mb: Menubar) => void; + +export function registerKeyboardShortcuts( + mb: Menubar, + openContrastChecker: OpenContrastCheckerFn +) { globalShortcut.register('Ctrl+Super+Alt+p', () => { - launchPicker(mb); + void launchPicker(mb); }); globalShortcut.register('Ctrl+Super+Alt+c', () => { @@ -14,12 +26,15 @@ function registerKeyboardShortcuts(mb, launchPicker, openContrastChecker) { }); } -function setupContextMenu(mb, launchPicker, openContrastChecker) { +export function setupContextMenu( + mb: Menubar, + openContrastChecker: OpenContrastCheckerFn +) { const contextMenu = Menu.buildFromTemplate([ { label: 'Color Picker', click() { - launchPicker(mb); + void launchPicker(mb); }, }, { @@ -42,7 +57,10 @@ function setupContextMenu(mb, launchPicker, openContrastChecker) { }); } -function setupMenu(mb, launchPicker, openContrastChecker) { +export function setupMenu( + mb: Menubar, + openContrastChecker: OpenContrastCheckerFn +) { const isMac = process.platform === 'darwin'; const template = [ @@ -66,7 +84,7 @@ function setupMenu(mb, launchPicker, openContrastChecker) { { label: 'Color Picker', click() { - launchPicker(mb); + void launchPicker(mb); }, }, { @@ -86,15 +104,15 @@ function setupMenu(mb, launchPicker, openContrastChecker) { { label: 'Undo', accelerator: 'CmdOrCtrl+Z', - async click() { - await mb.window.webContents.send('undoRedo', 'undo'); + click() { + mb.window!.webContents.send('undoRedo', 'undo'); }, }, { label: 'Redo', accelerator: 'Shift+CmdOrCtrl+Z', - async click() { - await mb.window.webContents.send('undoRedo', 'redo'); + click() { + mb.window!.webContents.send('undoRedo', 'redo'); }, }, { type: 'separator' }, @@ -129,12 +147,6 @@ function setupMenu(mb, launchPicker, openContrastChecker) { }, ]; - const menu = Menu.buildFromTemplate(template); + const menu = Menu.buildFromTemplate(template as MenuItemConstructorOptions[]); Menu.setApplicationMenu(menu); } - -module.exports = { - registerKeyboardShortcuts, - setupContextMenu, - setupMenu, -}; diff --git a/electron-app/tests/index.js b/electron-app/tests/index.js deleted file mode 100644 index ddad4fd25..000000000 --- a/electron-app/tests/index.js +++ /dev/null @@ -1,48 +0,0 @@ -const { - setupTestem, - openTestWindow, -} = require('ember-electron/lib/test-support'); - -const { app, ipcMain, nativeTheme } = require('electron'); -const Store = require('electron-store'); -const path = require('path'); - -const store = new Store({ - defaults: { - firstRunV1: true, - needsMigration: true, - showDockIcon: false, - }, -}); - -const handleFileUrls = require('../src/handle-file-urls'); - -const emberAppDir = path.resolve(__dirname, '..', 'ember-test'); - -ipcMain.handle('getAppVersion', async () => { - return app.getVersion(); -}); - -ipcMain.handle('getPlatform', () => { - return process.platform; -}); - -ipcMain.handle('getStoreValue', (event, key) => { - return store.get(key); -}); - -ipcMain.handle('getShouldUseDarkColors', () => { - return nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; -}); - -app.on('ready', async function onReady() { - await handleFileUrls(emberAppDir); - setupTestem(); - openTestWindow(emberAppDir); -}); - -app.on('window-all-closed', function onWindowAllClosed() { - if (process.platform !== 'darwin') { - app.quit(); - } -}); diff --git a/electron-app/tests/index.ts b/electron-app/tests/index.ts new file mode 100644 index 000000000..200c9bec7 --- /dev/null +++ b/electron-app/tests/index.ts @@ -0,0 +1,58 @@ +import { dirname, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { app, ipcMain, nativeTheme } from 'electron'; +import Store from 'electron-store'; +import { + handleFileUrls, + openTestWindow, + setupTestem, +} from 'vite-plugin-testem-electron/electron'; + +// __dirname in ESM +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const store = new Store({ + defaults: { + firstRunV1: true, + needsMigration: true, + showDockIcon: false, + }, +}); + +// IPC handlers needed by the app +ipcMain.handle('getAppVersion', () => { + return app.getVersion(); +}); + +ipcMain.handle('getPlatform', () => { + return process.platform; +}); + +ipcMain.handle('getStoreValue', (_event, key: string) => { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion + return store.get(key) as unknown; +}); + +ipcMain.handle('getShouldUseDarkColors', () => { + return nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; +}); + +const emberAppDir = resolve(__dirname, '..', '..', 'dist'); + +app.on('ready', function onReady() { + // Set a global for the preload script to detect test mode + process.env.ELECTRON_IS_TESTING = 'true'; + + handleFileUrls(emberAppDir); + + // Set up testem communication + setupTestem(); + + // Open the test window - testem.js will handle QUnit integration automatically + openTestWindow(emberAppDir); +}); + +app.on('window-all-closed', function onWindowAllClosed() { + app.quit(); +}); diff --git a/electron-app/tsconfig.json b/electron-app/tsconfig.json new file mode 100644 index 000000000..6ecea40df --- /dev/null +++ b/electron-app/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "skipLibCheck": true, + "resolveJsonModule": true, + "strict": true, + "noImplicitAny": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "allowJs": true, + "types": ["node", "electron"], + "lib": ["ES2022"], + "composite": true, + "declaration": true, + "declarationMap": true, + "outDir": "./dist" + }, + "include": ["src/**/*", "tests/**/*"], + "exclude": ["node_modules", "dist", ".vite"] +} diff --git a/ember-cli-build.js b/ember-cli-build.js index d0f0a8785..445ffe775 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -1,55 +1,22 @@ 'use strict'; const EmberApp = require('ember-cli/lib/broccoli/ember-app'); +const { compatBuild } = require('@embroider/compat'); -module.exports = function (defaults) { - const app = new EmberApp(defaults, { - autoImport: { - forbidEval: true, - }, - babel: { - plugins: ['@babel/plugin-proposal-object-rest-spread'], - }, - 'ember-cli-babel': { - enableTypeScriptTransform: true, - }, - postcssOptions: { - compile: { - enabled: true, - plugins: [ - require('postcss-import')(), - require('tailwindcss')('./tailwind.config.js'), - ], +module.exports = async function (defaults) { + const { buildOnce } = await import('@embroider/vite'); + let app = new EmberApp(defaults, { + emberData: { + deprecations: { + // New projects can safely leave this deprecation disabled. + // If upgrading, to opt-into the deprecated behavior, set this to true and then follow: + // https://deprecations.emberjs.com/id/ember-data-deprecate-store-extends-ember-object + // before upgrading to Ember Data 6.0 + DEPRECATE_STORE_EXTENDS_EMBER_OBJECT: false, }, }, - sourcemaps: { - enabled: true, - }, + // Add options here }); - if (process.platform !== 'win32') { - const { Webpack } = require('@embroider/webpack'); - - //const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); - return require('@embroider/compat').compatBuild(app, Webpack, { - staticAddonTestSupportTrees: true, - staticAddonTrees: true, - staticEmberSource: true, - staticHelpers: true, - staticComponents: true, - packagerOptions: { - webpackConfig: { - devtool: false, - resolve: { - fallback: { - crypto: require.resolve('crypto-browserify'), - stream: require.resolve('stream-browserify'), - }, - }, - }, - }, - }); - } else { - return app.toTree(); - } + return compatBuild(app, buildOnce); }; diff --git a/eslint.config.mjs b/eslint.config.mjs index 2b928b818..769042f86 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -26,17 +26,11 @@ const parserOptions = { js: { ecmaFeatures: { modules: true }, ecmaVersion: 'latest', - requireConfigFile: false, - babelOptions: { - plugins: [ - [ - '@babel/plugin-proposal-decorators', - { decoratorsBeforeExport: true }, - ], - ], - }, }, - ts: { projectService: true, tsconfigRootDir: import.meta.dirname }, + ts: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, }, }; @@ -52,35 +46,46 @@ export default ts.config( */ { ignores: [ - 'declarations/', + '.vite/**/*', + 'declarations/**/*', // ember-electron - 'electron-app/node_modules/', - 'electron-app/out/', - 'electron-app/ember-dist/', - 'electron-app/ember-test/', - 'electron-out/', + 'electron-app/node_modules/**/*', + 'electron-app/out/**/*', + 'electron-app/dist/**/*', + 'electron-out/**/*', // Sentry 'electron-app/sentry-symbols.js', - 'dist/', - 'node_modules/', - 'coverage/', - 'types/', + 'dist/**/*', + 'node_modules/**/*', + 'coverage/**/*', + 'types/**/*', '!**/.*', ], }, /** * https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options */ - { linterOptions: { reportUnusedDisableDirectives: 'error' } }, - { files: ['**/*.js'], languageOptions: { parser: babelParser } }, + { + linterOptions: { + reportUnusedDisableDirectives: 'error', + }, + }, + { + files: ['**/*.js'], + languageOptions: { + parser: babelParser, + }, + }, { files: ['**/*.{js,gjs}'], languageOptions: { parserOptions: parserOptions.esm.js, - globals: { ...globals.browser }, + globals: { + ...globals.browser, + }, }, }, { @@ -97,7 +102,12 @@ export default ts.config( 'ember/no-at-ember-render-modifiers': 'off', }, }, - { files: ['tests/**/*-test.{js,gjs,ts,gts}'], plugins: { qunit } }, + { + files: ['tests/**/*-test.{js,gjs,ts,gts}'], + plugins: { + qunit, + }, + }, /** * CJS node files */ @@ -106,7 +116,6 @@ export default ts.config( '**/*.cjs', 'config/**/*.js', 'electron-app/**/*.js', - 'tests/dummy/config/**/*.js', 'testem.js', 'testem*.js', 'index.js', @@ -116,12 +125,16 @@ export default ts.config( 'ember-cli-build.js', 'tailwind.config.js', ], - plugins: { n }, + plugins: { + n, + }, languageOptions: { sourceType: 'script', ecmaVersion: 'latest', - globals: { ...globals.node }, + globals: { + ...globals.node, + }, }, }, /** @@ -129,13 +142,17 @@ export default ts.config( */ { files: ['**/*.mjs'], - plugins: { n }, + plugins: { + n, + }, languageOptions: { sourceType: 'module', ecmaVersion: 'latest', parserOptions: parserOptions.esm.js, - globals: { ...globals.node }, + globals: { + ...globals.node, + }, }, }, ); diff --git a/electron-app/forge.config.js b/forge.config.ts similarity index 52% rename from electron-app/forge.config.js rename to forge.config.ts index 80a740d7d..b92e29f55 100644 --- a/electron-app/forge.config.js +++ b/forge.config.ts @@ -1,10 +1,18 @@ -module.exports = { +import { MakerDeb } from '@electron-forge/maker-deb'; +import { MakerDMG } from '@electron-forge/maker-dmg'; +import { MakerSquirrel } from '@electron-forge/maker-squirrel'; +import { MakerZIP } from '@electron-forge/maker-zip'; +import { FusesPlugin } from '@electron-forge/plugin-fuses'; +import { VitePlugin } from '@electron-forge/plugin-vite'; +import type { ForgeConfig } from '@electron-forge/shared-types'; +import { FuseV1Options, FuseVersion } from '@electron/fuses'; + +const config: ForgeConfig = { packagerConfig: { asar: true, - darwinDarkModeSupport: 'true', + darwinDarkModeSupport: true, icon: 'electron-app/resources/icon', name: 'Swach', - packageManager: 'pnpm', ignore: [ '/.gitignore', '/electron-forge-config.js', @@ -23,24 +31,20 @@ module.exports = { }, }, osxNotarize: { - tool: 'notarytool', - appleId: process.env['APPLE_ID'], - appleIdPassword: process.env['APPLE_ID_PASSWORD'], + appleId: process.env.APPLE_ID, + appleIdPassword: process.env.APPLE_ID_PASSWORD, teamId: '779MXKT6B5', }, protocols: [ { - protocol: 'swach', name: 'swach', - schemes: 'swach', + schemes: ['swach'], }, ], }, makers: [ - { - name: '@electron-forge/maker-deb', - platforms: ['linux'], - config: { + new MakerDeb( + { options: { bin: 'Swach', name: 'swach', @@ -52,18 +56,18 @@ module.exports = { icon: 'electron-app/resources/icon.png', }, }, - }, - { - name: '@electron-forge/maker-dmg', - platforms: ['darwin'], - config(arch) { + ['linux'] + ), + new MakerDMG( + (arch) => { return { name: arch === 'arm64' ? 'Swach-arm64' : 'Swach', background: 'electron-app/resources/installBackground.png', icon: 'electron-app/resources/dmg.icns', }; }, - }, + ['darwin'] + ), // { // name: '@electron-forge/maker-snap', // platforms: ['linux'], @@ -99,18 +103,48 @@ module.exports = { // type: 'app', // }, // }, - { - name: '@electron-forge/maker-squirrel', - config: { - name: 'Swach', - certificateFile: process.env['WINDOWS_PFX_FILE'], - certificatePassword: process.env['WINDOWS_PFX_PASSWORD'], - }, - }, - { - name: '@electron-forge/maker-zip', - platforms: ['darwin'], - }, + new MakerSquirrel({ + name: 'Swach', + certificateFile: process.env['WINDOWS_PFX_FILE'], + certificatePassword: process.env['WINDOWS_PFX_PASSWORD'], + }), + new MakerZIP({}, ['darwin']), + ], + plugins: [ + new VitePlugin({ + // `build` can specify multiple entry builds, which can be Main process, Preload scripts, Worker process, etc. + // If you are familiar with Vite configuration, it will look really familiar. + build: [ + { + // `entry` is just an alias for `build.lib.entry` in the corresponding file of `config`. + entry: 'electron-app/src/main.ts', + config: 'vite.main.config.ts', + target: 'main', + }, + { + entry: 'electron-app/src/preload.ts', + config: 'vite.preload.config.ts', + target: 'preload', + }, + ], + renderer: [ + { + name: 'main_window', + config: 'vite.renderer.config.ts', + }, + ], + }), + // Fuses are used to enable/disable various Electron functionality + // at package time, before code signing the application + new FusesPlugin({ + version: FuseVersion.V1, + [FuseV1Options.RunAsNode]: false, + [FuseV1Options.EnableCookieEncryption]: true, + [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, + [FuseV1Options.EnableNodeCliInspectArguments]: false, + [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, + [FuseV1Options.OnlyLoadAppFromAsar]: true, + }), ], // publishers: [ // { @@ -122,3 +156,5 @@ module.exports = { // }, // ], }; + +export default config; diff --git a/forge.env.d.ts b/forge.env.d.ts new file mode 100644 index 000000000..9700e0ae1 --- /dev/null +++ b/forge.env.d.ts @@ -0,0 +1 @@ +/// diff --git a/app/index.html b/index.html similarity index 52% rename from app/index.html rename to index.html index 7749b32af..e5d5474a5 100644 --- a/app/index.html +++ b/index.html @@ -8,16 +8,20 @@ {{content-for "head"}} - - + {{content-for "head-footer"}} {{content-for "body"}} - - + + {{content-for "body-footer"}} diff --git a/jsconfig.json b/jsconfig.json deleted file mode 100644 index 2a3c76258..000000000 --- a/jsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "experimentalDecorators": true - }, - "exclude": [ - "node_modules", - "dist", - "electron-app/ember-dist", - "electron-app/node_modules", - "electron-app/out" - ] -} diff --git a/package.json b/package.json index b2eb0a350..79a05c54e 100644 --- a/package.json +++ b/package.json @@ -10,12 +10,17 @@ "email": "rwwagner90@gmail.com", "url": "https://github.com/RobbieTheWagner" }, + "exports": { + "./tests/*": "./tests/*", + "./*": "./app/*" + }, + "main": ".vite/build/main.js", "directories": { "doc": "doc", "test": "tests" }, "scripts": { - "build": "ember build --environment=production", + "build": "vite build -c vite.renderer.config.ts", "format": "prettier . --cache --write", "lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto", "lint:css": "stylelint \"**/*.css\"", @@ -26,67 +31,104 @@ "lint:hbs:fix": "ember-template-lint . --fix", "lint:js": "eslint . --cache", "lint:js:fix": "eslint . --fix", - "lint:types": "glint", - "make": "ember electron:make", - "start": "ember serve", - "test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\" --prefixColors auto", - "test:electron": "ember electron:test", - "test:ember": "ember test" + "lint:types": "glint --build", + "make": "electron-forge make", + "package": "electron-forge package", + "publish": "electron-forge publish", + "start": "vite -c vite.renderer.config.ts", + "start:electron": "electron-forge start", + "test:electron": "vite build -c vite.renderer.config.ts --mode development && testem ci -f testem-electron.cjs", + "test:ember": "vite build -c vite.renderer.config.ts --mode development && testem ci" + }, + "dependencies": { + "@sentry/electron": "^4.24.0", + "electron-dl": "^3.5.2", + "electron-is-dev": "^2.0.0", + "electron-squirrel-startup": "^1.0.1", + "electron-store": "^8.2.0", + "indexeddb-export-import": "^2.1.5", + "menubar": "^9.5.2", + "throttle-debounce": "^5.0.2" }, "devDependencies": { - "@babel/core": "^7.28.3", - "@babel/eslint-parser": "^7.28.0", + "@babel/core": "^7.28.4", + "@babel/eslint-parser": "^7.28.4", "@babel/plugin-proposal-decorators": "^7.28.0", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-transform-runtime": "^7.28.3", "@babel/plugin-transform-typescript": "^7.28.0", "@babel/preset-env": "^7.28.3", - "@ctrl/tinycolor": "^4.1.0", + "@babel/runtime": "^7.28.4", + "@ctrl/tinycolor": "^4.2.0", + "@electron-forge/cli": "^7.10.2", + "@electron-forge/core": "^7.10.2", + "@electron-forge/maker-deb": "^7.10.2", + "@electron-forge/maker-dmg": "^7.10.2", + "@electron-forge/maker-snap": "^7.10.2", + "@electron-forge/maker-squirrel": "^7.10.2", + "@electron-forge/maker-zip": "^7.10.2", + "@electron-forge/plugin-auto-unpack-natives": "^7.10.2", + "@electron-forge/plugin-fuses": "^7.10.2", + "@electron-forge/plugin-vite": "^7.10.2", + "@electron-forge/publisher-snapcraft": "^7.10.2", + "@electron/fuses": "^1.8.0", + "@ember/app-tsconfig": "^1.0.3", "@ember/optional-features": "^2.2.0", "@ember/render-modifiers": "^3.0.0", - "@ember/string": "^3.1.1", - "@ember/test-helpers": "^5.2.2", - "@embroider/compat": "^3.9.1", - "@embroider/core": "^3.5.7", - "@embroider/macros": "^1.18.1", - "@embroider/webpack": "^3.2.3", - "@eslint/js": "^9.33.0", + "@ember/string": "^4.0.1", + "@ember/test-helpers": "^5.3.0", + "@embroider/compat": "^4.1.8", + "@embroider/config-meta-loader": "^1.0.0", + "@embroider/core": "^4.2.5", + "@embroider/macros": "^1.19.2", + "@embroider/router": "^3.0.4", + "@embroider/vite": "^1.3.4", + "@eslint/js": "^9.37.0", "@glimmer/component": "^2.0.0", "@glimmer/tracking": "^1.1.2", "@glint/core": "^1.5.2", "@glint/environment-ember-loose": "^1.5.2", "@glint/environment-ember-template-imports": "^1.5.2", - "@glint/template": "^1.5.2", - "@ianvs/prettier-plugin-sort-imports": "^4.6.2", + "@glint/template": "~1.5.0", + "@ianvs/prettier-plugin-sort-imports": "^4.7.0", "@irojs/iro-core": "^1.2.1", "@jaames/iro": "^5.5.2", - "@nullvoxpopuli/ember-composable-helpers": "^5.2.11", + "@nullvoxpopuli/ember-composable-helpers": "^5.3.0", "@orbit/coordinator": "^0.17.0", "@orbit/indexeddb": "^0.17.2", "@orbit/indexeddb-bucket": "0.17.0", "@orbit/jsonapi": "^0.17.1", + "@orbit/memory": "^0.17.2", "@orbit/records": "^0.17.0", "@orbit/serializers": "^0.17.0", "@orbit/utils": "^0.17.0", "@release-it-plugins/lerna-changelog": "^6.1.0", "@release-it-plugins/workspaces": "^4.2.1", + "@rollup/plugin-babel": "^6.1.0", + "@sentry/cli": "^2.56.1", "@sentry/ember": "^7.120.4", "@tailwindcss/forms": "^0.5.10", + "@tailwindcss/vite": "^4.1.14", "@tsconfig/ember": "^3.0.11", + "@types/electron-squirrel-startup": "^1.0.2", "@types/ember": "^4.0.11", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.17.2", + "@types/node": "^22.18.11", "@types/qunit": "^2.19.13", "@types/sinon": "^17.0.4", "aws4fetch": "^1.0.20", + "babel-plugin-ember-template-compilation": "^2.4.1", "babel-preset-env": "^1.7.0", "broccoli-asset-rev": "^3.0.0", - "color-name-list": "^10.28.1", - "concurrently": "^9.2.0", - "crypto-browserify": "^3.12.1", + "color-name-list": "^13.1.0", + "concurrently": "^9.2.1", + "decorator-transforms": "^2.3.0", + "electron": "^37.7.0", + "electron-download": "^4.1.1", "ember-animated": "^2.2.0", "ember-animated-tools": "^2.0.0", - "ember-auto-import": "^2.10.0", - "ember-cli": "~6.4.0", + "ember-auto-import": "^2.11.1", + "ember-cli": "^6.7.2", "ember-cli-app-version": "^7.0.0", "ember-cli-babel": "^8.2.0", "ember-cli-clean-css": "^3.0.0", @@ -96,44 +138,41 @@ "ember-cli-flash": "^5.1.0", "ember-cli-htmlbars": "^6.3.0", "ember-cli-inject-live-reload": "^2.1.0", - "ember-cli-postcss": "^8.2.0", "ember-cli-sri": "^2.1.1", "ember-cli-terser": "^4.0.2", "ember-click-outside": "^6.1.1", - "ember-cognito": "^2.0.0", + "ember-cognito": "^3.0.1", "ember-css-transitions": "^4.5.0", "ember-decorators": "^6.1.1", - "ember-drag-sort": "^3.0.1", - "ember-electron": "^7.0.0", + "ember-drag-sort": "^4.1.1", "ember-element-helper": "^0.8.8", "ember-event-helpers": "^0.1.1", - "ember-fetch": "^8.1.2", - "ember-inflector": "^4.0.3", + "ember-inflector": "^6.0.0", "ember-inputmask": "^2.0.0", "ember-load-initializers": "^3.0.1", "ember-local-storage": "2.0.6", "ember-math-helpers": "^5.0.0", "ember-modifier": "^4.2.2", - "ember-orbit": "^0.17.3", - "ember-qunit": "^9.0.3", + "ember-orbit": "^0.20.0", + "ember-qunit": "^9.0.4", "ember-resolver": "^13.1.1", "ember-route-template": "^1.0.3", "ember-set-body-class": "^1.0.2", - "ember-set-helper": "^3.0.1", - "ember-simple-auth": "^8.0.0", + "ember-set-helper": "^3.1.0", + "ember-simple-auth": "^8.0.1", "ember-sinon-qunit": "^7.5.0", "ember-source": "^5.12.0", - "ember-svg-jar": "^2.6.3", + "ember-svg-jar": "^2.7.0", "ember-template-imports": "^4.3.0", "ember-template-lint": "^7.9.3", "ember-test-selectors": "^6.0.0", "ember-truth-helpers": "^4.0.3", - "eslint": "^9.33.0", - "eslint-config-prettier": "^9.1.2", - "eslint-plugin-ember": "^12.7.0", - "eslint-plugin-n": "^17.21.3", + "eslint": "^9.37.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-ember": "^12.7.4", + "eslint-plugin-n": "^17.23.1", "eslint-plugin-qunit": "^8.2.5", - "globals": "^15.15.0", + "globals": "^16.4.0", "indexeddb-export-import": "^2.1.5", "loader.js": "^4.7.0", "nearest-color": "^0.4.4", @@ -141,25 +180,26 @@ "postcss-import": "^16.1.1", "prettier": "^3.6.2", "prettier-plugin-ember-template-tag": "^2.1.0", - "qunit": "^2.24.1", - "qunit-dom": "^3.4.0", + "qunit": "^2.24.2", + "qunit-dom": "^3.5.0", "release-it": "^16.3.0", "sinon": "^17.0.1", - "stream-browserify": "^3.0.0", - "stylelint": "^16.23.1", + "stylelint": "^16.25.0", "stylelint-config-standard": "^38.0.0", - "tailwindcss": "^3.4.17", + "tailwindcss": "^4.1.14", "throttle-debounce": "^5.0.2", "tracked-built-ins": "^3.4.0", - "typescript": "^5.9.2", - "typescript-eslint": "^8.39.1", - "wcag-contrast": "^3.0.0", - "webpack": "^5.101.2" + "tree-kill": "^1.2.2", + "typescript": "^5.9.3", + "typescript-eslint": "^8.46.1", + "vite": "^7.1.10", + "vite-plugin-testem-electron": "^1.0.2", + "wcag-contrast": "^3.0.0" }, - "packageManager": "pnpm@10.11.0", + "packageManager": "pnpm@10.18.2", "engines": { "node": ">= 20", - "pnpm": "^10.11.0" + "pnpm": "^10.18.2" }, "publishConfig": { "registry": "https://registry.npmjs.org" @@ -167,6 +207,28 @@ "ember": { "edition": "octane" }, + "pnpm": { + "overrides": { + "@ember/string": "^4.0.1" + }, + "patchedDependencies": { + "ember-local-storage": "patches/ember-local-storage.patch", + "menubar": "patches/menubar.patch", + "object-inspect": "patches/object-inspect.patch" + }, + "onlyBuiltDependencies": [ + "@parcel/watcher", + "@sentry/cli", + "@tailwindcss/oxide", + "core-js", + "electron", + "electron-winstaller", + "esbuild", + "fs-xattr", + "fsevents", + "macos-alias" + ] + }, "release-it": { "plugins": { "@release-it-plugins/workspaces": { diff --git a/patches/ember-local-storage.patch b/patches/ember-local-storage.patch new file mode 100644 index 000000000..83d661295 --- /dev/null +++ b/patches/ember-local-storage.patch @@ -0,0 +1,19 @@ +diff --git a/addon/helpers/storage.js b/addon/helpers/storage.js +index b5137d36583137bf11154462af08195923e7ebab..fa9e92c8084de95a6690c52e82f991c36c62a998 100644 +--- a/addon/helpers/storage.js ++++ b/addon/helpers/storage.js +@@ -1,7 +1,13 @@ + import { assert } from '@ember/debug'; + import EmberObject, { computed, get } from '@ember/object'; + import { getOwner } from '@ember/application'; +-import { dasherize } from '@ember/string'; ++ ++function dasherize(str) { ++ return str ++ .replace(/([a-z\d])([A-Z])/g, '$1-$2') // Add a dash between lowercase and uppercase letters ++ .replace(/[_\s]+/g, '-') // Replace underscores or spaces with dashes ++ .toLowerCase(); // Convert the string to lowercase ++} + + const storage = {}; + diff --git a/patches/object-inspect.patch b/patches/object-inspect.patch new file mode 100644 index 000000000..abf74cd1a --- /dev/null +++ b/patches/object-inspect.patch @@ -0,0 +1,27 @@ +diff --git a/index.js b/index.js +index a4b2d4cd850adb5cda64eb9e5692457a73c0947e..82f0135560d38591d3a9d0bd8277f648f28eaa72 100644 +--- a/index.js ++++ b/index.js +@@ -65,8 +65,8 @@ function addNumericSeparator(num, str) { + return $replace.call(str, sepRegex, '$&_'); + } + +-var utilInspect = require('./util.inspect'); +-var inspectCustom = utilInspect.custom; ++var utilInspect = require('./util.inspect.js'); ++var inspectCustom = utilInspect?.custom; + var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; + + var quotes = { +diff --git a/test/inspect.js b/test/inspect.js +index 1abf81b1f00b305519e52fe74477b2c5b71803c7..538b54e01376f43860763d0f34afd99d3c72e85d 100644 +--- a/test/inspect.js ++++ b/test/inspect.js +@@ -1,6 +1,6 @@ + var test = require('tape'); + var hasSymbols = require('has-symbols/shams')(); +-var utilInspect = require('../util.inspect'); ++var utilInspect = require('../util.inspect.js'); + var repeat = require('string.prototype.repeat'); + + var inspect = require('..'); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 903faaba8..302feb144 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,63 +4,148 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@ember/string': ^4.0.1 + patchedDependencies: + ember-local-storage: + hash: 7a283711fa827de035fc3cc2ebe13c451ddf557492e8b185e99f915713c95f06 + path: patches/ember-local-storage.patch menubar: hash: 36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d path: patches/menubar.patch + object-inspect: + hash: 07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943 + path: patches/object-inspect.patch importers: .: + dependencies: + '@sentry/electron': + specifier: ^4.24.0 + version: 4.24.0 + electron-dl: + specifier: ^3.5.2 + version: 3.5.2 + electron-is-dev: + specifier: ^2.0.0 + version: 2.0.0 + electron-squirrel-startup: + specifier: ^1.0.1 + version: 1.0.1 + electron-store: + specifier: ^8.2.0 + version: 8.2.0 + indexeddb-export-import: + specifier: ^2.1.5 + version: 2.1.5 + menubar: + specifier: ^9.5.2 + version: 9.5.2(patch_hash=36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d)(electron@37.7.0) + throttle-debounce: + specifier: ^5.0.2 + version: 5.0.2 devDependencies: '@babel/core': - specifier: ^7.28.3 - version: 7.28.3(supports-color@8.1.1) + specifier: ^7.28.4 + version: 7.28.4 '@babel/eslint-parser': - specifier: ^7.28.0 - version: 7.28.0(@babel/core@7.28.3)(eslint@9.33.0(jiti@2.5.1)) + specifier: ^7.28.4 + version: 7.28.4(@babel/core@7.28.4)(eslint@9.37.0(jiti@2.6.1)) '@babel/plugin-proposal-decorators': specifier: ^7.28.0 - version: 7.28.0(@babel/core@7.28.3) + version: 7.28.0(@babel/core@7.28.4) '@babel/plugin-proposal-object-rest-spread': specifier: ^7.20.7 - version: 7.20.7(@babel/core@7.28.3) + version: 7.20.7(@babel/core@7.28.4) + '@babel/plugin-transform-runtime': + specifier: ^7.28.3 + version: 7.28.3(@babel/core@7.28.4) '@babel/plugin-transform-typescript': specifier: ^7.28.0 - version: 7.28.0(@babel/core@7.28.3) + version: 7.28.0(@babel/core@7.28.4) '@babel/preset-env': specifier: ^7.28.3 - version: 7.28.3(@babel/core@7.28.3) + version: 7.28.3(@babel/core@7.28.4) + '@babel/runtime': + specifier: ^7.28.4 + version: 7.28.4 '@ctrl/tinycolor': - specifier: ^4.1.0 - version: 4.1.0 + specifier: ^4.2.0 + version: 4.2.0 + '@electron-forge/cli': + specifier: ^7.10.2 + version: 7.10.2(encoding@0.1.13) + '@electron-forge/core': + specifier: ^7.10.2 + version: 7.10.2(encoding@0.1.13) + '@electron-forge/maker-deb': + specifier: ^7.10.2 + version: 7.10.2 + '@electron-forge/maker-dmg': + specifier: ^7.10.2 + version: 7.10.2 + '@electron-forge/maker-snap': + specifier: ^7.10.2 + version: 7.10.2 + '@electron-forge/maker-squirrel': + specifier: ^7.10.2 + version: 7.10.2 + '@electron-forge/maker-zip': + specifier: ^7.10.2 + version: 7.10.2 + '@electron-forge/plugin-auto-unpack-natives': + specifier: ^7.10.2 + version: 7.10.2 + '@electron-forge/plugin-fuses': + specifier: ^7.10.2 + version: 7.10.2(@electron/fuses@1.8.0) + '@electron-forge/plugin-vite': + specifier: ^7.10.2 + version: 7.10.2 + '@electron-forge/publisher-snapcraft': + specifier: ^7.10.2 + version: 7.10.2 + '@electron/fuses': + specifier: ^1.8.0 + version: 1.8.0 + '@ember/app-tsconfig': + specifier: ^1.0.3 + version: 1.0.3 '@ember/optional-features': specifier: ^2.2.0 version: 2.2.0 '@ember/render-modifiers': specifier: ^3.0.0 - version: 3.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + version: 3.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) '@ember/string': - specifier: ^3.1.1 - version: 3.1.1 + specifier: ^4.0.1 + version: 4.0.1 '@ember/test-helpers': - specifier: ^5.2.2 - version: 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) + specifier: ^5.3.0 + version: 5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2) '@embroider/compat': - specifier: ^3.9.1 - version: 3.9.1(@embroider/core@3.5.7(@glint/template@1.5.2))(@glint/template@1.5.2) + specifier: ^4.1.8 + version: 4.1.8(@embroider/core@4.2.5(@glint/template@1.5.2))(@glint/template@1.5.2) + '@embroider/config-meta-loader': + specifier: ^1.0.0 + version: 1.0.0 '@embroider/core': - specifier: ^3.5.7 - version: 3.5.7(@glint/template@1.5.2) + specifier: ^4.2.5 + version: 4.2.5(@glint/template@1.5.2) '@embroider/macros': - specifier: ^1.18.1 - version: 1.18.1(@glint/template@1.5.2) - '@embroider/webpack': - specifier: ^3.2.3 - version: 3.2.3(@embroider/core@3.5.7(@glint/template@1.5.2))(webpack@5.101.2) + specifier: ^1.19.2 + version: 1.19.2(@glint/template@1.5.2) + '@embroider/router': + specifier: ^3.0.4 + version: 3.0.4(@embroider/core@4.2.5(@glint/template@1.5.2))(@glint/template@1.5.2) + '@embroider/vite': + specifier: ^1.3.4 + version: 1.3.4(@embroider/core@4.2.5(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.52.4)(vite@7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)) '@eslint/js': - specifier: ^9.33.0 - version: 9.33.0 + specifier: ^9.37.0 + version: 9.37.0 '@glimmer/component': specifier: ^2.0.0 version: 2.0.0 @@ -69,19 +154,19 @@ importers: version: 1.1.2 '@glint/core': specifier: ^1.5.2 - version: 1.5.2(typescript@5.9.2) + version: 1.5.2(typescript@5.9.3) '@glint/environment-ember-loose': specifier: ^1.5.2 - version: 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.3))(@types/ember__component@4.0.22(@babel/core@7.28.3))(@types/ember__controller@4.0.12(@babel/core@7.28.3))(@types/ember__object@4.0.12(@babel/core@7.28.3))(@types/ember__routing@4.0.22(@babel/core@7.28.3))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.3)) + version: 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.4))(@types/ember__component@4.0.22(@babel/core@7.28.4))(@types/ember__controller@4.0.12(@babel/core@7.28.4))(@types/ember__object@4.0.12(@babel/core@7.28.4))(@types/ember__routing@4.0.23(@babel/core@7.28.4))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.4)) '@glint/environment-ember-template-imports': specifier: ^1.5.2 - version: 1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.3))(@types/ember__component@4.0.22(@babel/core@7.28.3))(@types/ember__controller@4.0.12(@babel/core@7.28.3))(@types/ember__object@4.0.12(@babel/core@7.28.3))(@types/ember__routing@4.0.22(@babel/core@7.28.3))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.3)))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.28.3))(@types/ember__routing@4.0.22(@babel/core@7.28.3)) + version: 1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.4))(@types/ember__component@4.0.22(@babel/core@7.28.4))(@types/ember__controller@4.0.12(@babel/core@7.28.4))(@types/ember__object@4.0.12(@babel/core@7.28.4))(@types/ember__routing@4.0.23(@babel/core@7.28.4))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.4)))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.28.4))(@types/ember__routing@4.0.23(@babel/core@7.28.4)) '@glint/template': - specifier: ^1.5.2 + specifier: ~1.5.0 version: 1.5.2 '@ianvs/prettier-plugin-sort-imports': - specifier: ^4.6.2 - version: 4.6.2(content-tag@4.0.0)(prettier-plugin-ember-template-tag@2.1.0(prettier@3.6.2))(prettier@3.6.2) + specifier: ^4.7.0 + version: 4.7.0(content-tag@4.0.0)(prettier-plugin-ember-template-tag@2.1.0(prettier@3.6.2))(prettier@3.6.2) '@irojs/iro-core': specifier: ^1.2.1 version: 1.2.1 @@ -89,8 +174,8 @@ importers: specifier: ^5.5.2 version: 5.5.2 '@nullvoxpopuli/ember-composable-helpers': - specifier: ^5.2.11 - version: 5.2.11(@babel/core@7.28.3)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + specifier: ^5.3.0 + version: 5.3.0(@babel/core@7.28.4) '@orbit/coordinator': specifier: ^0.17.0 version: 0.17.0 @@ -103,6 +188,9 @@ importers: '@orbit/jsonapi': specifier: ^0.17.1 version: 0.17.1 + '@orbit/memory': + specifier: ^0.17.2 + version: 0.17.2 '@orbit/records': specifier: ^0.17.0 version: 0.17.0 @@ -114,28 +202,40 @@ importers: version: 0.17.0 '@release-it-plugins/lerna-changelog': specifier: ^6.1.0 - version: 6.1.0(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.2)) + version: 6.1.0(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.3)) '@release-it-plugins/workspaces': specifier: ^4.2.1 - version: 4.2.1(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.2)) + version: 4.2.1(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.3)) + '@rollup/plugin-babel': + specifier: ^6.1.0 + version: 6.1.0(@babel/core@7.28.4)(@types/babel__core@7.20.5)(rollup@4.52.4) + '@sentry/cli': + specifier: ^2.56.1 + version: 2.56.1(encoding@0.1.13) '@sentry/ember': specifier: ^7.120.4 - version: 7.120.4(@glint/template@1.5.2)(webpack@5.101.2) + version: 7.120.4(@glint/template@1.5.2)(webpack@5.102.1) '@tailwindcss/forms': specifier: ^0.5.10 - version: 0.5.10(tailwindcss@3.4.17) + version: 0.5.10(tailwindcss@4.1.14) + '@tailwindcss/vite': + specifier: ^4.1.14 + version: 4.1.14(vite@7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)) '@tsconfig/ember': specifier: ^3.0.11 version: 3.0.11 + '@types/electron-squirrel-startup': + specifier: ^1.0.2 + version: 1.0.2 '@types/ember': specifier: ^4.0.11 - version: 4.0.11(@babel/core@7.28.3) + version: 4.0.11(@babel/core@7.28.4) '@types/eslint__js': specifier: ^8.42.3 version: 8.42.3 '@types/node': - specifier: ^22.17.2 - version: 22.17.2 + specifier: ^22.18.11 + version: 22.18.11 '@types/qunit': specifier: ^2.19.13 version: 2.19.13 @@ -145,39 +245,48 @@ importers: aws4fetch: specifier: ^1.0.20 version: 1.0.20 + babel-plugin-ember-template-compilation: + specifier: ^2.4.1 + version: 2.4.1 babel-preset-env: specifier: ^1.7.0 - version: 1.7.0(supports-color@8.1.1) + version: 1.7.0 broccoli-asset-rev: specifier: ^3.0.0 version: 3.0.0 color-name-list: - specifier: ^10.28.1 - version: 10.28.1 + specifier: ^13.1.0 + version: 13.1.0 concurrently: - specifier: ^9.2.0 - version: 9.2.0 - crypto-browserify: - specifier: ^3.12.1 - version: 3.12.1 + specifier: ^9.2.1 + version: 9.2.1 + decorator-transforms: + specifier: ^2.3.0 + version: 2.3.0(@babel/core@7.28.4) + electron: + specifier: ^37.7.0 + version: 37.7.0 + electron-download: + specifier: ^4.1.1 + version: 4.1.1 ember-animated: specifier: ^2.2.0 - version: 2.2.0(@babel/core@7.28.3)(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2) + version: 2.2.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2) ember-animated-tools: specifier: ^2.0.0 - version: 2.0.0(@babel/core@7.28.3)(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2) + version: 2.0.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2) ember-auto-import: - specifier: ^2.10.0 - version: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) + specifier: ^2.11.1 + version: 2.11.1(@glint/template@1.5.2)(webpack@5.102.1) ember-cli: - specifier: ~6.4.0 - version: 6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7) + specifier: ^6.7.2 + version: 6.8.0(@types/node@22.18.11)(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7) ember-cli-app-version: specifier: ^7.0.0 - version: 7.0.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + version: 7.0.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) ember-cli-babel: specifier: ^8.2.0 - version: 8.2.0(@babel/core@7.28.3) + version: 8.2.0(@babel/core@7.28.4) ember-cli-clean-css: specifier: ^3.0.0 version: 3.0.0 @@ -186,22 +295,19 @@ importers: version: 2.0.3 ember-cli-dependency-checker: specifier: ^3.3.3 - version: 3.3.3(ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)) + version: 3.3.3(ember-cli@6.8.0(@types/node@22.18.11)(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)) ember-cli-deprecation-workflow: specifier: ^3.4.0 - version: 3.4.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + version: 3.4.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) ember-cli-flash: specifier: ^5.1.0 - version: 5.1.0(@ember/string@3.1.1)(@embroider/macros@1.18.1(@glint/template@1.5.2))(ember-modifier@4.2.2(@babel/core@7.28.3)) + version: 5.1.0(@ember/string@4.0.1)(@embroider/macros@1.19.2(@glint/template@1.5.2))(ember-modifier@4.2.2(@babel/core@7.28.4)) ember-cli-htmlbars: specifier: ^6.3.0 version: 6.3.0 ember-cli-inject-live-reload: specifier: ^2.1.0 version: 2.1.0 - ember-cli-postcss: - specifier: ^8.2.0 - version: 8.2.0 ember-cli-sri: specifier: ^2.1.1 version: 2.1.1 @@ -210,55 +316,49 @@ importers: version: 4.0.2 ember-click-outside: specifier: ^6.1.1 - version: 6.1.1(@babel/core@7.28.3) + version: 6.1.1(@babel/core@7.28.4) ember-cognito: - specifier: ^2.0.0 - version: 2.0.0(@glint/template@1.5.2)(ember-simple-auth@8.0.0(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)))(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))(webpack@5.101.2) + specifier: ^3.0.1 + version: 3.0.1(@glint/template@1.5.2)(ember-simple-auth@8.0.1(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))(webpack@5.102.1) ember-css-transitions: specifier: ^4.5.0 - version: 4.5.0(@babel/core@7.28.3)(@glint/template@1.5.2) + version: 4.5.0(@babel/core@7.28.4)(@glint/template@1.5.2) ember-decorators: specifier: ^6.1.1 version: 6.1.1 ember-drag-sort: - specifier: ^3.0.1 - version: 3.0.1 - ember-electron: - specifier: ^7.0.0 - version: 7.0.0(ember-cli-dependency-checker@3.3.3(ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)))(ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(encoding@0.1.13) + specifier: ^4.1.1 + version: 4.1.1(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(webpack@5.102.1) ember-element-helper: specifier: ^0.8.8 version: 0.8.8 ember-event-helpers: specifier: ^0.1.1 version: 0.1.1 - ember-fetch: - specifier: ^8.1.2 - version: 8.1.2(encoding@0.1.13) ember-inflector: - specifier: ^4.0.3 - version: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + specifier: ^6.0.0 + version: 6.0.0(@babel/core@7.28.4) ember-inputmask: specifier: ^2.0.0 - version: 2.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(webpack@5.101.2) + version: 2.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(webpack@5.102.1) ember-load-initializers: specifier: ^3.0.1 - version: 3.0.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + version: 3.0.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) ember-local-storage: specifier: 2.0.6 - version: 2.0.6 + version: 2.0.6(patch_hash=7a283711fa827de035fc3cc2ebe13c451ddf557492e8b185e99f915713c95f06) ember-math-helpers: specifier: ^5.0.0 - version: 5.0.0(@babel/core@7.28.3)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + version: 5.0.0(@babel/core@7.28.4)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) ember-modifier: specifier: ^4.2.2 - version: 4.2.2(@babel/core@7.28.3) + version: 4.2.2(@babel/core@7.28.4) ember-orbit: - specifier: ^0.17.3 - version: 0.17.3(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(webpack@5.101.2) + specifier: ^0.20.0 + version: 0.20.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@ember/test-waiters@4.1.1(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-modifier@4.2.2(@babel/core@7.28.4))(ember-resources@7.0.7(@glimmer/component@2.0.0)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) ember-qunit: - specifier: ^9.0.3 - version: 9.0.3(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.1) + specifier: ^9.0.4 + version: 9.0.4(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.2) ember-resolver: specifier: ^13.1.1 version: 13.1.1 @@ -269,20 +369,20 @@ importers: specifier: ^1.0.2 version: 1.0.2 ember-set-helper: - specifier: ^3.0.1 - version: 3.0.1(@babel/core@7.28.3) + specifier: ^3.1.0 + version: 3.1.0(@babel/core@7.28.4) ember-simple-auth: - specifier: ^8.0.0 - version: 8.0.0(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + specifier: ^8.0.1 + version: 8.0.1(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) ember-sinon-qunit: specifier: ^7.5.0 - version: 7.5.0(@babel/core@7.28.3)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(qunit@2.24.1)(sinon@17.0.1) + version: 7.5.0(@babel/core@7.28.4)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(qunit@2.24.2)(sinon@17.0.1) ember-source: specifier: ^5.12.0 - version: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + version: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) ember-svg-jar: - specifier: ^2.6.3 - version: 2.6.3(@glint/template@1.5.2) + specifier: ^2.7.0 + version: 2.7.0(@glint/template@1.5.2) ember-template-imports: specifier: ^4.3.0 version: 4.3.0 @@ -294,28 +394,25 @@ importers: version: 6.0.0 ember-truth-helpers: specifier: ^4.0.3 - version: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + version: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) eslint: - specifier: ^9.33.0 - version: 9.33.0(jiti@2.5.1) + specifier: ^9.37.0 + version: 9.37.0(jiti@2.6.1) eslint-config-prettier: - specifier: ^9.1.2 - version: 9.1.2(eslint@9.33.0(jiti@2.5.1)) + specifier: ^10.1.8 + version: 10.1.8(eslint@9.37.0(jiti@2.6.1)) eslint-plugin-ember: - specifier: ^12.7.0 - version: 12.7.0(@babel/core@7.28.3)(@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ^12.7.4 + version: 12.7.4(@babel/core@7.28.4)(@typescript-eslint/parser@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-n: - specifier: ^17.21.3 - version: 17.21.3(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ^17.23.1 + version: 17.23.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-qunit: specifier: ^8.2.5 - version: 8.2.5(eslint@9.33.0(jiti@2.5.1)) + version: 8.2.5(eslint@9.37.0(jiti@2.6.1)) globals: - specifier: ^15.15.0 - version: 15.15.0 - indexeddb-export-import: - specifier: ^2.1.5 - version: 2.1.5 + specifier: ^16.4.0 + version: 16.4.0 loader.js: specifier: ^4.7.0 version: 4.7.0 @@ -335,122 +432,50 @@ importers: specifier: ^2.1.0 version: 2.1.0(prettier@3.6.2) qunit: - specifier: ^2.24.1 - version: 2.24.1 + specifier: ^2.24.2 + version: 2.24.2 qunit-dom: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^3.5.0 + version: 3.5.0 release-it: specifier: ^16.3.0 - version: 16.3.0(encoding@0.1.13)(typescript@5.9.2) + version: 16.3.0(encoding@0.1.13)(typescript@5.9.3) sinon: specifier: ^17.0.1 version: 17.0.1 - stream-browserify: - specifier: ^3.0.0 - version: 3.0.0 stylelint: - specifier: ^16.23.1 - version: 16.23.1(typescript@5.9.2) + specifier: ^16.25.0 + version: 16.25.0(typescript@5.9.3) stylelint-config-standard: specifier: ^38.0.0 - version: 38.0.0(stylelint@16.23.1(typescript@5.9.2)) + version: 38.0.0(stylelint@16.25.0(typescript@5.9.3)) tailwindcss: - specifier: ^3.4.17 - version: 3.4.17 - throttle-debounce: - specifier: ^5.0.2 - version: 5.0.2 + specifier: ^4.1.14 + version: 4.1.14 tracked-built-ins: specifier: ^3.4.0 - version: 3.4.0(@babel/core@7.28.3) + version: 3.4.0(@babel/core@7.28.4) + tree-kill: + specifier: ^1.2.2 + version: 1.2.2 typescript: - specifier: ^5.9.2 - version: 5.9.2 + specifier: ^5.9.3 + version: 5.9.3 typescript-eslint: - specifier: ^8.39.1 - version: 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ^8.46.1 + version: 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + vite: + specifier: ^7.1.10 + version: 7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1) + vite-plugin-testem-electron: + specifier: ^1.0.2 + version: 1.0.2(electron@37.7.0)(vite@7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)) wcag-contrast: specifier: ^3.0.0 version: 3.0.0 - webpack: - specifier: ^5.101.2 - version: 5.101.2 - - electron-app: - dependencies: - '@sentry/electron': - specifier: ^4.24.0 - version: 4.24.0 - electron-dl: - specifier: ^3.5.2 - version: 3.5.2 - electron-is-dev: - specifier: ^2.0.0 - version: 2.0.0 - electron-squirrel-startup: - specifier: ^1.0.1 - version: 1.0.1 - electron-store: - specifier: ^8.2.0 - version: 8.2.0 - indexeddb-export-import: - specifier: ^2.1.5 - version: 2.1.5 - menubar: - specifier: ^9.5.1 - version: 9.5.1(patch_hash=36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d)(electron@33.4.11) - throttle-debounce: - specifier: ^5.0.2 - version: 5.0.2 - devDependencies: - '@electron-forge/cli': - specifier: ^7.8.3 - version: 7.8.3(encoding@0.1.13) - '@electron-forge/core': - specifier: ^7.8.3 - version: 7.8.3(encoding@0.1.13) - '@electron-forge/maker-deb': - specifier: ^7.8.3 - version: 7.8.3 - '@electron-forge/maker-dmg': - specifier: ^7.8.3 - version: 7.8.3 - '@electron-forge/maker-snap': - specifier: ^7.8.3 - version: 7.8.3 - '@electron-forge/maker-squirrel': - specifier: ^7.8.3 - version: 7.8.3 - '@electron-forge/maker-zip': - specifier: ^7.8.3 - version: 7.8.3 - '@electron-forge/publisher-snapcraft': - specifier: ^7.8.3 - version: 7.8.3 - '@sentry/cli': - specifier: ^2.51.1 - version: 2.52.0(encoding@0.1.13) - electron: - specifier: ^33.4.11 - version: 33.4.11 - electron-debug: - specifier: ^3.2.0 - version: 3.2.0 - electron-download: - specifier: ^4.1.1 - version: 4.1.1 packages: - '@alloc/quick-lru@5.2.0': - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} - engines: {node: '>=10'} - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - '@asamuzakjp/css-color@3.2.0': resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} @@ -644,8 +669,8 @@ packages: resolution: {integrity: sha512-pzsGOHtU2eGca4NJgFg94lLaeXDOg8pcS9sVt4f9LmtUGbrqRveeyBv0XlkHeZW2n0IZBssPHipVYQFlk7iaRA==} engines: {node: '>= 10.0.0'} - '@aws-sdk/util-locate-window@3.804.0': - resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} + '@aws-sdk/util-locate-window@3.893.0': + resolution: {integrity: sha512-T89pFfgat6c8nMmpI8eKjBcDcgJq36+m9oiXbcUzeU55MP9ZuGgBomGjGnHaEyF36jenW9gmg3NfZDm0AO2XPg==} engines: {node: '>=18.0.0'} '@aws-sdk/util-uri-escape@3.6.1': @@ -673,16 +698,16 @@ packages: resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.0': - resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + '@babel/compat-data@7.28.4': + resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.3': - resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} engines: {node: '>=6.9.0'} - '@babel/eslint-parser@7.28.0': - resolution: {integrity: sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w==} + '@babel/eslint-parser@7.28.4': + resolution: {integrity: sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 @@ -775,12 +800,12 @@ packages: resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.3': - resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.3': - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true @@ -986,8 +1011,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.0': - resolution: {integrity: sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==} + '@babel/plugin-transform-block-scoping@7.28.4': + resolution: {integrity: sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1004,8 +1029,8 @@ packages: peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.28.3': - resolution: {integrity: sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==} + '@babel/plugin-transform-classes@7.28.4': + resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1148,8 +1173,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.28.0': - resolution: {integrity: sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==} + '@babel/plugin-transform-object-rest-spread@7.28.4': + resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1196,8 +1221,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.28.3': - resolution: {integrity: sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==} + '@babel/plugin-transform-regenerator@7.28.4': + resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1303,29 +1328,38 @@ packages: '@babel/runtime@7.12.18': resolution: {integrity: sha512-BogPQ7ciE6SYAUPtlm9tWbgI9+2AgqSam6QivMgXgAT+fKbgppaj4ZX15MHeLC1PVF5sNk70huBu20XxWOs8Cg==} - '@babel/runtime@7.28.3': - resolution: {integrity: sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==} + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.3': - resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} + '@cacheable/memoize@2.0.3': + resolution: {integrity: sha512-hl9wfQgpiydhQEIv7fkjEzTGE+tcosCXLKFDO707wYJ/78FVOlowb36djex5GdbSyeHnG62pomYLMuV/OT8Pbw==} + + '@cacheable/memory@2.0.3': + resolution: {integrity: sha512-R3UKy/CKOyb1LZG/VRCTMcpiMDyLH7SH3JrraRdK6kf3GweWCOU3sgvE13W3TiDRbxnDKylzKJvhUAvWl9LQOA==} + + '@cacheable/utils@2.1.0': + resolution: {integrity: sha512-ZdxfOiaarMqMj+H7qwlt5EBKWaeGihSYVHdQv5lUsbn8MJJOTW82OIwirQ39U5tMZkNvy3bQE+ryzC+xTAb9/g==} + '@cnakazawa/watch@1.0.4': resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} engines: {node: '>=0.1.95'} hasBin: true - '@csstools/color-helpers@5.0.2': - resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} engines: {node: '>=18'} '@csstools/css-calc@2.1.4': @@ -1335,8 +1369,8 @@ packages: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-color-parser@3.0.10': - resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==} + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} engines: {node: '>=18'} peerDependencies: '@csstools/css-parser-algorithms': ^3.0.5 @@ -1365,88 +1399,102 @@ packages: peerDependencies: postcss-selector-parser: ^7.0.0 - '@ctrl/tinycolor@4.1.0': - resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} + '@ctrl/tinycolor@4.2.0': + resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} engines: {node: '>=14'} - '@dual-bundle/import-meta-resolve@4.1.0': - resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} + '@dual-bundle/import-meta-resolve@4.2.1': + resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==} - '@electron-forge/cli@7.8.3': - resolution: {integrity: sha512-BSAjGGfVf0yp3NQhXYmyCw9T//YCQHuktMv4HXfDVfo7AoV6DA1oEhqldI4Q7aHKeRob5+yBkvRRYPiu5ayCPw==} + '@electron-forge/cli@7.10.2': + resolution: {integrity: sha512-X1RtS5IqNgzGDS2rr1q0Y74wU/m3DbU4vSgllNun1ZQv1BfMpDcKLhnKi3aeetoA0huLTpMVU9eWJ7bziI9fxA==} engines: {node: '>= 16.4.0'} hasBin: true - '@electron-forge/core-utils@7.8.3': - resolution: {integrity: sha512-8jhK7AvUKEqDyTMMuRhvS1TkE73YEnHYAxVvkJq35e1KdCwGbGnSRhaEs7OOqRfkKxfepdJ7BMKFSoKFeP+z0Q==} + '@electron-forge/core-utils@7.10.2': + resolution: {integrity: sha512-JXrk2hWR4q8KgZFABpojjuqql3tYeVIH6qmtbkNEkZEQq7YIxajJBCct7J7bWfNQTmHotsQ3k5KLknhyhTaBMw==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/core@7.10.2': + resolution: {integrity: sha512-HAIuOtpOfGjA0cd55tbEV2gAv+A7tSZg9bonmVDYFEe6dBgbLk8a3+/1fJUdWW8fyFkg1wa8zK7pjP751bAXsA==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/maker-base@7.10.2': + resolution: {integrity: sha512-1QN4qnPVTjo+qWYG+s0kYv7XcuIowsPVvbl718FgJUcvkxyRjUA6kWHjFxRvdV6g7Sa2PzZBF+/Mrjpws1lehQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/core@7.8.3': - resolution: {integrity: sha512-qX2vi/LP3HcSqSfLfzMeH2ll8SFZQnOk8VN/b3bq6XrBCbrfrSsTYYWakN6mmfalLJcQRm4jCEc6gcyuGO4i6Q==} + '@electron-forge/maker-deb@7.10.2': + resolution: {integrity: sha512-4MPr9NW5UbEUbf9geZn5R/0O/QVIiy2EgUXOYOeKkA7oR8U6I1I3+BytYFHYcxbY6+PGhi1H1VTLJLITbHGVWw==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-base@7.8.3': - resolution: {integrity: sha512-WmF66cHdziaK8Asi7IRTLxZjCZ8IqXXHr6IPl4d5oatN6s5RG+HHzG1hiJ7LzlOEntqdSpE8Wh2nB2TmyR4huQ==} + '@electron-forge/maker-dmg@7.10.2': + resolution: {integrity: sha512-ksSX6/Ioxa3h3rEGIg26qfDcJgB3aFGivitRdSkEnzUCLWJSUoThEwLToA7CAq4J/4ZREK0PDJ7FPsB+F8CYfQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-deb@7.8.3': - resolution: {integrity: sha512-GZHJU06LRFJkv1wMc3bjMVzedQhyxnyMZqgDJjE9TIlXXZkN2EqGmKLw/HxwNRA1R8yuQeA4Ih6/dEB4bZTevg==} + '@electron-forge/maker-snap@7.10.2': + resolution: {integrity: sha512-kl9D65qNFD7Fc2npFpXQYHt7fhnvU7yEgECS52Ytw+Sy0KBdPm+mKX9xvMnW6pvG0VO7xLirpBkPEm8kpc/I1g==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-dmg@7.8.3': - resolution: {integrity: sha512-N3yKU89D7pC/xPeblSQyBQT1DLKzZMl4V5kla6nc3LIA0oyjz99Gosv8IAj9vFkreQ5QRqpTIlu1ecDL9JY9dQ==} + '@electron-forge/maker-squirrel@7.10.2': + resolution: {integrity: sha512-Y5EhNSBXf4a7qcq+BK/x5qVDlQ1Gez5V+arUpDvVxf1zwvsB1aSyAjmoBrOKGYD9A5pJzjkMWMDw95MStl1W4A==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-snap@7.8.3': - resolution: {integrity: sha512-YcGELjaOPCiws6Co/kR5vWSB2pgcaKpkuenyPyYnWrIqgSN48XvNwHrLVIdrbvnWgHP1093nlEw/DheWik51dw==} + '@electron-forge/maker-zip@7.10.2': + resolution: {integrity: sha512-APRqVPM+O1rj4O7sk5f8tqJpS5UgxcUJEsCnXN4JRpdRvsOlMopzYZdazlCLH9l7S+r4ZKirjtMluIGeYq8YOg==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-squirrel@7.8.3': - resolution: {integrity: sha512-6XSEhZMbgfjAaCm8A54pNjn4ghfxJgPu4i7ok3PhP44WOrFPaPivLttpvKRnxRb0PGZstPjPBFcwL1F9S1trjA==} + '@electron-forge/plugin-auto-unpack-natives@7.10.2': + resolution: {integrity: sha512-uQnahm1DECwqI8hBC7PKccyfovY/YqHNz8de3OxyjQDmwsqQfCA8Ucyh1E9n4NMEpw6Co8KLn+qF2BuIOsftLA==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-zip@7.8.3': - resolution: {integrity: sha512-ytao285wKAjKBO6eULzLeqUDP5Zh7beQlGyHjgOMknk7FI0sNy+zGdh3CrCGIhkXSHU/DpukPwRu2SiKvIaIGA==} + '@electron-forge/plugin-base@7.10.2': + resolution: {integrity: sha512-+4YLmkLZxvS6JFXYNI4dHt8Il8iIvwk2o6lCJGwNysOUq2KOZ3Wu1He4Ko8HhKcO1VWbFvslbh57oQn963Aryw==} engines: {node: '>= 16.4.0'} - '@electron-forge/plugin-base@7.8.3': - resolution: {integrity: sha512-0CzPQlO3BGu5bLCrx2Xqo6B1yoHhA9wG9boZE58ANr8Qma1NQfAWZU3LnMmF3EdWNTX76PxpZeeb3QbPNcxSuA==} + '@electron-forge/plugin-fuses@7.10.2': + resolution: {integrity: sha512-X8FaBL5pVvKCTBNaa9EjbH6vuaeIU7UcPSmP9501XF4zcKPCfTbQKz49LTMl7gd5YzUm82IlqRjte12LLpcSDQ==} + engines: {node: '>= 16.4.0'} + peerDependencies: + '@electron/fuses': ^1.0.0 + + '@electron-forge/plugin-vite@7.10.2': + resolution: {integrity: sha512-aHotwaVlbSwVDb+Z+JdU6cMYhestt8ncmXKv4Uwm7of/gWAdvS7o/ohQVWkjXhzSidriCTwFMRz4jELJbnkNeg==} engines: {node: '>= 16.4.0'} - '@electron-forge/publisher-base@7.8.3': - resolution: {integrity: sha512-kurRKVNyLsK2JgmVl88UHu0+qSH+PysMtk/xP0YX5sYNMVxRay8+S1T10tAh6Qom94KwpF3CLYtkebvxb/fq+A==} + '@electron-forge/publisher-base@7.10.2': + resolution: {integrity: sha512-2k2VOY0wOoAgQoQXn/u3EJ2Ka2v363+wC/+zUMTWGeRHW8pRwX84WX2SpsTttRzbsqAEMJYw5FAzgMBEQUTfpg==} engines: {node: '>= 16.4.0'} - '@electron-forge/publisher-snapcraft@7.8.3': - resolution: {integrity: sha512-YzgW940e2V9HG9vZFdUncvaLJaLOPSqXcWFeU4E14MP0ytTjBwrKmv6o2uyzul8l22WCm+pSdCEu0J73sCrNUw==} + '@electron-forge/publisher-snapcraft@7.10.2': + resolution: {integrity: sha512-NHWRo18Kzi/RyBCOue7Zl6Y1r3FsZd5YXcJLsV3Il1fgshtGRloLUlBTU8Dh9kcGx8senGI8+D8lNUofTWPOnQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/shared-types@7.8.3': - resolution: {integrity: sha512-gkZtD7ALXHPDOthJo1rQYLDNfG09fdDRMWvjEgaXdF3Z69xXFfnOWPNuOkRUODNalMnuuGs6l7jDl+QFQgHlDg==} + '@electron-forge/shared-types@7.10.2': + resolution: {integrity: sha512-e2pd9RsdbKwsNf6UtKoolmJGy92Nc0/XO4SI91doV8cM954hM2XSYz3VHoqXebMFAF1JDfXoEUt6UCRbEDgMgw==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-base@7.8.3': - resolution: {integrity: sha512-C0tVODDNKoqhCf7T1HRONJs9DKAmjmk8Of0t8rVjT0ERDzMvLGlBByd785v5lFlKbGERyoaXsYltxPAu92G3aA==} + '@electron-forge/template-base@7.10.2': + resolution: {integrity: sha512-D9DbEx3rtikIhUyn4tcz2pJqHNU/+FXKNnzSvmrJoJ9LusR3C42OU9GtbU8oT3nawpnCGgPFIOGXrzexFPp6DA==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-vite-typescript@7.8.3': - resolution: {integrity: sha512-HJjjY9xmlpl0vx10mrXdWn2RYHExfazACxmDNNmGO1eq3eqrQk/3R+NDGyqMJ7ajBsRVbkQNt+wayH7HkRJUjA==} + '@electron-forge/template-vite-typescript@7.10.2': + resolution: {integrity: sha512-df7rpxxIOIyZn0RfQ1GIlLW7dXhxkerc9uZ3ozO4C7zfvip3z0Mg+wS1synktPfr4WISaPktIdnj3mVu6Uu7Mw==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-vite@7.8.3': - resolution: {integrity: sha512-tDL5h+UO5iOzdEYNVsSu4zkUVN4RTxti5iXzcBquKd9Kgt/A/M7xHeuKj7g1Ds7Ul/n2XcFvcfgLcRmiXQeVDA==} + '@electron-forge/template-vite@7.10.2': + resolution: {integrity: sha512-hR9HBOM902yq7zhFl8bO3w5ufMgitdd5ZwDzAdKITFh2ttZemHy9ha5S0K+R+4GoXHz8t7hUTHk8+iPy09qrpA==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-webpack-typescript@7.8.3': - resolution: {integrity: sha512-Xz3X7YJvot08Xm+0BLIS28GJH+0z9vEN9xYX76SOL4jqDcHH8lRFpNWcE2HsxxxRbCVH+s0etVmACZcWoujUrw==} + '@electron-forge/template-webpack-typescript@7.10.2': + resolution: {integrity: sha512-JtrLUAFbxxWJ1kU7b8MNyL5SO9/rY5UeNz1b9hvMvilW8GxyMWUen58dafgdnx3OpKLNZnhOOhgRagNppEzJOA==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-webpack@7.8.3': - resolution: {integrity: sha512-1zkji5px1kDXbigFN5959anCf3HAVBvam3bHh2VejnCScegLQP3JBjAn2Nw2ILWq6ej5JNuA/V99b1dr11hPOw==} + '@electron-forge/template-webpack@7.10.2': + resolution: {integrity: sha512-VIUXA+XHM5SLjg7fIpOOmBsgi0LstkjrEz4gUzVL0AaITM7e+BCziIHld1ceXLbQ1FnKtrUGnQ9X/cHYxYvhHg==} engines: {node: '>= 16.4.0'} - '@electron-forge/tracer@7.8.3': - resolution: {integrity: sha512-YVVDaPEUOvR1z+DDdj8wR/vO9OSlC91wz4/2Iqe9rqQz8sztnnQBClMAZTqu9bkDTFyHrns8j8v7tPVuVS6ULQ==} + '@electron-forge/tracer@7.10.2': + resolution: {integrity: sha512-jhLLQbttfZViSOYn/3SJc8HML+jNZAytPVJwgGGd3coUiFysWJ2Xald99iqOiouPAhIigBfNPxQb/q/EbcDu4g==} engines: {node: '>= 14.17.5'} '@electron/asar@3.4.1': @@ -1454,6 +1502,10 @@ packages: engines: {node: '>=10.12.0'} hasBin: true + '@electron/fuses@1.8.0': + resolution: {integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==} + hasBin: true + '@electron/get@2.0.3': resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} engines: {node: '>=12'} @@ -1477,8 +1529,8 @@ packages: engines: {node: '>=12.0.0'} hasBin: true - '@electron/packager@18.4.0': - resolution: {integrity: sha512-Ge1wQWRUZShKDeUPiamOPo44mipX4bosfBgul2x0PiMDXW09/IGftDphatoT+kAhsuLRBOKTLIe9VsDNk5MzZw==} + '@electron/packager@18.4.4': + resolution: {integrity: sha512-fTUCmgL25WXTcFpM1M72VmFP8w3E4d+KNzWxmTDRpvwkfn/S206MAtM2cy0GF78KS9AwASMOUmlOIzCHeNxcGQ==} engines: {node: '>= 16.13.0'} hasBin: true @@ -1511,6 +1563,24 @@ packages: resolution: {integrity: sha512-0KqnoeoLKb6AyoSU65TRF5T85wmS4uDn06oARddwNPxxf/lt5jQlh41uX3W7V/fWL9tPu8x1L1Vvpc80MN1+YA==} engines: {node: '>= 8.*'} + '@ember-tooling/blueprint-blueprint@0.2.1': + resolution: {integrity: sha512-eZ5qicL3gfFFbmzLaSiEWPSmoRUJGnqg+dQmU0R81vv+0Ni7W/cS7MXx1l4HpN9B7Yg4M9GgdQTkeJnb6abQug==} + + '@ember-tooling/blueprint-model@0.4.1': + resolution: {integrity: sha512-3jBNTGecTuRPOLjOY3AH/SpnLvJULyhwnR39I77uWj7ZFGwHuoV38uLYZMDjUN6So2uokkS333YavHdVqyn1kQ==} + + '@ember-tooling/classic-build-addon-blueprint@6.8.0': + resolution: {integrity: sha512-qB9c7/vzhMRjOLDisupE+CMqZmycl4PagEZABwwt7EauQsYnUJBcrqvsfEM6Zm+eFjdtPNgLh2QBWffeByscCg==} + + '@ember-tooling/classic-build-app-blueprint@6.8.0': + resolution: {integrity: sha512-BQjfklQyY3gENJ2hJUPy2Dm7a9MuT2eQg41EiOkQI+3WoiKPCMBdOXtWDziAsDzozGaHHHs6fhK1+P/hnTedYw==} + + '@ember/app-blueprint@6.8.1': + resolution: {integrity: sha512-CzO13DPoyThmVas8yN/qdb3Ykcrk7Q1U32yfzq8IUT2pL+I6a33Y/KkugMjVVBTLLxqlx2YhFqWkFi6Cbdn2RQ==} + + '@ember/app-tsconfig@1.0.3': + resolution: {integrity: sha512-dw+/F68xvBw8JYLpyFmAcnF5d/vZqlP6GkEde+XIuPPPn6PIakrh0jtP0/tPxBw8tVuc6eD+H+8CWSsSFrGuiA==} + '@ember/edition-utils@1.2.0': resolution: {integrity: sha512-VmVq/8saCaPdesQmftPqbFtxJWrzxNGSQ+e8x8LLe3Hjm36pJ04Q8LeORGZkAeOhldoUX9seLGmSaHeXkIqoog==} @@ -1528,12 +1598,11 @@ packages: '@glint/template': optional: true - '@ember/string@3.1.1': - resolution: {integrity: sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==} - engines: {node: 12.* || 14.* || >= 16} + '@ember/string@4.0.1': + resolution: {integrity: sha512-VWeng8BSWrIsdPfffOQt/bKwNKJL7+37gPFh/6iZZ9bke+S83kKqkS30poo4bTGfRcMnvAE0ie7txom+iDu81Q==} - '@ember/test-helpers@5.2.2': - resolution: {integrity: sha512-Cclqeh0j6RnYvoaElAVC3Nd1fsSUkc3oUTwTsLlNiC3riyPq8lNYxh96VM59/yji2ntrd/cJQ7qhhSZWd6hsEw==} + '@ember/test-helpers@5.3.0': + resolution: {integrity: sha512-CG3Iiap0vbrjtOzRg4cN0fd7fMUVhFK5gURkc8yQGJtKT3LwXLLtCLkMG/A55sMTIYHlYRETuJXqv9slO90RKw==} '@ember/test-waiters@4.1.1': resolution: {integrity: sha512-HbK70JYCDJcGI0CrwcbjeL2QHAn0HLwa3oGep7mr6l/yO95U7JYA8VN+/9VTsWJTmKueLtWayUqEmGS3a3mVOg==} @@ -1542,32 +1611,22 @@ packages: resolution: {integrity: sha512-gcJuHiXgnrzaU8NyU+2bMbtS6PNOr5v5B8OXBqaBvTCsMpXLvKo8OBOQFCoUN0rPX2J6VaFqrbi/371sMvzZug==} engines: {node: 12.* || 14.* || >= 16} - '@embroider/babel-loader-9@3.1.1': - resolution: {integrity: sha512-8mIDRXvwntYIQc2JFVvGXEppHUJRhw+6aEzHtbCZDr4oOKw55IyY+RHzas3JILRq64owLA+Ox0yu6nkwL1ApRQ==} + '@embroider/compat@4.1.8': + resolution: {integrity: sha512-YNPMTYViccpQafTpmZ1NknqcB8X+lPgEEF0r4F7//JZTNl9P+4PvJYqfGQeSvw5KWE7kn0ju/vdL4WrneA9Flw==} engines: {node: 12.* || 14.* || >= 16} peerDependencies: - '@embroider/core': ^3.4.0 + '@embroider/core': ^4.2.5 - '@embroider/compat@3.9.1': - resolution: {integrity: sha512-bFG1XZWC388OV0/tlCmzwEYX7i+G4sQCyTGFIz657r1ouQiCaCu6vFDNsumfwYZw/ixqJSUowbbvSucPwWHi4g==} + '@embroider/config-meta-loader@1.0.0': + resolution: {integrity: sha512-qznkdjgEGPe6NM94hZNXvOm/WhrJwBh8FtSQZ+nGjh9TOjY42tOiTEevFuM0onNXUn6bpdGzmjwKo2xY2jxQxQ==} engines: {node: 12.* || 14.* || >= 16} - hasBin: true - peerDependencies: - '@embroider/core': ^3.5.7 - '@embroider/core@3.5.7': - resolution: {integrity: sha512-0oytko2+iaYS31TG9Axj7Py0e0FAccUhu9J1h7ldEnQegK+Eu5+OINU0dYQgt0ijp6f2yF4+o3J7u9CJCLZ1gw==} + '@embroider/core@4.2.5': + resolution: {integrity: sha512-e51BLGoG0YFEZSnEMeYqlQryi3lDCIrW4mHhti3lrnKEyIO30nPkrlCe6Z4zcBkMJPi4rJo1cecQc8UuJU5f+w==} engines: {node: 12.* || 14.* || >= 16} - '@embroider/hbs-loader@3.0.3': - resolution: {integrity: sha512-sI2K3/III1WGGxS+aIf8uW5tgcNiE7APNhThn2ZTwqU47fK20Uz8TJZhst0GfNZFsCsmuQMRUikRJvQU8naSWA==} - engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - '@embroider/core': ^3.4.0 - webpack: ^5 - - '@embroider/macros@1.16.13': - resolution: {integrity: sha512-2oGZh0m1byBYQFWEa8b2cvHJB2LzaF3DdMCLCqcRAccABMROt1G3sultnNCT30NhfdGWMEsJOT3Jm4nFxXmTRw==} + '@embroider/macros@1.19.2': + resolution: {integrity: sha512-lCG8Y58ZGz9kFvvEJjs3c8VDKDtLYV6iszEuQDyBgOtf1F+zizuZJFchLHSP4Vw5ND3Q4iF5I7tFQLGh0wODDg==} engines: {node: 12.* || 14.* || >= 16} peerDependencies: '@glint/template': ^1.0.0 @@ -1575,40 +1634,189 @@ packages: '@glint/template': optional: true - '@embroider/macros@1.18.1': - resolution: {integrity: sha512-hOQyzFBT1Rd6RdY4AbRSSGSeXyUzUrU9o6GWGD/kxg7cggKQax4R486KE10ZVSPRNqhRiNUcqe2VWc/+e8Z0MQ==} - engines: {node: 12.* || 14.* || >= 16} + '@embroider/reverse-exports@0.1.2': + resolution: {integrity: sha512-TgjQalfB42RnwdRVApjcvHSVjBe+7MJfCZV0Cs1jv2QgnFGr/6f5X19PKvmF4FU4xbBf7yOsIWrVvYvidWnXlw==} + + '@embroider/router@3.0.4': + resolution: {integrity: sha512-kSygi43vpyqaX7gOaIPFY6WkqHm0NlvMSFJBG98Z2DNxjalGFI3+vzVEmguzQd5fgiMiZcXVAug4yjn1CKdXTA==} peerDependencies: - '@glint/template': ^1.0.0 + '@embroider/core': ^2.0.0||^3.0.0||^4.0.0-alpha.0 peerDependenciesMeta: - '@glint/template': + '@embroider/core': optional: true - '@embroider/shared-internals@2.6.0': - resolution: {integrity: sha512-A2BYQkhotdKOXuTaxvo9dqOIMbk+2LqFyqvfaaePkZcFJvtCkvTaD31/sSzqvRF6rdeBHjdMwU9Z2baPZ55fEQ==} - engines: {node: 12.* || 14.* || >= 16} - - '@embroider/shared-internals@2.9.0': - resolution: {integrity: sha512-8untWEvGy6av/oYibqZWMz/yB+LHsKxEOoUZiLvcpFwWj2Sipc0DcXeTJQZQZ++otNkLCWyDrDhOLrOkgjOPSg==} - engines: {node: 12.* || 14.* || >= 16} - '@embroider/shared-internals@2.9.1': resolution: {integrity: sha512-8PJBsa37GD++SAfHf8rcJzlwDwuAQCBo0fr+eGxg9l8XhBXsTnE/7706dM4OqWew9XNqRXn39wfIGHZoBpjNMw==} engines: {node: 12.* || 14.* || >= 16} - '@embroider/shared-internals@3.0.0': - resolution: {integrity: sha512-5J5ipUMCAinQS38WW7wedruq5Z4VnHvNo+ZgOduw0PtI9w0CQWx7/HE+98PBDW8jclikeF+aHwF317vc1hwuzg==} + '@embroider/shared-internals@3.0.1': + resolution: {integrity: sha512-d7RQwDwqqHo7YvjE9t1rtIrCCYtbSoO0uRq2ikVhRh4hGS5OojZNu2ZtS0Wqrg+V72CRtMFr/hibTvHNsRM2Lg==} engines: {node: 12.* || 14.* || >= 16} - '@embroider/webpack@3.2.3': - resolution: {integrity: sha512-WXV5nLH4qzykla9ADxqAyP28dJoBihnbByJRN/QRgj0kmNvU2CPqNVhpsVJpgOjSf8bFBVyQwq5bUjj/Kswwew==} - engines: {node: 12.* || 14.* || >= 16} + '@embroider/vite@1.3.4': + resolution: {integrity: sha512-/GmtYVDuEOfa0gmlTQDeMa6dhOCW/o0/FPY19Jx2ACwv6gS//0g3VuxZdqp34WfuffgO5bKU2n7XZFks4bXEwQ==} peerDependencies: - '@embroider/core': ^3.4.7 - webpack: ^5.0.0 + '@embroider/core': ^4.2.5 + vite: '>= 5.2.0' + + '@esbuild/aix-ppc64@0.25.11': + resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.11': + resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.11': + resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.11': + resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.11': + resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.11': + resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.11': + resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.11': + resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.11': + resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.11': + resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.11': + resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.11': + resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.11': + resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - '@eslint-community/eslint-utils@4.7.0': - resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + '@esbuild/linux-ppc64@0.25.11': + resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.11': + resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.11': + resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.11': + resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.11': + resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.11': + resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.11': + resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.11': + resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.11': + resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.11': + resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.11': + resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.11': + resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.11': + resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -1621,30 +1829,39 @@ packages: resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.3.1': - resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} + '@eslint/config-helpers@0.4.0': + resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.2': - resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} + '@eslint/core@0.16.0': + resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.33.0': - resolution: {integrity: sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==} + '@eslint/js@9.37.0': + resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.5': - resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} + '@eslint/plugin-kit@0.4.0': + resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} + + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} + + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} @@ -1818,24 +2035,20 @@ packages: resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.3': resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@ianvs/prettier-plugin-sort-imports@4.6.2': - resolution: {integrity: sha512-kHiL1IghIodo43clNQaJJU2rPqXEioPG+Ink4/T5za46A0ggSNvIx4NM3hGgciQ2VpDaR/X8cTJIZDKRurWjPw==} + '@ianvs/prettier-plugin-sort-imports@4.7.0': + resolution: {integrity: sha512-soa2bPUJAFruLL4z/CnMfSEKGznm5ebz29fIa9PxYtu8HHyLKNE1NXAs6dylfw1jn/ilEIfO2oLLN6uAafb7DA==} peerDependencies: '@prettier/plugin-oxc': ^0.0.4 '@vue/compiler-sfc': 2.7.x || 3.x @@ -1855,16 +2068,81 @@ packages: '@iarna/toml@2.2.5': resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - '@inquirer/figures@1.0.13': - resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} + '@inquirer/checkbox@3.0.1': + resolution: {integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==} + engines: {node: '>=18'} + + '@inquirer/confirm@4.0.1': + resolution: {integrity: sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==} + engines: {node: '>=18'} + + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} + + '@inquirer/editor@3.0.1': + resolution: {integrity: sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==} + engines: {node: '>=18'} + + '@inquirer/expand@3.0.1': + resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} + engines: {node: '>=18'} + + '@inquirer/external-editor@1.0.2': + resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.14': + resolution: {integrity: sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==} + engines: {node: '>=18'} + + '@inquirer/input@3.0.1': + resolution: {integrity: sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==} + engines: {node: '>=18'} + + '@inquirer/number@2.0.1': + resolution: {integrity: sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==} + engines: {node: '>=18'} + + '@inquirer/password@3.0.1': + resolution: {integrity: sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==} + engines: {node: '>=18'} + + '@inquirer/prompts@6.0.1': + resolution: {integrity: sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==} + engines: {node: '>=18'} + + '@inquirer/rawlist@3.0.1': + resolution: {integrity: sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==} + engines: {node: '>=18'} + + '@inquirer/search@2.0.1': + resolution: {integrity: sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==} + engines: {node: '>=18'} + + '@inquirer/select@3.0.1': + resolution: {integrity: sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==} + engines: {node: '>=18'} + + '@inquirer/type@1.5.5': + resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} + engines: {node: '>=18'} + + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} engines: {node: '>=18'} '@irojs/iro-core@1.2.1': resolution: {integrity: sha512-p2OvsBSSmidsDsTSkID6jEyXDF7lcyxPrkh3qBzasBZFpjkYd6kZ3yMWai3MlAaQ3F7li/Et7rSJVV09Fpei+A==} - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} '@isaacs/ttlcache@1.4.1': resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} @@ -1908,6 +2186,9 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -1918,16 +2199,26 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.30': - resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@keyv/serialize@1.1.0': - resolution: {integrity: sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==} + '@keyv/bigmap@1.0.3': + resolution: {integrity: sha512-jUEkNlnE9tYzX2AIBeoSe1gVUvSOfIOQ5EFPL5Un8cFHGvjD9L/fxpxlS1tEivRLHgapO2RZJ3D93HYAa049pg==} + engines: {node: '>= 18'} + + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} '@lint-todo/utils@13.1.1': resolution: {integrity: sha512-F5z53uvRIF4dYfFfJP3a2Cqg+4P1dgJchJsFnsZE0eZp0LK8X7g2J0CsJHRgns+skpXOlM7n5vFGwkWCWj8qJg==} engines: {node: 12.* || >= 14} + '@listr2/prompt-adapter-inquirer@2.0.22': + resolution: {integrity: sha512-hV36ZoY+xKL6pYOt1nPNnkciFkn89KZwqLhAFzJvYysAvL5uBQdiADZx/8bIDXIukzzwG0QlPYolgMzQUtKgpQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@inquirer/prompts': '>= 3 < 8' + '@ljharb/through@2.3.14': resolution: {integrity: sha512-ajBvlKpWucBB17FuQYUShqpqy8GRgYEpJW0vWJbUu1CV9lWyrDCapy0lScU8T8Z6qn49sSwJB3+M+evYIdGg+A==} engines: {node: '>= 0.4'} @@ -1972,8 +2263,8 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs - '@nullvoxpopuli/ember-composable-helpers@5.2.11': - resolution: {integrity: sha512-hdDDhYru0TelepDbh1WpxJlyFYy9bIqdKx3u6Y8FkEjgNnF5RFV7gIUk4u8XB28/3llHAILepCMvRmze9176OA==} + '@nullvoxpopuli/ember-composable-helpers@5.3.0': + resolution: {integrity: sha512-pjuYVAxJJETaFFmDME9sPH++kSNcTJjxHqHUSJOwoYvxSRBHIysJbCFD/CHQjJtbI5D4pVouYU80ugmyGrZoFA==} '@octokit/auth-token@3.0.4': resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} @@ -2074,24 +2365,20 @@ packages: '@orbit/validators@0.17.0': resolution: {integrity: sha512-OOcrTWdai0ce7CEXPsVXOw6oxHVCbE7W9nSH1Fn3B28VpzUnKQ9O/d59e3S5E1DTFXZpNvcVBAVsohQS+PGm+g==} - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} - '@pnpm/constants@1001.3.0': - resolution: {integrity: sha512-ZFRekNHbDlu//67Byg+mG8zmtmCsfBhNsg1wKBLRtF7VjH+Q5TDGMX0+8aJYSikQDuzM2FOhvQcDwyjILKshJQ==} + '@pnpm/constants@1001.3.1': + resolution: {integrity: sha512-2hf0s4pVrVEH8RvdJJ7YRKjQdiG8m0iAT26TTqXnCbK30kKwJW69VLmP5tED5zstmDRXcOeH5eRcrpkdwczQ9g==} engines: {node: '>=18.12'} - '@pnpm/error@1000.0.4': - resolution: {integrity: sha512-22mG/Mq4u2r7gr2+XY5j4GlN7J4Mg4WiCfT9flvsUc1uZecShocv6WkyoA20qs14M64f6I+aaWB6b6xsDiITlg==} + '@pnpm/error@1000.0.5': + resolution: {integrity: sha512-GjH0TPjbVNrPnl/BAGoFuBLJ2sFfXNKbS33lll/Ehe9yw0fyc8Kdw7kO9if37yQqn6vaa4dAHKkPllum7f/IPQ==} engines: {node: '>=18.12'} - '@pnpm/find-workspace-dir@1000.1.2': - resolution: {integrity: sha512-QU7LqV0T5lCuHwNoNT5YeArsrIYo4qcCEHz4F21tu42n6d1km3CGnpL6/7LMT0fgHL6cN55YyRU14imN/5b7vg==} + '@pnpm/find-workspace-dir@1000.1.3': + resolution: {integrity: sha512-4rdu8GPY9TeQwsYp5D2My74dC3dSVS3tghAvisG80ybK4lqa0gvlrglaSTBxogJbxqHRw/NjI/liEtb3+SD+Bw==} engines: {node: '>=18.12'} '@pnpm/network.ca-file@1.0.2': @@ -2163,6 +2450,143 @@ packages: peerDependencies: release-it: ^14.0.0 || ^15.2.0 || ^16.0.0 || ^17.0.0 + '@rollup/plugin-babel@6.1.0': + resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + rollup: + optional: true + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.52.4': + resolution: {integrity: sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.52.4': + resolution: {integrity: sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.52.4': + resolution: {integrity: sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.52.4': + resolution: {integrity: sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.52.4': + resolution: {integrity: sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.52.4': + resolution: {integrity: sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.52.4': + resolution: {integrity: sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.52.4': + resolution: {integrity: sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.52.4': + resolution: {integrity: sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.52.4': + resolution: {integrity: sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.52.4': + resolution: {integrity: sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.52.4': + resolution: {integrity: sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.52.4': + resolution: {integrity: sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.52.4': + resolution: {integrity: sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.52.4': + resolution: {integrity: sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.40.0': + resolution: {integrity: sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.52.4': + resolution: {integrity: sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.52.4': + resolution: {integrity: sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openharmony-arm64@4.52.4': + resolution: {integrity: sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.52.4': + resolution: {integrity: sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.52.4': + resolution: {integrity: sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.52.4': + resolution: {integrity: sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.52.4': + resolution: {integrity: sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==} + cpu: [x64] + os: [win32] + '@sentry-internal/feedback@7.112.0': resolution: {integrity: sha512-aqndxnTvZnqo/uUhuWLNWY/0W3zOxNs9FofLYi1SK5+QzMqDIyFY1dc9+ZqQH3/9GIlEGao+zveGAHeUEtpE8g==} engines: {node: '>=12'} @@ -2195,55 +2619,55 @@ packages: resolution: {integrity: sha512-ymlNtIPG6HAKzM/JXpWVGCzCNufZNADfy+O/olZuVJW5Be1DtOFyRnBvz0LeKbmxJbXb2lX/XMhuen6PXPdoQw==} engines: {node: '>=8'} - '@sentry/cli-darwin@2.52.0': - resolution: {integrity: sha512-ieQs/p4yTHT27nBzy0wtAb8BSISfWlpXdgsACcwXimYa36NJRwyCqgOXUaH/BYiTdwWSHpuANbUHGJW6zljzxw==} + '@sentry/cli-darwin@2.56.1': + resolution: {integrity: sha512-zfhT8MrvB5x/xRdIVGwg+sG0Cx3i0G6RH2zCrdQ/moWn8TfkwsM0O1k/AxpwbpcRfAHCkVb04CU/yKciKwg2KA==} engines: {node: '>=10'} os: [darwin] - '@sentry/cli-linux-arm64@2.52.0': - resolution: {integrity: sha512-RxT5uzxjCkcvplmx0bavJIEYerRex2Rg/2RAVBdVvWLKFOcmeerTn/VVxPZVuDIVMVyjlZsteWPYwfUm+Ia3wQ==} + '@sentry/cli-linux-arm64@2.56.1': + resolution: {integrity: sha512-AypXIwZvOMJb9RgjI/98hTAd06FcOjqjIm6G9IR0OI4pJCOcaAXz9NKXdJqxpZd7phSMJnD+Bx/8iYOUPeY73A==} engines: {node: '>=10'} cpu: [arm64] os: [linux, freebsd, android] - '@sentry/cli-linux-arm@2.52.0': - resolution: {integrity: sha512-tWMLU+hj+iip5Akx+S76biAOE1eMMWTDq8c0MqMv/ahHgb6/HiVngMcUsp59Oz3EczJGbTkcnS3vRTDodEcMDw==} + '@sentry/cli-linux-arm@2.56.1': + resolution: {integrity: sha512-fNB/Ng11HrkGOSEIDg+fc3zfTCV7q6kJddp6ndK3QlYFsCffRSnclaX1SMp+mqxdWkHqe1kkp85OY8G/x5uAWw==} engines: {node: '>=10'} cpu: [arm] os: [linux, freebsd, android] - '@sentry/cli-linux-i686@2.52.0': - resolution: {integrity: sha512-sKcJmIg7QWFtlNU5Bs5OZprwdIzzyYMRpFkWioPZ4TE82yvP1+2SAX31VPUlTx+7NLU6YVEWNwvSxh8LWb7iOw==} + '@sentry/cli-linux-i686@2.56.1': + resolution: {integrity: sha512-vnH+WJEsUq7Lf7xc9udzE/M4hoDXXsniFFYr/7BvdnXtCQlNNaWFMXHbEDYAql3baIlHkWoG8cEHWuB/YKyniw==} engines: {node: '>=10'} cpu: [x86, ia32] os: [linux, freebsd, android] - '@sentry/cli-linux-x64@2.52.0': - resolution: {integrity: sha512-aPZ7bP02zGkuEqTiOAm4np/ggfgtzrq4ti1Xze96Csi/DV3820SCfLrPlsvcvnqq7x69IL9cI3kXjdEpgrfGxw==} + '@sentry/cli-linux-x64@2.56.1': + resolution: {integrity: sha512-3/BlKe5Vdnia36MeovghHJD8lbcum5TFIxLp+PSfH2sVb09+5Jo0L95oRTI2JkD8Fs+QNssvTqTxJj5eIo/n+A==} engines: {node: '>=10'} cpu: [x64] os: [linux, freebsd, android] - '@sentry/cli-win32-arm64@2.52.0': - resolution: {integrity: sha512-90hrB5XdwJVhRpCmVrEcYoKW8nl5/V9OfVvOGeKUPvUkApLzvsInK74FYBZEVyAn1i/NdUv+Xk9q2zqUGK1aLQ==} + '@sentry/cli-win32-arm64@2.56.1': + resolution: {integrity: sha512-Gg8RV7CV7Tz4fiR1EN1Af5AVhJsnEXiZvfvfQXI4lp51MKAhcxZIMtEfg9HaWsn3Dm/wgwYBinyeywfWbTXYDg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@sentry/cli-win32-i686@2.52.0': - resolution: {integrity: sha512-HXlSE4CaLylNrELx4KVmOQjV5bURCNuky6sjCWiTH7HyDqHEak2Rk8iLE0JNLj5RETWMvmaZnZZFfmyGlY1opg==} + '@sentry/cli-win32-i686@2.56.1': + resolution: {integrity: sha512-6u6a060yC3i76Ze1apqgWr5luQSyhuD5ND84eWfh/UbddsEa42UHjoVHOiBwmpZqf/hvNZAtzLnE4NCvU4zOMg==} engines: {node: '>=10'} cpu: [x86, ia32] os: [win32] - '@sentry/cli-win32-x64@2.52.0': - resolution: {integrity: sha512-hJT0C3FwHk1Mt9oFqcci88wbO1D+yAWUL8J29HEGM5ZAqlhdh7sAtPDIC3P2LceUJOjnXihow47Bkj62juatIQ==} + '@sentry/cli-win32-x64@2.56.1': + resolution: {integrity: sha512-11cdflajBrDWlRZqI9MOu7ok2vnPzFjKmbU3YvBYWQapNE+HHAsWdsRL/u/P1RmU62vj7Y42iSUcj6x1SNrdPw==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@sentry/cli@2.52.0': - resolution: {integrity: sha512-PXyo7Yv7+rVMSBGZfI/eFEzzhiKedTs25sDCjz4a3goAZ/F5R5tn3MKq30pnze5wNnoQmLujAa0uUjfNcWP+uQ==} + '@sentry/cli@2.56.1': + resolution: {integrity: sha512-VDAIg+gmjNtJS5VUZQMDSK9RaKC9hYQi3PoXpNa+owNfQNk60bCi8z8jkbWRcKbNGn3V51WqvrQAqLoNAdPc9w==} engines: {node: '>= 10'} hasBin: true @@ -2344,7 +2768,97 @@ packages: '@tailwindcss/forms@0.5.10': resolution: {integrity: sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==} peerDependencies: - tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' + + '@tailwindcss/node@4.1.14': + resolution: {integrity: sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==} + + '@tailwindcss/oxide-android-arm64@4.1.14': + resolution: {integrity: sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.14': + resolution: {integrity: sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.14': + resolution: {integrity: sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.14': + resolution: {integrity: sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14': + resolution: {integrity: sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.14': + resolution: {integrity: sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.14': + resolution: {integrity: sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.14': + resolution: {integrity: sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.14': + resolution: {integrity: sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.14': + resolution: {integrity: sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.14': + resolution: {integrity: sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.14': + resolution: {integrity: sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.14': + resolution: {integrity: sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw==} + engines: {node: '>= 10'} + + '@tailwindcss/vite@4.1.14': + resolution: {integrity: sha512-BoFUoU0XqgCUS1UXWhmDJroKKhNXeDzD7/XwabjkDIAbMnc4ULn5e2FuEuBbhZ6ENZoSYzKlzvZ44Yr6EUDUSA==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 '@tootallnate/once@1.1.2': resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} @@ -2360,9 +2874,6 @@ packages: '@tsconfig/ember@3.0.11': resolution: {integrity: sha512-c9uaKBN4KxtdT/UNPPxoWghyoDsTRHzYb53Z5Fv9eum+4cok0U+hYwyKNjvCxkBjEPECS8QAyp8nGAhRifZnBQ==} - '@types/acorn@4.0.6': - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} - '@types/appdmg@0.5.5': resolution: {integrity: sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==} @@ -2405,6 +2916,9 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/electron-squirrel-startup@1.0.2': + resolution: {integrity: sha512-AzxnvBzNh8K/0SmxMmZtpJf1/IWoGXLP+pQDuUaVkPyotI8ryvAtBSqgxR/qOSvxWHYWrxkeNsJ+Ca5xOuUxJQ==} + '@types/ember@4.0.11': resolution: {integrity: sha512-v7VIex0YILK8fP87LkIfzeeYKNnu74+xwf6U56v6MUDDGfSs9q/6NCxiUfwkxD+z5nQiUcwvfKVokX8qzZFRLw==} @@ -2438,8 +2952,8 @@ packages: '@types/ember__polyfills@4.0.6': resolution: {integrity: sha512-hbds3Qv+oVm/QKIaY1E6atvrCoJTH/MPSl4swOhX6P0RiMB2fOfFCrFSD1mP1KrU1LqpHJ2Rzs7XLe53SWVzgw==} - '@types/ember__routing@4.0.22': - resolution: {integrity: sha512-qLk9Vd2GMxdlGmX9xbzg4Farths+AQGzYDH901Wo2Nsre+Cwv1Tk1rbCiay2V3ICYZYufytdWT6V++DISF3nvw==} + '@types/ember__routing@4.0.23': + resolution: {integrity: sha512-JW4HXubi7Du98sdPdMmdz54fwawo1o9YX3r/emHWGAsCCiwlbuwKIwyrlhUml5YQTpcZfC///Q9t5M6/JXTNrw==} '@types/ember__runloop@4.0.10': resolution: {integrity: sha512-9MZfOJBXuUP7RqLjovmzy1yY2xKTxVpqHMapqy6QJ8mjAekRmq9IJ+ni2zJ5CWftyb3Lqu3Eks05CL7fnbhcJA==} @@ -2474,8 +2988,8 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/express-serve-static-core@4.19.6': - resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + '@types/express-serve-static-core@4.19.7': + resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} '@types/express@4.17.23': resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} @@ -2529,17 +3043,14 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@20.19.11': - resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - - '@types/node@22.17.2': - resolution: {integrity: sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==} + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - '@types/node@24.3.0': - resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} + '@types/node@22.18.11': + resolution: {integrity: sha512-Gd33J2XIrXurb+eT2ktze3rJAfAp9ZNjlBdh4SVgyrKEOADwCbdUDaK7QgJno8Ue4kcajscsKqu6n8OBG3hhCQ==} - '@types/node@9.6.61': - resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==} + '@types/node@22.18.12': + resolution: {integrity: sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==} '@types/q@1.5.8': resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} @@ -2565,8 +3076,11 @@ packages: '@types/send@0.17.5': resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} - '@types/serve-static@1.15.8': - resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} + '@types/send@1.2.0': + resolution: {integrity: sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==} + + '@types/serve-static@1.15.9': + resolution: {integrity: sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==} '@types/sinon@17.0.4': resolution: {integrity: sha512-RHnIrhfPO3+tJT0s7cFaXGZvsL4bbR3/k7z3P312qMS4JaS2Tk+KiwiLx1S0rQ56ERj00u1/BtdyVd0FY+Pdew==} @@ -2577,15 +3091,15 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/supports-color@8.1.3': - resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} - '@types/symlink-or-copy@1.2.2': resolution: {integrity: sha512-MQ1AnmTLOncwEf9IVU+B2e4Hchrku5N67NkgcAHW0p3sdzPe0FNMANxEm6OJUzPniEQGkeT3OROLlCwZJLWFZA==} '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -2595,65 +3109,68 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.39.1': - resolution: {integrity: sha512-yYegZ5n3Yr6eOcqgj2nJH8cH/ZZgF+l0YIdKILSDjYFRjgYQMgv/lRjV5Z7Up04b9VYUondt8EPMqg7kTWgJ2g==} + '@typescript-eslint/eslint-plugin@8.46.1': + resolution: {integrity: sha512-rUsLh8PXmBjdiPY+Emjz9NX2yHvhS11v0SR6xNJkm5GM1MO9ea/1GoDKlHHZGrOJclL/cZ2i/vRUYVtjRhrHVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.39.1 + '@typescript-eslint/parser': ^8.46.1 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.39.1': - resolution: {integrity: sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==} + '@typescript-eslint/parser@8.46.1': + resolution: {integrity: sha512-6JSSaBZmsKvEkbRUkf7Zj7dru/8ZCrJxAqArcLaVMee5907JdtEbKGsZ7zNiIm/UAkpGUkaSMZEXShnN2D1HZA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.39.1': - resolution: {integrity: sha512-8fZxek3ONTwBu9ptw5nCKqZOSkXshZB7uAxuFF0J/wTMkKydjXCzqqga7MlFMpHi9DoG4BadhmTkITBcg8Aybw==} + '@typescript-eslint/project-service@8.46.1': + resolution: {integrity: sha512-FOIaFVMHzRskXr5J4Jp8lFVV0gz5ngv3RHmn+E4HYxSJ3DgDzU7fVI1/M7Ijh1zf6S7HIoaIOtln1H5y8V+9Zg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.39.1': - resolution: {integrity: sha512-RkBKGBrjgskFGWuyUGz/EtD8AF/GW49S21J8dvMzpJitOF1slLEbbHnNEtAHtnDAnx8qDEdRrULRnWVx27wGBw==} + '@typescript-eslint/scope-manager@8.46.1': + resolution: {integrity: sha512-weL9Gg3/5F0pVQKiF8eOXFZp8emqWzZsOJuWRUNtHT+UNV2xSJegmpCNQHy37aEQIbToTq7RHKhWvOsmbM680A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.39.1': - resolution: {integrity: sha512-ePUPGVtTMR8XMU2Hee8kD0Pu4NDE1CN9Q1sxGSGd/mbOtGZDM7pnhXNJnzW63zk/q+Z54zVzj44HtwXln5CvHA==} + '@typescript-eslint/tsconfig-utils@8.46.1': + resolution: {integrity: sha512-X88+J/CwFvlJB+mK09VFqx5FE4H5cXD+H/Bdza2aEWkSb8hnWIQorNcscRl4IEo1Cz9VI/+/r/jnGWkbWPx54g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.39.1': - resolution: {integrity: sha512-gu9/ahyatyAdQbKeHnhT4R+y3YLtqqHyvkfDxaBYk97EcbfChSJXyaJnIL3ygUv7OuZatePHmQvuH5ru0lnVeA==} + '@typescript-eslint/type-utils@8.46.1': + resolution: {integrity: sha512-+BlmiHIiqufBxkVnOtFwjah/vrkF4MtKKvpXrKSPLCkCtAp8H01/VV43sfqA98Od7nJpDcFnkwgyfQbOG0AMvw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.39.1': - resolution: {integrity: sha512-7sPDKQQp+S11laqTrhHqeAbsCfMkwJMrV7oTDvtDds4mEofJYir414bYKUEb8YPUm9QL3U+8f6L6YExSoAGdQw==} + '@typescript-eslint/types@8.46.1': + resolution: {integrity: sha512-C+soprGBHwWBdkDpbaRC4paGBrkIXxVlNohadL5o0kfhsXqOC6GYH2S/Obmig+I0HTDl8wMaRySwrfrXVP8/pQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.39.1': - resolution: {integrity: sha512-EKkpcPuIux48dddVDXyQBlKdeTPMmALqBUbEk38McWv0qVEZwOpVJBi7ugK5qVNgeuYjGNQxrrnoM/5+TI/BPw==} + '@typescript-eslint/typescript-estree@8.46.1': + resolution: {integrity: sha512-uIifjT4s8cQKFQ8ZBXXyoUODtRoAd7F7+G8MKmtzj17+1UbdzFl52AzRyZRyKqPHhgzvXunnSckVu36flGy8cg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.39.1': - resolution: {integrity: sha512-VF5tZ2XnUSTuiqZFXCZfZs1cgkdd3O/sSYmdo2EpSyDlC86UM/8YytTmKnehOW3TGAlivqTDT6bS87B/GQ/jyg==} + '@typescript-eslint/utils@8.46.1': + resolution: {integrity: sha512-vkYUy6LdZS7q1v/Gxb2Zs7zziuXN0wxqsetJdeZdRe/f5dwJFglmuvZBfTUivCtjH725C1jWCDfpadadD95EDQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.39.1': - resolution: {integrity: sha512-W8FQi6kEh2e8zVhQ0eeRnxdvIoOkAp/CPAahcNio6nO9dsIwb9b34z90KOlheoyuVf6LSOEdjlkxSkapNEc+4A==} + '@typescript-eslint/visitor-keys@8.46.1': + resolution: {integrity: sha512-ptkmIf2iDkNUjdeu2bQqhFPV1m6qTnFFjg7PPDjxKWaMaP0Z6I9l30Jr3g5QqbZGdw8YdYvLp+XnqnWWZOg/NA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vscode/sudo-prompt@9.3.1': + resolution: {integrity: sha512-9ORTwwS74VaTn38tNbQhsA5U44zkJfcb0BdTSyyG6frP4e8KMtHuTXYmwefe5dpL8XB1aGSIVTaLjD3BbWb5iA==} + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -2709,10 +3226,6 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead - abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -2720,20 +3233,10 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - abortcontroller-polyfill@1.7.8: - resolution: {integrity: sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==} - accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-dynamic-import@3.0.0: - resolution: {integrity: sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==} - deprecated: This is probably built in to whatever tool you're using. If you still need it... idk - - acorn-globals@6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} - acorn-import-phases@1.0.4: resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} engines: {node: '>=10.13.0'} @@ -2745,20 +3248,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - - acorn@5.7.4: - resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -2854,8 +3343,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.2.0: - resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} ansi-styles@2.2.1: @@ -2874,8 +3363,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} ansi-to-html@0.6.15: @@ -2902,6 +3391,10 @@ packages: os: [darwin] hasBin: true + applause@2.0.4: + resolution: {integrity: sha512-wFhNjSoflbAEgelX3psyKSXV2iQFjuYW31DEhcCOD/bQ98VdfltLclK4p1mI6E58Qp4Q7+5RCbBdr+Nc9b5QhA==} + engines: {node: '>=10'} + aproba@2.1.0: resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==} @@ -2910,9 +3403,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -3124,13 +3614,6 @@ packages: '@babel/core': ^7.0.0 webpack: '>=2' - babel-loader@9.2.1: - resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - babel-messages@6.23.0: resolution: {integrity: sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==} @@ -3149,6 +3632,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + babel-plugin-debug-macros@2.0.0: + resolution: {integrity: sha512-7ZaLtXIY01PAPhLyjV3OACePnl+X5iQO7F4O/sOJHTfMf/36zyu14uVUxNiZmOUntYBsyT/VVplf1LrH6NcwvQ==} + engines: {node: '>=16'} + peerDependencies: + '@babel/core': ^7.0.0 + babel-plugin-ember-data-packages-polyfill@0.1.2: resolution: {integrity: sha512-kTHnOwoOXfPXi00Z8yAgyD64+jdSXk3pknnS7NlqnCKAU6YDkXZ4Y7irl66kaZjZn0FBBt0P4YOZFZk85jYOww==} engines: {node: 6.* || 8.* || 10.* || >= 12.*} @@ -3157,14 +3646,14 @@ packages: resolution: {integrity: sha512-pJajN/DkQUnStw0Az8c6khVcMQHgzqWr61lLNtVeu0g61LRW0k9jyK7vaedrHDWGe/Qe8sxG5wpiyW9NsMqFzA==} engines: {node: 6.* || 8.* || >= 10.*} - babel-plugin-ember-template-compilation@2.3.0: - resolution: {integrity: sha512-4ZrKVSqdw5PxEKRbqfOpPhrrNBDG3mFPhyT6N1Oyyem81ZIkCvNo7TPKvlTHeFxqb6HtUvCACP/pzFpZ74J4pg==} - engines: {node: '>= 12.*'} - babel-plugin-ember-template-compilation@2.4.1: resolution: {integrity: sha512-n+ktQ3JeyWrpRutSyPn2PsHeH+A94SVm+iUoogzf9VUqpP47FfWem24gpQXhn+p6+x5/BpuFJXMLXWt7ZoYAKA==} engines: {node: '>= 12.*'} + babel-plugin-ember-template-compilation@3.0.1: + resolution: {integrity: sha512-3fUgnv+azabsl2PMd+SpkV8E7vvp7oRLaXv+OJIe36G3niSVYDKJ+7n6WaPyh+z7gqeAKSBj7Bdc5dYbhEMsgQ==} + engines: {node: '>= 18.*'} + babel-plugin-htmlbars-inline-precompile@5.3.1: resolution: {integrity: sha512-QWjjFgSKtSRIcsBhJmEwS2laIdrA6na8HAlc/pEAhjHgQsah/gMiBFRZvbQTy//hWxR4BMwV7/Mya7q5H8uHeA==} engines: {node: 10.* || >= 12.*} @@ -3309,8 +3798,8 @@ packages: babel-register@6.26.0: resolution: {integrity: sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==} - babel-remove-types@1.0.1: - resolution: {integrity: sha512-au+oEGwCCxqb8R0x8EwccTVtWCP4lFkNpHV5skNZnNCwvar3DBBkmGZbx2B1A3RaCHVLQrxF6qv6rR/ZDRPW+A==} + babel-remove-types@1.0.2: + resolution: {integrity: sha512-X2lmGht7sGkDgpBIaTmr8b/0aXKkMeHeJ5W0HgOdMp1KHyE3PHySHYfbYrfkVoISQsHppNv9yA+pDwhWqaxBSA==} babel-runtime@6.26.0: resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} @@ -3354,6 +3843,10 @@ packages: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} engines: {node: '>=0.10.0'} + baseline-browser-mapping@2.8.17: + resolution: {integrity: sha512-j5zJcx6golJYTG6c05LUZ3Z8Gi+M62zRT/ycz4Xq4iCOdpcxwg7ngEYD4KA0eWZC7U17qh/Smq8bYbACJ0ipBA==} + hasBin: true + basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} @@ -3379,10 +3872,6 @@ packages: big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - binaryextensions@2.3.0: resolution: {integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==} engines: {node: '>=0.8'} @@ -3425,8 +3914,8 @@ packages: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - bowser@2.12.0: - resolution: {integrity: sha512-HcOcTudTeEWgbHh0Y1Tyb6fdeR71m4b/QACf0D4KswGTsNeIJQmg38mRENZPAYPZvGFN3fk3604XbQEPdxXdKg==} + bowser@2.12.1: + resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==} boxen@7.1.1: resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} @@ -3560,17 +4049,9 @@ packages: resolution: {integrity: sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==} engines: {node: 10.* || >= 12.*} - broccoli-postcss-single@5.0.2: - resolution: {integrity: sha512-r4eWtz/5uihtHwOszViWwV6weJr9VryvaqtVo1DOh4gL+TbTyU+NX+Y+t9TqUw99OtuivMz4uHLLH7zZECbZmw==} - engines: {node: '>= 10'} - - broccoli-postcss@6.1.0: - resolution: {integrity: sha512-I8+DHq5xcCBHU0PpCtDMayAmSUVx07CqAquUpdlNUHckXeD//cUFf4aFQllnZBhF8Z86YLhuA+j7qvCYYgBXRg==} - engines: {node: '>= 10'} - - broccoli-rollup@2.1.1: - resolution: {integrity: sha512-aky/Ovg5DbsrsJEx2QCXxHLA6ZR+9u1TNVTf85soP4gL8CjGGKQ/JU8R3BZ2ntkWzo6/83RCKzX6O+nlNKR5MQ==} - engines: {node: '>=4.0'} + broccoli-replace@2.0.2: + resolution: {integrity: sha512-1e8uyGUo8HqiKKB4oWz5nUX1rlLSRgShLxczuwSXJlmGljVWerDGF0oW5VshGAuKKYkAoDsI3Cc0TKEgo4SWTg==} + engines: {node: '>=10'} broccoli-slow-trees@3.1.0: resolution: {integrity: sha512-FRI7mRTk2wjIDrdNJd6znS7Kmmne4VkAkl8Ix1R/VoePFMD0g0tEl671xswzFqaRjpT9Qu+CC4hdXDLDJBuzMw==} @@ -3590,17 +4071,10 @@ packages: resolution: {integrity: sha512-NXfi+Vas24n3Ivo21GvENTI55qxKu7OwKRnCLWXld8MiLiQKQlWIq28eoARaFj0lTUFwUa4jKZeA7fW9PiWQeg==} engines: {node: 8.* || >= 10.*} - broccoli-string-replace@0.1.2: - resolution: {integrity: sha512-QHESTrrrPlKuXQNWsvXawSQbV2g34wCZ5oKgd6bntdOuN8VHxbg1BCBHqVY5HxXJhWelimgGxj3vI7ECkyij8g==} - broccoli-svg-optimizer@2.1.0: resolution: {integrity: sha512-fGB4WUF8R9tHUf6M2t8F38ILLdVy+CQVaOFwHavaaXPD0kkoTsHjBE7erQZuk0PrioqLIoyA9dkeNMlGwohReA==} engines: {node: 12.* || 14.* || >= 16} - broccoli-templater@2.0.2: - resolution: {integrity: sha512-71KpNkc7WmbEokTQpGcbGzZjUIY1NSVa3GB++KFKAfx5SZPUozCOsBlSTwxcv8TLoCAqbBnsX5AQPgg6vJ2l9g==} - engines: {node: 6.* || >= 8.*} - broccoli-terser-sourcemap@4.1.1: resolution: {integrity: sha512-8sbpRf0/+XeszBJQM7vph2UNj4Kal0lCI/yubcrBIzb2NvYj5gjTHJABXOdxx5mKNmlCMu2hx2kvOtMpQsxrfg==} engines: {node: ^10.12.0 || 12.* || >= 14} @@ -3612,9 +4086,6 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - browser-process-hrtime@1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - browserify-aes@1.2.0: resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} @@ -3628,16 +4099,23 @@ packages: resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} engines: {node: '>= 0.10'} - browserify-sign@4.2.3: - resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} - engines: {node: '>= 0.12'} + browserify-sign@4.2.5: + resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} + engines: {node: '>= 0.10'} + + browserslist-to-esbuild@2.1.1: + resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + browserslist: '*' browserslist@3.2.8: resolution: {integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==} hasBin: true - browserslist@4.25.2: - resolution: {integrity: sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==} + browserslist@4.26.3: + resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -3701,8 +4179,8 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - cacheable@1.10.4: - resolution: {integrity: sha512-Gd7ccIUkZ9TE2odLQVS+PDjIvQCdJKUlLdJRVvZu0aipj07Qfx+XIej7hhDrKGGoIxV5m5fT/kOJNJPQhQneRg==} + cacheable@2.1.0: + resolution: {integrity: sha512-zzL1BxdnqwD69JRT0dihnawAcLkBMwAH+hZSKjUzeBbPedVhk3qYPjRw9VOMYWwt5xRih5xd8S+3kEdGohZm/g==} calculate-cache-key-for-tree@2.0.0: resolution: {integrity: sha512-Quw8a6y8CPmRd6eU+mwypktYCwUcf8yVFIRbNZ6tPQEckX9yd+EBVEPC/GSZZrMWH9e7Vz4pT7XhpmyApRByLQ==} @@ -3736,10 +4214,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -3756,11 +4230,8 @@ packages: resolution: {integrity: sha512-RbsNrFyhwkx+6psk/0fK/Q9orOUr9VMxohGd8vTa4djf4TGLfblBgUfqZChrZuW0Q+mz2eBPFLusw9Jfukzmhg==} hasBin: true - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - - caniuse-lite@1.0.30001735: - resolution: {integrity: sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==} + caniuse-lite@1.0.30001751: + resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} capture-exit@2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} @@ -3789,12 +4260,19 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@2.1.0: + resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} + charm@1.0.2: resolution: {integrity: sha512-wqW3VdPnlSWT4eRiYX+hcs+C6ViBPUWk1qTCd+37qw9kEm/a5n2qcyQDMBWvSYKN/ctqZzeXNQaeBjOetJJUkw==} @@ -3805,14 +4283,14 @@ packages: resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} engines: {node: '>=20.18.1'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + chrome-launcher@0.15.2: resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} engines: {node: '>=12.13.0'} @@ -3832,12 +4310,12 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.3.0: - resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} engines: {node: '>=8'} - cipher-base@1.0.6: - resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + cipher-base@1.0.7: + resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} engines: {node: '>= 0.10'} class-utils@0.3.6: @@ -3928,6 +4406,11 @@ packages: resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} engines: {node: '>=0.10.0'} + coffeescript@1.12.7: + resolution: {integrity: sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==} + engines: {node: '>=0.8.0'} + hasBin: true + collection-visit@1.0.0: resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} engines: {node: '>=0.10.0'} @@ -3942,9 +4425,9 @@ packages: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name-list@10.28.1: - resolution: {integrity: sha512-ojzUmul10ikVk4tZaLGnFBIwvL6ojFGuq+NplQ3dbltQkVmIvGnatJw0JmCSgK6scd1+Sgl1yOdT86IwcN9xbQ==} - engines: {node: '>=16', npm: '>=8.11.0'} + color-name-list@13.1.0: + resolution: {integrity: sha512-/LBEnck6dYDYiBxesroBC4trE12MMIVAiuzsKBhuqO9dK80yDuPzUOoN+FcI6V4MzxTGODjykh4t9pDwOf52dw==} + engines: {node: '>=20.11.0', npm: '>=10.2.0'} color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} @@ -4000,9 +4483,6 @@ packages: common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} @@ -4028,8 +4508,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concurrently@9.2.0: - resolution: {integrity: sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==} + concurrently@9.2.1: + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} engines: {node: '>=18'} hasBin: true @@ -4273,8 +4753,8 @@ packages: resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} engines: {node: '>=0.10.0'} - core-js-compat@3.45.0: - resolution: {integrity: sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==} + core-js-compat@3.46.0: + resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==} core-js@2.6.12: resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} @@ -4319,9 +4799,6 @@ packages: create-ecdh@4.0.4: resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} - create-hash@1.1.3: - resolution: {integrity: sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==} - create-hash@1.2.0: resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} @@ -4358,6 +4835,10 @@ packages: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} engines: {node: '>=12'} + cson-parser@4.0.9: + resolution: {integrity: sha512-I79SAcCYquWnEfXYj8hBqOOWKj6eH6zX1hhX3yqmS4K3bYp7jME3UFpHPzu3rUew0oyfc0s8T6IlWGXRAheHag==} + engines: {node: '>=10.13'} + css-functions-list@3.2.3: resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==} engines: {node: '>=12 || >=16'} @@ -4385,10 +4866,6 @@ packages: resolution: {integrity: sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==} engines: {node: '>=0.10.0'} - css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} - css-tree@3.1.0: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} @@ -4410,20 +4887,6 @@ packages: resolution: {integrity: sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==} engines: {node: '>=0.10.0'} - csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} - - cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - - cssom@0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} - - cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} - cssstyle@4.6.0: resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} @@ -4443,10 +4906,6 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - data-urls@2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} - data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -4463,10 +4922,6 @@ packages: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} - date-time@2.1.0: - resolution: {integrity: sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==} - engines: {node: '>=4'} - debounce-fn@4.0.0: resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} engines: {node: '>=10'} @@ -4496,8 +4951,8 @@ packages: supports-color: optional: true - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -4620,12 +5075,12 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + detect-indent@7.0.2: + resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} engines: {node: '>=12.20'} - detect-libc@2.0.4: - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} detect-newline@3.1.0: @@ -4639,9 +5094,6 @@ packages: detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - diff@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} @@ -4660,9 +5112,6 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dom-element-descriptors@0.5.1: resolution: {integrity: sha512-DLayMRQ+yJaziF4JJX1FMjwjdr7wdTr1y9XvZ+NfHELfOMcYDnCHneAYXAS4FT1gLILh4V0juMZohhH1N5FsoQ==} @@ -4678,11 +5127,6 @@ packages: domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - domexception@2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} - deprecated: Use your platform's native DOMException instead - domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} @@ -4728,9 +5172,6 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-debug@3.2.0: - resolution: {integrity: sha512-7xZh+LfUvJ52M9rn6N+tPuDw6oRAjxUj9SoxAZfJ0hVCXhZCsdkrSt7TgXOiWiEOBgEV8qwUIO/ScxllsPS7ow==} - electron-dl@3.5.2: resolution: {integrity: sha512-i104cl+u8yJ0lhpRAtUWfeGuWuL1PL6TBiw2gLf0MMIBjfgE485Ags2mcySx4uWU9P9uj/vsD3jd7X+w1lzZxw==} engines: {node: '>=12'} @@ -4761,18 +5202,9 @@ packages: engines: {node: '>= 10.0'} hasBin: true - electron-is-accelerator@0.1.2: - resolution: {integrity: sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA==} - - electron-is-dev@1.2.0: - resolution: {integrity: sha512-R1oD5gMBPS7PVU8gJwH6CtT0e6VSoD0+SzSnYpNm+dBkcijgA+K7VAMHDfnRq/lkKPZArpzplTW6jfiMYosdzw==} - electron-is-dev@2.0.0: resolution: {integrity: sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==} - electron-localshortcut@3.2.1: - resolution: {integrity: sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==} - electron-positioner@4.1.0: resolution: {integrity: sha512-726DfbI9ZNoCg+Fcu6XLuTKTnzf+6nFqv7h+K/V6Ug7IbaPMI7s9S8URnGtWFCy5N5PL4HSzRFF2mXuinftDdg==} @@ -4782,15 +5214,15 @@ packages: electron-store@8.2.0: resolution: {integrity: sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw==} - electron-to-chromium@1.5.203: - resolution: {integrity: sha512-uz4i0vLhfm6dLZWbz/iH88KNDV+ivj5+2SA+utpgjKaj9Q0iDLuwk6Idhe9BTxciHudyx6IvTvijhkPvFGUQ0g==} + electron-to-chromium@1.5.237: + resolution: {integrity: sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==} electron-winstaller@5.4.0: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} engines: {node: '>=8.0.0'} - electron@33.4.11: - resolution: {integrity: sha512-xmdAs5QWRkInC7TpXGNvzo/7exojubk+72jn1oJL7keNeIlw7xNglf8TGtJtkR4rWC5FJq0oXiIXPS9BcK2Irg==} + electron@37.7.0: + resolution: {integrity: sha512-LBzvfrS0aalynOsnC11AD7zeoU8eOois090mzLpQM3K8yZ2N04i2ZW9qmHOTFLrXlKvrwRc7EbyQf1u8XHMl6Q==} engines: {node: '>= 12.20.55'} hasBin: true @@ -4808,10 +5240,14 @@ packages: '@ember/test-helpers': optional: true - ember-auto-import@2.10.0: - resolution: {integrity: sha512-bcBFDYVTFHyqyq8BNvsj6UO3pE6Uqou/cNmee0WaqBgZ+1nQqFz0UE26usrtnFAT+YaFZSkqF2H36QW84k0/cg==} + ember-auto-import@2.11.1: + resolution: {integrity: sha512-teiDrL6J5nUbwQ6AZ29qKRibdkDYrdY8YNXhJNwnnso3mgqZjvWW5TA0W2HdB0gTSz1BcTg9kWJi45zn04b+IA==} engines: {node: 12.* || 14.* || >= 16} + ember-cache-primitive-polyfill@1.0.1: + resolution: {integrity: sha512-hSPcvIKarA8wad2/b6jDd/eU+OtKmi6uP+iYQbzi5TQpjsqV6b4QdRqrLk7ClSRRKBAtdTuutx+m+X+WlEd2lw==} + engines: {node: 10.* || >= 12} + ember-cli-app-version@7.0.0: resolution: {integrity: sha512-zWIkxvlRrW7w1/vp+bGkmS27QsVum7NKp8N9DgAjhFMWuKewVqGyl/jeYaujMS/I4WSKBzSG9WHwBy2rjbUWxA==} engines: {node: '>= 18'} @@ -4855,7 +5291,7 @@ packages: ember-cli-flash@5.1.0: resolution: {integrity: sha512-PvwPdXQ9mZdqgvNI/vh9Yij95ydedcOO8YYvWJcCqnk6ZoOO3a2mEVZmXltW1asztzp0AgFkGaOV0EPQDlDv1A==} peerDependencies: - '@ember/string': '>= 3.0.0' + '@ember/string': ^4.0.1 '@embroider/macros': ^1.13.2 ember-modifier: '>= 4.0.0' @@ -4883,10 +5319,6 @@ packages: ember-cli-path-utils@1.0.0: resolution: {integrity: sha512-Qq0vvquzf4cFHoDZavzkOy3Izc893r/5spspWgyzLCPTaG78fM3HsrjZm7UWEltbXUqwHHYrqZd/R0jS08NqSA==} - ember-cli-postcss@8.2.0: - resolution: {integrity: sha512-S2HQqmNtcezmLSt/OPZKCXg+aRV7yFoZp+tn1HCLSbR/eU95xl7MWxTjbj/wOIGMfhggy/hBT2+STDh8mGuVpw==} - engines: {node: '>= 14'} - ember-cli-preprocess-registry@5.0.1: resolution: {integrity: sha512-Jb2zbE5Kfe56Nf4IpdaQ10zZ72p/RyLdgE5j5/lKG3I94QHlq+7AkAd18nPpb5OUeRUT13yQTAYpU+MbjpKTtg==} engines: {node: 16.* || >= 18} @@ -4909,10 +5341,6 @@ packages: resolution: {integrity: sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==} engines: {node: 8.* || >= 10.*} - ember-cli-typescript@4.2.1: - resolution: {integrity: sha512-0iKTZ+/wH6UB/VTWKvGuXlmwiE8HSIGcxHamwNhEC5x1mN3z8RfvsFZdQWYUzIWFN2Tek0gmepGRPTwWdBYl/A==} - engines: {node: 10.* || >= 12.*} - ember-cli-typescript@5.3.0: resolution: {integrity: sha512-gFA+ZwmsvvFwo2Jz/B9GMduEn+fPoGb69qWGP0Tp3+Tu5xypDtIKVSZ5086I3Cr19cLXD4HkrOR3YQvdUKzAkQ==} engines: {node: '>= 12.*'} @@ -4933,19 +5361,20 @@ packages: resolution: {integrity: sha512-rk7GY+FmLn/2e22HsZs0Ycrz8HQ1W3Fv+2TFOuEFW9optnDXDgkntPBIl6gact/LHsfBM5RKbM3dHsIIeLgl0Q==} engines: {node: 10.* || >= 12.*} - ember-cli@6.4.0: - resolution: {integrity: sha512-adcz01uGDrqBPniZrrYx6+tHe58ikc6j+cbX4+3aTG2OVJvQSL+LeisI6ixxtEZeklHRFB6FE6U1etTS6nRVfQ==} - engines: {node: '>= 18'} + ember-cli@6.8.0: + resolution: {integrity: sha512-qUMfPDvyMUWjK+na34YHv/8AQGn5WJTcCL5qaMwa5MLi2hnKBzvCBwd99nORJdLG9GpCxYzxFQ+txyEkfmvk7g==} + engines: {node: '>= 20.11'} hasBin: true ember-click-outside@6.1.1: resolution: {integrity: sha512-1SOW92/k5vm+QiLBdkiSxkxSEzvA1vWdVVAI5RLV9JFztA5cSEKB2m2+10Gvw90ItxekY92JVXXTXIPUcPBqYg==} - ember-cognito@2.0.0: - resolution: {integrity: sha512-sOnKjKfS+ihVwZX+ZPGbqci5SOmXLj6NEoUHeySw7zByGnZn7nanNViZud5a0hcJWbr9Nrz2Ur3Q6aYTgx6fJA==} - engines: {node: 16.* || >= 18} + ember-cognito@3.0.1: + resolution: {integrity: sha512-39e8NKT9wdjUre5lLc3nywWiVz+HkvOm+43A626/jMMe7tdDdkpC4ubmdLzlXdz1lrgVzUE9b2mOQ2wI9aWbBA==} + engines: {node: '>= 20.11'} peerDependencies: - ember-simple-auth: ^4.0.0 || ^5.0.0 || >= 6.0.0 + ember-simple-auth: '>= 6.0.0' + ember-source: '>= 4.0.0' ember-compatibility-helpers@1.2.7: resolution: {integrity: sha512-BtkjulweiXo9c3yVWrtexw2dTmBrvavD/xixNC6TKOBdrixUwU+6nuOO9dufDWsMxoid7MvtmDpzc9+mE8PdaA==} @@ -4968,16 +5397,10 @@ packages: resolution: {integrity: sha512-63vZPntPn1aqMyeNRLoYjJD+8A8obd+c2iZkJflswpDRNVIsp2m7aQdSCtPt4G0U/TEq2251g+N10maHX3rnJQ==} engines: {node: '>= 8.*'} - ember-drag-sort@3.0.1: - resolution: {integrity: sha512-yVCS+OjRBQUv18kZ8Uq8fQXxCqtFYB+oC4Vlm3WBICgNztL9nxeup/UnQddm1RIoosCeuFruLvPXPAiSXW5KWw==} - engines: {node: '>= 12.*'} - - ember-electron@7.0.0: - resolution: {integrity: sha512-GO8Kju74otgYERWsvlHQdVfeFrkReBWscx6TqngTB8o6XmYDkhv9oUpWJqExZ21/4q0wwg55CqOL9zPkFOzxqQ==} - engines: {node: '>= 18'} + ember-drag-sort@4.1.1: + resolution: {integrity: sha512-/OdAf/qzOft/Hp6GTvr+QVXDQwlOJ0soCvmtv0YPaa5A6p6t8IZTZCSJ2XPpZayyDQ5OnESlhMPj2oY33i6AvA==} + engines: {node: '>= 20'} peerDependencies: - ember-cli: '>= 3.4.0' - ember-cli-dependency-checker: '>= 3.1.0' ember-source: '>= 4.0.0' ember-element-helper@0.8.8: @@ -4998,21 +5421,14 @@ packages: resolution: {integrity: sha512-fWcbWd4W4nRv8bbato8JB6oGRpATkR+oGYxMIqnfgTgPWaCS0ww7CuUVNpwg1TulojKMCuTXi8Fem2b1NSF1ZQ==} engines: {node: 8.* || >= 10.*} - ember-fetch@8.1.2: - resolution: {integrity: sha512-TVx24/jrvDIuPL296DV0hBwp7BWLcSMf0I8464KGz01sPytAB+ZAePbc9ooBTJDkKZEGFgatJa4nj3yF1S9Bpw==} - engines: {node: '>= 10'} - ember-functions-as-helper-polyfill@2.1.3: resolution: {integrity: sha512-Hte8jfOmSNzrz/vOchf68CGaBWXN2/5qKgFaylqr9omW2i4Wt9JmaBWRkeR0AJ53N57q3DX2TOb166Taq6QjiA==} engines: {node: '>= 14.0.0'} peerDependencies: ember-source: ^3.25.0 || >=4.0.0 - ember-inflector@4.0.3: - resolution: {integrity: sha512-E+NnmzybMRWn1JyEfDxY7arjOTJLIcGjcXnUxizgjD4TlvO1s3O65blZt+Xq2C2AFSPeqHLC6PXd6XHYM8BxdQ==} - engines: {node: 14.* || 16.* || >= 18} - peerDependencies: - ember-source: ^3.16.0 || ^4.0.0 || ^5.0.0 + ember-inflector@6.0.0: + resolution: {integrity: sha512-g6trqBhQHRwlq9bBmoyxhAl0tD0/CaTKK0xWPUgi3BfxFOgGG1bbiwAx+tjyiAkLzDqU+ihyjtT+sd41y6K1hA==} ember-inputmask@2.0.0: resolution: {integrity: sha512-xkzf0Syazj0ZNztFiuCpU6cR+erIhJv/QPhedLdOxX0eBEhoqdMdjs5QPuxJmOaXC/d0UCnSdWSlMkirTl0qdQ==} @@ -5043,14 +5459,29 @@ packages: ember-modifier@4.2.2: resolution: {integrity: sha512-pPYBAGyczX0hedGWQFQOEiL9s45KS9efKxJxUQkMLjQyh+1Uef1mcmAGsdw2KmvNupITkE/nXxmVO1kZ9tt3ag==} - ember-orbit@0.17.3: - resolution: {integrity: sha512-Fy/XehOYWBmzstnlJNTwIV6xOUfwtdHfh6ijCItB63ieavGpBZiRXVOIR0h6Ps9YR/IV2cR2Csw4ctuVrKcFRw==} - engines: {node: 12.* || 14.* || >= 16} + ember-orbit@0.20.0: + resolution: {integrity: sha512-u+rKOlfSOVkJIprZKP4L1x/9dcogMTzSNL4m+r9Rwtfxavn0xMqkUuA97wa9rtHcF15G4vdKk1oRDxmFFKimLw==} + engines: {node: '>= 20.11'} peerDependencies: - ember-source: '>= 3.24.0' + ember-source: '>= 4.0.0' + + ember-primitives@0.40.0: + resolution: {integrity: sha512-qnxMvkVEuq40mHrwvQkx/fndi9xCBpIaylU2MMqCyZQ0wnAmnZkUn9nxT/GVqTNwajIfjtoV+JP8jNrXvGuzLA==} + peerDependencies: + '@ember/test-helpers': '>= 3.2.0' + '@ember/test-waiters': '>= 3.0.2' + '@glimmer/component': ^2.0.0 + '@glint/template': '>= 1.0.0' + ember-modifier: '>= 4.1.0' + ember-resources: '>= 6.1.0' + peerDependenciesMeta: + '@ember/test-helpers': + optional: true + '@glint/template': + optional: true - ember-qunit@9.0.3: - resolution: {integrity: sha512-t+FD5/EWAR3WvGVj1etblFJJ6CaJqddDxusNcYYFZmW7zrQpCnQ9ziwpXM5/sw1sWabkhJZgYPXCn8bDRRhOfg==} + ember-qunit@9.0.4: + resolution: {integrity: sha512-rv6gKvrdXdPBTdSZC5co82eIcDWWVR7RjafU/c+5TTz290oXhIHPoVuZbcO2F5RiAqkTW0jKzwkCP8y+2tCjFw==} peerDependencies: '@ember/test-helpers': '>=3.0.3' qunit: ^2.13.0 @@ -5059,6 +5490,15 @@ packages: resolution: {integrity: sha512-rA4RDuTm/F9AzYX2+g7EY3QWU48kyF9+Ck8IE8VQipnlwv2Q42kdRWiw7hfeQbRxx6XoSZCak6nzAG9ePd/+Ug==} engines: {node: 14.* || 16.* || >= 18} + ember-resources@7.0.7: + resolution: {integrity: sha512-0tEfLTi9hHNwZaBsTjLf+by+YXHL4Zj2VITLfFkcqJiwHIIsBnOddxtTSrjRmYLJd6L3JXfaMcVdUwT+B050Ww==} + peerDependencies: + '@glimmer/component': '>= 1.1.2 || >= 2.0.0' + '@glint/template': '>= 1.0.0' + peerDependenciesMeta: + '@glimmer/component': + optional: true + ember-rfc176-data@0.3.18: resolution: {integrity: sha512-JtuLoYGSjay1W3MQAxt3eINWXNYYQliK90tLwtb8aeCuQK8zKGCRbBodVIrkcTqshULMnRuTOS6t1P7oQk3g6Q==} @@ -5073,11 +5513,11 @@ packages: resolution: {integrity: sha512-SEsTwFp9SHTg4LgebhkUuLgYWg1VZD7I1QcrV2sTY583wu216OThoSs5szvS/KgSc1xD1Z22TFvOb848t2hGfw==} engines: {node: 10.* || 12.* || >= 14.*} - ember-set-helper@3.0.1: - resolution: {integrity: sha512-Ord3CuttDiF88wiNpHNDjf4aFKPnHSkpeK7zFfH9nV7YdDFSJissDCZEg42A0ReWY1WuqWbc2hMl5XkgupdyZQ==} + ember-set-helper@3.1.0: + resolution: {integrity: sha512-5BTcvqktYjpDbi1HRaSKjuIZsSioilWczDDY3AevwbxoEiasfQMLuXFJkiCKm4aW34OXz652Upo7mumCVXJKOw==} - ember-simple-auth@8.0.0: - resolution: {integrity: sha512-ylFiMivRQgoBBOrTanml8AFiWivRy5LnHacmTMXdq8DEkWDqaswAE2xGzEejDnUbRKQXM9/T9Qym3dhnWmXUMw==} + ember-simple-auth@8.0.1: + resolution: {integrity: sha512-fWfIAmlu84bMT3vcCg9FLsuJztY0inR5quwdidiQgx0TSPoOqg5NOYIBhxrWLTgvEN7T466vyH2CcX2adii0Yw==} peerDependencies: '@ember/test-helpers': '>= 3 || > 2.7' ember-source: '>=4.0' @@ -5098,8 +5538,11 @@ packages: peerDependencies: '@glimmer/component': ^1.1.2 - ember-svg-jar@2.6.3: - resolution: {integrity: sha512-+hgqDIVmtyHcBWOKfRlvxWvTWGJ8Ly4t9NjGsRGSu8qfP/w/TP6IgYJNUgN9MU9ZkU24Sg02RzIkfuXvIhoYJg==} + ember-strict-application-resolver@0.1.0: + resolution: {integrity: sha512-dmVJPLDoltiB5PN4xhUmg9JrUMPJxdeIlwqUtRBvIHpOLrbi069m7AvXGEh0b+Pq7g1HkLwt/lMm6ouHVry7hQ==} + + ember-svg-jar@2.7.0: + resolution: {integrity: sha512-tghuJ8loGNGrTl2B2sJxN/PrYw/oxghitEZS8tTyBJbAet79Sz+mto36rBO+nVhI7HdeLQfLrFLI1KlHUjCNhQ==} engines: {node: 12.* || 14.* || >= 16} ember-template-imports@4.3.0: @@ -5124,8 +5567,8 @@ packages: peerDependencies: ember-source: '>=3.28.0' - emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5198,8 +5641,8 @@ packages: resolution: {integrity: sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==} engines: {node: '>=0.8'} - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -5243,6 +5686,11 @@ packages: es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + esbuild@0.25.11: + resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -5285,14 +5733,14 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-config-prettier@9.1.2: - resolution: {integrity: sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==} + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-plugin-ember@12.7.0: - resolution: {integrity: sha512-QkKzUzmWjSjscJLNYlkPv1ug5B5/Ec/7/MEEjDZxthzHO9VhnyMZ0shwvCztLTvB5D7LO67E7Zmpwb4YyBoFMA==} + eslint-plugin-ember@12.7.4: + resolution: {integrity: sha512-0q6C9VEnHe9hbgs6TgFWHVyEZRrPwOdkqkiLFh7HkxQH0Y/RhCLCLiU695sfTacIk8ofzLcQSp9Fhd1WIZY9eA==} engines: {node: 18.* || 20.* || >= 21} peerDependencies: '@typescript-eslint/parser': '*' @@ -5307,8 +5755,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-n@17.21.3: - resolution: {integrity: sha512-MtxYjDZhMQgsWRm/4xYLL0i2EhusWT7itDxlJ80l1NND2AL2Vi5Mvneqv/ikG9+zpran0VsVRXTEHrpLmUZRNw==} + eslint-plugin-n@17.23.1: + resolution: {integrity: sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -5347,8 +5795,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.33.0: - resolution: {integrity: sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==} + eslint@9.37.0: + resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -5391,8 +5839,8 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -5457,8 +5905,8 @@ packages: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} - exponential-backoff@3.1.2: - resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} express@4.21.2: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} @@ -5527,8 +5975,8 @@ packages: resolution: {integrity: sha512-7h9/x25c6AQwdU3mA8MZDUMR3UCy50f237egBrBkuwjnUZSmfu4ptCf91PZSKzON2Uh5VvIHozYKWcPPgcjxIw==} engines: {node: 10.* || >= 12.*} - fast-uri@3.0.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} @@ -5618,10 +6066,6 @@ packages: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} - find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - find-index@1.1.1: resolution: {integrity: sha512-XYKutXMrIK99YMUPf91KX5QVJoG31/OsgftD6YoTPAObfQIxM4ziA9f0J1AsqKhJmo+IeaIPP0CFopTD4bdUBw==} @@ -5641,10 +6085,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - find-yarn-workspace-root@2.0.0: resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} @@ -5674,8 +6114,8 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flat-cache@6.1.13: - resolution: {integrity: sha512-gmtS2PaUjSPa4zjObEIn4WWliKyZzYljgxODBfxugpK6q6HU9ClXzgCJ+nlcPKY9Bt090ypTOLIFWkV0jbKFjw==} + flat-cache@6.1.18: + resolution: {integrity: sha512-JUPnFgHMuAVmLmoH9/zoZ6RHOt5n9NlUw/sDXsTbROJ2SFoS2DS4s+swAV6UTeTbGH/CAsZIE6M8TaG/3jVxgQ==} flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} @@ -5707,10 +6147,6 @@ packages: resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} engines: {node: '>=0.10.0'} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} @@ -5718,14 +6154,13 @@ packages: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} + form-data-utils@0.6.0: + resolution: {integrity: sha512-UaKdH5OKyNJYnTTzypNiGSC3vQr99zboZQDAQ/FCSOwp4DT9j/RREQf5hPdVG3pt0d08SklYCtVTdqUzxG1CGg==} + form-data@2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} - form-data@3.0.4: - resolution: {integrity: sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==} - engines: {node: '>= 6'} - form-data@4.0.4: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} @@ -5753,8 +6188,8 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.3.1: - resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} + fs-extra@11.3.2: + resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} engines: {node: '>=14.14'} fs-extra@4.0.3: @@ -5838,6 +6273,10 @@ packages: generate-object-property@1.2.0: resolution: {integrity: sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==} + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -5886,8 +6325,8 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.10.1: - resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + get-tsconfig@4.12.0: + resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==} get-uri@6.0.5: resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} @@ -5924,10 +6363,6 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - glob@5.0.15: resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} deprecated: Glob versions prior to v9 are no longer supported @@ -5977,6 +6412,10 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} + globals@16.4.0: + resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} + engines: {node: '>=18'} + globals@9.18.0: resolution: {integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==} engines: {node: '>=0.10.0'} @@ -6102,13 +6541,14 @@ packages: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hash-base@2.0.2: - resolution: {integrity: sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==} - hash-base@3.0.5: resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} engines: {node: '>= 0.10'} + hash-base@3.1.2: + resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} + engines: {node: '>= 0.8'} + hash-for-dep@1.5.1: resolution: {integrity: sha512-/dQ/A2cl7FBPI2pO0CANkvuuVi/IFS5oTyJ0PsOb6jW6WbVW1js5qJXMJTNbWHXBIPdFTWFbabjB+mE0d+gelw==} @@ -6119,8 +6559,8 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - heimdalljs-fs-monitor@1.1.1: - resolution: {integrity: sha512-BHB8oOXLRlrIaON0MqJSEjGVPDyqt2Y6gu+w2PaEZjrCxeVtZG7etEZp7M4ZQ80HNvnr66KIQ2lot2qdeG8HgQ==} + heimdalljs-fs-monitor@1.1.2: + resolution: {integrity: sha512-M7OPf3Tu+ybhAXdiC07O1vUYFyhCgfew4L3vaG2nn4Be05xzNvtBcU6IKMTfHJ9AxWFa3w9rrmiJovkxHhpopw==} heimdalljs-graph@1.0.0: resolution: {integrity: sha512-v2AsTERBss0ukm/Qv4BmXrkwsT5x6M1V5Om6E8NcDQ/ruGkERsfsuLi5T8jx8qWzKMGYlwzAd7c/idymxRaPzA==} @@ -6158,8 +6598,8 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} - hookified@1.11.0: - resolution: {integrity: sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==} + hookified@1.12.2: + resolution: {integrity: sha512-aokUX1VdTpI0DUsndvW+OiwmBpKCu/NgRsSSkuSY0zq8PY6Q6a+lmOfAFDXAAOtBqJELvcWY9L1EVtzjbQcMdg==} hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -6172,10 +6612,6 @@ packages: resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} engines: {node: ^18.17.0 || >=20.5.0} - html-encoding-sniffer@2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} - html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -6263,6 +6699,10 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + icss-utils@5.1.0: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} @@ -6305,6 +6745,9 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + imul@1.0.1: resolution: {integrity: sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==} engines: {node: '>=0.10.0'} @@ -6313,9 +6756,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - include-path-searcher@0.1.0: - resolution: {integrity: sha512-KlpXnsZOrBGo4PPKqPFi3Ft6dcRyh8fTaqgzqDRi8jKAsngJEWWOxeFIWC8EfZtXKaZqlsNf9XRwcQ49DVgl/g==} - indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} @@ -6363,8 +6803,8 @@ packages: resolution: {integrity: sha512-B2LafrnnhbRzCWfAdOXisUzL89Kg8cVJlYmhqoi3flSiV/TveO+nsXwgKr9h9PIo+J1hz7nBSk6gegRIMBBf7g==} engines: {node: '>=14.18.0'} - inquirer@9.3.7: - resolution: {integrity: sha512-LJKFHCSeIRq9hanN14IlOtPSTe3lNES7TYDTE2xxdAy1LS5rYphajK1qtwvj3YmQXvvk0U2Vbmcni8P9EIQW9w==} + inquirer@9.3.8: + resolution: {integrity: sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w==} engines: {node: '>=18'} internal-slot@1.1.0: @@ -6417,10 +6857,6 @@ packages: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-boolean-object@1.2.2: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} @@ -6510,8 +6946,8 @@ packages: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} is-git-url@1.0.0: @@ -6559,8 +6995,8 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-npm@6.0.0: - resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + is-npm@6.1.0: + resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} is-number-object@1.1.1: @@ -6605,9 +7041,6 @@ packages: is-property@1.0.2: resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} - is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -6702,8 +7135,8 @@ packages: resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} engines: {node: '>= 8.0.0'} - isbinaryfile@5.0.4: - resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==} + isbinaryfile@5.0.6: + resolution: {integrity: sha512-I+NmIfBHUl+r2wcDd6JwE9yWje/PIVY/R5/CmV8dXLZd5K+L9X2klAOwfAHNnondLXkbHyTAleQAWonpTJBTtw==} engines: {node: '>= 18.0.0'} isexe@2.0.0: @@ -6749,9 +7182,6 @@ packages: iterate-value@1.0.2: resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jest-environment-node@29.7.0: resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6792,12 +7222,8 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} - hasBin: true - - jiti@2.5.1: - resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true js-cookie@2.2.1: @@ -6827,20 +7253,20 @@ packages: jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - jsdom@16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} + engines: {node: '>=18'} peerDependencies: - canvas: ^2.5.0 + canvas: ^2.11.2 peerDependenciesMeta: canvas: optional: true - jsdom@25.0.1: - resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} + jsdom@26.1.0: + resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} engines: {node: '>=18'} peerDependencies: - canvas: ^2.11.2 + canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true @@ -6853,11 +7279,6 @@ packages: resolution: {integrity: sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==} hasBin: true - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -6934,17 +7355,14 @@ packages: just-extend@6.2.0: resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} - keyboardevent-from-electron-accelerator@2.0.0: - resolution: {integrity: sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==} - - keyboardevents-areequal@0.2.2: - resolution: {integrity: sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==} + keyborg@2.6.0: + resolution: {integrity: sha512-o5kvLbuTF+o326CMVYpjlaykxqYP9DphFQZ2ZpgrvBouyvOxyEB7oqe8nOLFpiV5VCtz0D3pt8gXQYWpLpBnmA==} keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.5.0: - resolution: {integrity: sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==} + keyv@5.5.3: + resolution: {integrity: sha512-h0Un1ieD+HUrzBH6dJXhod3ifSghk5Hw/2Y4/KHBziPlZecrFyE9YOTPU6eOs0V9pYl8gOs86fkr/KN8lUX39A==} kind-of@3.2.2: resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} @@ -6992,9 +7410,69 @@ packages: lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} line-column@1.0.2: resolution: {integrity: sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww==} @@ -7016,8 +7494,8 @@ packages: resolution: {integrity: sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==} engines: {node: '>=4'} - loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + loader-runner@4.3.1: + resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} loader-utils@2.0.4: @@ -7030,9 +7508,6 @@ packages: localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} - locate-character@2.0.5: - resolution: {integrity: sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg==} - locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -7049,10 +7524,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lodash._baseflatten@3.1.4: resolution: {integrity: sha512-fESngZd+X4k+GbTxdMutf8ohQa0s3sJEHIcwtu4/LsIQ2JTDzdRxDCMQjW+ezzwRitLmHnacVVmosCbxifefbw==} @@ -7105,9 +7576,6 @@ packages: lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -7190,12 +7658,12 @@ packages: resolution: {integrity: sha512-wpGPwyg/xrSp4H4Db4xYSeAr6+cFQGHfspHzDUdYxswDnUW0L5Ov63UuJiSr8NMSpyaChO4u1n0MXUvVPtrN6A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - magic-string@0.24.1: - resolution: {integrity: sha512-YBfNxbJiixMzxW40XqJEIldzHyh5f7CZKalo1uZffevyrPEX8Qgo9s0dmcORLHdV47UyvJg8/zD+6hQG3qvJrA==} - magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -7265,9 +7733,6 @@ packages: mdn-data@1.1.4: resolution: {integrity: sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==} - mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - mdn-data@2.0.4: resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} @@ -7289,16 +7754,20 @@ packages: resolution: {integrity: sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==} engines: {node: '>=8'} + mem@8.1.1: + resolution: {integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==} + engines: {node: '>=10'} + memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} memory-streams@0.1.3: resolution: {integrity: sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==} - menubar@9.5.1: - resolution: {integrity: sha512-swfgKal+DTgJINay36X+LGBSqyFKS4d9FyJ2w0s/4MtO7/UGplEZqluLTnq4xgLNxNjMWhXycOELP+rRYpTagA==} + menubar@9.5.2: + resolution: {integrity: sha512-yUn4jCMPOiNuqxplEE+SITlTX+Wy92ZNZaG5tsTczEvVT1El8plHR3kinOTfUPwfQcAYcWE0SLiBM41z/hS6pg==} peerDependencies: - electron: '>=9.0.0 <33.0.0' + electron: '>=9.0.0 <35.0.0' meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} @@ -7317,9 +7786,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - merge@2.1.1: - resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} - methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -7587,6 +8053,10 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} @@ -7662,10 +8132,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - ncp@2.0.0: - resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==} - hasBin: true - nearest-color@0.4.4: resolution: {integrity: sha512-orhcaIORC10tf41Ld2wwlcC+FaAavHG87JHWB3eHH5p7v2k9Tzym2XNEZzLAm5YJwGv6Q38WWc7SOb+Qfu/4NQ==} @@ -7697,8 +8163,8 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-abi@3.75.0: - resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==} + node-abi@3.78.0: + resolution: {integrity: sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ==} engines: {node: '>=10'} node-api-version@0.2.1: @@ -7725,14 +8191,11 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-modules-path@1.0.2: - resolution: {integrity: sha512-6Gbjq+d7uhkO7epaKi5DNgUJn7H0gEyA4Jg0Mo1uQOi3Rk50G83LtmhhFyw0LxnAFhtlspkiiw52ISP13qzcBg==} - node-notifier@10.0.1: resolution: {integrity: sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==} - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + node-releases@2.0.25: + resolution: {integrity: sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA==} node-watch@0.7.3: resolution: {integrity: sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==} @@ -7762,8 +8225,8 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - normalize-url@8.0.2: - resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} + normalize-url@8.1.0: + resolution: {integrity: sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==} engines: {node: '>=14.16'} npm-package-arg@12.0.2: @@ -7808,8 +8271,8 @@ packages: resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} engines: {node: '>=0.10.0'} - nwsapi@2.2.21: - resolution: {integrity: sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==} + nwsapi@2.2.22: + resolution: {integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==} oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} @@ -7830,10 +8293,6 @@ packages: resolution: {integrity: sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==} engines: {node: '>= 0.10.0'} - object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} @@ -7900,6 +8359,10 @@ packages: resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} engines: {node: '>=14.16'} + optional-require@1.1.10: + resolution: {integrity: sha512-0r3OB9EIQsP+a5HVATHq2ExIy2q/Vaffoo4IAikW1spCYswhLxqWQS0i3GwS3AdY/OIP4SWZHLGz8CMU558PGw==} + engines: {node: '>=4'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -7976,10 +8439,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-locate@2.0.0: resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} engines: {node: '>=4'} @@ -7996,10 +8455,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-map@3.0.0: resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} engines: {node: '>=8'} @@ -8024,9 +8479,6 @@ packages: resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} engines: {node: '>= 14'} - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - package-json@8.1.1: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} @@ -8035,8 +8487,8 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-asn1@5.1.7: - resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + parse-asn1@5.1.9: + resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} engines: {node: '>= 0.10'} parse-author@2.0.0: @@ -8058,10 +8510,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-ms@1.0.1: - resolution: {integrity: sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg==} - engines: {node: '>=0.10.0'} - parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -8109,10 +8557,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -8161,9 +8605,9 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pbkdf2@3.1.3: - resolution: {integrity: sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==} - engines: {node: '>=0.12'} + pbkdf2@3.1.5: + resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} + engines: {node: '>= 0.10'} pe-library@1.0.1: resolution: {integrity: sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==} @@ -8198,10 +8642,6 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - pkg-entry-points@1.1.1: resolution: {integrity: sha512-BhZa7iaPmB4b3vKIACoppyUoYn8/sFs17VJJtzrzPZvEnN2nqrgg911tdL65lA2m1ml6UI3iPeYbZQ4VXpn1mA==} @@ -8217,8 +8657,8 @@ packages: resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} engines: {node: '>=10.4.0'} - portfinder@1.0.37: - resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==} + portfinder@1.0.38: + resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} engines: {node: '>= 10.12'} posix-character-classes@0.1.1: @@ -8229,36 +8669,12 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss-import@15.1.0: - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - postcss-import@16.1.1: resolution: {integrity: sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ==} engines: {node: '>=18.0.0'} peerDependencies: postcss: ^8.0.0 - postcss-js@4.0.1: - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - - postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - postcss-modules-extract-imports@3.1.0: resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} @@ -8283,12 +8699,6 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - postcss-resolve-nested-selector@0.1.6: resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} @@ -8298,10 +8708,6 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - postcss-selector-parser@7.1.0: resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} engines: {node: '>=4'} @@ -8318,8 +8724,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - preact@10.27.0: - resolution: {integrity: sha512-/DTYoB6mwwgPytiqQTh/7SFRL98ZdiD8Sk8zIUVOxtwq4oWcwrcd1uno9fE/zZmUaUrFNYzbH14CPebOz9tZQw==} + preact@10.27.2: + resolution: {integrity: sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -8349,10 +8755,6 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - pretty-ms@3.2.0: - resolution: {integrity: sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==} - engines: {node: '>=4'} - printf@0.6.1: resolution: {integrity: sha512-is0ctgGdPJ5951KulgfzvHGwJtZ5ck8l042vRkV6jrkpBzTmb/lueTqguWHy2JfVA+RY6gFVlaZgUS0j7S/dsw==} engines: {node: '>= 0.9.0'} @@ -8453,8 +8855,8 @@ packages: resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} engines: {node: '>=8'} - pupa@3.1.0: - resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + pupa@3.3.0: + resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} engines: {node: '>=12.20'} q@1.5.1: @@ -8465,6 +8867,10 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + qified@0.5.0: + resolution: {integrity: sha512-Zj6Q/Vc/SQ+Fzc87N90jJUzBzxD7MVQ2ZvGyMmYtnl2u1a07CejAhvtk4ZwASos+SiHKCAIylyGHJKIek75QBw==} + engines: {node: '>=20'} + qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -8477,9 +8883,6 @@ packages: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -8493,14 +8896,14 @@ packages: quick-temp@0.1.8: resolution: {integrity: sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA==} - qunit-dom@3.4.0: - resolution: {integrity: sha512-N5PYbJ20RD3JZN4whINdl7dDfxScUy7eNuO8IwUtBWC7d6SH+BqtBqVZdRn9evxLQVzuask6OGvMy4gdpiCceg==} + qunit-dom@3.5.0: + resolution: {integrity: sha512-eemLM5bflWafzmBnwlYbjf9NrjEkV2j7NO7mTvsMzQBJbEaq2zFvUFDtHV9JaK0TT5mgRZt034LCUewYGmjjjQ==} qunit-theme-ember@1.0.0: resolution: {integrity: sha512-vdMVVo6ecdCkWttMTKeyq1ZTLGHcA6zdze2zhguNuc3ritlJMhOXY5RDseqazOwqZVfCg3rtlmL3fMUyIzUyFQ==} - qunit@2.24.1: - resolution: {integrity: sha512-Eu0k/5JDjx0QnqxsE1WavnDNDgL1zgMZKsMw/AoAxnsl9p4RgyLODyo2N7abZY7CEAnvl5YUqFZdkImzbgXzSg==} + qunit@2.24.2: + resolution: {integrity: sha512-dWlYs+Q9AIDT3eHKgkpEpWrSjHjqTJNCAJr1tUo5bQuDMzlZvaqCz1bNZhqzNu41ibkIQ7b50S9y6IMlrrUfNQ==} engines: {node: '>=10'} hasBin: true @@ -8559,6 +8962,11 @@ packages: resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} + reactiveweb@1.9.0: + resolution: {integrity: sha512-2WmDJA8TQe0jwSKB3QTcpxYBxDiBTZoISKjSoqo3LrBEB9Zi5PEluDlnoXBmzW+OM7TVxslgH1NVNqLPB8WCfg==} + peerDependencies: + '@ember/test-waiters': '>= 3.1.0' + read-binary-file-arch@1.0.6: resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} hasBin: true @@ -8587,10 +8995,6 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - recast@0.18.10: resolution: {integrity: sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==} engines: {node: '>= 4'} @@ -8610,8 +9014,8 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} regenerate@1.4.2: @@ -8637,8 +9041,8 @@ packages: regexpu-core@2.0.0: resolution: {integrity: sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==} - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} registry-auth-token@5.1.0: @@ -8659,8 +9063,8 @@ packages: resolution: {integrity: sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==} hasBin: true - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + regjsparser@0.13.0: + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} hasBin: true relative-luminance@2.0.1: @@ -8694,6 +9098,10 @@ packages: engines: {node: '>= 6'} deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + require-at@1.0.6: + resolution: {integrity: sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==} + engines: {node: '>=4'} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -8702,9 +9110,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-relative@0.8.7: - resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} - requireindex@1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} @@ -8829,21 +9234,17 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - ripemd160@2.0.1: - resolution: {integrity: sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==} - - ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + ripemd160@2.0.3: + resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} + engines: {node: '>= 0.8'} roarr@2.15.4: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} - rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - - rollup@0.57.1: - resolution: {integrity: sha512-I18GBqP0qJoJC1K1osYjreqA8VAKovxuI3I81RSk0Dmr4TgloI0tAULjZaox8OsJ+n7XRrhH6i0G2By/pj1LCA==} + rollup@4.52.4: + resolution: {integrity: sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true route-recognizer@0.3.4: @@ -8944,10 +9345,6 @@ packages: sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - saxes@5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} - saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} @@ -8963,8 +9360,8 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} - schema-utils@4.3.2: - resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} engines: {node: '>= 10.13.0'} semver-compare@1.0.0: @@ -8987,11 +9384,15 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} @@ -9069,6 +9470,9 @@ packages: shellwords@0.1.1: resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} + should-handle-link@1.3.0: + resolution: {integrity: sha512-1+VHDYKARWyq1gL4nYVcLWk893m4PLgWPa41f/9Tt+AKJSt0B1dZ+HN6w7fQJ/v2vLC8rwJkyOUF8ijcsNSdaA==} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -9307,9 +9711,6 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - stream-browserify@3.0.0: - resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} - stream-buffers@2.2.0: resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} engines: {node: '>= 0.10.0'} @@ -9378,8 +9779,8 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} strip-bom@3.0.0: @@ -9435,20 +9836,11 @@ packages: peerDependencies: stylelint: ^16.18.0 - stylelint@16.23.1: - resolution: {integrity: sha512-dNvDTsKV1U2YtiUDfe9d2gp902veFeo3ecCWdGlmLm2WFrAV0+L5LoOj/qHSBABQwMsZPJwfC4bf39mQm1S5zw==} + stylelint@16.25.0: + resolution: {integrity: sha512-Li0avYWV4nfv1zPbdnxLYBGq4z8DVZxbRgx4Kn6V+Uftz1rMoF1qiEI3oL4kgWqyYgCgs7gT5maHNZ82Gk03vQ==} engines: {node: '>=18.12.0'} hasBin: true - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - - sudo-prompt@9.2.1: - resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - sumchecker@2.0.2: resolution: {integrity: sha512-16O54scwFPgX60Of/+QJSufmklGqnHZyBK6uewBvtcp3VxT5RM65c/OnGCeEPnjBF8TJoO5Pf6gHAOXfxIjNpA==} engines: {node: '>= 4.0'} @@ -9507,23 +9899,28 @@ packages: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} - tailwindcss@3.4.17: - resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} - engines: {node: '>=14.0.0'} - hasBin: true + tabster@8.5.6: + resolution: {integrity: sha512-2vfrRGrx8O9BjdrtSlVA5fvpmbq5HQBRN13XFRg6LAvZ1Fr3QdBnswgT4YgFS5Bhoo5nxwgjRaRueI2Us/dv7g==} + + tailwindcss@4.1.14: + resolution: {integrity: sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==} tap-parser@7.0.0: resolution: {integrity: sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==} hasBin: true - tapable@2.2.2: - resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + tar@7.5.1: + resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==} + engines: {node: '>=18'} + temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} engines: {node: '>=6.0.0'} @@ -9544,8 +9941,8 @@ packages: uglify-js: optional: true - terser@5.43.1: - resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} engines: {node: '>=10'} hasBin: true @@ -9569,12 +9966,6 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thread-loader@3.0.4: - resolution: {integrity: sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.27.0 || ^5.0.0 - throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} @@ -9594,10 +9985,6 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - time-zone@1.0.0: - resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} - engines: {node: '>=4'} - tiny-each-async@2.0.3: resolution: {integrity: sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==} @@ -9607,8 +9994,8 @@ packages: tiny-lr@2.0.0: resolution: {integrity: sha512-f6nh0VMRvhGx4KCeK1lQ/jaL0Zdb5WdR+Jk8q9OSUQnaSDxAEGH1fgqLZ+cMl5EW3F2MGnCsalBO1IsnnogW1Q==} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} titleize@3.0.0: @@ -9648,8 +10035,8 @@ packages: resolution: {integrity: sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w==} engines: {node: '>=0.12'} - to-buffer@1.2.1: - resolution: {integrity: sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==} + to-buffer@1.2.2: + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} engines: {node: '>= 0.4'} to-data-view@1.1.0: @@ -9683,10 +10070,6 @@ packages: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} engines: {node: '>=0.8'} - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} - tough-cookie@5.1.2: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} @@ -9694,10 +10077,6 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} - tr46@5.1.1: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} @@ -9705,6 +10084,18 @@ packages: tracked-built-ins@3.4.0: resolution: {integrity: sha512-aRwWQXC3VkY50oYxS7wKZiavkjf3uaN+UYUH30D5gxUqbxDN2LnNsfWyDfckmxHUGw4gJDH5lpRS0jX/tim0vw==} + tracked-built-ins@4.0.0: + resolution: {integrity: sha512-0Jl43A1SDZd+yYCJvXfgDSn4Wk/zcawkyFTBPqOETU5UJRngnVEnQ8oOjawqPRg6qja3sKjIQ8z6X9xJzcUTUA==} + + tracked-toolbox@2.0.0: + resolution: {integrity: sha512-adZtX+RGN6F+pWs/5JqVuDxLhuia4uhqmQp+UlUaxpykWjDFETtAdQR+LdDJiFPXFAXnS6FBqn/tnSLJQCm3Yw==} + engines: {node: 14.* || 16.* || >= 18} + peerDependencies: + ember-source: '*' + peerDependenciesMeta: + ember-source: + optional: true + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -9735,9 +10126,6 @@ packages: peerDependencies: typescript: '>=4.0.0' - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -9813,8 +10201,8 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript-eslint@8.39.1: - resolution: {integrity: sha512-GDUv6/NDYngUlNvwaHM1RamYftxf782IyEDbdj3SeaIHHv8fNQVRC++fITT7kUJV/5rIA/tkoRSSskt6osEfqg==} + typescript-eslint@8.46.1: + resolution: {integrity: sha512-VHgijW803JafdSsDO8I761r3SHrgk4T00IdyQ+/UsthtgPRsBWQLqoSxOolxTpxRKi1kGXK0bSz4CoAc9ObqJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -9823,8 +10211,13 @@ packages: typescript-memoize@1.1.1: resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true @@ -9849,11 +10242,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.10.0: - resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} - - undici@7.14.0: - resolution: {integrity: sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==} + undici@7.16.0: + resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==} engines: {node: '>=20.18.1'} unfetch@4.2.0: @@ -9867,12 +10257,12 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} union-value@1.0.1: @@ -9914,10 +10304,6 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -9973,9 +10359,6 @@ packages: resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - url@0.11.4: resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} engines: {node: '>= 0.4'} @@ -10037,6 +10420,53 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} + vite-plugin-testem-electron@1.0.2: + resolution: {integrity: sha512-QyZFRa1BSKc3qcsGoMGLaQyCMxLgDVLOCZPKaOkErjJVdprnrAppz7oA0zaDaNgcKj/RafLvAVvW2z3OpdOXuQ==} + engines: {node: '>= 20'} + peerDependencies: + electron: '>=10.0.0' + vite: '>=6.0.0' + + vite@7.1.10: + resolution: {integrity: sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vlq@1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} @@ -10060,14 +10490,6 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - w3c-hr-time@1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. - - w3c-xmlserializer@2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} - w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -10113,14 +10535,6 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - - webidl-conversions@6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -10129,8 +10543,8 @@ packages: resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} - webpack@5.101.2: - resolution: {integrity: sha512-4JLXU0tD6OZNVqlwzm3HGEhAHufSiyv+skb7q0d2367VDMzrU1Q/ZeepvkcHH0rZie6uqEtTQQe0OEOOluH3Mg==} + webpack@5.102.1: + resolution: {integrity: sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10147,9 +10561,6 @@ packages: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - whatwg-encoding@1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} - whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} @@ -10157,9 +10568,6 @@ packages: whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - whatwg-mimetype@2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} - whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} @@ -10171,10 +10579,6 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - whatwg-url@8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} - which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -10227,8 +10631,8 @@ packages: workerpool@6.5.1: resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} - workerpool@9.3.3: - resolution: {integrity: sha512-slxCaKbYjEdFT/o2rH9xS1hf4uRDch1w7Uo+apxhZ+sf/1d9e0ZVkn42kPNGP2dgjIx6YFvSevj0zHvbWe2jdw==} + workerpool@9.3.4: + resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} @@ -10311,9 +10715,6 @@ packages: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} - xml-name-validator@3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} - xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -10343,6 +10744,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yam@1.0.0: resolution: {integrity: sha512-Hv9xxHtsJ9228wNhk03xnlDReUuWVvHwM4rIbjdAXYvHLs17xjuyF50N6XXFMN6N0omBaqgOok/MCK3At9fTAg==} engines: {node: ^4.5 || 6.* || >= 7.*} @@ -10375,12 +10780,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.2.1: - resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} - engines: {node: '>=12.20'} - - yoctocolors-cjs@2.1.2: - resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} zen-observable-ts@0.8.19: @@ -10391,43 +10792,36 @@ packages: snapshots: - '@alloc/quick-lru@5.2.0': {} - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 - '@asamuzakjp/css-color@3.2.0': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 lru-cache: 10.4.3 - '@aws-amplify/auth@4.6.17(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))': + '@aws-amplify/auth@4.6.17(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))': dependencies: - '@aws-amplify/cache': 4.0.66(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) - '@aws-amplify/core': 4.7.15(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + '@aws-amplify/cache': 4.0.66(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) + '@aws-amplify/core': 4.7.15(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) amazon-cognito-identity-js: 5.2.14(encoding@0.1.13) crypto-js: 4.2.0 transitivePeerDependencies: - encoding - react-native - '@aws-amplify/cache@4.0.66(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))': + '@aws-amplify/cache@4.0.66(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))': dependencies: - '@aws-amplify/core': 4.7.15(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + '@aws-amplify/core': 4.7.15(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) transitivePeerDependencies: - react-native - '@aws-amplify/core@4.7.15(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))': + '@aws-amplify/core@4.7.15(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))': dependencies: '@aws-crypto/sha256-js': 1.0.0-alpha.0 - '@aws-sdk/client-cloudwatch-logs': 3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) - '@aws-sdk/client-cognito-identity': 3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) - '@aws-sdk/credential-provider-cognito-identity': 3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + '@aws-sdk/client-cloudwatch-logs': 3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) + '@aws-sdk/client-cognito-identity': 3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) + '@aws-sdk/credential-provider-cognito-identity': 3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) '@aws-sdk/types': 3.6.1 '@aws-sdk/util-hex-encoding': 3.6.1 universal-cookie: 4.0.4 @@ -10446,7 +10840,7 @@ snapshots: '@aws-crypto/supports-web-crypto': 1.0.0 '@aws-crypto/util': 1.2.2 '@aws-sdk/types': 3.6.1 - '@aws-sdk/util-locate-window': 3.804.0 + '@aws-sdk/util-locate-window': 3.893.0 tslib: 1.14.1 '@aws-crypto/sha256-js@1.0.0-alpha.0': @@ -10476,7 +10870,7 @@ snapshots: '@aws-sdk/types': 3.6.1 tslib: 1.14.1 - '@aws-sdk/client-cloudwatch-logs@3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))': + '@aws-sdk/client-cloudwatch-logs@3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))': dependencies: '@aws-crypto/sha256-browser': 1.2.2 '@aws-crypto/sha256-js': 1.2.2 @@ -10488,7 +10882,7 @@ snapshots: '@aws-sdk/middleware-content-length': 3.6.1 '@aws-sdk/middleware-host-header': 3.6.1 '@aws-sdk/middleware-logger': 3.6.1 - '@aws-sdk/middleware-retry': 3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + '@aws-sdk/middleware-retry': 3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) '@aws-sdk/middleware-serde': 3.6.1 '@aws-sdk/middleware-signing': 3.6.1 '@aws-sdk/middleware-stack': 3.6.1 @@ -10512,7 +10906,7 @@ snapshots: transitivePeerDependencies: - react-native - '@aws-sdk/client-cognito-identity@3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))': + '@aws-sdk/client-cognito-identity@3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))': dependencies: '@aws-crypto/sha256-browser': 1.2.2 '@aws-crypto/sha256-js': 1.2.2 @@ -10524,7 +10918,7 @@ snapshots: '@aws-sdk/middleware-content-length': 3.6.1 '@aws-sdk/middleware-host-header': 3.6.1 '@aws-sdk/middleware-logger': 3.6.1 - '@aws-sdk/middleware-retry': 3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + '@aws-sdk/middleware-retry': 3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) '@aws-sdk/middleware-serde': 3.6.1 '@aws-sdk/middleware-signing': 3.6.1 '@aws-sdk/middleware-stack': 3.6.1 @@ -10554,9 +10948,9 @@ snapshots: '@aws-sdk/types': 3.6.1 tslib: 1.14.1 - '@aws-sdk/credential-provider-cognito-identity@3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))': + '@aws-sdk/credential-provider-cognito-identity@3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))': dependencies: - '@aws-sdk/client-cognito-identity': 3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + '@aws-sdk/client-cognito-identity': 3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) '@aws-sdk/property-provider': 3.6.1 '@aws-sdk/types': 3.6.1 tslib: 1.14.1 @@ -10641,12 +11035,12 @@ snapshots: '@aws-sdk/types': 3.6.1 tslib: 1.14.1 - '@aws-sdk/middleware-retry@3.6.1(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))': + '@aws-sdk/middleware-retry@3.6.1(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))': dependencies: '@aws-sdk/protocol-http': 3.6.1 '@aws-sdk/service-error-classification': 3.6.1 '@aws-sdk/types': 3.6.1 - react-native-get-random-values: 1.11.0(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + react-native-get-random-values: 1.11.0(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) tslib: 1.14.1 uuid: 3.4.0 transitivePeerDependencies: @@ -10773,7 +11167,7 @@ snapshots: dependencies: tslib: 1.14.1 - '@aws-sdk/util-locate-window@3.804.0': + '@aws-sdk/util-locate-window@3.893.0': dependencies: tslib: 2.8.1 @@ -10784,7 +11178,7 @@ snapshots: '@aws-sdk/util-user-agent-browser@3.6.1': dependencies: '@aws-sdk/types': 3.6.1 - bowser: 2.12.0 + bowser: 2.12.1 tslib: 1.14.1 '@aws-sdk/util-user-agent-node@3.6.1': @@ -10812,82 +11206,82 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.0': {} + '@babel/compat-data@7.28.4': {} - '@babel/core@7.28.3(supports-color@8.1.1)': + '@babel/core@7.28.4': dependencies: - '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)(supports-color@8.1.1) - '@babel/helpers': 7.28.3 - '@babel/parser': 7.28.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/eslint-parser@7.28.0(@babel/core@7.28.3)(eslint@9.33.0(jiti@2.5.1))': + '@babel/eslint-parser@7.28.4(@babel/core@7.28.4)(eslint@9.37.0(jiti@2.6.1))': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 9.33.0(jiti@2.5.1) + eslint: 9.37.0(jiti@2.6.1) eslint-visitor-keys: 2.1.0 semver: 6.3.1 '@babel/generator@7.28.3': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.4 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.2 + browserslist: 4.26.3 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.3)': + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.3)': + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.2.0 + regexpu-core: 6.4.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.3)': + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 lodash.debounce: 4.0.8 resolve: 1.22.10 transitivePeerDependencies: @@ -10897,55 +11291,55 @@ snapshots: '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.27.1(supports-color@8.1.1)': + '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)(supports-color@8.1.1)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-module-imports': 7.27.1(supports-color@8.1.1) + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.3)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.3)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color @@ -10958,567 +11352,567 @@ snapshots: '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helpers@7.28.3': + '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 - '@babel/parser@7.28.3': + '@babel/parser@7.28.4': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.3)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.3)': + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.4)': dependencies: - '@babel/compat-data': 7.28.0 - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/compat-data': 7.28.4 + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) - '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 - '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.28.3)': + '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3) - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-module-imports': 7.27.1(supports-color@8.1.1) + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.3)': + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.28.3(@babel/core@7.28.3)': + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 - '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)(supports-color@8.1.1) + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)(supports-color@8.1.1) + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)(supports-color@8.1.1) + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)(supports-color@8.1.1) + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-object-rest-spread@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.3)': + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-regenerator@7.28.3(@babel/core@7.28.3)': + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.3)': + '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-module-imports': 7.27.1(supports-color@8.1.1) + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.3) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.3) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.5.5(@babel/core@7.28.3)': + '@babel/plugin-transform-typescript@7.5.5(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 '@babel/polyfill@7.12.1': @@ -11526,133 +11920,149 @@ snapshots: core-js: 2.6.12 regenerator-runtime: 0.13.11 - '@babel/preset-env@7.28.3(@babel/core@7.28.3)': + '@babel/preset-env@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/compat-data': 7.28.0 - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/compat-data': 7.28.4 + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-classes': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-regenerator': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.3) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.3) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.3) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.3) - core-js-compat: 3.45.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.4) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.4) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.4) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4) + core-js-compat: 3.46.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.3)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 esutils: 2.0.3 '@babel/runtime@7.12.18': dependencies: regenerator-runtime: 0.13.11 - '@babel/runtime@7.28.3': {} + '@babel/runtime@7.28.4': {} '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 - '@babel/traverse@7.28.3(supports-color@8.1.1)': + '@babel/traverse@7.28.4': dependencies: '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.3 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - debug: 4.4.1(supports-color@8.1.1) + '@babel/types': 7.28.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color - '@babel/types@7.28.2': + '@babel/types@7.28.4': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@cacheable/memoize@2.0.3': + dependencies: + '@cacheable/utils': 2.1.0 + + '@cacheable/memory@2.0.3': + dependencies: + '@cacheable/memoize': 2.0.3 + '@cacheable/utils': 2.1.0 + '@keyv/bigmap': 1.0.3 + hookified: 1.12.2 + keyv: 5.5.3 + + '@cacheable/utils@2.1.0': + dependencies: + keyv: 5.5.3 + '@cnakazawa/watch@1.0.4': dependencies: exec-sh: 0.3.6 minimist: 1.2.8 - '@csstools/color-helpers@5.0.2': {} + '@csstools/color-helpers@5.1.0': {} '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/color-helpers': 5.0.2 + '@csstools/color-helpers': 5.1.0 '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -11672,62 +12082,70 @@ snapshots: dependencies: postcss-selector-parser: 7.1.0 - '@ctrl/tinycolor@4.1.0': {} + '@ctrl/tinycolor@4.2.0': {} - '@dual-bundle/import-meta-resolve@4.1.0': {} + '@dual-bundle/import-meta-resolve@4.2.1': {} - '@electron-forge/cli@7.8.3(encoding@0.1.13)': + '@electron-forge/cli@7.10.2(encoding@0.1.13)': dependencies: - '@electron-forge/core': 7.8.3(encoding@0.1.13) - '@electron-forge/core-utils': 7.8.3 - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/core': 7.10.2(encoding@0.1.13) + '@electron-forge/core-utils': 7.10.2 + '@electron-forge/shared-types': 7.10.2 '@electron/get': 3.1.0 + '@inquirer/prompts': 6.0.1 + '@listr2/prompt-adapter-inquirer': 2.0.22(@inquirer/prompts@6.0.1) chalk: 4.1.2 commander: 11.1.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-extra: 10.1.0 listr2: 7.0.2 log-symbols: 4.1.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: + - '@swc/core' - bluebird - encoding + - esbuild - supports-color + - uglify-js + - webpack-cli - '@electron-forge/core-utils@7.8.3': + '@electron-forge/core-utils@7.10.2': dependencies: - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/shared-types': 7.10.2 '@electron/rebuild': 3.7.2 '@malept/cross-spawn-promise': 2.0.0 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 find-up: 5.0.0 fs-extra: 10.1.0 log-symbols: 4.1.0 - semver: 7.7.2 + parse-author: 2.0.0 + semver: 7.7.3 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/core@7.8.3(encoding@0.1.13)': + '@electron-forge/core@7.10.2(encoding@0.1.13)': dependencies: - '@electron-forge/core-utils': 7.8.3 - '@electron-forge/maker-base': 7.8.3 - '@electron-forge/plugin-base': 7.8.3 - '@electron-forge/publisher-base': 7.8.3 - '@electron-forge/shared-types': 7.8.3 - '@electron-forge/template-base': 7.8.3 - '@electron-forge/template-vite': 7.8.3 - '@electron-forge/template-vite-typescript': 7.8.3 - '@electron-forge/template-webpack': 7.8.3 - '@electron-forge/template-webpack-typescript': 7.8.3 - '@electron-forge/tracer': 7.8.3 + '@electron-forge/core-utils': 7.10.2 + '@electron-forge/maker-base': 7.10.2 + '@electron-forge/plugin-base': 7.10.2 + '@electron-forge/publisher-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 + '@electron-forge/template-base': 7.10.2 + '@electron-forge/template-vite': 7.10.2 + '@electron-forge/template-vite-typescript': 7.10.2 + '@electron-forge/template-webpack': 7.10.2 + '@electron-forge/template-webpack-typescript': 7.10.2 + '@electron-forge/tracer': 7.10.2 '@electron/get': 3.1.0 - '@electron/packager': 18.4.0 + '@electron/packager': 18.4.4 '@electron/rebuild': 3.7.2 '@malept/cross-spawn-promise': 2.0.0 + '@vscode/sudo-prompt': 9.3.1 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fast-glob: 3.3.3 filenamify: 4.3.0 find-up: 5.0.0 @@ -11735,44 +12153,47 @@ snapshots: global-dirs: 3.0.1 got: 11.8.6 interpret: 3.1.1 - jiti: 2.5.1 + jiti: 2.6.1 listr2: 7.0.2 lodash: 4.17.21 log-symbols: 4.1.0 node-fetch: 2.7.0(encoding@0.1.13) rechoir: 0.8.0 - semver: 7.7.2 + semver: 7.7.3 source-map-support: 0.5.21 - sudo-prompt: 9.2.1 username: 5.1.0 transitivePeerDependencies: + - '@swc/core' - bluebird - encoding + - esbuild - supports-color + - uglify-js + - webpack-cli - '@electron-forge/maker-base@7.8.3': + '@electron-forge/maker-base@7.10.2': dependencies: - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/shared-types': 7.10.2 fs-extra: 10.1.0 which: 2.0.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-deb@7.8.3': + '@electron-forge/maker-deb@7.10.2': dependencies: - '@electron-forge/maker-base': 7.8.3 - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/maker-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 optionalDependencies: electron-installer-debian: 3.2.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-dmg@7.8.3': + '@electron-forge/maker-dmg@7.10.2': dependencies: - '@electron-forge/maker-base': 7.8.3 - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/maker-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 fs-extra: 10.1.0 optionalDependencies: electron-installer-dmg: 5.0.1 @@ -11780,20 +12201,20 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-snap@7.8.3': + '@electron-forge/maker-snap@7.10.2': dependencies: - '@electron-forge/maker-base': 7.8.3 - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/maker-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 optionalDependencies: electron-installer-snap: 5.2.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-squirrel@7.8.3': + '@electron-forge/maker-squirrel@7.10.2': dependencies: - '@electron-forge/maker-base': 7.8.3 - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/maker-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 fs-extra: 10.1.0 optionalDependencies: electron-winstaller: 5.4.0 @@ -11801,10 +12222,10 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-zip@7.8.3': + '@electron-forge/maker-zip@7.10.2': dependencies: - '@electron-forge/maker-base': 7.8.3 - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/maker-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 cross-zip: 4.0.1 fs-extra: 10.1.0 got: 11.8.6 @@ -11812,23 +12233,52 @@ snapshots: - bluebird - supports-color - '@electron-forge/plugin-base@7.8.3': + '@electron-forge/plugin-auto-unpack-natives@7.10.2': + dependencies: + '@electron-forge/plugin-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/plugin-base@7.10.2': dependencies: - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/shared-types': 7.10.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/publisher-base@7.8.3': + '@electron-forge/plugin-fuses@7.10.2(@electron/fuses@1.8.0)': dependencies: - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/plugin-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 + '@electron/fuses': 1.8.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/publisher-snapcraft@7.8.3': + '@electron-forge/plugin-vite@7.10.2': dependencies: - '@electron-forge/publisher-base': 7.8.3 + '@electron-forge/plugin-base': 7.10.2 + '@electron-forge/shared-types': 7.10.2 + chalk: 4.1.2 + debug: 4.4.3 + fs-extra: 10.1.0 + listr2: 7.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/publisher-base@7.10.2': + dependencies: + '@electron-forge/shared-types': 7.10.2 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/publisher-snapcraft@7.10.2': + dependencies: + '@electron-forge/publisher-base': 7.10.2 fs-extra: 10.1.0 optionalDependencies: electron-installer-snap: 5.2.0 @@ -11836,65 +12286,72 @@ snapshots: - bluebird - supports-color - '@electron-forge/shared-types@7.8.3': + '@electron-forge/shared-types@7.10.2': dependencies: - '@electron-forge/tracer': 7.8.3 - '@electron/packager': 18.4.0 + '@electron-forge/tracer': 7.10.2 + '@electron/packager': 18.4.4 '@electron/rebuild': 3.7.2 listr2: 7.0.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-base@7.8.3': + '@electron-forge/template-base@7.10.2': dependencies: - '@electron-forge/core-utils': 7.8.3 - '@electron-forge/shared-types': 7.8.3 + '@electron-forge/core-utils': 7.10.2 + '@electron-forge/shared-types': 7.10.2 '@malept/cross-spawn-promise': 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-extra: 10.1.0 + semver: 7.7.3 username: 5.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-vite-typescript@7.8.3': + '@electron-forge/template-vite-typescript@7.10.2': dependencies: - '@electron-forge/shared-types': 7.8.3 - '@electron-forge/template-base': 7.8.3 + '@electron-forge/shared-types': 7.10.2 + '@electron-forge/template-base': 7.10.2 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-vite@7.8.3': + '@electron-forge/template-vite@7.10.2': dependencies: - '@electron-forge/shared-types': 7.8.3 - '@electron-forge/template-base': 7.8.3 + '@electron-forge/shared-types': 7.10.2 + '@electron-forge/template-base': 7.10.2 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-webpack-typescript@7.8.3': + '@electron-forge/template-webpack-typescript@7.10.2': dependencies: - '@electron-forge/shared-types': 7.8.3 - '@electron-forge/template-base': 7.8.3 + '@electron-forge/shared-types': 7.10.2 + '@electron-forge/template-base': 7.10.2 fs-extra: 10.1.0 + typescript: 5.4.5 + webpack: 5.102.1 transitivePeerDependencies: + - '@swc/core' - bluebird + - esbuild - supports-color + - uglify-js + - webpack-cli - '@electron-forge/template-webpack@7.8.3': + '@electron-forge/template-webpack@7.10.2': dependencies: - '@electron-forge/shared-types': 7.8.3 - '@electron-forge/template-base': 7.8.3 + '@electron-forge/shared-types': 7.10.2 + '@electron-forge/template-base': 7.10.2 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/tracer@7.8.3': + '@electron-forge/tracer@7.10.2': dependencies: chrome-trace-event: 1.0.4 @@ -11904,9 +12361,15 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + '@electron/fuses@1.8.0': + dependencies: + chalk: 4.1.2 + fs-extra: 9.1.0 + minimist: 1.2.8 + '@electron/get@2.0.3': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 env-paths: 2.2.1 fs-extra: 8.1.0 got: 11.8.6 @@ -11920,7 +12383,7 @@ snapshots: '@electron/get@3.1.0': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 env-paths: 2.2.1 fs-extra: 8.1.0 got: 11.8.6 @@ -11935,13 +12398,13 @@ snapshots: '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': dependencies: env-paths: 2.2.1 - exponential-backoff: 3.1.2 + exponential-backoff: 3.1.3 glob: 8.1.0 graceful-fs: 4.2.11 make-fetch-happen: 10.2.1 nopt: 6.0.0 proc-log: 2.0.1 - semver: 7.7.2 + semver: 7.7.3 tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: @@ -11950,7 +12413,7 @@ snapshots: '@electron/notarize@2.5.0': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-extra: 9.1.0 promise-retry: 2.0.1 transitivePeerDependencies: @@ -11959,7 +12422,7 @@ snapshots: '@electron/osx-sign@1.3.3': dependencies: compare-version: 0.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-extra: 10.1.0 isbinaryfile: 4.0.10 minimist: 1.2.8 @@ -11967,7 +12430,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/packager@18.4.0': + '@electron/packager@18.4.4': dependencies: '@electron/asar': 3.4.1 '@electron/get': 3.1.0 @@ -11975,10 +12438,11 @@ snapshots: '@electron/osx-sign': 1.3.3 '@electron/universal': 2.0.3 '@electron/windows-sign': 1.2.2 - debug: 4.4.1(supports-color@8.1.1) + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.3 extract-zip: 2.0.1 filenamify: 4.3.0 - fs-extra: 11.3.1 + fs-extra: 11.3.2 galactus: 1.0.0 get-package-info: 1.0.0 junk: 3.1.0 @@ -11987,7 +12451,7 @@ snapshots: prettier: 3.6.2 resedit: 2.0.3 resolve: 1.22.10 - semver: 7.7.2 + semver: 7.7.3 yargs-parser: 21.1.1 transitivePeerDependencies: - supports-color @@ -11997,15 +12461,15 @@ snapshots: '@electron/node-gyp': https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2 '@malept/cross-spawn-promise': 2.0.0 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) - detect-libc: 2.0.4 + debug: 4.4.3 + detect-libc: 2.1.2 fs-extra: 10.1.0 got: 11.8.6 - node-abi: 3.75.0 + node-abi: 3.78.0 node-api-version: 0.2.1 ora: 5.4.1 read-binary-file-arch: 1.0.6 - semver: 7.7.2 + semver: 7.7.3 tar: 6.2.1 yargs: 17.7.2 transitivePeerDependencies: @@ -12016,9 +12480,9 @@ snapshots: dependencies: '@electron/asar': 3.4.1 '@malept/cross-spawn-promise': 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 dir-compare: 4.2.0 - fs-extra: 11.3.1 + fs-extra: 11.3.2 minimatch: 9.0.5 plist: 3.1.0 transitivePeerDependencies: @@ -12027,8 +12491,8 @@ snapshots: '@electron/windows-sign@1.2.2': dependencies: cross-dirname: 0.1.0 - debug: 4.4.1(supports-color@8.1.1) - fs-extra: 11.3.1 + debug: 4.4.3 + fs-extra: 11.3.2 minimist: 1.2.8 postject: 1.0.0-alpha.6 transitivePeerDependencies: @@ -12056,6 +12520,51 @@ snapshots: transitivePeerDependencies: - supports-color + '@ember-tooling/blueprint-blueprint@0.2.1': {} + + '@ember-tooling/blueprint-model@0.4.1': + dependencies: + chalk: 4.1.2 + diff: 7.0.0 + isbinaryfile: 5.0.6 + lodash: 4.17.21 + promise.hash.helper: 1.0.8 + quick-temp: 0.1.8 + silent-error: 1.1.1 + transitivePeerDependencies: + - supports-color + + '@ember-tooling/classic-build-addon-blueprint@6.8.0': + dependencies: + '@ember-tooling/blueprint-model': 0.4.1 + chalk: 4.1.2 + ember-cli-normalize-entity-name: 1.0.0 + ember-cli-string-utils: 1.1.0 + fs-extra: 11.3.2 + lodash: 4.17.21 + silent-error: 1.1.1 + sort-package-json: 2.15.1 + walk-sync: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@ember-tooling/classic-build-app-blueprint@6.8.0': + dependencies: + '@ember-tooling/blueprint-model': 0.4.1 + chalk: 4.1.2 + ember-cli-string-utils: 1.1.0 + transitivePeerDependencies: + - supports-color + + '@ember/app-blueprint@6.8.1': + dependencies: + chalk: 4.1.2 + ember-cli-string-utils: 1.1.0 + lodash: 4.17.21 + walk-sync: 3.0.0 + + '@ember/app-tsconfig@1.0.3': {} + '@ember/edition-utils@1.2.0': {} '@ember/optional-features@2.2.0': @@ -12069,31 +12578,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@ember/render-modifiers@3.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))': + '@ember/render-modifiers@3.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@embroider/macros': 1.18.1(@glint/template@1.5.2) - ember-cli-babel: 8.2.0(@babel/core@7.28.3) - ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.28.3) - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + '@babel/core': 7.28.4 + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + ember-cli-babel: 8.2.0(@babel/core@7.28.4) + ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.28.4) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) optionalDependencies: '@glint/template': 1.5.2 transitivePeerDependencies: - supports-color - '@ember/string@3.1.1': - dependencies: - ember-cli-babel: 7.26.11 - transitivePeerDependencies: - - supports-color + '@ember/string@4.0.1': {} - '@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2)': + '@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2)': dependencies: '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) '@embroider/addon-shim': 1.10.0 - '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) '@simple-dom/interface': 1.4.0 - decorator-transforms: 2.3.0(@babel/core@7.28.3) + decorator-transforms: 2.3.0(@babel/core@7.28.4) dom-element-descriptors: 0.5.1 transitivePeerDependencies: - '@babel/core' @@ -12103,47 +12608,39 @@ snapshots: '@ember/test-waiters@4.1.1(@glint/template@1.5.2)': dependencies: '@embroider/addon-shim': 1.10.0 - '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) transitivePeerDependencies: - '@glint/template' - supports-color '@embroider/addon-shim@1.10.0': dependencies: - '@embroider/shared-internals': 3.0.0 + '@embroider/shared-internals': 3.0.1 broccoli-funnel: 3.0.8 common-ancestor-path: 1.0.1 - semver: 7.7.2 - transitivePeerDependencies: - - supports-color - - '@embroider/babel-loader-9@3.1.1(@embroider/core@3.5.7(@glint/template@1.5.2))(supports-color@8.1.1)(webpack@5.101.2)': - dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@embroider/core': 3.5.7(@glint/template@1.5.2) - babel-loader: 9.2.1(@babel/core@7.28.3)(webpack@5.101.2) + semver: 7.7.3 transitivePeerDependencies: - supports-color - - webpack - '@embroider/compat@3.9.1(@embroider/core@3.5.7(@glint/template@1.5.2))(@glint/template@1.5.2)': + '@embroider/compat@4.1.8(@embroider/core@4.2.5(@glint/template@1.5.2))(@glint/template@1.5.2)': dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.3) - '@babel/preset-env': 7.28.3(@babel/core@7.28.3) - '@babel/runtime': 7.28.3 - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@embroider/core': 3.5.7(@glint/template@1.5.2) - '@embroider/macros': 1.16.13(@glint/template@1.5.2) + '@babel/core': 7.28.4 + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.4) + '@babel/preset-env': 7.28.3(@babel/core@7.28.4) + '@babel/runtime': 7.28.4 + '@babel/traverse': 7.28.4 + '@embroider/core': 4.2.5(@glint/template@1.5.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) '@types/babel__code-frame': 7.0.6 - '@types/yargs': 17.0.33 assert-never: 1.4.0 - babel-import-util: 2.1.1 - babel-plugin-ember-template-compilation: 2.3.0 + babel-import-util: 3.0.1 + babel-plugin-debug-macros: 2.0.0(@babel/core@7.28.4) + babel-plugin-ember-template-compilation: 3.0.1 + babel-plugin-ember-template-compilation-2: babel-plugin-ember-template-compilation@2.4.1 babel-plugin-syntax-dynamic-import: 6.18.0 babylon: 6.18.0 bind-decorator: 1.0.11 @@ -12156,22 +12653,21 @@ snapshots: broccoli-plugin: 4.0.7 broccoli-source: 3.0.1 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) - escape-string-regexp: 4.0.0 + debug: 4.4.3 fast-sourcemap-concat: 2.1.1 fs-extra: 9.1.0 fs-tree-diff: 2.0.1 - jsdom: 25.0.1 + jsdom: 26.1.0 lodash: 4.17.21 pkg-up: 3.1.0 resolve: 1.22.10 resolve-package-path: 4.0.3 - semver: 7.7.2 + resolve.exports: 2.0.3 + semver: 7.7.3 symlink-or-copy: 1.3.1 tree-sync: 2.1.0 typescript-memoize: 1.1.1 walk-sync: 3.0.0 - yargs: 17.7.2 transitivePeerDependencies: - '@glint/template' - bufferutil @@ -12179,22 +12675,25 @@ snapshots: - supports-color - utf-8-validate - '@embroider/core@3.5.7(@glint/template@1.5.2)': + '@embroider/config-meta-loader@1.0.0': {} + + '@embroider/core@4.2.5(@glint/template@1.5.2)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/parser': 7.28.3 - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@embroider/macros': 1.16.13(@glint/template@1.5.2) - '@embroider/shared-internals': 2.9.1 + '@babel/core': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + '@embroider/reverse-exports': 0.1.2 + '@embroider/shared-internals': 3.0.1 assert-never: 1.4.0 - babel-plugin-ember-template-compilation: 2.3.0 + babel-plugin-ember-template-compilation: 3.0.1 broccoli-node-api: 1.7.0 broccoli-persistent-filter: 3.1.3 broccoli-plugin: 4.0.7 broccoli-source: 3.0.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 + escape-string-regexp: 4.0.0 fast-sourcemap-concat: 2.1.1 - filesize: 10.1.6 fs-extra: 9.1.0 fs-tree-diff: 2.0.1 handlebars: 4.7.8 @@ -12203,7 +12702,8 @@ snapshots: lodash: 4.17.21 resolve: 1.22.10 resolve-package-path: 4.0.3 - semver: 7.7.2 + resolve.exports: 2.0.3 + semver: 7.7.3 typescript-memoize: 1.1.1 walk-sync: 3.0.0 transitivePeerDependencies: @@ -12213,60 +12713,57 @@ snapshots: - supports-color - utf-8-validate - '@embroider/hbs-loader@3.0.3(@embroider/core@3.5.7(@glint/template@1.5.2))(webpack@5.101.2)': - dependencies: - '@embroider/core': 3.5.7(@glint/template@1.5.2) - webpack: 5.101.2 - - '@embroider/macros@1.16.13(@glint/template@1.5.2)': + '@embroider/macros@1.19.2(@glint/template@1.5.2)': dependencies: - '@embroider/shared-internals': 2.9.0 + '@embroider/shared-internals': 3.0.1 assert-never: 1.4.0 - babel-import-util: 2.1.1 + babel-import-util: 3.0.1 ember-cli-babel: 7.26.11 find-up: 5.0.0 lodash: 4.17.21 resolve: 1.22.10 - semver: 7.7.2 + semver: 7.7.3 optionalDependencies: '@glint/template': 1.5.2 transitivePeerDependencies: - supports-color - '@embroider/macros@1.18.1(@glint/template@1.5.2)': + '@embroider/reverse-exports@0.1.2': dependencies: - '@embroider/shared-internals': 3.0.0 - assert-never: 1.4.0 - babel-import-util: 3.0.1 - ember-cli-babel: 7.26.11 - find-up: 5.0.0 - lodash: 4.17.21 - resolve: 1.22.10 - semver: 7.7.2 + mem: 8.1.1 + resolve.exports: 2.0.3 + + '@embroider/router@3.0.4(@embroider/core@4.2.5(@glint/template@1.5.2))(@glint/template@1.5.2)': + dependencies: + '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) + '@embroider/addon-shim': 1.10.0 optionalDependencies: - '@glint/template': 1.5.2 + '@embroider/core': 4.2.5(@glint/template@1.5.2) transitivePeerDependencies: + - '@glint/template' - supports-color - '@embroider/shared-internals@2.6.0(supports-color@8.1.1)': + '@embroider/shared-internals@2.9.1': dependencies: babel-import-util: 2.1.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 ember-rfc176-data: 0.3.18 fs-extra: 9.1.0 + is-subdir: 1.2.0 js-string-escape: 1.0.1 lodash: 4.17.21 minimatch: 3.1.2 + pkg-entry-points: 1.1.1 resolve-package-path: 4.0.3 - semver: 7.7.2 + semver: 7.7.3 typescript-memoize: 1.1.1 transitivePeerDependencies: - supports-color - '@embroider/shared-internals@2.9.0': + '@embroider/shared-internals@3.0.1': dependencies: - babel-import-util: 2.1.1 - debug: 4.4.1(supports-color@8.1.1) + babel-import-util: 3.0.1 + debug: 4.4.3 ember-rfc176-data: 0.3.18 fs-extra: 9.1.0 is-subdir: 1.2.0 @@ -12275,80 +12772,121 @@ snapshots: minimatch: 3.1.2 pkg-entry-points: 1.1.1 resolve-package-path: 4.0.3 - semver: 7.7.2 + resolve.exports: 2.0.3 + semver: 7.7.3 typescript-memoize: 1.1.1 transitivePeerDependencies: - supports-color - '@embroider/shared-internals@2.9.1': - dependencies: - babel-import-util: 2.1.1 - debug: 4.4.1(supports-color@8.1.1) - ember-rfc176-data: 0.3.18 - fs-extra: 9.1.0 - is-subdir: 1.2.0 - js-string-escape: 1.0.1 - lodash: 4.17.21 - minimatch: 3.1.2 - pkg-entry-points: 1.1.1 - resolve-package-path: 4.0.3 - semver: 7.7.2 - typescript-memoize: 1.1.1 - transitivePeerDependencies: - - supports-color + '@embroider/vite@1.3.4(@embroider/core@4.2.5(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.52.4)(vite@7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1))': + dependencies: + '@babel/core': 7.28.4 + '@embroider/core': 4.2.5(@glint/template@1.5.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + '@embroider/reverse-exports': 0.1.2 + '@rollup/pluginutils': 5.3.0(rollup@4.52.4) + assert-never: 1.4.0 + browserslist: 4.26.3 + browserslist-to-esbuild: 2.1.1(browserslist@4.26.3) + chalk: 5.6.2 + content-tag: 3.1.3 + debug: 4.4.3 + fast-glob: 3.3.3 + fs-extra: 10.1.0 + jsdom: 25.0.1 + send: 0.18.0 + source-map-url: 0.4.1 + terser: 5.44.0 + vite: 7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1) + transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas + - rollup + - supports-color + - utf-8-validate + + '@esbuild/aix-ppc64@0.25.11': + optional: true + + '@esbuild/android-arm64@0.25.11': + optional: true + + '@esbuild/android-arm@0.25.11': + optional: true + + '@esbuild/android-x64@0.25.11': + optional: true + + '@esbuild/darwin-arm64@0.25.11': + optional: true + + '@esbuild/darwin-x64@0.25.11': + optional: true + + '@esbuild/freebsd-arm64@0.25.11': + optional: true + + '@esbuild/freebsd-x64@0.25.11': + optional: true + + '@esbuild/linux-arm64@0.25.11': + optional: true + + '@esbuild/linux-arm@0.25.11': + optional: true + + '@esbuild/linux-ia32@0.25.11': + optional: true + + '@esbuild/linux-loong64@0.25.11': + optional: true + + '@esbuild/linux-mips64el@0.25.11': + optional: true + + '@esbuild/linux-ppc64@0.25.11': + optional: true + + '@esbuild/linux-riscv64@0.25.11': + optional: true + + '@esbuild/linux-s390x@0.25.11': + optional: true + + '@esbuild/linux-x64@0.25.11': + optional: true + + '@esbuild/netbsd-arm64@0.25.11': + optional: true + + '@esbuild/netbsd-x64@0.25.11': + optional: true + + '@esbuild/openbsd-arm64@0.25.11': + optional: true + + '@esbuild/openbsd-x64@0.25.11': + optional: true + + '@esbuild/openharmony-arm64@0.25.11': + optional: true + + '@esbuild/sunos-x64@0.25.11': + optional: true + + '@esbuild/win32-arm64@0.25.11': + optional: true - '@embroider/shared-internals@3.0.0': - dependencies: - babel-import-util: 3.0.1 - debug: 4.4.1(supports-color@8.1.1) - ember-rfc176-data: 0.3.18 - fs-extra: 9.1.0 - is-subdir: 1.2.0 - js-string-escape: 1.0.1 - lodash: 4.17.21 - minimatch: 3.1.2 - pkg-entry-points: 1.1.1 - resolve-package-path: 4.0.3 - resolve.exports: 2.0.3 - semver: 7.7.2 - typescript-memoize: 1.1.1 - transitivePeerDependencies: - - supports-color + '@esbuild/win32-ia32@0.25.11': + optional: true - '@embroider/webpack@3.2.3(@embroider/core@3.5.7(@glint/template@1.5.2))(webpack@5.101.2)': - dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@embroider/babel-loader-9': 3.1.1(@embroider/core@3.5.7(@glint/template@1.5.2))(supports-color@8.1.1)(webpack@5.101.2) - '@embroider/core': 3.5.7(@glint/template@1.5.2) - '@embroider/hbs-loader': 3.0.3(@embroider/core@3.5.7(@glint/template@1.5.2))(webpack@5.101.2) - '@embroider/shared-internals': 2.6.0(supports-color@8.1.1) - '@types/supports-color': 8.1.3 - assert-never: 1.4.0 - babel-loader: 8.4.1(@babel/core@7.28.3)(webpack@5.101.2) - babel-preset-env: 1.7.0(supports-color@8.1.1) - css-loader: 5.2.7(webpack@5.101.2) - csso: 4.2.0 - debug: 4.4.1(supports-color@8.1.1) - escape-string-regexp: 4.0.0 - fs-extra: 9.1.0 - jsdom: 16.7.0(supports-color@8.1.1) - lodash: 4.17.21 - mini-css-extract-plugin: 2.9.4(webpack@5.101.2) - semver: 7.7.2 - source-map-url: 0.4.1 - style-loader: 2.0.0(webpack@5.101.2) - supports-color: 8.1.1 - terser: 5.43.1 - thread-loader: 3.0.4(webpack@5.101.2) - webpack: 5.101.2 - transitivePeerDependencies: - - bufferutil - - canvas - - utf-8-validate + '@esbuild/win32-x64@0.25.11': + optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.5.1))': + '@eslint-community/eslint-utils@4.9.0(eslint@9.37.0(jiti@2.6.1))': dependencies: - eslint: 9.33.0(jiti@2.5.1) + eslint: 9.37.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -12356,21 +12894,23 @@ snapshots: '@eslint/config-array@0.21.0': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.3.1': {} + '@eslint/config-helpers@0.4.0': + dependencies: + '@eslint/core': 0.16.0 - '@eslint/core@0.15.2': + '@eslint/core@0.16.0': dependencies: '@types/json-schema': 7.0.15 '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -12381,15 +12921,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.33.0': {} + '@eslint/js@9.37.0': {} '@eslint/object-schema@2.1.6': {} - '@eslint/plugin-kit@0.3.5': + '@eslint/plugin-kit@0.4.0': dependencies: - '@eslint/core': 0.15.2 + '@eslint/core': 0.16.0 levn: 0.4.1 + '@floating-ui/core@1.7.3': + dependencies: + '@floating-ui/utils': 0.2.10 + + '@floating-ui/dom@1.7.4': + dependencies: + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 + + '@floating-ui/utils@0.2.10': {} + '@gar/promisify@1.1.3': {} '@glimmer/compiler@0.92.4': @@ -12400,7 +12951,7 @@ snapshots: '@glimmer/vm': 0.92.3 '@glimmer/wire-format': 0.92.3 - '@glimmer/component@1.1.2(@babel/core@7.28.3)': + '@glimmer/component@1.1.2(@babel/core@7.28.4)': dependencies: '@glimmer/di': 0.1.11 '@glimmer/env': 0.1.7 @@ -12413,9 +12964,9 @@ snapshots: ember-cli-normalize-entity-name: 1.0.0 ember-cli-path-utils: 1.0.0 ember-cli-string-utils: 1.1.0 - ember-cli-typescript: 3.0.0(@babel/core@7.28.3) + ember-cli-typescript: 3.0.0(@babel/core@7.28.4) ember-cli-version-checker: 3.1.3 - ember-compatibility-helpers: 1.2.7(@babel/core@7.28.3) + ember-compatibility-helpers: 1.2.7(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color @@ -12588,9 +13139,9 @@ snapshots: '@glimmer/interfaces': 0.92.3 '@glimmer/util': 0.92.3 - '@glimmer/vm-babel-plugins@0.92.3(@babel/core@7.28.3)': + '@glimmer/vm-babel-plugins@0.92.3(@babel/core@7.28.4)': dependencies: - babel-plugin-debug-macros: 0.3.4(@babel/core@7.28.3) + babel-plugin-debug-macros: 0.3.4(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' @@ -12608,13 +13159,13 @@ snapshots: dependencies: '@glimmer/interfaces': 0.94.6 - '@glint/core@1.5.2(typescript@5.9.2)': + '@glint/core@1.5.2(typescript@5.9.3)': dependencies: '@glimmer/syntax': 0.84.3 escape-string-regexp: 4.0.0 - semver: 7.7.2 + semver: 7.7.3 silent-error: 1.1.1 - typescript: 5.9.2 + typescript: 5.9.3 uuid: 8.3.2 vscode-languageserver: 8.1.0 vscode-languageserver-textdocument: 1.0.12 @@ -12623,27 +13174,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.3))(@types/ember__component@4.0.22(@babel/core@7.28.3))(@types/ember__controller@4.0.12(@babel/core@7.28.3))(@types/ember__object@4.0.12(@babel/core@7.28.3))(@types/ember__routing@4.0.22(@babel/core@7.28.3))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.3))': + '@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.4))(@types/ember__component@4.0.22(@babel/core@7.28.4))(@types/ember__controller@4.0.12(@babel/core@7.28.4))(@types/ember__object@4.0.12(@babel/core@7.28.4))(@types/ember__routing@4.0.23(@babel/core@7.28.4))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.4))': dependencies: '@glimmer/component': 2.0.0 '@glint/template': 1.5.2 optionalDependencies: - '@types/ember__array': 4.0.10(@babel/core@7.28.3) - '@types/ember__component': 4.0.22(@babel/core@7.28.3) - '@types/ember__controller': 4.0.12(@babel/core@7.28.3) - '@types/ember__object': 4.0.12(@babel/core@7.28.3) - '@types/ember__routing': 4.0.22(@babel/core@7.28.3) + '@types/ember__array': 4.0.10(@babel/core@7.28.4) + '@types/ember__component': 4.0.22(@babel/core@7.28.4) + '@types/ember__controller': 4.0.12(@babel/core@7.28.4) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) + '@types/ember__routing': 4.0.23(@babel/core@7.28.4) ember-cli-htmlbars: 6.3.0 - ember-modifier: 4.2.2(@babel/core@7.28.3) + ember-modifier: 4.2.2(@babel/core@7.28.4) - '@glint/environment-ember-template-imports@1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.3))(@types/ember__component@4.0.22(@babel/core@7.28.3))(@types/ember__controller@4.0.12(@babel/core@7.28.3))(@types/ember__object@4.0.12(@babel/core@7.28.3))(@types/ember__routing@4.0.22(@babel/core@7.28.3))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.3)))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.28.3))(@types/ember__routing@4.0.22(@babel/core@7.28.3))': + '@glint/environment-ember-template-imports@1.5.2(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.4))(@types/ember__component@4.0.22(@babel/core@7.28.4))(@types/ember__controller@4.0.12(@babel/core@7.28.4))(@types/ember__object@4.0.12(@babel/core@7.28.4))(@types/ember__routing@4.0.23(@babel/core@7.28.4))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.4)))(@glint/template@1.5.2)(@types/ember__component@4.0.22(@babel/core@7.28.4))(@types/ember__routing@4.0.23(@babel/core@7.28.4))': dependencies: - '@glint/environment-ember-loose': 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.3))(@types/ember__component@4.0.22(@babel/core@7.28.3))(@types/ember__controller@4.0.12(@babel/core@7.28.3))(@types/ember__object@4.0.12(@babel/core@7.28.3))(@types/ember__routing@4.0.22(@babel/core@7.28.3))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.3)) + '@glint/environment-ember-loose': 1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(@types/ember__array@4.0.10(@babel/core@7.28.4))(@types/ember__component@4.0.22(@babel/core@7.28.4))(@types/ember__controller@4.0.12(@babel/core@7.28.4))(@types/ember__object@4.0.12(@babel/core@7.28.4))(@types/ember__routing@4.0.23(@babel/core@7.28.4))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.4)) '@glint/template': 1.5.2 content-tag: 2.0.3 optionalDependencies: - '@types/ember__component': 4.0.22(@babel/core@7.28.3) - '@types/ember__routing': 4.0.22(@babel/core@7.28.3) + '@types/ember__component': 4.0.22(@babel/core@7.28.4) + '@types/ember__routing': 4.0.23(@babel/core@7.28.4) '@glint/template@1.5.2': {} @@ -12653,25 +13204,23 @@ snapshots: '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.7': dependencies: '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.3': {} - '@ianvs/prettier-plugin-sort-imports@4.6.2(content-tag@4.0.0)(prettier-plugin-ember-template-tag@2.1.0(prettier@3.6.2))(prettier@3.6.2)': + '@ianvs/prettier-plugin-sort-imports@4.7.0(content-tag@4.0.0)(prettier-plugin-ember-template-tag@2.1.0(prettier@3.6.2))(prettier@3.6.2)': dependencies: '@babel/generator': 7.28.3 - '@babel/parser': 7.28.3 - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 prettier: 3.6.2 - semver: 7.7.2 + semver: 7.7.3 optionalDependencies: content-tag: 4.0.0 prettier-plugin-ember-template-tag: 2.1.0(prettier@3.6.2) @@ -12680,18 +13229,118 @@ snapshots: '@iarna/toml@2.2.5': {} - '@inquirer/figures@1.0.13': {} + '@inquirer/checkbox@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.14 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.3 + + '@inquirer/confirm@4.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/core@9.2.1': + dependencies: + '@inquirer/figures': 1.0.14 + '@inquirer/type': 2.0.0 + '@types/mute-stream': 0.0.4 + '@types/node': 22.18.11 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/editor@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + external-editor: 3.1.0 + + '@inquirer/expand@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/external-editor@1.0.2(@types/node@22.18.11)': + dependencies: + chardet: 2.1.0 + iconv-lite: 0.7.0 + optionalDependencies: + '@types/node': 22.18.11 + + '@inquirer/figures@1.0.14': {} + + '@inquirer/input@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/number@2.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/password@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + + '@inquirer/prompts@6.0.1': + dependencies: + '@inquirer/checkbox': 3.0.1 + '@inquirer/confirm': 4.0.1 + '@inquirer/editor': 3.0.1 + '@inquirer/expand': 3.0.1 + '@inquirer/input': 3.0.1 + '@inquirer/number': 2.0.1 + '@inquirer/password': 3.0.1 + '@inquirer/rawlist': 3.0.1 + '@inquirer/search': 2.0.1 + '@inquirer/select': 3.0.1 + + '@inquirer/rawlist@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/search@2.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.14 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/select@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.14 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.3 + + '@inquirer/type@1.5.5': + dependencies: + mute-stream: 1.0.0 + + '@inquirer/type@2.0.0': + dependencies: + mute-stream: 1.0.0 '@irojs/iro-core@1.2.1': {} - '@isaacs/cliui@8.0.2': + '@isaacs/fs-minipass@4.0.1': dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + minipass: 7.1.2 '@isaacs/ttlcache@1.4.1': {} @@ -12708,7 +13357,7 @@ snapshots: '@jaames/iro@5.5.2': dependencies: '@irojs/iro-core': 1.2.1 - preact: 10.27.0 + preact: 10.27.2 '@jest/create-cache-key-function@29.7.0': dependencies: @@ -12718,14 +13367,14 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.17.2 + '@types/node': 22.18.12 jest-mock: 29.7.0 '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.17.2 + '@types/node': 22.18.12 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -12736,9 +13385,9 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -12759,30 +13408,39 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.17.2 + '@types/node': 22.18.12 '@types/yargs': 17.0.33 chalk: 4.1.2 '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': dependencies: '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.30': + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@keyv/serialize@1.1.0': {} + '@keyv/bigmap@1.0.3': + dependencies: + hookified: 1.12.2 + + '@keyv/serialize@1.1.1': {} '@lint-todo/utils@13.1.1': dependencies: @@ -12794,6 +13452,11 @@ snapshots: tslib: 2.8.1 upath: 2.0.1 + '@listr2/prompt-adapter-inquirer@2.0.22(@inquirer/prompts@6.0.1)': + dependencies: + '@inquirer/prompts': 6.0.1 + '@inquirer/type': 1.5.5 + '@ljharb/through@2.3.14': dependencies: call-bind: 1.0.8 @@ -12826,12 +13489,12 @@ snapshots: '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.7.2 + semver: 7.7.3 '@npmcli/fs@2.1.2': dependencies: '@gar/promisify': 1.1.3 - semver: 7.7.2 + semver: 7.7.3 '@npmcli/move-file@1.1.2': dependencies: @@ -12843,14 +13506,12 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 - '@nullvoxpopuli/ember-composable-helpers@5.2.11(@babel/core@7.28.3)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))': + '@nullvoxpopuli/ember-composable-helpers@5.3.0(@babel/core@7.28.4)': dependencies: '@embroider/addon-shim': 1.10.0 - decorator-transforms: 2.3.0(@babel/core@7.28.3) - ember-functions-as-helper-polyfill: 2.1.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + decorator-transforms: 2.3.0(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - - ember-source - supports-color '@octokit/auth-token@3.0.4': {} @@ -13006,20 +13667,17 @@ snapshots: dependencies: '@orbit/utils': 0.17.0 - '@pkgjs/parseargs@0.11.0': - optional: true - '@pnpm/config.env-replace@1.1.0': {} - '@pnpm/constants@1001.3.0': {} + '@pnpm/constants@1001.3.1': {} - '@pnpm/error@1000.0.4': + '@pnpm/error@1000.0.5': dependencies: - '@pnpm/constants': 1001.3.0 + '@pnpm/constants': 1001.3.1 - '@pnpm/find-workspace-dir@1000.1.2': + '@pnpm/find-workspace-dir@1000.1.3': dependencies: - '@pnpm/error': 1000.0.4 + '@pnpm/error': 1000.0.5 find-up: 5.0.0 '@pnpm/network.ca-file@1.0.2': @@ -13034,9 +13692,9 @@ snapshots: '@react-native/assets-registry@0.79.2': {} - '@react-native/codegen@0.79.2(@babel/core@7.28.3)': + '@react-native/codegen@0.79.2(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 glob: 7.2.3 hermes-parser: 0.25.1 invariant: 2.2.4 @@ -13047,12 +13705,12 @@ snapshots: dependencies: '@react-native/dev-middleware': 0.79.2 chalk: 4.1.2 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 invariant: 2.2.4 metro: 0.82.5 metro-config: 0.82.5 metro-core: 0.82.5 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - bufferutil - supports-color @@ -13067,7 +13725,7 @@ snapshots: chrome-launcher: 0.15.2 chromium-edge-launcher: 0.2.0 connect: 3.7.0 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 invariant: 2.2.4 nullthrows: 1.1.1 open: 7.4.2 @@ -13084,20 +13742,20 @@ snapshots: '@react-native/normalize-colors@0.79.2': {} - '@react-native/virtualized-lists@0.79.2(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))(react@19.1.0)': + '@react-native/virtualized-lists@0.79.2(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))(react@19.1.0)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 19.1.0 - react-native: 0.79.2(@babel/core@7.28.3)(react@19.1.0) + react-native: 0.79.2(@babel/core@7.28.4)(react@19.1.0) - '@release-it-plugins/lerna-changelog@6.1.0(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.2))': + '@release-it-plugins/lerna-changelog@6.1.0(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.3))': dependencies: execa: 5.1.1 lerna-changelog: 2.2.0 lodash.template: 4.5.0 mdast-util-from-markdown: 1.3.1 - release-it: 16.3.0(encoding@0.1.13)(typescript@5.9.2) + release-it: 16.3.0(encoding@0.1.13)(typescript@5.9.3) tmp: 0.2.5 validate-peer-dependencies: 2.2.0 which: 2.0.2 @@ -13105,17 +13763,105 @@ snapshots: - bluebird - supports-color - '@release-it-plugins/workspaces@4.2.1(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.2))': + '@release-it-plugins/workspaces@4.2.1(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.3))': dependencies: detect-indent: 6.1.0 detect-newline: 3.1.0 - release-it: 16.3.0(encoding@0.1.13)(typescript@5.9.2) - semver: 7.7.2 + release-it: 16.3.0(encoding@0.1.13)(typescript@5.9.3) + semver: 7.7.3 url-join: 4.0.1 validate-peer-dependencies: 1.2.0 walk-sync: 2.2.0 yaml: 2.8.1 + '@rollup/plugin-babel@6.1.0(@babel/core@7.28.4)(@types/babel__core@7.20.5)(rollup@4.52.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@rollup/pluginutils': 5.3.0(rollup@4.52.4) + optionalDependencies: + '@types/babel__core': 7.20.5 + rollup: 4.52.4 + transitivePeerDependencies: + - supports-color + + '@rollup/pluginutils@5.3.0(rollup@4.52.4)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.52.4 + + '@rollup/rollup-android-arm-eabi@4.52.4': + optional: true + + '@rollup/rollup-android-arm64@4.52.4': + optional: true + + '@rollup/rollup-darwin-arm64@4.52.4': + optional: true + + '@rollup/rollup-darwin-x64@4.52.4': + optional: true + + '@rollup/rollup-freebsd-arm64@4.52.4': + optional: true + + '@rollup/rollup-freebsd-x64@4.52.4': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.52.4': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.52.4': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.52.4': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.52.4': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.52.4': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.52.4': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.52.4': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.52.4': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.52.4': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.40.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.52.4': + optional: true + + '@rollup/rollup-linux-x64-musl@4.52.4': + optional: true + + '@rollup/rollup-openharmony-arm64@4.52.4': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.52.4': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.52.4': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.52.4': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.52.4': + optional: true + '@sentry-internal/feedback@7.112.0': dependencies: '@sentry/core': 7.112.0 @@ -13176,46 +13922,46 @@ snapshots: '@sentry/types': 7.120.4 '@sentry/utils': 7.120.4 - '@sentry/cli-darwin@2.52.0': + '@sentry/cli-darwin@2.56.1': optional: true - '@sentry/cli-linux-arm64@2.52.0': + '@sentry/cli-linux-arm64@2.56.1': optional: true - '@sentry/cli-linux-arm@2.52.0': + '@sentry/cli-linux-arm@2.56.1': optional: true - '@sentry/cli-linux-i686@2.52.0': + '@sentry/cli-linux-i686@2.56.1': optional: true - '@sentry/cli-linux-x64@2.52.0': + '@sentry/cli-linux-x64@2.56.1': optional: true - '@sentry/cli-win32-arm64@2.52.0': + '@sentry/cli-win32-arm64@2.56.1': optional: true - '@sentry/cli-win32-i686@2.52.0': + '@sentry/cli-win32-i686@2.56.1': optional: true - '@sentry/cli-win32-x64@2.52.0': + '@sentry/cli-win32-x64@2.56.1': optional: true - '@sentry/cli@2.52.0(encoding@0.1.13)': + '@sentry/cli@2.56.1(encoding@0.1.13)': dependencies: - https-proxy-agent: 5.0.1(supports-color@8.1.1) + https-proxy-agent: 5.0.1 node-fetch: 2.7.0(encoding@0.1.13) progress: 2.0.3 proxy-from-env: 1.1.0 which: 2.0.2 optionalDependencies: - '@sentry/cli-darwin': 2.52.0 - '@sentry/cli-linux-arm': 2.52.0 - '@sentry/cli-linux-arm64': 2.52.0 - '@sentry/cli-linux-i686': 2.52.0 - '@sentry/cli-linux-x64': 2.52.0 - '@sentry/cli-win32-arm64': 2.52.0 - '@sentry/cli-win32-i686': 2.52.0 - '@sentry/cli-win32-x64': 2.52.0 + '@sentry/cli-darwin': 2.56.1 + '@sentry/cli-linux-arm': 2.56.1 + '@sentry/cli-linux-arm64': 2.56.1 + '@sentry/cli-linux-i686': 2.56.1 + '@sentry/cli-linux-x64': 2.56.1 + '@sentry/cli-win32-arm64': 2.56.1 + '@sentry/cli-win32-i686': 2.56.1 + '@sentry/cli-win32-x64': 2.56.1 transitivePeerDependencies: - encoding - supports-color @@ -13240,14 +13986,14 @@ snapshots: deepmerge: 4.3.0 tslib: 2.8.1 - '@sentry/ember@7.120.4(@glint/template@1.5.2)(webpack@5.101.2)': + '@sentry/ember@7.120.4(@glint/template@1.5.2)(webpack@5.102.1)': dependencies: - '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) '@sentry/browser': 7.120.4 '@sentry/core': 7.120.4 '@sentry/types': 7.120.4 '@sentry/utils': 7.120.4 - ember-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) + ember-auto-import: 2.11.1(@glint/template@1.5.2)(webpack@5.102.1) ember-cli-babel: 7.26.11 ember-cli-htmlbars: 6.3.0 ember-cli-typescript: 5.3.0 @@ -13345,10 +14091,81 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17)': + '@tailwindcss/forms@0.5.10(tailwindcss@4.1.14)': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.17 + tailwindcss: 4.1.14 + + '@tailwindcss/node@4.1.14': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.3 + jiti: 2.6.1 + lightningcss: 1.30.1 + magic-string: 0.30.19 + source-map-js: 1.2.1 + tailwindcss: 4.1.14 + + '@tailwindcss/oxide-android-arm64@4.1.14': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.14': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.14': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.14': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.14': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.14': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.14': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.14': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.14': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.14': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.14': + optional: true + + '@tailwindcss/oxide@4.1.14': + dependencies: + detect-libc: 2.1.2 + tar: 7.5.1 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.14 + '@tailwindcss/oxide-darwin-arm64': 4.1.14 + '@tailwindcss/oxide-darwin-x64': 4.1.14 + '@tailwindcss/oxide-freebsd-x64': 4.1.14 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.14 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.14 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.14 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.14 + '@tailwindcss/oxide-linux-x64-musl': 4.1.14 + '@tailwindcss/oxide-wasm32-wasi': 4.1.14 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.14 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.14 + + '@tailwindcss/vite@4.1.14(vite@7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1))': + dependencies: + '@tailwindcss/node': 4.1.14 + '@tailwindcss/oxide': 4.1.14 + tailwindcss: 4.1.14 + vite: 7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1) '@tootallnate/once@1.1.2': {} @@ -13358,48 +14175,44 @@ snapshots: '@tsconfig/ember@3.0.11': {} - '@types/acorn@4.0.6': - dependencies: - '@types/estree': 1.0.8 - '@types/appdmg@0.5.5': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.18.11 optional: true '@types/babel__code-frame@7.0.6': {} '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 24.3.0 + '@types/node': 22.18.11 '@types/responselike': 1.0.3 '@types/chai-as-promised@7.1.8': @@ -13410,111 +14223,119 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/cookie@0.3.3': {} '@types/cors@2.8.19': dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 + '@types/electron-squirrel-startup@1.0.2': {} + '@types/ember@4.0.11': dependencies: - '@types/ember__application': 4.0.11(@babel/core@7.28.3) - '@types/ember__array': 4.0.10(@babel/core@7.28.3) - '@types/ember__component': 4.0.22(@babel/core@7.28.3) - '@types/ember__controller': 4.0.12(@babel/core@7.28.3) - '@types/ember__debug': 4.0.8 - '@types/ember__engine': 4.0.11 + '@types/ember__application': 4.0.11(@babel/core@7.28.4) + '@types/ember__array': 4.0.10(@babel/core@7.28.4) + '@types/ember__component': 4.0.22(@babel/core@7.28.4) + '@types/ember__controller': 4.0.12(@babel/core@7.28.4) + '@types/ember__debug': 4.0.8(@babel/core@7.28.4) + '@types/ember__engine': 4.0.11(@babel/core@7.28.4) '@types/ember__error': 4.0.6 - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) '@types/ember__polyfills': 4.0.6 - '@types/ember__routing': 4.0.22(@babel/core@7.28.3) + '@types/ember__routing': 4.0.23(@babel/core@7.28.4) '@types/ember__runloop': 4.0.10 - '@types/ember__service': 4.0.9 + '@types/ember__service': 4.0.9(@babel/core@7.28.4) '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 - '@types/ember__test': 4.0.6(@babel/core@7.28.3) + '@types/ember__test': 4.0.6(@babel/core@7.28.4) '@types/ember__utils': 4.0.7 '@types/rsvp': 4.0.9 - '@types/ember@4.0.11(@babel/core@7.28.3)': + '@types/ember@4.0.11(@babel/core@7.28.4)': dependencies: - '@types/ember__application': 4.0.11(@babel/core@7.28.3) - '@types/ember__array': 4.0.10(@babel/core@7.28.3) - '@types/ember__component': 4.0.22(@babel/core@7.28.3) - '@types/ember__controller': 4.0.12(@babel/core@7.28.3) - '@types/ember__debug': 4.0.8 - '@types/ember__engine': 4.0.11 + '@types/ember__application': 4.0.11(@babel/core@7.28.4) + '@types/ember__array': 4.0.10(@babel/core@7.28.4) + '@types/ember__component': 4.0.22(@babel/core@7.28.4) + '@types/ember__controller': 4.0.12(@babel/core@7.28.4) + '@types/ember__debug': 4.0.8(@babel/core@7.28.4) + '@types/ember__engine': 4.0.11(@babel/core@7.28.4) '@types/ember__error': 4.0.6 - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) '@types/ember__polyfills': 4.0.6 - '@types/ember__routing': 4.0.22(@babel/core@7.28.3) - '@types/ember__runloop': 4.0.10(@babel/core@7.28.3) - '@types/ember__service': 4.0.9 + '@types/ember__routing': 4.0.23(@babel/core@7.28.4) + '@types/ember__runloop': 4.0.10(@babel/core@7.28.4) + '@types/ember__service': 4.0.9(@babel/core@7.28.4) '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 - '@types/ember__test': 4.0.6(@babel/core@7.28.3) - '@types/ember__utils': 4.0.7(@babel/core@7.28.3) + '@types/ember__test': 4.0.6(@babel/core@7.28.4) + '@types/ember__utils': 4.0.7(@babel/core@7.28.4) '@types/rsvp': 4.0.9 transitivePeerDependencies: - '@babel/core' - supports-color - '@types/ember__application@4.0.11(@babel/core@7.28.3)': + '@types/ember__application@4.0.11(@babel/core@7.28.4)': dependencies: - '@glimmer/component': 1.1.2(@babel/core@7.28.3) + '@glimmer/component': 1.1.2(@babel/core@7.28.4) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11 - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11(@babel/core@7.28.4) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) '@types/ember__owner': 4.0.9 - '@types/ember__routing': 4.0.22(@babel/core@7.28.3) + '@types/ember__routing': 4.0.23(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - '@types/ember__array@4.0.10(@babel/core@7.28.3)': + '@types/ember__array@4.0.10(@babel/core@7.28.4)': dependencies: - '@types/ember': 4.0.11(@babel/core@7.28.3) - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember': 4.0.11(@babel/core@7.28.4) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - '@types/ember__component@4.0.22(@babel/core@7.28.3)': + '@types/ember__component@4.0.22(@babel/core@7.28.4)': dependencies: - '@types/ember': 4.0.11(@babel/core@7.28.3) - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember': 4.0.11(@babel/core@7.28.4) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - '@types/ember__controller@4.0.12(@babel/core@7.28.3)': + '@types/ember__controller@4.0.12(@babel/core@7.28.4)': dependencies: - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8': + '@types/ember__debug@4.0.8(@babel/core@7.28.4)': dependencies: - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color - '@types/ember__engine@4.0.11': + '@types/ember__engine@4.0.11(@babel/core@7.28.4)': dependencies: - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__error@4.0.6': {} - '@types/ember__object@4.0.12(@babel/core@7.28.3)': + '@types/ember__object@4.0.12(@babel/core@7.28.4)': dependencies: - '@types/ember': 4.0.11(@babel/core@7.28.3) + '@types/ember': 4.0.11(@babel/core@7.28.4) '@types/rsvp': 4.0.9 transitivePeerDependencies: - '@babel/core' @@ -13524,12 +14345,12 @@ snapshots: '@types/ember__polyfills@4.0.6': {} - '@types/ember__routing@4.0.22(@babel/core@7.28.3)': + '@types/ember__routing@4.0.23(@babel/core@7.28.4)': dependencies: - '@types/ember': 4.0.11(@babel/core@7.28.3) - '@types/ember__controller': 4.0.12(@babel/core@7.28.3) - '@types/ember__object': 4.0.12(@babel/core@7.28.3) - '@types/ember__service': 4.0.9 + '@types/ember': 4.0.11(@babel/core@7.28.4) + '@types/ember__controller': 4.0.12(@babel/core@7.28.4) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) + '@types/ember__service': 4.0.9(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color @@ -13538,24 +14359,27 @@ snapshots: dependencies: '@types/ember': 4.0.11 - '@types/ember__runloop@4.0.10(@babel/core@7.28.3)': + '@types/ember__runloop@4.0.10(@babel/core@7.28.4)': dependencies: - '@types/ember': 4.0.11(@babel/core@7.28.3) + '@types/ember': 4.0.11(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - '@types/ember__service@4.0.9': + '@types/ember__service@4.0.9(@babel/core@7.28.4)': dependencies: - '@types/ember__object': 4.0.12(@babel/core@7.28.3) + '@types/ember__object': 4.0.12(@babel/core@7.28.4) + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__string@3.0.15': {} '@types/ember__template@4.0.7': {} - '@types/ember__test@4.0.6(@babel/core@7.28.3)': + '@types/ember__test@4.0.6(@babel/core@7.28.4)': dependencies: - '@types/ember__application': 4.0.11(@babel/core@7.28.3) + '@types/ember__application': 4.0.11(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color @@ -13564,9 +14388,9 @@ snapshots: dependencies: '@types/ember': 4.0.11 - '@types/ember__utils@4.0.7(@babel/core@7.28.3)': + '@types/ember__utils@4.0.7(@babel/core@7.28.4)': dependencies: - '@types/ember': 4.0.11(@babel/core@7.28.3) + '@types/ember': 4.0.11(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color @@ -13592,31 +14416,31 @@ snapshots: '@types/estree@1.0.8': {} - '@types/express-serve-static-core@4.19.6': + '@types/express-serve-static-core@4.19.7': dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 - '@types/send': 0.17.5 + '@types/send': 1.2.0 '@types/express@4.17.23': dependencies: '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.6 + '@types/express-serve-static-core': 4.19.7 '@types/qs': 6.14.0 - '@types/serve-static': 1.15.8 + '@types/serve-static': 1.15.9 '@types/fs-extra@5.1.0': dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/fs-extra@8.1.5': dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.18.11 optional: true '@types/glob@9.0.0': @@ -13625,7 +14449,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.12 '@types/http-cache-semantics@4.0.4': {} @@ -13645,7 +14469,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.18.11 '@types/mdast@3.0.15': dependencies: @@ -13657,19 +14481,17 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@20.19.11': + '@types/mute-stream@0.0.4': dependencies: - undici-types: 6.21.0 + '@types/node': 22.18.11 - '@types/node@22.17.2': + '@types/node@22.18.11': dependencies: undici-types: 6.21.0 - '@types/node@24.3.0': + '@types/node@22.18.12': dependencies: - undici-types: 7.10.0 - - '@types/node@9.6.61': {} + undici-types: 6.21.0 '@types/q@1.5.8': {} @@ -13681,24 +14503,28 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.18.11 '@types/rimraf@2.0.5': dependencies: '@types/glob': 9.0.0 - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/rsvp@4.0.9': {} '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.17.2 + '@types/node': 22.18.11 + + '@types/send@1.2.0': + dependencies: + '@types/node': 22.18.11 - '@types/serve-static@1.15.8': + '@types/serve-static@1.15.9': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 22.17.2 + '@types/node': 22.18.11 '@types/send': 0.17.5 '@types/sinon@17.0.4': @@ -13709,12 +14535,12 @@ snapshots: '@types/stack-utils@2.0.3': {} - '@types/supports-color@8.1.3': {} - '@types/symlink-or-copy@1.2.2': {} '@types/unist@2.0.11': {} + '@types/wrap-ansi@3.0.0': {} + '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.33': @@ -13723,102 +14549,104 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.19.11 + '@types/node': 22.18.11 optional: true - '@typescript-eslint/eslint-plugin@8.39.1(@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.46.1(@typescript-eslint/parser@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.39.1 - '@typescript-eslint/type-utils': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/utils': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.39.1 - eslint: 9.33.0(jiti@2.5.1) + '@typescript-eslint/parser': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/type-utils': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.1 + eslint: 9.37.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/parser@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.39.1 - '@typescript-eslint/types': 8.39.1 - '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.39.1 - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.33.0(jiti@2.5.1) - typescript: 5.9.2 + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.1 + debug: 4.4.3 + eslint: 9.37.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.39.1(typescript@5.9.2)': + '@typescript-eslint/project-service@8.46.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2) - '@typescript-eslint/types': 8.39.1 - debug: 4.4.1(supports-color@8.1.1) - typescript: 5.9.2 + '@typescript-eslint/tsconfig-utils': 8.46.1(typescript@5.9.3) + '@typescript-eslint/types': 8.46.1 + debug: 4.4.3 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.39.1': + '@typescript-eslint/scope-manager@8.46.1': dependencies: - '@typescript-eslint/types': 8.39.1 - '@typescript-eslint/visitor-keys': 8.39.1 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/visitor-keys': 8.46.1 - '@typescript-eslint/tsconfig-utils@8.39.1(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.46.1(typescript@5.9.3)': dependencies: - typescript: 5.9.2 + typescript: 5.9.3 - '@typescript-eslint/type-utils@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.39.1 - '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2) - '@typescript-eslint/utils': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.33.0(jiti@2.5.1) - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.37.0(jiti@2.6.1) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.39.1': {} + '@typescript-eslint/types@8.46.1': {} - '@typescript-eslint/typescript-estree@8.39.1(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.46.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.39.1(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2) - '@typescript-eslint/types': 8.39.1 - '@typescript-eslint/visitor-keys': 8.39.1 - debug: 4.4.1(supports-color@8.1.1) + '@typescript-eslint/project-service': 8.46.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.46.1(typescript@5.9.3) + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/visitor-keys': 8.46.1 + debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + semver: 7.7.3 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/utils@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) - '@typescript-eslint/scope-manager': 8.39.1 - '@typescript-eslint/types': 8.39.1 - '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2) - eslint: 9.33.0(jiti@2.5.1) - typescript: 5.9.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.3) + eslint: 9.37.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.39.1': + '@typescript-eslint/visitor-keys@8.46.1': dependencies: - '@typescript-eslint/types': 8.39.1 + '@typescript-eslint/types': 8.46.1 eslint-visitor-keys: 4.2.1 + '@vscode/sudo-prompt@9.3.1': {} + '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -13901,30 +14729,17 @@ snapshots: '@xtuc/long@4.2.2': {} - abab@2.0.6: {} - abbrev@1.1.1: {} abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - abortcontroller-polyfill@1.7.8: {} - accepts@1.3.8: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-dynamic-import@3.0.0: - dependencies: - acorn: 5.7.4 - - acorn-globals@6.0.0: - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - acorn-import-phases@1.0.4(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -13933,17 +14748,11 @@ snapshots: dependencies: acorn: 8.15.0 - acorn-walk@7.2.0: {} - - acorn@5.7.4: {} - - acorn@7.4.1: {} - acorn@8.15.0: {} - agent-base@6.0.2(supports-color@8.1.1): + agent-base@6.0.2: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -13981,7 +14790,7 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 + fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -14028,7 +14837,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.2.0: {} + ansi-regex@6.2.2: {} ansi-styles@2.2.1: {} @@ -14042,7 +14851,7 @@ snapshots: ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} + ansi-styles@6.2.3: {} ansi-to-html@0.6.15: dependencies: @@ -14079,6 +14888,14 @@ snapshots: repeat-string: 1.6.1 optional: true + applause@2.0.4: + dependencies: + lodash: 4.17.21 + optional-require: 1.1.10 + optionalDependencies: + cson-parser: 4.0.9 + js-yaml: 4.1.0 + aproba@2.1.0: {} are-we-there-yet@3.0.1: @@ -14086,8 +14903,6 @@ snapshots: delegates: 1.0.0 readable-stream: 3.6.2 - arg@5.0.2: {} - argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -14172,7 +14987,7 @@ snapshots: async-disk-cache@1.3.5: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 heimdalljs: 0.2.6 istextorbinary: 2.1.0 mkdirp: 0.5.6 @@ -14184,7 +14999,7 @@ snapshots: async-disk-cache@2.1.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 heimdalljs: 0.2.6 istextorbinary: 2.6.0 mkdirp: 0.5.6 @@ -14201,7 +15016,7 @@ snapshots: async-promise-queue@1.0.5: dependencies: async: 2.6.4 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 transitivePeerDependencies: - supports-color @@ -14254,12 +15069,12 @@ snapshots: babel-messages: 6.23.0 babel-register: 6.26.0 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 + babel-traverse: 6.26.0 babel-types: 6.26.0 babylon: 6.18.0 convert-source-map: 1.9.0 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 json5: 0.5.1 lodash: 4.17.21 minimatch: 3.1.2 @@ -14283,46 +15098,46 @@ snapshots: trim-right: 1.0.1 optional: true - babel-helper-builder-binary-assignment-operator-visitor@6.24.1(supports-color@8.1.1): + babel-helper-builder-binary-assignment-operator-visitor@6.24.1: dependencies: - babel-helper-explode-assignable-expression: 6.24.1(supports-color@8.1.1) + babel-helper-explode-assignable-expression: 6.24.1 babel-runtime: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color - babel-helper-call-delegate@6.24.1(supports-color@8.1.1): + babel-helper-call-delegate@6.24.1: dependencies: babel-helper-hoist-variables: 6.24.1 babel-runtime: 6.26.0 - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-traverse: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color - babel-helper-define-map@6.26.0(supports-color@8.1.1): + babel-helper-define-map@6.26.0: dependencies: - babel-helper-function-name: 6.24.1(supports-color@8.1.1) + babel-helper-function-name: 6.24.1 babel-runtime: 6.26.0 babel-types: 6.26.0 lodash: 4.17.21 transitivePeerDependencies: - supports-color - babel-helper-explode-assignable-expression@6.24.1(supports-color@8.1.1): + babel-helper-explode-assignable-expression@6.24.1: dependencies: babel-runtime: 6.26.0 - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-traverse: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color - babel-helper-function-name@6.24.1(supports-color@8.1.1): + babel-helper-function-name@6.24.1: dependencies: babel-helper-get-function-arity: 6.24.1 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 + babel-traverse: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color @@ -14348,23 +15163,23 @@ snapshots: babel-types: 6.26.0 lodash: 4.17.21 - babel-helper-remap-async-to-generator@6.24.1(supports-color@8.1.1): + babel-helper-remap-async-to-generator@6.24.1: dependencies: - babel-helper-function-name: 6.24.1(supports-color@8.1.1) + babel-helper-function-name: 6.24.1 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 + babel-traverse: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color - babel-helper-replace-supers@6.24.1(supports-color@8.1.1): + babel-helper-replace-supers@6.24.1: dependencies: babel-helper-optimise-call-expression: 6.24.1 babel-messages: 6.23.0 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 + babel-traverse: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color @@ -14372,7 +15187,7 @@ snapshots: babel-helpers@6.24.1: dependencies: babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 transitivePeerDependencies: - supports-color optional: true @@ -14381,34 +15196,27 @@ snapshots: babel-import-util@3.0.1: {} - babel-jest@29.7.0(@babel/core@7.28.3): + babel-jest@29.7.0(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.28.3) + babel-preset-jest: 29.6.3(@babel/core@7.28.4) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - babel-loader@8.4.1(@babel/core@7.28.3)(webpack@5.101.2): + babel-loader@8.4.1(@babel/core@7.28.4)(webpack@5.102.1): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.101.2 - - babel-loader@9.2.1(@babel/core@7.28.3)(webpack@5.101.2): - dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - find-cache-dir: 4.0.0 - schema-utils: 4.3.2 - webpack: 5.101.2 + webpack: 5.102.1 babel-messages@6.23.0: dependencies: @@ -14418,16 +15226,22 @@ snapshots: dependencies: babel-runtime: 6.26.0 - babel-plugin-debug-macros@0.2.0(@babel/core@7.28.3): + babel-plugin-debug-macros@0.2.0(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 semver: 5.7.2 - babel-plugin-debug-macros@0.3.4(@babel/core@7.28.3): + babel-plugin-debug-macros@0.3.4(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 semver: 5.7.2 + babel-plugin-debug-macros@2.0.0(@babel/core@7.28.4): + dependencies: + '@babel/core': 7.28.4 + babel-import-util: 2.1.1 + semver: 7.7.3 + babel-plugin-ember-data-packages-polyfill@0.1.2: dependencies: '@ember-data/rfc395-data': 0.0.4 @@ -14436,15 +15250,16 @@ snapshots: dependencies: ember-rfc176-data: 0.3.18 - babel-plugin-ember-template-compilation@2.3.0: + babel-plugin-ember-template-compilation@2.4.1: dependencies: - '@glimmer/syntax': 0.84.3 + '@glimmer/syntax': 0.95.0 babel-import-util: 3.0.1 - babel-plugin-ember-template-compilation@2.4.1: + babel-plugin-ember-template-compilation@3.0.1: dependencies: '@glimmer/syntax': 0.95.0 babel-import-util: 3.0.1 + import-meta-resolve: 4.2.0 babel-plugin-htmlbars-inline-precompile@5.3.1: dependencies: @@ -14467,7 +15282,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 @@ -14487,27 +15302,27 @@ snapshots: reselect: 4.1.8 resolve: 1.22.10 - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.3): + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.4): dependencies: - '@babel/compat-data': 7.28.0 - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) + '@babel/compat-data': 7.28.4 + '@babel/core': 7.28.4 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.3): + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) - core-js-compat: 3.45.0 + '@babel/core': 7.28.4 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) + core-js-compat: 3.46.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.3): + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) transitivePeerDependencies: - supports-color @@ -14523,9 +15338,9 @@ snapshots: babel-plugin-syntax-trailing-function-commas@6.22.0: {} - babel-plugin-transform-async-to-generator@6.24.1(supports-color@8.1.1): + babel-plugin-transform-async-to-generator@6.24.1: dependencies: - babel-helper-remap-async-to-generator: 6.24.1(supports-color@8.1.1) + babel-helper-remap-async-to-generator: 6.24.1 babel-plugin-syntax-async-functions: 6.13.0 babel-runtime: 6.26.0 transitivePeerDependencies: @@ -14539,34 +15354,34 @@ snapshots: dependencies: babel-runtime: 6.26.0 - babel-plugin-transform-es2015-block-scoping@6.26.0(supports-color@8.1.1): + babel-plugin-transform-es2015-block-scoping@6.26.0: dependencies: babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 + babel-traverse: 6.26.0 babel-types: 6.26.0 lodash: 4.17.21 transitivePeerDependencies: - supports-color - babel-plugin-transform-es2015-classes@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-classes@6.24.1: dependencies: - babel-helper-define-map: 6.26.0(supports-color@8.1.1) - babel-helper-function-name: 6.24.1(supports-color@8.1.1) + babel-helper-define-map: 6.26.0 + babel-helper-function-name: 6.24.1 babel-helper-optimise-call-expression: 6.24.1 - babel-helper-replace-supers: 6.24.1(supports-color@8.1.1) + babel-helper-replace-supers: 6.24.1 babel-messages: 6.23.0 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 + babel-traverse: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color - babel-plugin-transform-es2015-computed-properties@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-computed-properties@6.24.1: dependencies: babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 transitivePeerDependencies: - supports-color @@ -14583,9 +15398,9 @@ snapshots: dependencies: babel-runtime: 6.26.0 - babel-plugin-transform-es2015-function-name@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-function-name@6.24.1: dependencies: - babel-helper-function-name: 6.24.1(supports-color@8.1.1) + babel-helper-function-name: 6.24.1 babel-runtime: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: @@ -14595,53 +15410,53 @@ snapshots: dependencies: babel-runtime: 6.26.0 - babel-plugin-transform-es2015-modules-amd@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-modules-amd@6.24.1: dependencies: - babel-plugin-transform-es2015-modules-commonjs: 6.26.2(supports-color@8.1.1) + babel-plugin-transform-es2015-modules-commonjs: 6.26.2 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 transitivePeerDependencies: - supports-color - babel-plugin-transform-es2015-modules-commonjs@6.26.2(supports-color@8.1.1): + babel-plugin-transform-es2015-modules-commonjs@6.26.2: dependencies: babel-plugin-transform-strict-mode: 6.24.1 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color - babel-plugin-transform-es2015-modules-systemjs@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-modules-systemjs@6.24.1: dependencies: babel-helper-hoist-variables: 6.24.1 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 transitivePeerDependencies: - supports-color - babel-plugin-transform-es2015-modules-umd@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-modules-umd@6.24.1: dependencies: - babel-plugin-transform-es2015-modules-amd: 6.24.1(supports-color@8.1.1) + babel-plugin-transform-es2015-modules-amd: 6.24.1 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 transitivePeerDependencies: - supports-color - babel-plugin-transform-es2015-object-super@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-object-super@6.24.1: dependencies: - babel-helper-replace-supers: 6.24.1(supports-color@8.1.1) + babel-helper-replace-supers: 6.24.1 babel-runtime: 6.26.0 transitivePeerDependencies: - supports-color - babel-plugin-transform-es2015-parameters@6.24.1(supports-color@8.1.1): + babel-plugin-transform-es2015-parameters@6.24.1: dependencies: - babel-helper-call-delegate: 6.24.1(supports-color@8.1.1) + babel-helper-call-delegate: 6.24.1 babel-helper-get-function-arity: 6.24.1 babel-runtime: 6.26.0 - babel-template: 6.26.0(supports-color@8.1.1) - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-template: 6.26.0 + babel-traverse: 6.26.0 babel-types: 6.26.0 transitivePeerDependencies: - supports-color @@ -14675,9 +15490,9 @@ snapshots: babel-runtime: 6.26.0 regexpu-core: 2.0.0 - babel-plugin-transform-exponentiation-operator@6.24.1(supports-color@8.1.1): + babel-plugin-transform-exponentiation-operator@6.24.1: dependencies: - babel-helper-builder-binary-assignment-operator-visitor: 6.24.1(supports-color@8.1.1) + babel-helper-builder-binary-assignment-operator-visitor: 6.24.1 babel-plugin-syntax-exponentiation-operator: 6.13.0 babel-runtime: 6.26.0 transitivePeerDependencies: @@ -14692,53 +15507,53 @@ snapshots: babel-runtime: 6.26.0 babel-types: 6.26.0 - babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3) - - babel-preset-env@1.7.0(supports-color@8.1.1): + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.4): + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.4) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.4) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.4) + + babel-preset-env@1.7.0: dependencies: babel-plugin-check-es2015-constants: 6.22.0 babel-plugin-syntax-trailing-function-commas: 6.22.0 - babel-plugin-transform-async-to-generator: 6.24.1(supports-color@8.1.1) + babel-plugin-transform-async-to-generator: 6.24.1 babel-plugin-transform-es2015-arrow-functions: 6.22.0 babel-plugin-transform-es2015-block-scoped-functions: 6.22.0 - babel-plugin-transform-es2015-block-scoping: 6.26.0(supports-color@8.1.1) - babel-plugin-transform-es2015-classes: 6.24.1(supports-color@8.1.1) - babel-plugin-transform-es2015-computed-properties: 6.24.1(supports-color@8.1.1) + babel-plugin-transform-es2015-block-scoping: 6.26.0 + babel-plugin-transform-es2015-classes: 6.24.1 + babel-plugin-transform-es2015-computed-properties: 6.24.1 babel-plugin-transform-es2015-destructuring: 6.23.0 babel-plugin-transform-es2015-duplicate-keys: 6.24.1 babel-plugin-transform-es2015-for-of: 6.23.0 - babel-plugin-transform-es2015-function-name: 6.24.1(supports-color@8.1.1) + babel-plugin-transform-es2015-function-name: 6.24.1 babel-plugin-transform-es2015-literals: 6.22.0 - babel-plugin-transform-es2015-modules-amd: 6.24.1(supports-color@8.1.1) - babel-plugin-transform-es2015-modules-commonjs: 6.26.2(supports-color@8.1.1) - babel-plugin-transform-es2015-modules-systemjs: 6.24.1(supports-color@8.1.1) - babel-plugin-transform-es2015-modules-umd: 6.24.1(supports-color@8.1.1) - babel-plugin-transform-es2015-object-super: 6.24.1(supports-color@8.1.1) - babel-plugin-transform-es2015-parameters: 6.24.1(supports-color@8.1.1) + babel-plugin-transform-es2015-modules-amd: 6.24.1 + babel-plugin-transform-es2015-modules-commonjs: 6.26.2 + babel-plugin-transform-es2015-modules-systemjs: 6.24.1 + babel-plugin-transform-es2015-modules-umd: 6.24.1 + babel-plugin-transform-es2015-object-super: 6.24.1 + babel-plugin-transform-es2015-parameters: 6.24.1 babel-plugin-transform-es2015-shorthand-properties: 6.24.1 babel-plugin-transform-es2015-spread: 6.22.0 babel-plugin-transform-es2015-sticky-regex: 6.24.1 babel-plugin-transform-es2015-template-literals: 6.22.0 babel-plugin-transform-es2015-typeof-symbol: 6.23.0 babel-plugin-transform-es2015-unicode-regex: 6.24.1 - babel-plugin-transform-exponentiation-operator: 6.24.1(supports-color@8.1.1) + babel-plugin-transform-exponentiation-operator: 6.24.1 babel-plugin-transform-regenerator: 6.26.0 browserslist: 3.2.8 invariant: 2.2.4 @@ -14746,11 +15561,11 @@ snapshots: transitivePeerDependencies: - supports-color - babel-preset-jest@29.6.3(@babel/core@7.28.3): + babel-preset-jest@29.6.3(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.4) babel-register@6.26.0: dependencies: @@ -14765,11 +15580,11 @@ snapshots: - supports-color optional: true - babel-remove-types@1.0.1: + babel-remove-types@1.0.2: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) prettier: 2.8.8 transitivePeerDependencies: - supports-color @@ -14779,24 +15594,24 @@ snapshots: core-js: 2.6.12 regenerator-runtime: 0.11.1 - babel-template@6.26.0(supports-color@8.1.1): + babel-template@6.26.0: dependencies: babel-runtime: 6.26.0 - babel-traverse: 6.26.0(supports-color@8.1.1) + babel-traverse: 6.26.0 babel-types: 6.26.0 babylon: 6.18.0 lodash: 4.17.21 transitivePeerDependencies: - supports-color - babel-traverse@6.26.0(supports-color@8.1.1): + babel-traverse@6.26.0: dependencies: babel-code-frame: 6.26.0 babel-messages: 6.23.0 babel-runtime: 6.26.0 babel-types: 6.26.0 babylon: 6.18.0 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 globals: 9.18.0 invariant: 2.2.4 lodash: 4.17.21 @@ -14841,6 +15656,8 @@ snapshots: mixin-deep: 1.3.2 pascalcase: 0.1.1 + baseline-browser-mapping@2.8.17: {} + basic-auth@2.0.1: dependencies: safe-buffer: 5.1.2 @@ -14861,8 +15678,6 @@ snapshots: big.js@5.2.2: {} - binary-extensions@2.3.0: {} - binaryextensions@2.3.0: {} bind-decorator@1.0.11: {} @@ -14893,7 +15708,7 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 http-errors: 2.0.0 @@ -14918,13 +15733,13 @@ snapshots: boolean@3.2.0: optional: true - bowser@2.12.0: {} + bowser@2.12.1: {} boxen@7.1.1: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.3.0 + chalk: 5.6.2 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -14987,7 +15802,7 @@ snapshots: broccoli-babel-transpiler@7.8.1: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/polyfill': 7.12.1 broccoli-funnel: 2.0.2 broccoli-merge-trees: 3.0.2 @@ -15002,9 +15817,9 @@ snapshots: transitivePeerDependencies: - supports-color - broccoli-babel-transpiler@8.0.2(@babel/core@7.28.3): + broccoli-babel-transpiler@8.0.2(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 broccoli-persistent-filter: 3.1.3 clone: 2.1.2 hash-for-dep: 1.5.1 @@ -15020,7 +15835,7 @@ snapshots: dependencies: broccoli-kitchen-sink-helpers: 0.2.9 broccoli-plugin: 1.1.0 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 rimraf: 2.7.1 rsvp: 3.6.2 walk-sync: 0.2.7 @@ -15031,7 +15846,7 @@ snapshots: dependencies: broccoli-kitchen-sink-helpers: 0.3.1 broccoli-plugin: 1.3.1 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 rimraf: 2.7.1 rsvp: 3.6.2 walk-sync: 0.3.4 @@ -15064,7 +15879,7 @@ snapshots: dependencies: broccoli-kitchen-sink-helpers: 0.3.1 broccoli-plugin: 1.3.1 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 fs-extra: 0.24.0 transitivePeerDependencies: - supports-color @@ -15090,7 +15905,7 @@ snapshots: broccoli-kitchen-sink-helpers: 0.3.1 broccoli-plugin: 1.3.1 copy-dereference: 1.0.0 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 mkdirp: 0.5.6 promise-map-series: 0.2.3 rsvp: 3.6.2 @@ -15106,7 +15921,7 @@ snapshots: array-equal: 1.0.2 blank-object: 1.0.2 broccoli-plugin: 1.3.1 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 fast-ordered-set: 1.0.3 fs-tree-diff: 0.5.9 heimdalljs: 0.2.6 @@ -15123,7 +15938,7 @@ snapshots: dependencies: array-equal: 1.0.2 broccoli-plugin: 4.0.7 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-tree-diff: 2.0.1 heimdalljs: 0.2.6 minimatch: 3.1.2 @@ -15260,40 +16075,11 @@ snapshots: transitivePeerDependencies: - supports-color - broccoli-postcss-single@5.0.2: - dependencies: - broccoli-caching-writer: 3.0.3 - include-path-searcher: 0.1.0 - minimist: 1.2.8 - mkdirp: 1.0.4 - object-assign: 4.1.1 - postcss: 8.5.6 - transitivePeerDependencies: - - supports-color - - broccoli-postcss@6.1.0: - dependencies: - broccoli-funnel: 3.0.8 - broccoli-persistent-filter: 3.1.3 - minimist: 1.2.8 - object-assign: 4.1.1 - postcss: 8.5.6 - transitivePeerDependencies: - - supports-color - - broccoli-rollup@2.1.1: + broccoli-replace@2.0.2: dependencies: - '@types/node': 9.6.61 - amd-name-resolver: 1.3.1 - broccoli-plugin: 1.3.1 - fs-tree-diff: 0.5.9 - heimdalljs: 0.2.6 - heimdalljs-logger: 0.1.10 - magic-string: 0.24.1 - node-modules-path: 1.0.2 - rollup: 0.57.1 - symlink-or-copy: 1.3.1 - walk-sync: 0.3.4 + applause: 2.0.4 + broccoli-filter: 1.3.0 + minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -15325,7 +16111,7 @@ snapshots: broccoli-persistent-filter: 2.3.1 broccoli-plugin: 2.1.0 chalk: 2.4.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 ensure-posix-path: 1.1.1 fs-extra: 8.1.0 minimatch: 3.1.2 @@ -15336,13 +16122,6 @@ snapshots: transitivePeerDependencies: - supports-color - broccoli-string-replace@0.1.2: - dependencies: - broccoli-persistent-filter: 1.4.6 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - broccoli-svg-optimizer@2.1.0: dependencies: broccoli-persistent-filter: 3.1.3 @@ -15351,26 +16130,16 @@ snapshots: transitivePeerDependencies: - supports-color - broccoli-templater@2.0.2: - dependencies: - broccoli-plugin: 1.3.1 - fs-tree-diff: 0.5.9 - lodash.template: 4.5.0 - rimraf: 2.7.1 - walk-sync: 0.3.4 - transitivePeerDependencies: - - supports-color - broccoli-terser-sourcemap@4.1.1: dependencies: async-promise-queue: 1.0.5 broccoli-plugin: 4.0.7 convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 lodash.defaultsdeep: 4.6.1 matcher-collection: 2.0.1 symlink-or-copy: 1.3.1 - terser: 5.43.1 + terser: 5.44.0 walk-sync: 2.2.0 workerpool: 6.5.1 transitivePeerDependencies: @@ -15407,12 +16176,10 @@ snapshots: brorand@1.1.0: {} - browser-process-hrtime@1.0.0: {} - browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 - cipher-base: 1.0.6 + cipher-base: 1.0.7 create-hash: 1.2.0 evp_bytestokey: 1.0.3 inherits: 2.0.4 @@ -15426,7 +16193,7 @@ snapshots: browserify-des@1.0.2: dependencies: - cipher-base: 1.0.6 + cipher-base: 1.0.7 des.js: 1.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 @@ -15437,30 +16204,35 @@ snapshots: randombytes: 2.1.0 safe-buffer: 5.2.1 - browserify-sign@4.2.3: + browserify-sign@4.2.5: dependencies: bn.js: 5.2.2 browserify-rsa: 4.1.1 create-hash: 1.2.0 create-hmac: 1.1.7 elliptic: 6.6.1 - hash-base: 3.0.5 inherits: 2.0.4 - parse-asn1: 5.1.7 + parse-asn1: 5.1.9 readable-stream: 2.3.8 safe-buffer: 5.2.1 + browserslist-to-esbuild@2.1.1(browserslist@4.26.3): + dependencies: + browserslist: 4.26.3 + meow: 13.2.0 + browserslist@3.2.8: dependencies: - caniuse-lite: 1.0.30001735 - electron-to-chromium: 1.5.203 + caniuse-lite: 1.0.30001751 + electron-to-chromium: 1.5.237 - browserslist@4.25.2: + browserslist@4.26.3: dependencies: - caniuse-lite: 1.0.30001735 - electron-to-chromium: 1.5.203 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.2) + baseline-browser-mapping: 2.8.17 + caniuse-lite: 1.0.30001751 + electron-to-chromium: 1.5.237 + node-releases: 2.0.25 + update-browserslist-db: 1.1.3(browserslist@4.26.3) bser@2.1.1: dependencies: @@ -15565,7 +16337,7 @@ snapshots: http-cache-semantics: 4.2.0 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.2 + normalize-url: 8.1.0 responselike: 3.0.0 cacheable-request@7.0.4: @@ -15578,10 +16350,14 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 - cacheable@1.10.4: + cacheable@2.1.0: dependencies: - hookified: 1.11.0 - keyv: 5.5.0 + '@cacheable/memoize': 2.0.3 + '@cacheable/memory': 2.0.3 + '@cacheable/utils': 2.1.0 + hookified: 1.12.2 + keyv: 5.5.3 + qified: 0.5.0 calculate-cache-key-for-tree@2.0.0: dependencies: @@ -15616,8 +16392,6 @@ snapshots: callsites@3.1.0: {} - camelcase-css@2.0.1: {} - camelcase@5.3.1: {} camelcase@6.3.0: {} @@ -15628,14 +16402,7 @@ snapshots: dependencies: tmp: 0.0.28 - caniuse-api@3.0.0: - dependencies: - browserslist: 4.25.2 - caniuse-lite: 1.0.30001735 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - - caniuse-lite@1.0.30001735: {} + caniuse-lite@1.0.30001751: {} capture-exit@2.0.0: dependencies: @@ -15669,10 +16436,14 @@ snapshots: chalk@5.3.0: {} + chalk@5.6.2: {} + character-entities@2.0.2: {} chardet@0.7.0: {} + chardet@2.1.0: {} + charm@1.0.2: dependencies: inherits: 2.0.4 @@ -15697,26 +16468,16 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.14.0 + undici: 7.16.0 whatwg-mimetype: 4.0.0 - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chownr@2.0.0: {} + chownr@3.0.0: {} + chrome-launcher@0.15.2: dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.12 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -15727,7 +16488,7 @@ snapshots: chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.12 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -15740,12 +16501,13 @@ snapshots: ci-info@3.9.0: {} - ci-info@4.3.0: {} + ci-info@4.3.1: {} - cipher-base@1.0.6: + cipher-base@1.0.7: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 + to-buffer: 1.2.2 class-utils@0.3.6: dependencies: @@ -15832,6 +16594,9 @@ snapshots: code-point-at@1.1.0: {} + coffeescript@1.12.7: + optional: true + collection-visit@1.0.0: dependencies: map-visit: 1.0.0 @@ -15848,7 +16613,7 @@ snapshots: dependencies: color-name: 1.1.4 - color-name-list@10.28.1: {} + color-name-list@13.1.0: {} color-name@1.1.3: {} @@ -15882,8 +16647,6 @@ snapshots: common-ancestor-path@1.0.1: {} - common-path-prefix@3.0.0: {} - common-tags@1.8.2: {} commondir@1.0.1: {} @@ -15900,7 +16663,7 @@ snapshots: dependencies: bytes: 3.1.2 compressible: 2.0.18 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 negotiator: 0.6.4 on-headers: 1.1.0 safe-buffer: 5.2.1 @@ -15910,10 +16673,9 @@ snapshots: concat-map@0.0.1: {} - concurrently@9.2.0: + concurrently@9.2.1: dependencies: chalk: 4.1.2 - lodash: 4.17.21 rxjs: 7.8.2 shell-quote: 1.8.3 supports-color: 8.1.1 @@ -15931,7 +16693,7 @@ snapshots: json-schema-typed: 7.0.3 onetime: 5.1.2 pkg-up: 3.1.0 - semver: 7.7.2 + semver: 7.7.3 config-chain@1.1.13: dependencies: @@ -15957,7 +16719,7 @@ snapshots: connect@3.7.0: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 finalhandler: 1.1.2 parseurl: 1.3.3 utils-merge: 1.0.1 @@ -16016,9 +16778,9 @@ snapshots: copy-descriptor@0.1.1: {} - core-js-compat@3.45.0: + core-js-compat@3.46.0: dependencies: - browserslist: 4.25.2 + browserslist: 4.26.3 core-js@2.6.12: {} @@ -16042,50 +16804,43 @@ snapshots: js-yaml: 3.14.1 parse-json: 4.0.0 - cosmiconfig@8.3.6(typescript@5.9.2): + cosmiconfig@8.3.6(typescript@5.9.3): dependencies: import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 - cosmiconfig@9.0.0(typescript@5.9.2): + cosmiconfig@9.0.0(typescript@5.9.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 create-ecdh@4.0.4: dependencies: bn.js: 4.12.2 elliptic: 6.6.1 - create-hash@1.1.3: - dependencies: - cipher-base: 1.0.6 - inherits: 2.0.4 - ripemd160: 2.0.1 - sha.js: 2.4.12 - create-hash@1.2.0: dependencies: - cipher-base: 1.0.6 + cipher-base: 1.0.7 inherits: 2.0.4 md5.js: 1.3.5 - ripemd160: 2.0.2 + ripemd160: 2.0.3 sha.js: 2.4.12 create-hmac@1.1.7: dependencies: - cipher-base: 1.0.6 + cipher-base: 1.0.7 create-hash: 1.2.0 inherits: 2.0.4 - ripemd160: 2.0.2 + ripemd160: 2.0.3 safe-buffer: 5.2.1 sha.js: 2.4.12 @@ -16110,14 +16865,14 @@ snapshots: crypto-browserify@3.12.1: dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.3 + browserify-sign: 4.2.5 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 diffie-hellman: 5.0.3 hash-base: 3.0.5 inherits: 2.0.4 - pbkdf2: 3.1.3 + pbkdf2: 3.1.5 public-encrypt: 4.0.3 randombytes: 2.1.0 randomfill: 1.0.4 @@ -16130,9 +16885,14 @@ snapshots: dependencies: type-fest: 1.4.0 + cson-parser@4.0.9: + dependencies: + coffeescript: 1.12.7 + optional: true + css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.101.2): + css-loader@5.2.7(webpack@5.102.1): dependencies: icss-utils: 5.1.0(postcss@8.5.6) loader-utils: 2.0.4 @@ -16143,8 +16903,8 @@ snapshots: postcss-modules-values: 4.0.0(postcss@8.5.6) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 - semver: 7.7.2 - webpack: 5.101.2 + semver: 7.7.3 + webpack: 5.102.1 css-select-base-adapter@0.1.1: {} @@ -16173,11 +16933,6 @@ snapshots: mdn-data: 2.0.4 source-map: 0.5.7 - css-tree@1.1.3: - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - css-tree@3.1.0: dependencies: mdn-data: 2.12.2 @@ -16193,18 +16948,6 @@ snapshots: dependencies: css-tree: 1.0.0-alpha.29 - csso@4.2.0: - dependencies: - css-tree: 1.1.3 - - cssom@0.3.8: {} - - cssom@0.4.4: {} - - cssstyle@2.3.0: - dependencies: - cssom: 0.3.8 - cssstyle@4.6.0: dependencies: '@asamuzakjp/css-color': 3.2.0 @@ -16220,12 +16963,6 @@ snapshots: data-uri-to-buffer@6.0.2: {} - data-urls@2.0.0: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 @@ -16249,19 +16986,13 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 - date-time@2.1.0: - dependencies: - time-zone: 1.0.0 - debounce-fn@4.0.0: dependencies: mimic-fn: 3.1.0 - debug@2.6.9(supports-color@8.1.1): + debug@2.6.9: dependencies: ms: 2.0.0 - optionalDependencies: - supports-color: 8.1.1 debug@3.2.7: dependencies: @@ -16271,11 +17002,9 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.1(supports-color@8.1.1): + debug@4.4.3: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 8.1.1 decimal.js@10.6.0: {} @@ -16289,16 +17018,16 @@ snapshots: dependencies: mimic-response: 3.1.0 - decorator-transforms@1.2.1(@babel/core@7.28.3): + decorator-transforms@1.2.1(@babel/core@7.28.4): dependencies: - '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.4) babel-import-util: 2.1.1 transitivePeerDependencies: - '@babel/core' - decorator-transforms@2.3.0(@babel/core@7.28.3): + decorator-transforms@2.3.0(@babel/core@7.28.4): dependencies: - '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.4) babel-import-util: 3.0.1 transitivePeerDependencies: - '@babel/core' @@ -16388,9 +17117,9 @@ snapshots: detect-indent@6.1.0: {} - detect-indent@7.0.1: {} + detect-indent@7.0.2: {} - detect-libc@2.0.4: {} + detect-libc@2.1.2: {} detect-newline@3.1.0: {} @@ -16399,8 +17128,6 @@ snapshots: detect-node@2.1.0: optional: true - didyoumean@1.2.2: {} - diff@5.2.0: {} diff@7.0.0: {} @@ -16420,8 +17147,6 @@ snapshots: dependencies: path-type: 4.0.0 - dlv@1.1.3: {} - dom-element-descriptors@0.5.1: {} dom-serializer@0.2.2: @@ -16439,10 +17164,6 @@ snapshots: domelementtype@2.3.0: {} - domexception@2.0.1: - dependencies: - webidl-conversions: 5.0.0 - domhandler@5.0.3: dependencies: domelementtype: 2.3.0 @@ -16500,13 +17221,6 @@ snapshots: ee-first@1.1.1: {} - electron-debug@3.2.0: - dependencies: - electron-is-dev: 1.2.0 - electron-localshortcut: 3.2.1 - transitivePeerDependencies: - - supports-color - electron-dl@3.5.2: dependencies: ext-name: 5.0.0 @@ -16531,12 +17245,12 @@ snapshots: dependencies: '@electron/asar': 3.4.1 '@malept/cross-spawn-promise': 1.1.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-extra: 9.1.0 glob: 7.2.3 lodash: 4.17.21 parse-author: 2.0.0 - semver: 7.7.2 + semver: 7.7.3 tmp-promise: 3.0.3 optionalDependencies: '@types/fs-extra': 9.0.13 @@ -16547,7 +17261,7 @@ snapshots: electron-installer-debian@3.2.0: dependencies: '@malept/cross-spawn-promise': 1.1.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 electron-installer-common: 0.10.4 fs-extra: 9.1.0 get-folder-size: 2.0.1 @@ -16561,7 +17275,7 @@ snapshots: electron-installer-dmg@5.0.1: dependencies: '@types/appdmg': 0.5.5 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 minimist: 1.2.8 optionalDependencies: appdmg: 0.6.6 @@ -16572,12 +17286,12 @@ snapshots: electron-installer-snap@5.2.0: dependencies: '@malept/cross-spawn-promise': 1.1.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 electron-installer-common: 0.10.4 fs-extra: 9.1.0 js-yaml: 3.14.1 lodash: 4.17.21 - semver: 7.7.2 + semver: 7.7.3 tmp-promise: 3.0.3 which: 2.0.2 yargs: 16.2.0 @@ -16585,26 +17299,13 @@ snapshots: - supports-color optional: true - electron-is-accelerator@0.1.2: {} - - electron-is-dev@1.2.0: {} - electron-is-dev@2.0.0: {} - electron-localshortcut@3.2.1: - dependencies: - debug: 4.4.1(supports-color@8.1.1) - electron-is-accelerator: 0.1.2 - keyboardevent-from-electron-accelerator: 2.0.0 - keyboardevents-areequal: 0.2.2 - transitivePeerDependencies: - - supports-color - electron-positioner@4.1.0: {} electron-squirrel-startup@1.0.1: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 transitivePeerDependencies: - supports-color @@ -16613,12 +17314,12 @@ snapshots: conf: 10.2.0 type-fest: 2.19.0 - electron-to-chromium@1.5.203: {} + electron-to-chromium@1.5.237: {} electron-winstaller@5.4.0: dependencies: '@electron/asar': 3.4.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-extra: 7.0.1 lodash: 4.17.21 temp: 0.9.4 @@ -16628,10 +17329,10 @@ snapshots: - supports-color optional: true - electron@33.4.11: + electron@37.7.0: dependencies: '@electron/get': 2.0.3 - '@types/node': 20.19.11 + '@types/node': 22.18.11 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -16646,42 +17347,42 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - ember-animated-tools@2.0.0(@babel/core@7.28.3)(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2): + ember-animated-tools@2.0.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2): dependencies: '@embroider/addon-shim': 1.10.0 - decorator-transforms: 1.2.1(@babel/core@7.28.3) - ember-animated: 2.2.0(@babel/core@7.28.3)(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2) + decorator-transforms: 1.2.1(@babel/core@7.28.4) + ember-animated: 2.2.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2) transitivePeerDependencies: - '@babel/core' - '@ember/test-helpers' - '@glint/template' - supports-color - ember-animated@2.2.0(@babel/core@7.28.3)(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2): + ember-animated@2.2.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2): dependencies: '@embroider/addon-shim': 1.10.0 - '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) assert-never: 1.4.0 - decorator-transforms: 2.3.0(@babel/core@7.28.3) + decorator-transforms: 2.3.0(@babel/core@7.28.4) ember-element-helper: 0.8.8 optionalDependencies: - '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) + '@ember/test-helpers': 5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2) transitivePeerDependencies: - '@babel/core' - '@glint/template' - supports-color - ember-auto-import@2.10.0(@glint/template@1.5.2)(webpack@5.101.2): + ember-auto-import@2.11.1(@glint/template@1.5.2)(webpack@5.102.1): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.3) - '@babel/preset-env': 7.28.3(@babel/core@7.28.3) - '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@babel/core': 7.28.4 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.4) + '@babel/preset-env': 7.28.3(@babel/core@7.28.4) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) '@embroider/shared-internals': 2.9.1 - babel-loader: 8.4.1(@babel/core@7.28.3)(webpack@5.101.2) + babel-loader: 8.4.1(@babel/core@7.28.4)(webpack@5.102.1) babel-plugin-ember-modules-api-polyfill: 3.5.0 babel-plugin-ember-template-compilation: 2.4.1 babel-plugin-htmlbars-inline-precompile: 5.3.1 @@ -16691,22 +17392,22 @@ snapshots: broccoli-merge-trees: 4.2.0 broccoli-plugin: 4.0.7 broccoli-source: 3.0.1 - css-loader: 5.2.7(webpack@5.101.2) - debug: 4.4.1(supports-color@8.1.1) + css-loader: 5.2.7(webpack@5.102.1) + debug: 4.4.3 fs-extra: 10.1.0 fs-tree-diff: 2.0.1 handlebars: 4.7.8 is-subdir: 1.2.0 js-string-escape: 1.0.1 lodash: 4.17.21 - mini-css-extract-plugin: 2.9.4(webpack@5.101.2) + mini-css-extract-plugin: 2.9.4(webpack@5.102.1) minimatch: 3.1.2 parse5: 6.0.1 pkg-entry-points: 1.1.1 resolve: 1.22.10 resolve-package-path: 4.0.3 - semver: 7.7.2 - style-loader: 2.0.0(webpack@5.101.2) + semver: 7.7.3 + style-loader: 2.0.0(webpack@5.102.1) typescript-memoize: 1.1.1 walk-sync: 3.0.0 transitivePeerDependencies: @@ -16714,10 +17415,20 @@ snapshots: - supports-color - webpack - ember-cli-app-version@7.0.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-cache-primitive-polyfill@1.0.1(@babel/core@7.28.4): + dependencies: + ember-cli-babel: 7.26.11 + ember-cli-version-checker: 5.1.2 + ember-compatibility-helpers: 1.2.7(@babel/core@7.28.4) + silent-error: 1.1.1 + transitivePeerDependencies: + - '@babel/core' + - supports-color + + ember-cli-app-version@7.0.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: ember-cli-babel: 7.26.11 - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) git-repo-info: 2.1.1 transitivePeerDependencies: - supports-color @@ -16726,20 +17437,20 @@ snapshots: ember-cli-babel@7.26.11: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.28.3) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.28.4) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) '@babel/polyfill': 7.12.1 - '@babel/preset-env': 7.28.3(@babel/core@7.28.3) + '@babel/preset-env': 7.28.3(@babel/core@7.28.4) '@babel/runtime': 7.12.18 amd-name-resolver: 1.3.1 - babel-plugin-debug-macros: 0.3.4(@babel/core@7.28.3) + babel-plugin-debug-macros: 0.3.4(@babel/core@7.28.4) babel-plugin-ember-data-packages-polyfill: 0.1.2 babel-plugin-ember-modules-api-polyfill: 3.5.0 babel-plugin-module-resolver: 3.2.0 @@ -16759,26 +17470,26 @@ snapshots: transitivePeerDependencies: - supports-color - ember-cli-babel@8.2.0(@babel/core@7.28.3): + ember-cli-babel@8.2.0(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.28.3) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) - '@babel/preset-env': 7.28.3(@babel/core@7.28.3) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.28.4) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.4) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) + '@babel/preset-env': 7.28.3(@babel/core@7.28.4) '@babel/runtime': 7.12.18 amd-name-resolver: 1.3.1 - babel-plugin-debug-macros: 0.3.4(@babel/core@7.28.3) + babel-plugin-debug-macros: 0.3.4(@babel/core@7.28.4) babel-plugin-ember-data-packages-polyfill: 0.1.2 babel-plugin-ember-modules-api-polyfill: 3.5.0 babel-plugin-module-resolver: 5.0.2 - broccoli-babel-transpiler: 8.0.2(@babel/core@7.28.3) + broccoli-babel-transpiler: 8.0.2(@babel/core@7.28.4) broccoli-debug: 0.6.5 broccoli-funnel: 3.0.8 broccoli-source: 3.0.1 @@ -16788,7 +17499,7 @@ snapshots: ember-cli-version-checker: 5.1.2 ensure-posix-path: 1.1.1 resolve-package-path: 4.0.3 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color @@ -16804,35 +17515,35 @@ snapshots: dependencies: body-parser: 1.20.3 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 ember-cli-babel: 7.26.11 ember-cli-version-checker: 5.1.2 transitivePeerDependencies: - supports-color - ember-cli-dependency-checker@3.3.3(ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)): + ember-cli-dependency-checker@3.3.3(ember-cli@6.8.0(@types/node@22.18.11)(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)): dependencies: chalk: 2.4.2 - ember-cli: 6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7) + ember-cli: 6.8.0(@types/node@22.18.11)(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7) find-yarn-workspace-root: 2.0.0 is-git-url: 1.0.0 resolve: 1.22.10 semver: 5.7.2 - ember-cli-deprecation-workflow@3.4.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-cli-deprecation-workflow@3.4.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - ember-cli-babel: 8.2.0(@babel/core@7.28.3) - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + '@babel/core': 7.28.4 + ember-cli-babel: 8.2.0(@babel/core@7.28.4) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) transitivePeerDependencies: - supports-color - ember-cli-flash@5.1.0(@ember/string@3.1.1)(@embroider/macros@1.18.1(@glint/template@1.5.2))(ember-modifier@4.2.2(@babel/core@7.28.3)): + ember-cli-flash@5.1.0(@ember/string@4.0.1)(@embroider/macros@1.19.2(@glint/template@1.5.2))(ember-modifier@4.2.2(@babel/core@7.28.4)): dependencies: - '@ember/string': 3.1.1 + '@ember/string': 4.0.1 '@embroider/addon-shim': 1.10.0 - '@embroider/macros': 1.18.1(@glint/template@1.5.2) - ember-modifier: 4.2.2(@babel/core@7.28.3) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + ember-modifier: 4.2.2(@babel/core@7.28.4) transitivePeerDependencies: - supports-color @@ -16852,7 +17563,7 @@ snapshots: hash-for-dep: 1.5.1 heimdalljs-logger: 0.1.10 json-stable-stringify: 1.3.0 - semver: 7.7.2 + semver: 7.7.3 silent-error: 1.1.1 strip-bom: 4.0.0 walk-sync: 2.2.0 @@ -16872,7 +17583,7 @@ snapshots: hash-for-dep: 1.5.1 heimdalljs-logger: 0.1.10 js-string-escape: 1.0.1 - semver: 7.7.2 + semver: 7.7.3 silent-error: 1.1.1 walk-sync: 2.2.0 transitivePeerDependencies: @@ -16893,20 +17604,10 @@ snapshots: ember-cli-path-utils@1.0.0: {} - ember-cli-postcss@8.2.0: - dependencies: - broccoli-merge-trees: 4.2.0 - broccoli-postcss: 6.1.0 - broccoli-postcss-single: 5.0.2 - ember-cli-babel: 7.26.11 - merge: 2.1.1 - transitivePeerDependencies: - - supports-color - ember-cli-preprocess-registry@5.0.1: dependencies: broccoli-funnel: 3.0.8 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -16931,11 +17632,11 @@ snapshots: transitivePeerDependencies: - supports-color - ember-cli-typescript@3.0.0(@babel/core@7.28.3): + ember-cli-typescript@3.0.0(@babel/core@7.28.4): dependencies: - '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.28.3) + '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.28.4) ansi-to-html: 0.6.15 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 ember-cli-babel-plugin-helpers: 1.1.1 execa: 2.1.0 fs-extra: 8.1.0 @@ -16948,31 +17649,16 @@ snapshots: - '@babel/core' - supports-color - ember-cli-typescript@4.2.1: - dependencies: - ansi-to-html: 0.6.15 - broccoli-stew: 3.0.0 - debug: 4.4.1(supports-color@8.1.1) - execa: 4.1.0 - fs-extra: 9.1.0 - resolve: 1.22.10 - rsvp: 4.8.5 - semver: 7.7.2 - stagehand: 1.0.1 - walk-sync: 2.2.0 - transitivePeerDependencies: - - supports-color - ember-cli-typescript@5.3.0: dependencies: ansi-to-html: 0.6.15 broccoli-stew: 3.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 execa: 4.1.0 fs-extra: 9.1.0 resolve: 1.22.10 rsvp: 4.8.5 - semver: 7.7.2 + semver: 7.7.3 stagehand: 1.0.1 walk-sync: 2.2.0 transitivePeerDependencies: @@ -16999,15 +17685,20 @@ snapshots: ember-cli-version-checker@5.1.2: dependencies: resolve-package-path: 3.1.0 - semver: 7.7.2 + semver: 7.7.3 silent-error: 1.1.1 transitivePeerDependencies: - supports-color - ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7): + ember-cli@6.8.0(@types/node@22.18.11)(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7): dependencies: - '@pnpm/find-workspace-dir': 1000.1.2 - babel-remove-types: 1.0.1 + '@ember-tooling/blueprint-blueprint': 0.2.1 + '@ember-tooling/blueprint-model': 0.4.1 + '@ember-tooling/classic-build-addon-blueprint': 6.8.0 + '@ember-tooling/classic-build-app-blueprint': 6.8.0 + '@ember/app-blueprint': 6.8.1 + '@pnpm/find-workspace-dir': 1000.1.3 + babel-remove-types: 1.0.2 broccoli: 3.5.2 broccoli-concat: 4.2.5 broccoli-config-loader: 1.0.1 @@ -17023,7 +17714,7 @@ snapshots: calculate-cache-key-for-tree: 2.0.0 capture-exit: 2.0.0 chalk: 4.1.2 - ci-info: 4.3.0 + ci-info: 4.3.1 clean-base-url: 1.0.0 compression: 1.8.1 configstore: 5.0.1 @@ -17044,21 +17735,21 @@ snapshots: find-up: 5.0.0 find-yarn-workspace-root: 2.0.0 fixturify-project: 2.1.1 - fs-extra: 11.3.1 + fs-extra: 11.3.2 fs-tree-diff: 2.0.1 get-caller-file: 2.0.5 git-repo-info: 2.1.1 glob: 8.1.0 heimdalljs: 0.2.6 - heimdalljs-fs-monitor: 1.1.1 + heimdalljs-fs-monitor: 1.1.2 heimdalljs-graph: 1.0.0 heimdalljs-logger: 0.1.10 http-proxy: 1.18.1 inflection: 2.0.1 - inquirer: 9.3.7 + inquirer: 9.3.8(@types/node@22.18.11) is-git-url: 1.0.0 is-language-code: 3.1.0 - isbinaryfile: 5.0.4 + isbinaryfile: 5.0.6 lodash: 4.17.21 markdown-it: 14.1.0 markdown-it-terminal: 0.4.0(markdown-it@14.1.0) @@ -17068,7 +17759,7 @@ snapshots: npm-package-arg: 12.0.2 os-locale: 5.0.0 p-defer: 3.0.0 - portfinder: 1.0.37 + portfinder: 1.0.38 promise-map-series: 0.3.0 promise.hash.helper: 1.0.8 quick-temp: 0.1.8 @@ -17076,7 +17767,7 @@ snapshots: resolve-package-path: 4.0.3 safe-stable-stringify: 2.5.0 sane: 5.0.1 - semver: 7.7.2 + semver: 7.7.3 silent-error: 1.1.1 sort-package-json: 2.15.1 symlink-or-copy: 1.3.1 @@ -17086,9 +17777,10 @@ snapshots: tree-sync: 2.1.0 walk-sync: 3.0.0 watch-detector: 1.0.2 - workerpool: 9.3.3 + workerpool: 9.3.4 yam: 1.0.0 transitivePeerDependencies: + - '@types/node' - arc-templates - atpl - babel-core @@ -17145,24 +17837,27 @@ snapshots: - walrus - whiskers - ember-click-outside@6.1.1(@babel/core@7.28.3): + ember-click-outside@6.1.1(@babel/core@7.28.4): dependencies: '@embroider/addon-shim': 1.10.0 - ember-modifier: 4.2.2(@babel/core@7.28.3) + ember-modifier: 4.2.2(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - ember-cognito@2.0.0(@glint/template@1.5.2)(ember-simple-auth@8.0.0(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)))(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))(webpack@5.101.2): + ember-cognito@3.0.1(@glint/template@1.5.2)(ember-simple-auth@8.0.1(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))(webpack@5.102.1): dependencies: - '@aws-amplify/auth': 4.6.17(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) - '@aws-amplify/core': 4.7.15(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)) + '@aws-amplify/auth': 4.6.17(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) + '@aws-amplify/core': 4.7.15(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)) + '@babel/core': 7.28.4 amazon-cognito-identity-js: 5.2.14(encoding@0.1.13) crypto-browserify: 3.12.1 - ember-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) - ember-cli-babel: 7.26.11 + ember-auto-import: 2.11.1(@glint/template@1.5.2)(webpack@5.102.1) + ember-cli-babel: 8.2.0(@babel/core@7.28.4) ember-cli-htmlbars: 6.3.0 - ember-simple-auth: 8.0.0(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) + ember-simple-auth: 8.0.1(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) + ember-template-imports: 4.3.0 transitivePeerDependencies: - '@glint/template' - encoding @@ -17170,9 +17865,9 @@ snapshots: - supports-color - webpack - ember-compatibility-helpers@1.2.7(@babel/core@7.28.3): + ember-compatibility-helpers@1.2.7(@babel/core@7.28.4): dependencies: - babel-plugin-debug-macros: 0.2.0(@babel/core@7.28.3) + babel-plugin-debug-macros: 0.2.0(@babel/core@7.28.4) ember-cli-version-checker: 5.1.2 find-up: 5.0.0 fs-extra: 9.1.0 @@ -17181,10 +17876,10 @@ snapshots: - '@babel/core' - supports-color - ember-cookies@1.3.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-cookies@1.3.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: '@embroider/addon-shim': 1.10.0 - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) transitivePeerDependencies: - supports-color @@ -17194,12 +17889,12 @@ snapshots: transitivePeerDependencies: - supports-color - ember-css-transitions@4.5.0(@babel/core@7.28.3)(@glint/template@1.5.2): + ember-css-transitions@4.5.0(@babel/core@7.28.4)(@glint/template@1.5.2): dependencies: '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) '@embroider/addon-shim': 1.10.0 - decorator-transforms: 2.3.0(@babel/core@7.28.3) - ember-modifier: 4.2.2(@babel/core@7.28.3) + decorator-transforms: 2.3.0(@babel/core@7.28.4) + ember-modifier: 4.2.2(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - '@glint/template' @@ -17213,34 +17908,19 @@ snapshots: transitivePeerDependencies: - supports-color - ember-drag-sort@3.0.1: + ember-drag-sort@4.1.1(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(webpack@5.102.1): dependencies: - ember-cli-babel: 7.26.11 + '@babel/core': 7.28.4 + ember-auto-import: 2.11.1(@glint/template@1.5.2)(webpack@5.102.1) + ember-cli-babel: 8.2.0(@babel/core@7.28.4) ember-cli-htmlbars: 6.3.0 + ember-element-helper: 0.8.8 + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) + ember-template-imports: 4.3.0 transitivePeerDependencies: + - '@glint/template' - supports-color - - ember-electron@7.0.0(ember-cli-dependency-checker@3.3.3(ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)))(ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(encoding@0.1.13): - dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@electron-forge/core': 7.8.3(encoding@0.1.13) - chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) - ember-cli: 6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7) - ember-cli-babel: 8.2.0(@babel/core@7.28.3) - ember-cli-dependency-checker: 3.3.3(ember-cli@6.4.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)) - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) - execa: 5.1.1 - find-yarn-workspace-root: 2.0.0 - ncp: 2.0.0 - portfinder: 1.0.37 - rimraf: 3.0.2 - silent-error: 1.1.1 - tree-kill: 1.2.2 - transitivePeerDependencies: - - bluebird - - encoding - - supports-color + - webpack ember-element-helper@0.8.8: dependencies: @@ -17248,19 +17928,19 @@ snapshots: transitivePeerDependencies: - supports-color - ember-eslint-parser@0.5.11(@babel/core@7.28.3)(@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + ember-eslint-parser@0.5.11(@babel/core@7.28.4)(@typescript-eslint/parser@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/eslint-parser': 7.28.0(@babel/core@7.28.3)(eslint@9.33.0(jiti@2.5.1)) + '@babel/core': 7.28.4 + '@babel/eslint-parser': 7.28.4(@babel/core@7.28.4)(eslint@9.37.0(jiti@2.6.1)) '@glimmer/syntax': 0.95.0 - '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.46.1(typescript@5.9.3) content-tag: 2.0.3 eslint-scope: 7.2.2 html-tags: 3.3.1 mathml-tag-names: 2.1.3 svg-tags: 1.0.0 optionalDependencies: - '@typescript-eslint/parser': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint - typescript @@ -17271,59 +17951,40 @@ snapshots: transitivePeerDependencies: - supports-color - ember-fetch@8.1.2(encoding@0.1.13): - dependencies: - abortcontroller-polyfill: 1.7.8 - broccoli-concat: 4.2.5 - broccoli-debug: 0.6.5 - broccoli-merge-trees: 4.2.0 - broccoli-rollup: 2.1.1 - broccoli-stew: 3.0.0 - broccoli-templater: 2.0.2 - calculate-cache-key-for-tree: 2.0.0 - caniuse-api: 3.0.0 - ember-cli-babel: 7.26.11 - ember-cli-typescript: 4.2.1 - ember-cli-version-checker: 5.1.2 - node-fetch: 2.7.0(encoding@0.1.13) - whatwg-fetch: 3.6.20 - transitivePeerDependencies: - - encoding - - supports-color - - ember-functions-as-helper-polyfill@2.1.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-functions-as-helper-polyfill@2.1.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: ember-cli-babel: 7.26.11 ember-cli-typescript: 5.3.0 ember-cli-version-checker: 5.1.2 - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) transitivePeerDependencies: - supports-color - ember-inflector@4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-inflector@6.0.0(@babel/core@7.28.4): dependencies: - ember-cli-babel: 7.26.11 - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + '@embroider/addon-shim': 1.10.0 + decorator-transforms: 2.3.0(@babel/core@7.28.4) transitivePeerDependencies: + - '@babel/core' - supports-color - ember-inputmask@2.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(webpack@5.101.2): + ember-inputmask@2.0.0(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(webpack@5.102.1): dependencies: - ember-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) + ember-auto-import: 2.11.1(@glint/template@1.5.2)(webpack@5.102.1) ember-cli-babel: 7.26.11 ember-cli-htmlbars: 6.3.0 - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) inputmask: 5.0.9 transitivePeerDependencies: - '@glint/template' - supports-color - webpack - ember-load-initializers@3.0.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-load-initializers@3.0.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) - ember-local-storage@2.0.6: + ember-local-storage@2.0.6(patch_hash=7a283711fa827de035fc3cc2ebe13c451ddf557492e8b185e99f915713c95f06): dependencies: blob-polyfill: 7.0.20220408 broccoli-funnel: 3.0.8 @@ -17336,61 +17997,93 @@ snapshots: transitivePeerDependencies: - supports-color - ember-math-helpers@5.0.0(@babel/core@7.28.3)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-math-helpers@5.0.0(@babel/core@7.28.4)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: '@embroider/addon-shim': 1.10.0 - decorator-transforms: 2.3.0(@babel/core@7.28.3) - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + decorator-transforms: 2.3.0(@babel/core@7.28.4) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) transitivePeerDependencies: - '@babel/core' - supports-color - ember-modifier-manager-polyfill@1.2.0(@babel/core@7.28.3): + ember-modifier-manager-polyfill@1.2.0(@babel/core@7.28.4): dependencies: ember-cli-babel: 7.26.11 ember-cli-version-checker: 2.2.0 - ember-compatibility-helpers: 1.2.7(@babel/core@7.28.3) + ember-compatibility-helpers: 1.2.7(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - ember-modifier@4.2.2(@babel/core@7.28.3): + ember-modifier@4.2.2(@babel/core@7.28.4): dependencies: '@embroider/addon-shim': 1.10.0 - decorator-transforms: 2.3.0(@babel/core@7.28.3) + decorator-transforms: 2.3.0(@babel/core@7.28.4) ember-cli-normalize-entity-name: 1.0.0 ember-cli-string-utils: 1.1.0 transitivePeerDependencies: - '@babel/core' - supports-color - ember-orbit@0.17.3(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(webpack@5.101.2): + ember-orbit@0.20.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@ember/test-waiters@4.1.1(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-modifier@4.2.2(@babel/core@7.28.4))(ember-resources@7.0.7(@glimmer/component@2.0.0)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: + '@embroider/addon-shim': 1.10.0 '@orbit/coordinator': 0.17.0 '@orbit/core': 0.17.0 '@orbit/data': 0.17.0 '@orbit/identity-map': 0.17.0 '@orbit/memory': 0.17.2 + '@orbit/record-cache': 0.17.2 '@orbit/records': 0.17.0 '@orbit/serializers': 0.17.0 '@orbit/utils': 0.17.0 '@orbit/validators': 0.17.0 - ember-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) - ember-cli-babel: 7.26.11 - ember-cli-htmlbars: 6.3.0 - ember-cli-typescript: 4.2.1 - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + decorator-transforms: 2.3.0(@babel/core@7.28.4) + ember-primitives: 0.40.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@ember/test-waiters@4.1.1(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-modifier@4.2.2(@babel/core@7.28.4))(ember-resources@7.0.7(@glimmer/component@2.0.0)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) + ember-strict-application-resolver: 0.1.0(@babel/core@7.28.4) transitivePeerDependencies: + - '@babel/core' + - '@ember/test-helpers' + - '@ember/test-waiters' + - '@glimmer/component' - '@glint/template' + - ember-modifier + - ember-resources + - supports-color + + ember-primitives@0.40.0(@babel/core@7.28.4)(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@ember/test-waiters@4.1.1(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-modifier@4.2.2(@babel/core@7.28.4))(ember-resources@7.0.7(@glimmer/component@2.0.0)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): + dependencies: + '@babel/runtime': 7.28.4 + '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) + '@embroider/addon-shim': 1.10.0 + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + '@floating-ui/dom': 1.7.4 + '@glimmer/component': 2.0.0 + decorator-transforms: 2.3.0(@babel/core@7.28.4) + ember-element-helper: 0.8.8 + ember-modifier: 4.2.2(@babel/core@7.28.4) + ember-resources: 7.0.7(@glimmer/component@2.0.0)(@glint/template@1.5.2) + form-data-utils: 0.6.0 + reactiveweb: 1.9.0(@babel/core@7.28.4)(@ember/test-waiters@4.1.1(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2) + should-handle-link: 1.3.0 + tabster: 8.5.6 + tracked-built-ins: 4.0.0(@babel/core@7.28.4) + tracked-toolbox: 2.0.0(@babel/core@7.28.4)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) + optionalDependencies: + '@ember/test-helpers': 5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2) + '@glint/template': 1.5.2 + transitivePeerDependencies: + - '@babel/core' + - ember-source - supports-color - - webpack - ember-qunit@9.0.3(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.1): + ember-qunit@9.0.4(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.2): dependencies: - '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) + '@ember/test-helpers': 5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2) '@embroider/addon-shim': 1.10.0 - '@embroider/macros': 1.18.1(@glint/template@1.5.2) - qunit: 2.24.1 + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + qunit: 2.24.2 qunit-theme-ember: 1.0.0 transitivePeerDependencies: - '@glint/template' @@ -17402,6 +18095,16 @@ snapshots: transitivePeerDependencies: - supports-color + ember-resources@7.0.7(@glimmer/component@2.0.0)(@glint/template@1.5.2): + dependencies: + '@embroider/addon-shim': 1.10.0 + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + '@glint/template': 1.5.2 + optionalDependencies: + '@glimmer/component': 2.0.0 + transitivePeerDependencies: + - supports-color + ember-rfc176-data@0.3.18: {} ember-route-template@1.0.3: @@ -17412,8 +18115,8 @@ snapshots: ember-router-generator@2.0.0: dependencies: - '@babel/parser': 7.28.3 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 recast: 0.18.10 transitivePeerDependencies: - supports-color @@ -17424,42 +18127,42 @@ snapshots: transitivePeerDependencies: - supports-color - ember-set-helper@3.0.1(@babel/core@7.28.3): + ember-set-helper@3.1.0(@babel/core@7.28.4): dependencies: '@embroider/addon-shim': 1.10.0 - decorator-transforms: 1.2.1(@babel/core@7.28.3) + decorator-transforms: 1.2.1(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color - ember-simple-auth@8.0.0(@ember/test-helpers@5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-simple-auth@8.0.1(@ember/test-helpers@5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) '@embroider/addon-shim': 1.10.0 - '@embroider/macros': 1.18.1(@glint/template@1.5.2) - ember-cookies: 1.3.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + ember-cookies: 1.3.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) optionalDependencies: - '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) + '@ember/test-helpers': 5.3.0(@babel/core@7.28.4)(@glint/template@1.5.2) transitivePeerDependencies: - '@glint/template' - supports-color - ember-sinon-qunit@7.5.0(@babel/core@7.28.3)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2))(qunit@2.24.1)(sinon@17.0.1): + ember-sinon-qunit@7.5.0(@babel/core@7.28.4)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1))(qunit@2.24.2)(sinon@17.0.1): dependencies: '@embroider/addon-shim': 1.10.0 '@types/sinon': 17.0.4 - decorator-transforms: 2.3.0(@babel/core@7.28.3) - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) - qunit: 2.24.1 + decorator-transforms: 2.3.0(@babel/core@7.28.4) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) + qunit: 2.24.2 sinon: 17.0.1 transitivePeerDependencies: - '@babel/core' - supports-color - ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2): + ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@ember/edition-utils': 1.2.0 '@glimmer/compiler': 0.92.4 '@glimmer/component': 2.0.0 @@ -17478,15 +18181,15 @@ snapshots: '@glimmer/util': 0.92.3 '@glimmer/validator': 0.92.3 '@glimmer/vm': 0.92.3 - '@glimmer/vm-babel-plugins': 0.92.3(@babel/core@7.28.3) + '@glimmer/vm-babel-plugins': 0.92.3(@babel/core@7.28.4) '@simple-dom/interface': 1.4.0 backburner.js: 2.8.0 broccoli-file-creator: 2.1.1 broccoli-funnel: 3.0.8 broccoli-merge-trees: 4.2.0 chalk: 4.1.2 - ember-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) - ember-cli-babel: 8.2.0(@babel/core@7.28.3) + ember-auto-import: 2.11.1(@glint/template@1.5.2)(webpack@5.102.1) + ember-cli-babel: 8.2.0(@babel/core@7.28.4) ember-cli-get-component-path-option: 1.0.0 ember-cli-is-package-missing: 1.0.0 ember-cli-normalize-entity-name: 1.0.0 @@ -17498,7 +18201,7 @@ snapshots: inflection: 2.0.1 route-recognizer: 0.3.4 router_js: 8.0.6(route-recognizer@0.3.4)(rsvp@4.8.5) - semver: 7.7.2 + semver: 7.7.3 silent-error: 1.1.1 simple-html-tokenizer: 0.5.11 transitivePeerDependencies: @@ -17507,16 +18210,24 @@ snapshots: - supports-color - webpack - ember-svg-jar@2.6.3(@glint/template@1.5.2): + ember-strict-application-resolver@0.1.0(@babel/core@7.28.4): + dependencies: + '@embroider/addon-shim': 1.10.0 + decorator-transforms: 2.3.0(@babel/core@7.28.4) + transitivePeerDependencies: + - '@babel/core' + - supports-color + + ember-svg-jar@2.7.0(@glint/template@1.5.2): dependencies: - '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@embroider/macros': 1.19.2(@glint/template@1.5.2) broccoli-caching-writer: 3.0.3 broccoli-concat: 4.2.5 broccoli-funnel: 3.0.8 broccoli-merge-trees: 4.2.0 broccoli-persistent-filter: 3.1.3 broccoli-plugin: 4.0.7 - broccoli-string-replace: 0.1.2 + broccoli-replace: 2.0.2 broccoli-svg-optimizer: 2.1.0 cheerio: 1.1.2 console-ui: 3.1.2 @@ -17556,15 +18267,15 @@ snapshots: transitivePeerDependencies: - supports-color - ember-truth-helpers@4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)): + ember-truth-helpers@4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): dependencies: '@embroider/addon-shim': 1.10.0 - ember-functions-as-helper-polyfill: 2.1.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)) - ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + ember-functions-as-helper-polyfill: 2.1.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)) + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) transitivePeerDependencies: - supports-color - emoji-regex@10.4.0: {} + emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} @@ -17598,7 +18309,7 @@ snapshots: engine.io@6.6.4: dependencies: '@types/cors': 2.8.19 - '@types/node': 22.17.2 + '@types/node': 22.18.11 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -17614,7 +18325,7 @@ snapshots: enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 - tapable: 2.2.2 + tapable: 2.3.0 ensure-posix-path@1.1.1: {} @@ -17632,7 +18343,7 @@ snapshots: errlop@2.2.0: {} - error-ex@1.3.2: + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -17681,7 +18392,7 @@ snapshots: is-typed-array: 1.1.15 is-weakref: 1.1.1 math-intrinsics: 1.1.0 - object-inspect: 1.13.4 + object-inspect: 1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943) object-keys: 1.1.1 object.assign: 4.1.7 own-keys: 1.0.1 @@ -17741,6 +18452,35 @@ snapshots: es6-error@4.1.1: optional: true + esbuild@0.25.11: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.11 + '@esbuild/android-arm': 0.25.11 + '@esbuild/android-arm64': 0.25.11 + '@esbuild/android-x64': 0.25.11 + '@esbuild/darwin-arm64': 0.25.11 + '@esbuild/darwin-x64': 0.25.11 + '@esbuild/freebsd-arm64': 0.25.11 + '@esbuild/freebsd-x64': 0.25.11 + '@esbuild/linux-arm': 0.25.11 + '@esbuild/linux-arm64': 0.25.11 + '@esbuild/linux-ia32': 0.25.11 + '@esbuild/linux-loong64': 0.25.11 + '@esbuild/linux-mips64el': 0.25.11 + '@esbuild/linux-ppc64': 0.25.11 + '@esbuild/linux-riscv64': 0.25.11 + '@esbuild/linux-s390x': 0.25.11 + '@esbuild/linux-x64': 0.25.11 + '@esbuild/netbsd-arm64': 0.25.11 + '@esbuild/netbsd-x64': 0.25.11 + '@esbuild/openbsd-arm64': 0.25.11 + '@esbuild/openbsd-x64': 0.25.11 + '@esbuild/openharmony-arm64': 0.25.11 + '@esbuild/sunos-x64': 0.25.11 + '@esbuild/win32-arm64': 0.25.11 + '@esbuild/win32-ia32': 0.25.11 + '@esbuild/win32-x64': 0.25.11 + escalade@3.2.0: {} escape-goat@2.1.1: {} @@ -17765,59 +18505,59 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.33.0(jiti@2.5.1)): + eslint-compat-utils@0.5.1(eslint@9.37.0(jiti@2.6.1)): dependencies: - eslint: 9.33.0(jiti@2.5.1) - semver: 7.7.2 + eslint: 9.37.0(jiti@2.6.1) + semver: 7.7.3 - eslint-config-prettier@9.1.2(eslint@9.33.0(jiti@2.5.1)): + eslint-config-prettier@10.1.8(eslint@9.37.0(jiti@2.6.1)): dependencies: - eslint: 9.33.0(jiti@2.5.1) + eslint: 9.37.0(jiti@2.6.1) - eslint-plugin-ember@12.7.0(@babel/core@7.28.3)(@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + eslint-plugin-ember@12.7.4(@babel/core@7.28.4)(@typescript-eslint/parser@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3): dependencies: '@ember-data/rfc395-data': 0.0.4 css-tree: 3.1.0 - ember-eslint-parser: 0.5.11(@babel/core@7.28.3)(@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + ember-eslint-parser: 0.5.11(@babel/core@7.28.4)(@typescript-eslint/parser@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) ember-rfc176-data: 0.3.18 - eslint: 9.33.0(jiti@2.5.1) - eslint-utils: 3.0.0(eslint@9.33.0(jiti@2.5.1)) + eslint: 9.37.0(jiti@2.6.1) + eslint-utils: 3.0.0(eslint@9.37.0(jiti@2.6.1)) estraverse: 5.3.0 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 requireindex: 1.2.0 snake-case: 3.0.4 optionalDependencies: - '@typescript-eslint/parser': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - '@babel/core' - typescript - eslint-plugin-es-x@7.8.0(eslint@9.33.0(jiti@2.5.1)): + eslint-plugin-es-x@7.8.0(eslint@9.37.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.33.0(jiti@2.5.1) - eslint-compat-utils: 0.5.1(eslint@9.33.0(jiti@2.5.1)) + eslint: 9.37.0(jiti@2.6.1) + eslint-compat-utils: 0.5.1(eslint@9.37.0(jiti@2.6.1)) - eslint-plugin-n@17.21.3(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + eslint-plugin-n@17.23.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1)) enhanced-resolve: 5.18.3 - eslint: 9.33.0(jiti@2.5.1) - eslint-plugin-es-x: 7.8.0(eslint@9.33.0(jiti@2.5.1)) - get-tsconfig: 4.10.1 + eslint: 9.37.0(jiti@2.6.1) + eslint-plugin-es-x: 7.8.0(eslint@9.37.0(jiti@2.6.1)) + get-tsconfig: 4.12.0 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 - semver: 7.7.2 - ts-declaration-location: 1.0.7(typescript@5.9.2) + semver: 7.7.3 + ts-declaration-location: 1.0.7(typescript@5.9.3) transitivePeerDependencies: - typescript - eslint-plugin-qunit@8.2.5(eslint@9.33.0(jiti@2.5.1)): + eslint-plugin-qunit@8.2.5(eslint@9.37.0(jiti@2.6.1)): dependencies: - eslint-utils: 3.0.0(eslint@9.33.0(jiti@2.5.1)) + eslint-utils: 3.0.0(eslint@9.37.0(jiti@2.6.1)) requireindex: 1.2.0 transitivePeerDependencies: - eslint @@ -17837,9 +18577,9 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-utils@3.0.0(eslint@9.33.0(jiti@2.5.1)): + eslint-utils@3.0.0(eslint@9.37.0(jiti@2.6.1)): dependencies: - eslint: 9.33.0(jiti@2.5.1) + eslint: 9.37.0(jiti@2.6.1) eslint-visitor-keys: 2.1.0 eslint-visitor-keys@2.1.0: {} @@ -17848,17 +18588,17 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.33.0(jiti@2.5.1): + eslint@9.37.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 - '@eslint/config-helpers': 0.3.1 - '@eslint/core': 0.15.2 + '@eslint/config-helpers': 0.4.0 + '@eslint/core': 0.16.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.33.0 - '@eslint/plugin-kit': 0.3.5 - '@humanfs/node': 0.16.6 + '@eslint/js': 9.37.0 + '@eslint/plugin-kit': 0.4.0 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 @@ -17866,7 +18606,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -17886,7 +18626,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.5.1 + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -17914,7 +18654,7 @@ snapshots: estraverse@5.3.0: {} - estree-walker@0.6.1: {} + estree-walker@2.0.2: {} esutils@2.0.3: {} @@ -17999,7 +18739,7 @@ snapshots: expand-brackets@2.1.4: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 define-property: 0.2.5 extend-shallow: 2.0.1 posix-character-classes: 0.1.1 @@ -18013,7 +18753,7 @@ snapshots: dependencies: homedir-polyfill: 1.0.3 - exponential-backoff@3.1.2: {} + exponential-backoff@3.1.3: {} express@4.21.2: dependencies: @@ -18024,7 +18764,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.1 cookie-signature: 1.0.6 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 @@ -18094,7 +18834,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -18136,7 +18876,7 @@ snapshots: transitivePeerDependencies: - supports-color - fast-uri@3.0.6: {} + fast-uri@3.1.0: {} fastest-levenshtein@1.0.16: {} @@ -18180,7 +18920,7 @@ snapshots: file-entry-cache@10.1.4: dependencies: - flat-cache: 6.1.13 + flat-cache: 6.1.18 file-entry-cache@8.0.0: dependencies: @@ -18209,7 +18949,7 @@ snapshots: finalhandler@1.1.2: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 encodeurl: 1.0.2 escape-html: 1.0.3 on-finished: 2.3.0 @@ -18221,7 +18961,7 @@ snapshots: finalhandler@1.3.1: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -18246,11 +18986,6 @@ snapshots: make-dir: 3.1.0 pkg-dir: 4.2.0 - find-cache-dir@4.0.0: - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - find-index@1.1.1: {} find-up@2.1.0: @@ -18271,11 +19006,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - find-yarn-workspace-root@2.0.0: dependencies: micromatch: 4.0.8 @@ -18328,17 +19058,17 @@ snapshots: flatted: 3.3.3 keyv: 4.5.4 - flat-cache@6.1.13: + flat-cache@6.1.18: dependencies: - cacheable: 1.10.4 + cacheable: 2.1.0 flatted: 3.3.3 - hookified: 1.11.0 + hookified: 1.12.2 flatted@3.3.3: {} flora-colossus@2.0.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-extra: 10.1.0 transitivePeerDependencies: - supports-color @@ -18358,27 +19088,16 @@ snapshots: for-in@1.0.2: {} - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - forever-agent@0.6.1: {} form-data-encoder@2.1.4: {} - form-data@2.3.3: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 + form-data-utils@0.6.0: {} - form-data@3.0.4: + form-data@2.3.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 mime-types: 2.1.35 form-data@4.0.4: @@ -18414,7 +19133,7 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 - fs-extra@11.3.1: + fs-extra@11.3.2: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.0 @@ -18522,7 +19241,7 @@ snapshots: galactus@1.0.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 flora-colossus: 2.0.0 fs-extra: 10.1.0 transitivePeerDependencies: @@ -18552,6 +19271,8 @@ snapshots: is-property: 1.0.2 optional: true + generator-function@2.0.1: {} + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -18578,7 +19299,7 @@ snapshots: get-package-info@1.0.0: dependencies: bluebird: 3.7.2 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 lodash.get: 4.4.2 read-pkg-up: 2.0.0 transitivePeerDependencies: @@ -18609,7 +19330,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-tsconfig@4.10.1: + get-tsconfig@4.12.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -18617,7 +19338,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -18650,15 +19371,6 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.4.5: - dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - glob@5.0.15: dependencies: inflight: 1.0.6 @@ -18697,7 +19409,7 @@ snapshots: es6-error: 4.1.1 matcher: 3.0.0 roarr: 2.15.4 - semver: 7.7.2 + semver: 7.7.3 serialize-error: 7.0.1 optional: true @@ -18733,6 +19445,8 @@ snapshots: globals@15.15.0: {} + globals@16.4.0: {} + globals@9.18.0: {} globalthis@1.0.4: @@ -18882,14 +19596,17 @@ snapshots: has-yarn@3.0.0: {} - hash-base@2.0.2: + hash-base@3.0.5: dependencies: inherits: 2.0.4 + safe-buffer: 5.2.1 - hash-base@3.0.5: + hash-base@3.1.2: dependencies: inherits: 2.0.4 + readable-stream: 2.3.8 safe-buffer: 5.2.1 + to-buffer: 1.2.2 hash-for-dep@1.5.1: dependencies: @@ -18911,7 +19628,7 @@ snapshots: dependencies: function-bind: 1.1.2 - heimdalljs-fs-monitor@1.1.1: + heimdalljs-fs-monitor@1.1.2: dependencies: callsites: 3.1.0 clean-stack: 2.2.0 @@ -18925,7 +19642,7 @@ snapshots: heimdalljs-logger@0.1.10: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 heimdalljs: 0.2.6 transitivePeerDependencies: - supports-color @@ -18964,7 +19681,7 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hookified@1.11.0: {} + hookified@1.12.2: {} hosted-git-info@2.8.9: {} @@ -18976,10 +19693,6 @@ snapshots: dependencies: lru-cache: 10.4.3 - html-encoding-sniffer@2.0.1: - dependencies: - whatwg-encoding: 1.0.5 - html-encoding-sniffer@4.0.0: dependencies: whatwg-encoding: 3.1.1 @@ -19012,26 +19725,26 @@ snapshots: http-parser-js@0.5.10: {} - http-proxy-agent@4.0.1(supports-color@8.1.1): + http-proxy-agent@4.0.1: dependencies: '@tootallnate/once': 1.1.2 - agent-base: 6.0.2(supports-color@8.1.1) - debug: 4.4.1(supports-color@8.1.1) + agent-base: 6.0.2 + debug: 4.4.3 transitivePeerDependencies: - supports-color http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 - agent-base: 6.0.2(supports-color@8.1.1) - debug: 4.4.1(supports-color@8.1.1) + agent-base: 6.0.2 + debug: 4.4.3 transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -19059,17 +19772,17 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1(supports-color@8.1.1): + https-proxy-agent@5.0.1: dependencies: - agent-base: 6.0.2(supports-color@8.1.1) - debug: 4.4.1(supports-color@8.1.1) + agent-base: 6.0.2 + debug: 4.4.3 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -19093,6 +19806,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + icss-utils@5.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -19124,13 +19841,13 @@ snapshots: import-lazy@4.0.0: {} + import-meta-resolve@4.2.0: {} + imul@1.0.1: optional: true imurmurhash@0.1.4: {} - include-path-searcher@0.1.0: {} - indent-string@4.0.0: {} indexeddb-export-import@2.1.5: {} @@ -19190,7 +19907,7 @@ snapshots: dependencies: '@ljharb/through': 2.3.14 ansi-escapes: 4.3.2 - chalk: 5.3.0 + chalk: 5.6.2 cli-cursor: 3.1.0 cli-width: 4.1.0 external-editor: 3.1.0 @@ -19204,12 +19921,12 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - inquirer@9.3.7: + inquirer@9.3.8(@types/node@22.18.11): dependencies: - '@inquirer/figures': 1.0.13 + '@inquirer/external-editor': 1.0.2(@types/node@22.18.11) + '@inquirer/figures': 1.0.14 ansi-escapes: 4.3.2 cli-width: 4.1.0 - external-editor: 3.1.0 mute-stream: 1.0.0 ora: 5.4.1 run-async: 3.0.0 @@ -19217,7 +19934,9 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.2 + yoctocolors-cjs: 2.1.3 + transitivePeerDependencies: + - '@types/node' internal-slot@1.1.0: dependencies: @@ -19268,10 +19987,6 @@ snapshots: dependencies: has-bigints: 1.1.0 - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - is-boolean-object@1.2.2: dependencies: call-bound: 1.0.4 @@ -19345,9 +20060,10 @@ snapshots: is-fullwidth-code-point@4.0.0: {} - is-generator-function@1.1.0: + is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 + generator-function: 2.0.1 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 @@ -19375,7 +20091,7 @@ snapshots: is-language-code@3.1.0: dependencies: - '@babel/runtime': 7.28.3 + '@babel/runtime': 7.28.4 is-map@2.0.3: {} @@ -19393,7 +20109,7 @@ snapshots: is-negative-zero@2.0.3: {} - is-npm@6.0.0: {} + is-npm@6.1.0: {} is-number-object@1.1.1: dependencies: @@ -19425,10 +20141,6 @@ snapshots: is-property@1.0.2: optional: true - is-reference@1.2.1: - dependencies: - '@types/estree': 1.0.8 - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -19508,7 +20220,7 @@ snapshots: isbinaryfile@4.0.10: {} - isbinaryfile@5.0.4: {} + isbinaryfile@5.0.6: {} isexe@2.0.0: {} @@ -19539,8 +20251,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/parser': 7.28.3 + '@babel/core': 7.28.4 + '@babel/parser': 7.28.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -19566,18 +20278,12 @@ snapshots: es-get-iterator: 1.1.3 iterate-iterator: 1.0.2 - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - jest-environment-node@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.17.2 + '@types/node': 22.18.12 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -19587,7 +20293,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.17.2 + '@types/node': 22.18.12 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -19614,7 +20320,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.17.2 + '@types/node': 22.18.12 jest-util: 29.7.0 jest-regex-util@29.6.3: {} @@ -19622,7 +20328,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.17.2 + '@types/node': 22.18.12 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -19639,20 +20345,18 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.11 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.17.2 + '@types/node': 22.18.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jiti@1.21.7: {} - - jiti@2.5.1: {} + jiti@2.6.1: {} js-cookie@2.2.1: {} @@ -19675,53 +20379,46 @@ snapshots: jsc-safe-url@0.2.4: {} - jsdom@16.7.0(supports-color@8.1.1): + jsdom@25.0.1: dependencies: - abab: 2.0.6 - acorn: 8.15.0 - acorn-globals: 6.0.0 - cssom: 0.4.4 - cssstyle: 2.3.0 - data-urls: 2.0.0 + cssstyle: 4.6.0 + data-urls: 5.0.0 decimal.js: 10.6.0 - domexception: 2.0.1 - escodegen: 2.1.0 - form-data: 3.0.4 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1(supports-color@8.1.1) - https-proxy-agent: 5.0.1(supports-color@8.1.1) + form-data: 4.0.4 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.21 - parse5: 6.0.1 - saxes: 5.0.1 + nwsapi: 2.2.22 + parse5: 7.3.0 + rrweb-cssom: 0.7.1 + saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.4 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.10 - xml-name-validator: 3.0.0 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.18.3 + xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - jsdom@25.0.1: + jsdom@26.1.0: dependencies: cssstyle: 4.6.0 data-urls: 5.0.0 decimal.js: 10.6.0 - form-data: 4.0.4 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.21 + nwsapi: 2.2.22 parse5: 7.3.0 - rrweb-cssom: 0.7.1 + rrweb-cssom: 0.8.0 saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 5.1.2 @@ -19742,8 +20439,6 @@ snapshots: jsesc@1.3.0: optional: true - jsesc@3.0.2: {} - jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -19811,17 +20506,15 @@ snapshots: just-extend@6.2.0: {} - keyboardevent-from-electron-accelerator@2.0.0: {} - - keyboardevents-areequal@0.2.2: {} + keyborg@2.6.0: {} keyv@4.5.4: dependencies: json-buffer: 3.0.1 - keyv@5.5.0: + keyv@5.5.3: dependencies: - '@keyv/serialize': 1.1.0 + '@keyv/serialize': 1.1.1 kind-of@3.2.2: dependencies: @@ -19872,12 +20565,55 @@ snapshots: lighthouse-logger@1.4.2: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 marky: 1.3.0 transitivePeerDependencies: - supports-color - lilconfig@3.1.3: {} + lightningcss-darwin-arm64@1.30.1: + optional: true + + lightningcss-darwin-x64@1.30.1: + optional: true + + lightningcss-freebsd-x64@1.30.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 line-column@1.0.2: dependencies: @@ -19908,7 +20644,7 @@ snapshots: pify: 2.3.0 strip-bom: 3.0.0 - loader-runner@4.3.0: {} + loader-runner@4.3.1: {} loader-utils@2.0.4: dependencies: @@ -19922,8 +20658,6 @@ snapshots: dependencies: lie: 3.1.1 - locate-character@2.0.5: {} - locate-path@2.0.0: dependencies: p-locate: 2.0.0 @@ -19942,10 +20676,6 @@ snapshots: dependencies: p-locate: 5.0.0 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - lodash._baseflatten@3.1.4: dependencies: lodash.isarguments: 3.1.0 @@ -19988,8 +20718,6 @@ snapshots: lodash.kebabcase@4.1.1: {} - lodash.memoize@4.1.2: {} - lodash.merge@4.6.2: {} lodash.omit@4.5.0: {} @@ -20024,7 +20752,7 @@ snapshots: log-symbols@5.1.0: dependencies: - chalk: 5.3.0 + chalk: 5.6.2 is-unicode-supported: 1.3.0 log-update@5.0.1: @@ -20032,7 +20760,7 @@ snapshots: ansi-escapes: 5.0.0 cli-cursor: 4.0.0 slice-ansi: 5.0.0 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 wrap-ansi: 8.1.0 loose-envify@1.4.0: @@ -20066,13 +20794,13 @@ snapshots: macos-release@3.4.0: {} - magic-string@0.24.1: + magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 - magic-string@0.25.9: + magic-string@0.30.19: dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.5.5 make-dir@3.1.0: dependencies: @@ -20084,7 +20812,7 @@ snapshots: cacache: 16.1.3 http-cache-semantics: 4.2.0 http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1(supports-color@8.1.1) + https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 minipass: 3.3.6 @@ -20105,8 +20833,8 @@ snapshots: agentkeepalive: 4.6.0 cacache: 15.3.0 http-cache-semantics: 4.2.0 - http-proxy-agent: 4.0.1(supports-color@8.1.1) - https-proxy-agent: 5.0.1(supports-color@8.1.1) + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 6.0.0 minipass: 3.3.6 @@ -20202,8 +20930,6 @@ snapshots: mdn-data@1.1.4: {} - mdn-data@2.0.14: {} - mdn-data@2.0.4: {} mdn-data@2.12.2: {} @@ -20224,15 +20950,20 @@ snapshots: mimic-fn: 2.1.0 p-is-promise: 2.1.0 + mem@8.1.1: + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 3.1.0 + memoize-one@5.2.1: {} memory-streams@0.1.3: dependencies: readable-stream: 1.0.34 - menubar@9.5.1(patch_hash=36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d)(electron@33.4.11): + menubar@9.5.2(patch_hash=36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d)(electron@37.7.0): dependencies: - electron: 33.4.11 + electron: 37.7.0 electron-positioner: 4.1.0 meow@13.2.0: {} @@ -20250,13 +20981,11 @@ snapshots: merge2@1.4.1: {} - merge@2.1.1: {} - methods@1.1.2: {} metro-babel-transformer@0.82.5: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 flow-enums-runtime: 0.0.6 hermes-parser: 0.29.1 nullthrows: 1.1.1 @@ -20269,7 +20998,7 @@ snapshots: metro-cache@0.82.5: dependencies: - exponential-backoff: 3.1.2 + exponential-backoff: 3.1.3 flow-enums-runtime: 0.0.6 https-proxy-agent: 7.0.6 metro-core: 0.82.5 @@ -20299,7 +21028,7 @@ snapshots: metro-file-map@0.82.5: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fb-watchman: 2.0.2 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -20314,7 +21043,7 @@ snapshots: metro-minify-terser@0.82.5: dependencies: flow-enums-runtime: 0.0.6 - terser: 5.43.1 + terser: 5.44.0 metro-resolver@0.82.5: dependencies: @@ -20322,14 +21051,14 @@ snapshots: metro-runtime@0.82.5: dependencies: - '@babel/runtime': 7.28.3 + '@babel/runtime': 7.28.4 flow-enums-runtime: 0.0.6 metro-source-map@0.82.5: dependencies: - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.3(supports-color@8.1.1)' - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.4' + '@babel/types': 7.28.4 flow-enums-runtime: 0.0.6 invariant: 2.2.4 metro-symbolicate: 0.82.5 @@ -20353,10 +21082,10 @@ snapshots: metro-transform-plugins@0.82.5: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/generator': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.4 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -20364,10 +21093,10 @@ snapshots: metro-transform-worker@0.82.5: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/generator': 7.28.3 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 flow-enums-runtime: 0.0.6 metro: 0.82.5 metro-babel-transformer: 0.82.5 @@ -20385,17 +21114,17 @@ snapshots: metro@0.82.5: dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 '@babel/generator': 7.28.3 - '@babel/parser': 7.28.3 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3(supports-color@8.1.1) - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 connect: 3.7.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -20543,7 +21272,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 decode-named-character-reference: 1.2.0 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -20614,11 +21343,11 @@ snapshots: mimic-response@4.0.0: {} - mini-css-extract-plugin@2.9.4(webpack@5.101.2): + mini-css-extract-plugin@2.9.4(webpack@5.102.1): dependencies: - schema-utils: 4.3.2 - tapable: 2.2.2 - webpack: 5.101.2 + schema-utils: 4.3.3 + tapable: 2.3.0 + webpack: 5.102.1 mini-svg-data-uri@1.4.4: {} @@ -20700,6 +21429,10 @@ snapshots: minipass: 3.3.6 yallist: 4.0.0 + minizlib@3.1.0: + dependencies: + minipass: 7.1.2 + mixin-deep@1.3.2: dependencies: for-in: 1.0.2 @@ -20720,7 +21453,7 @@ snapshots: morgan@1.10.1: dependencies: basic-auth: 2.0.1 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 depd: 2.0.0 on-finished: 2.3.0 on-headers: 1.1.0 @@ -20777,8 +21510,6 @@ snapshots: natural-compare@1.4.0: {} - ncp@2.0.0: {} - nearest-color@0.4.4: {} negotiator@0.6.3: {} @@ -20808,13 +21539,13 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 - node-abi@3.75.0: + node-abi@3.78.0: dependencies: - semver: 7.7.2 + semver: 7.7.3 node-api-version@0.2.1: dependencies: - semver: 7.7.2 + semver: 7.7.3 node-domexception@1.0.0: {} @@ -20832,18 +21563,16 @@ snapshots: node-int64@0.4.0: {} - node-modules-path@1.0.2: {} - node-notifier@10.0.1: dependencies: growly: 1.3.0 is-wsl: 2.2.0 - semver: 7.7.2 + semver: 7.7.3 shellwords: 0.1.1 uuid: 8.3.2 which: 2.0.2 - node-releases@2.0.19: {} + node-releases@2.0.25: {} node-watch@0.7.3: {} @@ -20870,13 +21599,13 @@ snapshots: normalize-url@6.1.0: {} - normalize-url@8.0.2: {} + normalize-url@8.1.0: {} npm-package-arg@12.0.2: dependencies: hosted-git-info: 8.1.0 proc-log: 5.0.0 - semver: 7.7.2 + semver: 7.7.3 validate-npm-package-name: 6.0.2 npm-run-path@2.0.2: @@ -20912,7 +21641,7 @@ snapshots: nugget@2.2.0: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 minimist: 1.2.8 pretty-bytes: 4.0.2 progress-stream: 1.2.0 @@ -20926,7 +21655,7 @@ snapshots: number-is-nan@1.0.1: {} - nwsapi@2.2.21: {} + nwsapi@2.2.22: {} oauth-sign@0.9.0: {} @@ -20944,9 +21673,7 @@ snapshots: object-hash@1.3.1: {} - object-hash@3.0.0: {} - - object-inspect@1.13.4: {} + object-inspect@1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943): {} object-keys@0.4.0: {} @@ -21024,6 +21751,10 @@ snapshots: is-inside-container: 1.0.0 is-wsl: 2.2.0 + optional-require@1.1.10: + dependencies: + require-at: 1.0.6 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -21056,7 +21787,7 @@ snapshots: ora@7.0.1: dependencies: - chalk: 5.3.0 + chalk: 5.6.2 cli-cursor: 4.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 @@ -21064,7 +21795,7 @@ snapshots: log-symbols: 5.1.0 stdin-discarder: 0.1.0 string-width: 6.1.0 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 os-homedir@1.0.2: optional: true @@ -21114,10 +21845,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.2.1 - p-locate@2.0.0: dependencies: p-limit: 1.3.0 @@ -21134,10 +21861,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - p-map@3.0.0: dependencies: aggregate-error: 3.1.0 @@ -21154,7 +21877,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -21168,26 +21891,23 @@ snapshots: degenerator: 5.0.1 netmask: 2.0.2 - package-json-from-dist@1.0.1: {} - package-json@8.1.1: dependencies: got: 12.6.1 registry-auth-token: 5.1.0 registry-url: 6.0.1 - semver: 7.5.4 + semver: 7.7.3 parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-asn1@5.1.7: + parse-asn1@5.1.9: dependencies: asn1.js: 4.10.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 - hash-base: 3.0.5 - pbkdf2: 3.1.3 + pbkdf2: 3.1.5 safe-buffer: 5.2.1 parse-author@2.0.0: @@ -21201,22 +21921,20 @@ snapshots: parse-json@2.2.0: dependencies: - error-ex: 1.3.2 + error-ex: 1.3.4 parse-json@4.0.0: dependencies: - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-better-errors: 1.0.2 parse-json@5.2.0: dependencies: '@babel/code-frame': 7.27.1 - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-ms@1.0.1: {} - parse-passwd@1.0.0: {} parse-path@7.1.0: @@ -21258,8 +21976,6 @@ snapshots: path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-is-absolute@1.0.1: {} path-key@2.0.1: {} @@ -21293,14 +22009,14 @@ snapshots: path-type@4.0.0: {} - pbkdf2@3.1.3: + pbkdf2@3.1.5: dependencies: - create-hash: 1.1.3 + create-hash: 1.2.0 create-hmac: 1.1.7 - ripemd160: 2.0.1 + ripemd160: 2.0.3 safe-buffer: 5.2.1 sha.js: 2.4.12 - to-buffer: 1.2.1 + to-buffer: 1.2.2 pe-library@1.0.1: {} @@ -21322,10 +22038,6 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-dir@7.0.0: - dependencies: - find-up: 6.3.0 - pkg-entry-points@1.1.1: {} pkg-up@2.0.0: @@ -21342,10 +22054,10 @@ snapshots: base64-js: 1.5.1 xmlbuilder: 15.1.1 - portfinder@1.0.37: + portfinder@1.0.38: dependencies: async: 3.2.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -21353,13 +22065,6 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-import@15.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.10 - postcss-import@16.1.1(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -21367,18 +22072,6 @@ snapshots: read-cache: 1.0.0 resolve: 1.22.10 - postcss-js@4.0.1(postcss@8.5.6): - dependencies: - camelcase-css: 2.0.1 - postcss: 8.5.6 - - postcss-load-config@4.0.2(postcss@8.5.6): - dependencies: - lilconfig: 3.1.3 - yaml: 2.8.1 - optionalDependencies: - postcss: 8.5.6 - postcss-modules-extract-imports@3.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -21400,22 +22093,12 @@ snapshots: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 - postcss-nested@6.2.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-resolve-nested-selector@0.1.6: {} postcss-safe-parser@7.0.1(postcss@8.5.6): dependencies: postcss: 8.5.6 - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - postcss-selector-parser@7.1.0: dependencies: cssesc: 3.0.0 @@ -21433,13 +22116,13 @@ snapshots: dependencies: commander: 9.5.0 - preact@10.27.0: {} + preact@10.27.2: {} prelude-ls@1.2.1: {} prettier-plugin-ember-template-tag@2.1.0(prettier@3.6.2): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 content-tag: 4.0.0 prettier: 3.6.2 transitivePeerDependencies: @@ -21457,10 +22140,6 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - pretty-ms@3.2.0: - dependencies: - parse-ms: 1.0.1 - printf@0.6.1: {} private@0.1.8: {} @@ -21524,7 +22203,7 @@ snapshots: proxy-agent@6.3.1: dependencies: agent-base: 7.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -21545,7 +22224,7 @@ snapshots: bn.js: 4.12.2 browserify-rsa: 4.1.1 create-hash: 1.2.0 - parse-asn1: 5.1.7 + parse-asn1: 5.1.9 randombytes: 2.1.0 safe-buffer: 5.2.1 @@ -21564,12 +22243,16 @@ snapshots: dependencies: escape-goat: 2.1.1 - pupa@3.1.0: + pupa@3.3.0: dependencies: escape-goat: 4.0.0 q@1.5.1: {} + qified@0.5.0: + dependencies: + hookified: 1.12.2 + qs@6.13.0: dependencies: side-channel: 1.1.0 @@ -21580,8 +22263,6 @@ snapshots: qs@6.5.3: {} - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} queue@6.0.2: @@ -21596,13 +22277,13 @@ snapshots: rimraf: 2.7.1 underscore.string: 3.3.6 - qunit-dom@3.4.0: + qunit-dom@3.5.0: dependencies: dom-element-descriptors: 0.5.1 qunit-theme-ember@1.0.0: {} - qunit@2.24.1: + qunit@2.24.2: dependencies: commander: 7.2.0 node-watch: 0.7.3 @@ -21654,25 +22335,25 @@ snapshots: react-is@18.3.1: {} - react-native-get-random-values@1.11.0(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0)): + react-native-get-random-values@1.11.0(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0)): dependencies: fast-base64-decode: 1.0.0 - react-native: 0.79.2(@babel/core@7.28.3)(react@19.1.0) + react-native: 0.79.2(@babel/core@7.28.4)(react@19.1.0) - react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0): + react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native/assets-registry': 0.79.2 - '@react-native/codegen': 0.79.2(@babel/core@7.28.3) + '@react-native/codegen': 0.79.2(@babel/core@7.28.4) '@react-native/community-cli-plugin': 0.79.2 '@react-native/gradle-plugin': 0.79.2 '@react-native/js-polyfills': 0.79.2 '@react-native/normalize-colors': 0.79.2 - '@react-native/virtualized-lists': 0.79.2(react-native@0.79.2(@babel/core@7.28.3)(react@19.1.0))(react@19.1.0) + '@react-native/virtualized-lists': 0.79.2(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))(react@19.1.0) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 - babel-jest: 29.7.0(@babel/core@7.28.3) + babel-jest: 29.7.0(@babel/core@7.28.4) babel-plugin-syntax-hermes-parser: 0.25.1 base64-js: 1.5.1 chalk: 4.1.2 @@ -21693,7 +22374,7 @@ snapshots: react-refresh: 0.14.2 regenerator-runtime: 0.13.11 scheduler: 0.25.0 - semver: 7.7.2 + semver: 7.7.3 stacktrace-parser: 0.1.11 whatwg-fetch: 3.6.20 ws: 6.2.3 @@ -21709,9 +22390,22 @@ snapshots: react@19.1.0: {} + reactiveweb@1.9.0(@babel/core@7.28.4)(@ember/test-waiters@4.1.1(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2): + dependencies: + '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) + '@embroider/addon-shim': 1.10.0 + '@embroider/macros': 1.19.2(@glint/template@1.5.2) + decorator-transforms: 2.3.0(@babel/core@7.28.4) + ember-resources: 7.0.7(@glimmer/component@2.0.0)(@glint/template@1.5.2) + transitivePeerDependencies: + - '@babel/core' + - '@glimmer/component' + - '@glint/template' + - supports-color + read-binary-file-arch@1.0.6: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -21760,10 +22454,6 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - recast@0.18.10: dependencies: ast-types: 0.13.3 @@ -21794,7 +22484,7 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 - regenerate-unicode-properties@10.2.0: + regenerate-unicode-properties@10.2.2: dependencies: regenerate: 1.4.2 @@ -21830,14 +22520,14 @@ snapshots: regjsgen: 0.2.0 regjsparser: 0.1.5 - regexpu-core@6.2.0: + regexpu-core@6.4.0: dependencies: regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 + regenerate-unicode-properties: 10.2.2 regjsgen: 0.8.0 - regjsparser: 0.12.0 + regjsparser: 0.13.0 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 + unicode-match-property-value-ecmascript: 2.2.1 registry-auth-token@5.1.0: dependencies: @@ -21855,21 +22545,21 @@ snapshots: dependencies: jsesc: 0.5.0 - regjsparser@0.12.0: + regjsparser@0.13.0: dependencies: - jsesc: 3.0.2 + jsesc: 3.1.0 relative-luminance@2.0.1: dependencies: esm: 3.2.25 - release-it@16.3.0(encoding@0.1.13)(typescript@5.9.2): + release-it@16.3.0(encoding@0.1.13)(typescript@5.9.3): dependencies: '@iarna/toml': 2.2.5 '@octokit/rest': 19.0.13(encoding@0.1.13) async-retry: 1.3.3 chalk: 5.3.0 - cosmiconfig: 8.3.6(typescript@5.9.2) + cosmiconfig: 8.3.6(typescript@5.9.3) execa: 7.2.0 git-url-parse: 13.1.0 globby: 13.2.2 @@ -21901,9 +22591,9 @@ snapshots: remove-types@1.0.0: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) - '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) prettier: 2.8.8 transitivePeerDependencies: - supports-color @@ -21940,12 +22630,12 @@ snapshots: tunnel-agent: 0.6.0 uuid: 3.4.0 + require-at@1.0.6: {} + require-directory@2.1.1: {} require-from-string@2.0.2: {} - require-relative@0.8.7: {} - requireindex@1.2.0: {} requires-port@1.0.0: {} @@ -22052,14 +22742,9 @@ snapshots: dependencies: glob: 7.2.3 - ripemd160@2.0.1: - dependencies: - hash-base: 2.0.2 - inherits: 2.0.4 - - ripemd160@2.0.2: + ripemd160@2.0.3: dependencies: - hash-base: 3.0.5 + hash-base: 3.1.2 inherits: 2.0.4 roarr@2.15.4: @@ -22072,23 +22757,33 @@ snapshots: sprintf-js: 1.1.3 optional: true - rollup-pluginutils@2.8.2: - dependencies: - estree-walker: 0.6.1 - - rollup@0.57.1: + rollup@4.52.4: dependencies: - '@types/acorn': 4.0.6 - acorn: 5.7.4 - acorn-dynamic-import: 3.0.0 - date-time: 2.1.0 - is-reference: 1.2.1 - locate-character: 2.0.5 - pretty-ms: 3.2.0 - require-relative: 0.8.7 - rollup-pluginutils: 2.8.2 - signal-exit: 3.0.7 - sourcemap-codec: 1.4.8 + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.52.4 + '@rollup/rollup-android-arm64': 4.52.4 + '@rollup/rollup-darwin-arm64': 4.52.4 + '@rollup/rollup-darwin-x64': 4.52.4 + '@rollup/rollup-freebsd-arm64': 4.52.4 + '@rollup/rollup-freebsd-x64': 4.52.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.4 + '@rollup/rollup-linux-arm-musleabihf': 4.52.4 + '@rollup/rollup-linux-arm64-gnu': 4.52.4 + '@rollup/rollup-linux-arm64-musl': 4.52.4 + '@rollup/rollup-linux-loong64-gnu': 4.52.4 + '@rollup/rollup-linux-ppc64-gnu': 4.52.4 + '@rollup/rollup-linux-riscv64-gnu': 4.52.4 + '@rollup/rollup-linux-riscv64-musl': 4.52.4 + '@rollup/rollup-linux-s390x-gnu': 4.52.4 + '@rollup/rollup-linux-x64-gnu': 4.52.4 + '@rollup/rollup-linux-x64-musl': 4.52.4 + '@rollup/rollup-openharmony-arm64': 4.52.4 + '@rollup/rollup-win32-arm64-msvc': 4.52.4 + '@rollup/rollup-win32-ia32-msvc': 4.52.4 + '@rollup/rollup-win32-x64-gnu': 4.52.4 + '@rollup/rollup-win32-x64-msvc': 4.52.4 + fsevents: 2.3.3 route-recognizer@0.3.4: {} @@ -22193,10 +22888,6 @@ snapshots: sax@1.2.4: {} - saxes@5.0.1: - dependencies: - xmlchars: 2.2.0 - saxes@6.0.0: dependencies: xmlchars: 2.2.0 @@ -22215,7 +22906,7 @@ snapshots: ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - schema-utils@4.3.2: + schema-utils@4.3.3: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 @@ -22227,7 +22918,7 @@ snapshots: semver-diff@4.0.0: dependencies: - semver: 7.5.4 + semver: 7.7.3 semver@5.7.2: {} @@ -22237,11 +22928,29 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.7.2: {} + semver@7.7.3: {} + + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color send@0.19.0: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 encodeurl: 1.0.2 @@ -22316,7 +23025,7 @@ snapshots: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - to-buffer: 1.2.1 + to-buffer: 1.2.2 shebang-command@1.2.0: dependencies: @@ -22340,30 +23049,32 @@ snapshots: shellwords@0.1.1: {} + should-handle-link@1.3.0: {} + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4 + object-inspect: 1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943) side-channel-map@1.0.1: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 get-intrinsic: 1.3.0 - object-inspect: 1.13.4 + object-inspect: 1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943) side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 get-intrinsic: 1.3.0 - object-inspect: 1.13.4 + object-inspect: 1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943) side-channel-map: 1.0.1 side-channel@1.1.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4 + object-inspect: 1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943) side-channel-list: 1.0.0 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -22374,7 +23085,7 @@ snapshots: silent-error@1.1.1: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 transitivePeerDependencies: - supports-color @@ -22408,7 +23119,7 @@ snapshots: slice-ansi@5.0.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 is-fullwidth-code-point: 4.0.0 smart-buffer@4.2.0: {} @@ -22431,7 +23142,7 @@ snapshots: snapdragon@0.8.2: dependencies: base: 0.11.2 - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 define-property: 0.2.5 extend-shallow: 2.0.1 map-cache: 0.2.2 @@ -22473,16 +23184,16 @@ snapshots: socks-proxy-agent@6.2.1: dependencies: - agent-base: 6.0.2(supports-color@8.1.1) - debug: 4.4.1(supports-color@8.1.1) + agent-base: 6.0.2 + debug: 4.4.3 socks: 2.8.7 transitivePeerDependencies: - supports-color socks-proxy-agent@7.0.0: dependencies: - agent-base: 6.0.2(supports-color@8.1.1) - debug: 4.4.1(supports-color@8.1.1) + agent-base: 6.0.2 + debug: 4.4.3 socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -22490,7 +23201,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -22512,14 +23223,14 @@ snapshots: sort-package-json@2.15.1: dependencies: - detect-indent: 7.0.1 + detect-indent: 7.0.2 detect-newline: 4.0.1 get-stdin: 9.0.0 git-hooks-list: 3.2.0 is-plain-obj: 4.1.0 - semver: 7.7.2 + semver: 7.7.3 sort-object-keys: 1.1.3 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 source-map-js@1.2.1: {} @@ -22617,7 +23328,7 @@ snapshots: stagehand@1.0.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -22639,11 +23350,6 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - stream-browserify@3.0.0: - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - stream-buffers@2.2.0: optional: true @@ -22670,13 +23376,13 @@ snapshots: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 string-width@6.1.0: dependencies: eastasianwidth: 0.2.0 - emoji-regex: 10.4.0 - strip-ansi: 7.1.0 + emoji-regex: 10.6.0 + strip-ansi: 7.1.2 string.prototype.matchall@4.0.12: dependencies: @@ -22743,9 +23449,9 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: + strip-ansi@7.1.2: dependencies: - ansi-regex: 6.2.0 + ansi-regex: 6.2.2 strip-bom@3.0.0: {} @@ -22765,36 +23471,36 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - style-loader@2.0.0(webpack@5.101.2): + style-loader@2.0.0(webpack@5.102.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.2 + webpack: 5.102.1 styled_string@0.0.1: {} - stylelint-config-recommended@16.0.0(stylelint@16.23.1(typescript@5.9.2)): + stylelint-config-recommended@16.0.0(stylelint@16.25.0(typescript@5.9.3)): dependencies: - stylelint: 16.23.1(typescript@5.9.2) + stylelint: 16.25.0(typescript@5.9.3) - stylelint-config-standard@38.0.0(stylelint@16.23.1(typescript@5.9.2)): + stylelint-config-standard@38.0.0(stylelint@16.25.0(typescript@5.9.3)): dependencies: - stylelint: 16.23.1(typescript@5.9.2) - stylelint-config-recommended: 16.0.0(stylelint@16.23.1(typescript@5.9.2)) + stylelint: 16.25.0(typescript@5.9.3) + stylelint-config-recommended: 16.0.0(stylelint@16.25.0(typescript@5.9.3)) - stylelint@16.23.1(typescript@5.9.2): + stylelint@16.25.0(typescript@5.9.3): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - '@dual-bundle/import-meta-resolve': 4.1.0 + '@dual-bundle/import-meta-resolve': 4.2.1 balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.0(typescript@5.9.2) + cosmiconfig: 9.0.0(typescript@5.9.3) css-functions-list: 3.2.3 css-tree: 3.1.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 file-entry-cache: 10.1.4 @@ -22826,27 +23532,15 @@ snapshots: - supports-color - typescript - sucrase@3.35.0: - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - commander: 4.1.1 - glob: 10.4.5 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.7 - ts-interface-checker: 0.1.13 - - sudo-prompt@9.2.1: {} - sumchecker@2.0.2: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 transitivePeerDependencies: - supports-color sumchecker@3.0.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -22895,7 +23589,7 @@ snapshots: sync-disk-cache@1.3.4: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 heimdalljs: 0.2.6 mkdirp: 0.5.6 rimraf: 2.7.1 @@ -22905,7 +23599,7 @@ snapshots: sync-disk-cache@2.1.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 heimdalljs: 0.2.6 mkdirp: 0.5.6 rimraf: 3.0.2 @@ -22921,32 +23615,14 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.17: + tabster@8.5.6: dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.3 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.7 - lilconfig: 3.1.3 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6) - postcss-nested: 6.2.0(postcss@8.5.6) - postcss-selector-parser: 6.1.2 - resolve: 1.22.10 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node + keyborg: 2.6.0 + tslib: 2.8.1 + optionalDependencies: + '@rollup/rollup-linux-x64-gnu': 4.40.0 + + tailwindcss@4.1.14: {} tap-parser@7.0.0: dependencies: @@ -22954,7 +23630,7 @@ snapshots: js-yaml: 3.14.1 minipass: 2.9.0 - tapable@2.2.2: {} + tapable@2.3.0: {} tar@6.2.1: dependencies: @@ -22965,21 +23641,29 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + tar@7.5.1: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.1.0 + yallist: 5.0.0 + temp@0.9.4: dependencies: mkdirp: 0.5.6 rimraf: 2.6.3 - terser-webpack-plugin@5.3.14(webpack@5.101.2): + terser-webpack-plugin@5.3.14(webpack@5.102.1): dependencies: - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 serialize-javascript: 6.0.2 - terser: 5.43.1 - webpack: 5.101.2 + terser: 5.44.0 + webpack: 5.102.1 - terser@5.43.1: + terser@5.44.0: dependencies: '@jridgewell/source-map': 0.3.11 acorn: 8.15.0 @@ -23086,15 +23770,6 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-loader@3.0.4(webpack@5.101.2): - dependencies: - json-parse-better-errors: 1.0.2 - loader-runner: 4.3.0 - loader-utils: 2.0.4 - neo-async: 2.6.2 - schema-utils: 3.3.0 - webpack: 5.101.2 - throat@5.0.0: {} throttle-debounce@5.0.2: {} @@ -23113,8 +23788,6 @@ snapshots: through@2.3.8: {} - time-zone@1.0.0: {} - tiny-each-async@2.0.3: optional: true @@ -23134,7 +23807,7 @@ snapshots: transitivePeerDependencies: - supports-color - tinyglobby@0.2.14: + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 @@ -23173,7 +23846,7 @@ snapshots: unorm: 1.6.0 optional: true - to-buffer@1.2.1: + to-buffer@1.2.2: dependencies: isarray: 2.0.5 safe-buffer: 5.2.1 @@ -23211,41 +23884,49 @@ snapshots: psl: 1.15.0 punycode: 2.3.1 - tough-cookie@4.1.4: - dependencies: - psl: 1.15.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 - tough-cookie@5.1.2: dependencies: tldts: 6.1.86 tr46@0.0.3: {} - tr46@2.1.0: + tr46@5.1.1: dependencies: punycode: 2.3.1 - tr46@5.1.1: + tracked-built-ins@3.4.0(@babel/core@7.28.4): dependencies: - punycode: 2.3.1 + '@embroider/addon-shim': 1.10.0 + decorator-transforms: 2.3.0(@babel/core@7.28.4) + ember-tracked-storage-polyfill: 1.0.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color - tracked-built-ins@3.4.0(@babel/core@7.28.3): + tracked-built-ins@4.0.0(@babel/core@7.28.4): dependencies: '@embroider/addon-shim': 1.10.0 - decorator-transforms: 2.3.0(@babel/core@7.28.3) + decorator-transforms: 2.3.0(@babel/core@7.28.4) ember-tracked-storage-polyfill: 1.0.0 transitivePeerDependencies: - '@babel/core' - supports-color + tracked-toolbox@2.0.0(@babel/core@7.28.4)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1)): + dependencies: + '@embroider/addon-shim': 1.10.0 + ember-cache-primitive-polyfill: 1.0.1(@babel/core@7.28.4) + optionalDependencies: + ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.102.1) + transitivePeerDependencies: + - '@babel/core' + - supports-color + tree-kill@1.2.2: {} tree-sync@1.4.0: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 fs-tree-diff: 0.5.9 mkdirp: 0.5.6 quick-temp: 0.1.8 @@ -23255,7 +23936,7 @@ snapshots: tree-sync@2.1.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 fs-tree-diff: 2.0.1 mkdirp: 0.5.6 quick-temp: 0.1.8 @@ -23270,16 +23951,14 @@ snapshots: trim-right@1.0.1: optional: true - ts-api-utils@2.1.0(typescript@5.9.2): + ts-api-utils@2.1.0(typescript@5.9.3): dependencies: - typescript: 5.9.2 + typescript: 5.9.3 - ts-declaration-location@1.0.7(typescript@5.9.2): + ts-declaration-location@1.0.7(typescript@5.9.3): dependencies: picomatch: 4.0.3 - typescript: 5.9.2 - - ts-interface-checker@0.1.13: {} + typescript: 5.9.3 tslib@1.14.1: {} @@ -23356,20 +24035,22 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): + typescript-eslint@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.39.1(@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/parser': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2) - '@typescript-eslint/utils': 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) - eslint: 9.33.0(jiti@2.5.1) - typescript: 5.9.2 + '@typescript-eslint/eslint-plugin': 8.46.1(@typescript-eslint/parser@8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.1(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.37.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color typescript-memoize@1.1.1: {} - typescript@5.9.2: {} + typescript@5.4.5: {} + + typescript@5.9.3: {} uc.micro@2.1.0: {} @@ -23392,9 +24073,7 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.10.0: {} - - undici@7.14.0: {} + undici@7.16.0: {} unfetch@4.2.0: {} @@ -23403,11 +24082,11 @@ snapshots: unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 + unicode-property-aliases-ecmascript: 2.2.0 - unicode-match-property-value-ecmascript@2.2.0: {} + unicode-match-property-value-ecmascript@2.2.1: {} - unicode-property-aliases-ecmascript@2.1.0: {} + unicode-property-aliases-ecmascript@2.2.0: {} union-value@1.0.1: dependencies: @@ -23453,8 +24132,6 @@ snapshots: universalify@0.1.2: {} - universalify@0.2.0: {} - universalify@2.0.1: {} unorm@1.6.0: @@ -23478,26 +24155,26 @@ snapshots: upath@2.0.1: {} - update-browserslist-db@1.1.3(browserslist@4.25.2): + update-browserslist-db@1.1.3(browserslist@4.26.3): dependencies: - browserslist: 4.25.2 + browserslist: 4.26.3 escalade: 3.2.0 picocolors: 1.1.1 update-notifier@6.0.2: dependencies: boxen: 7.1.1 - chalk: 5.3.0 + chalk: 5.6.2 configstore: 6.0.0 has-yarn: 3.0.0 import-lazy: 4.0.0 is-ci: 3.0.1 is-installed-globally: 0.4.0 - is-npm: 6.0.0 + is-npm: 6.1.0 is-yarn-global: 0.4.1 latest-version: 7.0.0 - pupa: 3.1.0 - semver: 7.5.4 + pupa: 3.3.0 + semver: 7.7.3 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -23511,11 +24188,6 @@ snapshots: url-join@5.0.0: {} - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - url@0.11.4: dependencies: punycode: 1.4.1 @@ -23562,12 +24234,12 @@ snapshots: validate-peer-dependencies@1.2.0: dependencies: resolve-package-path: 3.1.0 - semver: 7.7.2 + semver: 7.7.3 validate-peer-dependencies@2.2.0: dependencies: resolve-package-path: 4.0.3 - semver: 7.7.2 + semver: 7.7.3 vary@1.1.2: {} @@ -23577,6 +24249,28 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 + vite-plugin-testem-electron@1.0.2(electron@37.7.0)(vite@7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1)): + dependencies: + electron: 37.7.0 + tree-kill: 1.2.2 + vite: 7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1) + + vite@7.1.10(@types/node@22.18.11)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(yaml@2.8.1): + dependencies: + esbuild: 0.25.11 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.52.4 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 22.18.11 + fsevents: 2.3.3 + jiti: 2.6.1 + lightningcss: 1.30.1 + terser: 5.44.0 + yaml: 2.8.1 + vlq@1.0.1: {} vscode-jsonrpc@8.1.0: {} @@ -23596,14 +24290,6 @@ snapshots: vscode-uri@3.1.0: {} - w3c-hr-time@1.0.2: - dependencies: - browser-process-hrtime: 1.0.0 - - w3c-xmlserializer@2.0.0: - dependencies: - xml-name-validator: 3.0.0 - w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0 @@ -23667,15 +24353,11 @@ snapshots: webidl-conversions@3.0.1: {} - webidl-conversions@5.0.0: {} - - webidl-conversions@6.1.0: {} - webidl-conversions@7.0.0: {} webpack-sources@3.3.3: {} - webpack@5.101.2: + webpack@5.102.1: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -23685,7 +24367,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.25.2 + browserslist: 4.26.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 @@ -23694,12 +24376,12 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 + loader-runner: 4.3.1 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.2 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(webpack@5.101.2) + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(webpack@5.102.1) watchpack: 2.4.4 webpack-sources: 3.3.3 transitivePeerDependencies: @@ -23715,18 +24397,12 @@ snapshots: websocket-extensions@0.1.4: {} - whatwg-encoding@1.0.5: - dependencies: - iconv-lite: 0.4.24 - whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 whatwg-fetch@3.6.20: {} - whatwg-mimetype@2.3.0: {} - whatwg-mimetype@4.0.0: {} whatwg-url@14.2.0: @@ -23739,12 +24415,6 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - whatwg-url@8.7.0: - dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 - which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 @@ -23761,7 +24431,7 @@ snapshots: is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 + is-generator-function: 1.1.2 is-regex: 1.2.1 is-weakref: 1.1.1 isarray: 2.0.5 @@ -23814,7 +24484,7 @@ snapshots: workerpool@3.1.2: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.4 object-assign: 4.1.1 rsvp: 4.8.5 transitivePeerDependencies: @@ -23822,7 +24492,7 @@ snapshots: workerpool@6.5.1: {} - workerpool@9.3.3: {} + workerpool@9.3.4: {} wrap-ansi@6.2.0: dependencies: @@ -23838,9 +24508,9 @@ snapshots: wrap-ansi@8.1.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 wrappy@1.0.2: {} @@ -23875,8 +24545,6 @@ snapshots: xdg-basedir@5.1.0: {} - xml-name-validator@3.0.0: {} - xml-name-validator@5.0.0: {} xmlbuilder@15.1.1: {} @@ -23896,6 +24564,8 @@ snapshots: yallist@4.0.0: {} + yallist@5.0.0: {} + yam@1.0.0: dependencies: fs-extra: 4.0.3 @@ -23934,9 +24604,7 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.2.1: {} - - yoctocolors-cjs@2.1.2: {} + yoctocolors-cjs@2.1.3: {} zen-observable-ts@0.8.19: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index afda35ffc..000000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,13 +0,0 @@ -packages: - - electron-app -onlyBuiltDependencies: - - '@parcel/watcher' - - '@sentry/cli' - - core-js - - electron - - electron-winstaller - - fs-xattr - - fsevents - - macos-alias -patchedDependencies: - menubar: patches/menubar.patch diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 000000000..4fa607954 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + 'postcss-import': {}, + }, +}; diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index dab3ab8db..000000000 --- a/tailwind.config.js +++ /dev/null @@ -1,53 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -const path = require('node:path'); -const appEntry = path.join(__dirname, 'app'); -const relevantFilesGlob = '**/*.{html,js,ts,hbs,gjs,gts}'; -module.exports = { - content: [path.join(appEntry, relevantFilesGlob)], - theme: { - extend: { - colors: { - alt: 'var(--alt-color)', - 'alt-hover': 'var(--alt-hover-color)', - 'btn-bg-primary': 'var(--btn-bg-primary)', - 'btn-bg-primary-hover': 'var(--btn-bg-primary-hover)', - 'btn-bg-secondary': 'var(--btn-bg-secondary)', - 'btn-bg-secondary-hover': 'var(--btn-bg-secondary-hover)', - 'btn-text-primary': 'var(--btn-text-primary)', - 'btn-text-secondary': 'var(--btn-text-secondary)', - checkbox: 'var(--checkbox)', - heading: 'var(--heading-color)', - 'input-bg': 'var(--input-bg)', - 'input-border': 'var(--input-border)', - main: 'var(--main-color)', - menu: 'var(--menu-color)', - 'menu-text': 'var(--menu-text-color)', - 'menu-text-hover': 'var(--menu-text-hover-color)', - 'main-text': 'var(--main-text)', - 'sub-text': 'var(--sub-text)', - }, - fontSize: { - smallest: '0.5rem', - xxs: '0.65rem', - }, - width: { - 36: '9rem', - }, - }, - fill: (theme) => ({ - alt: theme('colors.alt'), - 'alt-hover': theme('colors.alt-hover'), - main: theme('colors.main'), - }), - stroke: (theme) => ({ - alt: theme('colors.alt'), - 'alt-hover': theme('colors.alt-hover'), - main: theme('colors.main'), - }), - }, - plugins: [ - require('@tailwindcss/forms')({ - strategy: 'class', - }), - ], -}; diff --git a/testem-electron.cjs b/testem-electron.cjs new file mode 100644 index 000000000..ab68344ba --- /dev/null +++ b/testem-electron.cjs @@ -0,0 +1,22 @@ +'use strict'; + +module.exports = { + test_page: 'tests/index.html?hidepassed', + cwd: 'dist', + disable_watching: true, + launchers: { + Electron: { + exe: process.execPath, + args: [ + './node_modules/vite-plugin-testem-electron/dist/test-runner.js', + '', + '', + '', + ], + protocol: 'browser', + }, + }, + launch_in_ci: ['Electron'], + launch_in_dev: ['Electron'], + browser_start_timeout: 120, +}; diff --git a/testem-electron.js b/testem-electron.js deleted file mode 100644 index 1889c9afb..000000000 --- a/testem-electron.js +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - test_page: 'tests/index.html?hidepassed', - disable_watching: true, - launchers: { - Electron: require('ember-electron/lib/test-runner'), - }, - launch_in_ci: ['Electron'], - launch_in_dev: ['Electron'], - browser_start_timeout: 120, - browser_args: { - Electron: { - // Note: Some these Chrome options may not be supported in Electron - // See https://electronjs.org/docs/api/chrome-command-line-switches - ci: [ - // --no-sandbox is needed when running Chrome inside a container - process.env.CI ? '--no-sandbox' : null, - '--headless', - '--disable-dev-shm-usage', - '--disable-software-rasterizer', - '--mute-audio', - '--remote-debugging-port=0', - '--window-size=1440,900', - ].filter(Boolean), - }, - }, -}; diff --git a/testem.cjs b/testem.cjs new file mode 100644 index 000000000..e0a0c2b23 --- /dev/null +++ b/testem.cjs @@ -0,0 +1,26 @@ +'use strict'; + +if (typeof module !== 'undefined') { + module.exports = { + test_page: 'tests/index.html?hidepassed', + cwd: 'dist', + disable_watching: true, + launch_in_ci: ['Chrome'], + launch_in_dev: ['Chrome'], + browser_start_timeout: 120, + browser_args: { + Chrome: { + ci: [ + // --no-sandbox is needed when running Chrome inside a container + process.env.CI ? '--no-sandbox' : null, + '--headless', + '--disable-dev-shm-usage', + '--disable-software-rasterizer', + '--mute-audio', + '--remote-debugging-port=0', + '--window-size=1440,900', + ].filter(Boolean), + }, + }, + }; +} diff --git a/testem.js b/testem.js deleted file mode 100644 index ed2f37124..000000000 --- a/testem.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -module.exports = { - test_page: 'tests/index.html?hidepassed', - disable_watching: true, - launch_in_ci: ['Chrome'], - launch_in_dev: ['Chrome'], - browser_start_timeout: 120, - browser_args: { - Chrome: { - ci: [ - // --no-sandbox is needed when running Chrome inside a container - process.env.CI ? '--no-sandbox' : null, - '--headless', - '--disable-dev-shm-usage', - '--disable-software-rasterizer', - '--mute-audio', - '--remote-debugging-port=0', - '--window-size=1440,900', - ].filter(Boolean), - }, - }, -}; diff --git a/tests/acceptance/color-picker-test.js b/tests/acceptance/color-picker-test.js index 04d948736..84bf9e47a 100644 --- a/tests/acceptance/color-picker-test.js +++ b/tests/acceptance/color-picker-test.js @@ -13,7 +13,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -48,7 +48,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -72,7 +72,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -97,7 +97,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -121,7 +121,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -146,7 +146,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -170,7 +170,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -195,7 +195,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -219,7 +219,7 @@ module('Acceptance | color-picker', function (hooks) { await visit('/colors?paletteId=color-history-123'); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); diff --git a/tests/acceptance/colors-test.js b/tests/acceptance/colors-test.js index 1f767b38e..d178bb8a6 100644 --- a/tests/acceptance/colors-test.js +++ b/tests/acceptance/colors-test.js @@ -37,7 +37,7 @@ module('Acceptance | colors', function (hooks) { assert.dom('[data-test-color-picker]').doesNotExist(); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -72,7 +72,7 @@ module('Acceptance | colors', function (hooks) { assert.dom('[data-test-color-picker]').doesNotExist(); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -106,7 +106,7 @@ module('Acceptance | colors', function (hooks) { assert.dom('[data-test-color]').exists({ count: 4 }); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -119,20 +119,20 @@ module('Acceptance | colors', function (hooks) { }); // Ember specific tests - if (typeof requireNode === 'undefined') { + if (!(typeof window !== 'undefined' && window.electronAPI)) { test('ember - deleting colors', async function (assert) { await visit('/colors?paletteId=color-history-123'); assert.dom('[data-test-color]').exists({ count: 4 }); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); await click( - '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-content] [data-test-delete-color]', + '[data-test-color="Black"] [data-test-color-row-menu] [data-test-options-content] [data-test-delete-color]' ); await waitForAll(); @@ -163,7 +163,7 @@ module('Acceptance | colors', function (hooks) { } // Electron specific tests - if (typeof requireNode !== 'undefined') { + if (typeof window !== 'undefined' && window.electronAPI) { // TODO: We need a way to manually trigger undo and redo in Electron // const { ipcRenderer } = requireNode('electron'); // test('electron - deleting colors', async function (assert) { diff --git a/tests/acceptance/contrast-test.js b/tests/acceptance/contrast-test.js index df3851f32..7523cdcfb 100644 --- a/tests/acceptance/contrast-test.js +++ b/tests/acceptance/contrast-test.js @@ -1,8 +1,10 @@ import { + blur, currentURL, fillIn, - triggerKeyEvent, + find, visit, + waitUntil, } from '@ember/test-helpers'; import { module, test } from 'qunit'; import { resetStorage, waitForAll } from 'swach/tests/helpers'; @@ -12,27 +14,67 @@ module('Acceptance | contrast', function (hooks) { setupApplicationTest(hooks); resetStorage(hooks, { seed: { source: 'backup', scenario: 'basic' } }); - hooks.beforeEach(async function () { + test('visiting /contrast', async function (assert) { await visit('/contrast'); - }); + await waitForAll(); - test('visiting /contrast', async function (assert) { assert.strictEqual(currentURL(), '/contrast'); }); - test('has default value on open', function (assert) { + test('has default value on open', async function (assert) { + await visit('/contrast'); + await waitForAll(); + // Wait for the color pickers to be initialized and score to be computed + await waitUntil( + () => { + const scoreElement = find('[data-test-wcag-score]'); + const stringElement = find('[data-test-wcag-string]'); + return ( + scoreElement?.textContent.trim() === '21.00' && + stringElement?.textContent.trim() === 'AAA' + ); + }, + { timeout: 2000 } + ); + assert.dom('[data-test-wcag-score]').hasText('21.00'); assert.dom('[data-test-wcag-string]').hasText('AAA'); }); test('updates score when failing background value added', async function (assert) { + await visit('/contrast'); await waitForAll(); + // Wait for initial state to be ready + await waitUntil( + () => find('[data-test-wcag-score]')?.textContent.trim() === '21.00', + { timeout: 2000 } + ); + await fillIn('[data-test-bg-input]', '#504F4F'); - await triggerKeyEvent('[data-test-bg-input]', 'keypress', 13); + + // Explicitly trigger blur to ensure the color updates + await blur('[data-test-bg-input]'); await waitForAll(); + // Additional wait for Electron environment + await new Promise((resolve) => setTimeout(resolve, 200)); + + // Wait for the background color to update and score to recalculate + await waitUntil( + () => { + const scoreElement = find('[data-test-wcag-score]'); + const stringElement = find('[data-test-wcag-string]'); + + return ( + scoreElement?.textContent.trim() === '2.57' && + stringElement?.textContent.trim() === 'Fail' + ); + }, + { timeout: 5000 } + ); + assert.dom('[data-test-wcag-score]').hasText('2.57'); assert.dom('[data-test-wcag-string]').hasText('Fail'); }); diff --git a/tests/acceptance/index-test.js b/tests/acceptance/index-test.js index 5b17eb11f..054d60ba7 100644 --- a/tests/acceptance/index-test.js +++ b/tests/acceptance/index-test.js @@ -1,6 +1,6 @@ import { currentURL, visit } from '@ember/test-helpers'; import { module, test } from 'qunit'; -import { resetStorage } from 'swach/tests/helpers'; +import { resetStorage, waitForAll } from 'swach/tests/helpers'; import { setupApplicationTest } from 'swach/tests/helpers/index'; module('Acceptance | index', function (hooks) { @@ -9,6 +9,7 @@ module('Acceptance | index', function (hooks) { test('visiting /index', async function (assert) { await visit('/'); + await waitForAll(); assert.strictEqual(currentURL(), '/palettes'); }); diff --git a/tests/acceptance/kuler-test.js b/tests/acceptance/kuler-test.js index 4f388f716..e60930148 100644 --- a/tests/acceptance/kuler-test.js +++ b/tests/acceptance/kuler-test.js @@ -14,48 +14,48 @@ module('Acceptance | kuler', function (hooks) { setupApplicationTest(hooks); resetStorage(hooks, { seed: { source: 'backup', scenario: 'basic' } }); - hooks.beforeEach(async function () { + test('visiting /kuler with query parameters', async function (assert) { await visit('/kuler?colorId=pale-magenta'); - }); - test('visiting /kuler with query parameters', function (assert) { assert.strictEqual(currentURL(), '/kuler?colorId=pale-magenta'); }); test('analogous palette', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); await fillIn('[data-test-kuler-select]', 'Analogous'); assert .dom( - '[data-test-kuler-palette="Analogous"] [data-test-kuler-palette-name]', + '[data-test-kuler-palette="Analogous"] [data-test-kuler-palette-name]' ) .hasText('Analogous'); assert .dom( - '[data-test-kuler-palette="Analogous"] [data-test-kuler-palette-color]', + '[data-test-kuler-palette="Analogous"] [data-test-kuler-palette-color]' ) .exists({ count: 5 }); }); test('monochromatic palette', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); await fillIn('[data-test-kuler-select]', 'Monochromatic'); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-name]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-name]' ) .hasText('Monochromatic'); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color]' ) .exists({ count: 5 }); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="0"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="0"]' ) .hasStyle({ backgroundColor: 'rgb(247, 138, 224)', @@ -63,7 +63,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]' ) .hasStyle({ backgroundColor: 'rgb(43, 24, 39)', @@ -71,7 +71,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="2"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="2"]' ) .hasStyle({ backgroundColor: 'rgb(94, 53, 85)', @@ -79,7 +79,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="3"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="3"]' ) .hasStyle({ backgroundColor: 'rgb(145, 81, 131)', @@ -87,7 +87,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="4"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="4"]' ) .hasStyle({ backgroundColor: 'rgb(196, 110, 178)', @@ -95,6 +95,7 @@ module('Acceptance | kuler', function (hooks) { }); test('tetrad palette', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); await fillIn('[data-test-kuler-select]', 'Tetrad'); assert @@ -107,6 +108,7 @@ module('Acceptance | kuler', function (hooks) { }); test('triad palette', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); await fillIn('[data-test-kuler-select]', 'Triad'); assert @@ -119,13 +121,13 @@ module('Acceptance | kuler', function (hooks) { await triggerEvent( '[data-test-kuler-palette="Triad"] [data-test-kuler-palette-menu]', - 'mouseenter', + 'mouseenter' ); await waitForAll(); await click( - '[data-test-kuler-palette="Triad"] [data-test-save-kuler-palette]', + '[data-test-kuler-palette="Triad"] [data-test-save-kuler-palette]' ); await waitForAll(); @@ -135,7 +137,7 @@ module('Acceptance | kuler', function (hooks) { await waitForAll(); const colorsList = document.querySelector( - '[data-test-palette-row="Triad"] .palette-color-squares', + '[data-test-palette-row="Triad"] .palette-color-squares' ); assert @@ -143,30 +145,31 @@ module('Acceptance | kuler', function (hooks) { .exists({ count: 3 }); const thirdColor = colorsList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; assert.dom(thirdColor).hasStyle({ backgroundColor: 'rgb(138, 224, 247)' }); }); test('changing base', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); await fillIn('[data-test-kuler-select]', 'Monochromatic'); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-name]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-name]' ) .hasText('Monochromatic'); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color]' ) .exists({ count: 5 }); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="0"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="0"]' ) .hasStyle({ backgroundColor: 'rgb(247, 138, 224)', @@ -174,7 +177,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]' ) .hasStyle({ backgroundColor: 'rgb(43, 24, 39)', @@ -182,7 +185,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="2"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="2"]' ) .hasStyle({ backgroundColor: 'rgb(94, 53, 85)', @@ -190,7 +193,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="3"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="3"]' ) .hasStyle({ backgroundColor: 'rgb(145, 81, 131)', @@ -198,32 +201,32 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="4"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="4"]' ) .hasStyle({ backgroundColor: 'rgb(196, 110, 178)', }); await click( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]' ); await click('[data-test-set-base-color]'); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-name]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-name]' ) .hasText('Monochromatic'); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color]' ) .exists({ count: 5 }); assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="0"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="0"]' ) .hasStyle({ backgroundColor: 'rgb(43, 24, 39)', @@ -231,7 +234,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="1"]' ) .hasStyle({ backgroundColor: 'rgb(94, 52, 85)', @@ -239,7 +242,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="2"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="2"]' ) .hasStyle({ backgroundColor: 'rgb(145, 81, 132)', @@ -247,7 +250,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="3"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="3"]' ) .hasStyle({ backgroundColor: 'rgb(196, 109, 178)', @@ -255,7 +258,7 @@ module('Acceptance | kuler', function (hooks) { assert .dom( - '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="4"]', + '[data-test-kuler-palette="Monochromatic"] [data-test-kuler-palette-color="4"]' ) .hasStyle({ backgroundColor: 'rgb(247, 138, 224)', @@ -264,6 +267,8 @@ module('Acceptance | kuler', function (hooks) { module('inputs', function () { test('hex input updates rgba', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-hex]').hasValue('#f78ae0'); assert.dom('[data-test-kuler-r]').hasValue('247'); assert.dom('[data-test-kuler-g]').hasValue('138'); @@ -285,6 +290,8 @@ module('Acceptance | kuler', function (hooks) { module('red', function () { test('incomplete clears input', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-r]').hasValue('247'); await fillIn('[data-test-kuler-r]', '255'); @@ -296,6 +303,8 @@ module('Acceptance | kuler', function (hooks) { }); test('values capped at 255', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-r]').hasValue('247'); await fillIn('[data-test-kuler-r]', '400'); @@ -308,6 +317,8 @@ module('Acceptance | kuler', function (hooks) { module('green', function () { test('incomplete clears input', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-g]').hasValue('138'); await fillIn('[data-test-kuler-g]', '255'); @@ -319,6 +330,8 @@ module('Acceptance | kuler', function (hooks) { }); test('values capped at 255', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-g]').hasValue('138'); await fillIn('[data-test-kuler-g]', '400'); @@ -331,6 +344,8 @@ module('Acceptance | kuler', function (hooks) { module('blue', function () { test('incomplete clears input', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-b]').hasValue('224'); await fillIn('[data-test-kuler-b]', '255'); @@ -342,6 +357,8 @@ module('Acceptance | kuler', function (hooks) { }); test('values capped at 255', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-b]').hasValue('224'); await fillIn('[data-test-kuler-b]', '400'); @@ -354,6 +371,8 @@ module('Acceptance | kuler', function (hooks) { module('alpha', function () { test('incomplete clears input', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-a]').hasValue('1'); await fillIn('[data-test-kuler-a]', '0.52'); @@ -365,6 +384,8 @@ module('Acceptance | kuler', function (hooks) { }); test('values capped at 1', async function (assert) { + await visit('/kuler?colorId=pale-magenta'); + assert.dom('[data-test-kuler-a]').hasValue('1'); await fillIn('[data-test-kuler-a]', '1.50'); diff --git a/tests/acceptance/palettes-test.js b/tests/acceptance/palettes-test.js index 9c8a1e23b..fb2e8416b 100644 --- a/tests/acceptance/palettes-test.js +++ b/tests/acceptance/palettes-test.js @@ -31,30 +31,30 @@ module('Acceptance | palettes', function (hooks) { assert .dom( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content]' ) .isNotVisible(); await click( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-trigger]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-trigger]' ); await waitForAll(); assert .dom( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content]' ) .isVisible(); assert .dom( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Delete Palette"]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Delete Palette"]' ) .hasNoAttribute('disabled'); assert .dom( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Duplicate Palette"]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Duplicate Palette"]' ) .hasNoAttribute('disabled'); }); @@ -64,30 +64,30 @@ module('Acceptance | palettes', function (hooks) { assert .dom( - '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content]', + '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content]' ) .isNotVisible(); await click( - '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-trigger]', + '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-trigger]' ); await waitForAll(); assert .dom( - '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content]', + '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content]' ) .isVisible(); assert .dom( - '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Delete Palette"]', + '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Delete Palette"]' ) .hasAttribute('disabled'); assert .dom( - '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Duplicate Palette"]', + '[data-test-palette-row="Locked Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Duplicate Palette"]' ) .hasAttribute('disabled'); }); @@ -96,31 +96,31 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); await click( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-trigger]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-trigger]' ); await waitForAll(); await click( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Rename Palette"]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Rename Palette"]' ); await fillIn( '[data-test-palette-row="First Palette"] [data-test-palette-name-input]', - 'First Palette 123', + 'First Palette 123' ); await waitForAll(); await blur( - '[data-test-palette-row="First Palette 123"] [data-test-palette-name-input]', + '[data-test-palette-row="First Palette 123"] [data-test-palette-name-input]' ); await waitForAll(); assert .dom( - '[data-test-palette-row="First Palette 123"] [data-test-palette-name]', + '[data-test-palette-row="First Palette 123"] [data-test-palette-name]' ) .hasText('First Palette 123'); }); @@ -131,10 +131,10 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); let sourceList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); let firstColor = sourceList.querySelector( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' ); assert.dom(firstColor).hasStyle({ backgroundColor: 'rgb(0, 0, 0)' }); @@ -144,7 +144,7 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); sourceList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); firstColor = sourceList.querySelector('[data-test-palette-color-square]'); assert @@ -156,10 +156,10 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); let sourceList = find( - '[data-test-palette-row="Locked Palette"]', + '[data-test-palette-row="Locked Palette"]' ).querySelector('.palette-color-squares'); let firstColor = sourceList.querySelector( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' ); assert.dom(firstColor).hasStyle({ backgroundColor: 'rgb(0, 0, 0)' }); @@ -169,7 +169,7 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); sourceList = find( - '[data-test-palette-row="Locked Palette"]', + '[data-test-palette-row="Locked Palette"]' ).querySelector('.palette-color-squares'); firstColor = sourceList.querySelector('[data-test-palette-color-square]'); assert.dom(firstColor).hasStyle({ backgroundColor: 'rgb(0, 0, 0)' }); @@ -179,13 +179,13 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); let targetList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); let sourceList = find( - '[data-test-palette-row="First Palette"]', + '[data-test-palette-row="First Palette"]' ).querySelector('.palette-color-squares'); let sourceListThirdColor = sourceList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; assert @@ -203,14 +203,14 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); targetList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); sourceList = find( - '[data-test-palette-row="First Palette"]', + '[data-test-palette-row="First Palette"]' ).querySelector('.palette-color-squares'); let targetListThirdColor = targetList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; assert @@ -229,7 +229,7 @@ module('Acceptance | palettes', function (hooks) { let sourceList = find('[data-test-color-history]'); let sourceListThirdColor = sourceList.querySelectorAll( - '[data-test-color-history-square]', + '[data-test-color-history-square]' )[2]; assert @@ -237,7 +237,7 @@ module('Acceptance | palettes', function (hooks) { .exists({ count: 4 }); let targetList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); assert @@ -252,12 +252,12 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); targetList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); sourceList = find('[data-test-color-history]'); let targetListThirdColor = targetList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; // Count in colors list does not change when a color is copied out @@ -277,7 +277,7 @@ module('Acceptance | palettes', function (hooks) { assert.dom('[data-test-color-picker]').doesNotExist(); await click( - '[data-test-color="Shamrock"] [data-test-color-row-menu] [data-test-options-trigger]', + '[data-test-color="Shamrock"] [data-test-color-row-menu] [data-test-options-trigger]' ); await animationsSettled(); @@ -315,17 +315,17 @@ module('Acceptance | palettes', function (hooks) { // Shamrock should remain in color history and should be replaced with Red in Second Palette assert .dom( - '[data-test-color-history] [data-test-color-history-square="Shamrock"]', + '[data-test-color-history] [data-test-color-history-square="Shamrock"]' ) .exists(); assert .dom( - '[data-test-palette-row="Second Palette"] [data-test-palette-color-square="Red"]', + '[data-test-palette-row="Second Palette"] [data-test-palette-color-square="Red"]' ) .exists(); assert .dom( - '[data-test-palette-row="Second Palette"] [data-test-palette-color-square="Shamrock"]', + '[data-test-palette-row="Second Palette"] [data-test-palette-color-square="Shamrock"]' ) .doesNotExist(); }); @@ -334,13 +334,13 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); let targetList = find( - '[data-test-palette-row="Locked Palette"]', + '[data-test-palette-row="Locked Palette"]' ).querySelector('.palette-color-squares'); let sourceList = find( - '[data-test-palette-row="First Palette"]', + '[data-test-palette-row="First Palette"]' ).querySelector('.palette-color-squares'); let sourceListThirdColor = sourceList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; assert @@ -358,14 +358,14 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); targetList = find( - '[data-test-palette-row="Locked Palette"]', + '[data-test-palette-row="Locked Palette"]' ).querySelector('.palette-color-squares'); sourceList = find( - '[data-test-palette-row="First Palette"]', + '[data-test-palette-row="First Palette"]' ).querySelector('.palette-color-squares'); let targetListThirdColor = targetList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; assert @@ -383,13 +383,13 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); let targetList = find( - '[data-test-palette-row="First Palette"]', + '[data-test-palette-row="First Palette"]' ).querySelector('.palette-color-squares'); let sourceList = find( - '[data-test-palette-row="Locked Palette"]', + '[data-test-palette-row="Locked Palette"]' ).querySelector('.palette-color-squares'); let sourceListThirdColor = sourceList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; assert @@ -407,14 +407,14 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); targetList = find( - '[data-test-palette-row="First Palette"]', + '[data-test-palette-row="First Palette"]' ).querySelector('.palette-color-squares'); sourceList = find( - '[data-test-palette-row="Locked Palette"]', + '[data-test-palette-row="Locked Palette"]' ).querySelector('.palette-color-squares'); let targetListThirdColor = targetList.querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' )[2]; assert @@ -439,7 +439,7 @@ module('Acceptance | palettes', function (hooks) { await click('[data-test-color-history-menu] [data-test-options-trigger]'); await waitForAll(); await click( - '[data-test-color-history-menu] [data-test-options-content] [data-test-clear-color-history]', + '[data-test-color-history-menu] [data-test-options-content] [data-test-clear-color-history]' ); await waitForAll(); @@ -449,7 +449,7 @@ module('Acceptance | palettes', function (hooks) { }); // Ember specific tests - if (typeof requireNode === 'undefined') { + if (!(typeof window !== 'undefined' && window.electronAPI)) { test('creating palettes and undo / redo', async function (assert) { await visit('/palettes'); @@ -483,12 +483,12 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); await click( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-trigger]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-trigger]' ); await waitForAll(); await click( - '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Duplicate Palette"]', + '[data-test-palette-row="First Palette"] [data-test-palette-row-menu] [data-test-options-content] [data-test-menu-item="Duplicate Palette"]' ); await waitForAll(); @@ -498,13 +498,13 @@ module('Acceptance | palettes', function (hooks) { .exists({ count: 2 }); const duplicatedPalettes = await findAll( - '[data-test-palette-row="First Palette"]', + '[data-test-palette-row="First Palette"]' ); const firstPaletteColors = duplicatedPalettes[0].querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' ); const duplicatedPaletteColors = duplicatedPalettes[1].querySelectorAll( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' ); assert @@ -555,10 +555,10 @@ module('Acceptance | palettes', function (hooks) { await visit('/palettes'); let sourceList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); let firstColor = sourceList.querySelector( - '[data-test-palette-color-square]', + '[data-test-palette-color-square]' ); assert.dom(firstColor).hasStyle({ backgroundColor: 'rgb(0, 0, 0)' }); @@ -568,7 +568,7 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); sourceList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); firstColor = sourceList.querySelector('[data-test-palette-color-square]'); assert @@ -583,7 +583,7 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); sourceList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); firstColor = sourceList.querySelector('[data-test-palette-color-square]'); assert.dom(firstColor).hasStyle({ backgroundColor: 'rgb(0, 0, 0)' }); @@ -597,7 +597,7 @@ module('Acceptance | palettes', function (hooks) { await waitForAll(); sourceList = find( - '[data-test-palette-row="Second Palette"]', + '[data-test-palette-row="Second Palette"]' ).querySelector('.palette-color-squares'); firstColor = sourceList.querySelector('[data-test-palette-color-square]'); assert diff --git a/tests/acceptance/settings-test.js b/tests/acceptance/settings-test.js index d4a14223f..a11deaf4f 100644 --- a/tests/acceptance/settings-test.js +++ b/tests/acceptance/settings-test.js @@ -7,47 +7,54 @@ module('Acceptance | settings', function (hooks) { setupApplicationTest(hooks); resetStorage(hooks, { seed: { source: 'backup', scenario: 'basic' } }); - hooks.beforeEach(async function () { + test('visiting /settings', async function (assert) { await visit('/settings'); - }); - test('visiting /settings', function (assert) { assert.strictEqual(currentURL(), '/settings'); }); - test('settings menu is shown', function (assert) { + test('settings menu is shown', async function (assert) { + await visit('/settings'); + assert.dom('[data-test-settings-menu]').exists(); }); - test('sounds is checked by default', function (assert) { + test('sounds is checked by default', async function (assert) { + await visit('/settings'); + assert.dom('[data-test-settings-sounds]').isChecked(); }); test('theme setting updates when selected', async function (assert) { + await visit('/settings'); await click('[data-test-settings-select-theme="light"]'); const theme = JSON.parse( - localStorage.getItem('storage:settings'), + localStorage.getItem('storage:settings') ).userTheme; assert.strictEqual(theme, 'light'); }); // Ember specific tests - if (typeof requireNode === 'undefined') { - test('has five inputs', function (assert) { + if (!(typeof window !== 'undefined' && window.electronAPI)) { + test('has five inputs', async function (assert) { + await visit('/settings'); + assert.dom('[data-test-settings-menu] input').exists({ count: 5 }); }); } // Electron specific tests - if (typeof requireNode !== 'undefined') { + if (typeof window !== 'undefined' && window.electronAPI) { // TODO: these are different for Mac/Windows vs Linux, so we need specific platform tests - // test('has seven inputs', function (assert) { - // assert.dom('[data-test-settings-menu] input').exists({ count: 7 }); - // }); - // test('start on startup is not checked by default', async function (assert) { - // assert.dom('[data-test-settings-startup]').isNotChecked(); - // }); + test('has seven inputs', async function (assert) { + await visit('/settings'); + assert.dom('[data-test-settings-menu] input').exists({ count: 7 }); + }); + test('start on startup is not checked by default', async function (assert) { + await visit('/settings'); + assert.dom('[data-test-settings-startup]').isNotChecked(); + }); } }); diff --git a/tests/acceptance/settings/cloud-test.ts b/tests/acceptance/settings/cloud-test.ts index b02d3e780..572c626c2 100644 --- a/tests/acceptance/settings/cloud-test.ts +++ b/tests/acceptance/settings/cloud-test.ts @@ -41,17 +41,17 @@ module('Acceptance | settings/cloud', function (hooks) { assert.strictEqual( username, 'testuser@gmail.com', - 'username is correct', + 'username is correct' ); assert.strictEqual( confirmationCode, '1234', - 'confirmationCode is correct', + 'confirmationCode is correct' ); return; }, - }), + }) ); await visit('/settings/cloud/register'); @@ -63,7 +63,7 @@ module('Acceptance | settings/cloud', function (hooks) { assert.strictEqual( currentURL(), '/settings/cloud/register/confirm', - 'transitioned to register/confirm route', + 'transitioned to register/confirm route' ); await fillIn('[data-test-register-input-user]', 'testuser@gmail.com'); await fillIn('[data-test-register-input-code]', '1234'); @@ -73,7 +73,7 @@ module('Acceptance | settings/cloud', function (hooks) { assert.strictEqual( currentURL(), '/settings/cloud/login', - 'transitioned to login route', + 'transitioned to login route' ); }); @@ -97,7 +97,7 @@ module('Acceptance | settings/cloud', function (hooks) { .resolves(); const dataService = this.owner.lookup( - 'service:data', + 'service:data' ) as unknown as DataService; const synchronizeStub = sinon.stub(dataService, 'synchronize').resolves(); const resetStub = sinon.stub(dataService, 'reset').resolves(); diff --git a/tests/acceptance/settings/data-test.ts b/tests/acceptance/settings/data-test.ts index e552d895f..af289804c 100644 --- a/tests/acceptance/settings/data-test.ts +++ b/tests/acceptance/settings/data-test.ts @@ -1,4 +1,4 @@ -import { click, currentURL, visit } from '@ember/test-helpers'; +import { click, currentURL, visit, waitFor } from '@ember/test-helpers'; import { module, test } from 'qunit'; import sinon from 'sinon'; import IDBExportImport from 'indexeddb-export-import'; @@ -22,13 +22,13 @@ module('Acceptance | settings/data', function (hooks) { .dom('[data-test-settings-format-dropdown] [data-test-options-trigger]') .hasText('hex'); await click( - '[data-test-settings-format-dropdown] [data-test-options-trigger]', + '[data-test-settings-format-dropdown] [data-test-options-trigger]' ); await waitForAll(); await click( - '[data-test-settings-format-dropdown] [data-test-options-content] [data-test-format-option="hsl"]', + '[data-test-settings-format-dropdown] [data-test-options-content] [data-test-format-option="hsl"]' ); assert @@ -37,13 +37,14 @@ module('Acceptance | settings/data', function (hooks) { }); // Electron specific tests - if (typeof requireNode !== 'undefined') { + if (typeof window !== 'undefined' && window.electronAPI) { test('export triggers success message', async function (assert) { await visit('/settings/data'); sinon.stub(IDBExportImport, 'exportToJsonString').callsArg(1); await click('[data-test-export-swatches-button]'); await waitForAll(); + await waitFor('.alert.alert-success'); assert.dom('.alert.alert-success').exists({ count: 1 }); }); test('export triggers error message', async function (assert) { @@ -54,6 +55,7 @@ module('Acceptance | settings/data', function (hooks) { .callsArgWith(1, 'error'); await click('[data-test-export-swatches-button]'); await waitForAll(); + await waitFor('.alert.alert-danger'); assert.dom('.alert.alert-danger').exists({ count: 1 }); }); } diff --git a/tests/helpers.ts b/tests/helpers.ts index e2a13b695..1d1a3d2ef 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -1,27 +1,32 @@ import { getContext, settled } from '@ember/test-helpers'; import { animationsSettled } from 'ember-animated/test-support'; -import { waitForSource } from 'ember-orbit/test-support'; +import { waitForSource } from 'ember-orbit/test-support/index'; import type Owner from '@ember/owner'; -import type Coordinator from '@orbit/coordinator'; -import type { IndexedDBSource } from '@orbit/indexeddb'; +import { getOrbitRegistry, setupOrbit } from 'ember-orbit'; import type BucketClass from '@orbit/indexeddb-bucket'; -// @ts-expect-error TODO: not yet typed +import type MemorySource from '@orbit/memory'; import seedOrbit from './orbit/seed'; +const dataModels = import.meta.glob('../app/data-models/*.{js,ts}', { + eager: true, +}); +const dataSources = import.meta.glob('../app/data-sources/*.{js,ts}', { + eager: true, +}); +const dataStrategies = import.meta.glob('../app/data-strategies/*.{js,ts}', { + eager: true, +}); + export async function waitForAll() { - const { owner } = getContext() as { owner: Owner }; - // @ts-expect-error Not sure why it says this does not exist - const { services } = owner.resolveRegistration('ember-orbit:config') as { - services: { - coordinator: string; - }; - }; - const coordinator = owner.lookup( - `service:${services.coordinator}`, - ) as unknown as Coordinator; - - for (const source of coordinator.sources) { - await waitForSource(source); + // @ts-expect-error This is fine. + const owner = getContext().owner as Owner; + const orbitRegistry = getOrbitRegistry(owner); + const coordinator = orbitRegistry.services.dataCoordinator; + + if (coordinator) { + for (const source of coordinator.sources) { + await waitForSource(source, owner); + } } await settled(); @@ -30,23 +35,30 @@ export async function waitForAll() { export function resetStorage( hooks: NestedHooks, - options: { seed?: { source?: string; scenario?: string } } = {}, + options: { seed?: { source?: string; scenario?: string } } = {} ) { hooks.beforeEach(async function () { + setupOrbit(this.owner, { + ...dataModels, + ...dataSources, + ...dataStrategies, + }); + if (options.seed) { + const orbitRegistry = getOrbitRegistry(this.owner); const sourceName = options.seed.source ?? 'backup'; - const source = this.owner.lookup(`data-source:${sourceName}`); - + const source = orbitRegistry.registrations.sources[sourceName]; await seedOrbit(source, options.seed.scenario); } }); hooks.afterEach(async function () { - const backup = this.owner.lookup('data-source:backup') as IndexedDBSource; + const orbitRegistry = getOrbitRegistry(this.owner); + const backup = orbitRegistry.registrations.sources.backup as MemorySource; - await backup.cache.deleteDB(); + backup.cache.reset(); - const bucket = this.owner.lookup('data-bucket:main') as + const bucket = orbitRegistry.registrations.buckets.main as | BucketClass | undefined; diff --git a/tests/index.html b/tests/index.html index 4fb89a183..4968aef8d 100644 --- a/tests/index.html +++ b/tests/index.html @@ -9,9 +9,8 @@ {{content-for "head"}} {{content-for "test-head"}} - - - + + {{content-for "head-footer"}} {{content-for "test-head-footer"}} @@ -28,12 +27,16 @@
- - - - + + + + + {{content-for "body-footer"}} - {{content-for "test-body-footer"}} diff --git a/tests/integration/components/contrast-checker-test.gjs b/tests/integration/components/contrast-checker-test.gjs index 7d26afac7..e594a3153 100644 --- a/tests/integration/components/contrast-checker-test.gjs +++ b/tests/integration/components/contrast-checker-test.gjs @@ -1,4 +1,4 @@ -import { fillIn, render, triggerKeyEvent } from '@ember/test-helpers'; +import { blur, fillIn, find, render, waitUntil } from '@ember/test-helpers'; import { module, test } from 'qunit'; import ContrastChecker from 'swach/components/contrast-checker'; import { waitForAll } from 'swach/tests/helpers'; @@ -13,11 +13,23 @@ module('Integration | Component | contrast-checker', function (hooks) { await waitForAll(); await fillIn('[data-test-bg-input]', '#004747'); - await triggerKeyEvent('[data-test-bg-input]', 'keypress', 13); + await blur('[data-test-bg-input]'); await fillIn('[data-test-fg-input]', '#005A2A'); - await triggerKeyEvent('[data-test-fg-input]', 'keypress', 13); + await blur('[data-test-fg-input]'); await waitForAll(); + await waitUntil( + () => { + const scoreElement = find('[data-test-wcag-score]'); + const stringElement = find('[data-test-wcag-string]'); + + return ( + scoreElement?.textContent.trim() === '1.25' && + stringElement?.textContent.trim() === 'Fail' + ); + }, + { timeout: 5000 } + ); assert.dom('[data-test-wcag-score]').hasText('1.25'); assert.dom('[data-test-wcag-string]').hasText('Fail'); @@ -26,9 +38,21 @@ module('Integration | Component | contrast-checker', function (hooks) { .hasStyle({ backgroundColor: 'rgb(0, 71, 71)', color: 'rgb(0, 90, 42)' }); await fillIn('[data-test-fg-input]', '#00A24B'); - await triggerKeyEvent('[data-test-fg-input]', 'keypress', 13); + await blur('[data-test-fg-input]'); await waitForAll(); + await waitUntil( + () => { + const scoreElement = find('[data-test-wcag-score]'); + const stringElement = find('[data-test-wcag-string]'); + + return ( + scoreElement?.textContent.trim() === '3.15' && + stringElement?.textContent.trim() === 'AA Large' + ); + }, + { timeout: 5000 } + ); assert.dom('[data-test-wcag-score]').hasText('3.15'); assert.dom('[data-test-wcag-string]').hasText('AA Large'); @@ -38,9 +62,21 @@ module('Integration | Component | contrast-checker', function (hooks) { }); await fillIn('[data-test-fg-input]', '#00CE60'); - await triggerKeyEvent('[data-test-fg-input]', 'keypress', 13); + await blur('[data-test-fg-input]'); await waitForAll(); + await waitUntil( + () => { + const scoreElement = find('[data-test-wcag-score]'); + const stringElement = find('[data-test-wcag-string]'); + + return ( + scoreElement?.textContent.trim() === '5.02' && + stringElement?.textContent.trim() === 'AA' + ); + }, + { timeout: 5000 } + ); assert.dom('[data-test-wcag-score]').hasText('5.02'); assert.dom('[data-test-wcag-string]').hasText('AA'); @@ -50,9 +86,21 @@ module('Integration | Component | contrast-checker', function (hooks) { }); await fillIn('[data-test-fg-input]', '#FFFFFF'); - await triggerKeyEvent('[data-test-fg-input]', 'keypress', 13); + await blur('[data-test-fg-input]'); await waitForAll(); + await waitUntil( + () => { + const scoreElement = find('[data-test-wcag-score]'); + const stringElement = find('[data-test-wcag-string]'); + + return ( + scoreElement?.textContent.trim() === '10.54' && + stringElement?.textContent.trim() === 'AAA' + ); + }, + { timeout: 5000 } + ); assert.dom('[data-test-wcag-score]').hasText('10.54'); assert.dom('[data-test-wcag-string]').hasText('AAA'); diff --git a/tests/orbit/seed.js b/tests/orbit/seed.js index e89d4b21a..ed47a6cf0 100644 --- a/tests/orbit/seed.js +++ b/tests/orbit/seed.js @@ -37,8 +37,8 @@ export default async function seedOrbit(source, scenario = 'basic') { type: 'color', id, }; - }), - ), + }) + ) ); } else if (id === 'first-palette') { const ids = []; @@ -60,16 +60,16 @@ export default async function seedOrbit(source, scenario = 'basic') { t.replaceRelatedRecords( { type: 'palette', id: 'first-palette' }, 'colors', - colorsList, - ), + colorsList + ) ); operations.push( t.replaceAttribute( { type: 'palette', id: 'first-palette' }, 'colorOrder', - colorsList, - ), + colorsList + ) ); } else if (id === 'second-palette') { const ids = []; @@ -91,16 +91,16 @@ export default async function seedOrbit(source, scenario = 'basic') { t.replaceRelatedRecords( { type: 'palette', id: 'second-palette' }, 'colors', - colorsList, - ), + colorsList + ) ); operations.push( t.replaceAttribute( { type: 'palette', id: 'second-palette' }, 'colorOrder', - colorsList, - ), + colorsList + ) ); } else if (id === 'locked-palette') { const ids = []; @@ -122,16 +122,16 @@ export default async function seedOrbit(source, scenario = 'basic') { t.replaceRelatedRecords( { type: 'palette', id: 'locked-palette' }, 'colors', - colorsList, - ), + colorsList + ) ); operations.push( t.replaceAttribute( { type: 'palette', id: 'locked-palette' }, 'colorOrder', - colorsList, - ), + colorsList + ) ); } }); diff --git a/tests/test-helper.ts b/tests/test-helper.ts index 3fed64240..863d4853a 100644 --- a/tests/test-helper.ts +++ b/tests/test-helper.ts @@ -1,6 +1,5 @@ import { setApplication } from '@ember/test-helpers'; -import { setupEmberOnerrorValidation, start } from 'ember-qunit'; -import { loadTests } from 'ember-qunit/test-loader'; +import { start as qunitStart, setupEmberOnerrorValidation } from 'ember-qunit'; import setupSinon from 'ember-sinon-qunit'; import * as QUnit from 'qunit'; import { setup } from 'qunit-dom'; @@ -8,10 +7,12 @@ import './helpers/flash-message'; import Application from 'swach/app'; import config from 'swach/config/environment'; -setApplication(Application.create(config.APP)); +export function start() { + setApplication(Application.create(config.APP)); -setup(QUnit.assert); -setupSinon(); -setupEmberOnerrorValidation(); -loadTests(); -start(); + setup(QUnit.assert); + setupSinon(); + setupEmberOnerrorValidation(); + + qunitStart(); +} diff --git a/tests/unit/services/data-test.ts b/tests/unit/services/data-test.ts index c86267c1a..c77fc6b7e 100644 --- a/tests/unit/services/data-test.ts +++ b/tests/unit/services/data-test.ts @@ -1,13 +1,11 @@ import { setupTest } from 'ember-qunit'; import { module, test } from 'qunit'; -import type { Store } from 'ember-orbit'; +import { getOrbitRegistry, type Store } from 'ember-orbit'; import type { Coordinator } from '@orbit/coordinator'; import type IndexedDBSource from '@orbit/indexeddb'; import type Palette from 'swach/data-models/palette'; import type DataService from 'swach/services/data'; import { resetStorage } from 'swach/tests/helpers'; -// @ts-expect-error TODO: not yet typed -import seedOrbit from 'swach/tests/orbit/seed'; module('Unit | Service | data', function (hooks) { setupTest(hooks); @@ -17,28 +15,27 @@ module('Unit | Service | data', function (hooks) { let backup: IndexedDBSource; let store: Store; - hooks.beforeEach(function () { - dataService = this.owner.lookup('service:data') as DataService; - dataCoordinator = this.owner.lookup( - 'service:dataCoordinator', - ) as unknown as Coordinator; - backup = dataCoordinator.getSource('backup'); - store = this.owner.lookup('service:store') as unknown as Store; - }); - module('activate', function (hooks) { resetStorage(hooks, { seed: { source: 'backup', scenario: 'basic' } }); + hooks.beforeEach(function () { + dataService = this.owner.lookup('service:data') as DataService; + const orbitRegistry = getOrbitRegistry(this.owner); + dataCoordinator = orbitRegistry.services.dataCoordinator; + backup = dataCoordinator.getSource('backup'); + store = orbitRegistry.services.store; + }); + test('loads records from backup and syncs them with the store', async function (assert) { const backupPalettes = await backup.query((q) => - q.findRecords('palette'), + q.findRecords('palette') ); assert.strictEqual(backupPalettes.length, 4, 'backup source has data'); assert.strictEqual( store.cache.findRecords('palette').length, 0, - 'store has no data', + 'store has no data' ); await dataService.activate(); @@ -46,7 +43,7 @@ module('Unit | Service | data', function (hooks) { assert.strictEqual( store.cache.findRecords('palette').length, 4, - 'store has data after activation', + 'store has data after activation' ); }); }); @@ -54,6 +51,14 @@ module('Unit | Service | data', function (hooks) { module('synchronize', function (hooks) { resetStorage(hooks); + hooks.beforeEach(function () { + dataService = this.owner.lookup('service:data') as DataService; + const orbitRegistry = getOrbitRegistry(this.owner); + dataCoordinator = orbitRegistry.services.dataCoordinator; + backup = dataCoordinator.getSource('backup'); + store = orbitRegistry.services.store; + }); + test('must be called after `activate`', async function (assert) { assert.notOk(dataService.isActivated); @@ -62,7 +67,7 @@ module('Unit | Service | data', function (hooks) { } catch (e: unknown) { assert.strictEqual( (e as Error).message, - 'Data service: synchronize cannot be called prior to activate', + 'Data service: synchronize cannot be called prior to activate' ); } @@ -78,19 +83,19 @@ module('Unit | Service | data', function (hooks) { assert.strictEqual( store.cache.findRecords('palette').length, 0, - 'store has no palettes before synchronize', + 'store has no palettes before synchronize' ); await dataService.synchronize(); const palettes = store.cache.query((q) => - q.findRecords('palette'), + q.findRecords('palette') ); assert.strictEqual( palettes.length, 1, - 'store has one palette after synchronize', + 'store has one palette after synchronize' ); assert.ok(palettes[0]?.isColorHistory, 'palette isColorHistory'); @@ -98,7 +103,7 @@ module('Unit | Service | data', function (hooks) { assert.strictEqual( dataService.colorHistory, palettes[0], - 'colorHistory has been assigned to dataService', + 'colorHistory has been assigned to dataService' ); }); @@ -123,19 +128,19 @@ module('Unit | Service | data', function (hooks) { assert.strictEqual( store.cache.findRecords('palette').length, 2, - 'store has two color history palettes before synchronize', + 'store has two color history palettes before synchronize' ); await dataService.synchronize(); const palettes = store.cache.query((q) => - q.findRecords('palette'), + q.findRecords('palette') ); assert.strictEqual( palettes.length, 1, - 'store has one palette after synchronize', + 'store has one palette after synchronize' ); assert.ok(palettes[0]?.isColorHistory, 'palette isColorHistory'); @@ -143,22 +148,30 @@ module('Unit | Service | data', function (hooks) { assert.strictEqual( dataService.colorHistory, palettes[0], - 'colorHistory has been assigned to dataService', + 'colorHistory has been assigned to dataService' ); }); }); - module('reset', function () { - test('clears backup + store', async function (assert) { - seedOrbit(backup); + module('reset', function (hooks) { + resetStorage(hooks, { seed: { source: 'backup', scenario: 'basic' } }); + hooks.beforeEach(function () { + dataService = this.owner.lookup('service:data') as DataService; + const orbitRegistry = getOrbitRegistry(this.owner); + dataCoordinator = orbitRegistry.services.dataCoordinator; + backup = dataCoordinator.getSource('backup'); + store = orbitRegistry.services.store; + }); + + test('clears backup + store', async function (assert) { await dataService.activate(); await dataService.synchronize(); assert.strictEqual( store.cache.findRecords('palette').length, 4, - 'store has data after activation', + 'store has data after activation' ); assert.ok(dataService.colorHistory, 'colorHistory has been defined'); @@ -167,7 +180,7 @@ module('Unit | Service | data', function (hooks) { assert.strictEqual( store.cache.findRecords('palette').length, 0, - 'store has no data', + 'store has no data' ); assert.notOk(dataService.colorHistory, 'colorHistory has been cleared'); }); diff --git a/tsconfig.json b/tsconfig.json index e27649920..2a5b4742f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,17 +1,29 @@ { - "extends": "@tsconfig/ember", - "glint": { "environment": ["ember-loose", "ember-template-imports"] }, + "extends": "@ember/app-tsconfig", + "include": [ + "app", + "tests", + "types", + "forge.config.ts", + "forge.env.d.ts", + "vite.*.config.ts" + ], + "references": [{ "path": "./electron-app" }], + "glint": { + "environment": ["ember-loose", "ember-template-imports"] + }, "compilerOptions": { - "allowImportingTsExtensions": true, - // The combination of `baseUrl` with `paths` allows Ember's classic package - // layout, which is not resolvable with the Node resolution algorithm, to - // work with TypeScript. - "baseUrl": ".", + "allowJs": true, "paths": { - "swach/tests/*": ["tests/*"], - "swach/*": ["app/*"], - "*": ["types/*"] + "swach/tests/*": ["./tests/*"], + "swach/*": ["./app/*"], + "*": ["./types/*"] }, - "types": ["ember-source/types", "node"] + "types": [ + "ember-source/types", + "@embroider/core/virtual", + "vite/client", + "node" + ] } } diff --git a/types/color-name-list/index.d.ts b/types/color-name-list/index.d.ts new file mode 100644 index 000000000..71d23867e --- /dev/null +++ b/types/color-name-list/index.d.ts @@ -0,0 +1,3 @@ +declare module 'color-name-list' { + export declare const colornames: Array<{name: string; hex: string}>; +} \ No newline at end of file diff --git a/types/electron/index.d.ts b/types/electron/index.d.ts deleted file mode 100644 index 2b0f2c5ea..000000000 --- a/types/electron/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -declare module 'electron' { - export interface IpcRenderer { - invoke: (channel: string, ...args) => Promise; - on: (channel: string, listener: (event: any, ...args) => void) => void; - removeAllListeners: (channel: string) => void; - send: (channel: string, ...args) => void; - } -} diff --git a/types/ember-drag-sort/components/drag-sort-list.d.ts b/types/ember-drag-sort/components/drag-sort-list.d.ts deleted file mode 100644 index 6d1e28778..000000000 --- a/types/ember-drag-sort/components/drag-sort-list.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -declare module 'ember-drag-sort/components/drag-sort-list' { - import EmberObject from '@ember/object'; - - export default class DragSortList extends EmberObject { - dragEnter(event: Event): void {} - } -} diff --git a/types/ember-drag-sort/services/drag-sort.d.ts b/types/ember-drag-sort/services/drag-sort.d.ts deleted file mode 100644 index 9811a2f26..000000000 --- a/types/ember-drag-sort/services/drag-sort.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import Service from '@ember/service'; -import EventedMixin from '@ember/object/evented' - -declare module 'ember-drag-sort/services/drag-sort' { - export default class DragSortService extends Service.extend(EventedMixin) { - } -} \ No newline at end of file diff --git a/types/global.d.ts b/types/global.d.ts index 3d011c0eb..c28b733f7 100644 --- a/types/global.d.ts +++ b/types/global.d.ts @@ -27,13 +27,6 @@ declare module '@glint/environment-ember-loose/registry' { }; }; }>; - 'html-safe': HelperLike<{ - Args: { - Positional: [string: string]; - }; - Return: string; - }>; - 'liquid-outlet': ComponentLike; OneWayInputMask: ComponentLike<{ Element: HTMLInputElement; Args: { @@ -62,5 +55,25 @@ declare module '@glint/environment-ember-loose/registry' { } declare global { - declare function requireNode(name: string): any; + interface Window { + electronAPI: { + ipcRenderer: { + send: (channel: string, ...args: any[]) => void; + on: (channel: string, func: (...args: any[]) => void) => (...args: any[]) => void; + off: (channel: string, func: (...args: any[]) => void) => void; + once: (channel: string, func: (...args: any[]) => void) => void; + invoke: (channel: string, ...args: any[]) => Promise; + removeAllListeners: (channel: string) => void; + }; + }; + } + + namespace NodeJS { + interface ProcessEnv { + APPLE_ID: string; + APPLE_ID_PASSWORD: string; + WINDOWS_PFX_FILE: string; + WINDOWS_PFX_PASSWORD: string; + } + } } diff --git a/vite.main.config.ts b/vite.main.config.ts new file mode 100644 index 000000000..690be5b1a --- /dev/null +++ b/vite.main.config.ts @@ -0,0 +1,4 @@ +import { defineConfig } from 'vite'; + +// https://vitejs.dev/config +export default defineConfig({}); diff --git a/vite.preload.config.ts b/vite.preload.config.ts new file mode 100644 index 000000000..690be5b1a --- /dev/null +++ b/vite.preload.config.ts @@ -0,0 +1,4 @@ +import { defineConfig } from 'vite'; + +// https://vitejs.dev/config +export default defineConfig({}); diff --git a/vite.renderer.config.ts b/vite.renderer.config.ts new file mode 100644 index 000000000..1076ef781 --- /dev/null +++ b/vite.renderer.config.ts @@ -0,0 +1,34 @@ +import { classicEmberSupport, ember, extensions } from '@embroider/vite'; +import { babel } from '@rollup/plugin-babel'; +import tailwindcss from '@tailwindcss/vite'; +import { defineConfig } from 'vite'; +import viteTestemElectron from 'vite-plugin-testem-electron'; + +export default defineConfig({ + plugins: [ + classicEmberSupport(), + ember(), + tailwindcss(), + viteTestemElectron(), + // extra plugins here + babel({ + babelHelpers: 'runtime', + extensions, + }), + ], + + // build: { + // rollupOptions: { + // // Use a function to determine what should be external - let Embroider handle Ember packages + // external: (id) => { + // // Let Embroider handle all Ember framework packages and addons + // return ( + // id.startsWith('@ember/') || + // id.startsWith('@glimmer/') || + // id.startsWith('ember-') || + // id.includes('decorator-transforms') + // ); + // }, + // }, + // }, +});