diff --git a/apps/repl/app/app.ts b/apps/repl/app/app.ts index 97f763fd8..452f1d860 100644 --- a/apps/repl/app/app.ts +++ b/apps/repl/app/app.ts @@ -1,4 +1,5 @@ import 'limber-ui/theme.css'; +import 'ember-statechart-component'; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore @@ -10,8 +11,6 @@ import { _backburner } from '@ember/runloop'; import loadInitializers from 'ember-load-initializers'; import Resolver from 'ember-resolver'; -import { setupComponentMachines } from 'ember-statechart-component'; -import { StateNode } from 'xstate'; import config from 'limber/config/environment'; @@ -41,5 +40,3 @@ export default class App extends Application { } loadInitializers(App, config.modulePrefix); - -setupComponentMachines(StateNode); diff --git a/apps/repl/app/components/limber/editor/index.gts b/apps/repl/app/components/limber/editor/index.gts index 54c36e17b..ee353b9f3 100644 --- a/apps/repl/app/components/limber/editor/index.gts +++ b/apps/repl/app/components/limber/editor/index.gts @@ -1,19 +1,66 @@ +import { waitForPromise } from '@ember/test-waiters'; + +import { resource, resourceFactory } from 'ember-resources'; +import { TrackedObject } from 'tracked-built-ins'; + import { service } from 'limber-ui'; -import codemirror from './-code-mirror'; +import codemirror, { setupCodeMirror } from './-code-mirror'; import Loader from './loader'; import { LoadingError } from './loading-error'; import { Placeholder } from './placeholder'; -import State from './state'; import type { TOC } from '@ember/component/template-only'; +function deferCodemirror() { + let state = new TrackedObject({ isLoading: false, isDone: false, error: null }); + + function getEditor() { + state.isLoading = true; + waitForPromise(setupCodeMirror()) + .then(() => { + state.isDone = true; + }) + .catch((error) => (state.error = error)) + .finally(() => { + state.isLoading = false; + }); + } + + function cleanup() { + window.removeEventListener('mousemove', load); + window.removeEventListener('keydown', load); + window.removeEventListener('touchstart', load); + } + + let load = () => { + getEditor(); + cleanup(); + }; + + return resource(({ on, owner }) => { + if (owner.lookup('service:router').currentRoute?.queryParams?.['forceEditor'] === 'true') { + load(); + } + + on.cleanup(() => cleanup()); + + window.addEventListener('mousemove', load, { passive: true }); + window.addEventListener('keydown', load, { passive: true }); + window.addEventListener('touchstart', load, { passive: true }); + + return state; + }); +} + +resourceFactory(deferCodemirror); + export const Editor: TOC<{ Element: HTMLDivElement; }> = ; export default Editor; diff --git a/apps/repl/app/components/limber/editor/state.ts b/apps/repl/app/components/limber/editor/state.ts deleted file mode 100644 index 890f86b76..000000000 --- a/apps/repl/app/components/limber/editor/state.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { waitForPromise } from '@ember/test-waiters'; - -import { getService } from 'ember-statechart-component'; -import { assign, createMachine } from 'xstate'; - -import { setupCodeMirror } from './-code-mirror'; - -export default createMachine({ - schema: { - context: {} as { - error?: string; - }, - events: {} as { type: 'MOUSE' } | { type: 'KEY' } | { type: 'TOUCH' }, - }, - initial: 'waiting', - states: { - waiting: { - invoke: { - src: (ctx) => (send) => { - if (getService(ctx, 'router').currentRoute?.queryParams?.['forceEditor'] === 'true') { - send('KEY'); - } - - let cleanup = () => { - window.removeEventListener('mousemove', mouse); - window.removeEventListener('keydown', key); - window.removeEventListener('touchstart', touch); - }; - - let mouse = () => { - send('MOUSE'); - cleanup(); - }; - let key = () => { - send('KEY'); - cleanup(); - }; - let touch = () => { - send('TOUCH'); - cleanup(); - }; - - window.addEventListener('mousemove', mouse, { passive: true }); - window.addEventListener('keydown', key, { passive: true }); - window.addEventListener('touchstart', touch, { passive: true }); - - return cleanup; - }, - }, - on: { - MOUSE: 'loadCodeMirror', - KEY: 'loadCodeMirror', - TOUCH: 'loadCodeMirror', - }, - }, - loadCodeMirror: { - // @ts-expect-error xstate doesn't do semver with typescript, and breaks regularly :( - invoke: { - src: () => waitForPromise(setupCodeMirror()), - onDone: 'editingWithCodeMirror', - onError: { target: 'error', actions: assign({ error: (_, event) => event.data }) }, - }, - }, - editingWithCodeMirror: {}, - error: {}, - }, -}); diff --git a/apps/repl/app/components/limber/layout/index.gts b/apps/repl/app/components/limber/layout/index.gts index 9ad1aeec8..e8f6b0263 100644 --- a/apps/repl/app/components/limber/layout/index.gts +++ b/apps/repl/app/components/limber/layout/index.gts @@ -1,8 +1,5 @@ -// need to Fix something in ember-statechart-component -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-nocheck import { assert } from '@ember/debug'; -import { fn, hash } from '@ember/helper'; +import { fn } from '@ember/helper'; import { modifier } from 'ember-modifier'; @@ -11,17 +8,21 @@ import { EditorContainer, OutputContainer } from './containers'; import { Controls } from './controls'; import { Orientation } from './orientation'; import { ResizeHandle } from './resize-handle'; -import State, { isHorizontalSplit, setupResizeObserver } from './state'; +import { isHorizontalSplit, LayoutState, setupResizeObserver } from './state'; import type { TOC } from '@ember/component/template-only'; -import type { Send, State as StateFor } from 'ember-statechart-component/glint'; +import type { ReactiveActorFrom } from 'ember-statechart-component'; -const setupState = modifier((element: Element, [send]: [Send]) => { +type ReactiveActor = ReactiveActorFrom; + +const setupState = modifier((element: Element, [send]: [(event: string) => void]) => { assert(`Element is not resizable`, element instanceof HTMLElement); let observer = setupResizeObserver(() => send('RESIZE')); - send('CONTAINER_FOUND', { + // @ts-expect-error need to fix the type of this for ember-statechart-component + send({ + type: 'CONTAINER_FOUND', container: element, observer, maximize: () => send('MAXIMIZE'), @@ -37,7 +38,7 @@ const effect = (fn: (...args: unknown[]) => void) => { fn(); }; -const isResizable = (state: StateFor) => { +const isResizable = (state: ReactiveActor) => { return !(state.matches('hasContainer.minimized') || state.matches('hasContainer.maximized')); }; @@ -45,38 +46,50 @@ const isResizable = (state: StateFor) => { * true for horizontally split * false for vertically split */ -const containerDirection = (state: StateFor) => { +const containerDirection = (state: ReactiveActor) => { if (state.matches('hasContainer.default.horizontallySplit')) { return true; } - return isHorizontalSplit(state.context); + return isHorizontalSplit(state.snapshot); }; +function updateOrientation(isVertical: boolean) { + return { + type: 'ORIENTATION', + isVertical, + }; +} + export const Layout: TOC<{ Blocks: { editor: []; output: []; }; }> = ; export default Layout; diff --git a/apps/repl/app/components/limber/layout/state.ts b/apps/repl/app/components/limber/layout/state.ts index 5ff7547d6..a8c5714a8 100644 --- a/apps/repl/app/components/limber/layout/state.ts +++ b/apps/repl/app/components/limber/layout/state.ts @@ -2,7 +2,7 @@ import { DEBUG } from '@glimmer/env'; import { inIframe } from 'ember-primitives/iframe'; import { getService } from 'ember-statechart-component'; -import { assign, createMachine } from 'xstate'; +import { assign, setup } from 'xstate'; interface Context { container?: HTMLElement; @@ -10,6 +10,10 @@ interface Context { actualOrientation?: Direction; } +interface Data { + context: Context; +} + export const BREAKPOINT = 1.2; function detectAspectRatio() { @@ -31,37 +35,32 @@ function detectAspectRatio() { const isTouchDevice = () => window.matchMedia('(pointer: coarse)').matches; const isNonTouchDevice = () => !isTouchDevice(); -export function isVerticalSplit(ctx: Context) { - return hasHorizontalOrientation(ctx); +function isVerticalSplit(x: Data) { + return hasHorizontalOrientation(x); } -export function isHorizontalSplit(ctx: Context) { - return hasVerticalOrientation(ctx); +export function isHorizontalSplit(x: Data) { + return hasVerticalOrientation(x); } -function hasHorizontalOrientation(ctx: Context) { - return resolvedOrientation(ctx) === HORIZONTAL; +function hasHorizontalOrientation(x: Data) { + return resolvedOrientation(x) === HORIZONTAL; } -function hasVerticalOrientation(ctx: Context) { - return resolvedOrientation(ctx) === VERTICAL; +function hasVerticalOrientation(x: Data) { + return resolvedOrientation(x) === VERTICAL; } -function resolvedOrientation(ctx: Context): Direction { - if (ctx.manualOrientation) return ctx.manualOrientation; +function resolvedOrientation({ context }: Data): Direction { + if (context.manualOrientation) return context.manualOrientation; - return ctx.actualOrientation || VERTICAL; + return context.actualOrientation || VERTICAL; } -function hasManualOrientation(ctx: Context): boolean { - return ctx.manualOrientation !== undefined; +function hasManualOrientation({ context }: Data): boolean { + return context.manualOrientation !== undefined; } -const assignOrientation = assign({ - actualOrientation: (_, { isVertical }: { isVertical: boolean }) => - isVertical ? VERTICAL : HORIZONTAL, -}); - interface ContainerFoundData { container: HTMLElement; observer: ResizeObserver; @@ -74,325 +73,323 @@ const HORIZONTAL = 'horizontal' as const; type Direction = typeof VERTICAL | typeof HORIZONTAL; -export default createMachine( - { - id: 'editor-layout', - initial: 'noContainer', - description: - DEBUG && - 'Controls the overall layout of the app, based on orientation, ' + - 'device type, container resize, and manual rotation. Additionally, ' + - 'when the editor itself is resized, this machine controls the persisting ' + - 'and restoring of the editor size in both dimensions, depending on the current ' + - 'orientation (either default or manually overridden)', - schema: { - context: {} as { - container?: HTMLElement; - handle?: HTMLElement; - panes?: [HTMLElement, HTMLElement]; - observer?: ResizeObserver; - maximize?: () => void; - minimize?: () => void; - manualOrientation?: Direction; - actualOrientation?: Direction; - }, - events: {} as - | ({ type: 'CONTAINER_FOUND' } & ContainerFoundData) - | { type: 'CONTAINER_REMOVED' } - | { type: 'MAXIMIZE' } - | { type: 'MINIMIZE' } - | { type: 'RESIZE' } - | { type: 'ROTATE' } - | { type: 'WINDOW_RESIZE' } - | { type: 'ORIENTATION'; isVertical: boolean }, +export const LayoutState = setup({ + guards: {}, + actions: { + maximizeEditor: ({ context }) => maximizeEditor({ context }), + minimizeEditor: ({ context }) => minimizeEditor({ context }), + restoreEditor: ({ context }) => { + let { container, maximize, minimize } = context; + + if (!container) return; + + let router = getService(context, 'router'); + let editor = router.currentRoute?.queryParams.editor; + let requestingMax = editor === 'max'; + let requestingMin = editor === 'min'; + + if (maximize && requestingMax) { + maximize(); + } else if (minimize && requestingMin) { + minimize(); + } else { + if (isVerticalSplit({ context })) { + restoreWidth(container); + clearHeight(container); + } else { + restoreHeight(container); + clearWidth(container); + } + } }, - // @ts-expect-error xstate doesn't do semver with typescript, and breaks regularly :( - on: { - CONTAINER_FOUND: { - description: DEBUG && `The editor has been rendered.`, - target: 'hasContainer', - actions: assign((_, event: ContainerFoundData) => { - let { container, observer, maximize, minimize } = event; - let handle = container.nextElementSibling; - - return { - handle, - container, - observer, - maximize, - minimize, - }; - }), - }, - CONTAINER_REMOVED: { - description: DEBUG && `The editor has been removed from the DOM.`, - target: 'noContainer', - actions: assign({ container: (_, __) => undefined }), - }, - ORIENTATION: { - description: DEBUG && `Determine initial orientation for initial layout.`, - cond: isNonTouchDevice, - actions: assignOrientation, - }, + + clearHeight: ({ context }) => context.container && clearHeight(context.container), + clearWidth: ({ context }) => context.container && clearWidth(context.container), + + restoreVerticalSplitSize: ({ context }) => { + if (!context.container) return; + + restoreWidth(context.container); }, - states: { - hasContainer: { - initial: 'default', - description: DEBUG && `When we have a div to observe, begin watching for events.`, - entry: [assign({ actualOrientation: detectAspectRatio })], - states: { - default: { - entry: ['observe'], - description: - DEBUG && - `Setup resize observer for the container. ` + - `This 'default' state is where the editor exists most of the time, ` + - `neither minimized nor maximized.`, - exit: ['unobserve'], - initial: 'unknownSplit', - on: { - MAXIMIZE: 'maximized', - MINIMIZE: 'minimized', - }, - states: { - unknownSplit: { - description: - DEBUG && - `If the device orientation has been determined, ` + - `we can immediately transition to the appropriate orientation-state, ` + - `else we listen for an orientation update.`, - // the always events will only suceed if we've previously - // resolved the device / window / iframe orientation - // (and this is why we can't use the native Device API - // because we have window and iframes to worry about) - always: [ - { cond: isVerticalSplit, target: 'verticallySplit' }, - { cond: isHorizontalSplit, target: 'horizontallySplit' }, - ], - // @ts-expect-error xstate doesn't do semver with typescript, and breaks regularly :( - on: { - ORIENTATION: [ - { - description: - 'Viewport orientation changed to be more vertical. But on touch devices, we ignore this.', - cond: (_, event) => event.isVertical === true && isNonTouchDevice(), - target: 'horizontallySplit', - actions: assignOrientation, - }, - { - description: - 'Viewport orientation changed to be more horizontal. But on touch devices, we ignore this.', - cond: (_, event) => event.isVertical === false && isNonTouchDevice(), - target: 'verticallySplit', - actions: assignOrientation, - }, - ], - }, - }, - horizontallySplit: { - description: - DEBUG && - `By default, the view is horizontally split when the orientation is more vertical. ` + - `The vertical orientation displays the editor above and the rendered output below.`, - entry: ['restoreHorizontalSplitSize'], - // @ts-expect-error xstate doesn't do semver with typescript, and breaks regularly :( - on: { - MINIMIZE: { - actions: 'persistHorizontalSplitSize', - target: '#editor-layout.hasContainer.minimized', - }, - MAXIMIZE: { - actions: 'persistHorizontalSplitSize', - target: '#editor-layout.hasContainer.maximized', + restoreHorizontalSplitSize: ({ context }) => { + if (!context.container) return; + + restoreHeight(context.container); + }, + + observe: ({ context }) => { + let { observer, container } = context; + + if (!container || !observer) return; + + observer.observe(container); + }, + unobserve: ({ context }) => { + let { observer, container } = context; + + if (!container || !observer) return; + + observer.unobserve(container); + }, + persistVerticalSplitSize: ({ context }) => { + if (!context.container) return; + + let rect = context.container.getBoundingClientRect(); + + setSize(WHEN_VERTICALLY_SPLIT, `${rect.width}px`); + }, + persistHorizontalSplitSize: ({ context }) => { + if (!context.container) return; + + let rect = context.container.getBoundingClientRect(); + + setSize(WHEN_HORIZONTALLY_SPLIT, `${rect.height}px`); + }, + }, +}).createMachine({ + id: 'editor-layout', + initial: 'noContainer', + description: + DEBUG && + 'Controls the overall layout of the app, based on orientation, ' + + 'device type, container resize, and manual rotation. Additionally, ' + + 'when the editor itself is resized, this machine controls the persisting ' + + 'and restoring of the editor size in both dimensions, depending on the current ' + + 'orientation (either default or manually overridden)', + schema: { + context: {} as { + container?: HTMLElement; + handle?: HTMLElement; + panes?: [HTMLElement, HTMLElement]; + observer?: ResizeObserver; + maximize?: () => void; + minimize?: () => void; + manualOrientation?: Direction; + actualOrientation?: Direction; + }, + events: {} as + | ({ type: 'CONTAINER_FOUND' } & ContainerFoundData) + | { type: 'CONTAINER_REMOVED' } + | { type: 'MAXIMIZE' } + | { type: 'MINIMIZE' } + | { type: 'RESIZE' } + | { type: 'ROTATE' } + | { type: 'WINDOW_RESIZE' } + | { type: 'ORIENTATION'; isVertical: boolean }, + }, + on: { + CONTAINER_FOUND: { + description: DEBUG && `The editor has been rendered.`, + target: '.hasContainer', + actions: assign({ + handle: ({ event }) => event.container.nextElementSibling, + container: ({ event }) => event.container, + observer: ({ event }) => event.observer, + maximize: ({ event }) => event.maximize, + minimize: ({ event }) => event.minimize, + }), + }, + CONTAINER_REMOVED: { + description: DEBUG && `The editor has been removed from the DOM.`, + target: '.noContainer', + actions: assign({ container: () => undefined }), + }, + ORIENTATION: { + description: DEBUG && `Determine initial orientation for initial layout.`, + guard: isNonTouchDevice, + actions: assign({ + actualOrientation: ({ event }) => (event.isVertical ? VERTICAL : HORIZONTAL), + }), + }, + }, + states: { + hasContainer: { + initial: 'default', + description: DEBUG && `When we have a div to observe, begin watching for events.`, + entry: [assign({ actualOrientation: detectAspectRatio })], + states: { + default: { + entry: ['observe'], + description: + DEBUG && + `Setup resize observer for the container. ` + + `This 'default' state is where the editor exists most of the time, ` + + `neither minimized nor maximized.`, + exit: ['unobserve'], + initial: 'unknownSplit', + on: { + MAXIMIZE: 'maximized', + MINIMIZE: 'minimized', + }, + states: { + unknownSplit: { + description: + DEBUG && + `If the device orientation has been determined, ` + + `we can immediately transition to the appropriate orientation-state, ` + + `else we listen for an orientation update.`, + // the always events will only suceed if we've previously + // resolved the device / window / iframe orientation + // (and this is why we can't use the native Device API + // because we have window and iframes to worry about) + always: [ + { guard: isVerticalSplit, target: 'verticallySplit' }, + { guard: isHorizontalSplit, target: 'horizontallySplit' }, + ], + on: { + ORIENTATION: [ + { + description: + 'Viewport orientation changed to be more vertical. But on touch devices, we ignore this.', + guard: ({ event }) => event.isVertical === true && isNonTouchDevice(), + target: 'horizontallySplit', + actions: assign({ + actualOrientation: ({ event }) => (event.isVertical ? VERTICAL : HORIZONTAL), + }), }, - ORIENTATION: [ - { - description: - 'Viewport orientation changed to be more horizontal. But on touch devices, we ignore this.', - cond: (ctx, event) => - event.isVertical === false && - isNonTouchDevice() && - !hasManualOrientation(ctx), - target: 'verticallySplit', - actions: assignOrientation, - }, - ], - ROTATE: { - description: DEBUG && `User manually changed the split direction`, + { + description: + 'Viewport orientation changed to be more horizontal. But on touch devices, we ignore this.', + guard: ({ event }) => event.isVertical === false && isNonTouchDevice(), target: 'verticallySplit', - actions: assign({ manualOrientation: (_, __) => HORIZONTAL }), + actions: assign({ + actualOrientation: ({ event }) => (event.isVertical ? VERTICAL : HORIZONTAL), + }), }, - RESIZE: [ - { - description: 'if we retain the same orientation, persist the editor height', - cond: isHorizontalSplit, - target: 'horizontallySplit', - actions: ['persistHorizontalSplitSize'], - }, - ], - }, + ], }, - verticallySplit: { - description: - DEBUG && - `By default, the view is vertically split when the orientation is more horizontal. ` + - `The horizontal orientation displays the editor to the left and the rendered output to the right.`, - entry: ['restoreVerticalSplitSize'], - // @ts-expect-error xstate doesn't do semver with typescript, and breaks regularly :( - on: { - MINIMIZE: { - actions: 'persistVerticalSplitSize', - target: '#editor-layout.hasContainer.minimized', + }, + horizontallySplit: { + description: + DEBUG && + `By default, the view is horizontally split when the orientation is more vertical. ` + + `The vertical orientation displays the editor above and the rendered output below.`, + entry: ['restoreHorizontalSplitSize'], + on: { + MINIMIZE: { + actions: 'persistHorizontalSplitSize', + target: '#editor-layout.hasContainer.minimized', + }, + MAXIMIZE: { + actions: 'persistHorizontalSplitSize', + target: '#editor-layout.hasContainer.maximized', + }, + ORIENTATION: [ + { + description: + 'Viewport orientation changed to be more horizontal. But on touch devices, we ignore this.', + guard: ({ event, context }) => + event.isVertical === false && + isNonTouchDevice() && + !hasManualOrientation({ context }), + target: 'verticallySplit', + actions: assign({ + actualOrientation: ({ event }) => (event.isVertical ? VERTICAL : HORIZONTAL), + }), }, - MAXIMIZE: { - actions: 'persistVerticalSplitSize', - target: '#editor-layout.hasContainer.maximized', + ], + ROTATE: { + description: DEBUG && `User manually changed the split direction`, + target: 'verticallySplit', + actions: assign({ manualOrientation: (_, __) => HORIZONTAL }), + }, + RESIZE: [ + { + description: 'if we retain the same orientation, persist the editor height', + guard: isHorizontalSplit, + target: 'horizontallySplit', + actions: ['persistHorizontalSplitSize'], }, - ORIENTATION: [ - { - description: - DEBUG && - 'Viewport orientation changed to be more vertical. But on touch devices, we ignore this.', - cond: (ctx, event) => - event.isVertical === true && - isNonTouchDevice() && - !hasManualOrientation(ctx), - target: 'horizontallySplit', - actions: assignOrientation, - }, - ], - ROTATE: { - description: DEBUG && `User manually changed the split direction`, + ], + }, + }, + verticallySplit: { + description: + DEBUG && + `By default, the view is vertically split when the orientation is more horizontal. ` + + `The horizontal orientation displays the editor to the left and the rendered output to the right.`, + entry: ['restoreVerticalSplitSize'], + on: { + MINIMIZE: { + actions: 'persistVerticalSplitSize', + target: '#editor-layout.hasContainer.minimized', + }, + MAXIMIZE: { + actions: 'persistVerticalSplitSize', + target: '#editor-layout.hasContainer.maximized', + }, + ORIENTATION: [ + { + description: + DEBUG && + 'Viewport orientation changed to be more vertical. But on touch devices, we ignore this.', + guard: ({ event, context }) => + event.isVertical === true && + isNonTouchDevice() && + !hasManualOrientation({ context }), target: 'horizontallySplit', - actions: assign({ manualOrientation: (_, __) => VERTICAL }), + actions: assign({ + actualOrientation: ({ event }) => (event.isVertical ? VERTICAL : HORIZONTAL), + }), }, - RESIZE: [ - { - description: 'if we retain the same orientation, persist the editor width', - cond: isVerticalSplit, - target: 'verticallySplit', - actions: ['persistVerticalSplitSize'], - }, - ], + ], + ROTATE: { + description: DEBUG && `User manually changed the split direction`, + target: 'horizontallySplit', + actions: assign({ manualOrientation: (_, __) => VERTICAL }), }, + RESIZE: [ + { + description: 'if we retain the same orientation, persist the editor width', + guard: isVerticalSplit, + target: 'verticallySplit', + actions: ['persistVerticalSplitSize'], + }, + ], }, }, }, - maximized: { - description: - DEBUG && - `The editor is maximized, filling the whole screen, and the output is entirely hidden.`, - entry: ['maximizeEditor', 'addResizeListener'], - exit: ['removeResizeListener'], - on: { - MAXIMIZE: 'default', - MINIMIZE: 'minimized', - WINDOW_RESIZE: 'maximized', - }, + }, + maximized: { + description: + DEBUG && + `The editor is maximized, filling the whole screen, and the output is entirely hidden.`, + entry: ['maximizeEditor'], + on: { + MAXIMIZE: 'default', + MINIMIZE: 'minimized', + WINDOW_RESIZE: 'maximized', }, - minimized: { - description: - DEBUG && - `The editor is minimized, showing only the buttons to unminimize, and maximize. The output fills nearly the entire screen.`, - entry: 'minimizeEditor', - on: { - MAXIMIZE: 'maximized', - MINIMIZE: 'default', - }, + }, + minimized: { + description: + DEBUG && + `The editor is minimized, showing only the buttons to unminimize, and maximize. The output fills nearly the entire screen.`, + entry: 'minimizeEditor', + on: { + MAXIMIZE: 'maximized', + MINIMIZE: 'default', }, }, }, - noContainer: { - /* nothing can happen, nothing to resize */ - description: - DEBUG && - `It's possible for the statechart to start rendering before we have a div to observe. ` + - `When that div is rendered, it'll send an event that will transition us out of this state. ` + - `Without that div, this statechart may not do anything.`, - }, }, - }, - { - // There is an uncaptured state where you - // maximize the editor and then change the width across the viewport, - // the editor snaps back to to split view *but* the icons do not appropriately - // update due to the state machine still being in the maximized state. - actions: { - maximizeEditor: (ctx) => maximizeEditor(ctx), - minimizeEditor: (ctx) => minimizeEditor(ctx), - restoreEditor: (context) => { - let { container, maximize, minimize } = context; - - if (!container) return; - - let router = getService(context, 'router'); - let editor = router.currentRoute?.queryParams.editor; - let requestingMax = editor === 'max'; - let requestingMin = editor === 'min'; - - if (maximize && requestingMax) { - maximize(); - } else if (minimize && requestingMin) { - minimize(); - } else { - if (isVerticalSplit(context)) { - restoreWidth(container); - clearHeight(container); - } else { - restoreHeight(container); - clearWidth(container); - } - } - }, - - clearHeight: ({ container }) => container && clearHeight(container), - clearWidth: ({ container }) => container && clearWidth(container), - - restoreVerticalSplitSize: ({ container }) => { - if (!container) return; - - restoreWidth(container); - }, - restoreHorizontalSplitSize: ({ container }) => { - if (!container) return; - - restoreHeight(container); - }, - - observe: ({ observer, container }) => { - if (!container || !observer) return; - - observer.observe(container); - }, - unobserve: ({ observer, container }) => { - if (!container || !observer) return; - - observer.unobserve(container); - }, - persistVerticalSplitSize: ({ container }) => { - if (!container) return; - - let rect = container.getBoundingClientRect(); - - setSize(WHEN_VERTICALLY_SPLIT, `${rect.width}px`); - }, - persistHorizontalSplitSize: ({ container }) => { - if (!container) return; - - let rect = container.getBoundingClientRect(); - - setSize(WHEN_HORIZONTALLY_SPLIT, `${rect.height}px`); - }, + noContainer: { + /* nothing can happen, nothing to resize */ + description: + DEBUG && + `It's possible for the statechart to start rendering before we have a div to observe. ` + + `When that div is rendered, it'll send an event that will transition us out of this state. ` + + `Without that div, this statechart may not do anything.`, }, - } -); + }, +}); -const minimizeEditor = (ctx: Context) => { - let { container } = ctx; +const minimizeEditor = ({ context }: Data) => { + let { container } = context; if (!container) return; - if (isVerticalSplit(ctx)) { + if (isVerticalSplit({ context })) { container.style.width = '38px'; container.style.maxWidth = ''; clearHeight(container); @@ -402,8 +399,8 @@ const minimizeEditor = (ctx: Context) => { clearWidth(container); } }; -const maximizeEditor = (ctx: Context) => { - let { container } = ctx; +const maximizeEditor = ({ context }: Data) => { + let { container } = context; if (!container) return; diff --git a/apps/repl/app/routes/application.ts b/apps/repl/app/routes/application.ts index c4bd554cf..076a2e3b6 100644 --- a/apps/repl/app/routes/application.ts +++ b/apps/repl/app/routes/application.ts @@ -1,11 +1,6 @@ -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -import { DEBUG } from '@glimmer/env'; import Route from '@ember/routing/route'; import { service } from '@ember/service'; -import { notInIframe } from 'ember-primitives/iframe'; - import type { SetupService } from 'ember-primitives'; export default class ApplicationRoute extends Route { @@ -14,41 +9,5 @@ export default class ApplicationRoute extends Route { async beforeModel() { this.primitives.setup(); document.querySelector('#initial-loader')?.remove(); - - if (DEBUG) { - if (notInIframe()) { - await setupDebugTools(); - } - } } } - -async function setupDebugTools() { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let w = window as any; - - console.info( - `Welcome intrepid debugger!\n` + - `\n` + - `To see what debug tools are available, interact with the \`window.limber\` object.` + - `\n\n` + - `for example: \n\n` + - `\twindow.limber.inspectStatecharts(); // only available in development builds` - ); - - let { inspect } = await import('@xstate/inspect'); - - let qp = new URLSearchParams(window.location.href); - - if (qp.get('xstate-inspect') == 'true') { - inspect({ iframe: false }); - } - - w.limber = { - inspectStatecharts: () => { - qp.set('xstate-inspect', 'true'); - - window.location.href = qp.toString(); - }, - }; -} diff --git a/apps/repl/package.json b/apps/repl/package.json index 762bef487..e4e24e7d1 100644 --- a/apps/repl/package.json +++ b/apps/repl/package.json @@ -149,7 +149,7 @@ "ember-primitives": "^0.23.1", "ember-repl": "workspace:*", "ember-resources": "^7.0.1", - "ember-statechart-component": "6.1.2", + "ember-statechart-component": "7.1.0", "highlight.js": "^11.9.0", "highlightjs-glimmer": "^2.2.2", "html-to-image": "^1.11.11", @@ -172,6 +172,6 @@ "unist-util-visit": "^5.0.0", "webpack-bundle-analyzer": "^4.10.2", "ws": "^8.15.1", - "xstate": "4.35.4" + "xstate": "5.18.2" } } diff --git a/packages/app-support/codemirror/package.json b/packages/app-support/codemirror/package.json index a400598a2..c9dc11199 100644 --- a/packages/app-support/codemirror/package.json +++ b/packages/app-support/codemirror/package.json @@ -42,7 +42,7 @@ "@lezer/html": "^1.3.7", "@lezer/markdown": "^1.3.1", "@nullvoxpopuli/horizon-theme": "workspace:*", - "assert": "^2.1.0", + "assert": "npm:@nolyfill/assert@^1", "broccoli-funnel": "^3.0.8", "codemirror": "^6.0.1", "codemirror-lang-glimdown": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 914dafa24..b34734f73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,7 +41,7 @@ importers: version: 7.25.8(supports-color@8.1.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) concurrently: specifier: ^9.0.1 version: 9.0.1 @@ -95,7 +95,7 @@ importers: version: link:../../packages/app-support/transpilation '@xstate/inspect': specifier: ^0.8.0 - version: 0.8.0(ws@8.18.0)(xstate@4.35.4) + version: 0.8.0(ws@8.18.0)(xstate@5.18.2) browserslist: specifier: ^4.22.3 version: 4.24.0 @@ -130,8 +130,8 @@ importers: specifier: ^7.0.1 version: 7.0.2(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glimmer/tracking@1.1.2)(@glint/template@1.4.1-unstable.ff9ea6c)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(rsvp@4.8.5)(webpack@5.95.0)) ember-statechart-component: - specifier: 6.1.2 - version: 6.1.2(@glint/template@1.4.1-unstable.ff9ea6c)(xstate@4.35.4) + specifier: 7.1.0 + version: 7.1.0(@babel/core@7.25.8)(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(xstate@5.18.2) highlight.js: specifier: ^11.9.0 version: 11.10.0 @@ -199,8 +199,8 @@ importers: specifier: ^8.15.1 version: 8.18.0 xstate: - specifier: 4.35.4 - version: 4.35.4 + specifier: 5.18.2 + version: 5.18.2 devDependencies: '@babel/core': specifier: ^7.25.7 @@ -258,7 +258,7 @@ importers: version: 1.4.1-unstable.ff9ea6c '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@nullvoxpopuli/limber-untyped': specifier: workspace:^0.0.1 version: link:../../packages/untyped @@ -556,7 +556,7 @@ importers: version: 1.4.1-unstable.ff9ea6c '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@nullvoxpopuli/limber-styles': specifier: workspace:^0.0.1 version: link:../../packages/app-support/styles @@ -646,7 +646,7 @@ importers: version: 17.11.1(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) eslint-plugin-qunit: specifier: ^8.1.2 version: 8.1.2(eslint@8.57.1) @@ -704,7 +704,7 @@ importers: version: 7.25.8(supports-color@8.1.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@types/node': specifier: ^22.7.4 version: 22.7.5 @@ -807,7 +807,7 @@ importers: version: 7.25.8(supports-color@8.1.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -922,7 +922,7 @@ importers: version: 1.4.1-unstable.ff9ea6c '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@nullvoxpopuli/limber-untyped': specifier: workspace:* version: link:../../../untyped @@ -979,7 +979,7 @@ importers: version: 17.11.1(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) execa: specifier: ^8.0.1 version: 8.0.1 @@ -1046,7 +1046,7 @@ importers: version: 4.0.4(@babel/core@7.25.8)(@glint/template@1.4.1-unstable.ff9ea6c)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(rsvp@4.8.5)(webpack@5.95.0)) '@embroider/test-setup': specifier: 4.0.0 - version: 4.0.0(@embroider/compat@3.6.2(@embroider/core@3.4.17(@glint/template@1.4.1-unstable.ff9ea6c))(@glint/template@1.4.1-unstable.ff9ea6c))(@embroider/core@3.4.17(@glint/template@1.4.1-unstable.ff9ea6c))(@embroider/webpack@4.0.6(@embroider/core@3.4.17(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0)) + version: 4.0.0(@embroider/compat@3.6.5(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(@glint/template@1.4.1-unstable.ff9ea6c))(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(@embroider/webpack@4.0.8(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0)) '@fortawesome/ember-fontawesome': specifier: ^2.0.0 version: 2.0.0(@glint/template@1.4.1-unstable.ff9ea6c)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(rsvp@4.8.5)(webpack@5.95.0))(rollup@4.24.0)(webpack@5.95.0) @@ -1070,7 +1070,7 @@ importers: version: 1.1.2 '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/parser': specifier: ^8.8.0 version: 8.8.1(eslint@8.57.1)(typescript@5.6.3) @@ -1148,7 +1148,7 @@ importers: version: 17.11.1(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) eslint-plugin-qunit: specifier: ^8.1.2 version: 8.1.2(eslint@8.57.1) @@ -1188,7 +1188,7 @@ importers: version: 7.25.8(supports-color@8.1.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) autoprefixer: specifier: ^10.4.17 version: 10.4.20(postcss@8.4.47) @@ -1246,7 +1246,7 @@ importers: version: 1.1.2(@babel/core@7.25.8) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -1300,7 +1300,7 @@ importers: version: 7.25.8(supports-color@8.1.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1457,7 +1457,7 @@ importers: version: 1.4.1-unstable.ff9ea6c '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@nullvoxpopuli/limber-untyped': specifier: workspace:* version: link:../../untyped @@ -1520,7 +1520,7 @@ importers: version: 17.11.1(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) execa: specifier: ^8.0.1 version: 8.0.1 @@ -1623,7 +1623,7 @@ importers: version: 1.4.1-unstable.ff9ea6c '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@nullvoxpopuli/limber-untyped': specifier: workspace:^0.0.1 version: link:../../untyped @@ -1713,7 +1713,7 @@ importers: version: 17.11.1(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) eslint-plugin-qunit: specifier: ^8.1.2 version: 8.1.2(eslint@8.57.1) @@ -1752,7 +1752,7 @@ importers: version: 7.25.8(supports-color@8.1.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1804,7 +1804,7 @@ importers: version: 7.25.8(@babel/core@7.25.8)(eslint@8.57.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1838,7 +1838,7 @@ importers: version: 7.25.8(@babel/core@7.25.8)(eslint@8.57.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1914,7 +1914,7 @@ importers: version: 1.7.1 '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@tsconfig/ember': specifier: ^3.0.7 version: 3.0.8 @@ -1971,7 +1971,7 @@ importers: version: link:../../../dev-preview '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1989,7 +1989,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.8 - version: 5.4.8(@types/node@22.7.5)(terser@5.34.1) + version: 5.4.8(@types/node@22.7.7)(terser@5.36.0) packages/syntax/glimdown/codemirror/tests: devDependencies: @@ -2001,7 +2001,7 @@ importers: version: 7.25.8(@babel/core@7.25.8)(eslint@8.57.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -2041,7 +2041,7 @@ importers: version: 1.7.1 '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@rollup/plugin-node-resolve': specifier: ^15.2.3 version: 15.3.0(rollup@4.24.0) @@ -2117,7 +2117,7 @@ importers: version: 1.7.1 '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@tsconfig/ember': specifier: ^3.0.7 version: 3.0.8 @@ -2174,7 +2174,7 @@ importers: version: link:../../../dev-preview '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -2192,7 +2192,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.8 - version: 5.4.8(@types/node@22.7.5)(terser@5.34.1) + version: 5.4.8(@types/node@22.7.7)(terser@5.36.0) packages/syntax/glimmer-s-expression/lezer: dependencies: @@ -2217,7 +2217,7 @@ importers: version: 1.7.1 '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@rollup/plugin-node-resolve': specifier: ^15.2.3 version: 15.3.0(rollup@4.24.0) @@ -2299,7 +2299,7 @@ importers: version: 1.7.1 '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@tsconfig/ember': specifier: ^3.0.7 version: 3.0.8 @@ -2356,7 +2356,7 @@ importers: version: link:../../../dev-preview '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -2374,7 +2374,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.8 - version: 5.4.8(@types/node@22.7.5)(terser@5.34.1) + version: 5.4.8(@types/node@22.7.7)(terser@5.36.0) packages/syntax/glimmer/lezer: dependencies: @@ -2414,7 +2414,7 @@ importers: version: 1.7.1 '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@tsconfig/ember': specifier: ^3.0.7 version: 3.0.8 @@ -2456,7 +2456,7 @@ importers: version: 7.25.8(@babel/core@7.25.8)(eslint@8.57.1) '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) '@typescript-eslint/eslint-plugin': specifier: ^8.8.0 version: 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -2480,7 +2480,7 @@ importers: version: 1.4.1-unstable.ff9ea6c '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) eslint: specifier: ^8.55.0 version: 8.57.1 @@ -2498,7 +2498,7 @@ importers: devDependencies: '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) eslint: specifier: ^8.55.0 version: 8.57.1 @@ -2535,7 +2535,7 @@ importers: devDependencies: '@nullvoxpopuli/eslint-configs': specifier: ^4.0.0 - version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) + version: 4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3) eslint: specifier: ^8.55.0 version: 8.57.1 @@ -2550,7 +2550,7 @@ importers: version: 5.6.3 vitest: specifier: ^2.1.2 - version: 2.1.2(@types/node@22.7.5)(jsdom@25.0.1)(terser@5.34.1) + version: 2.1.2(@types/node@22.7.7)(jsdom@25.0.1)(terser@5.36.0) packages: @@ -3357,10 +3357,21 @@ packages: peerDependencies: '@embroider/core': ^3.4.17 + '@embroider/compat@3.6.5': + resolution: {integrity: sha512-h4ZeE28IXMU3JjVZuO3D0ZhKDz0TZxNjkrSWw6VZ3YEyX5fMcIxJTYf6sS362STsTjvIaPHZxG2t3CXmh7ct6Q==} + engines: {node: 12.* || 14.* || >= 16} + hasBin: true + peerDependencies: + '@embroider/core': ^3.4.19 + '@embroider/core@3.4.17': resolution: {integrity: sha512-5mgIQSR4gsH3T7/+FskxL4I6bzkHbKGAXHf3ZnOSb0byqoCfQT8yVu6GktwMzLxMlvP1ziLIsyEesMQ8zjLBpA==} engines: {node: 12.* || 14.* || >= 16} + '@embroider/core@3.4.19': + resolution: {integrity: sha512-nnjQzXa+LkbqcSl7+a5sX6UKzeyHaiKrYCi/Wg5EG5OzyukiFmX2ZNI44fJ/U69htIphCZXAvLsMsEsUPm94ZA==} + engines: {node: 12.* || 14.* || >= 16} + '@embroider/hbs-loader@3.0.3': resolution: {integrity: sha512-sI2K3/III1WGGxS+aIf8uW5tgcNiE7APNhThn2ZTwqU47fK20Uz8TJZhst0GfNZFsCsmuQMRUikRJvQU8naSWA==} engines: {node: 12.* || 14.* || >= 16} @@ -3386,6 +3397,15 @@ packages: '@glint/template': optional: true + '@embroider/macros@1.16.9': + resolution: {integrity: sha512-AUrmHQdixczIU3ouv/+HzWxwYVsw/NwssZxAQnXfBDJ3d3/CRtAvGRu3JhY6OT3AAPFwfa2WT66tB5jeAa7r5g==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@glint/template': ^1.0.0 + peerDependenciesMeta: + '@glint/template': + optional: true + '@embroider/router@2.1.8': resolution: {integrity: sha512-Dvp8YdqAWT6T0yzBZfUe6SyaVNH7xoXBlrxF1LbqoF/Q2buNzDy9oAQ5tTnbX1x+5KOrM0ryOjfeF0GoqkfobA==} peerDependencies: @@ -3441,6 +3461,13 @@ packages: '@embroider/core': ^3.4.17 webpack: '>= 5.92.0' + '@embroider/webpack@4.0.8': + resolution: {integrity: sha512-5i1v6+eH1gMHOqtaCzkFX6JPekmapN1+Clacxu+lxiv/piufuJV6bkugyPxIqqGBWjF8bOQA12ncM9BgpLae8A==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@embroider/core': ^3.4.19 + webpack: '>= 5.92.0' + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -4620,6 +4647,9 @@ packages: '@types/eslint@8.56.12': resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -4696,6 +4726,9 @@ packages: '@types/node@22.7.5': resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} + '@types/node@22.7.7': + resolution: {integrity: sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==} + '@types/node@9.6.61': resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==} @@ -4768,6 +4801,17 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@typescript-eslint/eslint-plugin@8.10.0': + resolution: {integrity: sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/eslint-plugin@8.8.1': resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4779,6 +4823,16 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.10.0': + resolution: {integrity: sha512-E24l90SxuJhytWJ0pTQydFT46Nk0Z+bsLKo/L8rtQSL93rQ6byd1V/QbDpHUTdLPOMsBCcYXZweADNCfOCmOAg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/parser@8.8.1': resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4789,10 +4843,23 @@ packages: typescript: optional: true + '@typescript-eslint/scope-manager@8.10.0': + resolution: {integrity: sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.8.1': resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@8.10.0': + resolution: {integrity: sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/type-utils@8.8.1': resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4802,10 +4869,23 @@ packages: typescript: optional: true + '@typescript-eslint/types@8.10.0': + resolution: {integrity: sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.8.1': resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.10.0': + resolution: {integrity: sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@8.8.1': resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4815,12 +4895,22 @@ packages: typescript: optional: true + '@typescript-eslint/utils@8.10.0': + resolution: {integrity: sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/utils@8.8.1': resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@8.10.0': + resolution: {integrity: sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.8.1': resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5045,6 +5135,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.13.0: + resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@4.3.0: resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} engines: {node: '>= 4.0.0'} @@ -6785,15 +6880,12 @@ packages: peerDependencies: '@glimmer/component': ^1.1.2 - ember-statechart-component@6.1.2: - resolution: {integrity: sha512-XzDcGINfwDLqJVbRm6T5A6C/mj0gm3eaUcYr9nDh4ZfON9JbY3WReGyfAaUEvahLXBcpH9wX9+Wuk06160zafg==} - engines: {node: '>=12.2.0 < 13 || >= 14'} + ember-statechart-component@7.1.0: + resolution: {integrity: sha512-BiIJRjXvLDIBf5QGdRo8Wtoa7sC0wtoTR0DCZHMcyXaLVrbzyPm99R7OfVS3mRrCX1/N2/cZoG8wUAZoTU2nPQ==} peerDependencies: - '@glint/template': '>= 0.8.3' - xstate: ^4.32.1 - peerDependenciesMeta: - '@glint/template': - optional: true + '@glimmer/component': ^1.1.2 + '@glint/template': '>= 1.0.0' + xstate: ^5.18.0 ember-template-imports@3.4.2: resolution: {integrity: sha512-OS8TUVG2kQYYwP3netunLVfeijPoOKIs1SvPQRTNOQX4Pu8xGGBEZmrv0U1YTnQn12Eg+p6w/0UdGbUnITjyzw==} @@ -10794,6 +10886,11 @@ packages: engines: {node: '>=10'} hasBin: true + terser@5.36.0: + resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + engines: {node: '>=10'} + hasBin: true + testem-failure-only-reporter@1.0.0: resolution: {integrity: sha512-G3fC1FSW/mI2ElrzaJfGEtTHBB7U1IFimwC1oIpUc1+wYsgw+2tCUV1t+cB/dsBbryq4Cbe1NQ397fJ2maCs7g==} @@ -11615,8 +11712,8 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - xstate@4.35.4: - resolution: {integrity: sha512-mqRBYHhljP1xIItI4xnSQNHEv6CKslSM1cOGmvhmxeoDPAZgNbhSUYAL5N6DZIxRfpYY+M+bSm3mUFHD63iuvg==} + xstate@5.18.2: + resolution: {integrity: sha512-hab5VOe29D0agy8/7dH1lGw+7kilRQyXwpaChoMu4fe6rDP+nsHYhDYKfS2O4iXE7myA98TW6qMEudj/8NXEkA==} y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -12857,7 +12954,7 @@ snapshots: '@embroider/addon-shim@1.8.9': dependencies: - '@embroider/shared-internals': 2.8.1 + '@embroider/shared-internals': 2.8.1(supports-color@8.1.1) broccoli-funnel: 3.0.8 common-ancestor-path: 1.0.1 semver: 7.6.3 @@ -12873,6 +12970,16 @@ snapshots: - supports-color - webpack + '@embroider/babel-loader-9@3.1.1(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(supports-color@8.1.1)(webpack@5.95.0)': + dependencies: + '@babel/core': 7.25.8(supports-color@8.1.1) + '@embroider/core': 3.4.19(@glint/template@1.4.1-unstable.ff9ea6c) + babel-loader: 9.2.1(@babel/core@7.25.8)(webpack@5.95.0) + transitivePeerDependencies: + - supports-color + - webpack + optional: true + '@embroider/broccoli-side-watch@0.0.2-unstable.ba9fd29': dependencies: broccoli-merge-trees: 4.2.0 @@ -12933,6 +13040,60 @@ snapshots: - supports-color - utf-8-validate + '@embroider/compat@3.6.5(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(@glint/template@1.4.1-unstable.ff9ea6c)': + dependencies: + '@babel/code-frame': 7.25.7 + '@babel/core': 7.25.8(supports-color@8.1.1) + '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.25.8) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.8) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) + '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.8) + '@babel/preset-env': 7.25.8(@babel/core@7.25.8)(supports-color@8.1.1) + '@babel/runtime': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@8.1.1) + '@embroider/core': 3.4.19(@glint/template@1.4.1-unstable.ff9ea6c) + '@embroider/macros': 1.16.9(@glint/template@1.4.1-unstable.ff9ea6c) + '@types/babel__code-frame': 7.0.6 + '@types/yargs': 17.0.33 + assert-never: 1.3.0 + babel-import-util: 2.1.1 + babel-plugin-ember-template-compilation: 2.3.0 + babel-plugin-syntax-dynamic-import: 6.18.0 + babylon: 6.18.0 + bind-decorator: 1.0.11 + broccoli: 3.5.2 + broccoli-concat: 4.2.5 + broccoli-file-creator: 2.1.1 + broccoli-funnel: 3.0.8 + broccoli-merge-trees: 4.2.0 + broccoli-persistent-filter: 3.1.3 + broccoli-plugin: 4.0.7 + broccoli-source: 3.0.1 + chalk: 4.1.2 + debug: 4.3.7(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + fast-sourcemap-concat: 2.1.1 + fs-extra: 9.1.0 + fs-tree-diff: 2.0.1 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + pkg-up: 3.1.0 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + semver: 7.6.3 + symlink-or-copy: 1.3.1 + tree-sync: 2.1.0 + typescript-memoize: 1.1.1 + walk-sync: 3.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas + - supports-color + - utf-8-validate + optional: true + '@embroider/core@3.4.17(@glint/template@1.4.1-unstable.ff9ea6c)': dependencies: '@babel/core': 7.25.8(supports-color@8.1.1) @@ -12967,11 +13128,52 @@ snapshots: - supports-color - utf-8-validate + '@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c)': + dependencies: + '@babel/core': 7.25.8(supports-color@8.1.1) + '@babel/parser': 7.25.8 + '@babel/traverse': 7.25.7(supports-color@8.1.1) + '@embroider/macros': 1.16.9(@glint/template@1.4.1-unstable.ff9ea6c) + '@embroider/shared-internals': 2.8.1(supports-color@8.1.1) + assert-never: 1.3.0 + babel-plugin-ember-template-compilation: 2.3.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.3.7(supports-color@8.1.1) + 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 + js-string-escape: 1.0.1 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + semver: 7.6.3 + typescript-memoize: 1.1.1 + walk-sync: 3.0.0 + transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas + - supports-color + - utf-8-validate + optional: true + '@embroider/hbs-loader@3.0.3(@embroider/core@3.4.17(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0)': dependencies: '@embroider/core': 3.4.17(@glint/template@1.4.1-unstable.ff9ea6c) webpack: 5.95.0 + '@embroider/hbs-loader@3.0.3(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0)': + dependencies: + '@embroider/core': 3.4.19(@glint/template@1.4.1-unstable.ff9ea6c) + webpack: 5.95.0 + optional: true + '@embroider/macros@1.16.6(@glint/template@1.4.1-unstable.ff9ea6c)': dependencies: '@embroider/shared-internals': 2.6.3 @@ -13002,6 +13204,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@embroider/macros@1.16.9(@glint/template@1.4.1-unstable.ff9ea6c)': + dependencies: + '@embroider/shared-internals': 2.8.1(supports-color@8.1.1) + assert-never: 1.3.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.8 + semver: 7.6.3 + optionalDependencies: + '@glint/template': 1.4.1-unstable.ff9ea6c + transitivePeerDependencies: + - supports-color + optional: true + '@embroider/router@2.1.8(@embroider/core@3.4.17(@glint/template@1.4.1-unstable.ff9ea6c))': dependencies: '@ember/test-waiters': 3.1.0 @@ -13041,7 +13259,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@embroider/shared-internals@2.8.1': + '@embroider/shared-internals@2.8.1(supports-color@8.1.1)': dependencies: babel-import-util: 2.1.1 debug: 4.3.7(supports-color@8.1.1) @@ -13067,6 +13285,15 @@ snapshots: '@embroider/core': 3.4.17(@glint/template@1.4.1-unstable.ff9ea6c) '@embroider/webpack': 4.0.6(@embroider/core@3.4.17(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0) + '@embroider/test-setup@4.0.0(@embroider/compat@3.6.5(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(@glint/template@1.4.1-unstable.ff9ea6c))(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(@embroider/webpack@4.0.8(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0))': + dependencies: + lodash: 4.17.21 + resolve: 1.22.8 + optionalDependencies: + '@embroider/compat': 3.6.5(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(@glint/template@1.4.1-unstable.ff9ea6c) + '@embroider/core': 3.4.19(@glint/template@1.4.1-unstable.ff9ea6c) + '@embroider/webpack': 4.0.8(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0) + '@embroider/util@1.13.2(@glint/environment-ember-loose@1.4.1-unstable.ff9ea6c(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.0(@babel/core@7.25.8)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(rsvp@4.8.5)(webpack@5.95.0))))(@glint/template@1.4.1-unstable.ff9ea6c)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(rsvp@4.8.5)(webpack@5.95.0))': dependencies: '@embroider/macros': 1.16.7(@glint/template@1.4.1-unstable.ff9ea6c) @@ -13110,6 +13337,38 @@ snapshots: - canvas - utf-8-validate + '@embroider/webpack@4.0.8(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0)': + dependencies: + '@babel/core': 7.25.8(supports-color@8.1.1) + '@babel/preset-env': 7.25.8(@babel/core@7.25.8)(supports-color@8.1.1) + '@embroider/babel-loader-9': 3.1.1(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(supports-color@8.1.1)(webpack@5.95.0) + '@embroider/core': 3.4.19(@glint/template@1.4.1-unstable.ff9ea6c) + '@embroider/hbs-loader': 3.0.3(@embroider/core@3.4.19(@glint/template@1.4.1-unstable.ff9ea6c))(webpack@5.95.0) + '@embroider/shared-internals': 2.8.1(supports-color@8.1.1) + '@types/supports-color': 8.1.3 + assert-never: 1.3.0 + babel-loader: 8.4.1(@babel/core@7.25.8)(webpack@5.95.0) + css-loader: 5.2.7(webpack@5.95.0) + csso: 4.2.0 + debug: 4.3.7(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + fs-extra: 9.1.0 + jsdom: 25.0.1(supports-color@8.1.1) + lodash: 4.17.21 + mini-css-extract-plugin: 2.9.1(webpack@5.95.0) + semver: 7.6.3 + source-map-url: 0.4.1 + style-loader: 2.0.0(webpack@5.95.0) + supports-color: 8.1.1 + terser: 5.36.0 + thread-loader: 3.0.4(webpack@5.95.0) + webpack: 5.95.0 + transitivePeerDependencies: + - bufferutil + - canvas + - utf-8-validate + optional: true + '@esbuild/aix-ppc64@0.21.5': optional: true @@ -13925,7 +14184,67 @@ snapshots: - bluebird - supports-color - '@nullvoxpopuli/eslint-configs@4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@8.56.12)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3)': + '@nullvoxpopuli/eslint-configs@4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3)': + dependencies: + cosmiconfig: 9.0.0(typescript@5.6.3) + eslint: 8.57.1 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-decorator-position: 5.0.2(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-json: 3.1.0 + eslint-plugin-n: 17.11.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + eslint-plugin-simple-import-sort: 12.1.1(eslint@8.57.1) + prettier-plugin-ember-template-tag: 2.0.2(prettier@3.3.3) + optionalDependencies: + '@babel/core': 7.25.8(supports-color@8.1.1) + '@babel/eslint-parser': 7.25.8(@babel/core@7.25.8)(eslint@8.57.1) + '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.25.8) + '@typescript-eslint/eslint-plugin': 8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + eslint-plugin-ember: 12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) + eslint-plugin-qunit: 8.1.2(eslint@8.57.1) + prettier: 3.3.3 + transitivePeerDependencies: + - '@types/eslint' + - eslint-config-prettier + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + - typescript + + '@nullvoxpopuli/eslint-configs@4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3)': + dependencies: + cosmiconfig: 9.0.0(typescript@5.6.3) + eslint: 8.57.1 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-decorator-position: 5.0.2(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-json: 3.1.0 + eslint-plugin-n: 17.11.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + eslint-plugin-simple-import-sort: 12.1.1(eslint@8.57.1) + prettier-plugin-ember-template-tag: 2.0.2(prettier@3.3.3) + optionalDependencies: + '@babel/core': 7.25.8(supports-color@8.1.1) + '@babel/eslint-parser': 7.25.8(@babel/core@7.25.8)(eslint@8.57.1) + '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.25.8) + '@typescript-eslint/eslint-plugin': 8.10.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + eslint-plugin-ember: 12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) + eslint-plugin-qunit: 8.1.2(eslint@8.57.1) + prettier: 3.3.3 + transitivePeerDependencies: + - '@types/eslint' + - eslint-config-prettier + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + - typescript + + '@nullvoxpopuli/eslint-configs@4.2.0(@babel/core@7.25.8)(@babel/eslint-parser@7.25.8(@babel/core@7.25.8)(eslint@8.57.1))(@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8))(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-qunit@8.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)(typescript@5.6.3)': dependencies: cosmiconfig: 9.0.0(typescript@5.6.3) eslint: 8.57.1 @@ -13934,7 +14253,7 @@ snapshots: eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) eslint-plugin-json: 3.1.0 eslint-plugin-n: 17.11.1(eslint@8.57.1) - eslint-plugin-prettier: 5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + eslint-plugin-prettier: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) eslint-plugin-simple-import-sort: 12.1.1(eslint@8.57.1) prettier-plugin-ember-template-tag: 2.0.2(prettier@3.3.3) optionalDependencies: @@ -14380,6 +14699,12 @@ snapshots: '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + optional: true + '@types/estree@1.0.6': {} '@types/express-serve-static-core@4.19.6': @@ -14464,6 +14789,11 @@ snapshots: dependencies: undici-types: 6.19.8 + '@types/node@22.7.7': + dependencies: + undici-types: 6.19.8 + optional: true + '@types/node@9.6.61': {} '@types/object-path@0.11.4': {} @@ -14528,6 +14858,44 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/type-utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.10.0 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + optional: true + + '@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/type-utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.10.0 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.11.1 @@ -14546,6 +14914,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.10.0 + debug: 4.3.7(supports-color@8.1.1) + eslint: 8.57.1 + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 8.8.1 @@ -14559,11 +14941,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/scope-manager@8.10.0': + dependencies: + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/visitor-keys': 8.10.0 + optional: true + '@typescript-eslint/scope-manager@8.8.1': dependencies: '@typescript-eslint/types': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1 + '@typescript-eslint/type-utils@8.10.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + debug: 4.3.7(supports-color@8.1.1) + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - eslint + - supports-color + optional: true + '@typescript-eslint/type-utils@8.8.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) @@ -14576,8 +14977,27 @@ snapshots: - eslint - supports-color + '@typescript-eslint/types@8.10.0': + optional: true + '@typescript-eslint/types@8.8.1': {} + '@typescript-eslint/typescript-estree@8.10.0(typescript@5.6.3)': + dependencies: + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/visitor-keys': 8.10.0 + debug: 4.3.7(supports-color@8.1.1) + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 8.8.1 @@ -14593,6 +15013,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.10.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3) + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + - typescript + optional: true + '@typescript-eslint/utils@8.8.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) @@ -14604,6 +15036,12 @@ snapshots: - supports-color - typescript + '@typescript-eslint/visitor-keys@8.10.0': + dependencies: + '@typescript-eslint/types': 8.10.0 + eslint-visitor-keys: 3.4.3 + optional: true + '@typescript-eslint/visitor-keys@8.8.1': dependencies: '@typescript-eslint/types': 8.8.1 @@ -14638,13 +15076,13 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.2(vite@5.4.8(@types/node@22.7.5)(terser@5.34.1))': + '@vitest/mocker@2.1.2(vite@5.4.8(@types/node@22.7.7)(terser@5.36.0))': dependencies: '@vitest/spy': 2.1.2 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.8(@types/node@22.7.5)(terser@5.34.1) + vite: 5.4.8(@types/node@22.7.7)(terser@5.36.0) '@vitest/pretty-format@2.1.2': dependencies: @@ -14819,11 +15257,11 @@ snapshots: '@xmldom/xmldom@0.8.10': {} - '@xstate/inspect@0.8.0(ws@8.18.0)(xstate@4.35.4)': + '@xstate/inspect@0.8.0(ws@8.18.0)(xstate@5.18.2)': dependencies: fast-safe-stringify: 2.1.1 ws: 8.18.0 - xstate: 4.35.4 + xstate: 5.18.2 '@xtuc/ieee754@1.2.0': {} @@ -14870,6 +15308,9 @@ snapshots: acorn@8.12.1: {} + acorn@8.13.0: + optional: true + agent-base@4.3.0: dependencies: es6-promisify: 5.0.0 @@ -16573,7 +17014,7 @@ snapshots: '@babel/plugin-transform-class-static-block': 7.25.8(@babel/core@7.25.8)(supports-color@8.1.1) '@babel/preset-env': 7.25.8(@babel/core@7.25.8)(supports-color@8.1.1) '@embroider/macros': 1.16.7(@glint/template@1.4.1-unstable.ff9ea6c) - '@embroider/shared-internals': 2.8.1 + '@embroider/shared-internals': 2.8.1(supports-color@8.1.1) babel-loader: 8.4.1(@babel/core@7.25.8)(webpack@5.95.0) babel-plugin-ember-modules-api-polyfill: 3.5.0 babel-plugin-ember-template-compilation: 2.3.0 @@ -17065,6 +17506,20 @@ snapshots: - '@glint/template' - supports-color + ember-eslint-parser@0.5.2(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1): + dependencies: + '@babel/core': 7.25.8(supports-color@8.1.1) + '@babel/eslint-parser': 7.25.8(@babel/core@7.25.8)(eslint@8.57.1) + '@glimmer/syntax': 0.92.3 + content-tag: 2.0.2 + eslint-scope: 7.2.2 + html-tags: 3.3.1 + optionalDependencies: + '@typescript-eslint/parser': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + transitivePeerDependencies: + - eslint + optional: true + ember-eslint-parser@0.5.2(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1): dependencies: '@babel/core': 7.25.8(supports-color@8.1.1) @@ -17315,14 +17770,16 @@ snapshots: - supports-color - webpack - ember-statechart-component@6.1.2(@glint/template@1.4.1-unstable.ff9ea6c)(xstate@4.35.4): + ember-statechart-component@7.1.0(@babel/core@7.25.8)(@glimmer/component@1.1.2(@babel/core@7.25.8))(@glint/template@1.4.1-unstable.ff9ea6c)(xstate@5.18.2): dependencies: + '@ember/test-waiters': 3.1.0 '@embroider/addon-shim': 1.8.9 - ember-tracked-storage-polyfill: 1.0.0 - xstate: 4.35.4 - optionalDependencies: + '@glimmer/component': 1.1.2(@babel/core@7.25.8) '@glint/template': 1.4.1-unstable.ff9ea6c + decorator-transforms: 2.2.2(@babel/core@7.25.8) + xstate: 5.18.2 transitivePeerDependencies: + - '@babel/core' - supports-color ember-template-imports@3.4.2: @@ -17602,6 +18059,25 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.3.7(supports-color@8.1.1) + enhanced-resolve: 5.17.1 + eslint: 8.57.1 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + fast-glob: 3.3.2 + get-tsconfig: 4.8.1 + is-bun-module: 1.2.1 + is-glob: 4.0.3 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 @@ -17621,6 +18097,17 @@ snapshots: - eslint-import-resolver-webpack - supports-color + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: debug: 3.2.7 @@ -17645,6 +18132,25 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1): + dependencies: + '@ember-data/rfc395-data': 0.0.4 + css-tree: 2.3.1 + ember-eslint-parser: 0.5.2(@babel/core@7.25.8)(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) + ember-rfc176-data: 0.3.18 + eslint: 8.57.1 + eslint-utils: 3.0.0(eslint@8.57.1) + estraverse: 5.3.0 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + requireindex: 1.2.0 + snake-case: 3.0.4 + optionalDependencies: + '@typescript-eslint/parser': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + transitivePeerDependencies: + - '@babel/core' + optional: true + eslint-plugin-ember@12.2.1(@babel/core@7.25.8)(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1): dependencies: '@ember-data/rfc395-data': 0.0.4 @@ -17670,6 +18176,35 @@ snapshots: eslint: 8.57.1 eslint-compat-utils: 0.5.1(eslint@8.57.1) + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: '@nolyfill/array-includes@1.0.28' + array.prototype.findlastindex: '@nolyfill/array.prototype.findlastindex@1.0.24' + array.prototype.flat: '@nolyfill/array.prototype.flat@1.0.28' + array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.28' + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + hasown: '@nolyfill/hasown@1.0.29' + is-core-module: '@nolyfill/is-core-module@1.0.39' + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: '@nolyfill/object.fromentries@1.0.28' + object.groupby: '@nolyfill/object.groupby@1.0.24' + object.values: '@nolyfill/object.values@1.0.28' + semver: 6.3.1 + string.prototype.trimend: '@nolyfill/string.prototype.trimend@1.0.28' + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.10.0(eslint@8.57.1)(typescript@5.6.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 @@ -17716,14 +18251,14 @@ snapshots: minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-prettier@5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): dependencies: eslint: 8.57.1 prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 optionalDependencies: - '@types/eslint': 8.56.12 + '@types/eslint': 9.6.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) eslint-plugin-qunit@8.1.2(eslint@8.57.1): @@ -22203,6 +22738,14 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 + terser@5.36.0: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.13.0 + commander: 2.20.3 + source-map-support: 0.5.21 + optional: true + testem-failure-only-reporter@1.0.0(handlebars@4.7.8)(underscore@1.13.7): dependencies: testem: 3.15.2(handlebars@4.7.8)(underscore@1.13.7) @@ -22837,12 +23380,12 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.2(@types/node@22.7.5)(terser@5.34.1): + vite-node@2.1.2(@types/node@22.7.7)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 - vite: 5.4.8(@types/node@22.7.5)(terser@5.34.1) + vite: 5.4.8(@types/node@22.7.7)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - less @@ -22854,20 +23397,20 @@ snapshots: - supports-color - terser - vite@5.4.8(@types/node@22.7.5)(terser@5.34.1): + vite@5.4.8(@types/node@22.7.7)(terser@5.36.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.24.0 optionalDependencies: - '@types/node': 22.7.5 + '@types/node': 22.7.7 fsevents: 2.3.3 - terser: 5.34.1 + terser: 5.36.0 - vitest@2.1.2(@types/node@22.7.5)(jsdom@25.0.1)(terser@5.34.1): + vitest@2.1.2(@types/node@22.7.7)(jsdom@25.0.1)(terser@5.36.0): dependencies: '@vitest/expect': 2.1.2 - '@vitest/mocker': 2.1.2(vite@5.4.8(@types/node@22.7.5)(terser@5.34.1)) + '@vitest/mocker': 2.1.2(vite@5.4.8(@types/node@22.7.7)(terser@5.36.0)) '@vitest/pretty-format': 2.1.2 '@vitest/runner': 2.1.2 '@vitest/snapshot': 2.1.2 @@ -22882,11 +23425,11 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.8(@types/node@22.7.5)(terser@5.34.1) - vite-node: 2.1.2(@types/node@22.7.5)(terser@5.34.1) + vite: 5.4.8(@types/node@22.7.7)(terser@5.36.0) + vite-node: 2.1.2(@types/node@22.7.7)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.7.5 + '@types/node': 22.7.7 jsdom: 25.0.1(supports-color@8.1.1) transitivePeerDependencies: - less @@ -23222,7 +23765,7 @@ snapshots: xmlchars@2.2.0: {} - xstate@4.35.4: {} + xstate@5.18.2: {} y18n@5.0.8: {}