From 6322e291556affebb0c28a67a310258d07e68e10 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Fri, 15 Aug 2025 08:18:49 -0400 Subject: [PATCH 01/54] Attempt to setup vite in electron --- electron-app/.gitignore | 1 + .../{forge.config.js => forge.config.ts} | 54 +- electron-app/forge.env.d.ts | 1 + electron-app/package.json | 16 +- .../src/{auto-update.js => auto-update.ts} | 8 +- electron-app/src/browsers/index.js | 6 +- electron-app/src/browsers/window.js | 40 +- .../src/{color-picker.js => color-picker.ts} | 2 +- electron-app/src/{dialogs.js => dialogs.ts} | 11 +- ...andle-file-urls.js => handle-file-urls.ts} | 37 +- .../src/{ipc-events.js => ipc-events.ts} | 22 +- electron-app/src/{index.js => main.ts} | 111 +-- electron-app/src/preload.js | 7 - electron-app/src/preload.ts | 8 + .../src/{shortcuts.js => shortcuts.ts} | 14 +- pnpm-lock.yaml | 766 +++++++++++++++++- vite.main.config.ts | 4 + vite.preload.config.ts | 4 + vite.renderer.config.ts | 4 + 19 files changed, 928 insertions(+), 188 deletions(-) rename electron-app/{forge.config.js => forge.config.ts} (61%) create mode 100644 electron-app/forge.env.d.ts rename electron-app/src/{auto-update.js => auto-update.ts} (89%) rename electron-app/src/{color-picker.js => color-picker.ts} (93%) rename electron-app/src/{dialogs.js => dialogs.ts} (78%) rename electron-app/src/{handle-file-urls.js => handle-file-urls.ts} (59%) rename electron-app/src/{ipc-events.js => ipc-events.ts} (86%) rename electron-app/src/{index.js => main.ts} (63%) delete mode 100644 electron-app/src/preload.js create mode 100644 electron-app/src/preload.ts rename electron-app/src/{shortcuts.js => shortcuts.ts} (89%) create mode 100644 vite.main.config.ts create mode 100644 vite.preload.config.ts create mode 100644 vite.renderer.config.ts 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/forge.config.js b/electron-app/forge.config.ts similarity index 61% rename from electron-app/forge.config.js rename to electron-app/forge.config.ts index 80a740d7d..e98c3d0ce 100644 --- a/electron-app/forge.config.js +++ b/electron-app/forge.config.ts @@ -1,7 +1,15 @@ -module.exports = { +import { MakerDeb } from '@electron-forge/maker-deb'; +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', @@ -24,8 +32,8 @@ module.exports = { }, osxNotarize: { tool: 'notarytool', - appleId: process.env['APPLE_ID'], - appleIdPassword: process.env['APPLE_ID_PASSWORD'], + appleId: process.env['APPLE_ID'] as string, + appleIdPassword: process.env['APPLE_ID_PASSWORD'] as string, teamId: '779MXKT6B5', }, protocols: [ @@ -112,6 +120,42 @@ module.exports = { platforms: ['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: '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: [ // { // name: '@electron-forge/publisher-snapcraft', @@ -122,3 +166,5 @@ module.exports = { // }, // ], }; + +export default config; diff --git a/electron-app/forge.env.d.ts b/electron-app/forge.env.d.ts new file mode 100644 index 000000000..9700e0ae1 --- /dev/null +++ b/electron-app/forge.env.d.ts @@ -0,0 +1 @@ +/// diff --git a/electron-app/package.json b/electron-app/package.json index 2ee12f9db..58179443d 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -3,13 +3,14 @@ "productName": "swach", "version": "1.2.15", "description": "A robust color management tool for the modern age.", - "main": "src/index.js", + "main": ".vite/build/main.js", + "type": "module", "scripts": { "start": "electron-forge start", "package": "electron-forge package", "make": "electron-forge make", "publish": "electron-forge publish", - "lint": "echo \"No linting configured\"" + "lint": "eslint --ext .ts,.tsx ." }, "keywords": [], "author": { @@ -39,11 +40,20 @@ "@electron-forge/maker-snap": "^7.8.3", "@electron-forge/maker-squirrel": "^7.8.3", "@electron-forge/maker-zip": "^7.8.3", + "@electron-forge/plugin-auto-unpack-natives": "^7.8.3", + "@electron-forge/plugin-fuses": "^7.8.3", + "@electron-forge/plugin-vite": "^7.8.3", + "@electron/fuses": "^1.8.0", "@electron-forge/publisher-snapcraft": "^7.8.3", "@sentry/cli": "^2.51.1", + "@types/electron-squirrel-startup": "^1.0.2", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", "electron": "^33.4.11", "electron-debug": "^3.2.0", - "electron-download": "^4.1.1" + "electron-download": "^4.1.1", + "typescript": "~4.5.4", + "vite": "^5.4.19" }, "packageManager": "pnpm@10.11.0", "engines": { diff --git a/electron-app/src/auto-update.js b/electron-app/src/auto-update.ts similarity index 89% rename from electron-app/src/auto-update.js rename to electron-app/src/auto-update.ts index d2279fe7f..192bcd08a 100644 --- a/electron-app/src/auto-update.js +++ b/electron-app/src/auto-update.ts @@ -1,6 +1,6 @@ -const { autoUpdater, dialog } = require('electron'); +import { autoUpdater, dialog } from 'electron'; -const setupUpdateServer = (app) => { +export const setupUpdateServer = (app) => { const server = 'https://download.swach.io'; const feed = `${server}/update/${process.platform}/${app.getVersion()}`; @@ -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 index d9d1c356e..43bed30d2 100644 --- a/electron-app/src/browsers/index.js +++ b/electron-app/src/browsers/index.js @@ -1,5 +1,5 @@ -'use strict'; +import windowFactory from './window.js'; -module.exports = (dirname) => ({ - settings: require('./window')(dirname, 'settings', 'Settings'), +export default (dirname) => ({ + settings: windowFactory(dirname, 'settings', 'Settings'), }); diff --git a/electron-app/src/browsers/window.js b/electron-app/src/browsers/window.js index 2b593ceca..e9e2ff76a 100644 --- a/electron-app/src/browsers/window.js +++ b/electron-app/src/browsers/window.js @@ -1,30 +1,18 @@ -'use strict'; +// window.js (ESM) +import { BrowserWindow } from 'electron'; -const { BrowserWindow } = require('electron'); - -module.exports = (dirname, route, title) => { +export default (dirname, route, title) => { + /** @type {import('electron').BrowserWindow | undefined} */ let win; - /** - * [init] - * @param {boolean} force [force launching new window] - * @return {void} [new Colorpicker] - */ - let init = () => { - if (win === null || win === undefined) createWindow(); + const init = () => { + if (win == null) createWindow(); else win.show(); - - // win.openDevTools(); + // win.webContents.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 = { + const createWindow = () => { + const options = { width: 700, height: 500, minWidth: 460, @@ -39,6 +27,7 @@ module.exports = (dirname, route, title) => { }; win = new BrowserWindow(options); + const windowRoute = `serve://dist#/${route}`; win.loadURL(windowRoute); @@ -46,15 +35,12 @@ module.exports = (dirname, route, title) => { win = undefined; }); - win.on('page-title-updated', function (e) { + win.on('page-title-updated', (e) => { e.preventDefault(); }); }; - let getWindow = () => win; + const getWindow = () => win; - return { - init: init, - getWindow: getWindow, - }; + return { init, getWindow }; }; diff --git a/electron-app/src/color-picker.js b/electron-app/src/color-picker.ts similarity index 93% rename from electron-app/src/color-picker.js rename to electron-app/src/color-picker.ts index 16d63b9e0..f0d2bf55f 100644 --- a/electron-app/src/color-picker.js +++ b/electron-app/src/color-picker.ts @@ -1,4 +1,4 @@ -async function launchPicker(mb, type = 'global') { +export async function launchPicker(mb, type = 'global') { mb.hideWindow(); const color = await mb.window.webContents.executeJavaScript( diff --git a/electron-app/src/dialogs.js b/electron-app/src/dialogs.ts similarity index 78% rename from electron-app/src/dialogs.js rename to electron-app/src/dialogs.ts index a5822403f..301d5fde3 100644 --- a/electron-app/src/dialogs.js +++ b/electron-app/src/dialogs.ts @@ -1,6 +1,6 @@ -const { app, dialog } = require('electron'); +import { app, dialog } from 'electron'; -function noUpdatesAvailableDialog() { +export function noUpdatesAvailableDialog() { const dialogOpts = { type: 'info', title: 'Already up to date', @@ -11,7 +11,7 @@ function noUpdatesAvailableDialog() { return dialog.showMessageBox(dialogOpts); } -function restartDialog() { +export function restartDialog() { const dialogOpts = { type: 'question', buttons: ['Restart', 'Later'], @@ -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.ts similarity index 59% rename from electron-app/src/handle-file-urls.js rename to electron-app/src/handle-file-urls.ts index 96f6b4857..63e08205c 100644 --- a/electron-app/src/handle-file-urls.js +++ b/electron-app/src/handle-file-urls.ts @@ -1,28 +1,27 @@ -const fs = require('fs'); -const path = require('path'); -const { fileURLToPath, pathToFileURL } = require('url'); -const { promisify } = require('util'); - -const access = promisify(fs.access); +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 request and look to see if they point to an asset when +// `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. // -async function getAssetPath(emberAppDir, url) { - let urlPath = fileURLToPath(url); +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 - let { root } = path.parse(urlPath); + // 'C:\\' on Windows + const { root } = path.parse(urlPath); // Get the relative path from the root to the full path - let relPath = path.relative(root, urlPath); + const relPath = path.relative(root, urlPath); // Join the relative path with the Ember app directory - let appPath = path.join(emberAppDir, relPath); + const appPath = path.join(emberAppDir, relPath); + try { await access(appPath); return appPath; @@ -31,14 +30,12 @@ async function getAssetPath(emberAppDir, url) { } } -module.exports = function handleFileURLs(emberAppDir) { - const { protocol, net } = require('electron'); - +export default function handleFileURLs(emberAppDir: string) { if (protocol.handle) { // Electron >= 25 protocol.handle('file', async ({ url }) => { - let path = await getAssetPath(emberAppDir, url); - return net.fetch(pathToFileURL(path), { + const assetPath = await getAssetPath(emberAppDir, url); + return net.fetch(pathToFileURL(assetPath), { bypassCustomProtocolHandlers: true, }); }); @@ -48,6 +45,4 @@ module.exports = function handleFileURLs(emberAppDir) { callback(await getAssetPath(emberAppDir, url)); }); } -}; - -module.exports.getAssetPath = getAssetPath; +} diff --git a/electron-app/src/ipc-events.js b/electron-app/src/ipc-events.ts similarity index 86% rename from electron-app/src/ipc-events.js rename to electron-app/src/ipc-events.ts index c79780255..9d6bdcb7d 100644 --- a/electron-app/src/ipc-events.js +++ b/electron-app/src/ipc-events.ts @@ -1,18 +1,10 @@ -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) { +import fs from 'fs'; +import { app, clipboard, dialog, ipcMain, nativeTheme, shell } from 'electron'; +import { download } from 'electron-dl'; +import { launchPicker } from './color-picker'; +import { restartDialog } from './dialogs'; + +export function setupEventHandlers(mb, store) { ipcMain.on('copyColorToClipboard', (channel, color) => { clipboard.writeText(color); }); diff --git a/electron-app/src/index.js b/electron-app/src/main.ts similarity index 63% rename from electron-app/src/index.js rename to electron-app/src/main.ts index 048f4b4ed..fae844a77 100644 --- a/electron-app/src/index.js +++ b/electron-app/src/main.ts @@ -1,34 +1,41 @@ -const Sentry = require('@sentry/electron'); -const { ipcMain, nativeTheme } = require('electron'); -const isDev = require('electron-is-dev'); -const Store = require('electron-store'); +import { basename, dirname, join, resolve } from 'node:path'; +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'; // 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 { +import { menubar } from 'menubar'; +import pkg from '../package.json' with { type: 'json' }; +import { setupUpdateServer } from './auto-update.js'; +import { launchPicker } from './color-picker.js'; +import { noUpdatesAvailableDialog } from './dialogs.js'; +import handleFileUrls from './handle-file-urls.js'; +import { setupEventHandlers } from './ipc-events.js'; +import { registerKeyboardShortcuts, setupContextMenu, setupMenu, -} = require('./shortcuts'); +} from './shortcuts.js'; + +// __dirname in ESM +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); const emberAppDir = resolve(__dirname, '..', 'ember-dist'); if (isDev) { - const debug = require('electron-debug'); - debug({ showDevTools: false }); + import('electron-debug') + .then(({ default: debug }) => { + debug({ showDevTools: false }); + }) + .catch(() => {}); } -Sentry.init({ +init({ appName: 'swach', dsn: 'https://6974b46329f24dc1b9fca4507c65e942@sentry.io/3956140', - release: `v${require('../package').version}`, + release: `v${pkg.version}`, }); const store = new Store({ @@ -52,14 +59,8 @@ function openContrastChecker(mb) { } let menubarIcon = 'resources/menubar-icons/iconTemplate.png'; - -if (process.platform === 'win32') { - menubarIcon = 'resources/icon.ico'; -} - -if (process.platform === 'linux') { - menubarIcon = 'resources/png/64x64.png'; -} +if (process.platform === 'win32') menubarIcon = 'resources/icon.ico'; +if (process.platform === 'linux') menubarIcon = 'resources/png/64x64.png'; const mb = menubar({ index: false, @@ -75,7 +76,7 @@ const mb = menubar({ nodeIntegration: true, }, }, - icon: join(__dirname || resolve(dirname('')), '..', menubarIcon), + icon: join(__dirname, '..', menubarIcon), preloadWindow: true, showDockIcon: store.get('showDockIcon'), showOnAllWorkspaces: false, @@ -104,9 +105,7 @@ async function openSharedPalette() { } 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. + // Windows dev mode protocol registration mb.app.setAsDefaultProtocolClient('swach', process.execPath, [ resolve(process.argv[1]), ]); @@ -137,25 +136,22 @@ if (!gotTheLock) { } if (process.platform === 'win32') { - if (require('electron-squirrel-startup')) mb.app.exit(); + 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 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 -// }); +// Uncomment to enable Electron's crash reporter +// electron.crashReporter.start({ ... }); mb.app.on('window-all-closed', () => { if (process.platform !== 'darwin') { @@ -164,16 +160,12 @@ mb.app.on('window-all-closed', () => { }); 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 + // 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 + // If a loading operation goes wrong, we'll send Electron back to Ember entry mb.window.webContents.on('did-fail-load', () => { mb.window.loadURL(emberAppURL); }); @@ -207,8 +199,9 @@ mb.on('after-create-window', async () => { setupMenu(mb, launchPicker, openContrastChecker); setupContextMenu(mb, launchPicker, openContrastChecker); + const setOSTheme = () => { - let theme = nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; + const theme = nativeTheme.shouldUseDarkColors ? 'dark' : 'light'; mb.window.webContents.send('setTheme', theme); }; @@ -217,12 +210,10 @@ mb.on('after-create-window', async () => { mb.on('ready', async () => { ipcMain.on('enableDisableAutoStart', (event, openAtLogin) => { - // We only want to allow auto-start if in production mode + // Only allow auto-start in production if (!isDev) { if (process.platform === 'darwin') { - mb.app.setLoginItemSettings({ - openAtLogin, - }); + mb.app.setLoginItemSettings({ openAtLogin }); } if (process.platform === 'win32') { @@ -245,7 +236,7 @@ mb.on('ready', async () => { }); }); -// We only want to auto update if we're on MacOS or Windows. Linux will use Snapcraft. +// Auto update on macOS/Windows (Linux uses Snapcraft) if (!isDev && (process.platform === 'darwin' || process.platform === 'win32')) { const autoUpdater = setupUpdateServer(mb.app); ipcMain.on('checkForUpdates', () => { @@ -255,20 +246,6 @@ if (!isDev && (process.platform === 'darwin' || process.platform === 'win32')) { } // 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( 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..fcbacbbcb --- /dev/null +++ b/electron-app/src/preload.ts @@ -0,0 +1,8 @@ +import { init } from '@sentry/electron'; +import pkg from '../package.json' with { type: 'json' }; + +init({ + appName: 'swach', + dsn: 'https://6974b46329f24dc1b9fca4507c65e942@sentry.io/3956140', + release: `v${pkg.version}`, +}); diff --git a/electron-app/src/shortcuts.js b/electron-app/src/shortcuts.ts similarity index 89% rename from electron-app/src/shortcuts.js rename to electron-app/src/shortcuts.ts index afe955e36..b9d7b1e50 100644 --- a/electron-app/src/shortcuts.js +++ b/electron-app/src/shortcuts.ts @@ -1,6 +1,6 @@ -const { globalShortcut, shell, Menu } = require('electron'); +import { globalShortcut, shell, Menu } from 'electron'; -function registerKeyboardShortcuts(mb, launchPicker, openContrastChecker) { +export function registerKeyboardShortcuts(mb, launchPicker, openContrastChecker) { globalShortcut.register('Ctrl+Super+Alt+p', () => { launchPicker(mb); }); @@ -14,7 +14,7 @@ function registerKeyboardShortcuts(mb, launchPicker, openContrastChecker) { }); } -function setupContextMenu(mb, launchPicker, openContrastChecker) { +export function setupContextMenu(mb, launchPicker, openContrastChecker) { const contextMenu = Menu.buildFromTemplate([ { label: 'Color Picker', @@ -42,7 +42,7 @@ function setupContextMenu(mb, launchPicker, openContrastChecker) { }); } -function setupMenu(mb, launchPicker, openContrastChecker) { +export function setupMenu(mb, launchPicker, openContrastChecker) { const isMac = process.platform === 'darwin'; const template = [ @@ -132,9 +132,3 @@ function setupMenu(mb, launchPicker, openContrastChecker) { const menu = Menu.buildFromTemplate(template); Menu.setApplicationMenu(menu); } - -module.exports = { - registerKeyboardShortcuts, - setupContextMenu, - setupMenu, -}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 903faaba8..4e86f99af 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -425,12 +425,33 @@ importers: '@electron-forge/maker-zip': specifier: ^7.8.3 version: 7.8.3 + '@electron-forge/plugin-auto-unpack-natives': + specifier: ^7.8.3 + version: 7.8.3 + '@electron-forge/plugin-fuses': + specifier: ^7.8.3 + version: 7.8.3(@electron/fuses@1.8.0) + '@electron-forge/plugin-vite': + specifier: ^7.8.3 + version: 7.8.3 '@electron-forge/publisher-snapcraft': specifier: ^7.8.3 version: 7.8.3 + '@electron/fuses': + specifier: ^1.8.0 + version: 1.8.0 '@sentry/cli': specifier: ^2.51.1 version: 2.52.0(encoding@0.1.13) + '@types/electron-squirrel-startup': + specifier: ^1.0.2 + version: 1.0.2 + '@typescript-eslint/eslint-plugin': + specifier: ^5.62.0 + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5))(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) + '@typescript-eslint/parser': + specifier: ^5.62.0 + version: 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) electron: specifier: ^33.4.11 version: 33.4.11 @@ -440,6 +461,12 @@ importers: electron-download: specifier: ^4.1.1 version: 4.1.1 + typescript: + specifier: ~4.5.4 + version: 4.5.5 + vite: + specifier: ^5.4.19 + version: 5.4.19(@types/node@24.3.0)(terser@5.43.1) packages: @@ -1409,10 +1436,24 @@ packages: resolution: {integrity: sha512-ytao285wKAjKBO6eULzLeqUDP5Zh7beQlGyHjgOMknk7FI0sNy+zGdh3CrCGIhkXSHU/DpukPwRu2SiKvIaIGA==} engines: {node: '>= 16.4.0'} + '@electron-forge/plugin-auto-unpack-natives@7.8.3': + resolution: {integrity: sha512-7tRhySvfdTrBC4PEhAzjzjJGT5dBSU6jhy3XlQ8LJH50jHIT9bioQq6dfn/3iw/VaD1ftGWKx+HlntYCmBhViw==} + engines: {node: '>= 16.4.0'} + '@electron-forge/plugin-base@7.8.3': resolution: {integrity: sha512-0CzPQlO3BGu5bLCrx2Xqo6B1yoHhA9wG9boZE58ANr8Qma1NQfAWZU3LnMmF3EdWNTX76PxpZeeb3QbPNcxSuA==} engines: {node: '>= 16.4.0'} + '@electron-forge/plugin-fuses@7.8.3': + resolution: {integrity: sha512-OPWfoVsQ3xzK7GB3C6zoGlUu21RCOEQAm5+zg9VP1HJg5dsrKkqU8A2DsHGxe7PHthUCuQUgcls0ciDOHvckCQ==} + engines: {node: '>= 16.4.0'} + peerDependencies: + '@electron/fuses': ^1.0.0 + + '@electron-forge/plugin-vite@7.8.3': + resolution: {integrity: sha512-f18x58SMpk47DADyydsMJSqHFDb2zp7WP3NwwpbfzSoyrfjuMaZFRlHsOP1JC7GhWejYMudHOUWLjKcZaeFWzQ==} + engines: {node: '>= 16.4.0'} + '@electron-forge/publisher-base@7.8.3': resolution: {integrity: sha512-kurRKVNyLsK2JgmVl88UHu0+qSH+PysMtk/xP0YX5sYNMVxRay8+S1T10tAh6Qom94KwpF3CLYtkebvxb/fq+A==} engines: {node: '>= 16.4.0'} @@ -1454,6 +1495,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'} @@ -1607,6 +1652,144 @@ packages: '@embroider/core': ^3.4.7 webpack: ^5.0.0 + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2163,6 +2346,106 @@ packages: peerDependencies: release-it: ^14.0.0 || ^15.2.0 || ^16.0.0 || ^17.0.0 + '@rollup/rollup-android-arm-eabi@4.46.2': + resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.46.2': + resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.46.2': + resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.46.2': + resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.46.2': + resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.46.2': + resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.46.2': + resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.46.2': + resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.46.2': + resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.46.2': + resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.46.2': + resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.46.2': + resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.46.2': + resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.46.2': + resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.46.2': + resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.46.2': + resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.46.2': + resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.46.2': + resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} + cpu: [x64] + os: [win32] + '@sentry-internal/feedback@7.112.0': resolution: {integrity: sha512-aqndxnTvZnqo/uUhuWLNWY/0W3zOxNs9FofLYi1SK5+QzMqDIyFY1dc9+ZqQH3/9GIlEGao+zveGAHeUEtpE8g==} engines: {node: '>=12'} @@ -2405,6 +2688,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==} @@ -2562,6 +2848,9 @@ packages: '@types/rsvp@4.0.9': resolution: {integrity: sha512-F6vaN5mbxw2MBCu/AD9fSKwrhnto2pE77dyUsi415qz9IP9ni9ZOWXHxnXfsM4NW9UjW+it189jvvqnhv37Z7Q==} + '@types/semver@7.7.0': + resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} + '@types/send@0.17.5': resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} @@ -2595,6 +2884,17 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + '@typescript-eslint/eslint-plugin@5.62.0': + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/eslint-plugin@8.39.1': resolution: {integrity: sha512-yYegZ5n3Yr6eOcqgj2nJH8cH/ZZgF+l0YIdKILSDjYFRjgYQMgv/lRjV5Z7Up04b9VYUondt8EPMqg7kTWgJ2g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2603,6 +2903,16 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/parser@5.62.0': + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/parser@8.39.1': resolution: {integrity: sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2616,6 +2926,10 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/scope-manager@5.62.0': + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.39.1': resolution: {integrity: sha512-RkBKGBrjgskFGWuyUGz/EtD8AF/GW49S21J8dvMzpJitOF1slLEbbHnNEtAHtnDAnx8qDEdRrULRnWVx27wGBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2626,6 +2940,16 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/type-utils@5.62.0': + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/type-utils@8.39.1': resolution: {integrity: sha512-gu9/ahyatyAdQbKeHnhT4R+y3YLtqqHyvkfDxaBYk97EcbfChSJXyaJnIL3ygUv7OuZatePHmQvuH5ru0lnVeA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2633,16 +2957,35 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@8.39.1': resolution: {integrity: sha512-7sPDKQQp+S11laqTrhHqeAbsCfMkwJMrV7oTDvtDds4mEofJYir414bYKUEb8YPUm9QL3U+8f6L6YExSoAGdQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@5.62.0': + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@8.39.1': resolution: {integrity: sha512-EKkpcPuIux48dddVDXyQBlKdeTPMmALqBUbEk38McWv0qVEZwOpVJBi7ugK5qVNgeuYjGNQxrrnoM/5+TI/BPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@5.62.0': + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@8.39.1': resolution: {integrity: sha512-VF5tZ2XnUSTuiqZFXCZfZs1cgkdd3O/sSYmdo2EpSyDlC86UM/8YytTmKnehOW3TGAlivqTDT6bS87B/GQ/jyg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2650,6 +2993,10 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/visitor-keys@5.62.0': + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@8.39.1': resolution: {integrity: sha512-W8FQi6kEh2e8zVhQ0eeRnxdvIoOkAp/CPAahcNio6nO9dsIwb9b34z90KOlheoyuVf6LSOEdjlkxSkapNEc+4A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5243,6 +5590,11 @@ packages: es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -7659,6 +8011,9 @@ packages: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -8846,6 +9201,11 @@ packages: resolution: {integrity: sha512-I18GBqP0qJoJC1K1osYjreqA8VAKovxuI3I81RSk0Dmr4TgloI0tAULjZaox8OsJ+n7XRrhH6i0G2By/pj1LCA==} hasBin: true + rollup@4.46.2: + resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + route-recognizer@0.3.4: resolution: {integrity: sha512-2+MhsfPhvauN1O8KaXpXAOfR/fwe8dnUXVM+xw7yt40lJRfPVQxV6yryZm0cgRvAj5fMF/mdRZbL2ptwbs5i2g==} @@ -9744,6 +10104,12 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -9823,6 +10189,11 @@ packages: typescript-memoize@1.1.1: resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} + typescript@4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} + engines: {node: '>=4.2.0'} + hasBin: true + typescript@5.9.2: resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} @@ -10037,6 +10408,37 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} + vite@5.4.19: + resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vlq@1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} @@ -11812,6 +12214,14 @@ snapshots: - bluebird - supports-color + '@electron-forge/plugin-auto-unpack-natives@7.8.3': + dependencies: + '@electron-forge/plugin-base': 7.8.3 + '@electron-forge/shared-types': 7.8.3 + transitivePeerDependencies: + - bluebird + - supports-color + '@electron-forge/plugin-base@7.8.3': dependencies: '@electron-forge/shared-types': 7.8.3 @@ -11819,6 +12229,27 @@ snapshots: - bluebird - supports-color + '@electron-forge/plugin-fuses@7.8.3(@electron/fuses@1.8.0)': + dependencies: + '@electron-forge/plugin-base': 7.8.3 + '@electron-forge/shared-types': 7.8.3 + '@electron/fuses': 1.8.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/plugin-vite@7.8.3': + dependencies: + '@electron-forge/plugin-base': 7.8.3 + '@electron-forge/shared-types': 7.8.3 + chalk: 4.1.2 + debug: 4.4.1(supports-color@8.1.1) + fs-extra: 10.1.0 + listr2: 7.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + '@electron-forge/publisher-base@7.8.3': dependencies: '@electron-forge/shared-types': 7.8.3 @@ -11904,6 +12335,12 @@ 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) @@ -12346,6 +12783,75 @@ snapshots: - canvas - utf-8-validate + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.5.1))': dependencies: eslint: 9.33.0(jiti@2.5.1) @@ -13116,6 +13622,66 @@ snapshots: walk-sync: 2.2.0 yaml: 2.8.1 + '@rollup/rollup-android-arm-eabi@4.46.2': + optional: true + + '@rollup/rollup-android-arm64@4.46.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.46.2': + optional: true + + '@rollup/rollup-darwin-x64@4.46.2': + optional: true + + '@rollup/rollup-freebsd-arm64@4.46.2': + optional: true + + '@rollup/rollup-freebsd-x64@4.46.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.46.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.46.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.46.2': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.46.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.46.2': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.46.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.46.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.46.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.46.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.46.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.46.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.46.2': + optional: true + '@sentry-internal/feedback@7.112.0': dependencies: '@sentry/core': 7.112.0 @@ -13422,20 +13988,22 @@ snapshots: 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__debug': 4.0.8(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) '@types/ember__runloop': 4.0.10 - '@types/ember__service': 4.0.9 + '@types/ember__service': 4.0.9(@babel/core@7.28.3) '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 '@types/ember__test': 4.0.6(@babel/core@7.28.3) @@ -13448,14 +14016,14 @@ snapshots: '@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__debug': 4.0.8(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@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__service': 4.0.9(@babel/core@7.28.3) '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 '@types/ember__test': 4.0.6(@babel/core@7.28.3) @@ -13469,7 +14037,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.3) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11 + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) @@ -13500,15 +14068,21 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8': + '@types/ember__debug@4.0.8(@babel/core@7.28.3)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@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.3)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__error@4.0.6': {} @@ -13529,7 +14103,7 @@ snapshots: '@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__service': 4.0.9(@babel/core@7.28.3) transitivePeerDependencies: - '@babel/core' - supports-color @@ -13545,9 +14119,12 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__service@4.0.9': + '@types/ember__service@4.0.9(@babel/core@7.28.3)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__string@3.0.15': {} @@ -13621,7 +14198,7 @@ snapshots: '@types/glob@9.0.0': dependencies: - glob: 8.1.0 + glob: 10.4.5 '@types/graceful-fs@4.1.9': dependencies: @@ -13690,6 +14267,8 @@ snapshots: '@types/rsvp@4.0.9': {} + '@types/semver@7.7.0': {} + '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 @@ -13723,9 +14302,28 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.19.11 + '@types/node': 22.17.2 optional: true + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5))(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) + '@typescript-eslint/utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) + debug: 4.4.1(supports-color@8.1.1) + eslint: 9.33.0(jiti@2.5.1) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare-lite: 1.4.0 + semver: 7.7.2 + tsutils: 3.21.0(typescript@4.5.5) + optionalDependencies: + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + '@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)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -13743,6 +14341,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) + debug: 4.4.1(supports-color@8.1.1) + eslint: 9.33.0(jiti@2.5.1) + optionalDependencies: + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.39.1 @@ -13764,6 +14374,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/scope-manager@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/scope-manager@8.39.1': dependencies: '@typescript-eslint/types': 8.39.1 @@ -13773,6 +14388,18 @@ snapshots: dependencies: typescript: 5.9.2 + '@typescript-eslint/type-utils@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) + '@typescript-eslint/utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) + debug: 4.4.1(supports-color@8.1.1) + eslint: 9.33.0(jiti@2.5.1) + tsutils: 3.21.0(typescript@4.5.5) + optionalDependencies: + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.39.1 @@ -13785,8 +14412,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@8.39.1': {} + '@typescript-eslint/typescript-estree@5.62.0(typescript@4.5.5)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.4.1(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.7.2 + tsutils: 3.21.0(typescript@4.5.5) + optionalDependencies: + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.39.1(typescript@5.9.2)': dependencies: '@typescript-eslint/project-service': 8.39.1(typescript@5.9.2) @@ -13803,6 +14446,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) + '@types/json-schema': 7.0.15 + '@types/semver': 7.7.0 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) + eslint: 9.33.0(jiti@2.5.1) + eslint-scope: 5.1.1 + semver: 7.7.2 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) @@ -13814,6 +14472,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/visitor-keys@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.39.1': dependencies: '@typescript-eslint/types': 8.39.1 @@ -17741,6 +18404,32 @@ snapshots: es6-error@4.1.1: optional: true + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + escalade@3.2.0: {} escape-goat@2.1.1: {} @@ -20775,6 +21464,8 @@ snapshots: transitivePeerDependencies: - supports-color + natural-compare-lite@1.4.0: {} + natural-compare@1.4.0: {} ncp@2.0.0: {} @@ -21175,7 +21866,7 @@ snapshots: got: 12.6.1 registry-auth-token: 5.1.0 registry-url: 6.0.1 - semver: 7.5.4 + semver: 7.7.2 parent-module@1.0.1: dependencies: @@ -22090,6 +22781,32 @@ snapshots: signal-exit: 3.0.7 sourcemap-codec: 1.4.8 + rollup@4.46.2: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.46.2 + '@rollup/rollup-android-arm64': 4.46.2 + '@rollup/rollup-darwin-arm64': 4.46.2 + '@rollup/rollup-darwin-x64': 4.46.2 + '@rollup/rollup-freebsd-arm64': 4.46.2 + '@rollup/rollup-freebsd-x64': 4.46.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 + '@rollup/rollup-linux-arm-musleabihf': 4.46.2 + '@rollup/rollup-linux-arm64-gnu': 4.46.2 + '@rollup/rollup-linux-arm64-musl': 4.46.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 + '@rollup/rollup-linux-ppc64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-musl': 4.46.2 + '@rollup/rollup-linux-s390x-gnu': 4.46.2 + '@rollup/rollup-linux-x64-gnu': 4.46.2 + '@rollup/rollup-linux-x64-musl': 4.46.2 + '@rollup/rollup-win32-arm64-msvc': 4.46.2 + '@rollup/rollup-win32-ia32-msvc': 4.46.2 + '@rollup/rollup-win32-x64-msvc': 4.46.2 + fsevents: 2.3.3 + route-recognizer@0.3.4: {} router_js@8.0.6(route-recognizer@0.3.4)(rsvp@4.8.5): @@ -22227,7 +22944,7 @@ snapshots: semver-diff@4.0.0: dependencies: - semver: 7.5.4 + semver: 7.7.2 semver@5.7.2: {} @@ -23285,6 +24002,11 @@ snapshots: tslib@2.8.1: {} + tsutils@3.21.0(typescript@4.5.5): + dependencies: + tslib: 1.14.1 + typescript: 4.5.5 + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -23369,6 +24091,8 @@ snapshots: typescript-memoize@1.1.1: {} + typescript@4.5.5: {} + typescript@5.9.2: {} uc.micro@2.1.0: {} @@ -23497,7 +24221,7 @@ snapshots: is-yarn-global: 0.4.1 latest-version: 7.0.0 pupa: 3.1.0 - semver: 7.5.4 + semver: 7.7.2 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -23577,6 +24301,16 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 + vite@5.4.19(@types/node@24.3.0)(terser@5.43.1): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.46.2 + optionalDependencies: + '@types/node': 24.3.0 + fsevents: 2.3.3 + terser: 5.43.1 + vlq@1.0.1: {} vscode-jsonrpc@8.1.0: {} 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..690be5b1a --- /dev/null +++ b/vite.renderer.config.ts @@ -0,0 +1,4 @@ +import { defineConfig } from 'vite'; + +// https://vitejs.dev/config +export default defineConfig({}); From 5cc57a3ca94e0e3bb9bfafa5d606d79694177193 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Fri, 15 Aug 2025 15:36:43 -0400 Subject: [PATCH 02/54] Update configs --- electron-app/forge.config.ts | 37 +++++++++++++++--------------------- electron-app/package.json | 1 - electron-app/tsconfig.json | 15 +++++++++++++++ vite.main.config.ts | 17 ++++++++++++++++- vite.preload.config.ts | 13 ++++++++++++- 5 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 electron-app/tsconfig.json diff --git a/electron-app/forge.config.ts b/electron-app/forge.config.ts index e98c3d0ce..38b8f7578 100644 --- a/electron-app/forge.config.ts +++ b/electron-app/forge.config.ts @@ -1,4 +1,5 @@ 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'; @@ -45,10 +46,8 @@ const config: ForgeConfig = { ], }, makers: [ - { - name: '@electron-forge/maker-deb', - platforms: ['linux'], - config: { + new MakerDeb( + { options: { bin: 'Swach', name: 'swach', @@ -60,18 +59,18 @@ const config: ForgeConfig = { 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'], @@ -107,18 +106,12 @@ const config: ForgeConfig = { // 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({ diff --git a/electron-app/package.json b/electron-app/package.json index 58179443d..2fd20db8a 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -4,7 +4,6 @@ "version": "1.2.15", "description": "A robust color management tool for the modern age.", "main": ".vite/build/main.js", - "type": "module", "scripts": { "start": "electron-forge start", "package": "electron-forge package", diff --git a/electron-app/tsconfig.json b/electron-app/tsconfig.json new file mode 100644 index 000000000..74434b2a5 --- /dev/null +++ b/electron-app/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "commonjs", + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "noImplicitAny": true, + "sourceMap": true, + "baseUrl": ".", + "outDir": "dist", + "moduleResolution": "node", + "resolveJsonModule": true + } +} diff --git a/vite.main.config.ts b/vite.main.config.ts index 690be5b1a..a48c5364c 100644 --- a/vite.main.config.ts +++ b/vite.main.config.ts @@ -1,4 +1,19 @@ import { defineConfig } from 'vite'; // https://vitejs.dev/config -export default defineConfig({}); +export default defineConfig((env) => { + const { + forgeConfigSelf: { entry }, + } = env as unknown as { forgeConfigSelf: { entry: string } }; + + return { + build: { + lib: { + entry, + fileName: () => '[name].js', + formats: ['es'], + }, + sourcemap: true, + }, + }; +}); diff --git a/vite.preload.config.ts b/vite.preload.config.ts index 690be5b1a..8ab30f6df 100644 --- a/vite.preload.config.ts +++ b/vite.preload.config.ts @@ -1,4 +1,15 @@ import { defineConfig } from 'vite'; // https://vitejs.dev/config -export default defineConfig({}); +export default defineConfig({ + build: { + rollupOptions: { + output: { + format: 'esm', + entryFileNames: '[name].mjs', + chunkFileNames: '[name].mjs', + }, + }, + sourcemap: true, + }, +}); From 3bbb6e86f43988aaf53906a3726ad91d463a92f0 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Fri, 15 Aug 2025 22:06:08 -0400 Subject: [PATCH 03/54] Get things booting at least --- .ember-cli | 14 +- .github/workflows/ci.yml | 53 + .gitignore | 9 + .prettierrc.js => .prettierrc.mjs | 37 +- .stylelintrc.js => .stylelintrc.cjs | 0 .template-lintrc.js => .template-lintrc.mjs | 6 +- app/app.ts | 5 +- app/components/alpha-input.gts | 2 +- app/components/color-picker.gts | 10 +- app/components/color-row.gts | 4 +- app/components/colors-list.gts | 4 +- app/components/edit-selected-color.gts | 10 +- app/components/forgot-password.gts | 2 +- app/components/kuler.gts | 10 +- app/components/login.gts | 2 +- app/components/palette-row.gts | 2 +- app/components/palettes-list.gts | 6 +- app/components/settings-data.gts | 6 +- app/components/settings-menu.gts | 4 +- app/config/environment.ts | 17 + app/router.ts | 2 +- app/styles/app.css | 2 +- app/templates/application.gts | 6 +- app/templates/colors.gts | 2 +- app/templates/contrast.gts | 2 +- app/templates/kuler.gts | 2 +- app/templates/palettes.gts | 4 +- app/templates/settings.gts | 2 +- .../settings/cloud/forgot-password.gts | 2 +- app/templates/settings/cloud/login.gts | 2 +- app/templates/settings/cloud/profile.gts | 2 +- .../settings/cloud/register/confirm.gts | 2 +- .../settings/cloud/register/index.gts | 2 +- app/templates/settings/data.gts | 2 +- app/templates/settings/index.gts | 2 +- app/templates/welcome/auto-start.gts | 2 +- app/templates/welcome/dock-icon.gts | 2 +- app/utils/remove-from-to.ts | 2 +- babel.config.cjs | 50 + config/ember-cli-update.json | 8 +- config/targets.js | 2 +- electron-app/forge.config.ts | 4 +- electron-app/package.json | 2 +- electron-app/src/main.ts | 2 +- ember-cli-build.js | 59 +- index.html | 29 + package.json | 57 +- patches/ember-local-storage.patch | 19 + patches/ember-orbit.patch | 29 + patches/object-inspect.patch | 25 + pnpm-lock.yaml | 2244 ++++++++--------- postcss.config.js | 6 + testem.cjs | 26 + testem.js | 23 - tests/index.html | 20 +- tests/test-helper.ts | 17 +- tsconfig.json | 38 +- vite.config.mjs | 15 + vite.renderer.config.ts | 5 +- 59 files changed, 1543 insertions(+), 1382 deletions(-) create mode 100644 .github/workflows/ci.yml rename .prettierrc.js => .prettierrc.mjs (60%) rename .stylelintrc.js => .stylelintrc.cjs (100%) rename .template-lintrc.js => .template-lintrc.mjs (87%) create mode 100644 app/config/environment.ts create mode 100644 babel.config.cjs create mode 100644 index.html create mode 100644 patches/ember-local-storage.patch create mode 100644 patches/ember-orbit.patch create mode 100644 patches/object-inspect.patch create mode 100644 postcss.config.js create mode 100644 testem.cjs delete mode 100644 testem.js create mode 100644 vite.config.mjs 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/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..5494bdcf5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +name: CI + +on: + push: + branches: + - main + - master + pull_request: {} + +concurrency: + group: ci-${{ github.head_ref || github.ref }} + cancel-in-progress: true + +jobs: + lint: + name: "Lint" + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - name: Install Node + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: pnpm + - name: Install Dependencies + run: pnpm install --frozen-lockfile + - name: Lint + run: pnpm lint + + test: + name: "Test" + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - name: Install Node + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: pnpm + - name: Install Dependencies + run: pnpm install --frozen-lockfile + - name: Run Tests + run: pnpm test diff --git a/.gitignore b/.gitignore index e09b5781b..10cd25a62 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,6 +21,13 @@ /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/ 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.js b/.stylelintrc.cjs similarity index 100% rename from .stylelintrc.js rename to .stylelintrc.cjs 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/app/app.ts b/app/app.ts index 30522c199..ef4232ea4 100644 --- a/app/app.ts +++ b/app/app.ts @@ -3,6 +3,7 @@ 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'; if (macroCondition(isDevelopingApp())) { @@ -14,7 +15,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/alpha-input.gts b/app/components/alpha-input.gts index eaf729069..a5b099624 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.gts'; import { rgbaToHex } from 'swach/data-models/color'; interface AlphaInputSignature { diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index 8dfaeec9f..be3a8b307 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -14,15 +14,15 @@ 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 RgbInput from './rgb-input.gts'; import type { PrivateRGBAHex, PublicRGBAHex, SelectedColorModel, -} from './rgb-input.ts'; +} from './rgb-input.gts'; interface ColorPickerSignature { Element: HTMLDivElement; diff --git a/app/components/color-row.gts b/app/components/color-row.gts index 0d36bc1b5..c7c612142 100644 --- a/app/components/color-row.gts +++ b/app/components/color-row.gts @@ -8,8 +8,8 @@ import Component from '@glimmer/component'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import htmlSafe from '../helpers/html-safe.ts'; -import OptionsMenu from './options-menu.ts'; -import type { SelectedColorModel } from './rgb-input.ts'; +import OptionsMenu from './options-menu.gts'; +import type { SelectedColorModel } from './rgb-input.gts'; import type ColorModel from 'swach/data-models/color'; import type PaletteModel from 'swach/data-models/palette'; import type ColorUtils from 'swach/services/color-utils'; diff --git a/app/components/colors-list.gts b/app/components/colors-list.gts index b1fb23f1e..f298c9ab1 100644 --- a/app/components/colors-list.gts +++ b/app/components/colors-list.gts @@ -9,8 +9,8 @@ import move from 'ember-animated/motions/move'; import { fadeOut } from 'ember-animated/motions/opacity'; import type { Store } from 'ember-orbit'; import type { RecordOperationTerm } from '@orbit/records'; -import ColorRow from './color-row.ts'; -import type { SelectedColorModel } from './rgb-input.ts'; +import ColorRow from './color-row.gts'; +import type { SelectedColorModel } from './rgb-input.gts'; import type ColorModel from 'swach/data-models/color'; import type PaletteModel from 'swach/data-models/palette'; import type UndoManager from 'swach/services/undo-manager'; diff --git a/app/components/edit-selected-color.gts b/app/components/edit-selected-color.gts index 25b1905e0..0a0656530 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'; @@ -154,7 +154,7 @@ export default class EditSelectedColorComponent extends Component c.hex), - this.args.palette.selectedColorIndex, + this.args.palette.selectedColorIndex ); } diff --git a/app/components/forgot-password.gts b/app/components/forgot-password.gts index 0522ed3f7..33e646f25 100644 --- a/app/components/forgot-password.gts +++ b/app/components/forgot-password.gts @@ -6,7 +6,7 @@ import { service } from '@ember/service'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import type CognitoService from 'ember-cognito/services/cognito'; -import LoadingButton from './loading-button.ts'; +import LoadingButton from './loading-button.gts'; import type Session from 'swach/services/session'; export default class ForgotPasswordComponent extends Component { diff --git a/app/components/kuler.gts b/app/components/kuler.gts index 0ce3b0f6d..d01890d5a 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -15,8 +15,8 @@ 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'; @@ -198,14 +198,14 @@ export default class KulerComponent extends Component { this.selectedPalette = this.palettes[ selectedPaletteTypeIndex - ] as PaletteModel; + ]; } @action setColorAsBase(): Promise { this.baseColor = this.selectedPalette.colors[ this.selectedPalette.selectedColorIndex - ] as ColorModel; + ]; return this.baseColorChanged( this.palettes.indexOf(this.selectedPalette), @@ -264,7 +264,7 @@ export default class KulerComponent extends Component { if (selectedColorIndex === 0) { this.baseColor = this.selectedPalette.colors[ this.selectedPalette.selectedColorIndex - ] as ColorModel; + ]; await this.setColorAsBase(); } diff --git a/app/components/login.gts b/app/components/login.gts index d748d0ca2..02abd317f 100644 --- a/app/components/login.gts +++ b/app/components/login.gts @@ -6,7 +6,7 @@ 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'; diff --git a/app/components/palette-row.gts b/app/components/palette-row.gts index 4cb97dd70..84c3b7db0 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -19,7 +19,7 @@ import not from 'ember-truth-helpers/helpers/not'; import type { RecordSchema } from '@orbit/records'; import type { IpcRenderer } from 'electron'; import htmlSafe from '../helpers/html-safe.ts'; -import OptionsMenu from './options-menu.ts'; +import OptionsMenu from './options-menu.gts'; import type ColorModel from 'swach/data-models/color'; import type PaletteModel from 'swach/data-models/palette'; import type ColorUtils from 'swach/services/color-utils'; diff --git a/app/components/palettes-list.gts b/app/components/palettes-list.gts index 35ff56361..918c26a7d 100644 --- a/app/components/palettes-list.gts +++ b/app/components/palettes-list.gts @@ -4,8 +4,8 @@ import Component from '@glimmer/component'; import type { LiveQuery, Store } from 'ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import type { RecordOperationTerm } from '@orbit/records'; -import AnimatedDragSortList from './animated-drag-sort-list.ts'; -import PaletteRow from './palette-row.ts'; +import AnimatedDragSortList from './animated-drag-sort-list.gts'; +import PaletteRow from './palette-row.gts'; import type ColorModel from 'swach/data-models/color'; import type PaletteModel from 'swach/data-models/palette'; import type UndoManager from 'swach/services/undo-manager'; @@ -103,7 +103,7 @@ export default class PalettesListComponent extends Component { if (sourceList === targetList && sourceIndex === targetIndex) return; - const movedItem = sourceList[sourceIndex] as PaletteModel; + const movedItem = sourceList[sourceIndex]; sourceList.splice(sourceIndex, 1); targetList.splice(targetIndex, 0, movedItem); diff --git a/app/components/settings-data.gts b/app/components/settings-data.gts index d918e959d..886a313e2 100644 --- a/app/components/settings-data.gts +++ b/app/components/settings-data.gts @@ -13,8 +13,8 @@ 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'; @@ -153,7 +153,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) { idbDatabase.close(); diff --git a/app/components/settings-menu.gts b/app/components/settings-menu.gts index a91e1cf91..c2bdbe439 100644 --- a/app/components/settings-menu.gts +++ b/app/components/settings-menu.gts @@ -10,8 +10,8 @@ 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 { diff --git a/app/config/environment.ts b/app/config/environment.ts new file mode 100644 index 000000000..1e13df3b8 --- /dev/null +++ b/app/config/environment.ts @@ -0,0 +1,17 @@ +import loadConfigFromMeta from '@embroider/config-meta-loader'; +import { assert } from '@ember/debug'; + +const config = loadConfigFromMeta('swach') as unknown; + +assert("config is not an object", typeof config === "object" && config !== null); +assert("modulePrefix was not detected on your config", "modulePrefix" in config && typeof config.modulePrefix === 'string') +assert("locationType was not detected on your config", "locationType" in config && typeof config.locationType === 'string') +assert("rootURL was not detected on your config", "rootURL" in config && typeof config.rootURL === 'string') +assert("APP was not detected on your config", "APP" in config && typeof config.APP === 'object') + +export default config as { + modulePrefix: string, + locationType: string, + rootURL: string, + APP: Record +} & Record; diff --git a/app/router.ts b/app/router.ts index 62056fb12..5ea06cafc 100644 --- a/app/router.ts +++ b/app/router.ts @@ -1,4 +1,4 @@ -import EmberRouter from '@ember/routing/router'; +import EmberRouter from '@embroider/router'; import config from 'swach/config/environment'; export default class Router extends EmberRouter { diff --git a/app/styles/app.css b/app/styles/app.css index ab05328e1..063b775d8 100644 --- a/app/styles/app.css +++ b/app/styles/app.css @@ -5,4 +5,4 @@ @import "color-squares"; @import "icons"; @import "drag-sort"; -@import "three-dots/three-dots"; +/* @import "three-dots/three-dots"; */ diff --git a/app/templates/application.gts b/app/templates/application.gts index c5a50ed0f..a4aeeb754 100644 --- a/app/templates/application.gts +++ b/app/templates/application.gts @@ -9,8 +9,8 @@ import setBodyClass from 'ember-set-body-class/helpers/set-body-class'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import and from 'ember-truth-helpers/helpers/and'; import not from 'ember-truth-helpers/helpers/not'; -import ColorPicker from '../components/color-picker.ts'; -import OptionsMenu from '../components/options-menu.ts'; +import ColorPicker from '../components/color-picker.gts'; +import OptionsMenu from '../components/options-menu.gts'; import type ApplicationController from 'swach/controllers/application'; export default RouteTemplate<{ @@ -145,5 +145,5 @@ export default RouteTemplate<{ - , + ); diff --git a/app/templates/colors.gts b/app/templates/colors.gts index 237f3bbbb..08556a7cd 100644 --- a/app/templates/colors.gts +++ b/app/templates/colors.gts @@ -1,7 +1,7 @@ import { LinkTo } from '@ember/routing'; import RouteTemplate from 'ember-route-template'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; -import ColorsList from '../components/colors-list.ts'; +import ColorsList from '../components/colors-list.gts'; import type ColorsController from 'swach/controllers/colors'; import type PaletteModel from 'swach/data-models/palette'; diff --git a/app/templates/contrast.gts b/app/templates/contrast.gts index 73500519f..1b6578c04 100644 --- a/app/templates/contrast.gts +++ b/app/templates/contrast.gts @@ -1,7 +1,7 @@ import { on } from '@ember/modifier'; import RouteTemplate from 'ember-route-template'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; -import ContrastChecker from '../components/contrast-checker.ts'; +import ContrastChecker from '../components/contrast-checker.gts'; import type ContrastController from 'swach/controllers/contrast'; export default RouteTemplate<{ diff --git a/app/templates/kuler.gts b/app/templates/kuler.gts index f75e5d481..58a323c9d 100644 --- a/app/templates/kuler.gts +++ b/app/templates/kuler.gts @@ -1,7 +1,7 @@ import { on } from '@ember/modifier'; import RouteTemplate from 'ember-route-template'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; -import Kuler from '../components/kuler.ts'; +import Kuler from '../components/kuler.gts'; import type KulerController from 'swach/controllers/kuler'; export default RouteTemplate<{ diff --git a/app/templates/palettes.gts b/app/templates/palettes.gts index 46f1c4ae9..41c2705b4 100644 --- a/app/templates/palettes.gts +++ b/app/templates/palettes.gts @@ -7,8 +7,8 @@ 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 OptionsMenu from '../components/options-menu.ts'; -import PalettesList from '../components/palettes-list.ts'; +import OptionsMenu from '../components/options-menu.gts'; +import PalettesList from '../components/palettes-list.gts'; import htmlSafe from '../helpers/html-safe.ts'; import type PalettesController from 'swach/controllers/palettes'; diff --git a/app/templates/settings.gts b/app/templates/settings.gts index f1fcbaf46..aeb6d76e4 100644 --- a/app/templates/settings.gts +++ b/app/templates/settings.gts @@ -1,7 +1,7 @@ import { on } from '@ember/modifier'; import RouteTemplate from 'ember-route-template'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; -import SettingsNav from '../components/settings-nav.ts'; +import SettingsNav from '../components/settings-nav.gts'; import type SettingsController from 'swach/controllers/settings'; export default RouteTemplate<{ diff --git a/app/templates/settings/cloud/forgot-password.gts b/app/templates/settings/cloud/forgot-password.gts index 33252af29..619e345f6 100644 --- a/app/templates/settings/cloud/forgot-password.gts +++ b/app/templates/settings/cloud/forgot-password.gts @@ -1,5 +1,5 @@ import RouteTemplate from 'ember-route-template'; -import ForgotPassword from '../../../components/forgot-password.ts'; +import ForgotPassword from '../../../components/forgot-password.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( , diff --git a/app/templates/settings/cloud/login.gts b/app/templates/settings/cloud/login.gts index 1c4d80292..8fbb1c0ba 100644 --- a/app/templates/settings/cloud/login.gts +++ b/app/templates/settings/cloud/login.gts @@ -1,5 +1,5 @@ import RouteTemplate from 'ember-route-template'; -import Login from '../../../components/login.ts'; +import Login from '../../../components/login.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( , diff --git a/app/templates/settings/cloud/profile.gts b/app/templates/settings/cloud/profile.gts index 1131390c0..5d5e3c635 100644 --- a/app/templates/settings/cloud/profile.gts +++ b/app/templates/settings/cloud/profile.gts @@ -1,5 +1,5 @@ import RouteTemplate from 'ember-route-template'; -import LoadingButton from '../../../components/loading-button.ts'; +import LoadingButton from '../../../components/loading-button.gts'; import type SettingsCloudProfileController from 'swach/controllers/settings/cloud/profile'; export default RouteTemplate<{ diff --git a/app/templates/settings/cloud/register/confirm.gts b/app/templates/settings/cloud/register/confirm.gts index fcabe844e..370d82cae 100644 --- a/app/templates/settings/cloud/register/confirm.gts +++ b/app/templates/settings/cloud/register/confirm.gts @@ -1,5 +1,5 @@ import RouteTemplate from 'ember-route-template'; -import RegisterConfirm from '../../../../components/register-confirm.ts'; +import RegisterConfirm from '../../../../components/register-confirm.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( , diff --git a/app/templates/settings/cloud/register/index.gts b/app/templates/settings/cloud/register/index.gts index 61ce9c3ae..919376fc1 100644 --- a/app/templates/settings/cloud/register/index.gts +++ b/app/templates/settings/cloud/register/index.gts @@ -1,5 +1,5 @@ import RouteTemplate from 'ember-route-template'; -import Register from '../../../../components/register.ts'; +import Register from '../../../../components/register.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( , diff --git a/app/templates/settings/data.gts b/app/templates/settings/data.gts index 5ff550989..8653ac384 100644 --- a/app/templates/settings/data.gts +++ b/app/templates/settings/data.gts @@ -1,5 +1,5 @@ import RouteTemplate from 'ember-route-template'; -import SettingsData from '../../components/settings-data.ts'; +import SettingsData from '../../components/settings-data.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( , diff --git a/app/templates/settings/index.gts b/app/templates/settings/index.gts index 38e970f76..dd2884fc8 100644 --- a/app/templates/settings/index.gts +++ b/app/templates/settings/index.gts @@ -1,5 +1,5 @@ import RouteTemplate from 'ember-route-template'; -import SettingsMenu from '../../components/settings-menu.ts'; +import SettingsMenu from '../../components/settings-menu.gts'; import type SettingsIndexController from 'swach/controllers/settings/index'; export default RouteTemplate<{ diff --git a/app/templates/welcome/auto-start.gts b/app/templates/welcome/auto-start.gts index 07819a672..7eed4bf2a 100644 --- a/app/templates/welcome/auto-start.gts +++ b/app/templates/welcome/auto-start.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 WelcomeAutoStartController from 'swach/controllers/welcome/auto-start'; export default RouteTemplate<{ diff --git a/app/templates/welcome/dock-icon.gts b/app/templates/welcome/dock-icon.gts index 9aea1c6e4..5ea4bee4f 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<{ diff --git a/app/utils/remove-from-to.ts b/app/utils/remove-from-to.ts index b65c8a21b..3fa66cfc9 100644 --- a/app/utils/remove-from-to.ts +++ b/app/utils/remove-from-to.ts @@ -5,7 +5,7 @@ export default function removeFromTo( ): number { array.splice( from, - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + !to || // @ts-expect-error: We need to refactor this function 1 + 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..7bc61d408 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": "0.8.1", "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..0f7f9a4ac 100644 --- a/config/targets.js +++ b/config/targets.js @@ -1,5 +1,5 @@ 'use strict'; module.exports = { - browsers: ['electron >= 27.0.0'], + browsers: ['electron >= 33.0.0'], }; diff --git a/electron-app/forge.config.ts b/electron-app/forge.config.ts index 38b8f7578..8f84c4139 100644 --- a/electron-app/forge.config.ts +++ b/electron-app/forge.config.ts @@ -33,8 +33,8 @@ const config: ForgeConfig = { }, osxNotarize: { tool: 'notarytool', - appleId: process.env['APPLE_ID'] as string, - appleIdPassword: process.env['APPLE_ID_PASSWORD'] as string, + appleId: process.env['APPLE_ID'], + appleIdPassword: process.env['APPLE_ID_PASSWORD'], teamId: '779MXKT6B5', }, protocols: [ diff --git a/electron-app/package.json b/electron-app/package.json index 2fd20db8a..ffeb1cce6 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,5 +1,5 @@ { - "name": "swach", + "name": "swach-electron", "productName": "swach", "version": "1.2.15", "description": "A robust color management tool for the modern age.", diff --git a/electron-app/src/main.ts b/electron-app/src/main.ts index fae844a77..b0a262f0a 100644 --- a/electron-app/src/main.ts +++ b/electron-app/src/main.ts @@ -4,7 +4,7 @@ import { init } from '@sentry/electron'; import { ipcMain, nativeTheme } from 'electron'; import isDev from 'electron-is-dev'; import Store from 'electron-store'; -// eslint-disable-next-line no-redeclare + import { menubar } from 'menubar'; import pkg from '../package.json' with { type: 'json' }; import { setupUpdateServer } from './auto-update.js'; 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/index.html b/index.html new file mode 100644 index 000000000..2eeb42d30 --- /dev/null +++ b/index.html @@ -0,0 +1,29 @@ + + + + + Swach + + + + {{content-for "head"}} + + + + + {{content-for "head-footer"}} + + + {{content-for "body"}} + + + + + {{content-for "body-footer"}} + + diff --git a/package.json b/package.json index b2eb0a350..f7ce51458 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "test": "tests" }, "scripts": { - "build": "ember build --environment=production", + "build": "vite build", "format": "prettier . --cache --write", "lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto", "lint:css": "stylelint \"**/*.css\"", @@ -28,27 +28,35 @@ "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" + "start": "vite", + "start:electron": "pnpm -F swach-electron start", + "test": "vite build --mode development && testem ci" + }, + "exports": { + "./tests/*": "./tests/*", + "./*": "./app/*" }, "devDependencies": { "@babel/core": "^7.28.3", "@babel/eslint-parser": "^7.28.0", "@babel/plugin-proposal-decorators": "^7.28.0", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-transform-runtime": "^7.27.1", "@babel/plugin-transform-typescript": "^7.28.0", "@babel/preset-env": "^7.28.3", + "@babel/runtime": "^7.27.1", "@ctrl/tinycolor": "^4.1.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/string": "^4.0.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", + "@embroider/compat": "^4.1.0", + "@embroider/config-meta-loader": "^1.0.0", + "@embroider/core": "^4.1.0", + "@embroider/macros": "^1.18.0", + "@embroider/router": "^3.0.1", + "@embroider/vite": "^1.1.5", "@eslint/js": "^9.33.0", "@glimmer/component": "^2.0.0", "@glimmer/tracking": "^1.1.2", @@ -69,6 +77,7 @@ "@orbit/utils": "^0.17.0", "@release-it-plugins/lerna-changelog": "^6.1.0", "@release-it-plugins/workspaces": "^4.2.1", + "@rollup/plugin-babel": "^6.0.4", "@sentry/ember": "^7.120.4", "@tailwindcss/forms": "^0.5.10", "@tsconfig/ember": "^3.0.11", @@ -77,16 +86,18 @@ "@types/node": "^22.17.2", "@types/qunit": "^2.19.13", "@types/sinon": "^17.0.4", + "autoprefixer": "^10.4.21", "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", + "decorator-transforms": "^2.3.0", "ember-animated": "^2.2.0", "ember-animated-tools": "^2.0.0", "ember-auto-import": "^2.10.0", - "ember-cli": "~6.4.0", + "ember-cli": "~6.5.0-beta.0", "ember-cli-app-version": "^7.0.0", "ember-cli-babel": "^8.2.0", "ember-cli-clean-css": "^3.0.0", @@ -96,7 +107,6 @@ "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", @@ -107,8 +117,7 @@ "ember-electron": "^7.0.0", "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", @@ -133,7 +142,7 @@ "eslint-plugin-ember": "^12.7.0", "eslint-plugin-n": "^17.21.3", "eslint-plugin-qunit": "^8.2.5", - "globals": "^15.15.0", + "globals": "^16.1.0", "indexeddb-export-import": "^2.1.5", "loader.js": "^4.7.0", "nearest-color": "^0.4.4", @@ -145,7 +154,6 @@ "qunit-dom": "^3.4.0", "release-it": "^16.3.0", "sinon": "^17.0.1", - "stream-browserify": "^3.0.0", "stylelint": "^16.23.1", "stylelint-config-standard": "^38.0.0", "tailwindcss": "^3.4.17", @@ -153,8 +161,19 @@ "tracked-built-ins": "^3.4.0", "typescript": "^5.9.2", "typescript-eslint": "^8.39.1", - "wcag-contrast": "^3.0.0", - "webpack": "^5.101.2" + "vite": "^6.3.5", + "wcag-contrast": "^3.0.0" + }, + "pnpm": { + "overrides": { + "@ember/string": "^4.0.1" + }, + "patchedDependencies": { + "ember-local-storage": "patches/ember-local-storage.patch", + "ember-orbit": "patches/ember-orbit.patch", + "menubar": "patches/menubar.patch", + "object-inspect": "patches/object-inspect.patch" + } }, "packageManager": "pnpm@10.11.0", "engines": { 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/ember-orbit.patch b/patches/ember-orbit.patch new file mode 100644 index 000000000..91c124892 --- /dev/null +++ b/patches/ember-orbit.patch @@ -0,0 +1,29 @@ +diff --git a/addon/index.ts b/addon/index.ts +index 62e82b640e89e6f7e567e8369ad85cbc4ee09dae..dfe3f6a154dd36739e931f72ed0eaeca202bacb8 100644 +--- a/addon/index.ts ++++ b/addon/index.ts +@@ -9,8 +9,8 @@ export { default as hasOne } from './-private/fields/has-one'; + export { default as key } from './-private/fields/key'; + export { applyStandardSourceInjections } from './-private/utils/standard-injections'; + export { default as Cache } from './-private/cache'; +-export { default as Model, ModelSettings } from './-private/model'; +-export { default as Store, StoreSettings } from './-private/store'; ++export { default as Model, type ModelSettings } from './-private/model'; ++export { default as Store, type StoreSettings } from './-private/store'; + export { default as LiveQuery } from './-private/live-query'; + // Provide `belongsTo` as an alias to `hasOne` + export { default as belongsTo } from './-private/fields/has-one'; +diff --git a/index.d.ts b/index.d.ts +index 32b7341b0acd77369f902113c2e87a89a5e778a6..35fd8ff621688b1706cb57aa11a3bf30aaaae1a1 100644 +--- a/index.d.ts ++++ b/index.d.ts +@@ -9,7 +9,7 @@ export { default as hasOne } from './-private/fields/has-one'; + export { default as key } from './-private/fields/key'; + export { applyStandardSourceInjections } from './-private/utils/standard-injections'; + export { default as Cache } from './-private/cache'; +-export { default as Model, ModelSettings } from './-private/model'; +-export { default as Store, StoreSettings } from './-private/store'; ++export { default as Model, type ModelSettings } from './-private/model'; ++export { default as Store, type StoreSettings } from './-private/store'; + export { default as LiveQuery } from './-private/live-query'; + export { default as belongsTo } from './-private/fields/has-one'; diff --git a/patches/object-inspect.patch b/patches/object-inspect.patch new file mode 100644 index 000000000..6412aa639 --- /dev/null +++ b/patches/object-inspect.patch @@ -0,0 +1,25 @@ +diff --git a/index.js b/index.js +index a4b2d4cd850adb5cda64eb9e5692457a73c0947e..66440138e369d878149c1f7dada8deb9e14c27c6 100644 +--- a/index.js ++++ b/index.js +@@ -65,7 +65,7 @@ function addNumericSeparator(num, str) { + return $replace.call(str, sepRegex, '$&_'); + } + +-var utilInspect = require('./util.inspect'); ++var utilInspect = require('./util.inspect.js'); + var inspectCustom = utilInspect.custom; + var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; + +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 4e86f99af..48f916b10 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,10 +4,22 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@ember/string': ^4.0.1 + patchedDependencies: + ember-local-storage: + hash: 7a283711fa827de035fc3cc2ebe13c451ddf557492e8b185e99f915713c95f06 + path: patches/ember-local-storage.patch + ember-orbit: + hash: 8ea795d73cd98a33ebeb535bc36eeedab1e654a9638682a95676812978025538 + path: patches/ember-orbit.patch menubar: hash: 36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d path: patches/menubar.patch + object-inspect: + hash: 77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1 + path: patches/object-inspect.patch importers: @@ -15,7 +27,7 @@ importers: devDependencies: '@babel/core': specifier: ^7.28.3 - version: 7.28.3(supports-color@8.1.1) + version: 7.28.3 '@babel/eslint-parser': specifier: ^7.28.0 version: 7.28.0(@babel/core@7.28.3)(eslint@9.33.0(jiti@2.5.1)) @@ -25,15 +37,24 @@ importers: '@babel/plugin-proposal-object-rest-spread': specifier: ^7.20.7 version: 7.20.7(@babel/core@7.28.3) + '@babel/plugin-transform-runtime': + specifier: ^7.27.1 + version: 7.28.3(@babel/core@7.28.3) '@babel/plugin-transform-typescript': specifier: ^7.28.0 version: 7.28.0(@babel/core@7.28.3) '@babel/preset-env': specifier: ^7.28.3 version: 7.28.3(@babel/core@7.28.3) + '@babel/runtime': + specifier: ^7.27.1 + version: 7.28.3 '@ctrl/tinycolor': specifier: ^4.1.0 version: 4.1.0 + '@ember/app-tsconfig': + specifier: ^1.0.3 + version: 1.0.3 '@ember/optional-features': specifier: ^2.2.0 version: 2.2.0 @@ -41,23 +62,29 @@ importers: 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)) '@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) '@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.0 + version: 4.1.2(@embroider/core@4.1.3(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.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.1.0 + version: 4.1.3(@glint/template@1.5.2) '@embroider/macros': - specifier: ^1.18.1 + specifier: ^1.18.0 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) + '@embroider/router': + specifier: ^3.0.1 + version: 3.0.2(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2) + '@embroider/vite': + specifier: ^1.1.5 + version: 1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.46.2)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1)) '@eslint/js': specifier: ^9.33.0 version: 9.33.0 @@ -118,6 +145,9 @@ importers: '@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)) + '@rollup/plugin-babel': + specifier: ^6.0.4 + version: 6.0.4(@babel/core@7.28.3)(@types/babel__core@7.20.5)(rollup@4.46.2) '@sentry/ember': specifier: ^7.120.4 version: 7.120.4(@glint/template@1.5.2)(webpack@5.101.2) @@ -142,12 +172,18 @@ importers: '@types/sinon': specifier: ^17.0.4 version: 17.0.4 + autoprefixer: + specifier: ^10.4.21 + version: 10.4.21(postcss@8.5.6) 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 @@ -157,9 +193,9 @@ importers: concurrently: specifier: ^9.2.0 version: 9.2.0 - crypto-browserify: - specifier: ^3.12.1 - version: 3.12.1 + decorator-transforms: + specifier: ^2.3.0 + version: 2.3.0(@babel/core@7.28.3) 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) @@ -170,8 +206,8 @@ importers: specifier: ^2.10.0 version: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) 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.5.0-beta.0 + version: 6.5.0(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)) @@ -186,22 +222,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.5.0(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)) 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.18.1(@glint/template@1.5.2))(ember-modifier@4.2.2(@babel/core@7.28.3)) 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 @@ -225,19 +258,16 @@ importers: 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) + version: 7.0.0(ember-cli-dependency-checker@3.3.3(ember-cli@6.5.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)))(ember-cli@6.5.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) 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.3) 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) @@ -246,7 +276,7 @@ importers: 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)) 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)) @@ -255,7 +285,7 @@ importers: version: 4.2.2(@babel/core@7.28.3) 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) + version: 0.17.3(patch_hash=8ea795d73cd98a33ebeb535bc36eeedab1e654a9638682a95676812978025538)(@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-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) @@ -311,8 +341,8 @@ importers: specifier: ^8.2.5 version: 8.2.5(eslint@9.33.0(jiti@2.5.1)) globals: - specifier: ^15.15.0 - version: 15.15.0 + specifier: ^16.1.0 + version: 16.3.0 indexeddb-export-import: specifier: ^2.1.5 version: 2.1.5 @@ -346,9 +376,6 @@ importers: 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) @@ -370,12 +397,12 @@ importers: typescript-eslint: specifier: ^8.39.1 version: 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + vite: + specifier: ^6.3.5 + version: 6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(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: @@ -1556,6 +1583,9 @@ packages: resolution: {integrity: sha512-0KqnoeoLKb6AyoSU65TRF5T85wmS4uDn06oARddwNPxxf/lt5jQlh41uX3W7V/fWL9tPu8x1L1Vvpc80MN1+YA==} engines: {node: '>= 8.*'} + '@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==} @@ -1573,9 +1603,8 @@ 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==} @@ -1587,38 +1616,19 @@ 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==} - engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - '@embroider/core': ^3.4.0 - - '@embroider/compat@3.9.1': - resolution: {integrity: sha512-bFG1XZWC388OV0/tlCmzwEYX7i+G4sQCyTGFIz657r1ouQiCaCu6vFDNsumfwYZw/ixqJSUowbbvSucPwWHi4g==} + '@embroider/compat@4.1.2': + resolution: {integrity: sha512-Y7/SXd/+eHwX/dAKiegJK14sOS2mIejlaobxC6LMWtvoglLLtas7n3lanf0ssZhOV+MUWl0NqnkPTzDPLntc2Q==} 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==} - engines: {node: 12.* || 14.* || >= 16} + '@embroider/core': ^4.1.3 - '@embroider/hbs-loader@3.0.3': - resolution: {integrity: sha512-sI2K3/III1WGGxS+aIf8uW5tgcNiE7APNhThn2ZTwqU47fK20Uz8TJZhst0GfNZFsCsmuQMRUikRJvQU8naSWA==} + '@embroider/config-meta-loader@1.0.0': + resolution: {integrity: sha512-qznkdjgEGPe6NM94hZNXvOm/WhrJwBh8FtSQZ+nGjh9TOjY42tOiTEevFuM0onNXUn6bpdGzmjwKo2xY2jxQxQ==} engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - '@embroider/core': ^3.4.0 - webpack: ^5 - '@embroider/macros@1.16.13': - resolution: {integrity: sha512-2oGZh0m1byBYQFWEa8b2cvHJB2LzaF3DdMCLCqcRAccABMROt1G3sultnNCT30NhfdGWMEsJOT3Jm4nFxXmTRw==} + '@embroider/core@4.1.3': + resolution: {integrity: sha512-8gdwI71EUOg6CzbUFI/Q6VOWBqyo5Qv1kDz/0Nj9C7JOjgfLYc7NCZwZNKG93yc0qwUGEBxf4TJ3WZDnJD/4Sw==} engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - '@glint/template': ^1.0.0 - peerDependenciesMeta: - '@glint/template': - optional: true '@embroider/macros@1.18.1': resolution: {integrity: sha512-hOQyzFBT1Rd6RdY4AbRSSGSeXyUzUrU9o6GWGD/kxg7cggKQax4R486KE10ZVSPRNqhRiNUcqe2VWc/+e8Z0MQ==} @@ -1629,13 +1639,16 @@ packages: '@glint/template': optional: true - '@embroider/shared-internals@2.6.0': - resolution: {integrity: sha512-A2BYQkhotdKOXuTaxvo9dqOIMbk+2LqFyqvfaaePkZcFJvtCkvTaD31/sSzqvRF6rdeBHjdMwU9Z2baPZ55fEQ==} - engines: {node: 12.* || 14.* || >= 16} + '@embroider/reverse-exports@0.1.2': + resolution: {integrity: sha512-TgjQalfB42RnwdRVApjcvHSVjBe+7MJfCZV0Cs1jv2QgnFGr/6f5X19PKvmF4FU4xbBf7yOsIWrVvYvidWnXlw==} - '@embroider/shared-internals@2.9.0': - resolution: {integrity: sha512-8untWEvGy6av/oYibqZWMz/yB+LHsKxEOoUZiLvcpFwWj2Sipc0DcXeTJQZQZ++otNkLCWyDrDhOLrOkgjOPSg==} - engines: {node: 12.* || 14.* || >= 16} + '@embroider/router@3.0.2': + resolution: {integrity: sha512-zNGJ61mCwab+rCQh2YBcuGeZwebf+OHiKpJVNCqX5ZOm0RK9nL3S7aXTf22GtvP+SBtRNCQhRKrJE5a7lvNiRQ==} + peerDependencies: + '@embroider/core': ^2.0.0||^3.0.0||^4.0.0-alpha.0 + peerDependenciesMeta: + '@embroider/core': + optional: true '@embroider/shared-internals@2.9.1': resolution: {integrity: sha512-8PJBsa37GD++SAfHf8rcJzlwDwuAQCBo0fr+eGxg9l8XhBXsTnE/7706dM4OqWew9XNqRXn39wfIGHZoBpjNMw==} @@ -1645,12 +1658,11 @@ packages: resolution: {integrity: sha512-5J5ipUMCAinQS38WW7wedruq5Z4VnHvNo+ZgOduw0PtI9w0CQWx7/HE+98PBDW8jclikeF+aHwF317vc1hwuzg==} engines: {node: 12.* || 14.* || >= 16} - '@embroider/webpack@3.2.3': - resolution: {integrity: sha512-WXV5nLH4qzykla9ADxqAyP28dJoBihnbByJRN/QRgj0kmNvU2CPqNVhpsVJpgOjSf8bFBVyQwq5bUjj/Kswwew==} - engines: {node: 12.* || 14.* || >= 16} + '@embroider/vite@1.1.6': + resolution: {integrity: sha512-yq5ZLO82FT2ruhsFWDTxZTVoEQfY8qh6II/Mj9phArHLD5xTitIB5vRXL8MpzstJxeBtSB1ebDifnD/rJ74p5w==} peerDependencies: - '@embroider/core': ^3.4.7 - webpack: ^5.0.0 + '@embroider/core': ^4.1.2 + vite: '>= 5.2.0' '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} @@ -1658,138 +1670,294 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2346,6 +2514,28 @@ packages: peerDependencies: release-it: ^14.0.0 || ^15.2.0 || ^16.0.0 || ^17.0.0 + '@rollup/plugin-babel@6.0.4': + resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} + 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.2.0': + resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} + 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.46.2': resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} cpu: [arm] @@ -2643,9 +2833,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==} @@ -2824,9 +3011,6 @@ packages: '@types/node@24.3.0': resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} - '@types/node@9.6.61': - resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==} - '@types/q@1.5.8': resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} @@ -2866,9 +3050,6 @@ 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==} @@ -3056,10 +3237,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==} @@ -3067,20 +3244,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'} @@ -3092,20 +3259,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'} @@ -3392,6 +3545,13 @@ packages: resolution: {integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==} engines: {node: '>=0.8'} + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -3471,13 +3631,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==} @@ -3496,6 +3649,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.*} @@ -3504,14 +3663,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.0: + resolution: {integrity: sha512-tIZh1sgvswtJqtjiAQLZEtfje37HvsFsivV3jOrkruq0K1JzewP5VUJxx72qK3vwqFOG6XtiVXYBNyEJFmdXgQ==} + engines: {node: '>= 18.*'} + babel-plugin-htmlbars-inline-precompile@5.3.1: resolution: {integrity: sha512-QWjjFgSKtSRIcsBhJmEwS2laIdrA6na8HAlc/pEAhjHgQsah/gMiBFRZvbQTy//hWxR4BMwV7/Mya7q5H8uHeA==} engines: {node: 10.* || >= 12.*} @@ -3907,18 +4066,6 @@ 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-slow-trees@3.1.0: resolution: {integrity: sha512-FRI7mRTk2wjIDrdNJd6znS7Kmmne4VkAkl8Ix1R/VoePFMD0g0tEl671xswzFqaRjpT9Qu+CC4hdXDLDJBuzMw==} @@ -3944,10 +4091,6 @@ packages: 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} @@ -3959,9 +4102,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==} @@ -3979,6 +4119,13 @@ packages: resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} engines: {node: '>= 0.12'} + 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 @@ -4103,9 +4250,6 @@ 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==} @@ -4347,9 +4491,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'} @@ -4732,10 +4873,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} @@ -4757,20 +4894,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'} @@ -4790,10 +4913,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'} @@ -4810,10 +4929,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'} @@ -5025,11 +5140,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'} @@ -5202,7 +5312,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' @@ -5230,10 +5340,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} @@ -5280,8 +5386,8 @@ 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==} + ember-cli@6.5.0: + resolution: {integrity: sha512-2qNqaD3iIFeFcYiKsgrsP0qdEilvT820+vX2Fz1x32XIgcsmy79ufc0rHrsHmEiazSQLC9XKUskwEzFBWjy54g==} engines: {node: '>= 18'} hasBin: true @@ -5345,21 +5451,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==} @@ -5445,6 +5544,12 @@ packages: peerDependencies: '@glimmer/component': ^1.1.2 + ember-source@6.1.0-beta.1: + resolution: {integrity: sha512-ErAYSpftkTnxr6rS6eaCkW/p5Cn8keXW/92P3MfkZNXTD3iAwARS2k7E6lYrnmCONPlae1yaSmkGbKf+fkV0rw==} + engines: {node: '>= 18.*'} + peerDependencies: + '@glimmer/component': '>= 1.1.2' + ember-svg-jar@2.6.3: resolution: {integrity: sha512-+hgqDIVmtyHcBWOKfRlvxWvTWGJ8Ly4t9NjGsRGSu8qfP/w/TP6IgYJNUgN9MU9ZkU24Sg02RzIkfuXvIhoYJg==} engines: {node: 12.* || 14.* || >= 16} @@ -5595,6 +5700,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -5743,8 +5853,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==} @@ -5970,10 +6080,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==} @@ -5993,10 +6099,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==} @@ -6074,10 +6176,6 @@ packages: 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'} @@ -6090,6 +6188,9 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} @@ -6329,6 +6430,10 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} + globals@16.3.0: + resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} + engines: {node: '>=18'} + globals@9.18.0: resolution: {integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==} engines: {node: '>=0.10.0'} @@ -6524,10 +6629,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'} @@ -6657,6 +6758,9 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + imul@1.0.1: resolution: {integrity: sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==} engines: {node: '>=0.10.0'} @@ -6665,9 +6769,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'} @@ -6957,9 +7058,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'} @@ -7179,15 +7277,6 @@ 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'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - jsdom@25.0.1: resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} @@ -7382,9 +7471,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'} @@ -7401,10 +7487,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==} @@ -7457,9 +7539,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==} @@ -7542,9 +7621,6 @@ 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==} @@ -7617,9 +7693,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==} @@ -7641,6 +7714,10 @@ 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==} @@ -7669,9 +7746,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'} @@ -8080,9 +8154,6 @@ 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==} @@ -8113,7 +8184,11 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-url@6.1.0: + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} @@ -8331,10 +8406,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'} @@ -8351,10 +8422,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'} @@ -8413,10 +8480,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'} @@ -8464,10 +8527,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'} @@ -8553,10 +8612,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==} @@ -8704,10 +8759,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'} @@ -8832,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==} @@ -9057,9 +9105,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'} @@ -9194,13 +9239,6 @@ packages: 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==} - hasBin: true - rollup@4.46.2: resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -9304,10 +9342,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'} @@ -9352,6 +9386,10 @@ packages: 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'} @@ -9667,9 +9705,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'} @@ -9929,12 +9964,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==} @@ -9954,10 +9983,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==} @@ -10043,10 +10068,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'} @@ -10054,10 +10075,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'} @@ -10285,10 +10302,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'} @@ -10344,9 +10357,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'} @@ -10439,6 +10449,46 @@ packages: terser: optional: true + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + 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==} @@ -10462,14 +10512,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'} @@ -10515,14 +10557,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'} @@ -10549,9 +10583,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'} @@ -10559,9 +10590,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'} @@ -10573,10 +10601,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'} @@ -10713,9 +10737,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'} @@ -10777,10 +10798,6 @@ 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==} engines: {node: '>=18'} @@ -11216,20 +11233,20 @@ snapshots: '@babel/compat-data@7.28.0': {} - '@babel/core@7.28.3(supports-color@8.1.1)': + '@babel/core@7.28.3': 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/helper-module-transforms': 7.28.3(@babel/core@7.28.3) '@babel/helpers': 7.28.3 '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -11238,7 +11255,7 @@ snapshots: '@babel/eslint-parser@7.28.0(@babel/core@7.28.3)(eslint@9.33.0(jiti@2.5.1))': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 9.33.0(jiti@2.5.1) eslint-visitor-keys: 2.1.0 @@ -11266,30 +11283,30 @@ snapshots: '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 semver: 6.3.1 transitivePeerDependencies: - supports-color '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.2.0 semver: 6.3.1 '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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.1 lodash.debounce: 4.0.8 resolve: 1.22.10 transitivePeerDependencies: @@ -11299,24 +11316,24 @@ snapshots: '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 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/traverse': 7.28.3 '@babel/types': 7.28.2 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.3)': 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.3 + '@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.3 transitivePeerDependencies: - supports-color @@ -11328,25 +11345,25 @@ snapshots: '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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.3 transitivePeerDependencies: - supports-color '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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.3 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -11360,7 +11377,7 @@ 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/traverse': 7.28.3 '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -11376,25 +11393,25 @@ snapshots: '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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) @@ -11403,15 +11420,15 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: @@ -11419,7 +11436,7 @@ snapshots: '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) @@ -11429,7 +11446,7 @@ snapshots: '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.3)': dependencies: '@babel/compat-data': 7.28.0 - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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) @@ -11437,7 +11454,7 @@ snapshots: '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: @@ -11445,11 +11462,11 @@ snapshots: '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 @@ -11459,123 +11476,123 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.3)': 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.3 + '@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) transitivePeerDependencies: @@ -11583,17 +11600,17 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: @@ -11601,7 +11618,7 @@ snapshots: '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: @@ -11609,55 +11626,55 @@ snapshots: '@babel/plugin-transform-classes@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) transitivePeerDependencies: @@ -11665,17 +11682,17 @@ snapshots: '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: @@ -11683,102 +11700,102 @@ snapshots: '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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.3 transitivePeerDependencies: - supports-color '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.3)': 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.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.3)': 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.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.3)': 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.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) '@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.3 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.3)': 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.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) '@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)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-object-rest-spread@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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/traverse': 7.28.3 transitivePeerDependencies: - supports-color '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) transitivePeerDependencies: @@ -11786,12 +11803,12 @@ snapshots: '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: @@ -11799,12 +11816,12 @@ snapshots: '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: @@ -11812,7 +11829,7 @@ snapshots: '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 @@ -11821,29 +11838,29 @@ snapshots: '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-regenerator@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.3)': 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.3 + '@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) @@ -11854,12 +11871,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: @@ -11867,22 +11884,22 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 @@ -11893,7 +11910,7 @@ snapshots: '@babel/plugin-transform-typescript@7.5.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) @@ -11902,24 +11919,24 @@ snapshots: '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) '@babel/helper-plugin-utils': 7.27.1 @@ -11931,7 +11948,7 @@ snapshots: '@babel/preset-env@7.28.3(@babel/core@7.28.3)': dependencies: '@babel/compat-data': 7.28.0 - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 @@ -12006,7 +12023,7 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/types': 7.28.2 esutils: 2.0.3 @@ -12023,7 +12040,7 @@ snapshots: '@babel/parser': 7.28.3 '@babel/types': 7.28.2 - '@babel/traverse@7.28.3(supports-color@8.1.1)': + '@babel/traverse@7.28.3': dependencies: '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 @@ -12031,7 +12048,7 @@ snapshots: '@babel/parser': 7.28.3 '@babel/template': 7.27.2 '@babel/types': 7.28.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -12086,7 +12103,7 @@ snapshots: '@electron/get': 3.1.0 chalk: 4.1.2 commander: 11.1.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-extra: 10.1.0 listr2: 7.0.2 log-symbols: 4.1.0 @@ -12102,7 +12119,7 @@ snapshots: '@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.1 find-up: 5.0.0 fs-extra: 10.1.0 log-symbols: 4.1.0 @@ -12129,7 +12146,7 @@ snapshots: '@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.1 fast-glob: 3.3.3 filenamify: 4.3.0 find-up: 5.0.0 @@ -12243,7 +12260,7 @@ snapshots: '@electron-forge/plugin-base': 7.8.3 '@electron-forge/shared-types': 7.8.3 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-extra: 10.1.0 listr2: 7.0.2 transitivePeerDependencies: @@ -12282,7 +12299,7 @@ snapshots: '@electron-forge/core-utils': 7.8.3 '@electron-forge/shared-types': 7.8.3 '@malept/cross-spawn-promise': 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-extra: 10.1.0 username: 5.1.0 transitivePeerDependencies: @@ -12343,7 +12360,7 @@ snapshots: '@electron/get@2.0.3': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 env-paths: 2.2.1 fs-extra: 8.1.0 got: 11.8.6 @@ -12357,7 +12374,7 @@ snapshots: '@electron/get@3.1.0': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 env-paths: 2.2.1 fs-extra: 8.1.0 got: 11.8.6 @@ -12387,7 +12404,7 @@ snapshots: '@electron/notarize@2.5.0': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-extra: 9.1.0 promise-retry: 2.0.1 transitivePeerDependencies: @@ -12396,7 +12413,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.1 fs-extra: 10.1.0 isbinaryfile: 4.0.10 minimist: 1.2.8 @@ -12412,7 +12429,7 @@ 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) + debug: 4.4.1 extract-zip: 2.0.1 filenamify: 4.3.0 fs-extra: 11.3.1 @@ -12434,7 +12451,7 @@ 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) + debug: 4.4.1 detect-libc: 2.0.4 fs-extra: 10.1.0 got: 11.8.6 @@ -12453,7 +12470,7 @@ 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.1 dir-compare: 4.2.0 fs-extra: 11.3.1 minimatch: 9.0.5 @@ -12464,7 +12481,7 @@ snapshots: '@electron/windows-sign@1.2.2': dependencies: cross-dirname: 0.1.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-extra: 11.3.1 minimist: 1.2.8 postject: 1.0.0-alpha.6 @@ -12493,6 +12510,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@ember/app-tsconfig@1.0.3': {} + '@ember/edition-utils@1.2.0': {} '@ember/optional-features@2.2.0': @@ -12508,7 +12527,7 @@ snapshots: '@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))': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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) @@ -12518,11 +12537,7 @@ snapshots: 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)': dependencies: @@ -12554,33 +12569,25 @@ snapshots: 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) - 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.2(@embroider/core@4.1.3(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)': dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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/traverse': 7.28.3 + '@embroider/core': 4.1.3(@glint/template@1.5.2) + '@embroider/macros': 1.18.1(@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.3) + babel-plugin-ember-template-compilation: 3.0.0 + 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 @@ -12593,8 +12600,8 @@ 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.1 + ember-source: 6.1.0-beta.1(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) fast-sourcemap-concat: 2.1.1 fs-extra: 9.1.0 fs-tree-diff: 2.0.1 @@ -12603,35 +12610,41 @@ snapshots: pkg-up: 3.1.0 resolve: 1.22.10 resolve-package-path: 4.0.3 + resolve.exports: 2.0.3 semver: 7.7.2 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: + - '@glimmer/component' - '@glint/template' - bufferutil - canvas + - rsvp - supports-color - utf-8-validate + - webpack - '@embroider/core@3.5.7(@glint/template@1.5.2)': + '@embroider/config-meta-loader@1.0.0': {} + + '@embroider/core@4.1.3(@glint/template@1.5.2)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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/traverse': 7.28.3 + '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@embroider/reverse-exports': 0.1.2 + '@embroider/shared-internals': 3.0.0 assert-never: 1.4.0 - babel-plugin-ember-template-compilation: 2.3.0 + babel-plugin-ember-template-compilation: 3.0.0 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.1 + 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 @@ -12640,6 +12653,7 @@ snapshots: lodash: 4.17.21 resolve: 1.22.10 resolve-package-path: 4.0.3 + resolve.exports: 2.0.3 semver: 7.7.2 typescript-memoize: 1.1.1 walk-sync: 3.0.0 @@ -12650,26 +12664,6 @@ 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)': - dependencies: - '@embroider/shared-internals': 2.9.0 - assert-never: 1.4.0 - babel-import-util: 2.1.1 - ember-cli-babel: 7.26.11 - find-up: 5.0.0 - lodash: 4.17.21 - resolve: 1.22.10 - semver: 7.7.2 - optionalDependencies: - '@glint/template': 1.5.2 - transitivePeerDependencies: - - supports-color - '@embroider/macros@1.18.1(@glint/template@1.5.2)': dependencies: '@embroider/shared-internals': 3.0.0 @@ -12685,42 +12679,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@embroider/shared-internals@2.6.0(supports-color@8.1.1)': + '@embroider/reverse-exports@0.1.2': 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 - js-string-escape: 1.0.1 - lodash: 4.17.21 - minimatch: 3.1.2 - resolve-package-path: 4.0.3 - semver: 7.7.2 - typescript-memoize: 1.1.1 - transitivePeerDependencies: - - supports-color + mem: 8.1.1 + resolve.exports: 2.0.3 - '@embroider/shared-internals@2.9.0': + '@embroider/router@3.0.2(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)': 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 + '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) + '@embroider/addon-shim': 1.10.0 + optionalDependencies: + '@embroider/core': 4.1.3(@glint/template@1.5.2) transitivePeerDependencies: + - '@glint/template' - supports-color '@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.1 ember-rfc176-data: 0.3.18 fs-extra: 9.1.0 is-subdir: 1.2.0 @@ -12737,7 +12714,7 @@ snapshots: '@embroider/shared-internals@3.0.0': dependencies: babel-import-util: 3.0.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 ember-rfc176-data: 0.3.18 fs-extra: 9.1.0 is-subdir: 1.2.0 @@ -12752,106 +12729,180 @@ snapshots: transitivePeerDependencies: - supports-color - '@embroider/webpack@3.2.3(@embroider/core@3.5.7(@glint/template@1.5.2))(webpack@5.101.2)': + '@embroider/vite@1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.46.2)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))': 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 + '@babel/core': 7.28.3 + '@embroider/core': 4.1.3(@glint/template@1.5.2) + '@embroider/macros': 1.18.1(@glint/template@1.5.2) + '@embroider/reverse-exports': 0.1.2 + '@rollup/pluginutils': 5.2.0(rollup@4.46.2) 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 + browserslist: 4.25.2 + browserslist-to-esbuild: 2.1.1(browserslist@4.25.2) + content-tag: 3.1.3 + debug: 4.4.1 + fast-glob: 3.3.3 + fs-extra: 10.1.0 + jsdom: 25.0.1 + send: 0.18.0 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 + vite: 6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) transitivePeerDependencies: + - '@glint/template' - bufferutil - canvas + - rollup + - supports-color - utf-8-validate '@esbuild/aix-ppc64@0.21.5': optional: true + '@esbuild/aix-ppc64@0.25.9': + optional: true + '@esbuild/android-arm64@0.21.5': optional: true + '@esbuild/android-arm64@0.25.9': + optional: true + '@esbuild/android-arm@0.21.5': optional: true + '@esbuild/android-arm@0.25.9': + optional: true + '@esbuild/android-x64@0.21.5': optional: true + '@esbuild/android-x64@0.25.9': + optional: true + '@esbuild/darwin-arm64@0.21.5': optional: true + '@esbuild/darwin-arm64@0.25.9': + optional: true + '@esbuild/darwin-x64@0.21.5': optional: true + '@esbuild/darwin-x64@0.25.9': + optional: true + '@esbuild/freebsd-arm64@0.21.5': optional: true + '@esbuild/freebsd-arm64@0.25.9': + optional: true + '@esbuild/freebsd-x64@0.21.5': optional: true + '@esbuild/freebsd-x64@0.25.9': + optional: true + '@esbuild/linux-arm64@0.21.5': optional: true + '@esbuild/linux-arm64@0.25.9': + optional: true + '@esbuild/linux-arm@0.21.5': optional: true + '@esbuild/linux-arm@0.25.9': + optional: true + '@esbuild/linux-ia32@0.21.5': optional: true + '@esbuild/linux-ia32@0.25.9': + optional: true + '@esbuild/linux-loong64@0.21.5': optional: true + '@esbuild/linux-loong64@0.25.9': + optional: true + '@esbuild/linux-mips64el@0.21.5': optional: true + '@esbuild/linux-mips64el@0.25.9': + optional: true + '@esbuild/linux-ppc64@0.21.5': optional: true + '@esbuild/linux-ppc64@0.25.9': + optional: true + '@esbuild/linux-riscv64@0.21.5': optional: true + '@esbuild/linux-riscv64@0.25.9': + optional: true + '@esbuild/linux-s390x@0.21.5': optional: true + '@esbuild/linux-s390x@0.25.9': + optional: true + '@esbuild/linux-x64@0.21.5': optional: true + '@esbuild/linux-x64@0.25.9': + optional: true + + '@esbuild/netbsd-arm64@0.25.9': + optional: true + '@esbuild/netbsd-x64@0.21.5': optional: true + '@esbuild/netbsd-x64@0.25.9': + optional: true + + '@esbuild/openbsd-arm64@0.25.9': + optional: true + '@esbuild/openbsd-x64@0.21.5': optional: true + '@esbuild/openbsd-x64@0.25.9': + optional: true + + '@esbuild/openharmony-arm64@0.25.9': + optional: true + '@esbuild/sunos-x64@0.21.5': optional: true + '@esbuild/sunos-x64@0.25.9': + optional: true + '@esbuild/win32-arm64@0.21.5': optional: true + '@esbuild/win32-arm64@0.25.9': + optional: true + '@esbuild/win32-ia32@0.21.5': optional: true + '@esbuild/win32-ia32@0.25.9': + optional: true + '@esbuild/win32-x64@0.21.5': optional: true + '@esbuild/win32-x64@0.25.9': + optional: true + '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.5.1))': dependencies: eslint: 9.33.0(jiti@2.5.1) @@ -12862,7 +12913,7 @@ 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.1 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -12876,7 +12927,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -13174,7 +13225,7 @@ snapshots: dependencies: '@babel/generator': 7.28.3 '@babel/parser': 7.28.3 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 prettier: 3.6.2 semver: 7.7.2 @@ -13242,7 +13293,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.30 babel-plugin-istanbul: 6.1.1 @@ -13542,7 +13593,7 @@ snapshots: '@react-native/codegen@0.79.2(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 glob: 7.2.3 hermes-parser: 0.25.1 invariant: 2.2.4 @@ -13553,7 +13604,7 @@ 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 @@ -13573,7 +13624,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 @@ -13622,6 +13673,25 @@ snapshots: walk-sync: 2.2.0 yaml: 2.8.1 + '@rollup/plugin-babel@6.0.4(@babel/core@7.28.3)(@types/babel__core@7.20.5)(rollup@4.46.2)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.27.1 + '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + optionalDependencies: + '@types/babel__core': 7.20.5 + rollup: 4.46.2 + transitivePeerDependencies: + - supports-color + + '@rollup/pluginutils@5.2.0(rollup@4.46.2)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.46.2 + '@rollup/rollup-android-arm-eabi@4.46.2': optional: true @@ -13768,7 +13838,7 @@ snapshots: '@sentry/cli@2.52.0(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 @@ -13924,10 +13994,6 @@ 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 @@ -13996,8 +14062,8 @@ snapshots: '@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(@babel/core@7.28.3) - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -14016,8 +14082,8 @@ snapshots: '@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(@babel/core@7.28.3) - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -14037,7 +14103,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.3) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) @@ -14068,21 +14134,15 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8(@babel/core@7.28.3)': + '@types/ember__debug@4.0.8': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 - transitivePeerDependencies: - - '@babel/core' - - supports-color - '@types/ember__engine@4.0.11(@babel/core@7.28.3)': + '@types/ember__engine@4.0.11': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 - transitivePeerDependencies: - - '@babel/core' - - supports-color '@types/ember__error@4.0.6': {} @@ -14246,8 +14306,6 @@ snapshots: dependencies: undici-types: 7.10.0 - '@types/node@9.6.61': {} - '@types/q@1.5.8': {} '@types/qs@6.14.0': {} @@ -14288,8 +14346,6 @@ 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': {} @@ -14312,7 +14368,7 @@ snapshots: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) '@typescript-eslint/utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 eslint: 9.33.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 5.3.2 @@ -14346,7 +14402,7 @@ snapshots: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 eslint: 9.33.0(jiti@2.5.1) optionalDependencies: typescript: 4.5.5 @@ -14359,7 +14415,7 @@ snapshots: '@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) + debug: 4.4.1 eslint: 9.33.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: @@ -14369,7 +14425,7 @@ snapshots: 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) + debug: 4.4.1 typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -14392,7 +14448,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) '@typescript-eslint/utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 eslint: 9.33.0(jiti@2.5.1) tsutils: 3.21.0(typescript@4.5.5) optionalDependencies: @@ -14405,7 +14461,7 @@ snapshots: '@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) + debug: 4.4.1 eslint: 9.33.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.9.2) typescript: 5.9.2 @@ -14420,7 +14476,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 globby: 11.1.0 is-glob: 4.0.3 semver: 7.7.2 @@ -14436,7 +14492,7 @@ snapshots: '@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) + debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -14564,30 +14620,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 @@ -14596,17 +14639,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.1 transitivePeerDependencies: - supports-color @@ -14835,7 +14872,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 @@ -14847,7 +14884,7 @@ snapshots: async-disk-cache@2.1.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 heimdalljs: 0.2.6 istextorbinary: 2.6.0 mkdirp: 0.5.6 @@ -14864,7 +14901,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 @@ -14893,6 +14930,16 @@ snapshots: author-regex@1.0.0: {} + autoprefixer@10.4.21(postcss@8.5.6): + dependencies: + browserslist: 4.25.2 + caniuse-lite: 1.0.30001735 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 @@ -14917,12 +14964,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 @@ -14946,46 +14993,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 @@ -15011,23 +15058,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 @@ -15035,7 +15082,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 @@ -15046,7 +15093,7 @@ snapshots: babel-jest@29.7.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 @@ -15059,20 +15106,13 @@ snapshots: babel-loader@8.4.1(@babel/core@7.28.3)(webpack@5.101.2): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 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 - babel-messages@6.23.0: dependencies: babel-runtime: 6.26.0 @@ -15083,14 +15123,20 @@ snapshots: babel-plugin-debug-macros@0.2.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 semver: 5.7.2 babel-plugin-debug-macros@0.3.4(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 semver: 5.7.2 + babel-plugin-debug-macros@2.0.0(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + babel-import-util: 2.1.1 + semver: 7.7.2 + babel-plugin-ember-data-packages-polyfill@0.1.2: dependencies: '@ember-data/rfc395-data': 0.0.4 @@ -15099,15 +15145,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.0: dependencies: '@glimmer/syntax': 0.95.0 babel-import-util: 3.0.1 + import-meta-resolve: 4.1.0 babel-plugin-htmlbars-inline-precompile@5.3.1: dependencies: @@ -15153,7 +15200,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.3): dependencies: '@babel/compat-data': 7.28.0 - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) semver: 6.3.1 transitivePeerDependencies: @@ -15161,7 +15208,7 @@ snapshots: babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) core-js-compat: 3.45.0 transitivePeerDependencies: @@ -15169,7 +15216,7 @@ snapshots: babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) transitivePeerDependencies: - supports-color @@ -15186,9 +15233,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: @@ -15202,34 +15249,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 @@ -15246,9 +15293,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: @@ -15258,53 +15305,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 @@ -15338,9 +15385,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: @@ -15357,7 +15404,7 @@ snapshots: 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/core': 7.28.3 '@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) @@ -15374,34 +15421,34 @@ snapshots: '@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-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 @@ -15411,7 +15458,7 @@ snapshots: babel-preset-jest@29.6.3(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) @@ -15430,7 +15477,7 @@ snapshots: babel-remove-types@1.0.1: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) prettier: 2.8.8 @@ -15442,24 +15489,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 @@ -15556,7 +15603,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 @@ -15650,7 +15697,7 @@ snapshots: broccoli-babel-transpiler@7.8.1: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/polyfill': 7.12.1 broccoli-funnel: 2.0.2 broccoli-merge-trees: 3.0.2 @@ -15667,7 +15714,7 @@ snapshots: broccoli-babel-transpiler@8.0.2(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 broccoli-persistent-filter: 3.1.3 clone: 2.1.2 hash-for-dep: 1.5.1 @@ -15683,7 +15730,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 @@ -15694,7 +15741,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 @@ -15727,7 +15774,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 @@ -15753,7 +15800,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 @@ -15769,7 +15816,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 @@ -15786,7 +15833,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.1 fs-tree-diff: 2.0.1 heimdalljs: 0.2.6 minimatch: 3.1.2 @@ -15923,43 +15970,6 @@ 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: - 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 - transitivePeerDependencies: - - supports-color - broccoli-slow-trees@3.1.0: dependencies: heimdalljs: 0.2.6 @@ -15988,7 +15998,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.1 ensure-posix-path: 1.1.1 fs-extra: 8.1.0 minimatch: 3.1.2 @@ -16005,22 +16015,12 @@ snapshots: minimatch: 3.1.2 transitivePeerDependencies: - supports-color - - broccoli-svg-optimizer@2.1.0: - dependencies: - broccoli-persistent-filter: 3.1.3 - safe-stable-stringify: 2.5.0 - svgo: 1.3.0 - 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 + + broccoli-svg-optimizer@2.1.0: + dependencies: + broccoli-persistent-filter: 3.1.3 + safe-stable-stringify: 2.5.0 + svgo: 1.3.0 transitivePeerDependencies: - supports-color @@ -16029,7 +16029,7 @@ snapshots: 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.1 lodash.defaultsdeep: 4.6.1 matcher-collection: 2.0.1 symlink-or-copy: 1.3.1 @@ -16070,8 +16070,6 @@ snapshots: brorand@1.1.0: {} - browser-process-hrtime@1.0.0: {} - browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 @@ -16113,6 +16111,11 @@ snapshots: readable-stream: 2.3.8 safe-buffer: 5.2.1 + browserslist-to-esbuild@2.1.1(browserslist@4.25.2): + dependencies: + browserslist: 4.25.2 + meow: 13.2.0 + browserslist@3.2.8: dependencies: caniuse-lite: 1.0.30001735 @@ -16291,13 +16294,6 @@ 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: {} capture-exit@2.0.0: @@ -16545,8 +16541,6 @@ snapshots: common-ancestor-path@1.0.1: {} - common-path-prefix@3.0.0: {} - common-tags@1.8.2: {} commondir@1.0.1: {} @@ -16563,7 +16557,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 @@ -16620,7 +16614,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 @@ -16836,11 +16830,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 @@ -16856,18 +16845,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 @@ -16883,12 +16860,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 @@ -16912,19 +16883,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: @@ -16934,11 +16899,9 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.1(supports-color@8.1.1): + debug@4.4.1: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 8.1.1 decimal.js@10.6.0: {} @@ -17102,10 +17065,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 @@ -17194,7 +17153,7 @@ 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.1 fs-extra: 9.1.0 glob: 7.2.3 lodash: 4.17.21 @@ -17210,7 +17169,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.1 electron-installer-common: 0.10.4 fs-extra: 9.1.0 get-folder-size: 2.0.1 @@ -17224,7 +17183,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.1 minimist: 1.2.8 optionalDependencies: appdmg: 0.6.6 @@ -17235,7 +17194,7 @@ 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.1 electron-installer-common: 0.10.4 fs-extra: 9.1.0 js-yaml: 3.14.1 @@ -17256,7 +17215,7 @@ snapshots: electron-localshortcut@3.2.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 electron-is-accelerator: 0.1.2 keyboardevent-from-electron-accelerator: 2.0.0 keyboardevents-areequal: 0.2.2 @@ -17267,7 +17226,7 @@ snapshots: electron-squirrel-startup@1.0.1: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 transitivePeerDependencies: - supports-color @@ -17281,7 +17240,7 @@ snapshots: electron-winstaller@5.4.0: dependencies: '@electron/asar': 3.4.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-extra: 7.0.1 lodash: 4.17.21 temp: 0.9.4 @@ -17336,7 +17295,7 @@ snapshots: ember-auto-import@2.10.0(@glint/template@1.5.2)(webpack@5.101.2): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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) @@ -17355,7 +17314,7 @@ snapshots: 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) + debug: 4.4.1 fs-extra: 10.1.0 fs-tree-diff: 2.0.1 handlebars: 4.7.8 @@ -17389,7 +17348,7 @@ snapshots: ember-cli-babel@7.26.11: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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) @@ -17424,7 +17383,7 @@ snapshots: ember-cli-babel@8.2.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@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) @@ -17467,16 +17426,16 @@ snapshots: dependencies: body-parser: 1.20.3 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 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.5.0(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.5.0(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 @@ -17484,15 +17443,15 @@ snapshots: 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)): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 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) 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.18.1(@glint/template@1.5.2))(ember-modifier@4.2.2(@babel/core@7.28.3)): 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) @@ -17556,20 +17515,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.1 transitivePeerDependencies: - supports-color @@ -17598,7 +17547,7 @@ snapshots: dependencies: '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.28.3) ansi-to-html: 0.6.15 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 ember-cli-babel-plugin-helpers: 1.1.1 execa: 2.1.0 fs-extra: 8.1.0 @@ -17615,7 +17564,7 @@ snapshots: dependencies: ansi-to-html: 0.6.15 broccoli-stew: 3.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 execa: 4.1.0 fs-extra: 9.1.0 resolve: 1.22.10 @@ -17630,7 +17579,7 @@ snapshots: dependencies: ansi-to-html: 0.6.15 broccoli-stew: 3.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 execa: 4.1.0 fs-extra: 9.1.0 resolve: 1.22.10 @@ -17667,7 +17616,7 @@ snapshots: 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.5.0(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 @@ -17883,15 +17832,15 @@ snapshots: transitivePeerDependencies: - 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): + ember-electron@7.0.0(ember-cli-dependency-checker@3.3.3(ember-cli@6.5.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)))(ember-cli@6.5.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) + '@babel/core': 7.28.3 '@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) + debug: 4.4.1 + ember-cli: 6.5.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-cli-dependency-checker: 3.3.3(ember-cli@6.5.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 @@ -17913,7 +17862,7 @@ snapshots: 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): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/eslint-parser': 7.28.0(@babel/core@7.28.3)(eslint@9.33.0(jiti@2.5.1)) '@glimmer/syntax': 0.95.0 '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2) @@ -17934,26 +17883,6 @@ 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)): dependencies: ember-cli-babel: 7.26.11 @@ -17963,11 +17892,12 @@ snapshots: 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.3): 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.3) 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): @@ -17986,7 +17916,7 @@ snapshots: 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-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 @@ -18027,7 +17957,7 @@ snapshots: - '@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.17.3(patch_hash=8ea795d73cd98a33ebeb535bc36eeedab1e654a9638682a95676812978025538)(@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): dependencies: '@orbit/coordinator': 0.17.0 '@orbit/core': 0.17.0 @@ -18076,7 +18006,7 @@ snapshots: ember-router-generator@2.0.0: dependencies: '@babel/parser': 7.28.3 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 recast: 0.18.10 transitivePeerDependencies: - supports-color @@ -18122,8 +18052,59 @@ snapshots: ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2): dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 + '@ember/edition-utils': 1.2.0 + '@glimmer/compiler': 0.92.4 + '@glimmer/component': 2.0.0 + '@glimmer/destroyable': 0.92.3 + '@glimmer/env': 0.1.7 + '@glimmer/global-context': 0.92.3 + '@glimmer/interfaces': 0.92.3 + '@glimmer/manager': 0.92.4 + '@glimmer/node': 0.92.4 + '@glimmer/opcode-compiler': 0.92.4 + '@glimmer/owner': 0.92.3 + '@glimmer/program': 0.92.4 + '@glimmer/reference': 0.92.3 + '@glimmer/runtime': 0.92.4 + '@glimmer/syntax': 0.92.3 + '@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) + '@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-cli-get-component-path-option: 1.0.0 + ember-cli-is-package-missing: 1.0.0 + 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-blueprint-polyfill: 0.1.0 + ember-cli-version-checker: 5.1.2 + ember-router-generator: 2.0.0 + 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 + silent-error: 1.1.1 + simple-html-tokenizer: 0.5.11 + transitivePeerDependencies: + - '@glint/template' + - rsvp + - supports-color + - webpack + + ember-source@6.1.0-beta.1(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2): + dependencies: + '@babel/core': 7.28.3 '@ember/edition-utils': 1.2.0 + '@embroider/addon-shim': 1.10.0 '@glimmer/compiler': 0.92.4 '@glimmer/component': 2.0.0 '@glimmer/destroyable': 0.92.3 @@ -18344,7 +18325,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=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) object-keys: 1.1.1 object.assign: 4.1.7 own-keys: 1.0.1 @@ -18430,6 +18411,35 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + esbuild@0.25.9: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 + escalade@3.2.0: {} escape-goat@2.1.1: {} @@ -18555,7 +18565,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.1 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -18603,7 +18613,7 @@ snapshots: estraverse@5.3.0: {} - estree-walker@0.6.1: {} + estree-walker@2.0.2: {} esutils@2.0.3: {} @@ -18688,7 +18698,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 @@ -18713,7 +18723,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 @@ -18783,7 +18793,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -18898,7 +18908,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 @@ -18910,7 +18920,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 @@ -18935,11 +18945,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: @@ -18960,11 +18965,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 @@ -19027,7 +19027,7 @@ snapshots: flora-colossus@2.0.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-extra: 10.1.0 transitivePeerDependencies: - supports-color @@ -19062,14 +19062,6 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - form-data@3.0.4: - 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: dependencies: asynckit: 0.4.0 @@ -19084,6 +19076,8 @@ snapshots: forwarded@0.2.0: {} + fraction.js@4.3.7: {} + fragment-cache@0.2.1: dependencies: map-cache: 0.2.2 @@ -19211,7 +19205,7 @@ snapshots: galactus@1.0.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 flora-colossus: 2.0.0 fs-extra: 10.1.0 transitivePeerDependencies: @@ -19267,7 +19261,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: @@ -19306,7 +19300,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.1 transitivePeerDependencies: - supports-color @@ -19422,6 +19416,8 @@ snapshots: globals@15.15.0: {} + globals@16.3.0: {} + globals@9.18.0: {} globalthis@1.0.4: @@ -19614,7 +19610,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 @@ -19665,10 +19661,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 @@ -19701,26 +19693,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.1 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.1 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.1 transitivePeerDependencies: - supports-color @@ -19748,17 +19740,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.1 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.1 transitivePeerDependencies: - supports-color @@ -19813,13 +19805,13 @@ snapshots: import-lazy@4.0.0: {} + import-meta-resolve@4.1.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: {} @@ -20114,10 +20106,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 @@ -20228,7 +20216,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/parser': 7.28.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -20364,40 +20352,6 @@ snapshots: jsc-safe-url@0.2.4: {} - jsdom@16.7.0(supports-color@8.1.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 - 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) - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.21 - parse5: 6.0.1 - saxes: 5.0.1 - 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 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - jsdom@25.0.1: dependencies: cssstyle: 4.6.0 @@ -20561,7 +20515,7 @@ 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 @@ -20611,8 +20565,6 @@ snapshots: dependencies: lie: 3.1.1 - locate-character@2.0.5: {} - locate-path@2.0.0: dependencies: p-locate: 2.0.0 @@ -20631,10 +20583,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 @@ -20677,8 +20625,6 @@ snapshots: lodash.kebabcase@4.1.1: {} - lodash.memoize@4.1.2: {} - lodash.merge@4.6.2: {} lodash.omit@4.5.0: {} @@ -20755,10 +20701,6 @@ snapshots: macos-release@3.4.0: {} - magic-string@0.24.1: - dependencies: - sourcemap-codec: 1.4.8 - magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 @@ -20773,7 +20715,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 @@ -20794,8 +20736,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 @@ -20891,8 +20833,6 @@ snapshots: mdn-data@1.1.4: {} - mdn-data@2.0.14: {} - mdn-data@2.0.4: {} mdn-data@2.12.2: {} @@ -20913,6 +20853,11 @@ 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: @@ -20939,13 +20884,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.3 flow-enums-runtime: 0.0.6 hermes-parser: 0.29.1 nullthrows: 1.1.1 @@ -20988,7 +20931,7 @@ snapshots: metro-file-map@0.82.5: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fb-watchman: 2.0.2 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -21016,8 +20959,8 @@ snapshots: 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/traverse': 7.28.3 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.3' '@babel/types': 7.28.2 flow-enums-runtime: 0.0.6 invariant: 2.2.4 @@ -21042,10 +20985,10 @@ snapshots: metro-transform-plugins@0.82.5: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/generator': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -21053,7 +20996,7 @@ snapshots: metro-transform-worker@0.82.5: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/generator': 7.28.3 '@babel/parser': 7.28.3 '@babel/types': 7.28.2 @@ -21074,17 +21017,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.3 '@babel/generator': 7.28.3 '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3(supports-color@8.1.1) + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 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.1 error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -21232,7 +21175,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 decode-named-character-reference: 1.2.0 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -21409,7 +21352,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 @@ -21523,8 +21466,6 @@ snapshots: node-int64@0.4.0: {} - node-modules-path@1.0.2: {} - node-notifier@10.0.1: dependencies: growly: 1.3.0 @@ -21559,6 +21500,8 @@ snapshots: normalize-path@3.0.0: {} + normalize-range@0.1.2: {} + normalize-url@6.1.0: {} normalize-url@8.0.2: {} @@ -21603,7 +21546,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 @@ -21637,7 +21580,7 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.13.4: {} + object-inspect@1.13.4(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1): {} object-keys@0.4.0: {} @@ -21805,10 +21748,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 @@ -21825,10 +21764,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 @@ -21845,7 +21780,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.1 get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -21906,8 +21841,6 @@ snapshots: 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: @@ -21949,8 +21882,6 @@ snapshots: path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-is-absolute@1.0.1: {} path-key@2.0.1: {} @@ -22013,10 +21944,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: @@ -22036,7 +21963,7 @@ snapshots: portfinder@1.0.37: dependencies: async: 3.2.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -22130,7 +22057,7 @@ snapshots: 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.3 content-tag: 4.0.0 prettier: 3.6.2 transitivePeerDependencies: @@ -22148,10 +22075,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: {} @@ -22215,7 +22138,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.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -22271,8 +22194,6 @@ snapshots: qs@6.5.3: {} - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} queue@6.0.2: @@ -22402,7 +22323,7 @@ snapshots: read-binary-file-arch@1.0.6: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -22592,7 +22513,7 @@ snapshots: remove-types@1.0.0: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.3) '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) prettier: 2.8.8 @@ -22635,8 +22556,6 @@ snapshots: require-from-string@2.0.2: {} - require-relative@0.8.7: {} - requireindex@1.2.0: {} requires-port@1.0.0: {} @@ -22763,24 +22682,6 @@ snapshots: sprintf-js: 1.1.3 optional: true - rollup-pluginutils@2.8.2: - dependencies: - estree-walker: 0.6.1 - - rollup@0.57.1: - 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 - rollup@4.46.2: dependencies: '@types/estree': 1.0.8 @@ -22910,10 +22811,6 @@ snapshots: sax@1.2.4: {} - saxes@5.0.1: - dependencies: - xmlchars: 2.2.0 - saxes@6.0.0: dependencies: xmlchars: 2.2.0 @@ -22956,9 +22853,27 @@ snapshots: semver@7.7.2: {} + 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 @@ -23060,27 +22975,27 @@ snapshots: side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4 + object-inspect: 1.13.4(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) 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=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) 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=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) 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=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) side-channel-list: 1.0.0 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -23091,7 +23006,7 @@ snapshots: silent-error@1.1.1: dependencies: - debug: 2.6.9(supports-color@8.1.1) + debug: 2.6.9 transitivePeerDependencies: - supports-color @@ -23148,7 +23063,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 @@ -23190,16 +23105,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.1 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.1 socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -23207,7 +23122,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.1 socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -23334,7 +23249,7 @@ snapshots: stagehand@1.0.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -23356,11 +23271,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 @@ -23511,7 +23421,7 @@ snapshots: cosmiconfig: 9.0.0(typescript@5.9.2) css-functions-list: 3.2.3 css-tree: 3.1.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 file-entry-cache: 10.1.4 @@ -23557,13 +23467,13 @@ snapshots: 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.1 transitivePeerDependencies: - supports-color @@ -23612,7 +23522,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 @@ -23622,7 +23532,7 @@ snapshots: sync-disk-cache@2.1.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 heimdalljs: 0.2.6 mkdirp: 0.5.6 rimraf: 3.0.2 @@ -23803,15 +23713,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: {} @@ -23830,8 +23731,6 @@ snapshots: through@2.3.8: {} - time-zone@1.0.0: {} - tiny-each-async@2.0.3: optional: true @@ -23928,23 +23827,12 @@ 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: - dependencies: - punycode: 2.3.1 - tr46@5.1.1: dependencies: punycode: 2.3.1 @@ -23962,7 +23850,7 @@ snapshots: 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 @@ -23972,7 +23860,7 @@ snapshots: tree-sync@2.1.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1 fs-tree-diff: 2.0.1 mkdirp: 0.5.6 quick-temp: 0.1.8 @@ -24177,8 +24065,6 @@ snapshots: universalify@0.1.2: {} - universalify@0.2.0: {} - universalify@2.0.1: {} unorm@1.6.0: @@ -24235,11 +24121,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 @@ -24311,6 +24192,21 @@ snapshots: fsevents: 2.3.3 terser: 5.43.1 + vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1): + dependencies: + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.46.2 + tinyglobby: 0.2.14 + optionalDependencies: + '@types/node': 22.17.2 + fsevents: 2.3.3 + jiti: 2.5.1 + terser: 5.43.1 + yaml: 2.8.1 + vlq@1.0.1: {} vscode-jsonrpc@8.1.0: {} @@ -24330,14 +24226,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 @@ -24401,10 +24289,6 @@ 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: {} @@ -24449,18 +24333,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: @@ -24473,12 +24351,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 @@ -24548,7 +24420,7 @@ snapshots: workerpool@3.1.2: dependencies: - '@babel/core': 7.28.3(supports-color@8.1.1) + '@babel/core': 7.28.3 object-assign: 4.1.1 rsvp: 4.8.5 transitivePeerDependencies: @@ -24609,8 +24481,6 @@ snapshots: xdg-basedir@5.1.0: {} - xml-name-validator@3.0.0: {} - xml-name-validator@5.0.0: {} xmlbuilder@15.1.1: {} @@ -24668,8 +24538,6 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.2.1: {} - yoctocolors-cjs@2.1.2: {} zen-observable-ts@0.8.19: diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 000000000..12a703d90 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; 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/index.html b/tests/index.html index 4fb89a183..0bb74b983 100644 --- a/tests/index.html +++ b/tests/index.html @@ -9,9 +9,9 @@ {{content-for "head"}} {{content-for "test-head"}} - - - + + + {{content-for "head-footer"}} {{content-for "test-head-footer"}} @@ -28,12 +28,16 @@ - - - - + + + + + {{content-for "body-footer"}} - {{content-for "test-body-footer"}} 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/tsconfig.json b/tsconfig.json index e27649920..63fefc97c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,17 +1,31 @@ { - "extends": "@tsconfig/ember", - "glint": { "environment": ["ember-loose", "ember-template-imports"] }, + "extends": "@ember/app-tsconfig", + "include": [ + "app", "tests", "types" + ], + "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" + ] + }, } diff --git a/vite.config.mjs b/vite.config.mjs new file mode 100644 index 000000000..219253dbe --- /dev/null +++ b/vite.config.mjs @@ -0,0 +1,15 @@ +import { defineConfig } from 'vite'; +import { extensions, classicEmberSupport, ember } from '@embroider/vite'; +import { babel } from '@rollup/plugin-babel'; + +export default defineConfig({ + plugins: [ + classicEmberSupport(), + ember(), + // extra plugins here + babel({ + babelHelpers: 'runtime', + extensions, + }), + ], +}); diff --git a/vite.renderer.config.ts b/vite.renderer.config.ts index 690be5b1a..555e2ec8a 100644 --- a/vite.renderer.config.ts +++ b/vite.renderer.config.ts @@ -1,4 +1,3 @@ -import { defineConfig } from 'vite'; +import defineConfig from './vite.config.mjs'; -// https://vitejs.dev/config -export default defineConfig({}); +export default defineConfig; \ No newline at end of file From 25eed032a60b6380c8445a8b4c110ce6eec4d2ef Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Fri, 15 Aug 2025 22:11:16 -0400 Subject: [PATCH 04/54] More tweaks --- electron-app/forge.config.ts | 2 +- package.json | 1 - pnpm-lock.yaml | 39 ------------------------------------ 3 files changed, 1 insertion(+), 41 deletions(-) diff --git a/electron-app/forge.config.ts b/electron-app/forge.config.ts index 8f84c4139..271002df4 100644 --- a/electron-app/forge.config.ts +++ b/electron-app/forge.config.ts @@ -133,7 +133,7 @@ const config: ForgeConfig = { renderer: [ { name: 'main_window', - config: 'vite.renderer.config.ts', + config: '../vite.renderer.config.ts', }, ], }), diff --git a/package.json b/package.json index f7ce51458..d43b1bebd 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,6 @@ "ember-css-transitions": "^4.5.0", "ember-decorators": "^6.1.1", "ember-drag-sort": "^3.0.1", - "ember-electron": "^7.0.0", "ember-element-helper": "^0.8.8", "ember-event-helpers": "^0.1.1", "ember-inflector": "^6.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48f916b10..a7c05d438 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -256,9 +256,6 @@ importers: 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.5.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)))(ember-cli@6.5.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) ember-element-helper: specifier: ^0.8.8 version: 0.8.8 @@ -5425,14 +5422,6 @@ packages: resolution: {integrity: sha512-yVCS+OjRBQUv18kZ8Uq8fQXxCqtFYB+oC4Vlm3WBICgNztL9nxeup/UnQddm1RIoosCeuFruLvPXPAiSXW5KWw==} engines: {node: '>= 12.*'} - ember-electron@7.0.0: - resolution: {integrity: sha512-GO8Kju74otgYERWsvlHQdVfeFrkReBWscx6TqngTB8o6XmYDkhv9oUpWJqExZ21/4q0wwg55CqOL9zPkFOzxqQ==} - engines: {node: '>= 18'} - peerDependencies: - ember-cli: '>= 3.4.0' - ember-cli-dependency-checker: '>= 3.1.0' - ember-source: '>= 4.0.0' - ember-element-helper@0.8.8: resolution: {integrity: sha512-3slTltQV5ke53t3YVP2GYoswsQ6y+lhuVzKmt09tbEx91DapG8I/xa8W5OA0StvcQlavL3/vHrz/vCQEFs8bBA==} engines: {node: 14.* || 16.* || >= 18} @@ -8091,10 +8080,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==} @@ -17832,28 +17817,6 @@ snapshots: transitivePeerDependencies: - supports-color - ember-electron@7.0.0(ember-cli-dependency-checker@3.3.3(ember-cli@6.5.0(babel-core@6.26.3)(handlebars@4.7.8)(react@19.1.0)(underscore@1.13.7)))(ember-cli@6.5.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 - '@electron-forge/core': 7.8.3(encoding@0.1.13) - chalk: 4.1.2 - debug: 4.4.1 - ember-cli: 6.5.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.5.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 - ember-element-helper@0.8.8: dependencies: '@embroider/addon-shim': 1.10.0 @@ -21411,8 +21374,6 @@ snapshots: natural-compare@1.4.0: {} - ncp@2.0.0: {} - nearest-color@0.4.4: {} negotiator@0.6.3: {} From 8430165a75a40a294af7615453e2db6fef5d0b3d Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 16 Aug 2025 08:58:47 -0400 Subject: [PATCH 05/54] Use ef4 fork of ember-orbit --- app/components/color-picker.gts | 2 +- app/components/colors-list.gts | 2 +- app/components/kuler-palette-row.gts | 2 +- app/components/kuler.gts | 2 +- app/components/palette-row.gts | 2 +- app/components/palettes-list.gts | 2 +- app/components/settings-data.gts | 2 +- app/controllers/application.ts | 2 +- app/controllers/palettes.ts | 2 +- app/data-models/color.ts | 2 +- app/data-models/palette.ts | 2 +- app/data-sources/backup.ts | 2 +- app/data-sources/remote.js | 2 +- app/routes/colors.ts | 2 +- app/routes/kuler.ts | 2 +- app/routes/palettes.ts | 2 +- app/services/color-utils.ts | 2 +- app/services/data.ts | 2 +- app/services/undo-manager.ts | 2 +- app/templates/palettes.gts | 2 +- package.json | 3 +- patches/ember-orbit.patch | 29 ---------- pnpm-lock.yaml | 85 +++++++++++++++------------- tests/helpers.ts | 2 +- tests/unit/services/data-test.ts | 2 +- 25 files changed, 68 insertions(+), 93 deletions(-) delete mode 100644 patches/ember-orbit.patch diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index be3a8b307..4e6e716b7 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -7,7 +7,7 @@ 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 type { Store } from '@ef4/ember-orbit'; import { TinyColor } from '@ctrl/tinycolor'; import iro from '@jaames/iro'; import { rgbaToHex } from '../data-models/color.ts'; diff --git a/app/components/colors-list.gts b/app/components/colors-list.gts index f298c9ab1..78b1c5dec 100644 --- a/app/components/colors-list.gts +++ b/app/components/colors-list.gts @@ -7,7 +7,7 @@ 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'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import type { RecordOperationTerm } from '@orbit/records'; import ColorRow from './color-row.gts'; import type { SelectedColorModel } from './rgb-input.gts'; diff --git a/app/components/kuler-palette-row.gts b/app/components/kuler-palette-row.gts index c4ef27002..0df03a0dc 100644 --- a/app/components/kuler-palette-row.gts +++ b/app/components/kuler-palette-row.gts @@ -10,7 +10,7 @@ import type MotionService from 'ember-animated/services/-ea-motion'; import fade from 'ember-animated/transitions/fade'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import sub from 'ember-math-helpers/helpers/sub'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import set from 'ember-set-helper/helpers/set'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import eq from 'ember-truth-helpers/helpers/eq'; diff --git a/app/components/kuler.gts b/app/components/kuler.gts index d01890d5a..08e78f4de 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -5,7 +5,7 @@ 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 type { Store } from '@ef4/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'; diff --git a/app/components/palette-row.gts b/app/components/palette-row.gts index 84c3b7db0..1c005fd51 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -12,7 +12,7 @@ import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import type DragSortService from 'ember-drag-sort/services/drag-sort'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import sub from 'ember-math-helpers/helpers/sub'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import eq from 'ember-truth-helpers/helpers/eq'; import not from 'ember-truth-helpers/helpers/not'; diff --git a/app/components/palettes-list.gts b/app/components/palettes-list.gts index 918c26a7d..65cc48b76 100644 --- a/app/components/palettes-list.gts +++ b/app/components/palettes-list.gts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import { service } from '@ember/service'; import Component from '@glimmer/component'; -import type { LiveQuery, Store } from 'ember-orbit'; +import type { LiveQuery, Store } from '@ef4/ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import type { RecordOperationTerm } from '@orbit/records'; import AnimatedDragSortList from './animated-drag-sort-list.gts'; diff --git a/app/components/settings-data.gts b/app/components/settings-data.gts index 886a313e2..495cd92b0 100644 --- a/app/components/settings-data.gts +++ b/app/components/settings-data.gts @@ -5,7 +5,7 @@ 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 type { Store } from '@ef4/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'; diff --git a/app/controllers/application.ts b/app/controllers/application.ts index 9fcf81f9e..72627fd0c 100644 --- a/app/controllers/application.ts +++ b/app/controllers/application.ts @@ -5,7 +5,7 @@ import { service } from '@ember/service'; 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 type { Store } from '@ef4/ember-orbit'; import type { RecordSchema } from '@orbit/records'; import type { IpcRenderer } from 'electron'; import type { SelectedColorModel } from 'swach/components/rgb-input'; diff --git a/app/controllers/palettes.ts b/app/controllers/palettes.ts index f7fb332f9..86d8bf7a9 100644 --- a/app/controllers/palettes.ts +++ b/app/controllers/palettes.ts @@ -3,7 +3,7 @@ import { action } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { LiveQuery, Store } from 'ember-orbit'; +import type { LiveQuery, Store } from '@ef4/ember-orbit'; import type { RecordOperationTerm } from '@orbit/records'; import type ApplicationController from 'swach/controllers/application'; import type ColorModel from 'swach/data-models/color'; diff --git a/app/data-models/color.ts b/app/data-models/color.ts index 73275a4a8..c3ad95584 100644 --- a/app/data-models/color.ts +++ b/app/data-models/color.ts @@ -1,5 +1,5 @@ import { isEmpty } from '@ember/utils'; -import { attr, hasOne, Model } from 'ember-orbit'; +import { attr, hasOne, Model } from '@ef4/ember-orbit'; import { TinyColor } from '@ctrl/tinycolor'; import type PaletteModel from 'swach/data-models/palette'; diff --git a/app/data-models/palette.ts b/app/data-models/palette.ts index e39ea64b4..5e4b85bc2 100644 --- a/app/data-models/palette.ts +++ b/app/data-models/palette.ts @@ -1,4 +1,4 @@ -import { attr, hasMany, Model } from 'ember-orbit'; +import { attr, hasMany, Model } from '@ef4/ember-orbit'; import type ColorModel from 'swach/data-models/color'; export default class PaletteModel extends Model { diff --git a/app/data-sources/backup.ts b/app/data-sources/backup.ts index 770c9ce54..9fba35629 100644 --- a/app/data-sources/backup.ts +++ b/app/data-sources/backup.ts @@ -1,4 +1,4 @@ -import { applyStandardSourceInjections } from 'ember-orbit'; +import { applyStandardSourceInjections } from '@ef4/ember-orbit'; import { IndexedDBSource } from '@orbit/indexeddb'; import type { InitializedRecord, diff --git a/app/data-sources/remote.js b/app/data-sources/remote.js index 458cce635..60538eb3f 100644 --- a/app/data-sources/remote.js +++ b/app/data-sources/remote.js @@ -1,6 +1,6 @@ import { getOwner } from '@ember/application'; import { pluralize, singularize } from 'ember-inflector'; -import { applyStandardSourceInjections } from 'ember-orbit'; +import { applyStandardSourceInjections } from '@ef4/ember-orbit'; import { JSONAPIRequestProcessor, JSONAPISerializers, diff --git a/app/routes/colors.ts b/app/routes/colors.ts index 383bfe461..228d33ee6 100644 --- a/app/routes/colors.ts +++ b/app/routes/colors.ts @@ -2,7 +2,7 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; import { storageFor } from 'ember-local-storage'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import type PaletteModel from 'swach/data-models/palette'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; diff --git a/app/routes/kuler.ts b/app/routes/kuler.ts index 215ea5399..f10f65a6c 100644 --- a/app/routes/kuler.ts +++ b/app/routes/kuler.ts @@ -2,7 +2,7 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; import { storageFor } from 'ember-local-storage'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import type ColorModel from 'swach/data-models/color'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; diff --git a/app/routes/palettes.ts b/app/routes/palettes.ts index 55ea02a3c..bfa4f6817 100644 --- a/app/routes/palettes.ts +++ b/app/routes/palettes.ts @@ -2,7 +2,7 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; import { storageFor } from 'ember-local-storage'; -import type { LiveQuery, Store } from 'ember-orbit'; +import type { LiveQuery, Store } from '@ef4/ember-orbit'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; import viewTransitions from 'swach/utils/view-transitions'; diff --git a/app/services/color-utils.ts b/app/services/color-utils.ts index 6a3467cf0..16b92a124 100644 --- a/app/services/color-utils.ts +++ b/app/services/color-utils.ts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import Service, { service } from '@ember/service'; import { storageFor } from 'ember-local-storage'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import { TinyColor } from '@ctrl/tinycolor'; import type { ColorInput } from '@ctrl/tinycolor'; import type { IpcRenderer } from 'electron'; diff --git a/app/services/data.ts b/app/services/data.ts index a464d0f19..d90b4f977 100644 --- a/app/services/data.ts +++ b/app/services/data.ts @@ -1,6 +1,6 @@ import Service, { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import type { Coordinator } from '@orbit/coordinator'; import type IndexedDBSource from '@orbit/indexeddb'; import type JSONAPISource from '@orbit/jsonapi'; diff --git a/app/services/undo-manager.ts b/app/services/undo-manager.ts index 9b61188f0..339f4fda8 100644 --- a/app/services/undo-manager.ts +++ b/app/services/undo-manager.ts @@ -1,5 +1,5 @@ import Service, { service } from '@ember/service'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import type { IpcRenderer } from 'electron'; import removeFromTo from 'swach/utils/remove-from-to'; diff --git a/app/templates/palettes.gts b/app/templates/palettes.gts index 41c2705b4..9405538bd 100644 --- a/app/templates/palettes.gts +++ b/app/templates/palettes.gts @@ -2,7 +2,7 @@ import { concat, fn, hash } from '@ember/helper'; import { on } from '@ember/modifier'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; -import type { LiveQuery } from 'ember-orbit'; +import type { LiveQuery } from '@ef4/ember-orbit'; import RouteTemplate from 'ember-route-template'; import set from 'ember-set-helper/helpers/set'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; diff --git a/package.json b/package.json index d43b1bebd..beb9ef211 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "@babel/preset-env": "^7.28.3", "@babel/runtime": "^7.27.1", "@ctrl/tinycolor": "^4.1.0", + "@ef4/ember-orbit": "0.17.3-ef4.6", "@ember/app-tsconfig": "^1.0.3", "@ember/optional-features": "^2.2.0", "@ember/render-modifiers": "^3.0.0", @@ -122,7 +123,6 @@ "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-resolver": "^13.1.1", "ember-route-template": "^1.0.3", @@ -169,7 +169,6 @@ }, "patchedDependencies": { "ember-local-storage": "patches/ember-local-storage.patch", - "ember-orbit": "patches/ember-orbit.patch", "menubar": "patches/menubar.patch", "object-inspect": "patches/object-inspect.patch" } diff --git a/patches/ember-orbit.patch b/patches/ember-orbit.patch deleted file mode 100644 index 91c124892..000000000 --- a/patches/ember-orbit.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/addon/index.ts b/addon/index.ts -index 62e82b640e89e6f7e567e8369ad85cbc4ee09dae..dfe3f6a154dd36739e931f72ed0eaeca202bacb8 100644 ---- a/addon/index.ts -+++ b/addon/index.ts -@@ -9,8 +9,8 @@ export { default as hasOne } from './-private/fields/has-one'; - export { default as key } from './-private/fields/key'; - export { applyStandardSourceInjections } from './-private/utils/standard-injections'; - export { default as Cache } from './-private/cache'; --export { default as Model, ModelSettings } from './-private/model'; --export { default as Store, StoreSettings } from './-private/store'; -+export { default as Model, type ModelSettings } from './-private/model'; -+export { default as Store, type StoreSettings } from './-private/store'; - export { default as LiveQuery } from './-private/live-query'; - // Provide `belongsTo` as an alias to `hasOne` - export { default as belongsTo } from './-private/fields/has-one'; -diff --git a/index.d.ts b/index.d.ts -index 32b7341b0acd77369f902113c2e87a89a5e778a6..35fd8ff621688b1706cb57aa11a3bf30aaaae1a1 100644 ---- a/index.d.ts -+++ b/index.d.ts -@@ -9,7 +9,7 @@ export { default as hasOne } from './-private/fields/has-one'; - export { default as key } from './-private/fields/key'; - export { applyStandardSourceInjections } from './-private/utils/standard-injections'; - export { default as Cache } from './-private/cache'; --export { default as Model, ModelSettings } from './-private/model'; --export { default as Store, StoreSettings } from './-private/store'; -+export { default as Model, type ModelSettings } from './-private/model'; -+export { default as Store, type StoreSettings } from './-private/store'; - export { default as LiveQuery } from './-private/live-query'; - export { default as belongsTo } from './-private/fields/has-one'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7c05d438..1a06bc424 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,6 @@ patchedDependencies: ember-local-storage: hash: 7a283711fa827de035fc3cc2ebe13c451ddf557492e8b185e99f915713c95f06 path: patches/ember-local-storage.patch - ember-orbit: - hash: 8ea795d73cd98a33ebeb535bc36eeedab1e654a9638682a95676812978025538 - path: patches/ember-orbit.patch menubar: hash: 36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d path: patches/menubar.patch @@ -52,6 +49,9 @@ importers: '@ctrl/tinycolor': specifier: ^4.1.0 version: 4.1.0 + '@ef4/ember-orbit': + specifier: 0.17.3-ef4.6 + version: 0.17.3-ef4.6(@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))(webpack@5.101.2) '@ember/app-tsconfig': specifier: ^1.0.3 version: 1.0.3 @@ -280,9 +280,6 @@ importers: ember-modifier: specifier: ^4.2.2 version: 4.2.2(@babel/core@7.28.3) - ember-orbit: - specifier: ^0.17.3 - version: 0.17.3(patch_hash=8ea795d73cd98a33ebeb535bc36eeedab1e654a9638682a95676812978025538)(@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-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) @@ -1423,6 +1420,13 @@ packages: '@dual-bundle/import-meta-resolve@4.1.0': resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} + '@ef4/ember-orbit@0.17.3-ef4.6': + resolution: {integrity: sha512-jstk9DK/ys6v5l5Xle71nv9CsoV2PzvXqQIseK50mZgXYco9BZ0c1QvwCnNiXxy1abcCAhCReY6liUuWyB4zqg==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@ember/test-helpers': '>= 2.6.0' + ember-source: '>= 3.24.0' + '@electron-forge/cli@7.8.3': resolution: {integrity: sha512-BSAjGGfVf0yp3NQhXYmyCw9T//YCQHuktMv4HXfDVfo7AoV6DA1oEhqldI4Q7aHKeRob5+yBkvRRYPiu5ayCPw==} engines: {node: '>= 16.4.0'} @@ -5478,12 +5482,6 @@ 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} - peerDependencies: - ember-source: '>= 3.24.0' - ember-qunit@9.0.3: resolution: {integrity: sha512-t+FD5/EWAR3WvGVj1etblFJJ6CaJqddDxusNcYYFZmW7zrQpCnQ9ziwpXM5/sw1sWabkhJZgYPXCn8bDRRhOfg==} peerDependencies: @@ -12080,6 +12078,28 @@ snapshots: '@dual-bundle/import-meta-resolve@4.1.0': {} + '@ef4/ember-orbit@0.17.3-ef4.6(@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))(webpack@5.101.2)': + dependencies: + '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) + '@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/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) + transitivePeerDependencies: + - '@glint/template' + - supports-color + - webpack + '@electron-forge/cli@7.8.3(encoding@0.1.13)': dependencies: '@electron-forge/core': 7.8.3(encoding@0.1.13) @@ -14047,8 +14067,8 @@ snapshots: '@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__debug': 4.0.8(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -14067,8 +14087,8 @@ snapshots: '@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__debug': 4.0.8(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -14088,7 +14108,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.3) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11 + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) @@ -14119,15 +14139,21 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8': + '@types/ember__debug@4.0.8(@babel/core@7.28.3)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@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.3)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__error@4.0.6': {} @@ -17920,27 +17946,6 @@ snapshots: - '@babel/core' - supports-color - ember-orbit@0.17.3(patch_hash=8ea795d73cd98a33ebeb535bc36eeedab1e654a9638682a95676812978025538)(@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): - dependencies: - '@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/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) - transitivePeerDependencies: - - '@glint/template' - - 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): dependencies: '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) diff --git a/tests/helpers.ts b/tests/helpers.ts index e2a13b695..9e6266186 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -1,6 +1,6 @@ import { getContext, settled } from '@ember/test-helpers'; import { animationsSettled } from 'ember-animated/test-support'; -import { waitForSource } from 'ember-orbit/test-support'; +import { waitForSource } from '@ef4/ember-orbit/test-support'; import type Owner from '@ember/owner'; import type Coordinator from '@orbit/coordinator'; import type { IndexedDBSource } from '@orbit/indexeddb'; diff --git a/tests/unit/services/data-test.ts b/tests/unit/services/data-test.ts index c86267c1a..235f8f1d9 100644 --- a/tests/unit/services/data-test.ts +++ b/tests/unit/services/data-test.ts @@ -1,6 +1,6 @@ import { setupTest } from 'ember-qunit'; import { module, test } from 'qunit'; -import type { Store } from 'ember-orbit'; +import type { Store } from '@ef4/ember-orbit'; import type { Coordinator } from '@orbit/coordinator'; import type IndexedDBSource from '@orbit/indexeddb'; import type Palette from 'swach/data-models/palette'; From 00b4e1ce6625adf1b6bf8c3f703ba7746a0f870c Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 16 Aug 2025 09:01:37 -0400 Subject: [PATCH 06/54] Run prettier --- .github/workflows/ci.yml | 53 -------- app/components/color-picker.gts | 6 +- app/components/colors-list.gts | 6 +- app/components/contrast-checker.gts | 4 +- app/components/kuler-palette-row.gts | 2 +- app/components/kuler.gts | 34 +++-- app/components/palette-row.gts | 34 ++--- app/components/palettes-list.gts | 4 +- app/components/rgb-input.gts | 2 +- app/components/settings-data.gts | 18 +-- app/config/environment.ts | 35 ++++-- app/controllers/application.ts | 14 +-- app/controllers/palettes.ts | 30 ++--- app/data-sources/backup.ts | 14 +-- app/data-sources/remote.js | 2 +- app/routes/colors.ts | 2 +- app/routes/kuler.ts | 2 +- app/routes/palettes.ts | 4 +- app/services/cognito.js | 4 +- app/services/color-utils.ts | 2 +- app/services/data.ts | 28 ++--- app/services/nearest-color.ts | 4 +- app/services/undo-manager.ts | 2 +- app/styles/app.css | 14 +-- app/styles/drag-sort.css | 2 +- app/styles/fonts.css | 2 +- app/styles/main.css | 6 +- app/styles/three-dots/three-dots.css | 4 +- app/templates/colors.gts | 2 +- app/templates/contrast.gts | 2 +- app/templates/kuler.gts | 2 +- app/templates/palettes.gts | 4 +- app/templates/settings.gts | 2 +- app/templates/settings/cloud.gts | 2 +- .../settings/cloud/forgot-password.gts | 2 +- app/templates/settings/cloud/login.gts | 2 +- app/templates/settings/cloud/profile.gts | 2 +- .../settings/cloud/register/confirm.gts | 2 +- .../settings/cloud/register/index.gts | 2 +- app/templates/settings/data.gts | 2 +- app/templates/settings/index.gts | 2 +- app/templates/welcome/auto-start.gts | 2 +- app/templates/welcome/cloud-sync.gts | 2 +- app/templates/welcome/dock-icon.gts | 2 +- app/templates/welcome/index.gts | 2 +- app/utils/remove-from-to.ts | 6 +- electron-app/forge.config.ts | 4 +- electron-app/src/auto-update.ts | 2 +- electron-app/src/color-picker.ts | 2 +- electron-app/src/main.ts | 11 +- electron-app/src/shortcuts.ts | 8 +- tests/acceptance/color-picker-test.js | 18 +-- tests/acceptance/colors-test.js | 10 +- tests/acceptance/kuler-test.js | 56 ++++----- tests/acceptance/palettes-test.js | 116 +++++++++--------- tests/acceptance/settings-test.js | 2 +- tests/acceptance/settings/cloud-test.ts | 12 +- tests/acceptance/settings/data-test.ts | 4 +- tests/helpers.ts | 6 +- tests/orbit/seed.js | 28 ++--- tests/unit/services/data-test.ts | 30 ++--- tsconfig.json | 29 ++--- vite.config.mjs | 4 +- vite.renderer.config.ts | 2 +- 64 files changed, 333 insertions(+), 387 deletions(-) delete mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 5494bdcf5..000000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: CI - -on: - push: - branches: - - main - - master - pull_request: {} - -concurrency: - group: ci-${{ github.head_ref || github.ref }} - cancel-in-progress: true - -jobs: - lint: - name: "Lint" - runs-on: ubuntu-latest - timeout-minutes: 10 - - steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v4 - with: - version: 9 - - name: Install Node - uses: actions/setup-node@v3 - with: - node-version: 18 - cache: pnpm - - name: Install Dependencies - run: pnpm install --frozen-lockfile - - name: Lint - run: pnpm lint - - test: - name: "Test" - runs-on: ubuntu-latest - timeout-minutes: 10 - - steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v4 - with: - version: 9 - - name: Install Node - uses: actions/setup-node@v3 - with: - node-version: 18 - cache: pnpm - - name: Install Dependencies - run: pnpm install --frozen-lockfile - - name: Run Tests - run: pnpm test diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index 4e6e716b7..3dc6965c9 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -260,9 +260,9 @@ export default class ColorPickerComponent 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..a5f79016b 100644 --- a/app/components/contrast-checker.gts +++ b/app/components/contrast-checker.gts @@ -170,14 +170,14 @@ export default class ContrastChecker extends Component 'pickContrastBgColor', (_event, color: IroColorValue) => { this.setBgColor(color); - }, + } ); this.ipcRenderer.on( 'pickContrastFgColor', (_event, color: IroColorValue) => { this.setFgColor(color); - }, + } ); } } diff --git a/app/components/kuler-palette-row.gts b/app/components/kuler-palette-row.gts index 0df03a0dc..98ffcae98 100644 --- a/app/components/kuler-palette-row.gts +++ b/app/components/kuler-palette-row.gts @@ -4,13 +4,13 @@ import { action } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import Component from '@glimmer/component'; +import type { Store } from '@ef4/ember-orbit'; import type { Transition } from 'ember-animated/-private/transition'; import AnimatedIf from 'ember-animated/components/animated-if'; import type MotionService from 'ember-animated/services/-ea-motion'; import fade from 'ember-animated/transitions/fade'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import sub from 'ember-math-helpers/helpers/sub'; -import type { Store } from '@ef4/ember-orbit'; import set from 'ember-set-helper/helpers/set'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import eq from 'ember-truth-helpers/helpers/eq'; diff --git a/app/components/kuler.gts b/app/components/kuler.gts index 08e78f4de..601a7b9d8 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -142,7 +142,7 @@ export default class KulerComponent extends Component { 'selectKulerColor', (_event: unknown, colorIndex: number) => { this.setSelectedIroColor(colorIndex); - }, + } ); this.ipcRenderer.on( @@ -152,9 +152,9 @@ export default class KulerComponent extends Component { await this._onColorChange(color); this.colorPicker.setColors( this.selectedPalette.colors.map((c) => c.hex), - this.selectedPalette.selectedColorIndex, + this.selectedPalette.selectedColorIndex ); - }, + } ); } }); @@ -187,7 +187,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; @@ -196,23 +196,20 @@ export default class KulerComponent extends Component { this.palettes = palettes; - this.selectedPalette = this.palettes[ - selectedPaletteTypeIndex - ]; + this.selectedPalette = this.palettes[selectedPaletteTypeIndex]; } @action setColorAsBase(): Promise { - this.baseColor = this.selectedPalette.colors[ - this.selectedPalette.selectedColorIndex - ]; + this.baseColor = + this.selectedPalette.colors[this.selectedPalette.selectedColorIndex]; 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 +235,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 +250,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 @@ -262,15 +259,14 @@ export default class KulerComponent extends Component { ]); if (selectedColorIndex === 0) { - this.baseColor = this.selectedPalette.colors[ - this.selectedPalette.selectedColorIndex - ]; + this.baseColor = + this.selectedPalette.colors[this.selectedPalette.selectedColorIndex]; await this.setColorAsBase(); } this.colorPicker.setColors( this.selectedPalette.colors.map((c) => c.hex), - this.selectedPalette.selectedColorIndex, + this.selectedPalette.selectedColorIndex ); } @@ -323,7 +319,7 @@ export default class KulerComponent extends Component { }, ], width: 207, - }, + } ); this.colorPicker.on('color:change', this._debouncedColorChange); diff --git a/app/components/palette-row.gts b/app/components/palette-row.gts index 1c005fd51..dae4f184f 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -6,13 +6,13 @@ 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 '@ef4/ember-orbit'; import noop from '@nullvoxpopuli/ember-composable-helpers/helpers/noop'; import fade from 'ember-animated/transitions/fade'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import type DragSortService from 'ember-drag-sort/services/drag-sort'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import sub from 'ember-math-helpers/helpers/sub'; -import type { Store } from '@ef4/ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import eq from 'ember-truth-helpers/helpers/eq'; import not from 'ember-truth-helpers/helpers/not'; @@ -58,7 +58,7 @@ class MenuOption { action: () => void, icon: string, label: string, - palette: PaletteModel, + palette: PaletteModel ) { this.action = action; this.icon = icon; @@ -267,14 +267,14 @@ export default class PaletteRowComponent extends Component this.toggleIsEditing, 'rename', 'Rename Palette', - this.args.palette, + this.args.palette ), new MenuOption( // eslint-disable-next-line @typescript-eslint/no-misused-promises this.duplicatePalette, 'duplicate', 'Duplicate Palette', - this.args.palette, + this.args.palette ), new LockOption(this.lockPalette, this.args.palette), new FavoriteOption(this.favoritePalette, this.args.palette), @@ -282,14 +282,14 @@ export default class PaletteRowComponent extends Component this.sharePalette, 'share', 'Share Palette', - this.args.palette, + this.args.palette ), new MenuOption( // eslint-disable-next-line @typescript-eslint/no-misused-promises this.deletePalette, 'trash', 'Delete Palette', - this.args.palette, + this.args.palette ), ]; @@ -299,9 +299,9 @@ export default class PaletteRowComponent extends Component (event: { draggedItem: { hex: string | null } }) => { document.documentElement.style.setProperty( '--dragged-swatch-color', - event.draggedItem.hex, + event.draggedItem.hex ); - }, + } ); } @@ -313,7 +313,7 @@ export default class PaletteRowComponent extends Component return this.args?.palette?.colorOrder?.map( (color: { type: string; id: string }) => { return this.args.palette.colors.find((c) => c.id === color.id); - }, + } ); } @@ -338,7 +338,7 @@ export default class PaletteRowComponent extends Component // Find the color by id and replace it with colorCopy.id colorOrder = colorOrder.map((c) => - c.id === color.id ? { type: 'color', id: colorCopy.id } : c, + c.id === color.id ? { type: 'color', id: colorCopy.id } : c ); return colorCopy; @@ -375,8 +375,8 @@ export default class PaletteRowComponent extends Component t.replaceAttribute( this.args.palette, 'isFavorite', - !this.args.palette.isFavorite, - ), + !this.args.palette.isFavorite + ) ); } }; @@ -391,8 +391,8 @@ export default class PaletteRowComponent extends Component t.replaceAttribute( this.args.palette, 'isLocked', - !this.args.palette.isLocked, - ), + !this.args.palette.isLocked + ) ); }; @@ -405,7 +405,7 @@ export default class PaletteRowComponent extends Component }); const url = `https://swach.io/palette?data=${encodeURIComponent( - JSON.stringify({ name, colors: urlColors }), + JSON.stringify({ name, colors: urlColors }) )}`; if (typeof requireNode !== 'undefined') { @@ -434,8 +434,8 @@ export default class PaletteRowComponent extends Component t.replaceAttribute( this.args.palette, 'name', - (event.target).value, - ), + (event.target).value + ) ); }; } diff --git a/app/components/palettes-list.gts b/app/components/palettes-list.gts index 65cc48b76..74c7e0fec 100644 --- a/app/components/palettes-list.gts +++ b/app/components/palettes-list.gts @@ -116,8 +116,8 @@ export default class PalettesListComponent 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 495cd92b0..eca5d059c 100644 --- a/app/components/settings-data.gts +++ b/app/components/settings-data.gts @@ -3,9 +3,9 @@ import type Owner from '@ember/owner'; import { service } from '@ember/service'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; +import type { Store } from '@ef4/ember-orbit'; import type FlashMessageService from 'ember-cli-flash/services/flash-messages'; import { storageFor } from 'ember-local-storage'; -import type { Store } from '@ef4/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'; @@ -122,13 +122,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 +138,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,7 +153,7 @@ export default class SettingsData extends Component { IDBExportImport.importFromJsonString( idbDatabase, jsonString, - + async (err: Event | null) => { if (!err) { idbDatabase.close(); @@ -164,7 +164,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 +177,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/config/environment.ts b/app/config/environment.ts index 1e13df3b8..77486a7e8 100644 --- a/app/config/environment.ts +++ b/app/config/environment.ts @@ -1,17 +1,32 @@ -import loadConfigFromMeta from '@embroider/config-meta-loader'; import { assert } from '@ember/debug'; +import loadConfigFromMeta from '@embroider/config-meta-loader'; const config = loadConfigFromMeta('swach') as unknown; -assert("config is not an object", typeof config === "object" && config !== null); -assert("modulePrefix was not detected on your config", "modulePrefix" in config && typeof config.modulePrefix === 'string') -assert("locationType was not detected on your config", "locationType" in config && typeof config.locationType === 'string') -assert("rootURL was not detected on your config", "rootURL" in config && typeof config.rootURL === 'string') -assert("APP was not detected on your config", "APP" in config && typeof config.APP === 'object') +assert( + 'config is not an object', + typeof config === 'object' && config !== null +); +assert( + 'modulePrefix was not detected on your config', + 'modulePrefix' in config && typeof config.modulePrefix === 'string' +); +assert( + 'locationType was not detected on your config', + 'locationType' in config && typeof config.locationType === 'string' +); +assert( + 'rootURL was not detected on your config', + 'rootURL' in config && typeof config.rootURL === 'string' +); +assert( + 'APP was not detected on your config', + 'APP' in config && typeof config.APP === 'object' +); export default config as { - modulePrefix: string, - locationType: string, - rootURL: string, - APP: Record + modulePrefix: string; + locationType: string; + rootURL: string; + APP: Record; } & Record; diff --git a/app/controllers/application.ts b/app/controllers/application.ts index 72627fd0c..ffd84c113 100644 --- a/app/controllers/application.ts +++ b/app/controllers/application.ts @@ -3,9 +3,9 @@ import { action, get } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; +import type { Store } from '@ef4/ember-orbit'; import type FlashMessageService from 'ember-cli-flash/services/flash-messages'; import { storageFor } from 'ember-local-storage'; -import type { Store } from '@ef4/ember-orbit'; import type { RecordSchema } from '@orbit/records'; import type { IpcRenderer } from 'electron'; import type { SelectedColorModel } from 'swach/components/rgb-input'; @@ -109,7 +109,7 @@ export default class ApplicationController extends Controller { if (addedColor) { await this.colorUtils.copyColorToClipboard(addedColor); } - }, + } ); this.ipcRenderer.on('openContrastChecker', () => { @@ -128,7 +128,7 @@ export default class ApplicationController extends Controller { const name = data?.name ?? 'Palette'; await this.createPalette(name, colors); - }, + } ); this.ipcRenderer.on('setTheme', (_event: unknown, theme: string) => { @@ -171,7 +171,7 @@ export default class ApplicationController extends Controller { if (colorHistory) { const colorPOJO = this.colorUtils.createColorPOJO( color, - this.dataSchema.generateId('color'), + this.dataSchema.generateId('color') ); delete colorPOJO.attributes.hex; @@ -198,14 +198,14 @@ export default class ApplicationController extends Controller { @action async createPalette( paletteName: string, - colors: { name: string; hex: string }[], + colors: { name: string; hex: string }[] ): Promise { this.router.transitionTo('palettes'); const colorPOJOs = colors.map((c) => { const colorPOJO = this.colorUtils.createColorPOJO( c.hex, - this.dataSchema.generateId('color'), + this.dataSchema.generateId('color') ); delete colorPOJO.attributes.hex; @@ -237,7 +237,7 @@ export default class ApplicationController extends Controller { enableDisableAutoStart(event: Event): void { this.ipcRenderer.send( 'enableDisableAutoStart', - (event.target).checked, + (event.target).checked ); } diff --git a/app/controllers/palettes.ts b/app/controllers/palettes.ts index 86d8bf7a9..191343789 100644 --- a/app/controllers/palettes.ts +++ b/app/controllers/palettes.ts @@ -47,7 +47,7 @@ export default class PalettesController extends Controller { if (colorHistory) { await this.store.update((t) => - t.replaceRelatedRecords(colorHistory, 'colors', []), + t.replaceRelatedRecords(colorHistory, 'colors', []) ); } @@ -116,7 +116,7 @@ export default class PalettesController extends Controller { sourceList, targetList, targetIndex, - targetPalette, + targetPalette ); } else if (sourceList === targetList) { // Move color within a single palette @@ -125,7 +125,7 @@ export default class PalettesController extends Controller { sourceColor, sourceList, sourcePalette, - targetIndex, + targetIndex ); } } else { @@ -136,7 +136,7 @@ export default class PalettesController extends Controller { sourcePalette, targetList, targetIndex, - targetPalette, + targetPalette ); } @@ -152,7 +152,7 @@ export default class PalettesController extends Controller { sourceList: ColorModel[], targetList: ColorModel[], targetIndex: number, - targetParent: PaletteModel, + targetParent: PaletteModel ): Promise { if (sourceList !== targetList) { // Clone the attributes of the original color but not its id and @@ -188,12 +188,12 @@ export default class PalettesController extends Controller { t.replaceAttribute( { type: 'palette', id: targetParent.id }, 'colorOrder', - colorsList, + colorsList ), t.replaceRelatedRecords( { type: 'palette', id: targetParent.id }, 'colors', - colorsList, + colorsList ), ]); } @@ -206,7 +206,7 @@ export default class PalettesController extends Controller { sourceColor: ColorModel, sourceList: ColorModel[], sourcePalette: PaletteModel, - targetIndex: number, + targetIndex: number ): Promise { const sourceColorList = sourceList.map((c) => c.$identity); const colorToMove = sourceColorList.find((c) => c.id === sourceColor.id); @@ -216,7 +216,7 @@ export default class PalettesController extends Controller { sourceColorList.splice(targetIndex, 0, colorToMove); await this.store.update((t) => - t.replaceAttribute(sourcePalette, 'colorOrder', sourceColorList), + t.replaceAttribute(sourcePalette, 'colorOrder', sourceColorList) ); } } @@ -230,7 +230,7 @@ export default class PalettesController extends Controller { sourcePalette: PaletteModel, targetList: ColorModel[], targetIndex: number, - targetPalette: PaletteModel, + targetPalette: PaletteModel ): Promise { const sourceColorOrder = sourceList.map((c) => c.$identity); const colorToRemove = sourceColorOrder.find((c) => c.id === sourceColor.id); @@ -248,12 +248,12 @@ export default class PalettesController extends Controller { let insertIndex = targetIndex; const targetColorOrder = targetList.map((c) => c.$identity); const existingColor = targetList.find( - (c) => c.hex === sourceColor.hex, + (c) => c.hex === sourceColor.hex ); if (existingColor) { const colorToRemove = targetColorOrder.find( - (c) => c.id === existingColor.id, + (c) => c.id === existingColor.id ); if (colorToRemove) { @@ -268,7 +268,7 @@ export default class PalettesController extends Controller { targetColorOrder.splice( targetColorOrder.indexOf(colorToRemove), - 1, + 1 ); } @@ -277,11 +277,11 @@ export default class PalettesController extends Controller { targetColorOrder.splice(insertIndex, 0, sourceColor.$identity); operations.push( - t.addToRelatedRecords(targetPalette, 'colors', sourceColor), + t.addToRelatedRecords(targetPalette, 'colors', sourceColor) ); operations.push( - t.replaceAttribute(targetPalette, 'colorOrder', targetColorOrder), + t.replaceAttribute(targetPalette, 'colorOrder', targetColorOrder) ); } diff --git a/app/data-sources/backup.ts b/app/data-sources/backup.ts index 9fba35629..ced56b76f 100644 --- a/app/data-sources/backup.ts +++ b/app/data-sources/backup.ts @@ -37,14 +37,14 @@ export default { // eslint-disable-next-line @typescript-eslint/no-misused-promises backup.cache.migrateDB = async ( _db: IDBDatabase, - event: IDBVersionChangeEvent, + event: IDBVersionChangeEvent ) => { const { newVersion, oldVersion, currentTarget } = event; const request = currentTarget as IDBRequest; const transaction = request.transaction as IDBTransaction; console.log( - `migrating indexeddb from version ${oldVersion} to ${newVersion}`, + `migrating indexeddb from version ${oldVersion} to ${newVersion}` ); if (oldVersion === 1) { @@ -77,7 +77,7 @@ export default { const palette = palettes.find( (record): record is PalettePOJO => record.id === paletteIdentity?.id && - record.type === 'palette', + record.type === 'palette' ); if (palette) { @@ -91,7 +91,7 @@ export default { // Replace color in palette with color copy palette.relationships.colors.data = palette.relationships.colors.data.map( - replaceColorIdWithCopy, + replaceColorIdWithCopy ); } @@ -146,7 +146,7 @@ export default { // migrations. function getRecordsFromIDB( transaction: IDBTransaction, - type: string, + type: string ): Promise { return new Promise((resolve) => { const objectStore = transaction.objectStore(type); @@ -171,7 +171,7 @@ function getRecordsFromIDB( function clearRecordsFromIDB( transaction: IDBTransaction, - type: string, + type: string ): Promise { return new Promise((resolve) => { const objectStore = transaction.objectStore(type); @@ -186,7 +186,7 @@ function clearRecordsFromIDB( function setRecordsInIDB( transaction: IDBTransaction, type: string, - records: InitializedRecord[], + records: InitializedRecord[] ): Promise { return new Promise((resolve) => { let i = 0; diff --git a/app/data-sources/remote.js b/app/data-sources/remote.js index 60538eb3f..f4dd8362c 100644 --- a/app/data-sources/remote.js +++ b/app/data-sources/remote.js @@ -1,6 +1,6 @@ import { getOwner } from '@ember/application'; -import { pluralize, singularize } from 'ember-inflector'; import { applyStandardSourceInjections } from '@ef4/ember-orbit'; +import { pluralize, singularize } from 'ember-inflector'; import { JSONAPIRequestProcessor, JSONAPISerializers, diff --git a/app/routes/colors.ts b/app/routes/colors.ts index 228d33ee6..c3fb55123 100644 --- a/app/routes/colors.ts +++ b/app/routes/colors.ts @@ -1,8 +1,8 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import { storageFor } from 'ember-local-storage'; import type { Store } from '@ef4/ember-orbit'; +import { storageFor } from 'ember-local-storage'; import type PaletteModel from 'swach/data-models/palette'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; diff --git a/app/routes/kuler.ts b/app/routes/kuler.ts index f10f65a6c..57d512ef4 100644 --- a/app/routes/kuler.ts +++ b/app/routes/kuler.ts @@ -1,8 +1,8 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import { storageFor } from 'ember-local-storage'; import type { Store } from '@ef4/ember-orbit'; +import { storageFor } from 'ember-local-storage'; import type ColorModel from 'swach/data-models/color'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; diff --git a/app/routes/palettes.ts b/app/routes/palettes.ts index bfa4f6817..80d1cc5d1 100644 --- a/app/routes/palettes.ts +++ b/app/routes/palettes.ts @@ -1,8 +1,8 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import { storageFor } from 'ember-local-storage'; import type { LiveQuery, Store } from '@ef4/ember-orbit'; +import { storageFor } from 'ember-local-storage'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; import viewTransitions from 'swach/utils/view-transitions'; @@ -24,7 +24,7 @@ export default class PalettesRoute extends Route { qb .findRecords('palette') .filter({ attribute: 'isColorHistory', value: false }) - .sort('index'), + .sort('index') ); } diff --git a/app/services/cognito.js b/app/services/cognito.js index 00543ad98..cdf1568de 100644 --- a/app/services/cognito.js +++ b/app/services/cognito.js @@ -6,7 +6,7 @@ const cognitoEnv = Object.assign( { autoRefreshSession: false, }, - ENV.cognito, + ENV.cognito ); export default class CognitoServiceExtended extends CognitoService { @@ -32,7 +32,7 @@ export default class CognitoServiceExtended extends CognitoService { userPoolId: poolId, userPoolWebClientId: clientId, }, - awsconfig, + awsconfig ); this.auth.configure(params); diff --git a/app/services/color-utils.ts b/app/services/color-utils.ts index 16b92a124..4662babca 100644 --- a/app/services/color-utils.ts +++ b/app/services/color-utils.ts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import Service, { service } from '@ember/service'; -import { storageFor } from 'ember-local-storage'; import type { Store } from '@ef4/ember-orbit'; +import { storageFor } from 'ember-local-storage'; import { TinyColor } from '@ctrl/tinycolor'; import type { ColorInput } from '@ctrl/tinycolor'; import type { IpcRenderer } from 'electron'; diff --git a/app/services/data.ts b/app/services/data.ts index d90b4f977..2a55cd536 100644 --- a/app/services/data.ts +++ b/app/services/data.ts @@ -29,7 +29,7 @@ export default class DataService extends Service { } return t.addRecord(r); - }), + }) ); } @@ -41,7 +41,7 @@ export default class DataService extends Service { async synchronize(): Promise { if (!this.isActivated) { throw new Error( - 'Data service: synchronize cannot be called prior to activate', + 'Data service: synchronize cannot be called prior to activate' ); } @@ -49,7 +49,7 @@ export default class DataService extends Service { const colorHistoryPalettes = this.store.cache.query((q) => q .findRecords('palette') - .filter({ attribute: 'isColorHistory', value: true }), + .filter({ attribute: 'isColorHistory', value: true }) ); // Ensure that there is one, and only one, palette marked as isColorHistory. @@ -69,7 +69,7 @@ export default class DataService extends Service { }); } else if (colorHistoryPalettes.length > 1) { const remoteColorHistoryPalette = remotePaletteRecords.find( - (p) => p.attributes?.['isColorHistory'], + (p) => p.attributes?.['isColorHistory'] ); const preferredColorHistoryPaletteId = @@ -86,7 +86,7 @@ export default class DataService extends Service { } await this.store.update((t) => - duplicateColorHistoryPalettes.map((p) => t.removeRecord(p)), + duplicateColorHistoryPalettes.map((p) => t.removeRecord(p)) ); } } @@ -99,7 +99,7 @@ export default class DataService extends Service { private async getRecordsFromBackup(): Promise { const records = await this.backup.query((q) => - q.findRecords(), + q.findRecords() ); if (records?.length > 0) { @@ -126,7 +126,7 @@ export default class DataService extends Service { if (this.session.isAuthenticated) { const remotePaletteRecords = await this.remote.query( (q) => q.findRecords('palette'), - { include: ['colors'] }, + { include: ['colors'] } ); if (remotePaletteRecords?.length > 0) { @@ -136,10 +136,10 @@ export default class DataService extends Service { // should be a one-time operation that will happen on initial login // after signing up. let colors = this.store.source.cache.query((q) => - q.findRecords('color'), + q.findRecords('color') ); let palettes = this.store.source.cache.query((q) => - q.findRecords('palette'), + q.findRecords('palette') ); // Add colors first, then palettes, then relationships between them @@ -170,14 +170,14 @@ export default class DataService extends Service { if (colors.length > 0) { await this.remote.update( (t) => colors.map((r) => t.addRecord(r)), - { parallelRequests: true }, + { parallelRequests: true } ); } if (palettes.length > 0) { await this.remote.update( (t) => palettes.map((r) => t.addRecord(r)), - { parallelRequests: true }, + { parallelRequests: true } ); } @@ -185,16 +185,16 @@ export default class DataService extends Service { await this.remote.update( (t) => paletteColors.map((p) => - t.replaceRelatedRecords(p.palette, 'colors', p.colors), + t.replaceRelatedRecords(p.palette, 'colors', p.colors) ), - { parallelRequests: true }, + { parallelRequests: true } ); } // Re-fetch palettes and colors from remote return this.remote.query( (q) => q.findRecords('palette'), - { include: ['colors'] }, + { include: ['colors'] } ); } } else { diff --git a/app/services/nearest-color.ts b/app/services/nearest-color.ts index 8a1c46041..25318b26a 100644 --- a/app/services/nearest-color.ts +++ b/app/services/nearest-color.ts @@ -13,9 +13,9 @@ export default class NearestColorService extends Service { const namedColors = colorNameList.reduce( ( o: { [key: string]: string }, - { name, hex }: { name: string; hex: string }, + { name, hex }: { name: string; hex: string } ) => Object.assign(o, { [name]: hex }), - {}, + {} ); this.nearest = nearestColor.from(namedColors); diff --git a/app/services/undo-manager.ts b/app/services/undo-manager.ts index 339f4fda8..bac91f06f 100644 --- a/app/services/undo-manager.ts +++ b/app/services/undo-manager.ts @@ -83,7 +83,7 @@ export default class UndoManager extends Service { async execute( command: { undo: () => Promise; redo: () => Promise }, - action: 'undo' | 'redo', + action: 'undo' | 'redo' ) { if (!command || typeof command[action] !== 'function') { return this; diff --git a/app/styles/app.css b/app/styles/app.css index 063b775d8..807d041f6 100644 --- a/app/styles/app.css +++ b/app/styles/app.css @@ -1,8 +1,8 @@ -@import "fonts"; -@import "tailwind"; -@import "variables"; -@import "main"; -@import "color-squares"; -@import "icons"; -@import "drag-sort"; +@import 'fonts'; +@import 'tailwind'; +@import 'variables'; +@import 'main'; +@import 'color-squares'; +@import 'icons'; +@import 'drag-sort'; /* @import "three-dots/three-dots"; */ diff --git a/app/styles/drag-sort.css b/app/styles/drag-sort.css index 717f4eb92..2ee5b31a6 100644 --- a/app/styles/drag-sort.css +++ b/app/styles/drag-sort.css @@ -2,7 +2,7 @@ .dragSortList.-isExpanded.-isDraggingOver::before, .dragSortItem.-placeholderBefore::before, .dragSortItem.-placeholderAfter::before { - content: ""; + content: ''; display: inline-block; height: 100%; width: 5px; diff --git a/app/styles/fonts.css b/app/styles/fonts.css index 5811ec3f9..28de5be3a 100644 --- a/app/styles/fonts.css +++ b/app/styles/fonts.css @@ -1,5 +1,5 @@ @font-face { font-family: Inter; - src: url("fonts/inter-variable.otf") format("truetype"); + src: url('fonts/inter-variable.otf') format('truetype'); font-weight: 1 999; } diff --git a/app/styles/main.css b/app/styles/main.css index cbf8da9b4..704d3dc90 100644 --- a/app/styles/main.css +++ b/app/styles/main.css @@ -61,7 +61,7 @@ button { .selected-color { &::after { - content: ""; /* Required to display content */ + content: ''; /* Required to display content */ position: absolute; /* Sets the position absolute to the top div */ bottom: 0; left: 50%; @@ -84,8 +84,8 @@ button { /* stylelint-enable selector-class-pattern */ } -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { +input[type='number']::-webkit-inner-spin-button, +input[type='number']::-webkit-outer-spin-button { appearance: none; margin: 0; } diff --git a/app/styles/three-dots/three-dots.css b/app/styles/three-dots/three-dots.css index 28596c3c6..aab513184 100644 --- a/app/styles/three-dots/three-dots.css +++ b/app/styles/three-dots/three-dots.css @@ -2,5 +2,5 @@ Three-Dots ------------------------------ */ -@import "_variables.css"; -@import "_dot-typing.css"; +@import '_variables.css'; +@import '_dot-typing.css'; diff --git a/app/templates/colors.gts b/app/templates/colors.gts index 08556a7cd..ed713f6c5 100644 --- a/app/templates/colors.gts +++ b/app/templates/colors.gts @@ -25,5 +25,5 @@ export default RouteTemplate<{ @palette={{@model}} @toggleColorPickerIsShown={{@controller.application.toggleColorPickerIsShown}} /> - , + ); diff --git a/app/templates/contrast.gts b/app/templates/contrast.gts index 1b6578c04..a46c37546 100644 --- a/app/templates/contrast.gts +++ b/app/templates/contrast.gts @@ -20,5 +20,5 @@ export default RouteTemplate<{ - , + ); diff --git a/app/templates/kuler.gts b/app/templates/kuler.gts index 58a323c9d..bad5683f8 100644 --- a/app/templates/kuler.gts +++ b/app/templates/kuler.gts @@ -17,5 +17,5 @@ export default RouteTemplate<{ - , + ); diff --git a/app/templates/palettes.gts b/app/templates/palettes.gts index 9405538bd..435c6fde2 100644 --- a/app/templates/palettes.gts +++ b/app/templates/palettes.gts @@ -1,8 +1,8 @@ import { concat, fn, hash } from '@ember/helper'; import { on } from '@ember/modifier'; +import type { LiveQuery } from '@ef4/ember-orbit'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; -import type { LiveQuery } from '@ef4/ember-orbit'; import RouteTemplate from 'ember-route-template'; import set from 'ember-set-helper/helpers/set'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; @@ -142,5 +142,5 @@ export default RouteTemplate<{ @palettes={{@model}} @showFavorites={{@controller.showFavorites}} /> - , + ); diff --git a/app/templates/settings.gts b/app/templates/settings.gts index aeb6d76e4..ccf0048bb 100644 --- a/app/templates/settings.gts +++ b/app/templates/settings.gts @@ -24,5 +24,5 @@ export default RouteTemplate<{
{{outlet}}
- , + ); diff --git a/app/templates/settings/cloud.gts b/app/templates/settings/cloud.gts index 0869f60ad..f40733b65 100644 --- a/app/templates/settings/cloud.gts +++ b/app/templates/settings/cloud.gts @@ -17,5 +17,5 @@ export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( {{outlet}} - , + ); diff --git a/app/templates/settings/cloud/forgot-password.gts b/app/templates/settings/cloud/forgot-password.gts index 619e345f6..a3ef00a6c 100644 --- a/app/templates/settings/cloud/forgot-password.gts +++ b/app/templates/settings/cloud/forgot-password.gts @@ -2,5 +2,5 @@ import RouteTemplate from 'ember-route-template'; import ForgotPassword from '../../../components/forgot-password.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( - , + ); diff --git a/app/templates/settings/cloud/login.gts b/app/templates/settings/cloud/login.gts index 8fbb1c0ba..5f64e7c23 100644 --- a/app/templates/settings/cloud/login.gts +++ b/app/templates/settings/cloud/login.gts @@ -2,5 +2,5 @@ import RouteTemplate from 'ember-route-template'; import Login from '../../../components/login.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( - , + ); diff --git a/app/templates/settings/cloud/profile.gts b/app/templates/settings/cloud/profile.gts index 5d5e3c635..c4536ba49 100644 --- a/app/templates/settings/cloud/profile.gts +++ b/app/templates/settings/cloud/profile.gts @@ -36,5 +36,5 @@ export default RouteTemplate<{ - , + ); diff --git a/app/templates/settings/cloud/register/confirm.gts b/app/templates/settings/cloud/register/confirm.gts index 370d82cae..3093cfb99 100644 --- a/app/templates/settings/cloud/register/confirm.gts +++ b/app/templates/settings/cloud/register/confirm.gts @@ -2,5 +2,5 @@ import RouteTemplate from 'ember-route-template'; import RegisterConfirm from '../../../../components/register-confirm.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( - , + ); diff --git a/app/templates/settings/cloud/register/index.gts b/app/templates/settings/cloud/register/index.gts index 919376fc1..68d23f597 100644 --- a/app/templates/settings/cloud/register/index.gts +++ b/app/templates/settings/cloud/register/index.gts @@ -2,5 +2,5 @@ import RouteTemplate from 'ember-route-template'; import Register from '../../../../components/register.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( - , + ); diff --git a/app/templates/settings/data.gts b/app/templates/settings/data.gts index 8653ac384..21f647e9e 100644 --- a/app/templates/settings/data.gts +++ b/app/templates/settings/data.gts @@ -2,5 +2,5 @@ import RouteTemplate from 'ember-route-template'; import SettingsData from '../../components/settings-data.gts'; export default RouteTemplate<{ Args: { model: unknown; controller: unknown } }>( - , + ); diff --git a/app/templates/settings/index.gts b/app/templates/settings/index.gts index dd2884fc8..5971201a3 100644 --- a/app/templates/settings/index.gts +++ b/app/templates/settings/index.gts @@ -11,5 +11,5 @@ export default RouteTemplate<{ @enableDisableAutoStart={{@controller.application.enableDisableAutoStart}} @toggleShowDockIcon={{@controller.application.toggleShowDockIcon}} /> - , + ); diff --git a/app/templates/welcome/auto-start.gts b/app/templates/welcome/auto-start.gts index 7eed4bf2a..5d04a1de7 100644 --- a/app/templates/welcome/auto-start.gts +++ b/app/templates/welcome/auto-start.gts @@ -56,5 +56,5 @@ export default RouteTemplate<{ - , + ); 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 5ea4bee4f..3fd19b08c 100644 --- a/app/templates/welcome/dock-icon.gts +++ b/app/templates/welcome/dock-icon.gts @@ -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 3fa66cfc9..51387e203 100644 --- a/app/utils/remove-from-to.ts +++ b/app/utils/remove-from-to.ts @@ -1,18 +1,18 @@ export default function removeFromTo( array: unknown[], from: number, - to: number, + to: number ): number { array.splice( from, - + !to || // @ts-expect-error: We need to refactor this function 1 + 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/electron-app/forge.config.ts b/electron-app/forge.config.ts index 271002df4..aab1afbdd 100644 --- a/electron-app/forge.config.ts +++ b/electron-app/forge.config.ts @@ -59,7 +59,7 @@ const config: ForgeConfig = { icon: 'electron-app/resources/icon.png', }, }, - ['linux'], + ['linux'] ), new MakerDMG( (arch) => { @@ -69,7 +69,7 @@ const config: ForgeConfig = { icon: 'electron-app/resources/dmg.icns', }; }, - ['darwin'], + ['darwin'] ), // { // name: '@electron-forge/maker-snap', diff --git a/electron-app/src/auto-update.ts b/electron-app/src/auto-update.ts index 192bcd08a..52603425e 100644 --- a/electron-app/src/auto-update.ts +++ b/electron-app/src/auto-update.ts @@ -11,7 +11,7 @@ export const setupUpdateServer = (app) => { () => { autoUpdater.checkForUpdates(); }, - 30 * 60 * 1000, + 30 * 60 * 1000 ); autoUpdater.on('update-downloaded', (event, releaseNotes, releaseName) => { diff --git a/electron-app/src/color-picker.ts b/electron-app/src/color-picker.ts index f0d2bf55f..9270b2eda 100644 --- a/electron-app/src/color-picker.ts +++ b/electron-app/src/color-picker.ts @@ -19,7 +19,7 @@ export async function launchPicker(mb, type = 'global') { } openEyeDropper();`, - true, + true ); if (color) { diff --git a/electron-app/src/main.ts b/electron-app/src/main.ts index b0a262f0a..7e55f0bb1 100644 --- a/electron-app/src/main.ts +++ b/electron-app/src/main.ts @@ -4,7 +4,6 @@ import { init } from '@sentry/electron'; import { ipcMain, nativeTheme } from 'electron'; import isDev from 'electron-is-dev'; import Store from 'electron-store'; - import { menubar } from 'menubar'; import pkg from '../package.json' with { type: 'json' }; import { setupUpdateServer } from './auto-update.js'; @@ -87,7 +86,7 @@ mb.app.allowRendererProcessReuse = true; mb.app.commandLine.appendSwitch('autoplay-policy', 'no-user-gesture-required'); mb.app.commandLine.appendSwitch( 'disable-backgrounding-occluded-windows', - 'true', + 'true' ); mb.app.commandLine.appendSwitch('ignore-certificate-errors', true); @@ -178,16 +177,16 @@ mb.on('after-create-window', async () => { mb.window.webContents.on('render-process-gone', () => { console.log( - 'Your Ember app (or other code) in the main window has crashed.', + '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.', + '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.', + 'Your Ember app (or other code) has made the window unresponsive.' ); }); @@ -249,7 +248,7 @@ if (!isDev && (process.platform === 'darwin' || process.platform === 'win32')) { 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.', + 'This is a serious issue that needs to be handled and/or debugged.' ); console.log(`Exception: ${err}`); }); diff --git a/electron-app/src/shortcuts.ts b/electron-app/src/shortcuts.ts index b9d7b1e50..fe8e1c707 100644 --- a/electron-app/src/shortcuts.ts +++ b/electron-app/src/shortcuts.ts @@ -1,6 +1,10 @@ -import { globalShortcut, shell, Menu } from 'electron'; +import { globalShortcut, Menu, shell } from 'electron'; -export function registerKeyboardShortcuts(mb, launchPicker, openContrastChecker) { +export function registerKeyboardShortcuts( + mb, + launchPicker, + openContrastChecker +) { globalShortcut.register('Ctrl+Super+Alt+p', () => { launchPicker(mb); }); 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..87379a35e 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(); @@ -126,13 +126,13 @@ 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(); 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(); diff --git a/tests/acceptance/kuler-test.js b/tests/acceptance/kuler-test.js index 4f388f716..6301d71b5 100644 --- a/tests/acceptance/kuler-test.js +++ b/tests/acceptance/kuler-test.js @@ -27,13 +27,13 @@ module('Acceptance | kuler', function (hooks) { 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 }); }); @@ -43,19 +43,19 @@ module('Acceptance | kuler', function (hooks) { 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)', @@ -119,13 +119,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 +135,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,7 +143,7 @@ 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)' }); @@ -154,19 +154,19 @@ module('Acceptance | kuler', function (hooks) { 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 +174,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 +182,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 +190,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 +198,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 +231,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 +239,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 +247,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 +255,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)', diff --git a/tests/acceptance/palettes-test.js b/tests/acceptance/palettes-test.js index 9c8a1e23b..82522a29d 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(); @@ -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..ff2660452 100644 --- a/tests/acceptance/settings-test.js +++ b/tests/acceptance/settings-test.js @@ -27,7 +27,7 @@ module('Acceptance | settings', function (hooks) { 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'); 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..8977b87a0 100644 --- a/tests/acceptance/settings/data-test.ts +++ b/tests/acceptance/settings/data-test.ts @@ -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 diff --git a/tests/helpers.ts b/tests/helpers.ts index 9e6266186..8079b9206 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -1,6 +1,6 @@ +import { waitForSource } from '@ef4/ember-orbit/test-support'; import { getContext, settled } from '@ember/test-helpers'; import { animationsSettled } from 'ember-animated/test-support'; -import { waitForSource } from '@ef4/ember-orbit/test-support'; import type Owner from '@ember/owner'; import type Coordinator from '@orbit/coordinator'; import type { IndexedDBSource } from '@orbit/indexeddb'; @@ -17,7 +17,7 @@ export async function waitForAll() { }; }; const coordinator = owner.lookup( - `service:${services.coordinator}`, + `service:${services.coordinator}` ) as unknown as Coordinator; for (const source of coordinator.sources) { @@ -30,7 +30,7 @@ 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 () { if (options.seed) { 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/unit/services/data-test.ts b/tests/unit/services/data-test.ts index 235f8f1d9..1c720a83d 100644 --- a/tests/unit/services/data-test.ts +++ b/tests/unit/services/data-test.ts @@ -20,7 +20,7 @@ module('Unit | Service | data', function (hooks) { hooks.beforeEach(function () { dataService = this.owner.lookup('service:data') as DataService; dataCoordinator = this.owner.lookup( - 'service:dataCoordinator', + 'service:dataCoordinator' ) as unknown as Coordinator; backup = dataCoordinator.getSource('backup'); store = this.owner.lookup('service:store') as unknown as Store; @@ -31,14 +31,14 @@ module('Unit | Service | data', function (hooks) { 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 +46,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' ); }); }); @@ -62,7 +62,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 +78,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 +98,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 +123,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,7 +143,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' ); }); }); @@ -158,7 +158,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' ); assert.ok(dataService.colorHistory, 'colorHistory has been defined'); @@ -167,7 +167,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 63fefc97c..41e540a3e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,31 +1,16 @@ { "extends": "@ember/app-tsconfig", - "include": [ - "app", "tests", "types" - ], + "include": ["app", "tests", "types"], "glint": { - "environment": [ - "ember-loose", - "ember-template-imports" - ] + "environment": ["ember-loose", "ember-template-imports"] }, "compilerOptions": { "allowJs": true, "paths": { - "swach/tests/*": [ - "./tests/*" - ], - "swach/*": [ - "./app/*" - ], - "*": [ - "./types/*" - ] + "swach/tests/*": ["./tests/*"], + "swach/*": ["./app/*"], + "*": ["./types/*"] }, - "types": [ - "ember-source/types", - "@embroider/core/virtual", - "vite/client" - ] - }, + "types": ["ember-source/types", "@embroider/core/virtual", "vite/client"] + } } diff --git a/vite.config.mjs b/vite.config.mjs index 219253dbe..f1edf2eb1 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -1,6 +1,6 @@ -import { defineConfig } from 'vite'; -import { extensions, classicEmberSupport, ember } from '@embroider/vite'; +import { classicEmberSupport, ember, extensions } from '@embroider/vite'; import { babel } from '@rollup/plugin-babel'; +import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ diff --git a/vite.renderer.config.ts b/vite.renderer.config.ts index 555e2ec8a..4c14b646e 100644 --- a/vite.renderer.config.ts +++ b/vite.renderer.config.ts @@ -1,3 +1,3 @@ import defineConfig from './vite.config.mjs'; -export default defineConfig; \ No newline at end of file +export default defineConfig; From a3ccb0cd80324172ce9c8b1b2357fac634ab544b Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 16 Aug 2025 09:07:32 -0400 Subject: [PATCH 07/54] Various tweaks --- jsconfig.json | 12 ------------ pnpm-lock.yaml | 20 +++++++------------- testem-electron.js => testem-electron.cjs | 0 tests/helpers.ts | 1 - tests/unit/services/data-test.ts | 1 - tsconfig.json | 7 ++++++- 6 files changed, 13 insertions(+), 28 deletions(-) delete mode 100644 jsconfig.json rename testem-electron.js => testem-electron.cjs (100%) 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/pnpm-lock.yaml b/pnpm-lock.yaml index 1a06bc424..8b22855d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14067,8 +14067,8 @@ snapshots: '@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(@babel/core@7.28.3) - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -14087,8 +14087,8 @@ snapshots: '@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(@babel/core@7.28.3) - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -14108,7 +14108,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.3) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) @@ -14139,21 +14139,15 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8(@babel/core@7.28.3)': + '@types/ember__debug@4.0.8': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 - transitivePeerDependencies: - - '@babel/core' - - supports-color - '@types/ember__engine@4.0.11(@babel/core@7.28.3)': + '@types/ember__engine@4.0.11': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 - transitivePeerDependencies: - - '@babel/core' - - supports-color '@types/ember__error@4.0.6': {} diff --git a/testem-electron.js b/testem-electron.cjs similarity index 100% rename from testem-electron.js rename to testem-electron.cjs diff --git a/tests/helpers.ts b/tests/helpers.ts index 8079b9206..e8ee58664 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -5,7 +5,6 @@ import type Owner from '@ember/owner'; import type Coordinator from '@orbit/coordinator'; import type { IndexedDBSource } from '@orbit/indexeddb'; import type BucketClass from '@orbit/indexeddb-bucket'; -// @ts-expect-error TODO: not yet typed import seedOrbit from './orbit/seed'; export async function waitForAll() { diff --git a/tests/unit/services/data-test.ts b/tests/unit/services/data-test.ts index 1c720a83d..a86d9ed9d 100644 --- a/tests/unit/services/data-test.ts +++ b/tests/unit/services/data-test.ts @@ -6,7 +6,6 @@ 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) { diff --git a/tsconfig.json b/tsconfig.json index 41e540a3e..a98f0023d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,11 @@ "swach/*": ["./app/*"], "*": ["./types/*"] }, - "types": ["ember-source/types", "@embroider/core/virtual", "vite/client"] + "types": [ + "ember-source/types", + "@embroider/core/virtual", + "vite/client", + "node" + ] } } From 3ae17080ea7a14ef3e7a2aa5c0446506f0b0fbb2 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 16 Aug 2025 09:31:09 -0400 Subject: [PATCH 08/54] Fix some lint and types issues --- app/components/alpha-input.gts | 2 +- app/components/color-picker.gts | 4 +- app/components/color-row.gts | 2 +- app/components/colors-list.gts | 2 +- electron-app/src/color-picker.ts | 4 +- electron-app/src/ipc-events.ts | 3 +- electron-app/src/main.ts | 2 +- electron-app/src/preload.ts | 2 +- electron-app/src/shortcuts.ts | 7 ++-- eslint.config.mjs | 55 ++++++++++++++++--------- postcss.config.js => postcss.config.cjs | 0 11 files changed, 52 insertions(+), 31 deletions(-) rename postcss.config.js => postcss.config.cjs (100%) diff --git a/app/components/alpha-input.gts b/app/components/alpha-input.gts index a5b099624..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 './rgb-input.gts'; +import type { SelectedColorModel } from './rgb-input'; import { rgbaToHex } from 'swach/data-models/color'; interface AlphaInputSignature { diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index 3dc6965c9..11d52ef69 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -17,12 +17,12 @@ import type UndoManager from '../services/undo-manager.ts'; import AlphaInput from './alpha-input.gts'; import ColorRow from './color-row.gts'; import HexInput from './hex-input.gts'; -import RgbInput from './rgb-input.gts'; import type { PrivateRGBAHex, PublicRGBAHex, SelectedColorModel, -} from './rgb-input.gts'; +} from './rgb-input'; +import RgbInput from './rgb-input.gts'; interface ColorPickerSignature { Element: HTMLDivElement; diff --git a/app/components/color-row.gts b/app/components/color-row.gts index c7c612142..9230d7dac 100644 --- a/app/components/color-row.gts +++ b/app/components/color-row.gts @@ -9,7 +9,7 @@ import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import htmlSafe from '../helpers/html-safe.ts'; import OptionsMenu from './options-menu.gts'; -import type { SelectedColorModel } from './rgb-input.gts'; +import type { SelectedColorModel } from './rgb-input'; import type ColorModel from 'swach/data-models/color'; import type PaletteModel from 'swach/data-models/palette'; import type ColorUtils from 'swach/services/color-utils'; diff --git a/app/components/colors-list.gts b/app/components/colors-list.gts index 371afdf85..6a7ffefea 100644 --- a/app/components/colors-list.gts +++ b/app/components/colors-list.gts @@ -10,7 +10,7 @@ import move from 'ember-animated/motions/move'; import { fadeOut } from 'ember-animated/motions/opacity'; import type { RecordOperationTerm } from '@orbit/records'; import ColorRow from './color-row.gts'; -import type { SelectedColorModel } from './rgb-input.gts'; +import type { SelectedColorModel } from './rgb-input'; import type ColorModel from 'swach/data-models/color'; import type PaletteModel from 'swach/data-models/palette'; import type UndoManager from 'swach/services/undo-manager'; diff --git a/electron-app/src/color-picker.ts b/electron-app/src/color-picker.ts index 9270b2eda..41b144a3e 100644 --- a/electron-app/src/color-picker.ts +++ b/electron-app/src/color-picker.ts @@ -1,4 +1,6 @@ -export async function launchPicker(mb, type = 'global') { +import { type Menubar } from 'menubar'; + +export async function launchPicker(mb: Menubar, type = 'global') { mb.hideWindow(); const color = await mb.window.webContents.executeJavaScript( diff --git a/electron-app/src/ipc-events.ts b/electron-app/src/ipc-events.ts index 9d6bdcb7d..cebe8d57e 100644 --- a/electron-app/src/ipc-events.ts +++ b/electron-app/src/ipc-events.ts @@ -1,10 +1,11 @@ import fs from 'fs'; import { app, clipboard, dialog, ipcMain, nativeTheme, shell } from 'electron'; import { download } from 'electron-dl'; +import { type Menubar } from 'menubar'; import { launchPicker } from './color-picker'; import { restartDialog } from './dialogs'; -export function setupEventHandlers(mb, store) { +export function setupEventHandlers(mb: Menubar, store) { ipcMain.on('copyColorToClipboard', (channel, color) => { clipboard.writeText(color); }); diff --git a/electron-app/src/main.ts b/electron-app/src/main.ts index 7e55f0bb1..721370995 100644 --- a/electron-app/src/main.ts +++ b/electron-app/src/main.ts @@ -5,7 +5,7 @@ import { ipcMain, nativeTheme } from 'electron'; import isDev from 'electron-is-dev'; import Store from 'electron-store'; import { menubar } from 'menubar'; -import pkg from '../package.json' with { type: 'json' }; +import pkg from '../package.json'; import { setupUpdateServer } from './auto-update.js'; import { launchPicker } from './color-picker.js'; import { noUpdatesAvailableDialog } from './dialogs.js'; diff --git a/electron-app/src/preload.ts b/electron-app/src/preload.ts index fcbacbbcb..49c568cb0 100644 --- a/electron-app/src/preload.ts +++ b/electron-app/src/preload.ts @@ -1,5 +1,5 @@ import { init } from '@sentry/electron'; -import pkg from '../package.json' with { type: 'json' }; +import pkg from '../package.json'; init({ appName: 'swach', diff --git a/electron-app/src/shortcuts.ts b/electron-app/src/shortcuts.ts index fe8e1c707..6c10cf59e 100644 --- a/electron-app/src/shortcuts.ts +++ b/electron-app/src/shortcuts.ts @@ -1,7 +1,8 @@ import { globalShortcut, Menu, shell } from 'electron'; +import { type Menubar } from 'menubar'; export function registerKeyboardShortcuts( - mb, + mb: Menubar, launchPicker, openContrastChecker ) { @@ -18,7 +19,7 @@ export function registerKeyboardShortcuts( }); } -export function setupContextMenu(mb, launchPicker, openContrastChecker) { +export function setupContextMenu(mb: Menubar, launchPicker, openContrastChecker) { const contextMenu = Menu.buildFromTemplate([ { label: 'Color Picker', @@ -46,7 +47,7 @@ export function setupContextMenu(mb, launchPicker, openContrastChecker) { }); } -export function setupMenu(mb, launchPicker, openContrastChecker) { +export function setupMenu(mb: Menubar, launchPicker, openContrastChecker) { const isMac = process.platform === 'darwin'; const template = [ diff --git a/eslint.config.mjs b/eslint.config.mjs index 2b928b818..9844ed12c 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, + }, }, }; @@ -74,13 +68,24 @@ export default ts.config( /** * 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/postcss.config.js b/postcss.config.cjs similarity index 100% rename from postcss.config.js rename to postcss.config.cjs From 3c2534184a4267e86f7eecae2be9ba80f1a35376 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 16 Aug 2025 09:44:58 -0400 Subject: [PATCH 09/54] Sync up vite versions --- electron-app/forge.config.ts | 6 +- electron-app/package.json | 2 +- package.json | 2 +- pnpm-lock.yaml | 294 ++--------------------------------- 4 files changed, 18 insertions(+), 286 deletions(-) diff --git a/electron-app/forge.config.ts b/electron-app/forge.config.ts index aab1afbdd..d74d3ba8c 100644 --- a/electron-app/forge.config.ts +++ b/electron-app/forge.config.ts @@ -120,13 +120,13 @@ const config: ForgeConfig = { build: [ { // `entry` is just an alias for `build.lib.entry` in the corresponding file of `config`. - entry: 'src/main.ts', - config: 'vite.main.config.ts', + entry: 'electron-app/src/main.ts', + config: '../vite.main.config.ts', target: 'main', }, { entry: 'electron-app/src/preload.ts', - config: 'vite.preload.config.ts', + config: '../vite.preload.config.ts', target: 'preload', }, ], diff --git a/electron-app/package.json b/electron-app/package.json index ffeb1cce6..b2bdea6ad 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -52,7 +52,7 @@ "electron-debug": "^3.2.0", "electron-download": "^4.1.1", "typescript": "~4.5.4", - "vite": "^5.4.19" + "vite": "^6.3.5" }, "packageManager": "pnpm@10.11.0", "engines": { diff --git a/package.json b/package.json index beb9ef211..4fa745c7a 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "lint:js": "eslint . --cache", "lint:js:fix": "eslint . --fix", "lint:types": "glint", - "make": "ember electron:make", + "make": "pnpm -F swach-electron make", "start": "vite", "start:electron": "pnpm -F swach-electron start", "test": "vite build --mode development && testem ci" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b22855d7..6a8496e65 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -486,8 +486,8 @@ importers: specifier: ~4.5.4 version: 4.5.5 vite: - specifier: ^5.4.19 - version: 5.4.19(@types/node@24.3.0)(terser@5.43.1) + specifier: ^6.3.5 + version: 6.3.5(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) packages: @@ -1665,204 +1665,102 @@ packages: '@embroider/core': ^4.1.2 vite: '>= 5.2.0' - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.25.9': resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.25.9': resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.25.9': resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.25.9': resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.25.9': resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.25.9': resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.25.9': resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.25.9': resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.25.9': resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.25.9': resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.25.9': resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.25.9': resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.25.9': resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.25.9': resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.25.9': resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.25.9': resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.25.9': resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} engines: {node: '>=18'} @@ -1875,12 +1773,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.25.9': resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} engines: {node: '>=18'} @@ -1893,12 +1785,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.25.9': resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} engines: {node: '>=18'} @@ -1911,48 +1797,24 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.25.9': resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.25.9': resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.25.9': resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.25.9': resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} engines: {node: '>=18'} @@ -5682,11 +5544,6 @@ packages: es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.25.9: resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} @@ -10401,37 +10258,6 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} - vite@5.4.19: - resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - vite@6.3.5: resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -12761,150 +12587,81 @@ snapshots: - supports-color - utf-8-validate - '@esbuild/aix-ppc64@0.21.5': - optional: true - '@esbuild/aix-ppc64@0.25.9': optional: true - '@esbuild/android-arm64@0.21.5': - optional: true - '@esbuild/android-arm64@0.25.9': optional: true - '@esbuild/android-arm@0.21.5': - optional: true - '@esbuild/android-arm@0.25.9': optional: true - '@esbuild/android-x64@0.21.5': - optional: true - '@esbuild/android-x64@0.25.9': optional: true - '@esbuild/darwin-arm64@0.21.5': - optional: true - '@esbuild/darwin-arm64@0.25.9': optional: true - '@esbuild/darwin-x64@0.21.5': - optional: true - '@esbuild/darwin-x64@0.25.9': optional: true - '@esbuild/freebsd-arm64@0.21.5': - optional: true - '@esbuild/freebsd-arm64@0.25.9': optional: true - '@esbuild/freebsd-x64@0.21.5': - optional: true - '@esbuild/freebsd-x64@0.25.9': optional: true - '@esbuild/linux-arm64@0.21.5': - optional: true - '@esbuild/linux-arm64@0.25.9': optional: true - '@esbuild/linux-arm@0.21.5': - optional: true - '@esbuild/linux-arm@0.25.9': optional: true - '@esbuild/linux-ia32@0.21.5': - optional: true - '@esbuild/linux-ia32@0.25.9': optional: true - '@esbuild/linux-loong64@0.21.5': - optional: true - '@esbuild/linux-loong64@0.25.9': optional: true - '@esbuild/linux-mips64el@0.21.5': - optional: true - '@esbuild/linux-mips64el@0.25.9': optional: true - '@esbuild/linux-ppc64@0.21.5': - optional: true - '@esbuild/linux-ppc64@0.25.9': optional: true - '@esbuild/linux-riscv64@0.21.5': - optional: true - '@esbuild/linux-riscv64@0.25.9': optional: true - '@esbuild/linux-s390x@0.21.5': - optional: true - '@esbuild/linux-s390x@0.25.9': optional: true - '@esbuild/linux-x64@0.21.5': - optional: true - '@esbuild/linux-x64@0.25.9': optional: true '@esbuild/netbsd-arm64@0.25.9': optional: true - '@esbuild/netbsd-x64@0.21.5': - optional: true - '@esbuild/netbsd-x64@0.25.9': optional: true '@esbuild/openbsd-arm64@0.25.9': optional: true - '@esbuild/openbsd-x64@0.21.5': - optional: true - '@esbuild/openbsd-x64@0.25.9': optional: true '@esbuild/openharmony-arm64@0.25.9': optional: true - '@esbuild/sunos-x64@0.21.5': - optional: true - '@esbuild/sunos-x64@0.25.9': optional: true - '@esbuild/win32-arm64@0.21.5': - optional: true - '@esbuild/win32-arm64@0.25.9': optional: true - '@esbuild/win32-ia32@0.21.5': - optional: true - '@esbuild/win32-ia32@0.25.9': optional: true - '@esbuild/win32-x64@0.21.5': - optional: true - '@esbuild/win32-x64@0.25.9': optional: true @@ -14078,7 +13835,7 @@ snapshots: '@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 + '@types/ember__utils': 4.0.7(@babel/core@7.28.3) '@types/rsvp': 4.0.9 '@types/ember@4.0.11(@babel/core@7.28.3)': @@ -14202,10 +13959,6 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__utils@4.0.7': - dependencies: - '@types/ember': 4.0.11 - '@types/ember__utils@4.0.7(@babel/core@7.28.3)': dependencies: '@types/ember': 4.0.11(@babel/core@7.28.3) @@ -18347,32 +18100,6 @@ snapshots: es6-error@4.1.1: optional: true - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - esbuild@0.25.9: optionalDependencies: '@esbuild/aix-ppc64': 0.25.9 @@ -24142,17 +23869,22 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@5.4.19(@types/node@24.3.0)(terser@5.43.1): + vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1): dependencies: - esbuild: 0.21.5 + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 postcss: 8.5.6 rollup: 4.46.2 + tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 fsevents: 2.3.3 + jiti: 2.5.1 terser: 5.43.1 + yaml: 2.8.1 - vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1): + vite@6.3.5(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -24161,7 +23893,7 @@ snapshots: rollup: 4.46.2 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.17.2 + '@types/node': 24.3.0 fsevents: 2.3.3 jiti: 2.5.1 terser: 5.43.1 From 26af84d28cf1edfb14e2d0a6ae84ae4a2dc49fdc Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 16 Aug 2025 09:50:41 -0400 Subject: [PATCH 10/54] Fix types --- app/components/kuler.gts | 6 +++--- app/components/palettes-list.gts | 2 +- app/config/environment.d.ts | 15 --------------- app/config/environment.ts | 1 + 4 files changed, 5 insertions(+), 19 deletions(-) delete mode 100644 app/config/environment.d.ts diff --git a/app/components/kuler.gts b/app/components/kuler.gts index 601a7b9d8..0a65f9dcb 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -196,13 +196,13 @@ export default class KulerComponent extends Component { this.palettes = palettes; - this.selectedPalette = this.palettes[selectedPaletteTypeIndex]; + this.selectedPalette = this.palettes[selectedPaletteTypeIndex] as PaletteModel; } @action setColorAsBase(): Promise { this.baseColor = - this.selectedPalette.colors[this.selectedPalette.selectedColorIndex]; + this.selectedPalette.colors[this.selectedPalette.selectedColorIndex] as ColorModel; return this.baseColorChanged( this.palettes.indexOf(this.selectedPalette) @@ -260,7 +260,7 @@ export default class KulerComponent extends Component { if (selectedColorIndex === 0) { this.baseColor = - this.selectedPalette.colors[this.selectedPalette.selectedColorIndex]; + this.selectedPalette.colors[this.selectedPalette.selectedColorIndex] as ColorModel; await this.setColorAsBase(); } diff --git a/app/components/palettes-list.gts b/app/components/palettes-list.gts index 74c7e0fec..8dd8e55c9 100644 --- a/app/components/palettes-list.gts +++ b/app/components/palettes-list.gts @@ -103,7 +103,7 @@ export default class PalettesListComponent extends Component { if (sourceList === targetList && sourceIndex === targetIndex) return; - const movedItem = sourceList[sourceIndex]; + const movedItem = sourceList[sourceIndex] as PaletteModel; sourceList.splice(sourceIndex, 1); targetList.splice(targetIndex, 0, movedItem); diff --git a/app/config/environment.d.ts b/app/config/environment.d.ts deleted file mode 100644 index 533c3c549..000000000 --- a/app/config/environment.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Type declarations for - * import config from 'swach/config/environment' - */ -declare const config: { - environment: string; - modulePrefix: string; - podModulePrefix: string; - locationType: 'history' | 'hash' | 'none'; - rootURL: string; - APP: Record; - SCHEMA_VERSION: number; -}; - -export default config; diff --git a/app/config/environment.ts b/app/config/environment.ts index 77486a7e8..32637f8cd 100644 --- a/app/config/environment.ts +++ b/app/config/environment.ts @@ -29,4 +29,5 @@ export default config as { locationType: string; rootURL: string; APP: Record; + SCHEMA_VERSION: number; } & Record; From fc2c13c73ee9c67510ba2e63530695e783c05de7 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Mon, 18 Aug 2025 07:14:49 -0400 Subject: [PATCH 11/54] Run prettier --- app/components/kuler.gts | 14 +++++++++----- electron-app/src/shortcuts.ts | 6 +++++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/components/kuler.gts b/app/components/kuler.gts index 0a65f9dcb..0513e0251 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -196,13 +196,16 @@ export default class KulerComponent extends Component { this.palettes = palettes; - this.selectedPalette = this.palettes[selectedPaletteTypeIndex] as PaletteModel; + this.selectedPalette = this.palettes[ + selectedPaletteTypeIndex + ] as PaletteModel; } @action setColorAsBase(): Promise { - this.baseColor = - this.selectedPalette.colors[this.selectedPalette.selectedColorIndex] as ColorModel; + this.baseColor = this.selectedPalette.colors[ + this.selectedPalette.selectedColorIndex + ] as ColorModel; return this.baseColorChanged( this.palettes.indexOf(this.selectedPalette) @@ -259,8 +262,9 @@ export default class KulerComponent extends Component { ]); if (selectedColorIndex === 0) { - this.baseColor = - this.selectedPalette.colors[this.selectedPalette.selectedColorIndex] as ColorModel; + this.baseColor = this.selectedPalette.colors[ + this.selectedPalette.selectedColorIndex + ] as ColorModel; await this.setColorAsBase(); } diff --git a/electron-app/src/shortcuts.ts b/electron-app/src/shortcuts.ts index 6c10cf59e..1e42702f3 100644 --- a/electron-app/src/shortcuts.ts +++ b/electron-app/src/shortcuts.ts @@ -19,7 +19,11 @@ export function registerKeyboardShortcuts( }); } -export function setupContextMenu(mb: Menubar, launchPicker, openContrastChecker) { +export function setupContextMenu( + mb: Menubar, + launchPicker, + openContrastChecker +) { const contextMenu = Menu.buildFromTemplate([ { label: 'Color Picker', From f0ca7cb6c6d97c81045f74d5566b85939690293a Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Thu, 21 Aug 2025 07:59:33 -0400 Subject: [PATCH 12/54] Move electron deps to the root --- .gitignore | 6 + config/targets.js | 2 +- electron-app/package.json | 62 -- electron-app/src/main.ts | 2 +- electron-app/src/preload.ts | 2 +- electron-app/tsconfig.json | 15 - .../forge.config.ts => forge.config.ts | 6 +- electron-app/forge.env.d.ts => forge.env.d.ts | 0 package.json | 60 +- patches/object-inspect.patch | 41 +- pnpm-lock.yaml | 861 +++++++----------- pnpm-workspace.yaml | 4 - vite.config.mjs | 15 - vite.main.config.ts | 17 +- vite.preload.config.ts | 13 +- vite.renderer.config.ts | 16 +- 16 files changed, 433 insertions(+), 689 deletions(-) delete mode 100644 electron-app/package.json delete mode 100644 electron-app/tsconfig.json rename electron-app/forge.config.ts => forge.config.ts (97%) rename electron-app/forge.env.d.ts => forge.env.d.ts (100%) delete mode 100644 vite.config.mjs diff --git a/.gitignore b/.gitignore index 10cd25a62..a6e2a6375 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,9 @@ electron-out/ .idea/ + +# Vite +.vite/ + +# Electron-Forge +out/ diff --git a/config/targets.js b/config/targets.js index 0f7f9a4ac..e72871c48 100644 --- a/config/targets.js +++ b/config/targets.js @@ -1,5 +1,5 @@ 'use strict'; module.exports = { - browsers: ['electron >= 33.0.0'], + browsers: ['electron >= 37.0.0'], }; diff --git a/electron-app/package.json b/electron-app/package.json deleted file mode 100644 index b2bdea6ad..000000000 --- a/electron-app/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "swach-electron", - "productName": "swach", - "version": "1.2.15", - "description": "A robust color management tool for the modern age.", - "main": ".vite/build/main.js", - "scripts": { - "start": "electron-forge start", - "package": "electron-forge package", - "make": "electron-forge make", - "publish": "electron-forge publish", - "lint": "eslint --ext .ts,.tsx ." - }, - "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/plugin-auto-unpack-natives": "^7.8.3", - "@electron-forge/plugin-fuses": "^7.8.3", - "@electron-forge/plugin-vite": "^7.8.3", - "@electron/fuses": "^1.8.0", - "@electron-forge/publisher-snapcraft": "^7.8.3", - "@sentry/cli": "^2.51.1", - "@types/electron-squirrel-startup": "^1.0.2", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "electron": "^33.4.11", - "electron-debug": "^3.2.0", - "electron-download": "^4.1.1", - "typescript": "~4.5.4", - "vite": "^6.3.5" - }, - "packageManager": "pnpm@10.11.0", - "engines": { - "node": ">= 20", - "pnpm": "^10.11.0" - } -} diff --git a/electron-app/src/main.ts b/electron-app/src/main.ts index 721370995..167fd4d13 100644 --- a/electron-app/src/main.ts +++ b/electron-app/src/main.ts @@ -5,7 +5,7 @@ import { ipcMain, nativeTheme } from 'electron'; import isDev from 'electron-is-dev'; import Store from 'electron-store'; import { menubar } from 'menubar'; -import pkg from '../package.json'; +import pkg from '../../package.json'; import { setupUpdateServer } from './auto-update.js'; import { launchPicker } from './color-picker.js'; import { noUpdatesAvailableDialog } from './dialogs.js'; diff --git a/electron-app/src/preload.ts b/electron-app/src/preload.ts index 49c568cb0..f8a26ec71 100644 --- a/electron-app/src/preload.ts +++ b/electron-app/src/preload.ts @@ -1,5 +1,5 @@ import { init } from '@sentry/electron'; -import pkg from '../package.json'; +import pkg from '../../package.json'; init({ appName: 'swach', diff --git a/electron-app/tsconfig.json b/electron-app/tsconfig.json deleted file mode 100644 index 74434b2a5..000000000 --- a/electron-app/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "noImplicitAny": true, - "sourceMap": true, - "baseUrl": ".", - "outDir": "dist", - "moduleResolution": "node", - "resolveJsonModule": true - } -} diff --git a/electron-app/forge.config.ts b/forge.config.ts similarity index 97% rename from electron-app/forge.config.ts rename to forge.config.ts index d74d3ba8c..9a8c0bee4 100644 --- a/electron-app/forge.config.ts +++ b/forge.config.ts @@ -121,19 +121,19 @@ const config: ForgeConfig = { { // `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', + config: 'vite.main.config.ts', target: 'main', }, { entry: 'electron-app/src/preload.ts', - config: '../vite.preload.config.ts', + config: 'vite.preload.config.ts', target: 'preload', }, ], renderer: [ { name: 'main_window', - config: '../vite.renderer.config.ts', + config: 'vite.renderer.config.ts', }, ], }), diff --git a/electron-app/forge.env.d.ts b/forge.env.d.ts similarity index 100% rename from electron-app/forge.env.d.ts rename to forge.env.d.ts diff --git a/package.json b/package.json index 4fa745c7a..095fe3b36 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.2.15", "private": true, "description": "A robust color management tool for the modern age.", + "main": ".vite/build/main.js", "repository": "https://github.com/shipshapecode/swach", "license": "MIT", "author": { @@ -27,37 +28,61 @@ "lint:js": "eslint . --cache", "lint:js:fix": "eslint . --fix", "lint:types": "glint", - "make": "pnpm -F swach-electron make", - "start": "vite", - "start:electron": "pnpm -F swach-electron start", + "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": "vite build --mode development && testem ci" }, "exports": { "./tests/*": "./tests/*", "./*": "./app/*" }, + "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": { "@babel/core": "^7.28.3", "@babel/eslint-parser": "^7.28.0", "@babel/plugin-proposal-decorators": "^7.28.0", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-transform-runtime": "^7.27.1", + "@babel/plugin-transform-runtime": "^7.28.3", "@babel/plugin-transform-typescript": "^7.28.0", "@babel/preset-env": "^7.28.3", - "@babel/runtime": "^7.27.1", + "@babel/runtime": "^7.28.3", "@ctrl/tinycolor": "^4.1.0", "@ef4/ember-orbit": "0.17.3-ef4.6", + "@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/plugin-auto-unpack-natives": "^7.8.3", + "@electron-forge/plugin-fuses": "^7.8.3", + "@electron-forge/plugin-vite": "^7.8.3", + "@electron-forge/publisher-snapcraft": "^7.8.3", + "@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": "^4.0.1", "@ember/test-helpers": "^5.2.2", - "@embroider/compat": "^4.1.0", + "@embroider/compat": "^4.1.2", "@embroider/config-meta-loader": "^1.0.0", - "@embroider/core": "^4.1.0", - "@embroider/macros": "^1.18.0", - "@embroider/router": "^3.0.1", - "@embroider/vite": "^1.1.5", + "@embroider/core": "^4.1.3", + "@embroider/macros": "^1.18.1", + "@embroider/router": "^3.0.2", + "@embroider/vite": "^1.1.6", "@eslint/js": "^9.33.0", "@glimmer/component": "^2.0.0", "@glimmer/tracking": "^1.1.2", @@ -79,9 +104,11 @@ "@release-it-plugins/lerna-changelog": "^6.1.0", "@release-it-plugins/workspaces": "^4.2.1", "@rollup/plugin-babel": "^6.0.4", + "@sentry/cli": "^2.51.1", "@sentry/ember": "^7.120.4", "@tailwindcss/forms": "^0.5.10", "@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", @@ -95,10 +122,13 @@ "color-name-list": "^10.28.1", "concurrently": "^9.2.0", "decorator-transforms": "^2.3.0", + "electron": "^37.3.1", + "electron-debug": "^3.2.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.5.0-beta.0", + "ember-cli": "~6.5.0", "ember-cli-app-version": "^7.0.0", "ember-cli-babel": "^8.2.0", "ember-cli-clean-css": "^3.0.0", @@ -111,7 +141,7 @@ "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", @@ -141,7 +171,7 @@ "eslint-plugin-ember": "^12.7.0", "eslint-plugin-n": "^17.21.3", "eslint-plugin-qunit": "^8.2.5", - "globals": "^16.1.0", + "globals": "^16.3.0", "indexeddb-export-import": "^2.1.5", "loader.js": "^4.7.0", "nearest-color": "^0.4.4", @@ -150,7 +180,7 @@ "prettier": "^3.6.2", "prettier-plugin-ember-template-tag": "^2.1.0", "qunit": "^2.24.1", - "qunit-dom": "^3.4.0", + "qunit-dom": "^3.5.0", "release-it": "^16.3.0", "sinon": "^17.0.1", "stylelint": "^16.23.1", @@ -159,7 +189,7 @@ "throttle-debounce": "^5.0.2", "tracked-built-ins": "^3.4.0", "typescript": "^5.9.2", - "typescript-eslint": "^8.39.1", + "typescript-eslint": "^8.40.0", "vite": "^6.3.5", "wcag-contrast": "^3.0.0" }, diff --git a/patches/object-inspect.patch b/patches/object-inspect.patch index 6412aa639..58f0129c9 100644 --- a/patches/object-inspect.patch +++ b/patches/object-inspect.patch @@ -1,25 +1,54 @@ -diff --git a/index.js b/index.js -index a4b2d4cd850adb5cda64eb9e5692457a73c0947e..66440138e369d878149c1f7dada8deb9e14c27c6 100644 +diff --git a/index.js b/index.cjs +similarity index 99% +rename from index.js +rename to index.cjs +index a4b2d4cd850adb5cda64eb9e5692457a73c0947e..077947eaa7b8bfb7276510ccc87a48a6a0146e64 100644 --- a/index.js -+++ b/index.js ++++ b/index.cjs @@ -65,7 +65,7 @@ function addNumericSeparator(num, str) { return $replace.call(str, sepRegex, '$&_'); } -var utilInspect = require('./util.inspect'); -+var utilInspect = require('./util.inspect.js'); ++var utilInspect = require('./util-inspect.cjs'); var inspectCustom = utilInspect.custom; var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; +diff --git a/package.json b/package.json +index 9fd97ff7523f106de04c47adf74aa3a36db8dbbd..8cb5e3bd812568211ecf7c913101ba7d0e390540 100644 +--- a/package.json ++++ b/package.json +@@ -2,7 +2,7 @@ + "name": "object-inspect", + "version": "1.13.4", + "description": "string representations of objects in node and the browser", +- "main": "index.js", ++ "main": "index.cjs", + "sideEffects": false, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", +@@ -82,7 +82,7 @@ + }, + "license": "MIT", + "browser": { +- "./util.inspect.js": false ++ "./util-inspect.cjs": false + }, + "auto-changelog": { + "output": "CHANGELOG.md", diff --git a/test/inspect.js b/test/inspect.js -index 1abf81b1f00b305519e52fe74477b2c5b71803c7..538b54e01376f43860763d0f34afd99d3c72e85d 100644 +index 1abf81b1f00b305519e52fe74477b2c5b71803c7..1746a081174db1e0ff4e494d0e475052265bd42b 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 utilInspect = require('../util-inspect.cjs'); var repeat = require('string.prototype.repeat'); var inspect = require('..'); +diff --git a/util.inspect.js b/util-inspect.cjs +similarity index 100% +rename from util.inspect.js +rename to util-inspect.cjs diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6a8496e65..c7d4283de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,12 +15,37 @@ patchedDependencies: hash: 36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d path: patches/menubar.patch object-inspect: - hash: 77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1 + hash: e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985 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.1 + version: 9.5.1(patch_hash=36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d)(electron@37.3.1) + throttle-debounce: + specifier: ^5.0.2 + version: 5.0.2 devDependencies: '@babel/core': specifier: ^7.28.3 @@ -35,7 +60,7 @@ importers: specifier: ^7.20.7 version: 7.20.7(@babel/core@7.28.3) '@babel/plugin-transform-runtime': - specifier: ^7.27.1 + specifier: ^7.28.3 version: 7.28.3(@babel/core@7.28.3) '@babel/plugin-transform-typescript': specifier: ^7.28.0 @@ -44,7 +69,7 @@ importers: specifier: ^7.28.3 version: 7.28.3(@babel/core@7.28.3) '@babel/runtime': - specifier: ^7.27.1 + specifier: ^7.28.3 version: 7.28.3 '@ctrl/tinycolor': specifier: ^4.1.0 @@ -52,6 +77,42 @@ importers: '@ef4/ember-orbit': specifier: 0.17.3-ef4.6 version: 0.17.3-ef4.6(@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))(webpack@5.101.2) + '@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/plugin-auto-unpack-natives': + specifier: ^7.8.3 + version: 7.8.3 + '@electron-forge/plugin-fuses': + specifier: ^7.8.3 + version: 7.8.3(@electron/fuses@1.8.0) + '@electron-forge/plugin-vite': + specifier: ^7.8.3 + version: 7.8.3 + '@electron-forge/publisher-snapcraft': + specifier: ^7.8.3 + version: 7.8.3 + '@electron/fuses': + specifier: ^1.8.0 + version: 1.8.0 '@ember/app-tsconfig': specifier: ^1.0.3 version: 1.0.3 @@ -68,23 +129,23 @@ importers: specifier: ^5.2.2 version: 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) '@embroider/compat': - specifier: ^4.1.0 + specifier: ^4.1.2 version: 4.1.2(@embroider/core@4.1.3(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) '@embroider/config-meta-loader': specifier: ^1.0.0 version: 1.0.0 '@embroider/core': - specifier: ^4.1.0 + specifier: ^4.1.3 version: 4.1.3(@glint/template@1.5.2) '@embroider/macros': - specifier: ^1.18.0 + specifier: ^1.18.1 version: 1.18.1(@glint/template@1.5.2) '@embroider/router': - specifier: ^3.0.1 + specifier: ^3.0.2 version: 3.0.2(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2) '@embroider/vite': - specifier: ^1.1.5 - version: 1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.46.2)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1)) + specifier: ^1.1.6 + version: 1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.46.4)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1)) '@eslint/js': specifier: ^9.33.0 version: 9.33.0 @@ -147,7 +208,10 @@ importers: version: 4.2.1(release-it@16.3.0(encoding@0.1.13)(typescript@5.9.2)) '@rollup/plugin-babel': specifier: ^6.0.4 - version: 6.0.4(@babel/core@7.28.3)(@types/babel__core@7.20.5)(rollup@4.46.2) + version: 6.0.4(@babel/core@7.28.3)(@types/babel__core@7.20.5)(rollup@4.46.4) + '@sentry/cli': + specifier: ^2.51.1 + version: 2.52.0(encoding@0.1.13) '@sentry/ember': specifier: ^7.120.4 version: 7.120.4(@glint/template@1.5.2)(webpack@5.101.2) @@ -157,6 +221,9 @@ importers: '@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) @@ -196,6 +263,15 @@ importers: decorator-transforms: specifier: ^2.3.0 version: 2.3.0(@babel/core@7.28.3) + electron: + specifier: ^37.3.1 + version: 37.3.1 + electron-debug: + specifier: ^3.2.0 + version: 3.2.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) @@ -206,7 +282,7 @@ importers: specifier: ^2.10.0 version: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) ember-cli: - specifier: ~6.5.0-beta.0 + specifier: ~6.5.0 version: 6.5.0(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 @@ -245,8 +321,8 @@ importers: specifier: ^6.1.1 version: 6.1.1(@babel/core@7.28.3) 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.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-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-css-transitions: specifier: ^4.5.0 version: 4.5.0(@babel/core@7.28.3)(@glint/template@1.5.2) @@ -327,7 +403,7 @@ importers: version: 9.1.2(eslint@9.33.0(jiti@2.5.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) + version: 12.7.0(@babel/core@7.28.3)(@typescript-eslint/parser@8.40.0(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-n: specifier: ^17.21.3 version: 17.21.3(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) @@ -335,11 +411,8 @@ importers: specifier: ^8.2.5 version: 8.2.5(eslint@9.33.0(jiti@2.5.1)) globals: - specifier: ^16.1.0 + specifier: ^16.3.0 version: 16.3.0 - indexeddb-export-import: - specifier: ^2.1.5 - version: 2.1.5 loader.js: specifier: ^4.7.0 version: 4.7.0 @@ -362,8 +435,8 @@ importers: specifier: ^2.24.1 version: 2.24.1 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) @@ -379,9 +452,6 @@ importers: tailwindcss: specifier: ^3.4.17 version: 3.4.17 - throttle-debounce: - specifier: ^5.0.2 - version: 5.0.2 tracked-built-ins: specifier: ^3.4.0 version: 3.4.0(@babel/core@7.28.3) @@ -389,8 +459,8 @@ importers: specifier: ^5.9.2 version: 5.9.2 typescript-eslint: - specifier: ^8.39.1 - version: 8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ^8.40.0 + version: 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) vite: specifier: ^6.3.5 version: 6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) @@ -398,97 +468,6 @@ importers: specifier: ^3.0.0 version: 3.0.0 - 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/plugin-auto-unpack-natives': - specifier: ^7.8.3 - version: 7.8.3 - '@electron-forge/plugin-fuses': - specifier: ^7.8.3 - version: 7.8.3(@electron/fuses@1.8.0) - '@electron-forge/plugin-vite': - specifier: ^7.8.3 - version: 7.8.3 - '@electron-forge/publisher-snapcraft': - specifier: ^7.8.3 - version: 7.8.3 - '@electron/fuses': - specifier: ^1.8.0 - version: 1.8.0 - '@sentry/cli': - specifier: ^2.51.1 - version: 2.52.0(encoding@0.1.13) - '@types/electron-squirrel-startup': - specifier: ^1.0.2 - version: 1.0.2 - '@typescript-eslint/eslint-plugin': - specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5))(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - '@typescript-eslint/parser': - specifier: ^5.62.0 - version: 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - 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 - typescript: - specifier: ~4.5.4 - version: 4.5.5 - vite: - specifier: ^6.3.5 - version: 6.3.5(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1) - packages: '@alloc/quick-lru@5.2.0': @@ -2399,103 +2378,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.46.2': - resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} + '@rollup/rollup-android-arm-eabi@4.46.4': + resolution: {integrity: sha512-B2wfzCJ+ps/OBzRjeds7DlJumCU3rXMxJJS1vzURyj7+KBHGONm7c9q1TfdBl4vCuNMkDvARn3PBl2wZzuR5mw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.46.2': - resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} + '@rollup/rollup-android-arm64@4.46.4': + resolution: {integrity: sha512-FGJYXvYdn8Bs6lAlBZYT5n+4x0ciEp4cmttsvKAZc/c8/JiPaQK8u0c/86vKX8lA7OY/+37lIQSe0YoAImvBAA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.46.2': - resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} + '@rollup/rollup-darwin-arm64@4.46.4': + resolution: {integrity: sha512-/9qwE/BM7ATw/W/OFEMTm3dmywbJyLQb4f4v5nmOjgYxPIGpw7HaxRi6LnD4Pjn/q7k55FGeHe1/OD02w63apA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.46.2': - resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} + '@rollup/rollup-darwin-x64@4.46.4': + resolution: {integrity: sha512-QkWfNbeRuzFnv2d0aPlrzcA3Ebq2mE8kX/5Pl7VdRShbPBjSnom7dbT8E3Jmhxo2RL784hyqGvR5KHavCJQciw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.46.2': - resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} + '@rollup/rollup-freebsd-arm64@4.46.4': + resolution: {integrity: sha512-+ToyOMYnSfV8D+ckxO6NthPln/PDNp1P6INcNypfZ7muLmEvPKXqduUiD8DlJpMMT8LxHcE5W0dK9kXfJke9Zw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.46.2': - resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} + '@rollup/rollup-freebsd-x64@4.46.4': + resolution: {integrity: sha512-cGT6ey/W+sje6zywbLiqmkfkO210FgRz7tepWAzzEVgQU8Hn91JJmQWNqs55IuglG8sJdzk7XfNgmGRtcYlo1w==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': - resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} + '@rollup/rollup-linux-arm-gnueabihf@4.46.4': + resolution: {integrity: sha512-9fhTJyOb275w5RofPSl8lpr4jFowd+H4oQKJ9XTYzD1JWgxdZKE8bA6d4npuiMemkecQOcigX01FNZNCYnQBdA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.46.2': - resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} + '@rollup/rollup-linux-arm-musleabihf@4.46.4': + resolution: {integrity: sha512-+6kCIM5Zjvz2HwPl/udgVs07tPMIp1VU2Y0c72ezjOvSvEfAIWsUgpcSDvnC7g9NrjYR6X9bZT92mZZ90TfvXw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.46.2': - resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} + '@rollup/rollup-linux-arm64-gnu@4.46.4': + resolution: {integrity: sha512-SWuXdnsayCZL4lXoo6jn0yyAj7TTjWE4NwDVt9s7cmu6poMhtiras5c8h6Ih6Y0Zk6Z+8t/mLumvpdSPTWub2Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.46.2': - resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} + '@rollup/rollup-linux-arm64-musl@4.46.4': + resolution: {integrity: sha512-vDknMDqtMhrrroa5kyX6tuC0aRZZlQ+ipDfbXd2YGz5HeV2t8HOl/FDAd2ynhs7Ki5VooWiiZcCtxiZ4IjqZwQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': - resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} + '@rollup/rollup-linux-loongarch64-gnu@4.46.4': + resolution: {integrity: sha512-mCBkjRZWhvjtl/x+Bd4fQkWZT8canStKDxGrHlBiTnZmJnWygGcvBylzLVCZXka4dco5ymkWhZlLwKCGFF4ivw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.46.2': - resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} + '@rollup/rollup-linux-ppc64-gnu@4.46.4': + resolution: {integrity: sha512-YMdz2phOTFF+Z66dQfGf0gmeDSi5DJzY5bpZyeg9CPBkV9QDzJ1yFRlmi/j7WWRf3hYIWrOaJj5jsfwgc8GTHQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.46.2': - resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} + '@rollup/rollup-linux-riscv64-gnu@4.46.4': + resolution: {integrity: sha512-r0WKLSfFAK8ucG024v2yiLSJMedoWvk8yWqfNICX28NHDGeu3F/wBf8KG6mclghx4FsLePxJr/9N8rIj1PtCnw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.46.2': - resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} + '@rollup/rollup-linux-riscv64-musl@4.46.4': + resolution: {integrity: sha512-IaizpPP2UQU3MNyPH1u0Xxbm73D+4OupL0bjo4Hm0496e2wg3zuvoAIhubkD1NGy9fXILEExPQy87mweujEatA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.46.2': - resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} + '@rollup/rollup-linux-s390x-gnu@4.46.4': + resolution: {integrity: sha512-aCM29orANR0a8wk896p6UEgIfupReupnmISz6SUwMIwTGaTI8MuKdE0OD2LvEg8ondDyZdMvnaN3bW4nFbATPA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.46.2': - resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} + '@rollup/rollup-linux-x64-gnu@4.46.4': + resolution: {integrity: sha512-0Xj1vZE3cbr/wda8d/m+UeuSL+TDpuozzdD4QaSzu/xSOMK0Su5RhIkF7KVHFQsobemUNHPLEcYllL7ZTCP/Cg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.46.2': - resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} + '@rollup/rollup-linux-x64-musl@4.46.4': + resolution: {integrity: sha512-kM/orjpolfA5yxsx84kI6bnK47AAZuWxglGKcNmokw2yy9i5eHY5UAjcX45jemTJnfHAWo3/hOoRqEeeTdL5hw==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.46.2': - resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} + '@rollup/rollup-win32-arm64-msvc@4.46.4': + resolution: {integrity: sha512-cNLH4psMEsWKILW0isbpQA2OvjXLbKvnkcJFmqAptPQbtLrobiapBJVj6RoIvg6UXVp5w0wnIfd/Q56cNpF+Ew==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.46.2': - resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} + '@rollup/rollup-win32-ia32-msvc@4.46.4': + resolution: {integrity: sha512-OiEa5lRhiANpv4SfwYVgQ3opYWi/QmPDC5ve21m8G9pf6ZO+aX1g2EEF1/IFaM1xPSP7mK0msTRXlPs6mIagkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.46.2': - resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} + '@rollup/rollup-win32-x64-msvc@4.46.4': + resolution: {integrity: sha512-IKL9mewGZ5UuuX4NQlwOmxPyqielvkAPUS2s1cl6yWjjQvyN3h5JTdVFGD5Jr5xMjRC8setOfGQDVgX8V+dkjg==} cpu: [x64] os: [win32] @@ -2865,15 +2844,9 @@ 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/node@24.3.0': - resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} - '@types/q@1.5.8': resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} @@ -2895,9 +2868,6 @@ packages: '@types/rsvp@4.0.9': resolution: {integrity: sha512-F6vaN5mbxw2MBCu/AD9fSKwrhnto2pE77dyUsi415qz9IP9ni9ZOWXHxnXfsM4NW9UjW+it189jvvqnhv37Z7Q==} - '@types/semver@7.7.0': - resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} - '@types/send@0.17.5': resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} @@ -2928,121 +2898,63 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@5.62.0': - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/eslint-plugin@8.39.1': - resolution: {integrity: sha512-yYegZ5n3Yr6eOcqgj2nJH8cH/ZZgF+l0YIdKILSDjYFRjgYQMgv/lRjV5Z7Up04b9VYUondt8EPMqg7kTWgJ2g==} + '@typescript-eslint/eslint-plugin@8.40.0': + resolution: {integrity: sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.39.1 + '@typescript-eslint/parser': ^8.40.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@5.62.0': - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@8.39.1': - resolution: {integrity: sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==} + '@typescript-eslint/parser@8.40.0': + resolution: {integrity: sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==} 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.40.0': + resolution: {integrity: sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/scope-manager@8.39.1': - resolution: {integrity: sha512-RkBKGBrjgskFGWuyUGz/EtD8AF/GW49S21J8dvMzpJitOF1slLEbbHnNEtAHtnDAnx8qDEdRrULRnWVx27wGBw==} + '@typescript-eslint/scope-manager@8.40.0': + resolution: {integrity: sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==} 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.40.0': + resolution: {integrity: sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@5.62.0': - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/type-utils@8.39.1': - resolution: {integrity: sha512-gu9/ahyatyAdQbKeHnhT4R+y3YLtqqHyvkfDxaBYk97EcbfChSJXyaJnIL3ygUv7OuZatePHmQvuH5ru0lnVeA==} + '@typescript-eslint/type-utils@8.40.0': + resolution: {integrity: sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==} 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@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/types@8.39.1': - resolution: {integrity: sha512-7sPDKQQp+S11laqTrhHqeAbsCfMkwJMrV7oTDvtDds4mEofJYir414bYKUEb8YPUm9QL3U+8f6L6YExSoAGdQw==} + '@typescript-eslint/types@8.40.0': + resolution: {integrity: sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@8.39.1': - resolution: {integrity: sha512-EKkpcPuIux48dddVDXyQBlKdeTPMmALqBUbEk38McWv0qVEZwOpVJBi7ugK5qVNgeuYjGNQxrrnoM/5+TI/BPw==} + '@typescript-eslint/typescript-estree@8.40.0': + resolution: {integrity: sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@8.39.1': - resolution: {integrity: sha512-VF5tZ2XnUSTuiqZFXCZfZs1cgkdd3O/sSYmdo2EpSyDlC86UM/8YytTmKnehOW3TGAlivqTDT6bS87B/GQ/jyg==} + '@typescript-eslint/utils@8.40.0': + resolution: {integrity: sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==} 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@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/visitor-keys@8.39.1': - resolution: {integrity: sha512-W8FQi6kEh2e8zVhQ0eeRnxdvIoOkAp/CPAahcNio6nO9dsIwb9b34z90KOlheoyuVf6LSOEdjlkxSkapNEc+4A==} + '@typescript-eslint/visitor-keys@8.40.0': + resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@webassemblyjs/ast@1.14.1': @@ -3993,8 +3905,8 @@ packages: resolution: {integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==} hasBin: true - browserslist@4.25.2: - resolution: {integrity: sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==} + browserslist@4.25.3: + resolution: {integrity: sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -5102,15 +5014,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.207: + resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} 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.3.1: + resolution: {integrity: sha512-7DhktRLqhe6OJh/Bo75bTI0puUYEmIwSzMinocgO63mx3MVjtIn2tYMzLmAleNIlud2htkjpsMG2zT4PiTCloA==} engines: {node: '>= 12.20.55'} hasBin: true @@ -5257,11 +5169,12 @@ packages: 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==} @@ -7929,9 +7842,6 @@ packages: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} - natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -8568,8 +8478,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - preact@10.27.0: - resolution: {integrity: sha512-/DTYoB6mwwgPytiqQTh/7SFRL98ZdiD8Sk8zIUVOxtwq4oWcwrcd1uno9fE/zZmUaUrFNYzbH14CPebOz9tZQw==} + preact@10.27.1: + resolution: {integrity: sha512-V79raXEWch/rbqoNc7nT9E4ep7lu+mI3+sBmfRD4i1M73R3WLYcCtdI0ibxGVf4eQL8ZIz2nFacqEC+rmnOORQ==} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -8736,8 +8646,8 @@ 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==} @@ -9079,8 +8989,8 @@ packages: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} - rollup@4.46.2: - resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} + rollup@4.46.4: + resolution: {integrity: sha512-YbxoxvoqNg9zAmw4+vzh1FkGAiZRK+LhnSrbSrSXMdZYsRPDWoshcSd/pldKRO6lWzv/e9TiJAVQyirYIeSIPQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -9961,12 +9871,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -10036,8 +9940,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.40.0: + resolution: {integrity: sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -10046,11 +9950,6 @@ packages: typescript-memoize@1.1.1: resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} - typescript@4.5.5: - resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} - engines: {node: '>=4.2.0'} - hasBin: true - typescript@5.9.2: resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} @@ -10077,9 +9976,6 @@ 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==} engines: {node: '>=20.18.1'} @@ -11086,7 +10982,7 @@ snapshots: dependencies: '@babel/compat-data': 7.28.0 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.2 + browserslist: 4.25.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -12560,16 +12456,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@embroider/vite@1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.46.2)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))': + '@embroider/vite@1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.46.4)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.3 '@embroider/core': 4.1.3(@glint/template@1.5.2) '@embroider/macros': 1.18.1(@glint/template@1.5.2) '@embroider/reverse-exports': 0.1.2 - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.2.0(rollup@4.46.4) assert-never: 1.4.0 - browserslist: 4.25.2 - browserslist-to-esbuild: 2.1.1(browserslist@4.25.2) + browserslist: 4.25.3 + browserslist-to-esbuild: 2.1.1(browserslist@4.25.3) content-tag: 3.1.3 debug: 4.4.1 fast-glob: 3.3.3 @@ -13027,7 +12923,7 @@ snapshots: '@jaames/iro@5.5.2': dependencies: '@irojs/iro-core': 1.2.1 - preact: 10.27.0 + preact: 10.27.1 '@jest/create-cache-key-function@29.7.0': dependencies: @@ -13435,83 +13331,83 @@ snapshots: walk-sync: 2.2.0 yaml: 2.8.1 - '@rollup/plugin-babel@6.0.4(@babel/core@7.28.3)(@types/babel__core@7.20.5)(rollup@4.46.2)': + '@rollup/plugin-babel@6.0.4(@babel/core@7.28.3)(@types/babel__core@7.20.5)(rollup@4.46.4)': dependencies: '@babel/core': 7.28.3 '@babel/helper-module-imports': 7.27.1 - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.2.0(rollup@4.46.4) optionalDependencies: '@types/babel__core': 7.20.5 - rollup: 4.46.2 + rollup: 4.46.4 transitivePeerDependencies: - supports-color - '@rollup/pluginutils@5.2.0(rollup@4.46.2)': + '@rollup/pluginutils@5.2.0(rollup@4.46.4)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.46.2 + rollup: 4.46.4 - '@rollup/rollup-android-arm-eabi@4.46.2': + '@rollup/rollup-android-arm-eabi@4.46.4': optional: true - '@rollup/rollup-android-arm64@4.46.2': + '@rollup/rollup-android-arm64@4.46.4': optional: true - '@rollup/rollup-darwin-arm64@4.46.2': + '@rollup/rollup-darwin-arm64@4.46.4': optional: true - '@rollup/rollup-darwin-x64@4.46.2': + '@rollup/rollup-darwin-x64@4.46.4': optional: true - '@rollup/rollup-freebsd-arm64@4.46.2': + '@rollup/rollup-freebsd-arm64@4.46.4': optional: true - '@rollup/rollup-freebsd-x64@4.46.2': + '@rollup/rollup-freebsd-x64@4.46.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + '@rollup/rollup-linux-arm-gnueabihf@4.46.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.46.2': + '@rollup/rollup-linux-arm-musleabihf@4.46.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.46.2': + '@rollup/rollup-linux-arm64-gnu@4.46.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.46.2': + '@rollup/rollup-linux-arm64-musl@4.46.4': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + '@rollup/rollup-linux-loongarch64-gnu@4.46.4': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.46.2': + '@rollup/rollup-linux-ppc64-gnu@4.46.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.46.2': + '@rollup/rollup-linux-riscv64-gnu@4.46.4': optional: true - '@rollup/rollup-linux-riscv64-musl@4.46.2': + '@rollup/rollup-linux-riscv64-musl@4.46.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.46.2': + '@rollup/rollup-linux-s390x-gnu@4.46.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.46.2': + '@rollup/rollup-linux-x64-gnu@4.46.4': optional: true - '@rollup/rollup-linux-x64-musl@4.46.2': + '@rollup/rollup-linux-x64-musl@4.46.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.46.2': + '@rollup/rollup-win32-arm64-msvc@4.46.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.46.2': + '@rollup/rollup-win32-ia32-msvc@4.46.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.46.2': + '@rollup/rollup-win32-x64-msvc@4.46.4': optional: true '@sentry-internal/feedback@7.112.0': @@ -13758,7 +13654,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 optional: true '@types/babel__code-frame@7.0.6': {} @@ -13793,7 +13689,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/responselike': 1.0.3 '@types/chai-as-promised@7.1.8': @@ -13824,8 +13720,8 @@ snapshots: '@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__debug': 4.0.8(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -13835,7 +13731,7 @@ snapshots: '@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__utils': 4.0.7 '@types/rsvp': 4.0.9 '@types/ember@4.0.11(@babel/core@7.28.3)': @@ -13844,8 +13740,8 @@ snapshots: '@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__debug': 4.0.8(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 @@ -13865,7 +13761,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.3) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11 + '@types/ember__engine': 4.0.11(@babel/core@7.28.3) '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) @@ -13896,15 +13792,21 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8': + '@types/ember__debug@4.0.8(@babel/core@7.28.3)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@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.3)': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__error@4.0.6': {} @@ -13959,6 +13861,10 @@ snapshots: - '@babel/core' - supports-color + '@types/ember__utils@4.0.7': + dependencies: + '@types/ember': 4.0.11 + '@types/ember__utils@4.0.7(@babel/core@7.28.3)': dependencies: '@types/ember': 4.0.11(@babel/core@7.28.3) @@ -14011,7 +13917,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 optional: true '@types/glob@9.0.0': @@ -14040,7 +13946,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/mdast@3.0.15': dependencies: @@ -14052,18 +13958,10 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@20.19.11': - dependencies: - undici-types: 6.21.0 - '@types/node@22.17.2': dependencies: undici-types: 6.21.0 - '@types/node@24.3.0': - dependencies: - undici-types: 7.10.0 - '@types/q@1.5.8': {} '@types/qs@6.14.0': {} @@ -14074,7 +13972,7 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/rimraf@2.0.5': dependencies: @@ -14083,8 +13981,6 @@ snapshots: '@types/rsvp@4.0.9': {} - '@types/semver@7.7.0': {} - '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 @@ -14119,33 +14015,14 @@ snapshots: '@types/node': 22.17.2 optional: true - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5))(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - '@typescript-eslint/utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - debug: 4.4.1 - eslint: 9.33.0(jiti@2.5.1) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare-lite: 1.4.0 - semver: 7.7.2 - tsutils: 3.21.0(typescript@4.5.5) - optionalDependencies: - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - - '@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.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': 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 + '@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/type-utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.40.0 eslint: 9.33.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 @@ -14155,70 +14032,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': + '@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) - debug: 4.4.1 - eslint: 9.33.0(jiti@2.5.1) - optionalDependencies: - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': - 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 + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.40.0 debug: 4.4.1 eslint: 9.33.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.39.1(typescript@5.9.2)': + '@typescript-eslint/project-service@8.40.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2) - '@typescript-eslint/types': 8.39.1 + '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) + '@typescript-eslint/types': 8.40.0 debug: 4.4.1 typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@5.62.0': + '@typescript-eslint/scope-manager@8.40.0': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/visitor-keys': 8.40.0 - '@typescript-eslint/scope-manager@8.39.1': - dependencies: - '@typescript-eslint/types': 8.39.1 - '@typescript-eslint/visitor-keys': 8.39.1 - - '@typescript-eslint/tsconfig-utils@8.39.1(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.40.0(typescript@5.9.2)': dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': + '@typescript-eslint/type-utils@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) - '@typescript-eslint/utils': 5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5) - debug: 4.4.1 - eslint: 9.33.0(jiti@2.5.1) - tsutils: 3.21.0(typescript@4.5.5) - optionalDependencies: - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': - 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) + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1 eslint: 9.33.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.9.2) @@ -14226,30 +14074,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@5.62.0': {} - - '@typescript-eslint/types@8.39.1': {} + '@typescript-eslint/types@8.40.0': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@4.5.5)': + '@typescript-eslint/typescript-estree@8.40.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.1 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.7.2 - tsutils: 3.21.0(typescript@4.5.5) - optionalDependencies: - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.39.1(typescript@5.9.2)': - 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 + '@typescript-eslint/project-service': 8.40.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/visitor-keys': 8.40.0 debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 @@ -14260,40 +14092,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@9.33.0(jiti@2.5.1))(typescript@4.5.5)': + '@typescript-eslint/utils@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1)) - '@types/json-schema': 7.0.15 - '@types/semver': 7.7.0 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.5.5) - eslint: 9.33.0(jiti@2.5.1) - eslint-scope: 5.1.1 - semver: 7.7.2 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.39.1(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)': - 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) + '@typescript-eslint/scope-manager': 8.40.0 + '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) eslint: 9.33.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@5.62.0': - dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@8.39.1': + '@typescript-eslint/visitor-keys@8.40.0': dependencies: - '@typescript-eslint/types': 8.39.1 + '@typescript-eslint/types': 8.40.0 eslint-visitor-keys: 4.2.1 '@webassemblyjs/ast@1.14.1': @@ -14690,7 +14502,7 @@ snapshots: autoprefixer@10.4.21(postcss@8.5.6): dependencies: - browserslist: 4.25.2 + browserslist: 4.25.3 caniuse-lite: 1.0.30001735 fraction.js: 4.3.7 normalize-range: 0.1.2 @@ -15869,22 +15681,22 @@ snapshots: readable-stream: 2.3.8 safe-buffer: 5.2.1 - browserslist-to-esbuild@2.1.1(browserslist@4.25.2): + browserslist-to-esbuild@2.1.1(browserslist@4.25.3): dependencies: - browserslist: 4.25.2 + browserslist: 4.25.3 meow: 13.2.0 browserslist@3.2.8: dependencies: caniuse-lite: 1.0.30001735 - electron-to-chromium: 1.5.203 + electron-to-chromium: 1.5.207 - browserslist@4.25.2: + browserslist@4.25.3: dependencies: caniuse-lite: 1.0.30001735 - electron-to-chromium: 1.5.203 + electron-to-chromium: 1.5.207 node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.2) + update-browserslist-db: 1.1.3(browserslist@4.25.3) bser@2.1.1: dependencies: @@ -16433,7 +16245,7 @@ snapshots: core-js-compat@3.45.0: dependencies: - browserslist: 4.25.2 + browserslist: 4.25.3 core-js@2.6.12: {} @@ -16993,7 +16805,7 @@ snapshots: conf: 10.2.0 type-fest: 2.19.0 - electron-to-chromium@1.5.203: {} + electron-to-chromium@1.5.207: {} electron-winstaller@5.4.0: dependencies: @@ -17008,10 +16820,10 @@ snapshots: - supports-color optional: true - electron@33.4.11: + electron@37.3.1: dependencies: '@electron/get': 2.0.3 - '@types/node': 20.19.11 + '@types/node': 22.17.2 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -17523,16 +17335,19 @@ snapshots: - '@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.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-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): 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)) + '@babel/core': 7.28.3 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-cli-babel: 8.2.0(@babel/core@7.28.3) 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-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) + ember-template-imports: 4.3.0 transitivePeerDependencies: - '@glint/template' - encoding @@ -17596,19 +17411,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.3)(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: '@babel/core': 7.28.3 '@babel/eslint-parser': 7.28.0(@babel/core@7.28.3)(eslint@9.33.0(jiti@2.5.1)) '@glimmer/syntax': 0.95.0 - '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) 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.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) transitivePeerDependencies: - eslint - typescript @@ -18040,7 +17855,7 @@ snapshots: is-typed-array: 1.1.15 is-weakref: 1.1.1 math-intrinsics: 1.1.0 - object-inspect: 1.13.4(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) + object-inspect: 1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) object-keys: 1.1.1 object.assign: 4.1.7 own-keys: 1.0.1 @@ -18162,11 +17977,11 @@ snapshots: dependencies: eslint: 9.33.0(jiti@2.5.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.0(@babel/core@7.28.3)(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): 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.3)(@typescript-eslint/parser@8.40.0(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-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)) @@ -18176,7 +17991,7 @@ snapshots: 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.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) transitivePeerDependencies: - '@babel/core' - typescript @@ -20553,9 +20368,9 @@ snapshots: dependencies: readable-stream: 1.0.34 - menubar@9.5.1(patch_hash=36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d)(electron@33.4.11): + menubar@9.5.1(patch_hash=36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d)(electron@37.3.1): dependencies: - electron: 33.4.11 + electron: 37.3.1 electron-positioner: 4.1.0 meow@13.2.0: {} @@ -21096,8 +20911,6 @@ snapshots: transitivePeerDependencies: - supports-color - natural-compare-lite@1.4.0: {} - natural-compare@1.4.0: {} nearest-color@0.4.4: {} @@ -21267,7 +21080,7 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.13.4(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1): {} + object-inspect@1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985): {} object-keys@0.4.0: {} @@ -21738,7 +21551,7 @@ snapshots: dependencies: commander: 9.5.0 - preact@10.27.0: {} + preact@10.27.1: {} prelude-ls@1.2.1: {} @@ -21895,7 +21708,7 @@ 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 @@ -22369,30 +22182,30 @@ snapshots: sprintf-js: 1.1.3 optional: true - rollup@4.46.2: + rollup@4.46.4: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.46.2 - '@rollup/rollup-android-arm64': 4.46.2 - '@rollup/rollup-darwin-arm64': 4.46.2 - '@rollup/rollup-darwin-x64': 4.46.2 - '@rollup/rollup-freebsd-arm64': 4.46.2 - '@rollup/rollup-freebsd-x64': 4.46.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 - '@rollup/rollup-linux-arm-musleabihf': 4.46.2 - '@rollup/rollup-linux-arm64-gnu': 4.46.2 - '@rollup/rollup-linux-arm64-musl': 4.46.2 - '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 - '@rollup/rollup-linux-ppc64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-musl': 4.46.2 - '@rollup/rollup-linux-s390x-gnu': 4.46.2 - '@rollup/rollup-linux-x64-gnu': 4.46.2 - '@rollup/rollup-linux-x64-musl': 4.46.2 - '@rollup/rollup-win32-arm64-msvc': 4.46.2 - '@rollup/rollup-win32-ia32-msvc': 4.46.2 - '@rollup/rollup-win32-x64-msvc': 4.46.2 + '@rollup/rollup-android-arm-eabi': 4.46.4 + '@rollup/rollup-android-arm64': 4.46.4 + '@rollup/rollup-darwin-arm64': 4.46.4 + '@rollup/rollup-darwin-x64': 4.46.4 + '@rollup/rollup-freebsd-arm64': 4.46.4 + '@rollup/rollup-freebsd-x64': 4.46.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.46.4 + '@rollup/rollup-linux-arm-musleabihf': 4.46.4 + '@rollup/rollup-linux-arm64-gnu': 4.46.4 + '@rollup/rollup-linux-arm64-musl': 4.46.4 + '@rollup/rollup-linux-loongarch64-gnu': 4.46.4 + '@rollup/rollup-linux-ppc64-gnu': 4.46.4 + '@rollup/rollup-linux-riscv64-gnu': 4.46.4 + '@rollup/rollup-linux-riscv64-musl': 4.46.4 + '@rollup/rollup-linux-s390x-gnu': 4.46.4 + '@rollup/rollup-linux-x64-gnu': 4.46.4 + '@rollup/rollup-linux-x64-musl': 4.46.4 + '@rollup/rollup-win32-arm64-msvc': 4.46.4 + '@rollup/rollup-win32-ia32-msvc': 4.46.4 + '@rollup/rollup-win32-x64-msvc': 4.46.4 fsevents: 2.3.3 route-recognizer@0.3.4: {} @@ -22662,27 +22475,27 @@ snapshots: side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) + object-inspect: 1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) 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(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) + object-inspect: 1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) 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(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) + object-inspect: 1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) side-channel-map: 1.0.1 side-channel@1.1.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4(patch_hash=77d0c0e6786adb3410de3bd2bcb2ba6fd55caaa1316ce048425d93924bc3e1e1) + object-inspect: 1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) side-channel-list: 1.0.0 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -23577,11 +23390,6 @@ snapshots: tslib@2.8.1: {} - tsutils@3.21.0(typescript@4.5.5): - dependencies: - tslib: 1.14.1 - typescript: 4.5.5 - tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -23653,12 +23461,12 @@ 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.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): 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) + '@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(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.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2) eslint: 9.33.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: @@ -23666,8 +23474,6 @@ snapshots: typescript-memoize@1.1.1: {} - typescript@4.5.5: {} - typescript@5.9.2: {} uc.micro@2.1.0: {} @@ -23691,8 +23497,6 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.10.0: {} - undici@7.14.0: {} unfetch@4.2.0: {} @@ -23775,9 +23579,9 @@ snapshots: upath@2.0.1: {} - update-browserslist-db@1.1.3(browserslist@4.25.2): + update-browserslist-db@1.1.3(browserslist@4.25.3): dependencies: - browserslist: 4.25.2 + browserslist: 4.25.3 escalade: 3.2.0 picocolors: 1.1.1 @@ -23875,7 +23679,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.46.2 + rollup: 4.46.4 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 22.17.2 @@ -23884,21 +23688,6 @@ snapshots: terser: 5.43.1 yaml: 2.8.1 - vite@6.3.5(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1): - dependencies: - esbuild: 0.25.9 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.46.2 - tinyglobby: 0.2.14 - optionalDependencies: - '@types/node': 24.3.0 - fsevents: 2.3.3 - jiti: 2.5.1 - terser: 5.43.1 - yaml: 2.8.1 - vlq@1.0.1: {} vscode-jsonrpc@8.1.0: {} @@ -23995,7 +23784,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.25.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index afda35ffc..e208ea65f 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,3 @@ -packages: - - electron-app onlyBuiltDependencies: - '@parcel/watcher' - '@sentry/cli' @@ -9,5 +7,3 @@ onlyBuiltDependencies: - fs-xattr - fsevents - macos-alias -patchedDependencies: - menubar: patches/menubar.patch diff --git a/vite.config.mjs b/vite.config.mjs deleted file mode 100644 index f1edf2eb1..000000000 --- a/vite.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import { classicEmberSupport, ember, extensions } from '@embroider/vite'; -import { babel } from '@rollup/plugin-babel'; -import { defineConfig } from 'vite'; - -export default defineConfig({ - plugins: [ - classicEmberSupport(), - ember(), - // extra plugins here - babel({ - babelHelpers: 'runtime', - extensions, - }), - ], -}); diff --git a/vite.main.config.ts b/vite.main.config.ts index a48c5364c..690be5b1a 100644 --- a/vite.main.config.ts +++ b/vite.main.config.ts @@ -1,19 +1,4 @@ import { defineConfig } from 'vite'; // https://vitejs.dev/config -export default defineConfig((env) => { - const { - forgeConfigSelf: { entry }, - } = env as unknown as { forgeConfigSelf: { entry: string } }; - - return { - build: { - lib: { - entry, - fileName: () => '[name].js', - formats: ['es'], - }, - sourcemap: true, - }, - }; -}); +export default defineConfig({}); diff --git a/vite.preload.config.ts b/vite.preload.config.ts index 8ab30f6df..690be5b1a 100644 --- a/vite.preload.config.ts +++ b/vite.preload.config.ts @@ -1,15 +1,4 @@ import { defineConfig } from 'vite'; // https://vitejs.dev/config -export default defineConfig({ - build: { - rollupOptions: { - output: { - format: 'esm', - entryFileNames: '[name].mjs', - chunkFileNames: '[name].mjs', - }, - }, - sourcemap: true, - }, -}); +export default defineConfig({}); diff --git a/vite.renderer.config.ts b/vite.renderer.config.ts index 4c14b646e..f1edf2eb1 100644 --- a/vite.renderer.config.ts +++ b/vite.renderer.config.ts @@ -1,3 +1,15 @@ -import defineConfig from './vite.config.mjs'; +import { classicEmberSupport, ember, extensions } from '@embroider/vite'; +import { babel } from '@rollup/plugin-babel'; +import { defineConfig } from 'vite'; -export default defineConfig; +export default defineConfig({ + plugins: [ + classicEmberSupport(), + ember(), + // extra plugins here + babel({ + babelHelpers: 'runtime', + extensions, + }), + ], +}); From 6a126c57ce1ccea18229d2f6906dcd1a4cb90bdd Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Thu, 21 Aug 2025 08:18:09 -0400 Subject: [PATCH 13/54] Use specific ember-orbit commit --- app/components/color-picker.gts | 2 +- app/components/colors-list.gts | 2 +- app/components/kuler-palette-row.gts | 2 +- app/components/kuler.gts | 2 +- app/components/palette-row.gts | 2 +- app/components/palettes-list.gts | 2 +- app/components/settings-data.gts | 2 +- app/controllers/application.ts | 2 +- app/controllers/palettes.ts | 2 +- app/data-models/color.ts | 2 +- app/data-models/palette.ts | 2 +- app/data-sources/backup.ts | 2 +- app/data-sources/remote.js | 2 +- app/routes/colors.ts | 2 +- app/routes/kuler.ts | 2 +- app/routes/palettes.ts | 2 +- app/services/color-utils.ts | 2 +- app/services/data.ts | 2 +- app/services/undo-manager.ts | 2 +- app/templates/palettes.gts | 2 +- package.json | 2 +- patches/object-inspect.patch | 47 +++------- pnpm-lock.yaml | 129 +++++++++++---------------- tests/helpers.ts | 2 +- tests/unit/services/data-test.ts | 2 +- 25 files changed, 84 insertions(+), 138 deletions(-) diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index 11d52ef69..69afb009a 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -7,7 +7,7 @@ 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 '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import { TinyColor } from '@ctrl/tinycolor'; import iro from '@jaames/iro'; import { rgbaToHex } from '../data-models/color.ts'; diff --git a/app/components/colors-list.gts b/app/components/colors-list.gts index 6a7ffefea..72f2686b3 100644 --- a/app/components/colors-list.gts +++ b/app/components/colors-list.gts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import { service } from '@ember/service'; import Component from '@glimmer/component'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import type TransitionContext from 'ember-animated/-private/transition-context'; import AnimatedContainer from 'ember-animated/components/animated-container'; import AnimatedEach from 'ember-animated/components/animated-each'; diff --git a/app/components/kuler-palette-row.gts b/app/components/kuler-palette-row.gts index 98ffcae98..cd3aefedd 100644 --- a/app/components/kuler-palette-row.gts +++ b/app/components/kuler-palette-row.gts @@ -4,7 +4,7 @@ import { action } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import Component from '@glimmer/component'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import type { Transition } from 'ember-animated/-private/transition'; import AnimatedIf from 'ember-animated/components/animated-if'; import type MotionService from 'ember-animated/services/-ea-motion'; diff --git a/app/components/kuler.gts b/app/components/kuler.gts index 0513e0251..3834170f6 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -5,7 +5,7 @@ import { service } from '@ember/service'; import { capitalize } from '@ember/string'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; -import type { Store } from '@ef4/ember-orbit'; +import 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'; diff --git a/app/components/palette-row.gts b/app/components/palette-row.gts index dae4f184f..ecd93fa40 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -6,7 +6,7 @@ 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 '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import noop from '@nullvoxpopuli/ember-composable-helpers/helpers/noop'; import fade from 'ember-animated/transitions/fade'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; diff --git a/app/components/palettes-list.gts b/app/components/palettes-list.gts index 8dd8e55c9..602f89f51 100644 --- a/app/components/palettes-list.gts +++ b/app/components/palettes-list.gts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import { service } from '@ember/service'; import Component from '@glimmer/component'; -import type { LiveQuery, Store } from '@ef4/ember-orbit'; +import type { LiveQuery, Store } from 'ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import type { RecordOperationTerm } from '@orbit/records'; import AnimatedDragSortList from './animated-drag-sort-list.gts'; diff --git a/app/components/settings-data.gts b/app/components/settings-data.gts index eca5d059c..d785ebcc6 100644 --- a/app/components/settings-data.gts +++ b/app/components/settings-data.gts @@ -3,7 +3,7 @@ import type Owner from '@ember/owner'; import { service } from '@ember/service'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import type FlashMessageService from 'ember-cli-flash/services/flash-messages'; import { storageFor } from 'ember-local-storage'; import set from 'ember-set-helper/helpers/set'; diff --git a/app/controllers/application.ts b/app/controllers/application.ts index ffd84c113..5561d2e33 100644 --- a/app/controllers/application.ts +++ b/app/controllers/application.ts @@ -3,7 +3,7 @@ import { action, get } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import type FlashMessageService from 'ember-cli-flash/services/flash-messages'; import { storageFor } from 'ember-local-storage'; import type { RecordSchema } from '@orbit/records'; diff --git a/app/controllers/palettes.ts b/app/controllers/palettes.ts index 191343789..550dea955 100644 --- a/app/controllers/palettes.ts +++ b/app/controllers/palettes.ts @@ -3,7 +3,7 @@ import { action } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { LiveQuery, Store } from '@ef4/ember-orbit'; +import type { LiveQuery, Store } from 'ember-orbit'; import type { RecordOperationTerm } from '@orbit/records'; import type ApplicationController from 'swach/controllers/application'; import type ColorModel from 'swach/data-models/color'; diff --git a/app/data-models/color.ts b/app/data-models/color.ts index c3ad95584..73275a4a8 100644 --- a/app/data-models/color.ts +++ b/app/data-models/color.ts @@ -1,5 +1,5 @@ import { isEmpty } from '@ember/utils'; -import { attr, hasOne, Model } from '@ef4/ember-orbit'; +import { attr, hasOne, Model } from 'ember-orbit'; import { TinyColor } from '@ctrl/tinycolor'; import type PaletteModel from 'swach/data-models/palette'; diff --git a/app/data-models/palette.ts b/app/data-models/palette.ts index 5e4b85bc2..e39ea64b4 100644 --- a/app/data-models/palette.ts +++ b/app/data-models/palette.ts @@ -1,4 +1,4 @@ -import { attr, hasMany, Model } from '@ef4/ember-orbit'; +import { attr, hasMany, Model } from 'ember-orbit'; import type ColorModel from 'swach/data-models/color'; export default class PaletteModel extends Model { diff --git a/app/data-sources/backup.ts b/app/data-sources/backup.ts index ced56b76f..825ec6605 100644 --- a/app/data-sources/backup.ts +++ b/app/data-sources/backup.ts @@ -1,4 +1,4 @@ -import { applyStandardSourceInjections } from '@ef4/ember-orbit'; +import { applyStandardSourceInjections } from 'ember-orbit'; import { IndexedDBSource } from '@orbit/indexeddb'; import type { InitializedRecord, diff --git a/app/data-sources/remote.js b/app/data-sources/remote.js index f4dd8362c..b57e49317 100644 --- a/app/data-sources/remote.js +++ b/app/data-sources/remote.js @@ -1,5 +1,5 @@ import { getOwner } from '@ember/application'; -import { applyStandardSourceInjections } from '@ef4/ember-orbit'; +import { applyStandardSourceInjections } from 'ember-orbit'; import { pluralize, singularize } from 'ember-inflector'; import { JSONAPIRequestProcessor, diff --git a/app/routes/colors.ts b/app/routes/colors.ts index c3fb55123..c05571ad1 100644 --- a/app/routes/colors.ts +++ b/app/routes/colors.ts @@ -1,7 +1,7 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; import type PaletteModel from 'swach/data-models/palette'; import type Session from 'swach/services/session'; diff --git a/app/routes/kuler.ts b/app/routes/kuler.ts index 57d512ef4..4d6dc957b 100644 --- a/app/routes/kuler.ts +++ b/app/routes/kuler.ts @@ -1,7 +1,7 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; import type ColorModel from 'swach/data-models/color'; import type Session from 'swach/services/session'; diff --git a/app/routes/palettes.ts b/app/routes/palettes.ts index 80d1cc5d1..c8bc7f906 100644 --- a/app/routes/palettes.ts +++ b/app/routes/palettes.ts @@ -1,7 +1,7 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import type { LiveQuery, Store } from '@ef4/ember-orbit'; +import type { LiveQuery, Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; diff --git a/app/services/color-utils.ts b/app/services/color-utils.ts index 4662babca..a76dede7f 100644 --- a/app/services/color-utils.ts +++ b/app/services/color-utils.ts @@ -1,6 +1,6 @@ import { action } from '@ember/object'; import Service, { service } from '@ember/service'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; import { TinyColor } from '@ctrl/tinycolor'; import type { ColorInput } from '@ctrl/tinycolor'; diff --git a/app/services/data.ts b/app/services/data.ts index 2a55cd536..d83f690b0 100644 --- a/app/services/data.ts +++ b/app/services/data.ts @@ -1,6 +1,6 @@ import Service, { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import type { Coordinator } from '@orbit/coordinator'; import type IndexedDBSource from '@orbit/indexeddb'; import type JSONAPISource from '@orbit/jsonapi'; diff --git a/app/services/undo-manager.ts b/app/services/undo-manager.ts index bac91f06f..944571d3a 100644 --- a/app/services/undo-manager.ts +++ b/app/services/undo-manager.ts @@ -1,5 +1,5 @@ import Service, { service } from '@ember/service'; -import type { Store } from '@ef4/ember-orbit'; +import type { Store } from 'ember-orbit'; import type { IpcRenderer } from 'electron'; import removeFromTo from 'swach/utils/remove-from-to'; diff --git a/app/templates/palettes.gts b/app/templates/palettes.gts index 435c6fde2..e5e3279c8 100644 --- a/app/templates/palettes.gts +++ b/app/templates/palettes.gts @@ -1,6 +1,6 @@ import { concat, fn, hash } from '@ember/helper'; import { on } from '@ember/modifier'; -import type { LiveQuery } from '@ef4/ember-orbit'; +import type { LiveQuery } from 'ember-orbit'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import RouteTemplate from 'ember-route-template'; diff --git a/package.json b/package.json index 095fe3b36..5ef387b95 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "@babel/preset-env": "^7.28.3", "@babel/runtime": "^7.28.3", "@ctrl/tinycolor": "^4.1.0", - "@ef4/ember-orbit": "0.17.3-ef4.6", "@electron-forge/cli": "^7.8.3", "@electron-forge/core": "^7.8.3", "@electron-forge/maker-deb": "^7.8.3", @@ -153,6 +152,7 @@ "ember-local-storage": "2.0.6", "ember-math-helpers": "^5.0.0", "ember-modifier": "^4.2.2", + "ember-orbit": "orbitjs/ember-orbit#6cde82ba2a96dd99dc906e6c54e0679affc9eabb", "ember-qunit": "^9.0.3", "ember-resolver": "^13.1.1", "ember-route-template": "^1.0.3", diff --git a/patches/object-inspect.patch b/patches/object-inspect.patch index 58f0129c9..abf74cd1a 100644 --- a/patches/object-inspect.patch +++ b/patches/object-inspect.patch @@ -1,54 +1,27 @@ -diff --git a/index.js b/index.cjs -similarity index 99% -rename from index.js -rename to index.cjs -index a4b2d4cd850adb5cda64eb9e5692457a73c0947e..077947eaa7b8bfb7276510ccc87a48a6a0146e64 100644 +diff --git a/index.js b/index.js +index a4b2d4cd850adb5cda64eb9e5692457a73c0947e..82f0135560d38591d3a9d0bd8277f648f28eaa72 100644 --- a/index.js -+++ b/index.cjs -@@ -65,7 +65,7 @@ function addNumericSeparator(num, str) { ++++ b/index.js +@@ -65,8 +65,8 @@ function addNumericSeparator(num, str) { return $replace.call(str, sepRegex, '$&_'); } -var utilInspect = require('./util.inspect'); -+var utilInspect = require('./util-inspect.cjs'); - var inspectCustom = utilInspect.custom; +-var inspectCustom = utilInspect.custom; ++var utilInspect = require('./util.inspect.js'); ++var inspectCustom = utilInspect?.custom; var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; -diff --git a/package.json b/package.json -index 9fd97ff7523f106de04c47adf74aa3a36db8dbbd..8cb5e3bd812568211ecf7c913101ba7d0e390540 100644 ---- a/package.json -+++ b/package.json -@@ -2,7 +2,7 @@ - "name": "object-inspect", - "version": "1.13.4", - "description": "string representations of objects in node and the browser", -- "main": "index.js", -+ "main": "index.cjs", - "sideEffects": false, - "devDependencies": { - "@ljharb/eslint-config": "^21.1.1", -@@ -82,7 +82,7 @@ - }, - "license": "MIT", - "browser": { -- "./util.inspect.js": false -+ "./util-inspect.cjs": false - }, - "auto-changelog": { - "output": "CHANGELOG.md", + var quotes = { diff --git a/test/inspect.js b/test/inspect.js -index 1abf81b1f00b305519e52fe74477b2c5b71803c7..1746a081174db1e0ff4e494d0e475052265bd42b 100644 +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.cjs'); ++var utilInspect = require('../util.inspect.js'); var repeat = require('string.prototype.repeat'); var inspect = require('..'); -diff --git a/util.inspect.js b/util-inspect.cjs -similarity index 100% -rename from util.inspect.js -rename to util-inspect.cjs diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7d4283de..8d46c8c6c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,7 +15,7 @@ patchedDependencies: hash: 36fe32b4857db3860f64e596f7e6e177e6fb63159d7e2979e68c2b65a57c425d path: patches/menubar.patch object-inspect: - hash: e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985 + hash: 07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943 path: patches/object-inspect.patch importers: @@ -74,9 +74,6 @@ importers: '@ctrl/tinycolor': specifier: ^4.1.0 version: 4.1.0 - '@ef4/ember-orbit': - specifier: 0.17.3-ef4.6 - version: 0.17.3-ef4.6(@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))(webpack@5.101.2) '@electron-forge/cli': specifier: ^7.8.3 version: 7.8.3(encoding@0.1.13) @@ -356,6 +353,9 @@ importers: ember-modifier: specifier: ^4.2.2 version: 4.2.2(@babel/core@7.28.3) + ember-orbit: + specifier: orbitjs/ember-orbit#6cde82ba2a96dd99dc906e6c54e0679affc9eabb + version: https://codeload.github.com/orbitjs/ember-orbit/tar.gz/6cde82ba2a96dd99dc906e6c54e0679affc9eabb(@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-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) @@ -1399,13 +1399,6 @@ packages: '@dual-bundle/import-meta-resolve@4.1.0': resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} - '@ef4/ember-orbit@0.17.3-ef4.6': - resolution: {integrity: sha512-jstk9DK/ys6v5l5Xle71nv9CsoV2PzvXqQIseK50mZgXYco9BZ0c1QvwCnNiXxy1abcCAhCReY6liUuWyB4zqg==} - engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - '@ember/test-helpers': '>= 2.6.0' - ember-source: '>= 3.24.0' - '@electron-forge/cli@7.8.3': resolution: {integrity: sha512-BSAjGGfVf0yp3NQhXYmyCw9T//YCQHuktMv4HXfDVfo7AoV6DA1oEhqldI4Q7aHKeRob5+yBkvRRYPiu5ayCPw==} engines: {node: '>= 16.4.0'} @@ -5137,10 +5130,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.*'} @@ -5257,6 +5246,13 @@ packages: ember-modifier@4.2.2: resolution: {integrity: sha512-pPYBAGyczX0hedGWQFQOEiL9s45KS9efKxJxUQkMLjQyh+1Uef1mcmAGsdw2KmvNupITkE/nXxmVO1kZ9tt3ag==} + ember-orbit@https://codeload.github.com/orbitjs/ember-orbit/tar.gz/6cde82ba2a96dd99dc906e6c54e0679affc9eabb: + resolution: {tarball: https://codeload.github.com/orbitjs/ember-orbit/tar.gz/6cde82ba2a96dd99dc906e6c54e0679affc9eabb} + version: 0.17.3 + engines: {node: '>= 20.11'} + peerDependencies: + ember-source: '>= 4.0.0' + ember-qunit@9.0.3: resolution: {integrity: sha512-t+FD5/EWAR3WvGVj1etblFJJ6CaJqddDxusNcYYFZmW7zrQpCnQ9ziwpXM5/sw1sWabkhJZgYPXCn8bDRRhOfg==} peerDependencies: @@ -11800,28 +11796,6 @@ snapshots: '@dual-bundle/import-meta-resolve@4.1.0': {} - '@ef4/ember-orbit@0.17.3-ef4.6(@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))(webpack@5.101.2)': - dependencies: - '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) - '@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/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) - transitivePeerDependencies: - - '@glint/template' - - supports-color - - webpack - '@electron-forge/cli@7.8.3(encoding@0.1.13)': dependencies: '@electron-forge/core': 7.8.3(encoding@0.1.13) @@ -13720,14 +13694,14 @@ snapshots: '@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(@babel/core@7.28.3) - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__polyfills': 4.0.6 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) '@types/ember__runloop': 4.0.10 - '@types/ember__service': 4.0.9(@babel/core@7.28.3) + '@types/ember__service': 4.0.9 '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 '@types/ember__test': 4.0.6(@babel/core@7.28.3) @@ -13740,14 +13714,14 @@ snapshots: '@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(@babel/core@7.28.3) - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@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(@babel/core@7.28.3) + '@types/ember__service': 4.0.9 '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 '@types/ember__test': 4.0.6(@babel/core@7.28.3) @@ -13761,7 +13735,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.3) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11(@babel/core@7.28.3) + '@types/ember__engine': 4.0.11 '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 '@types/ember__routing': 4.0.22(@babel/core@7.28.3) @@ -13792,21 +13766,15 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8(@babel/core@7.28.3)': + '@types/ember__debug@4.0.8': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 - transitivePeerDependencies: - - '@babel/core' - - supports-color - '@types/ember__engine@4.0.11(@babel/core@7.28.3)': + '@types/ember__engine@4.0.11': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) '@types/ember__owner': 4.0.9 - transitivePeerDependencies: - - '@babel/core' - - supports-color '@types/ember__error@4.0.6': {} @@ -13827,7 +13795,7 @@ snapshots: '@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(@babel/core@7.28.3) + '@types/ember__service': 4.0.9 transitivePeerDependencies: - '@babel/core' - supports-color @@ -13843,12 +13811,9 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__service@4.0.9(@babel/core@7.28.3)': + '@types/ember__service@4.0.9': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.3) - transitivePeerDependencies: - - '@babel/core' - - supports-color '@types/ember__string@3.0.15': {} @@ -17130,21 +17095,6 @@ 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 - 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 @@ -17508,6 +17458,29 @@ snapshots: - '@babel/core' - supports-color + ember-orbit@https://codeload.github.com/orbitjs/ember-orbit/tar.gz/6cde82ba2a96dd99dc906e6c54e0679affc9eabb(@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): + dependencies: + '@babel/core': 7.28.3 + '@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: 8.2.0(@babel/core@7.28.3) + 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-template-imports: 4.3.0 + transitivePeerDependencies: + - '@glint/template' + - 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): dependencies: '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) @@ -17855,7 +17828,7 @@ snapshots: is-typed-array: 1.1.15 is-weakref: 1.1.1 math-intrinsics: 1.1.0 - object-inspect: 1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) + object-inspect: 1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943) object-keys: 1.1.1 object.assign: 4.1.7 own-keys: 1.0.1 @@ -21080,7 +21053,7 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985): {} + object-inspect@1.13.4(patch_hash=07bb56f5726ba695c86f284a978906777ea8d5dfdcfe03f8ee5a83c79d559943): {} object-keys@0.4.0: {} @@ -22475,27 +22448,27 @@ snapshots: side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) + 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(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) + 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(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) + 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(patch_hash=e440b5b44b928693ba158e1c45ad2440a58227eb9738cd4489c7ed9bfeee2985) + 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 diff --git a/tests/helpers.ts b/tests/helpers.ts index e8ee58664..1d88093f0 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -1,4 +1,4 @@ -import { waitForSource } from '@ef4/ember-orbit/test-support'; +import { waitForSource } from 'ember-orbit/test-support'; import { getContext, settled } from '@ember/test-helpers'; import { animationsSettled } from 'ember-animated/test-support'; import type Owner from '@ember/owner'; diff --git a/tests/unit/services/data-test.ts b/tests/unit/services/data-test.ts index a86d9ed9d..f1d149a07 100644 --- a/tests/unit/services/data-test.ts +++ b/tests/unit/services/data-test.ts @@ -1,6 +1,6 @@ import { setupTest } from 'ember-qunit'; import { module, test } from 'qunit'; -import type { Store } from '@ef4/ember-orbit'; +import 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'; From ebe3b026c5642d1258bcbdddfb0a6dff9ec76e93 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Fri, 19 Sep 2025 22:11:04 -0400 Subject: [PATCH 14/54] Update ember-drag-sort --- .vscode/settings.json | 4 - app/components/animated-drag-sort-list.gts | 7 +- app/components/palette-row.gts | 4 +- app/templates/palettes.gts | 5 +- package.json | 8 +- pnpm-lock.yaml | 1650 +++++++++-------- .../components/drag-sort-list.d.ts | 7 - types/ember-drag-sort/services/drag-sort.d.ts | 7 - 8 files changed, 865 insertions(+), 827 deletions(-) delete mode 100644 types/ember-drag-sort/components/drag-sort-list.d.ts delete mode 100644 types/ember-drag-sort/services/drag-sort.d.ts 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/components/animated-drag-sort-list.gts b/app/components/animated-drag-sort-list.gts index 4f4800d41..db88753fa 100644 --- a/app/components/animated-drag-sort-list.gts +++ b/app/components/animated-drag-sort-list.gts @@ -5,7 +5,6 @@ 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'; @@ -37,13 +36,13 @@ export default class AnimatedDragSortList extends DragSortList { didDrag = false; - dragEnter(event: Event): void { + 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/palette-row.gts b/app/components/palette-row.gts index ecd93fa40..d1ec438e1 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -198,7 +198,6 @@ export default class PaletteRowComponent extends Component {{/unless}} - {{!@glint-expect-error TODO: fix this}} @service declare colorUtils: ColorUtils; @service declare dataSchema: RecordSchema; - @service declare dragSort: DragSortService; + @service declare dragSort: DragSortService; @service declare router: Router; @service declare store: Store; @service declare undoManager: UndoManager; @@ -293,7 +292,6 @@ export default class PaletteRowComponent extends Component ), ]; - // @ts-expect-error dragSort.on does not seem to exist in TS this.dragSort.on( 'start', (event: { draggedItem: { hex: string | null } }) => { diff --git a/app/templates/palettes.gts b/app/templates/palettes.gts index e5e3279c8..2b550ac8c 100644 --- a/app/templates/palettes.gts +++ b/app/templates/palettes.gts @@ -1,8 +1,8 @@ import { concat, fn, hash } from '@ember/helper'; import { on } from '@ember/modifier'; -import type { LiveQuery } from 'ember-orbit'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; +import type { LiveQuery } from 'ember-orbit'; import RouteTemplate from 'ember-route-template'; import set from 'ember-set-helper/helpers/set'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; @@ -54,11 +54,10 @@ export default RouteTemplate<{ {{#if @controller.last16Colors.length}} - {{!@glint-expect-error TODO: fix this}} =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==} @@ -671,8 +667,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.873.0': + resolution: {integrity: sha512-xcVhZF6svjM5Rj89T1WzkjQmrTF6dpR2UvIHPMTnSZoNe6CixejPZ6f0JJ2kAhO8H+dUHwNBlsUgOTIKiK/Syg==} engines: {node: '>=18.0.0'} '@aws-sdk/util-uri-escape@3.6.1': @@ -704,8 +700,8 @@ packages: resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} 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': @@ -802,8 +798,8 @@ 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': @@ -811,6 +807,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} engines: {node: '>=6.9.0'} @@ -1342,10 +1343,18 @@ packages: resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} engines: {node: '>=6.9.0'} + '@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==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + engines: {node: '>=6.9.0'} + '@cnakazawa/watch@1.0.4': resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} engines: {node: '>=0.1.95'} @@ -1392,13 +1401,19 @@ 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==} + '@ef4/ember-orbit@0.17.3-ef4.2': + resolution: {integrity: sha512-Q8PNaAzc4xVmQt6qo0sUCgIOXBNCGWtoiz0zEs9ARNSLWry/6TEUeKmPJR4knZDrYWrYP2DzZpxVO+FmJzNWUQ==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + ember-source: '>= 3.24.0' + '@electron-forge/cli@7.8.3': resolution: {integrity: sha512-BSAjGGfVf0yp3NQhXYmyCw9T//YCQHuktMv4HXfDVfo7AoV6DA1oEhqldI4Q7aHKeRob5+yBkvRRYPiu5ayCPw==} engines: {node: '>= 16.4.0'} @@ -1522,8 +1537,8 @@ packages: engines: {node: '>=12.0.0'} hasBin: true - '@electron/packager@18.4.0': - resolution: {integrity: sha512-Ge1wQWRUZShKDeUPiamOPo44mipX4bosfBgul2x0PiMDXW09/IGftDphatoT+kAhsuLRBOKTLIe9VsDNk5MzZw==} + '@electron/packager@18.4.2': + resolution: {integrity: sha512-5wr/6YoOhBlQoAloquKksY21Pa/2Eg4kq4y/+jOX+9smAFS4fcM3kG3KyhU/zEuwitxRjquq9/KxDNNhJbhc+w==} engines: {node: '>= 16.13.0'} hasBin: true @@ -2094,6 +2109,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'} @@ -2371,103 +2389,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.46.4': - resolution: {integrity: sha512-B2wfzCJ+ps/OBzRjeds7DlJumCU3rXMxJJS1vzURyj7+KBHGONm7c9q1TfdBl4vCuNMkDvARn3PBl2wZzuR5mw==} + '@rollup/rollup-android-arm-eabi@4.47.1': + resolution: {integrity: sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.46.4': - resolution: {integrity: sha512-FGJYXvYdn8Bs6lAlBZYT5n+4x0ciEp4cmttsvKAZc/c8/JiPaQK8u0c/86vKX8lA7OY/+37lIQSe0YoAImvBAA==} + '@rollup/rollup-android-arm64@4.47.1': + resolution: {integrity: sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.46.4': - resolution: {integrity: sha512-/9qwE/BM7ATw/W/OFEMTm3dmywbJyLQb4f4v5nmOjgYxPIGpw7HaxRi6LnD4Pjn/q7k55FGeHe1/OD02w63apA==} + '@rollup/rollup-darwin-arm64@4.47.1': + resolution: {integrity: sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.46.4': - resolution: {integrity: sha512-QkWfNbeRuzFnv2d0aPlrzcA3Ebq2mE8kX/5Pl7VdRShbPBjSnom7dbT8E3Jmhxo2RL784hyqGvR5KHavCJQciw==} + '@rollup/rollup-darwin-x64@4.47.1': + resolution: {integrity: sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.46.4': - resolution: {integrity: sha512-+ToyOMYnSfV8D+ckxO6NthPln/PDNp1P6INcNypfZ7muLmEvPKXqduUiD8DlJpMMT8LxHcE5W0dK9kXfJke9Zw==} + '@rollup/rollup-freebsd-arm64@4.47.1': + resolution: {integrity: sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.46.4': - resolution: {integrity: sha512-cGT6ey/W+sje6zywbLiqmkfkO210FgRz7tepWAzzEVgQU8Hn91JJmQWNqs55IuglG8sJdzk7XfNgmGRtcYlo1w==} + '@rollup/rollup-freebsd-x64@4.47.1': + resolution: {integrity: sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.46.4': - resolution: {integrity: sha512-9fhTJyOb275w5RofPSl8lpr4jFowd+H4oQKJ9XTYzD1JWgxdZKE8bA6d4npuiMemkecQOcigX01FNZNCYnQBdA==} + '@rollup/rollup-linux-arm-gnueabihf@4.47.1': + resolution: {integrity: sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.46.4': - resolution: {integrity: sha512-+6kCIM5Zjvz2HwPl/udgVs07tPMIp1VU2Y0c72ezjOvSvEfAIWsUgpcSDvnC7g9NrjYR6X9bZT92mZZ90TfvXw==} + '@rollup/rollup-linux-arm-musleabihf@4.47.1': + resolution: {integrity: sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.46.4': - resolution: {integrity: sha512-SWuXdnsayCZL4lXoo6jn0yyAj7TTjWE4NwDVt9s7cmu6poMhtiras5c8h6Ih6Y0Zk6Z+8t/mLumvpdSPTWub2Q==} + '@rollup/rollup-linux-arm64-gnu@4.47.1': + resolution: {integrity: sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.46.4': - resolution: {integrity: sha512-vDknMDqtMhrrroa5kyX6tuC0aRZZlQ+ipDfbXd2YGz5HeV2t8HOl/FDAd2ynhs7Ki5VooWiiZcCtxiZ4IjqZwQ==} + '@rollup/rollup-linux-arm64-musl@4.47.1': + resolution: {integrity: sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.46.4': - resolution: {integrity: sha512-mCBkjRZWhvjtl/x+Bd4fQkWZT8canStKDxGrHlBiTnZmJnWygGcvBylzLVCZXka4dco5ymkWhZlLwKCGFF4ivw==} + '@rollup/rollup-linux-loongarch64-gnu@4.47.1': + resolution: {integrity: sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.46.4': - resolution: {integrity: sha512-YMdz2phOTFF+Z66dQfGf0gmeDSi5DJzY5bpZyeg9CPBkV9QDzJ1yFRlmi/j7WWRf3hYIWrOaJj5jsfwgc8GTHQ==} + '@rollup/rollup-linux-ppc64-gnu@4.47.1': + resolution: {integrity: sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.46.4': - resolution: {integrity: sha512-r0WKLSfFAK8ucG024v2yiLSJMedoWvk8yWqfNICX28NHDGeu3F/wBf8KG6mclghx4FsLePxJr/9N8rIj1PtCnw==} + '@rollup/rollup-linux-riscv64-gnu@4.47.1': + resolution: {integrity: sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.46.4': - resolution: {integrity: sha512-IaizpPP2UQU3MNyPH1u0Xxbm73D+4OupL0bjo4Hm0496e2wg3zuvoAIhubkD1NGy9fXILEExPQy87mweujEatA==} + '@rollup/rollup-linux-riscv64-musl@4.47.1': + resolution: {integrity: sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.46.4': - resolution: {integrity: sha512-aCM29orANR0a8wk896p6UEgIfupReupnmISz6SUwMIwTGaTI8MuKdE0OD2LvEg8ondDyZdMvnaN3bW4nFbATPA==} + '@rollup/rollup-linux-s390x-gnu@4.47.1': + resolution: {integrity: sha512-U/CHbqKSwEQyZXjCpY43/GLYcTVKEXeRHw0rMBJP7fP3x6WpYG4LTJWR3ic6TeYKX6ZK7mrhltP4ppolyVhLVQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.46.4': - resolution: {integrity: sha512-0Xj1vZE3cbr/wda8d/m+UeuSL+TDpuozzdD4QaSzu/xSOMK0Su5RhIkF7KVHFQsobemUNHPLEcYllL7ZTCP/Cg==} + '@rollup/rollup-linux-x64-gnu@4.47.1': + resolution: {integrity: sha512-uTLEakjxOTElfeZIGWkC34u2auLHB1AYS6wBjPGI00bWdxdLcCzK5awjs25YXpqB9lS8S0vbO0t9ZcBeNibA7g==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.46.4': - resolution: {integrity: sha512-kM/orjpolfA5yxsx84kI6bnK47AAZuWxglGKcNmokw2yy9i5eHY5UAjcX45jemTJnfHAWo3/hOoRqEeeTdL5hw==} + '@rollup/rollup-linux-x64-musl@4.47.1': + resolution: {integrity: sha512-Ft+d/9DXs30BK7CHCTX11FtQGHUdpNDLJW0HHLign4lgMgBcPFN3NkdIXhC5r9iwsMwYreBBc4Rho5ieOmKNVQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.46.4': - resolution: {integrity: sha512-cNLH4psMEsWKILW0isbpQA2OvjXLbKvnkcJFmqAptPQbtLrobiapBJVj6RoIvg6UXVp5w0wnIfd/Q56cNpF+Ew==} + '@rollup/rollup-win32-arm64-msvc@4.47.1': + resolution: {integrity: sha512-N9X5WqGYzZnjGAFsKSfYFtAShYjwOmFJoWbLg3dYixZOZqU7hdMq+/xyS14zKLhFhZDhP9VfkzQnsdk0ZDS9IA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.46.4': - resolution: {integrity: sha512-OiEa5lRhiANpv4SfwYVgQ3opYWi/QmPDC5ve21m8G9pf6ZO+aX1g2EEF1/IFaM1xPSP7mK0msTRXlPs6mIagkg==} + '@rollup/rollup-win32-ia32-msvc@4.47.1': + resolution: {integrity: sha512-O+KcfeCORZADEY8oQJk4HK8wtEOCRE4MdOkb8qGZQNun3jzmj2nmhV/B/ZaaZOkPmJyvm/gW9n0gsB4eRa1eiQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.46.4': - resolution: {integrity: sha512-IKL9mewGZ5UuuX4NQlwOmxPyqielvkAPUS2s1cl6yWjjQvyN3h5JTdVFGD5Jr5xMjRC8setOfGQDVgX8V+dkjg==} + '@rollup/rollup-win32-x64-msvc@4.47.1': + resolution: {integrity: sha512-CpKnYa8eHthJa3c+C38v/E+/KZyF1Jdh2Cz3DyKZqEWYgrM1IHFArXNWvBLPQCKUEsAqqKX27tTqVEFbDNUcOA==} cpu: [x64] os: [win32] @@ -4018,8 +4036,8 @@ packages: resolution: {integrity: sha512-RbsNrFyhwkx+6psk/0fK/Q9orOUr9VMxohGd8vTa4djf4TGLfblBgUfqZChrZuW0Q+mz2eBPFLusw9Jfukzmhg==} hasBin: true - caniuse-lite@1.0.30001735: - resolution: {integrity: sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==} + caniuse-lite@1.0.30001736: + resolution: {integrity: sha512-ImpN5gLEY8gWeqfLUyEF4b7mYWcYoR2Si1VhnrbM4JizRFmfGaAQ12PhNykq6nvI4XvKLrsp8Xde74D5phJOSw==} capture-exit@2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} @@ -4529,8 +4547,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.45.1: + resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} core-js@2.6.12: resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} @@ -5007,8 +5025,8 @@ packages: electron-store@8.2.0: resolution: {integrity: sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw==} - electron-to-chromium@1.5.207: - resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} + electron-to-chromium@1.5.208: + resolution: {integrity: sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==} electron-winstaller@5.4.0: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} @@ -5130,6 +5148,10 @@ 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.*'} @@ -5186,9 +5208,11 @@ 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-drag-sort@4.0.4: + resolution: {integrity: sha512-mGTY2mnr9A/Hj/YaK6nStJRBJOnP5nhKnlyB4pkcwJsDBsHiR0oqMrBc7kC7VC1w7gLITej+rMwclY+oGdIQxw==} + engines: {node: '>= 20'} + peerDependencies: + ember-source: '>= 4.0.0' ember-element-helper@0.8.8: resolution: {integrity: sha512-3slTltQV5ke53t3YVP2GYoswsQ6y+lhuVzKmt09tbEx91DapG8I/xa8W5OA0StvcQlavL3/vHrz/vCQEFs8bBA==} @@ -5246,13 +5270,6 @@ packages: ember-modifier@4.2.2: resolution: {integrity: sha512-pPYBAGyczX0hedGWQFQOEiL9s45KS9efKxJxUQkMLjQyh+1Uef1mcmAGsdw2KmvNupITkE/nXxmVO1kZ9tt3ag==} - ember-orbit@https://codeload.github.com/orbitjs/ember-orbit/tar.gz/6cde82ba2a96dd99dc906e6c54e0679affc9eabb: - resolution: {tarball: https://codeload.github.com/orbitjs/ember-orbit/tar.gz/6cde82ba2a96dd99dc906e6c54e0679affc9eabb} - version: 0.17.3 - engines: {node: '>= 20.11'} - peerDependencies: - ember-source: '>= 4.0.0' - ember-qunit@9.0.3: resolution: {integrity: sha512-t+FD5/EWAR3WvGVj1etblFJJ6CaJqddDxusNcYYFZmW7zrQpCnQ9ziwpXM5/sw1sWabkhJZgYPXCn8bDRRhOfg==} peerDependencies: @@ -8985,8 +9002,8 @@ packages: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} - rollup@4.46.4: - resolution: {integrity: sha512-YbxoxvoqNg9zAmw4+vzh1FkGAiZRK+LhnSrbSrSXMdZYsRPDWoshcSd/pldKRO6lWzv/e9TiJAVQyirYIeSIPQ==} + rollup@4.47.1: + resolution: {integrity: sha512-iasGAQoZ5dWDzULEUX3jiW0oB1qyFOepSyDyoU6S/OhVlDIwj5knI5QBa5RRQ0sK7OE0v+8VIi2JuV+G+3tfNg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -10499,8 +10516,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - 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: @@ -10513,11 +10530,6 @@ 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) @@ -10526,28 +10538,28 @@ snapshots: '@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 @@ -10566,7 +10578,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.873.0 tslib: 1.14.1 '@aws-crypto/sha256-js@1.0.0-alpha.0': @@ -10596,7 +10608,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 @@ -10608,7 +10620,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 @@ -10632,7 +10644,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 @@ -10644,7 +10656,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 @@ -10674,9 +10686,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 @@ -10761,12 +10773,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: @@ -10893,7 +10905,7 @@ snapshots: dependencies: tslib: 1.14.1 - '@aws-sdk/util-locate-window@3.804.0': + '@aws-sdk/util-locate-window@3.873.0': dependencies: tslib: 2.8.1 @@ -10934,18 +10946,18 @@ snapshots: '@babel/compat-data@7.28.0': {} - '@babel/core@7.28.3': + '@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) - '@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 - '@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 gensync: 1.0.0-beta.2 @@ -10954,9 +10966,9 @@ snapshots: 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.0(@babel/core@7.28.4)(eslint@9.33.0(jiti@2.5.1))': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 9.33.0(jiti@2.5.1) eslint-visitor-keys: 2.1.0 @@ -10964,8 +10976,8 @@ snapshots: '@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 jsesc: 3.1.0 @@ -10982,29 +10994,29 @@ snapshots: 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 + '@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 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 + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.2.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 + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 debug: 4.4.1 @@ -11017,8 +11029,8 @@ snapshots: '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color @@ -11029,36 +11041,36 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3 + '@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 + '@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 + '@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 + '@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 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -11078,567 +11090,571 @@ snapshots: '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3 - '@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': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 + + '@babel/parser@7.28.4': + dependencies: + '@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 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.3 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 + '@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 + '@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 + '@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 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.3 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 - '@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 - '@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 + '@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 - '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 - '@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 + '@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 + '@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/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) '@babel/traverse': 7.28.3 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 + '@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 + '@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.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@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 - '@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 - '@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.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@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/helper-replace-supers': 7.27.1(@babel/core@7.28.4) '@babel/traverse': 7.28.3 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 + '@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 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.3 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 - '@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 + '@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 - '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@babel/core': 7.28.4 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.3 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 + '@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 + '@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 + '@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 + '@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 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@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 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@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 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@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 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 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@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 - '@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 + '@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 + '@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 + '@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.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@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/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.3 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 + '@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 + '@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 + '@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 + '@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 - '@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 + '@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 + '@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.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@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 - '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 + '@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 - '@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 + '@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 - '@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 - '@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 - '@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': @@ -11646,85 +11662,85 @@ 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 + '@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.0(@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.3(@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.0(@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.3(@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.45.1 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 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/types': 7.28.2 esutils: 2.0.3 @@ -11738,17 +11754,29 @@ snapshots: '@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': 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 + '@babel/types': 7.28.4 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + '@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.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -11758,6 +11786,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@cnakazawa/watch@1.0.4': dependencies: exec-sh: 0.3.6 @@ -11792,10 +11825,31 @@ 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': {} + '@ef4/ember-orbit@0.17.3-ef4.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))(webpack@5.101.2)': + dependencies: + '@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/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) + transitivePeerDependencies: + - '@glint/template' + - supports-color + - webpack + '@electron-forge/cli@7.8.3(encoding@0.1.13)': dependencies: '@electron-forge/core': 7.8.3(encoding@0.1.13) @@ -11843,7 +11897,7 @@ snapshots: '@electron-forge/template-webpack-typescript': 7.8.3 '@electron-forge/tracer': 7.8.3 '@electron/get': 3.1.0 - '@electron/packager': 18.4.0 + '@electron/packager': 18.4.2 '@electron/rebuild': 3.7.2 '@malept/cross-spawn-promise': 2.0.0 chalk: 4.1.2 @@ -11988,7 +12042,7 @@ snapshots: '@electron-forge/shared-types@7.8.3': dependencies: '@electron-forge/tracer': 7.8.3 - '@electron/packager': 18.4.0 + '@electron/packager': 18.4.2 '@electron/rebuild': 3.7.2 listr2: 7.0.2 transitivePeerDependencies: @@ -12122,7 +12176,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/packager@18.4.0': + '@electron/packager@18.4.2': dependencies: '@electron/asar': 3.4.1 '@electron/get': 3.1.0 @@ -12130,6 +12184,7 @@ snapshots: '@electron/osx-sign': 1.3.3 '@electron/universal': 2.0.3 '@electron/windows-sign': 1.2.2 + '@malept/cross-spawn-promise': 2.0.0 debug: 4.4.1 extract-zip: 2.0.1 filenamify: 4.3.0 @@ -12228,10 +12283,10 @@ snapshots: '@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))': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@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-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.101.2) optionalDependencies: '@glint/template': 1.5.2 @@ -12240,13 +12295,13 @@ snapshots: '@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.2.2(@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) '@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' @@ -12273,12 +12328,12 @@ snapshots: '@embroider/compat@4.1.2(@embroider/core@4.1.3(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2)': dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.3 - '@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/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.3 '@babel/traverse': 7.28.3 '@embroider/core': 4.1.3(@glint/template@1.5.2) @@ -12286,7 +12341,7 @@ snapshots: '@types/babel__code-frame': 7.0.6 assert-never: 1.4.0 babel-import-util: 3.0.1 - babel-plugin-debug-macros: 2.0.0(@babel/core@7.28.3) + babel-plugin-debug-macros: 2.0.0(@babel/core@7.28.4) babel-plugin-ember-template-compilation: 3.0.0 babel-plugin-ember-template-compilation-2: babel-plugin-ember-template-compilation@2.4.1 babel-plugin-syntax-dynamic-import: 6.18.0 @@ -12331,7 +12386,7 @@ snapshots: '@embroider/core@4.1.3(@glint/template@1.5.2)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/parser': 7.28.3 '@babel/traverse': 7.28.3 '@embroider/macros': 1.18.1(@glint/template@1.5.2) @@ -12430,13 +12485,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@embroider/vite@1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.46.4)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))': + '@embroider/vite@1.1.6(@embroider/core@4.1.3(@glint/template@1.5.2))(@glint/template@1.5.2)(rollup@4.47.1)(vite@6.3.5(@types/node@22.17.2)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@embroider/core': 4.1.3(@glint/template@1.5.2) '@embroider/macros': 1.18.1(@glint/template@1.5.2) '@embroider/reverse-exports': 0.1.2 - '@rollup/pluginutils': 5.2.0(rollup@4.46.4) + '@rollup/pluginutils': 5.2.0(rollup@4.47.1) assert-never: 1.4.0 browserslist: 4.25.3 browserslist-to-esbuild: 2.1.1(browserslist@4.25.3) @@ -12589,7 +12644,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 @@ -12602,9 +12657,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 @@ -12777,9 +12832,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' @@ -12812,27 +12867,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.22(@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.22(@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.22(@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.22(@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.22(@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.22(@babel/core@7.28.4) '@glint/template@1.5.2': {} @@ -12925,7 +12980,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.30 babel-plugin-istanbul: 6.1.1 @@ -12957,6 +13012,11 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': @@ -13032,10 +13092,10 @@ 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.2.11(@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.101.2))': 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-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)) transitivePeerDependencies: - '@babel/core' @@ -13223,9 +13283,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 + '@babel/core': 7.28.4 glob: 7.2.3 hermes-parser: 0.25.1 invariant: 2.2.4 @@ -13273,12 +13333,12 @@ 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))': dependencies: @@ -13305,83 +13365,83 @@ snapshots: walk-sync: 2.2.0 yaml: 2.8.1 - '@rollup/plugin-babel@6.0.4(@babel/core@7.28.3)(@types/babel__core@7.20.5)(rollup@4.46.4)': + '@rollup/plugin-babel@6.0.4(@babel/core@7.28.4)(@types/babel__core@7.20.5)(rollup@4.47.1)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.27.1 - '@rollup/pluginutils': 5.2.0(rollup@4.46.4) + '@rollup/pluginutils': 5.2.0(rollup@4.47.1) optionalDependencies: '@types/babel__core': 7.20.5 - rollup: 4.46.4 + rollup: 4.47.1 transitivePeerDependencies: - supports-color - '@rollup/pluginutils@5.2.0(rollup@4.46.4)': + '@rollup/pluginutils@5.2.0(rollup@4.47.1)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.46.4 + rollup: 4.47.1 - '@rollup/rollup-android-arm-eabi@4.46.4': + '@rollup/rollup-android-arm-eabi@4.47.1': optional: true - '@rollup/rollup-android-arm64@4.46.4': + '@rollup/rollup-android-arm64@4.47.1': optional: true - '@rollup/rollup-darwin-arm64@4.46.4': + '@rollup/rollup-darwin-arm64@4.47.1': optional: true - '@rollup/rollup-darwin-x64@4.46.4': + '@rollup/rollup-darwin-x64@4.47.1': optional: true - '@rollup/rollup-freebsd-arm64@4.46.4': + '@rollup/rollup-freebsd-arm64@4.47.1': optional: true - '@rollup/rollup-freebsd-x64@4.46.4': + '@rollup/rollup-freebsd-x64@4.47.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.46.4': + '@rollup/rollup-linux-arm-gnueabihf@4.47.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.46.4': + '@rollup/rollup-linux-arm-musleabihf@4.47.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.46.4': + '@rollup/rollup-linux-arm64-gnu@4.47.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.46.4': + '@rollup/rollup-linux-arm64-musl@4.47.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.46.4': + '@rollup/rollup-linux-loongarch64-gnu@4.47.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.46.4': + '@rollup/rollup-linux-ppc64-gnu@4.47.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.46.4': + '@rollup/rollup-linux-riscv64-gnu@4.47.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.46.4': + '@rollup/rollup-linux-riscv64-musl@4.47.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.46.4': + '@rollup/rollup-linux-s390x-gnu@4.47.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.46.4': + '@rollup/rollup-linux-x64-gnu@4.47.1': optional: true - '@rollup/rollup-linux-x64-musl@4.46.4': + '@rollup/rollup-linux-x64-musl@4.47.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.46.4': + '@rollup/rollup-win32-arm64-msvc@4.47.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.46.4': + '@rollup/rollup-win32-ia32-msvc@4.47.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.46.4': + '@rollup/rollup-win32-x64-msvc@4.47.1': optional: true '@sentry-internal/feedback@7.112.0': @@ -13635,24 +13695,24 @@ snapshots: '@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: @@ -13690,97 +13750,97 @@ snapshots: '@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__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 '@types/ember__engine': 4.0.11 '@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.22(@babel/core@7.28.4) '@types/ember__runloop': 4.0.10 '@types/ember__service': 4.0.9 '@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__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 '@types/ember__engine': 4.0.11 '@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__routing': 4.0.22(@babel/core@7.28.4) + '@types/ember__runloop': 4.0.10(@babel/core@7.28.4) '@types/ember__service': 4.0.9 '@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__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.22(@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': 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 '@types/ember__engine@4.0.11': 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 '@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' @@ -13790,11 +13850,11 @@ snapshots: '@types/ember__polyfills@4.0.6': {} - '@types/ember__routing@4.0.22(@babel/core@7.28.3)': + '@types/ember__routing@4.0.22(@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': 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 transitivePeerDependencies: - '@babel/core' @@ -13804,24 +13864,24 @@ 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': 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__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 @@ -13830,9 +13890,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 @@ -14468,7 +14528,7 @@ snapshots: autoprefixer@10.4.21(postcss@8.5.6): dependencies: browserslist: 4.25.3 - caniuse-lite: 1.0.30001735 + caniuse-lite: 1.0.30001736 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -14626,22 +14686,22 @@ 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 + '@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.101.2): dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 @@ -14656,19 +14716,19 @@ 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 + '@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 + '@babel/core': 7.28.4 semver: 5.7.2 - babel-plugin-debug-macros@2.0.0(@babel/core@7.28.3): + babel-plugin-debug-macros@2.0.0(@babel/core@7.28.4): dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 babel-import-util: 2.1.1 semver: 7.7.2 @@ -14712,7 +14772,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 @@ -14732,27 +14792,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 - '@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) 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 - '@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.45.1 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 - '@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 @@ -14937,24 +14997,24 @@ 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 - '@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-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: @@ -14991,11 +15051,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 + '@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: @@ -15012,9 +15072,9 @@ snapshots: babel-remove-types@1.0.1: dependencies: - '@babel/core': 7.28.3 - '@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 @@ -15232,7 +15292,7 @@ snapshots: broccoli-babel-transpiler@7.8.1: dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/polyfill': 7.12.1 broccoli-funnel: 2.0.2 broccoli-merge-trees: 3.0.2 @@ -15247,9 +15307,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 + '@babel/core': 7.28.4 broccoli-persistent-filter: 3.1.3 clone: 2.1.2 hash-for-dep: 1.5.1 @@ -15653,13 +15713,13 @@ snapshots: browserslist@3.2.8: dependencies: - caniuse-lite: 1.0.30001735 - electron-to-chromium: 1.5.207 + caniuse-lite: 1.0.30001736 + electron-to-chromium: 1.5.208 browserslist@4.25.3: dependencies: - caniuse-lite: 1.0.30001735 - electron-to-chromium: 1.5.207 + caniuse-lite: 1.0.30001736 + electron-to-chromium: 1.5.208 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.3) @@ -15829,7 +15889,7 @@ snapshots: dependencies: tmp: 0.0.28 - caniuse-lite@1.0.30001735: {} + caniuse-lite@1.0.30001736: {} capture-exit@2.0.0: dependencies: @@ -16208,7 +16268,7 @@ snapshots: copy-descriptor@0.1.1: {} - core-js-compat@3.45.0: + core-js-compat@3.45.1: dependencies: browserslist: 4.25.3 @@ -16450,16 +16510,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' @@ -16770,7 +16830,7 @@ snapshots: conf: 10.2.0 type-fest: 2.19.0 - electron-to-chromium@1.5.207: {} + electron-to-chromium@1.5.208: {} electron-winstaller@5.4.0: dependencies: @@ -16803,26 +16863,26 @@ 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.2.2(@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.2.2(@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.2.2(@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) 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.2.2(@babel/core@7.28.4)(@glint/template@1.5.2) transitivePeerDependencies: - '@babel/core' - '@glint/template' @@ -16830,15 +16890,15 @@ snapshots: ember-auto-import@2.10.0(@glint/template@1.5.2)(webpack@5.101.2): dependencies: - '@babel/core': 7.28.3 - '@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) + '@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.18.1(@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.101.2) 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 @@ -16883,20 +16943,20 @@ snapshots: ember-cli-babel@7.26.11: dependencies: - '@babel/core': 7.28.3 + '@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 @@ -16916,26 +16976,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 + '@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 @@ -16978,18 +17038,18 @@ snapshots: 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)): dependencies: - '@babel/core': 7.28.3 - ember-cli-babel: 8.2.0(@babel/core@7.28.3) + '@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.101.2) transitivePeerDependencies: - supports-color - ember-cli-flash@5.1.0(@ember/string@4.0.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.18.1(@glint/template@1.5.2))(ember-modifier@4.2.2(@babel/core@7.28.4)): dependencies: '@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) + ember-modifier: 4.2.2(@babel/core@7.28.4) transitivePeerDependencies: - supports-color @@ -17078,9 +17138,9 @@ 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 ember-cli-babel-plugin-helpers: 1.1.1 @@ -17095,6 +17155,21 @@ 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 + 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 @@ -17277,25 +17352,25 @@ 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@3.0.1(@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)))(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.0(@ember/test-helpers@5.2.2(@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.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))(encoding@0.1.13)(react-native@0.79.2(@babel/core@7.28.4)(react@19.1.0))(webpack@5.101.2): 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)) - '@babel/core': 7.28.3 + '@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: 8.2.0(@babel/core@7.28.3) + 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.0(@ember/test-helpers@5.2.2(@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.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-template-imports: 4.3.0 transitivePeerDependencies: @@ -17305,9 +17380,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 @@ -17329,12 +17404,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' @@ -17348,12 +17423,20 @@ snapshots: transitivePeerDependencies: - supports-color - ember-drag-sort@3.0.1: + ember-drag-sort@4.0.4(@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): dependencies: - ember-cli-babel: 7.26.11 + '@babel/core': 7.28.4 + '@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-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) + 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.101.2) + ember-template-imports: 4.3.0 transitivePeerDependencies: + - '@glint/template' - supports-color + - webpack ember-element-helper@0.8.8: dependencies: @@ -17361,10 +17444,10 @@ snapshots: transitivePeerDependencies: - supports-color - ember-eslint-parser@0.5.11(@babel/core@7.28.3)(@typescript-eslint/parser@8.40.0(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.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@babel/core': 7.28.3 - '@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.0(@babel/core@7.28.4)(eslint@9.33.0(jiti@2.5.1)) '@glimmer/syntax': 0.95.0 '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) content-tag: 2.0.3 @@ -17393,10 +17476,10 @@ snapshots: transitivePeerDependencies: - supports-color - ember-inflector@6.0.0(@babel/core@7.28.3): + ember-inflector@6.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) transitivePeerDependencies: - '@babel/core' - supports-color @@ -17430,60 +17513,37 @@ 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.101.2)): 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-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2) 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@https://codeload.github.com/orbitjs/ember-orbit/tar.gz/6cde82ba2a96dd99dc906e6c54e0679affc9eabb(@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): - dependencies: - '@babel/core': 7.28.3 - '@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: 8.2.0(@babel/core@7.28.3) - 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-template-imports: 4.3.0 - transitivePeerDependencies: - - '@glint/template' - - 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.3(@ember/test-helpers@5.2.2(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.1): dependencies: - '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) + '@ember/test-helpers': 5.2.2(@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 @@ -17508,8 +17568,8 @@ snapshots: ember-router-generator@2.0.0: dependencies: - '@babel/parser': 7.28.3 - '@babel/traverse': 7.28.3 + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 recast: 0.18.10 transitivePeerDependencies: - supports-color @@ -17520,15 +17580,15 @@ snapshots: transitivePeerDependencies: - supports-color - ember-set-helper@3.0.1(@babel/core@7.28.3): + ember-set-helper@3.0.1(@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.0(@ember/test-helpers@5.2.2(@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.101.2)): dependencies: '@ember/test-waiters': 4.1.1(@glint/template@1.5.2) '@embroider/addon-shim': 1.10.0 @@ -17536,16 +17596,16 @@ snapshots: 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) optionalDependencies: - '@ember/test-helpers': 5.2.2(@babel/core@7.28.3)(@glint/template@1.5.2) + '@ember/test-helpers': 5.2.2(@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.101.2))(qunit@2.24.1)(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) + 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.101.2) qunit: 2.24.1 sinon: 17.0.1 @@ -17555,7 +17615,7 @@ snapshots: ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2): dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@ember/edition-utils': 1.2.0 '@glimmer/compiler': 0.92.4 '@glimmer/component': 2.0.0 @@ -17574,7 +17634,7 @@ 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 @@ -17582,7 +17642,7 @@ snapshots: 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-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 @@ -17605,7 +17665,7 @@ snapshots: ember-source@6.1.0-beta.1(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.101.2): dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@ember/edition-utils': 1.2.0 '@embroider/addon-shim': 1.10.0 '@glimmer/compiler': 0.92.4 @@ -17625,7 +17685,7 @@ 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 @@ -17633,7 +17693,7 @@ snapshots: 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-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 @@ -17950,11 +18010,11 @@ snapshots: dependencies: eslint: 9.33.0(jiti@2.5.1) - eslint-plugin-ember@12.7.0(@babel/core@7.28.3)(@typescript-eslint/parser@8.40.0(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.0(@babel/core@7.28.4)(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2): 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.40.0(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.40.0(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-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)) @@ -19375,7 +19435,7 @@ 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 internal-slot@1.1.0: dependencies: @@ -19693,8 +19753,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.28.3 - '@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 @@ -20365,7 +20425,7 @@ snapshots: metro-babel-transformer@0.82.5: dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 flow-enums-runtime: 0.0.6 hermes-parser: 0.29.1 nullthrows: 1.1.1 @@ -20436,9 +20496,9 @@ snapshots: metro-source-map@0.82.5: dependencies: - '@babel/traverse': 7.28.3 - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.3' - '@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 @@ -20462,10 +20522,10 @@ snapshots: metro-transform-plugins@0.82.5: dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/generator': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.4 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -20473,10 +20533,10 @@ snapshots: metro-transform-worker@0.82.5: dependencies: - '@babel/core': 7.28.3 + '@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 @@ -20494,12 +20554,12 @@ snapshots: metro@0.82.5: dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.3 + '@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 - '@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 @@ -21530,7 +21590,7 @@ snapshots: prettier-plugin-ember-template-tag@2.1.0(prettier@3.6.2): dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 content-tag: 4.0.0 prettier: 3.6.2 transitivePeerDependencies: @@ -21739,25 +21799,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 @@ -21986,9 +22046,9 @@ snapshots: remove-types@1.0.0: dependencies: - '@babel/core': 7.28.3 - '@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 @@ -22155,30 +22215,30 @@ snapshots: sprintf-js: 1.1.3 optional: true - rollup@4.46.4: + rollup@4.47.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.46.4 - '@rollup/rollup-android-arm64': 4.46.4 - '@rollup/rollup-darwin-arm64': 4.46.4 - '@rollup/rollup-darwin-x64': 4.46.4 - '@rollup/rollup-freebsd-arm64': 4.46.4 - '@rollup/rollup-freebsd-x64': 4.46.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.46.4 - '@rollup/rollup-linux-arm-musleabihf': 4.46.4 - '@rollup/rollup-linux-arm64-gnu': 4.46.4 - '@rollup/rollup-linux-arm64-musl': 4.46.4 - '@rollup/rollup-linux-loongarch64-gnu': 4.46.4 - '@rollup/rollup-linux-ppc64-gnu': 4.46.4 - '@rollup/rollup-linux-riscv64-gnu': 4.46.4 - '@rollup/rollup-linux-riscv64-musl': 4.46.4 - '@rollup/rollup-linux-s390x-gnu': 4.46.4 - '@rollup/rollup-linux-x64-gnu': 4.46.4 - '@rollup/rollup-linux-x64-musl': 4.46.4 - '@rollup/rollup-win32-arm64-msvc': 4.46.4 - '@rollup/rollup-win32-ia32-msvc': 4.46.4 - '@rollup/rollup-win32-x64-msvc': 4.46.4 + '@rollup/rollup-android-arm-eabi': 4.47.1 + '@rollup/rollup-android-arm64': 4.47.1 + '@rollup/rollup-darwin-arm64': 4.47.1 + '@rollup/rollup-darwin-x64': 4.47.1 + '@rollup/rollup-freebsd-arm64': 4.47.1 + '@rollup/rollup-freebsd-x64': 4.47.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.47.1 + '@rollup/rollup-linux-arm-musleabihf': 4.47.1 + '@rollup/rollup-linux-arm64-gnu': 4.47.1 + '@rollup/rollup-linux-arm64-musl': 4.47.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.47.1 + '@rollup/rollup-linux-ppc64-gnu': 4.47.1 + '@rollup/rollup-linux-riscv64-gnu': 4.47.1 + '@rollup/rollup-linux-riscv64-musl': 4.47.1 + '@rollup/rollup-linux-s390x-gnu': 4.47.1 + '@rollup/rollup-linux-x64-gnu': 4.47.1 + '@rollup/rollup-linux-x64-musl': 4.47.1 + '@rollup/rollup-win32-arm64-msvc': 4.47.1 + '@rollup/rollup-win32-ia32-msvc': 4.47.1 + '@rollup/rollup-win32-x64-msvc': 4.47.1 fsevents: 2.3.3 route-recognizer@0.3.4: {} @@ -23310,10 +23370,10 @@ snapshots: dependencies: punycode: 2.3.1 - tracked-built-ins@3.4.0(@babel/core@7.28.3): + tracked-built-ins@3.4.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' @@ -23571,7 +23631,7 @@ snapshots: is-yarn-global: 0.4.1 latest-version: 7.0.0 pupa: 3.1.0 - semver: 7.7.2 + semver: 7.5.4 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -23652,7 +23712,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.46.4 + rollup: 4.47.1 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 22.17.2 @@ -23874,7 +23934,7 @@ snapshots: workerpool@3.1.2: dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 object-assign: 4.1.1 rsvp: 4.8.5 transitivePeerDependencies: @@ -23992,7 +24052,7 @@ snapshots: yocto-queue@0.1.0: {} - yoctocolors-cjs@2.1.2: {} + yoctocolors-cjs@2.1.3: {} zen-observable-ts@0.8.19: dependencies: 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 From 8c62b7a2a68e1f216d7b0f7bec353b0920566b3f Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sat, 20 Sep 2025 20:08:30 -0400 Subject: [PATCH 15/54] Fix some types --- app/components/animated-drag-sort-list.gts | 9 ++++++--- app/components/palette-row.gts | 8 ++++---- package.json | 2 +- pnpm-lock.yaml | 11 +++++------ 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/app/components/animated-drag-sort-list.gts b/app/components/animated-drag-sort-list.gts index db88753fa..768722900 100644 --- a/app/components/animated-drag-sort-list.gts +++ b/app/components/animated-drag-sort-list.gts @@ -8,7 +8,9 @@ import { fadeOut } from 'ember-animated/motions/opacity'; 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: DragEvent) => { + @action + dragEnter(event: DragEvent) { set(this, 'didDrag', true); super.dragEnter(event); - }; + } @action rules() { diff --git a/app/components/palette-row.gts b/app/components/palette-row.gts index d1ec438e1..d6eeb1d9e 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -6,13 +6,13 @@ 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 noop from '@nullvoxpopuli/ember-composable-helpers/helpers/noop'; import fade from 'ember-animated/transitions/fade'; import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import type DragSortService from 'ember-drag-sort/services/drag-sort'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import sub from 'ember-math-helpers/helpers/sub'; +import type { Store } from 'ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import eq from 'ember-truth-helpers/helpers/eq'; import not from 'ember-truth-helpers/helpers/not'; @@ -307,12 +307,12 @@ export default class PaletteRowComponent extends Component return this.args.palette.isLocked; } - get sortedColors(): (ColorModel | undefined)[] { - return this.args?.palette?.colorOrder?.map( + get sortedColors(): Array { + return this.args.palette.colorOrder.map( (color: { type: string; id: string }) => { return this.args.palette.colors.find((c) => c.id === color.id); } - ); + ) as Array; } deletePalette = async () => { diff --git a/package.json b/package.json index b5465db7e..b43771cf5 100644 --- a/package.json +++ b/package.json @@ -143,7 +143,7 @@ "ember-cognito": "^3.0.1", "ember-css-transitions": "^4.5.0", "ember-decorators": "^6.1.1", - "ember-drag-sort": "^4.0.4", + "ember-drag-sort": "^4.1.0", "ember-element-helper": "^0.8.8", "ember-event-helpers": "^0.1.1", "ember-inflector": "^6.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8c43d6d23..049bd4616 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -327,8 +327,8 @@ importers: specifier: ^6.1.1 version: 6.1.1 ember-drag-sort: - specifier: ^4.0.4 - version: 4.0.4(@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: ^4.1.0 + version: 4.1.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-element-helper: specifier: ^0.8.8 version: 0.8.8 @@ -5208,8 +5208,8 @@ packages: resolution: {integrity: sha512-63vZPntPn1aqMyeNRLoYjJD+8A8obd+c2iZkJflswpDRNVIsp2m7aQdSCtPt4G0U/TEq2251g+N10maHX3rnJQ==} engines: {node: '>= 8.*'} - ember-drag-sort@4.0.4: - resolution: {integrity: sha512-mGTY2mnr9A/Hj/YaK6nStJRBJOnP5nhKnlyB4pkcwJsDBsHiR0oqMrBc7kC7VC1w7gLITej+rMwclY+oGdIQxw==} + ember-drag-sort@4.1.0: + resolution: {integrity: sha512-tAYmIG1E3sXZxeWWkr/N7vlJxgGMafmMGEJNSxNFVva0r8mSTYUePCAMzgjBk0D8vbWuYtkIhu2LKSgpx1Suyw==} engines: {node: '>= 20'} peerDependencies: ember-source: '>= 4.0.0' @@ -17423,10 +17423,9 @@ snapshots: transitivePeerDependencies: - supports-color - ember-drag-sort@4.0.4(@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-drag-sort@4.1.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): dependencies: '@babel/core': 7.28.4 - '@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-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) ember-cli-babel: 8.2.0(@babel/core@7.28.4) ember-cli-htmlbars: 6.3.0 From e5457dc5524b39dd785394a6f21b452ca419ea31 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Sun, 21 Sep 2025 21:29:37 -0400 Subject: [PATCH 16/54] Fix types --- app/components/palette-row.gts | 13 ++++++---- app/components/palettes-list.gts | 1 - package.json | 2 +- pnpm-lock.yaml | 41 +++++++++++++++++++------------- 4 files changed, 34 insertions(+), 23 deletions(-) diff --git a/app/components/palette-row.gts b/app/components/palette-row.gts index d6eeb1d9e..c8454895f 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -294,11 +294,14 @@ export default class PaletteRowComponent extends Component this.dragSort.on( 'start', - (event: { draggedItem: { hex: string | null } }) => { - document.documentElement.style.setProperty( - '--dragged-swatch-color', - event.draggedItem.hex - ); + (event: CustomEvent) => { + const draggedItem = event.detail?.draggedItem as { hex: string | null } | undefined; + if (draggedItem) { + document.documentElement.style.setProperty( + '--dragged-swatch-color', + draggedItem.hex + ); + } } ); } diff --git a/app/components/palettes-list.gts b/app/components/palettes-list.gts index 602f89f51..08bfeb02b 100644 --- a/app/components/palettes-list.gts +++ b/app/components/palettes-list.gts @@ -37,7 +37,6 @@ export default class PalettesListComponent extends Component
{{#if this.palettes.length}} - {{! @glint-expect-error TODO: fix this}} = 8.*'} - ember-drag-sort@4.1.0: - resolution: {integrity: sha512-tAYmIG1E3sXZxeWWkr/N7vlJxgGMafmMGEJNSxNFVva0r8mSTYUePCAMzgjBk0D8vbWuYtkIhu2LKSgpx1Suyw==} + ember-drag-sort@4.1.1: + resolution: {integrity: sha512-/OdAf/qzOft/Hp6GTvr+QVXDQwlOJ0soCvmtv0YPaa5A6p6t8IZTZCSJ2XPpZayyDQ5OnESlhMPj2oY33i6AvA==} engines: {node: '>= 20'} peerDependencies: ember-source: '>= 4.0.0' @@ -13754,14 +13754,14 @@ snapshots: '@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 - '@types/ember__engine': 4.0.11 + '@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.4) '@types/ember__polyfills': 4.0.6 '@types/ember__routing': 4.0.22(@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.4) @@ -13774,14 +13774,14 @@ snapshots: '@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 - '@types/ember__engine': 4.0.11 + '@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.4) '@types/ember__polyfills': 4.0.6 '@types/ember__routing': 4.0.22(@babel/core@7.28.4) '@types/ember__runloop': 4.0.10(@babel/core@7.28.4) - '@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.4) @@ -13795,7 +13795,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.4) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11 + '@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.4) @@ -13826,15 +13826,21 @@ snapshots: - '@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.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.4) '@types/ember__owner': 4.0.9 + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__error@4.0.6': {} @@ -13855,7 +13861,7 @@ snapshots: '@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 + '@types/ember__service': 4.0.9(@babel/core@7.28.4) transitivePeerDependencies: - '@babel/core' - supports-color @@ -13871,9 +13877,12 @@ snapshots: - '@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.4) + transitivePeerDependencies: + - '@babel/core' + - supports-color '@types/ember__string@3.0.15': {} @@ -17423,7 +17432,7 @@ snapshots: transitivePeerDependencies: - supports-color - ember-drag-sort@4.1.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-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.101.2))(webpack@5.101.2): dependencies: '@babel/core': 7.28.4 ember-auto-import: 2.10.0(@glint/template@1.5.2)(webpack@5.101.2) From 36626d8630fd9351016207d5085a414a062a1799 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Tue, 23 Sep 2025 11:17:26 -0400 Subject: [PATCH 17/54] Update eslint.config.mjs --- eslint.config.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/eslint.config.mjs b/eslint.config.mjs index 9844ed12c..759fda285 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -46,6 +46,7 @@ export default ts.config( */ { ignores: [ + '.vite/', 'declarations/', // ember-electron From 47cc1ce0360c85911e99a66b57395f3dc334bdf0 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Mon, 6 Oct 2025 11:50:06 -0400 Subject: [PATCH 18/54] Update to ember-orbit 0.18 --- app/app.ts | 5 +- app/initializers/main-bucket-initializer.js | 13 --- app/routes/-private/application.ts | 20 ++++ app/services/data.ts | 74 ++++++------ package.json | 2 +- pnpm-lock.yaml | 118 +++++++++----------- tests/helpers.ts | 2 +- 7 files changed, 116 insertions(+), 118 deletions(-) delete mode 100644 app/initializers/main-bucket-initializer.js diff --git a/app/app.ts b/app/app.ts index ef4232ea4..1c778e02c 100644 --- a/app/app.ts +++ b/app/app.ts @@ -1,6 +1,7 @@ import Application from '@ember/application'; import { InitSentryForEmber } from '@sentry/ember'; import loadInitializers from 'ember-load-initializers'; +import emberOrbitRegistry from 'ember-orbit/registry'; import Resolver from 'ember-resolver'; import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros'; import compatModules from '@embroider/virtual/compat-modules'; @@ -12,10 +13,12 @@ if (macroCondition(isDevelopingApp())) { InitSentryForEmber(); +const modules = { ...compatModules, ...emberOrbitRegistry('swach') }; + export default class App extends Application { modulePrefix = config.modulePrefix; podModulePrefix = config.podModulePrefix; - Resolver = Resolver.withModules(compatModules); + Resolver = Resolver.withModules(modules); } loadInitializers(App, config.modulePrefix, compatModules); diff --git a/app/initializers/main-bucket-initializer.js b/app/initializers/main-bucket-initializer.js deleted file mode 100644 index 64b8c24ac..000000000 --- a/app/initializers/main-bucket-initializer.js +++ /dev/null @@ -1,13 +0,0 @@ -import BucketFactory from '../data-buckets/main'; - -export function initialize(application) { - const orbitConfig = application.resolveRegistration('ember-orbit:config'); - - application.register(`service:${orbitConfig.services.bucket}`, BucketFactory); -} - -export default { - name: 'main-bucket-initializer', - after: 'ember-orbit-config', - initialize, -}; diff --git a/app/routes/-private/application.ts b/app/routes/-private/application.ts index 0f23b648d..88a1e2845 100644 --- a/app/routes/-private/application.ts +++ b/app/routes/-private/application.ts @@ -1,15 +1,35 @@ +import { getOwner } from '@ember/owner'; import Route from '@ember/routing/route'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; +import { setupOrbit } from 'ember-orbit'; import type DataService from 'swach/services/data'; import type Session from 'swach/services/session'; +const dataModels = import.meta.glob('../data-models/*.{js,ts}', { + eager: true, +}); +const dataSources = import.meta.glob('../data-sources/*.{js,ts}', { + eager: true, +}); +const dataStrategies = import.meta.glob('../data-strategies/*.{js,ts}', { + eager: true, +}); + export default class ApplicationRoute extends Route { @service declare data: DataService; @service declare router: Router; @service declare session: Session; async beforeModel(): Promise { + const application = getOwner(this); + + setupOrbit(application!, { + ...dataModels, + ...dataSources, + ...dataStrategies, + }); + await this.session.setup(); await this.data.activate(); diff --git a/app/services/data.ts b/app/services/data.ts index d83f690b0..92ef469f9 100644 --- a/app/services/data.ts +++ b/app/services/data.ts @@ -15,9 +15,6 @@ export default class DataService extends Service { @tracked colorHistory: Palette | undefined; isActivated = false; - backup = this.dataCoordinator.getSource('backup'); - remote = this.dataCoordinator.getSource('remote'); - async activate(): Promise { const records = await this.getRecordsFromBackup(); @@ -93,14 +90,14 @@ export default class DataService extends Service { async reset(): Promise { this.colorHistory = undefined; - await this.backup.reset(); + await this.dataCoordinator.getSource('backup').reset(); await this.store.reset(); } private async getRecordsFromBackup(): Promise { - const records = await this.backup.query((q) => - q.findRecords() - ); + const records = await this.dataCoordinator + .getSource('backup') + .query((q) => q.findRecords()); if (records?.length > 0) { // If a data migration has been loaded that requires the recreation of @@ -109,11 +106,18 @@ export default class DataService extends Service { // will simply be reloaded into the backup db. // TODO: This is a bit of a hack that should be replaced with better // support for migrations in `IndexedDBCache` in `@orbit/indexeddb`. - // @ts-expect-error This is a hacked property until we have a real one to use in ember-orbit - if (this.backup.recreateInverseRelationshipsOnLoad) { + + if ( // @ts-expect-error This is a hacked property until we have a real one to use in ember-orbit - this.backup.recreateInverseRelationshipsOnLoad = false; - await this.backup.sync((t) => records.map((r) => t.addRecord(r))); + // prettier-ignore + this.dataCoordinator.getSource('backup').recreateInverseRelationshipsOnLoad + ) { + // @ts-expect-error This is a hacked property until we have a real one to use in ember-orbit + // prettier-ignore + this.dataCoordinator.getSource('backup').recreateInverseRelationshipsOnLoad = false; + await this.dataCoordinator + .getSource('backup') + .sync((t) => records.map((r) => t.addRecord(r))); } return records; @@ -124,10 +128,11 @@ export default class DataService extends Service { private async getPalettesFromRemote(): Promise { if (this.session.isAuthenticated) { - const remotePaletteRecords = await this.remote.query( - (q) => q.findRecords('palette'), - { include: ['colors'] } - ); + const remotePaletteRecords = await this.dataCoordinator + .getSource('remote') + .query< + InitializedRecord[] + >((q) => q.findRecords('palette'), { include: ['colors'] }); if (remotePaletteRecords?.length > 0) { return remotePaletteRecords; @@ -168,34 +173,35 @@ export default class DataService extends Service { }); if (colors.length > 0) { - await this.remote.update( - (t) => colors.map((r) => t.addRecord(r)), - { parallelRequests: true } - ); + await this.dataCoordinator + .getSource('remote') + .update< + InitializedRecord[] + >((t) => colors.map((r) => t.addRecord(r)), { parallelRequests: true }); } if (palettes.length > 0) { - await this.remote.update( - (t) => palettes.map((r) => t.addRecord(r)), - { parallelRequests: true } - ); + await this.dataCoordinator + .getSource('remote') + .update< + InitializedRecord[] + >((t) => palettes.map((r) => t.addRecord(r)), { parallelRequests: true }); } if (paletteColors.length > 0) { - await this.remote.update( - (t) => - paletteColors.map((p) => - t.replaceRelatedRecords(p.palette, 'colors', p.colors) - ), - { parallelRequests: true } - ); + await this.dataCoordinator + .getSource('remote') + .update< + InitializedRecord[] + >((t) => paletteColors.map((p) => t.replaceRelatedRecords(p.palette, 'colors', p.colors)), { parallelRequests: true }); } // Re-fetch palettes and colors from remote - return this.remote.query( - (q) => q.findRecords('palette'), - { include: ['colors'] } - ); + return this.dataCoordinator + .getSource('remote') + .query< + InitializedRecord[] + >((q) => q.findRecords('palette'), { include: ['colors'] }); } } else { return []; diff --git a/package.json b/package.json index 490b6ceb4..69d03792b 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,7 @@ "ember-local-storage": "2.0.6", "ember-math-helpers": "^5.0.0", "ember-modifier": "^4.2.2", - "ember-orbit": "npm:@ef4/ember-orbit@0.17.3-ef4.2", + "ember-orbit": "^0.18.0", "ember-qunit": "^9.0.3", "ember-resolver": "^13.1.1", "ember-route-template": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 338be9117..a26f20a1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -354,8 +354,8 @@ importers: specifier: ^4.2.2 version: 4.2.2(@babel/core@7.28.4) ember-orbit: - specifier: npm:@ef4/ember-orbit@0.17.3-ef4.2 - version: '@ef4/ember-orbit@0.17.3-ef4.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))(webpack@5.101.2)' + specifier: ^0.18.0 + version: 0.18.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.101.2)) ember-qunit: specifier: ^9.0.3 version: 9.0.3(@ember/test-helpers@5.2.2(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.1) @@ -1408,12 +1408,6 @@ packages: '@dual-bundle/import-meta-resolve@4.1.0': resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} - '@ef4/ember-orbit@0.17.3-ef4.2': - resolution: {integrity: sha512-Q8PNaAzc4xVmQt6qo0sUCgIOXBNCGWtoiz0zEs9ARNSLWry/6TEUeKmPJR4knZDrYWrYP2DzZpxVO+FmJzNWUQ==} - engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - ember-source: '>= 3.24.0' - '@electron-forge/cli@7.8.3': resolution: {integrity: sha512-BSAjGGfVf0yp3NQhXYmyCw9T//YCQHuktMv4HXfDVfo7AoV6DA1oEhqldI4Q7aHKeRob5+yBkvRRYPiu5ayCPw==} engines: {node: '>= 16.4.0'} @@ -5148,10 +5142,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.*'} @@ -5270,6 +5260,12 @@ packages: ember-modifier@4.2.2: resolution: {integrity: sha512-pPYBAGyczX0hedGWQFQOEiL9s45KS9efKxJxUQkMLjQyh+1Uef1mcmAGsdw2KmvNupITkE/nXxmVO1kZ9tt3ag==} + ember-orbit@0.18.0: + resolution: {integrity: sha512-pnR1PPrZW185L20I3/82QYLZ/BKcJBf0uSOYaTHmRVyV6aScPc53EeLo990mXvX51unxDy7Ch7fIR3kUZe+Fsg==} + engines: {node: '>= 20.11'} + peerDependencies: + ember-source: '>= 4.0.0' + ember-qunit@9.0.3: resolution: {integrity: sha512-t+FD5/EWAR3WvGVj1etblFJJ6CaJqddDxusNcYYFZmW7zrQpCnQ9ziwpXM5/sw1sWabkhJZgYPXCn8bDRRhOfg==} peerDependencies: @@ -5325,6 +5321,9 @@ packages: peerDependencies: '@glimmer/component': '>= 1.1.2' + ember-strict-application-resolver@0.1.0: + resolution: {integrity: sha512-dmVJPLDoltiB5PN4xhUmg9JrUMPJxdeIlwqUtRBvIHpOLrbi069m7AvXGEh0b+Pq7g1HkLwt/lMm6ouHVry7hQ==} + ember-svg-jar@2.6.3: resolution: {integrity: sha512-+hgqDIVmtyHcBWOKfRlvxWvTWGJ8Ly4t9NjGsRGSu8qfP/w/TP6IgYJNUgN9MU9ZkU24Sg02RzIkfuXvIhoYJg==} engines: {node: 12.* || 14.* || >= 16} @@ -11829,27 +11828,6 @@ snapshots: '@dual-bundle/import-meta-resolve@4.1.0': {} - '@ef4/ember-orbit@0.17.3-ef4.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))(webpack@5.101.2)': - dependencies: - '@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/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) - transitivePeerDependencies: - - '@glint/template' - - supports-color - - webpack - '@electron-forge/cli@7.8.3(encoding@0.1.13)': dependencies: '@electron-forge/core': 7.8.3(encoding@0.1.13) @@ -13754,14 +13732,14 @@ snapshots: '@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__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@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.4) '@types/ember__runloop': 4.0.10 - '@types/ember__service': 4.0.9(@babel/core@7.28.4) + '@types/ember__service': 4.0.9 '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 '@types/ember__test': 4.0.6(@babel/core@7.28.4) @@ -13774,14 +13752,14 @@ snapshots: '@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__debug': 4.0.8 + '@types/ember__engine': 4.0.11 '@types/ember__error': 4.0.6 '@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.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__service': 4.0.9 '@types/ember__string': 3.0.15 '@types/ember__template': 4.0.7 '@types/ember__test': 4.0.6(@babel/core@7.28.4) @@ -13795,7 +13773,7 @@ snapshots: dependencies: '@glimmer/component': 1.1.2(@babel/core@7.28.4) '@types/ember': 4.0.11 - '@types/ember__engine': 4.0.11(@babel/core@7.28.4) + '@types/ember__engine': 4.0.11 '@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.4) @@ -13826,21 +13804,15 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__debug@4.0.8(@babel/core@7.28.4)': + '@types/ember__debug@4.0.8': dependencies: '@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(@babel/core@7.28.4)': + '@types/ember__engine@4.0.11': dependencies: '@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': {} @@ -13861,7 +13833,7 @@ snapshots: '@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) + '@types/ember__service': 4.0.9 transitivePeerDependencies: - '@babel/core' - supports-color @@ -13877,12 +13849,9 @@ snapshots: - '@babel/core' - supports-color - '@types/ember__service@4.0.9(@babel/core@7.28.4)': + '@types/ember__service@4.0.9': dependencies: '@types/ember__object': 4.0.12(@babel/core@7.28.4) - transitivePeerDependencies: - - '@babel/core' - - supports-color '@types/ember__string@3.0.15': {} @@ -17164,21 +17133,6 @@ 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 - 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 @@ -17549,6 +17503,26 @@ snapshots: - '@babel/core' - supports-color + ember-orbit@0.18.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.101.2)): + 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 + 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.101.2) + ember-strict-application-resolver: 0.1.0(@babel/core@7.28.4) + transitivePeerDependencies: + - '@babel/core' + - supports-color + ember-qunit@9.0.3(@ember/test-helpers@5.2.2(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.1): dependencies: '@ember/test-helpers': 5.2.2(@babel/core@7.28.4)(@glint/template@1.5.2) @@ -17722,6 +17696,14 @@ snapshots: - supports-color - webpack + 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.6.3(@glint/template@1.5.2): dependencies: '@embroider/macros': 1.18.1(@glint/template@1.5.2) diff --git a/tests/helpers.ts b/tests/helpers.ts index 1d88093f0..0001dbb37 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -1,4 +1,4 @@ -import { waitForSource } from 'ember-orbit/test-support'; +import { waitForSource } from 'ember-orbit/test-support/index'; import { getContext, settled } from '@ember/test-helpers'; import { animationsSettled } from 'ember-animated/test-support'; import type Owner from '@ember/owner'; From a2e193e02b6813008e5bda46b8169343563d30d2 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Thu, 9 Oct 2025 15:20:43 -0400 Subject: [PATCH 19/54] ember-orbit 0.19.x --- app/app.ts | 5 +- app/components/color-picker.gts | 6 ++- app/components/colors-list.gts | 5 +- app/components/kuler-palette-row.gts | 6 ++- app/components/kuler.gts | 6 ++- app/components/palette-row.gts | 29 +++++------ app/components/palettes-list.gts | 6 ++- app/components/settings-data.gts | 8 ++-- app/controllers/application.ts | 7 +-- app/controllers/palettes.ts | 5 +- app/routes/-private/application.ts | 10 ++-- app/routes/colors.ts | 5 +- app/routes/kuler.ts | 5 +- app/routes/palettes.ts | 5 +- app/services/color-utils.ts | 5 +- app/services/data.ts | 72 ++++++++++++++-------------- app/services/undo-manager.ts | 6 +-- package.json | 2 +- pnpm-lock.yaml | 10 ++-- 19 files changed, 109 insertions(+), 94 deletions(-) diff --git a/app/app.ts b/app/app.ts index 1c778e02c..ef4232ea4 100644 --- a/app/app.ts +++ b/app/app.ts @@ -1,7 +1,6 @@ import Application from '@ember/application'; import { InitSentryForEmber } from '@sentry/ember'; import loadInitializers from 'ember-load-initializers'; -import emberOrbitRegistry from 'ember-orbit/registry'; import Resolver from 'ember-resolver'; import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros'; import compatModules from '@embroider/virtual/compat-modules'; @@ -13,12 +12,10 @@ if (macroCondition(isDevelopingApp())) { InitSentryForEmber(); -const modules = { ...compatModules, ...emberOrbitRegistry('swach') }; - export default class App extends Application { modulePrefix = config.modulePrefix; podModulePrefix = config.podModulePrefix; - Resolver = Resolver.withModules(modules); + Resolver = Resolver.withModules(compatModules); } loadInitializers(App, config.modulePrefix, compatModules); diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index 69afb009a..b3a06dd68 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -7,7 +7,7 @@ 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'; @@ -206,9 +206,11 @@ export default class ColorPickerComponent extends Component {{/if}} + + @orbit declare store: Store; + @service declare nearestColor: NearestColor; @service declare router: Router; - @service declare store: Store; @service declare undoManager: UndoManager; colorPicker?: iro.ColorPicker; diff --git a/app/components/colors-list.gts b/app/components/colors-list.gts index 72f2686b3..dc5d544c3 100644 --- a/app/components/colors-list.gts +++ b/app/components/colors-list.gts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import { service } from '@ember/service'; import Component from '@glimmer/component'; -import type { Store } from 'ember-orbit'; +import { orbit, type Store } from 'ember-orbit'; import type TransitionContext from 'ember-animated/-private/transition-context'; import AnimatedContainer from 'ember-animated/components/animated-container'; import AnimatedEach from 'ember-animated/components/animated-each'; @@ -41,7 +41,8 @@ export default class ColorsListComponent extends Component {{/AnimatedEach}} - @service declare store: Store; + + @orbit declare store: Store; @service declare undoManager: UndoManager; get sortedColors(): Array { diff --git a/app/components/kuler-palette-row.gts b/app/components/kuler-palette-row.gts index cd3aefedd..8f81b4a2e 100644 --- a/app/components/kuler-palette-row.gts +++ b/app/components/kuler-palette-row.gts @@ -4,13 +4,13 @@ import { action } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import Component from '@glimmer/component'; -import type { Store } from 'ember-orbit'; import type { Transition } from 'ember-animated/-private/transition'; import AnimatedIf from 'ember-animated/components/animated-if'; import type MotionService from 'ember-animated/services/-ea-motion'; import fade from 'ember-animated/transitions/fade'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import sub from 'ember-math-helpers/helpers/sub'; +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 eq from 'ember-truth-helpers/helpers/eq'; @@ -97,10 +97,12 @@ export default class KulerPaletteRowComponent 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 3834170f6..6973eeb5d 100644 --- a/app/components/kuler.gts +++ b/app/components/kuler.gts @@ -5,7 +5,7 @@ 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'; @@ -111,8 +111,10 @@ export default class KulerComponent extends Component { {{/if}} + + @orbit declare store: Store; + @service declare colorUtils: ColorUtils; - @service declare store: Store; _debouncedColorChange!: (color: iro.Color | string) => void; colorPicker!: iro.ColorPicker; diff --git a/app/components/palette-row.gts b/app/components/palette-row.gts index c8454895f..eadd20779 100644 --- a/app/components/palette-row.gts +++ b/app/components/palette-row.gts @@ -12,7 +12,7 @@ import DragSortList from 'ember-drag-sort/components/drag-sort-list'; import type DragSortService from 'ember-drag-sort/services/drag-sort'; import stopPropagation from 'ember-event-helpers/helpers/stop-propagation'; import sub from 'ember-math-helpers/helpers/sub'; -import type { Store } from 'ember-orbit'; +import { orbit, type Store } from 'ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import eq from 'ember-truth-helpers/helpers/eq'; import not from 'ember-truth-helpers/helpers/not'; @@ -238,11 +238,13 @@ export default class PaletteRowComponent extends Component + + @orbit declare dataSchema: RecordSchema; + @orbit declare store: Store; + @service declare colorUtils: ColorUtils; - @service declare dataSchema: RecordSchema; @service declare dragSort: DragSortService; @service declare router: Router; - @service declare store: Store; @service declare undoManager: UndoManager; declare ipcRenderer: IpcRenderer; @@ -292,18 +294,17 @@ export default class PaletteRowComponent extends Component ), ]; - this.dragSort.on( - 'start', - (event: CustomEvent) => { - const draggedItem = event.detail?.draggedItem as { hex: string | null } | undefined; - if (draggedItem) { - document.documentElement.style.setProperty( - '--dragged-swatch-color', - draggedItem.hex - ); - } + this.dragSort.on('start', (event: CustomEvent) => { + const draggedItem = event.detail?.draggedItem as + | { hex: string | null } + | undefined; + if (draggedItem) { + document.documentElement.style.setProperty( + '--dragged-swatch-color', + draggedItem.hex + ); } - ); + }); } get isLocked() { diff --git a/app/components/palettes-list.gts b/app/components/palettes-list.gts index 08bfeb02b..3885f169f 100644 --- a/app/components/palettes-list.gts +++ b/app/components/palettes-list.gts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import { service } from '@ember/service'; import Component from '@glimmer/component'; -import type { LiveQuery, Store } from 'ember-orbit'; +import { orbit, type LiveQuery, type Store } from 'ember-orbit'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; import type { RecordOperationTerm } from '@orbit/records'; import AnimatedDragSortList from './animated-drag-sort-list.gts'; @@ -75,7 +75,9 @@ export default class PalettesListComponent extends Component - @service declare store: Store; + + @orbit declare store: Store; + @service declare undoManager: UndoManager; get palettes(): PaletteModel[] { diff --git a/app/components/settings-data.gts b/app/components/settings-data.gts index d785ebcc6..ddbc0141a 100644 --- a/app/components/settings-data.gts +++ b/app/components/settings-data.gts @@ -3,9 +3,9 @@ import type Owner from '@ember/owner'; import { service } from '@ember/service'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; -import type { Store } from 'ember-orbit'; import type FlashMessageService from 'ember-cli-flash/services/flash-messages'; import { storageFor } from 'ember-local-storage'; +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'; @@ -81,9 +81,11 @@ 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; diff --git a/app/controllers/application.ts b/app/controllers/application.ts index 5561d2e33..8c034d926 100644 --- a/app/controllers/application.ts +++ b/app/controllers/application.ts @@ -3,9 +3,9 @@ import { action, get } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { Store } from 'ember-orbit'; import type FlashMessageService from 'ember-cli-flash/services/flash-messages'; import { storageFor } from 'ember-local-storage'; +import { orbit, type Store } from 'ember-orbit'; import type { RecordSchema } from '@orbit/records'; import type { IpcRenderer } from 'electron'; import type { SelectedColorModel } from 'swach/components/rgb-input'; @@ -17,13 +17,14 @@ import type UndoManager from 'swach/services/undo-manager'; import type { SettingsStorage, themes } from 'swach/storages/settings'; export default class ApplicationController extends Controller { + @orbit declare dataSchema: RecordSchema; + @orbit declare store: Store; + @service declare colorUtils: ColorUtils; @service declare data: DataService; - @service declare dataSchema: RecordSchema; @service flashMessages!: FlashMessageService; @service declare router: Router; @service declare session: Session; - @service declare store: Store; @service declare undoManager: UndoManager; @storageFor('settings') settings!: SettingsStorage; diff --git a/app/controllers/palettes.ts b/app/controllers/palettes.ts index 550dea955..540630d0f 100644 --- a/app/controllers/palettes.ts +++ b/app/controllers/palettes.ts @@ -3,7 +3,7 @@ import { action } from '@ember/object'; import type Router from '@ember/routing/router-service'; import { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { LiveQuery, Store } from 'ember-orbit'; +import { orbit, type LiveQuery, type Store } from 'ember-orbit'; import type { RecordOperationTerm } from '@orbit/records'; import type ApplicationController from 'swach/controllers/application'; import type ColorModel from 'swach/data-models/color'; @@ -13,11 +13,12 @@ import type DataService from 'swach/services/data'; import type UndoManager from 'swach/services/undo-manager'; export default class PalettesController extends Controller { + @orbit declare store: Store; + @controller application!: ApplicationController; @service declare colorUtils: ColorUtils; @service declare data: DataService; @service declare router: Router; - @service declare store: Store; @service declare undoManager: UndoManager; declare model: LiveQuery; diff --git a/app/routes/-private/application.ts b/app/routes/-private/application.ts index 88a1e2845..11d2af05e 100644 --- a/app/routes/-private/application.ts +++ b/app/routes/-private/application.ts @@ -6,13 +6,13 @@ import { setupOrbit } from 'ember-orbit'; import type DataService from 'swach/services/data'; import type Session from 'swach/services/session'; -const dataModels = import.meta.glob('../data-models/*.{js,ts}', { +const dataModels = import.meta.glob('../../data-models/*.{js,ts}', { eager: true, }); -const dataSources = import.meta.glob('../data-sources/*.{js,ts}', { +const dataSources = import.meta.glob('../../data-sources/*.{js,ts}', { eager: true, }); -const dataStrategies = import.meta.glob('../data-strategies/*.{js,ts}', { +const dataStrategies = import.meta.glob('../../data-strategies/*.{js,ts}', { eager: true, }); @@ -22,9 +22,9 @@ export default class ApplicationRoute extends Route { @service declare session: Session; async beforeModel(): Promise { - const application = getOwner(this); + const owner = getOwner(this); - setupOrbit(application!, { + setupOrbit(owner!, { ...dataModels, ...dataSources, ...dataStrategies, diff --git a/app/routes/colors.ts b/app/routes/colors.ts index c05571ad1..7d5053f94 100644 --- a/app/routes/colors.ts +++ b/app/routes/colors.ts @@ -1,8 +1,8 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import type { Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; +import { orbit, type Store } from 'ember-orbit'; import type PaletteModel from 'swach/data-models/palette'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; @@ -15,8 +15,9 @@ export default class ColorsRoute extends Route { }, }; + @orbit declare store: Store; + @service declare session: Session; - @service declare store: Store; @storageFor('settings') settings!: SettingsStorage; diff --git a/app/routes/kuler.ts b/app/routes/kuler.ts index 4d6dc957b..8c2a2f983 100644 --- a/app/routes/kuler.ts +++ b/app/routes/kuler.ts @@ -1,8 +1,8 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import type { Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; +import { orbit, type Store } from 'ember-orbit'; import type ColorModel from 'swach/data-models/color'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; @@ -15,8 +15,9 @@ export default class KulerRoute extends Route { }, }; + @orbit declare store: Store; + @service declare session: Session; - @service declare store: Store; @storageFor('settings') settings!: SettingsStorage; diff --git a/app/routes/palettes.ts b/app/routes/palettes.ts index c8bc7f906..f4e283610 100644 --- a/app/routes/palettes.ts +++ b/app/routes/palettes.ts @@ -1,15 +1,16 @@ import Route from '@ember/routing/route'; import type Transition from '@ember/routing/transition'; import { service } from '@ember/service'; -import type { LiveQuery, Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; +import { orbit, type LiveQuery, type Store } from 'ember-orbit'; import type Session from 'swach/services/session'; import type { SettingsStorage } from 'swach/storages/settings'; import viewTransitions from 'swach/utils/view-transitions'; export default class PalettesRoute extends Route { + @orbit declare store: Store; + @service declare session: Session; - @service declare store: Store; @storageFor('settings') settings!: SettingsStorage; diff --git a/app/services/color-utils.ts b/app/services/color-utils.ts index a76dede7f..4ffb24932 100644 --- a/app/services/color-utils.ts +++ b/app/services/color-utils.ts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import Service, { service } from '@ember/service'; -import type { Store } from 'ember-orbit'; import { storageFor } from 'ember-local-storage'; +import { orbit, type Store } from 'ember-orbit'; import { TinyColor } from '@ctrl/tinycolor'; import type { ColorInput } from '@ctrl/tinycolor'; import type { IpcRenderer } from 'electron'; @@ -25,8 +25,9 @@ export interface ColorPOJO { } export default class ColorUtilsService extends Service { + @orbit declare store: Store; + @service nearestColor!: NearestColor; - @service declare store: Store; @storageFor('settings') settings!: SettingsStorage; diff --git a/app/services/data.ts b/app/services/data.ts index 92ef469f9..4c7d3213f 100644 --- a/app/services/data.ts +++ b/app/services/data.ts @@ -1,6 +1,6 @@ import Service, { service } from '@ember/service'; import { tracked } from '@glimmer/tracking'; -import type { Store } from 'ember-orbit'; +import { orbit, type Store } from 'ember-orbit'; import type { Coordinator } from '@orbit/coordinator'; import type IndexedDBSource from '@orbit/indexeddb'; import type JSONAPISource from '@orbit/jsonapi'; @@ -9,9 +9,11 @@ import type Palette from 'swach/data-models/palette'; import type Session from 'swach/services/session'; export default class DataService extends Service { - @service dataCoordinator!: Coordinator; + @orbit dataCoordinator!: Coordinator; + @orbit declare store: Store; + @service declare session: Session; - @service declare store: Store; + @tracked colorHistory: Palette | undefined; isActivated = false; @@ -95,9 +97,10 @@ export default class DataService extends Service { } private async getRecordsFromBackup(): Promise { - const records = await this.dataCoordinator - .getSource('backup') - .query((q) => q.findRecords()); + const backup = this.dataCoordinator.getSource('backup'); + const records = await backup.query((q) => + q.findRecords() + ); if (records?.length > 0) { // If a data migration has been loaded that requires the recreation of @@ -110,14 +113,12 @@ export default class DataService extends Service { if ( // @ts-expect-error This is a hacked property until we have a real one to use in ember-orbit // prettier-ignore - this.dataCoordinator.getSource('backup').recreateInverseRelationshipsOnLoad + backup.recreateInverseRelationshipsOnLoad ) { // @ts-expect-error This is a hacked property until we have a real one to use in ember-orbit // prettier-ignore - this.dataCoordinator.getSource('backup').recreateInverseRelationshipsOnLoad = false; - await this.dataCoordinator - .getSource('backup') - .sync((t) => records.map((r) => t.addRecord(r))); + backup.recreateInverseRelationshipsOnLoad = false; + await backup.sync((t) => records.map((r) => t.addRecord(r))); } return records; @@ -128,11 +129,11 @@ export default class DataService extends Service { private async getPalettesFromRemote(): Promise { if (this.session.isAuthenticated) { - const remotePaletteRecords = await this.dataCoordinator - .getSource('remote') - .query< - InitializedRecord[] - >((q) => q.findRecords('palette'), { include: ['colors'] }); + const remote = this.dataCoordinator.getSource('remote'); + const remotePaletteRecords = await remote.query( + (q) => q.findRecords('palette'), + { include: ['colors'] } + ); if (remotePaletteRecords?.length > 0) { return remotePaletteRecords; @@ -173,35 +174,34 @@ export default class DataService extends Service { }); if (colors.length > 0) { - await this.dataCoordinator - .getSource('remote') - .update< - InitializedRecord[] - >((t) => colors.map((r) => t.addRecord(r)), { parallelRequests: true }); + await remote.update( + (t) => colors.map((r) => t.addRecord(r)), + { parallelRequests: true } + ); } if (palettes.length > 0) { - await this.dataCoordinator - .getSource('remote') - .update< - InitializedRecord[] - >((t) => palettes.map((r) => t.addRecord(r)), { parallelRequests: true }); + await remote.update( + (t) => palettes.map((r) => t.addRecord(r)), + { parallelRequests: true } + ); } if (paletteColors.length > 0) { - await this.dataCoordinator - .getSource('remote') - .update< - InitializedRecord[] - >((t) => paletteColors.map((p) => t.replaceRelatedRecords(p.palette, 'colors', p.colors)), { parallelRequests: true }); + await remote.update( + (t) => + paletteColors.map((p) => + t.replaceRelatedRecords(p.palette, 'colors', p.colors) + ), + { parallelRequests: true } + ); } // Re-fetch palettes and colors from remote - return this.dataCoordinator - .getSource('remote') - .query< - InitializedRecord[] - >((q) => q.findRecords('palette'), { include: ['colors'] }); + return remote.query( + (q) => q.findRecords('palette'), + { include: ['colors'] } + ); } } else { return []; diff --git a/app/services/undo-manager.ts b/app/services/undo-manager.ts index 944571d3a..03d674033 100644 --- a/app/services/undo-manager.ts +++ b/app/services/undo-manager.ts @@ -1,10 +1,10 @@ -import Service, { service } from '@ember/service'; -import type { Store } from 'ember-orbit'; +import Service from '@ember/service'; +import { orbit, type Store } from 'ember-orbit'; import type { IpcRenderer } from 'electron'; import removeFromTo from 'swach/utils/remove-from-to'; export default class UndoManager extends Service { - @service declare store: Store; + @orbit declare store: Store; callback?: () => unknown; commands: { diff --git a/package.json b/package.json index 69d03792b..1d9ce4f34 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,7 @@ "ember-local-storage": "2.0.6", "ember-math-helpers": "^5.0.0", "ember-modifier": "^4.2.2", - "ember-orbit": "^0.18.0", + "ember-orbit": "^0.19.3", "ember-qunit": "^9.0.3", "ember-resolver": "^13.1.1", "ember-route-template": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a26f20a1d..62ffd66a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -354,8 +354,8 @@ importers: specifier: ^4.2.2 version: 4.2.2(@babel/core@7.28.4) ember-orbit: - specifier: ^0.18.0 - version: 0.18.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.101.2)) + specifier: ^0.19.3 + version: 0.19.3(@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.101.2)) ember-qunit: specifier: ^9.0.3 version: 9.0.3(@ember/test-helpers@5.2.2(@babel/core@7.28.4)(@glint/template@1.5.2))(@glint/template@1.5.2)(qunit@2.24.1) @@ -5260,8 +5260,8 @@ packages: ember-modifier@4.2.2: resolution: {integrity: sha512-pPYBAGyczX0hedGWQFQOEiL9s45KS9efKxJxUQkMLjQyh+1Uef1mcmAGsdw2KmvNupITkE/nXxmVO1kZ9tt3ag==} - ember-orbit@0.18.0: - resolution: {integrity: sha512-pnR1PPrZW185L20I3/82QYLZ/BKcJBf0uSOYaTHmRVyV6aScPc53EeLo990mXvX51unxDy7Ch7fIR3kUZe+Fsg==} + ember-orbit@0.19.3: + resolution: {integrity: sha512-gmeNRVJc1ZL+LIAqi8uz03zO3Dyc3SiSXejj49Lc1PDAa8qu8qWioBEF0I0SD1kXZqJlxJA0pJL7AMEgHMvO3w==} engines: {node: '>= 20.11'} peerDependencies: ember-source: '>= 4.0.0' @@ -17503,7 +17503,7 @@ snapshots: - '@babel/core' - supports-color - ember-orbit@0.18.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.101.2)): + ember-orbit@0.19.3(@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.101.2)): dependencies: '@embroider/addon-shim': 1.10.0 '@orbit/coordinator': 0.17.0 From 742081c4ae19e6469fdaae29c4f1e7a573869d1e Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Thu, 9 Oct 2025 20:37:11 -0400 Subject: [PATCH 20/54] Tailwind 4 + vite --- app/app.ts | 2 + app/components/color-picker.gts | 14 +- app/components/color-row.gts | 8 +- app/components/contrast-checker.gts | 14 +- app/components/edit-selected-color.gts | 2 +- app/components/forgot-password.gts | 10 +- app/components/kuler.gts | 4 +- app/components/login.gts | 6 +- app/components/palette-row.gts | 6 +- app/components/register-confirm.gts | 8 +- app/components/register.gts | 6 +- app/components/settings-data.gts | 4 +- app/components/settings-menu.gts | 8 +- app/components/toggle-switch.gts | 2 +- app/styles/app.css | 14 +- app/styles/tailwind.css | 145 +++-- app/styles/three-dots/three-dots.css | 4 +- app/templates/palettes.gts | 6 +- app/templates/settings/cloud/profile.gts | 2 +- package.json | 4 +- pnpm-lock.yaml | 687 +++++++++++++---------- postcss.config.cjs | 6 - tailwind.config.js | 53 -- vite.renderer.config.ts | 2 + 24 files changed, 571 insertions(+), 446 deletions(-) delete mode 100644 postcss.config.cjs delete mode 100644 tailwind.config.js diff --git a/app/app.ts b/app/app.ts index ef4232ea4..8a7dfbf89 100644 --- a/app/app.ts +++ b/app/app.ts @@ -6,6 +6,8 @@ import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros'; import compatModules from '@embroider/virtual/compat-modules'; import config from 'swach/config/environment'; +import './styles/app.css'; + if (macroCondition(isDevelopingApp())) { importSync('./deprecation-workflow'); } diff --git a/app/components/color-picker.gts b/app/components/color-picker.gts index b3a06dd68..7eb1007a7 100644 --- a/app/components/color-picker.gts +++ b/app/components/color-picker.gts @@ -38,7 +38,7 @@ export default class ColorPickerComponent extends Component {{#if @isShown}}
-
+
-
+
-
+
-
+
-
+
{