From 9c751695c61af625f45b2212bd2b39f74ff2bce9 Mon Sep 17 00:00:00 2001 From: Zoe Codez Date: Thu, 7 Nov 2024 18:17:28 -0600 Subject: [PATCH] fixes --- package.json | 12 +- src/extensions/components/index.ts | 2 +- .../components/menu-component.extension.ts | 36 ++ ...ts => object-builder-component.service.ts} | 3 + ...or.extension.ts => date-editor.service.ts} | 46 ++- src/extensions/editors/index.ts | 2 +- .../editors/string-editor.extension.ts | 8 + src/extensions/keyboard-manager.extension.ts | 1 + src/extensions/prompts.extension.ts | 2 +- src/helpers/object-builder.ts | 14 +- yarn.lock | 358 +++++++++--------- 11 files changed, 289 insertions(+), 195 deletions(-) rename src/extensions/components/{object-builder-component.extension.ts => object-builder-component.service.ts} (99%) rename src/extensions/editors/{date-editor.extension.ts => date-editor.service.ts} (96%) diff --git a/package.json b/package.json index 0ee1101..8975274 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "name": "@digital-alchemy/terminal", "repository": "https://github.com/Digital-Alchemy-TS/terminal", "homepage": "https://docs.digital-alchemy.app", - "version": "24.9.1", + "version": "24.11.1", "scripts": { "build": "tsc", "test": "./scripts/test.sh", @@ -40,7 +40,7 @@ "@digital-alchemy/utils": "*" }, "devDependencies": { - "@cspell/eslint-plugin": "^8.15.7", + "@cspell/eslint-plugin": "^8.16.0", "@digital-alchemy/core": "^24.10.8", "@digital-alchemy/utils": "^24.9.1", "@eslint/compat": "^1.2.2", @@ -51,10 +51,10 @@ "@types/js-yaml": "^4.0.9", "@types/minimist": "^1.2.5", "@types/mute-stream": "^0.0.4", - "@types/node": "^22.8.7", + "@types/node": "^22.9.0", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "8.12.2", - "@typescript-eslint/parser": "8.12.2", + "@typescript-eslint/eslint-plugin": "8.13.0", + "@typescript-eslint/parser": "8.13.0", "eslint": "9.14.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "^2.31.0", @@ -66,7 +66,7 @@ "eslint-plugin-sonarjs": "^2.0.4", "eslint-plugin-sort-keys-fix": "^1.1.2", "eslint-plugin-unicorn": "^56.0.0", - "globals": "^15.11.0", + "globals": "^15.12.0", "jest": "^29.7.0", "jest-environment-node": "^29.7.0", "prettier": "^3.3.3", diff --git a/src/extensions/components/index.ts b/src/extensions/components/index.ts index 94ce312..508263f 100644 --- a/src/extensions/components/index.ts +++ b/src/extensions/components/index.ts @@ -2,5 +2,5 @@ export * from "./acknowledge-component.extension"; export * from "./array-builder.extension"; export * from "./confirm-component.extension"; export * from "./menu-component.extension"; -export * from "./object-builder-component.extension"; +export * from "./object-builder-component.service"; export * from "./pick-many-component.extension"; diff --git a/src/extensions/components/menu-component.extension.ts b/src/extensions/components/menu-component.extension.ts index d205855..20f60a5 100644 --- a/src/extensions/components/menu-component.extension.ts +++ b/src/extensions/components/menu-component.extension.ts @@ -177,6 +177,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Run callbacks from the keyMap */ + // #MARK: activateKeyMap async function activateKeyMap(mixed: string, modifiers: KeyModifiers): Promise { const { keyMap, keyMapCallback: callback } = opt; const entry = findKeyEntry(keyMap, mixed); @@ -232,6 +233,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Move the cursor to the bottom of the list */ + // #MARK: bottom function bottom(): void { const list = side(selectedType); value = GV(list[list.length - ARRAY_OFFSET].entry); @@ -243,6 +245,7 @@ export function Menu({ config, terminal, internal }: TServicePa * * mode: "select" */ + // #MARK: navigateSearch function navigateSearch(key: string): void { // * Grab list of items from current side const all = side(selectedType); @@ -277,6 +280,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Move down 1 entry */ + // #MARK: next function next(): void { setImmediate(() => component.render(false)); const list = side(selectedType); @@ -296,6 +300,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * on left key press - attempt to move to left menu */ + // #MARK: onLeft function onLeft(): void { if (is.empty(opt.left) || selectedType === "left") { return; @@ -308,6 +313,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * On right key press - attempt to move editor to right side */ + // #MARK: onRight function onRight(): void { if (is.empty(opt.right) || selectedType === "right") { return; @@ -317,6 +323,7 @@ export function Menu({ config, terminal, internal }: TServicePa component.render(false); } + // #MARK: onSearchFindInputKeyPress function onSearchFindInputKeyPress(key: string) { let update = false; setImmediate(() => component.render(update)); @@ -391,6 +398,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Key handler for widget while in search mode */ + // #MARK: onSearchKeyPress function onSearchKeyPress(key: string): void { let update = false; setImmediate(() => component.render(update)); @@ -464,6 +472,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Attempt to move up 1 item in the active list */ + // #MARK: previous function previous(): void { setImmediate(() => component.render(false)); const list = side(selectedType); @@ -483,6 +492,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Simple toggle function */ + // #MARK: toggleFind function toggleFind(): void { mode = mode === "select" ? FIND_INPUT : "select"; if (mode === "select") { @@ -515,6 +525,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Move cursor to the top of the current list */ + // #MARK: top function top(): void { const list = side(selectedType); value = GV(list[FIRST].entry); @@ -529,6 +540,7 @@ export function Menu({ config, terminal, internal }: TServicePa * * The goal is to maintain as much functionality as possible as the screen shrinks */ + // #MARK: assembleMessage function assembleMessage(construction: MenuConstruction): string { let height = terminal.environment.getHeight(); let caught = false; @@ -555,6 +567,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Auto detect selectedType based on the current value */ + // #MARK: detectSide function detectSide(): void { const isLeftSide = side("left").some(i => GV(i.entry) === value); selectedType = isLeftSide ? "left" : "right"; @@ -570,6 +583,7 @@ export function Menu({ config, terminal, internal }: TServicePa * { entry: ["combined"] } * ``` */ + // #MARK: filterMenu function filterMenu( data: MainMenuEntry[], side: LR, @@ -642,6 +656,7 @@ export function Menu({ config, terminal, internal }: TServicePa return highlighted; } + // #MARK: transferCursor function transferCursor() { const { left, right } = filteredRangedSides(); const leftRange = visualRange(left); @@ -657,6 +672,7 @@ export function Menu({ config, terminal, internal }: TServicePa .find((item, index) => index >= reversedIndex && item !== BLANK_SPACE) as VALUE; } + // #MARK: filteredRangedSides function filteredRangedSides() { let [right, left] = [side("right"), side("left")]; @@ -675,6 +691,7 @@ export function Menu({ config, terminal, internal }: TServicePa }; } + // #MARK: visualRange function visualRange(list: MainMenuEntry[]) { let previous: string | symbol; return list.flatMap(i => { @@ -686,6 +703,7 @@ export function Menu({ config, terminal, internal }: TServicePa }); } + // #MARK: findKeyEntry function findKeyEntry(map: KeyMap, key: string) { if (map[key]) { return map[key]; @@ -703,6 +721,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * The final frame of a menu, informing what happened */ + // #MARK: renderFinal function renderFinal() { const item = selectedEntry(); let message = terminal.text.mergeHelp("", item); @@ -721,6 +740,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Rendering for search mode */ + // #MARK: renderFind function renderFind(updateValue = false): void { searchCache.old = searchCache.current; searchCache.current = { @@ -765,6 +785,7 @@ export function Menu({ config, terminal, internal }: TServicePa /** * Rendering for standard keyboard navigation */ + // #MARK: renderSelect function renderSelect() { const construction = {} as MenuConstruction; @@ -827,6 +848,7 @@ export function Menu({ config, terminal, internal }: TServicePa terminal.screen.render(message); } + // #MARK: renderSelectKeymap function renderSelectKeymap() { const prefix = Object.keys(opt.keyMap).map(key => { let item = opt.keyMap[key]; @@ -875,6 +897,7 @@ export function Menu({ config, terminal, internal }: TServicePa * Render a menu from a side */ + // #MARK: renderSide function renderSide( side: "left" | "right" = selectedType, header = opt.showHeaders, @@ -948,6 +971,7 @@ export function Menu({ config, terminal, internal }: TServicePa return out; } + // #MARK: renderSideHeader function renderSideHeader(side: "left" | "right", max: number): string { const padding = " ".repeat(headerPadding); if (side === "left") { @@ -956,6 +980,7 @@ export function Menu({ config, terminal, internal }: TServicePa return `${padding}${rightHeader}`.padEnd(max, " "); } + // #MARK: renderSideSetup function renderSideSetup(selected: "left" | "right" = selectedType, updateValue = false) { const out: MainMenuEntry[] = []; let menu = side(selected); @@ -1018,6 +1043,7 @@ export function Menu({ config, terminal, internal }: TServicePa }); } + // #MARK: selectedEntry function selectedEntry(): MainMenuEntry { const values = Object.values(opt.keyMap); return [ @@ -1027,6 +1053,7 @@ export function Menu({ config, terminal, internal }: TServicePa ].find(item => GV(item.entry) === value); } + // #MARK: setKeymap function setKeymap(): void { // show if keyOnly, or falsy condensed const hidden = opt.keyOnly || opt.condensed; @@ -1070,6 +1097,7 @@ export function Menu({ config, terminal, internal }: TServicePa terminal.keyboard.setKeymap(component, keymap); } + // #MARK: setValue // eslint-disable-next-line sonarjs/cognitive-complexity async function setValue(incoming: VALUE, restore: MenuRestore): Promise { value = undefined; @@ -1138,6 +1166,7 @@ export function Menu({ config, terminal, internal }: TServicePa * - Items sorted within types, priority first, then ansi stripped label */ + // #MARK: side function side(side: "left" | "right"): MainMenuEntry[] { let temp = opt[side].map(item => [ item, @@ -1171,6 +1200,7 @@ export function Menu({ config, terminal, internal }: TServicePa return temp.map(([item]) => item as MainMenuEntry); } + // #MARK: const component = terminal.registry.registerComponent("menu", { async configure( config: MenuComponentOptions, @@ -1205,6 +1235,12 @@ export function Menu({ config, terminal, internal }: TServicePa opt.right.forEach(i => (i.type ??= "")); opt.keyMap ??= {}; + // rename + if (opt.keyMap.esc) { + opt.keyMap.escape = opt.keyMap.esc; + delete opt.keyMap.esc; + } + done = isDone; // * Set local properties based on config diff --git a/src/extensions/components/object-builder-component.extension.ts b/src/extensions/components/object-builder-component.service.ts similarity index 99% rename from src/extensions/components/object-builder-component.extension.ts rename to src/extensions/components/object-builder-component.service.ts index fc146c0..b763f27 100644 --- a/src/extensions/components/object-builder-component.extension.ts +++ b/src/extensions/components/object-builder-component.service.ts @@ -224,6 +224,9 @@ export function ObjectBuilder< case "date": { updated = await terminal.prompt.date({ current: current as string, + dateType: column.dateType, + defaultStyle: column.defaultStyle, + fuzzy: column.fuzzy, label: column.name, }); break; diff --git a/src/extensions/editors/date-editor.extension.ts b/src/extensions/editors/date-editor.service.ts similarity index 96% rename from src/extensions/editors/date-editor.extension.ts rename to src/extensions/editors/date-editor.service.ts index b806e6e..45487c8 100644 --- a/src/extensions/editors/date-editor.extension.ts +++ b/src/extensions/editors/date-editor.service.ts @@ -52,7 +52,7 @@ export interface DateEditorEditorOptions { */ helpNotes?: string | ((current: Date | Date[]) => string); label?: string; - type?: tDateType; + dateType?: tDateType; } // TODO: There is probably a way to make dayjs give me this info @@ -110,6 +110,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { let type: tDateType; let value: dayjs.Dayjs | dayjs.Dayjs[]; + // #MARK: notes function notes(): string { const { helpNotes } = opt; if (is.string(helpNotes)) { @@ -124,10 +125,12 @@ export function DateEditor({ terminal, config }: TServiceParams) { return `\n `; } + // #MARK: editField function editField() { - return end ? VALUES : END_VALUES; + return end ? END_VALUES : VALUES; } + // #MARK: editType function editType(key: string) { setImmediate(() => editor.render()); error = ""; @@ -167,6 +170,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { } } + // #MARK: onDown function onDown() { setImmediate(() => editor.render()); error = ""; @@ -188,6 +192,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { } } + // #MARK: onEnd function onEnd(): void | boolean { if (type == "range") { editor.render(); @@ -225,9 +230,22 @@ export function DateEditor({ terminal, config }: TServiceParams) { ); complete = true; editor.render(); - done(value.toISOString()); + switch (type) { + case "date": { + done(dayjs(value).startOf("day").toISOString()); + return; + } + case "time": { + done(value.toISOString()); + return; + } + case "datetime": { + done(value.toISOString()); + } + } } + // #MARK: onKeyPress function onKeyPress(key: string, { shift }: KeyModifiers) { setImmediate(() => editor.render()); error = ""; @@ -280,6 +298,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { cursor++; } + // #MARK: onLeft function onLeft(): void { const field = editField(); error = ""; @@ -293,6 +312,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { editor.render(); } + // #MARK: onRight function onRight(): void { const field = editField(); error = ""; @@ -306,6 +326,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { editor.render(); } + // #MARK: onUp function onUp(): void { const field = editField(); error = ""; @@ -323,24 +344,28 @@ export function DateEditor({ terminal, config }: TServiceParams) { editor.render(); } + // #MARK: reset function reset(): void { localDirty = false; chronoText = ""; editor.render(); } + // #MARK: setEnd function setEnd(): void { edit = "second"; localDirty = false; editor.render(); } + // #MARK: setHome function setHome(): void { edit = type === "time" ? "hour" : "year"; localDirty = false; editor.render(); } + // #MARK: setMax function setMax(): void { setImmediate(() => editor.render()); const field = editField(); @@ -370,6 +395,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { } } + // #MARK: setMin function setMin(): void { setImmediate(() => editor.render()); const field = editField(); @@ -391,6 +417,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { } } + // #MARK: toggleChrono function toggleChrono(): void { error = ""; fuzzy = !fuzzy; @@ -398,11 +425,13 @@ export function DateEditor({ terminal, config }: TServiceParams) { editor.render(); } + // #MARK: toggleRangeSide function toggleRangeSide(): void { end = !end; editor.render(); } + // #MARK: onEndRange function onEndRange(): boolean | void { if (fuzzy) { if (is.empty(chronoText)) { @@ -447,6 +476,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { return false; } + // #MARK: renderChronoBox function renderChronoBox(): void { const placeholder = type === "range" ? DEFAULT_RANGE_PLACEHOLDER : DEFAULT_PLACEHOLDER; const value = is.empty(chronoText) ? placeholder : chronoText; @@ -491,6 +521,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { ); } + // #MARK: renderComplete function renderComplete(): void { let message = ``; if (is.array(value)) { @@ -524,6 +555,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { * TODO: refactor these render sections methods into something more sane * This is super ugly */ + // #MARK: renderRangeSections // eslint-disable-next-line sonarjs/cognitive-complexity function renderRangeSections(): void { let message = template( @@ -614,6 +646,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { ); } + // #MARK: renderSections // eslint-disable-next-line sonarjs/cognitive-complexity function renderSections(): void { let message = template( @@ -666,6 +699,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { ); } + // #MARK: sanityCheck function sanityCheck(update: string): boolean { const value = Number(update); switch (edit) { @@ -692,6 +726,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { return false; } + // #MARK: setKeymap function setKeymap() { const FUZZY_KEYMAP: TTYComponentKeymap = new Map([ [{ catchAll: true, description: "key press", powerUser: true }, onKeyPress], @@ -737,6 +772,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { terminal.keyboard.setKeymap(editor, fuzzy ? FUZZY_KEYMAP : NORMAL_KEYMAP); } + // #MARK: updateMonth function updateMonth(): void { // Because I'm consistent like that const limit = MONTH_MAX.get(Number(VALUES.month)) ?? 28; @@ -746,6 +782,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { } } + // #MARK: const editor = terminal.registry.registerEditor("date", { configure(config: DateEditorEditorOptions, onDone: (type: unknown) => void): void { error = ""; @@ -754,7 +791,7 @@ export function DateEditor({ terminal, config }: TServiceParams) { opt = config; config.fuzzy ??= "user"; config.defaultStyle ??= config.fuzzy === "never" ? "granular" : "fuzzy"; - type = config.type ?? "datetime"; + type = config.dateType ?? "datetime"; // default off // ? Make that @InjectConfig controlled? fuzzy = @@ -768,7 +805,6 @@ export function DateEditor({ terminal, config }: TServiceParams) { const start = is.array(value) ? (value[START] as Dayjs) : value; edit = type === "time" ? "hour" : "year"; const end = is.array(value) ? ((value[VALUE] ?? value[START]) as Dayjs) : value; - // const { year, month, day, minute, hour, second } = VALUES; const [year, month, day, hour, minute, second] = start .format("YYYY-MM-DD-HH-mm-ss") diff --git a/src/extensions/editors/index.ts b/src/extensions/editors/index.ts index 85c8bad..fa204dd 100644 --- a/src/extensions/editors/index.ts +++ b/src/extensions/editors/index.ts @@ -1,4 +1,4 @@ -export * from "./date-editor.extension"; +export * from "./date-editor.service"; export * from "./number-editor.extension"; export * from "./password-editor.extension"; export * from "./string-editor.extension"; diff --git a/src/extensions/editors/string-editor.extension.ts b/src/extensions/editors/string-editor.extension.ts index 2c5d200..8ea9e85 100644 --- a/src/extensions/editors/string-editor.extension.ts +++ b/src/extensions/editors/string-editor.extension.ts @@ -37,28 +37,33 @@ export function StringEditor({ terminal, config }: TServiceParams) { let initial: boolean; let value: string; + // #MARK: cancel function cancel(): void { value = opt.current; onEnd(); } + // #MARK: clear function clear(): void { value = ""; cursor = START; editor.render(); } + // #MARK: external function external() { value = terminal.prompt.external({ text: value }); return onEnd(); } + // #MARK: onEnd function onEnd() { complete = true; editor.render(); done(value); } + // #MARK: onKeyPress function onKeyPress(key: string, { shift }: KeyModifiers) { setImmediate(() => editor.render()); switch (key) { @@ -108,12 +113,14 @@ export function StringEditor({ terminal, config }: TServiceParams) { cursor++; } + // #MARK: reset function reset(): void { value = opt.current ?? ""; cursor = value.length; editor.render(); } + // #MARK: renderBox function renderBox(bgColor: string, cursorValue = cursor): void { const placeholder = opt.placeholder ?? DEFAULT_PLACEHOLDER; let current = is.empty(value) ? placeholder : value; @@ -146,6 +153,7 @@ export function StringEditor({ terminal, config }: TServiceParams) { ); } + // #MARK: const editor = terminal.registry.registerEditor("string", { configure(options: StringEditorRenderOptions, onDone: (type: unknown) => void) { options.width ??= config.terminal.DEFAULT_PROMPT_WIDTH; diff --git a/src/extensions/keyboard-manager.extension.ts b/src/extensions/keyboard-manager.extension.ts index e7f5107..c7b5bc4 100644 --- a/src/extensions/keyboard-manager.extension.ts +++ b/src/extensions/keyboard-manager.extension.ts @@ -13,6 +13,7 @@ export function KeyboardManager({ terminal, lifecycle }: TServiceParams) { }); }); + // #MARK: keyPressHandler async function keyPressHandler(descriptor: KeyDescriptor): Promise { if (is.empty(activeKeymaps)) { return; diff --git a/src/extensions/prompts.extension.ts b/src/extensions/prompts.extension.ts index ae96e1e..942b60a 100644 --- a/src/extensions/prompts.extension.ts +++ b/src/extensions/prompts.extension.ts @@ -299,8 +299,8 @@ export async function Prompts({ terminal, logger, config }: TServiceParams) { }: PromptTimeOptions = {}): Promise { return await prompts.date({ current: current.toISOString(), + dateType: "time", label, - type: "time", }); }, diff --git a/src/helpers/object-builder.ts b/src/helpers/object-builder.ts index 8fc3616..8d2d83d 100644 --- a/src/helpers/object-builder.ts +++ b/src/helpers/object-builder.ts @@ -1,5 +1,6 @@ import { Get } from "type-fest"; +import { TTYDateTypes, TTYFuzzyTypes } from "../extensions"; import { MainMenuEntry } from "./keyboard"; // * @@ -28,10 +29,19 @@ export type TableBuilderElement< path: PATH; format?(value: T): string; } & ( - | { default?: ObjectBuilderDefault; type: "string" } + | { + default?: ObjectBuilderDefault; + type: "string"; + } | { default?: ObjectBuilderDefault; type: "boolean" } | { default?: ObjectBuilderDefault; type: "number" } - | { default?: ObjectBuilderDefault; type: "date" } + | { + default?: ObjectBuilderDefault; + type: "date"; + fuzzy?: `${TTYFuzzyTypes}`; + defaultStyle?: "fuzzy" | "granular"; + dateType?: `${TTYDateTypes}`; + } | { default?: ObjectBuilderDefault, VALUE>; options: MainMenuEntry>[]; diff --git a/yarn.lock b/yarn.lock index 9638f55..d3a50e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1930,16 +1930,16 @@ __metadata: languageName: node linkType: hard -"@cspell/cspell-bundled-dicts@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/cspell-bundled-dicts@npm:8.15.7" +"@cspell/cspell-bundled-dicts@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/cspell-bundled-dicts@npm:8.16.0" dependencies: "@cspell/dict-ada": "npm:^4.0.5" "@cspell/dict-al": "npm:^1.0.3" "@cspell/dict-aws": "npm:^4.0.7" "@cspell/dict-bash": "npm:^4.1.8" "@cspell/dict-companies": "npm:^3.1.7" - "@cspell/dict-cpp": "npm:^6.0.0" + "@cspell/dict-cpp": "npm:^6.0.1" "@cspell/dict-cryptocurrencies": "npm:^5.0.3" "@cspell/dict-csharp": "npm:^4.0.5" "@cspell/dict-css": "npm:^4.0.16" @@ -1972,8 +1972,8 @@ __metadata: "@cspell/dict-makefile": "npm:^1.0.3" "@cspell/dict-markdown": "npm:^2.0.7" "@cspell/dict-monkeyc": "npm:^1.0.9" - "@cspell/dict-node": "npm:^5.0.4" - "@cspell/dict-npm": "npm:^5.1.9" + "@cspell/dict-node": "npm:^5.0.5" + "@cspell/dict-npm": "npm:^5.1.11" "@cspell/dict-php": "npm:^4.0.13" "@cspell/dict-powershell": "npm:^5.0.13" "@cspell/dict-public-licenses": "npm:^2.0.11" @@ -1982,44 +1982,44 @@ __metadata: "@cspell/dict-ruby": "npm:^5.0.7" "@cspell/dict-rust": "npm:^4.0.9" "@cspell/dict-scala": "npm:^5.0.6" - "@cspell/dict-software-terms": "npm:^4.1.12" + "@cspell/dict-software-terms": "npm:^4.1.13" "@cspell/dict-sql": "npm:^2.1.8" "@cspell/dict-svelte": "npm:^1.0.5" "@cspell/dict-swift": "npm:^2.0.4" "@cspell/dict-terraform": "npm:^1.0.6" "@cspell/dict-typescript": "npm:^3.1.11" "@cspell/dict-vue": "npm:^3.0.3" - checksum: 10/da4edc0b096315715fe4faaaee33c127b5492388f796f80d608cf9f55b8d663f74f934a58ce92bca5c44e152bb845672eafb2f8324047fa0120246f81fc0a6d9 + checksum: 10/b872bb95358ba41812476f432ecd573becc580f43e0377e0d8da9f0028eaa39211eda05d5f0502d8d8562b806a9b6e743b4000a5a2eafccbe724cf0803f14121 languageName: node linkType: hard -"@cspell/cspell-pipe@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/cspell-pipe@npm:8.15.7" - checksum: 10/8aa8a987b598f87ac0172314481f4ae3ef7cbf70336bcca802bb8bc4cf56c7e604c0802f7053f83ef1e75a179118cd90e0a1c720975ffcdc914ec3cc79fbc904 +"@cspell/cspell-pipe@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/cspell-pipe@npm:8.16.0" + checksum: 10/4f6cac2463443c19207061688d4560505ec667c684cbbd6f9d5b92f41fbf7a6aa246adbf5f73000e34262ef529cde97b9a38ff75f3af4730486f0d95302dad2c languageName: node linkType: hard -"@cspell/cspell-resolver@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/cspell-resolver@npm:8.15.7" +"@cspell/cspell-resolver@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/cspell-resolver@npm:8.16.0" dependencies: global-directory: "npm:^4.0.1" - checksum: 10/8d2136bdbab6ed772f98c26b7c8960d178211d8f28475d2af6c45bc7de1ffbd15096221a0b306b499b23746dbb7fb5061f832afcebed73cb52020025f7761822 + checksum: 10/1ca62a507d9298ed409848973ce916f579988d690e34209f19e7ef58e8fc1ac111f419cf2ad3f390d387da045002c850cd9d94f3d2a63ceb226c6f3af83a499d languageName: node linkType: hard -"@cspell/cspell-service-bus@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/cspell-service-bus@npm:8.15.7" - checksum: 10/3dc40648c3e97d98ee57606e69cdf6f4b1308af2998cd492e398c076dc2bfdb89b4452eed4559b4844ec3dd5203b79fb4b855d7ab4a1e5b998a7df7ffdf03fda +"@cspell/cspell-service-bus@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/cspell-service-bus@npm:8.16.0" + checksum: 10/1cefdc51a131c7c1bd9655345fecadde0bc6bb30d977f9ce7a6b29ad6e5ab2dbb97dfc9c620d5c95d3f06cac8bfabb9b2b13dff731abe103351411012aebf71c languageName: node linkType: hard -"@cspell/cspell-types@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/cspell-types@npm:8.15.7" - checksum: 10/b2dc7758aabf53c98c756a4ccf1130fd2a43e61799eb74e34ec8e86901c9dc297d9f18bd9de7d18a1836abf69a7f4b3ca029953cd0072bf35145f40e38949b30 +"@cspell/cspell-types@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/cspell-types@npm:8.16.0" + checksum: 10/981d5506e62558683b17b900d197fbb439335232aec68871c7911e1595252c1637140a2b4949cd523e4e44eaa7ac4f58a65cc5fccf0230031b9698720f65d6cc languageName: node linkType: hard @@ -2058,10 +2058,10 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-cpp@npm:^6.0.0": - version: 6.0.0 - resolution: "@cspell/dict-cpp@npm:6.0.0" - checksum: 10/8c21e9647da1e1233ebff988b98bb411683e3440afb3791d01acb732a8ce84b2b7b64e296ccce7e2c65697927d989d5ef1ac74a009ddad90360105899d7fefad +"@cspell/dict-cpp@npm:^6.0.1": + version: 6.0.2 + resolution: "@cspell/dict-cpp@npm:6.0.2" + checksum: 10/2c18e409634654fcb013787820d0b2dff9211971ade286e436d56fa6abcf9b9cd555c1846a3fe7866f9be8daf9c6660ed783ce0462fe4076ca722bed7e201857 languageName: node linkType: hard @@ -2301,17 +2301,17 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-node@npm:^5.0.4": - version: 5.0.4 - resolution: "@cspell/dict-node@npm:5.0.4" - checksum: 10/7385631c352952ff3d1fcb17194b890aa7cdda1d99bdd9ea001307bd728409f4aa8005ee6bac3b5ab084f073e7337e50f9a56498ece2507e515d4be2a578f7eb +"@cspell/dict-node@npm:^5.0.5": + version: 5.0.5 + resolution: "@cspell/dict-node@npm:5.0.5" + checksum: 10/bb19c9953aa3558ac798ca05e35b0f0a36683e27cc8b5630282abbab609aeed7805c96085b7cce3b4cc0c2d66ac51b11f27d38bbaec5380d00c0b91959fffff0 languageName: node linkType: hard -"@cspell/dict-npm@npm:^5.1.9": - version: 5.1.9 - resolution: "@cspell/dict-npm@npm:5.1.9" - checksum: 10/cba01a09df138833b83b953c7d43e442ebb4e844744168694c656b9568c088be729effec6a4a0d17030fd13e5e08dba75dbfb37a27ba5e73c5be03069cc47c67 +"@cspell/dict-npm@npm:^5.1.11": + version: 5.1.11 + resolution: "@cspell/dict-npm@npm:5.1.11" + checksum: 10/ac52b7c024bc48bd50cf4208d4d1c5d646445c31041f6f277c462b561cd1d0e7ae6431035f3c8bca3c2c593bc68ecf4888b961452efe5b5187eba5c0e44c62f0 languageName: node linkType: hard @@ -2373,10 +2373,10 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-software-terms@npm:^4.1.12": - version: 4.1.12 - resolution: "@cspell/dict-software-terms@npm:4.1.12" - checksum: 10/cca867d6a6625b3c15b42905ea1e23ed8e56ff3b91f855ef73c3abf8d3e11000a5e0e3362637a5b15b2faf1a3bcd49dadfb26c5c83e2741939bcf88b39615ba4 +"@cspell/dict-software-terms@npm:^4.1.13": + version: 4.1.13 + resolution: "@cspell/dict-software-terms@npm:4.1.13" + checksum: 10/74f65d35b727505c626a3323052c2cef6a95cb5052b92ff8e6abe29172358889f2007336034a7fd9cb86ead314ff93400d421a99eadc37ee43faad8b6b2e86b5 languageName: node linkType: hard @@ -2422,47 +2422,47 @@ __metadata: languageName: node linkType: hard -"@cspell/dynamic-import@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/dynamic-import@npm:8.15.7" +"@cspell/dynamic-import@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/dynamic-import@npm:8.16.0" dependencies: import-meta-resolve: "npm:^4.1.0" - checksum: 10/de5a4c5a9a959c86a9282a26d0a01e43d31db9ce7c7165d6d35afc38fab27d404485279557ecf94d56b24f1b844d94ac24c108ffe6ede697eb67d060ced6eb19 + checksum: 10/8d5f764b029baf9c64ae6513e8160fe73a5465283fe86bdcfe807ba22e6869eb0fec0cd5a7c7061900683272d1d5f5c8e5ec7b864ad5ddccfdd8c5947bb16a08 languageName: node linkType: hard -"@cspell/eslint-plugin@npm:^8.15.7": - version: 8.15.7 - resolution: "@cspell/eslint-plugin@npm:8.15.7" +"@cspell/eslint-plugin@npm:^8.16.0": + version: 8.16.0 + resolution: "@cspell/eslint-plugin@npm:8.16.0" dependencies: - "@cspell/cspell-types": "npm:8.15.7" - "@cspell/url": "npm:8.15.7" - cspell-lib: "npm:8.15.7" + "@cspell/cspell-types": "npm:8.16.0" + "@cspell/url": "npm:8.16.0" + cspell-lib: "npm:8.16.0" synckit: "npm:^0.9.2" peerDependencies: eslint: ^7 || ^8 || ^9 - checksum: 10/8069238aa230c4e288923ad271f277df0de5a9ce2ec5629f2e77d52552c59a0083a21f29c859d77b221dcf90fe5ebb678c3c8ca1bf6e6f683e858e11989a3a0f + checksum: 10/3be4871ae79af9a7f2aa2f352ce94e160db68ee5ab62039b686bb8f579400422dcdfb7aa00fba2a7b3c20437c5a52750ba1d4a061a3c3c8d6a1eea9f5d1b0a1b languageName: node linkType: hard -"@cspell/filetypes@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/filetypes@npm:8.15.7" - checksum: 10/16831ae8060824c3b4225aa94fa07fc174cdabf4753b4f363bc12497b8b9e0348515ed14b9c48e08de615803ff8a9d88360ef48ad05f5fe780ee5d82312115a4 +"@cspell/filetypes@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/filetypes@npm:8.16.0" + checksum: 10/fa4641db833f1865ab95ffaec625a390149e26a615cf9f4182afeff858506a9b547e9d65c57968dcb1b1007e44e3be7a34955d597a04ccadb3106e8a0ec6df39 languageName: node linkType: hard -"@cspell/strong-weak-map@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/strong-weak-map@npm:8.15.7" - checksum: 10/efb8173346a62547304cda9c7479f69c7e501844e68d3eaa30bd8e58fc7c689a82551005d4be476ce5b6d2b881f01379f3a13f9eb639bca76916dd9a7edf1174 +"@cspell/strong-weak-map@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/strong-weak-map@npm:8.16.0" + checksum: 10/cc9a2b8f9059fed5d440f29023376d416a2a9e08116facd7b494feacea3e9129f44ef1ade0152d763b0afb93b6c91d1adb7864d1524819db927ce5934685c17f languageName: node linkType: hard -"@cspell/url@npm:8.15.7": - version: 8.15.7 - resolution: "@cspell/url@npm:8.15.7" - checksum: 10/e4fd185f350abcd741f18909d946b7e3fe95a4766cbf037b829f657103ed513e518d8dbc8e6f905dce994cb47e5f16868e1c21918ce7e48ac89555424df47b3d +"@cspell/url@npm:8.16.0": + version: 8.16.0 + resolution: "@cspell/url@npm:8.16.0" + checksum: 10/490d2ddddc6750041ecf56255b8d14402db0875b6bd908ef07221c9084ac315c9e11f734a30f2cb424e4c4d37402a1ec01cb4124b0f37c7187bcf029e21fd822 languageName: node linkType: hard @@ -2486,7 +2486,7 @@ __metadata: version: 0.0.0-use.local resolution: "@digital-alchemy/terminal@workspace:." dependencies: - "@cspell/eslint-plugin": "npm:^8.15.7" + "@cspell/eslint-plugin": "npm:^8.16.0" "@digital-alchemy/core": "npm:^24.10.8" "@digital-alchemy/utils": "npm:^24.9.1" "@eslint/compat": "npm:^1.2.2" @@ -2497,10 +2497,10 @@ __metadata: "@types/js-yaml": "npm:^4.0.9" "@types/minimist": "npm:^1.2.5" "@types/mute-stream": "npm:^0.0.4" - "@types/node": "npm:^22.8.7" + "@types/node": "npm:^22.9.0" "@types/uuid": "npm:^10.0.0" - "@typescript-eslint/eslint-plugin": "npm:8.12.2" - "@typescript-eslint/parser": "npm:8.12.2" + "@typescript-eslint/eslint-plugin": "npm:8.13.0" + "@typescript-eslint/parser": "npm:8.13.0" chalk: "npm:^5.3.0" chrono-node: "npm:^2.7.7" dayjs: "npm:^1.11.13" @@ -2519,7 +2519,7 @@ __metadata: external-editor: "npm:^3.1.0" figlet: "npm:^1.8.0" fuzzysort: "npm:^3.1.0" - globals: "npm:^15.11.0" + globals: "npm:^15.12.0" jest: "npm:^29.7.0" jest-environment-node: "npm:^29.7.0" mute-stream: "npm:^2.0.0" @@ -3422,12 +3422,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22.8.7": - version: 22.8.7 - resolution: "@types/node@npm:22.8.7" +"@types/node@npm:^22.9.0": + version: 22.9.0 + resolution: "@types/node@npm:22.9.0" dependencies: undici-types: "npm:~6.19.8" - checksum: 10/9c73d4cbcbf9773a5986421025c26d6139d8ab960317b3062fbb449c00dbe8197230334be550ffcdb6059bd25f4cb903546bace905155628537283a80c2075d5 + checksum: 10/a7df3426891868b0f5fb03e46aeddd8446178233521c624a44531c92a040cf08a82d8235f7e1e02af731fd16984665d4d71f3418caf9c2788313b10f040d615d languageName: node linkType: hard @@ -3491,15 +3491,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/eslint-plugin@npm:8.12.2" +"@typescript-eslint/eslint-plugin@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.13.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.12.2" - "@typescript-eslint/type-utils": "npm:8.12.2" - "@typescript-eslint/utils": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" + "@typescript-eslint/scope-manager": "npm:8.13.0" + "@typescript-eslint/type-utils": "npm:8.13.0" + "@typescript-eslint/utils": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -3510,25 +3510,25 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/3ba36240bdb1f278050bbde377d858e67511bf1de31a1ab9d99c5b560204e7d448c33d1487cd5eba9bfb823abff2eccf4532f42065cadad6772b68f91006ddc2 + checksum: 10/3f38f64dfdc5c33d377d0f4aff9c71cc363bc7d4cea5c3da9c5bb934758cb5129f48194f84d4886a4208a70a18395c597561926490027508045f778190686909 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/parser@npm:8.12.2" +"@typescript-eslint/parser@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/parser@npm:8.13.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.12.2" - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/typescript-estree": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" + "@typescript-eslint/scope-manager": "npm:8.13.0" + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/typescript-estree": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/257cfbe13bd1a3a2c83e0b3fd2d441a51181ffd57f2e98112217668383fc28de995bfca6d7c4d2c04c6347ee6a376fe1d87eb6ce60d7383cda1044626d794185 + checksum: 10/174f705ce44e4dca83badad053eed50fb3703be6a4379e91f7c260c7f7d0c5e7bcfefd4f2c3170449b6c8f04a8f38c0cefc1a399be7d4913b86ab80d1b7783ec languageName: node linkType: hard @@ -3542,13 +3542,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/scope-manager@npm:8.12.2" +"@typescript-eslint/scope-manager@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/scope-manager@npm:8.13.0" dependencies: - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" - checksum: 10/a2cd6ad4b31f4d0ca6f94c4df8a94bdee762abd556686817ab4143d80a27506f43fbf96769b44e698d573784a464bfd78e0cbc17ac61c36a868e02311c754ce1 + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" + checksum: 10/e5738943b9af4a312e33d9db9362fcd0806f365655efb3df9db1ada5a3f0e974f73493b02727d31c3a06234c3bd8b7b7ddd5d492623c7c7547ec2085c1ac1e09 languageName: node linkType: hard @@ -3569,18 +3569,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/type-utils@npm:8.12.2" +"@typescript-eslint/type-utils@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/type-utils@npm:8.13.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.12.2" - "@typescript-eslint/utils": "npm:8.12.2" + "@typescript-eslint/typescript-estree": "npm:8.13.0" + "@typescript-eslint/utils": "npm:8.13.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/3563ff938a3a9afa341ef2e38974147a1655c46328f0dcd1c46c3999428efd7f4b9c4b57018122a898be7b23c532b88b0b2baa14d9f6338da8efc8488bb24f96 + checksum: 10/9718cd2c37dcb0bc2b234121629c41e24ade137f5ed915c3f597e53c3ca883d7ee2356f516f027307c12481a6af7620477bf4d6870ac454eb5c4afffbd1eab9e languageName: node linkType: hard @@ -3591,10 +3591,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/types@npm:8.12.2" - checksum: 10/57981e5fa45b03a0398ffb82418fdb716f476aa0b9c17d96edeb7fd3e3f4a720466868af7c2a02ddca65c27e70bfaff50c523b2a570582c4645a2702e17dc94a +"@typescript-eslint/types@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/types@npm:8.13.0" + checksum: 10/0051c4a798b8f328451290581f0c8c95acfcb988192647edcb9179013793b8ccc7110b5fee74207394340aca8919d9ca039de2bbd36f41c7693a99d1345092c3 languageName: node linkType: hard @@ -3617,12 +3617,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/typescript-estree@npm:8.12.2" +"@typescript-eslint/typescript-estree@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.13.0" dependencies: - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -3632,7 +3632,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/9995929ec4b66afa53d52c16f5cecd7c9aa45994f943c41e9ec91fe178593e83d9049ff056fe2638c3cf7da01476861eff0dc3cb76c314cc130458d3f828930d + checksum: 10/2aef1bda245ec66b0d0b1b3ed4ab672725ba33c16abc0781f4e0314cf638ef7b3b1d9682e8e9ee18f3e5e51bc4b22cc428c778c2927fd4cf8495dbe736ae522f languageName: node linkType: hard @@ -3650,17 +3650,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/utils@npm:8.12.2" +"@typescript-eslint/utils@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/utils@npm:8.13.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.12.2" - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/typescript-estree": "npm:8.12.2" + "@typescript-eslint/scope-manager": "npm:8.13.0" + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/typescript-estree": "npm:8.13.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/4588866ca43314692a0e685d8936c470dca4e6d119a4a1adefbc2fd54682ff081bc21d60bf4e8077d3668aa680bada851b88566264d09c92a840fe2e4feb331b + checksum: 10/93ee0784f9865fee3e9cdc4796daaa7842a9e54b8436341b9b8367c69cbd90cac9da47669289967309f58ad63d8e68559d74972a34d531289637c8cac3415ed2 languageName: node linkType: hard @@ -3674,13 +3674,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/visitor-keys@npm:8.12.2" +"@typescript-eslint/visitor-keys@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.13.0" dependencies: - "@typescript-eslint/types": "npm:8.12.2" + "@typescript-eslint/types": "npm:8.13.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/42795ad1c71520a367e2b53c3511b6cf922dcee05d61f6b0ec56b71c0b89a58889e0c3282b1bb13befc69df07204d0e4e053436d0c2b808460ce310b58a2a92e + checksum: 10/630718da32ffa7144b7a8300802136a5fb3084c8b3dc7c277981939408b19d57214e0f721b8011f64ae083bac5367a8a319366c74ef7bcb9fd90508f780fb2de languageName: node linkType: hard @@ -4558,81 +4558,81 @@ __metadata: languageName: node linkType: hard -"cspell-config-lib@npm:8.15.7": - version: 8.15.7 - resolution: "cspell-config-lib@npm:8.15.7" +"cspell-config-lib@npm:8.16.0": + version: 8.16.0 + resolution: "cspell-config-lib@npm:8.16.0" dependencies: - "@cspell/cspell-types": "npm:8.15.7" + "@cspell/cspell-types": "npm:8.16.0" comment-json: "npm:^4.2.5" yaml: "npm:^2.6.0" - checksum: 10/dc510dd87f1c4202ab8b6649b3c185e5310205a3a298d977d50236f07efe2fac9b3461cb61953fa9009c5ccdbb344f0d2c4ffd86628e4bd941a72cdda000043a + checksum: 10/44dd4ef256f94930cdf5c90a411365c88acf198fdfdc449916587ee590ab3cb879931827be6bb49538b92ff29e765e02771ef48bb6e4838890acb82b0a767eea languageName: node linkType: hard -"cspell-dictionary@npm:8.15.7": - version: 8.15.7 - resolution: "cspell-dictionary@npm:8.15.7" +"cspell-dictionary@npm:8.16.0": + version: 8.16.0 + resolution: "cspell-dictionary@npm:8.16.0" dependencies: - "@cspell/cspell-pipe": "npm:8.15.7" - "@cspell/cspell-types": "npm:8.15.7" - cspell-trie-lib: "npm:8.15.7" + "@cspell/cspell-pipe": "npm:8.16.0" + "@cspell/cspell-types": "npm:8.16.0" + cspell-trie-lib: "npm:8.16.0" fast-equals: "npm:^5.0.1" - checksum: 10/89b132b6bda568a8dbf15921c2244d56ae1923dc936b7aef7e5302bb6f0dfb7d95c32c86e311d5b7faa5e444a647fa6b7b479aa89fa2d34498a591007909b767 + checksum: 10/847e10ee7a8b37d1e938ae5c10fe557b68b660d4b96c214d62d038a1ffde51066a79691b6d309fc5bcf7cdd668e824d6520772f99fd6d18970c9eba3e44c3493 languageName: node linkType: hard -"cspell-glob@npm:8.15.7": - version: 8.15.7 - resolution: "cspell-glob@npm:8.15.7" +"cspell-glob@npm:8.16.0": + version: 8.16.0 + resolution: "cspell-glob@npm:8.16.0" dependencies: - "@cspell/url": "npm:8.15.7" + "@cspell/url": "npm:8.16.0" micromatch: "npm:^4.0.8" - checksum: 10/c71730bcae5556290f582ff59b5509dff65de376011689c2f02994586aa0d1cf38568ec0eae61d6be8e962cd64bce2cbfb26ec8a3b21d1c453cc2a9fe2a304cc + checksum: 10/52ffd5a764490dc575023c51e98dafa37e0175047820e9d006d47b5fdb32ac9213670371e4c445ee5b0a4b49ca8c4b30ec003dec6757883e276777897d94fc97 languageName: node linkType: hard -"cspell-grammar@npm:8.15.7": - version: 8.15.7 - resolution: "cspell-grammar@npm:8.15.7" +"cspell-grammar@npm:8.16.0": + version: 8.16.0 + resolution: "cspell-grammar@npm:8.16.0" dependencies: - "@cspell/cspell-pipe": "npm:8.15.7" - "@cspell/cspell-types": "npm:8.15.7" + "@cspell/cspell-pipe": "npm:8.16.0" + "@cspell/cspell-types": "npm:8.16.0" bin: cspell-grammar: bin.mjs - checksum: 10/9500c872b06ebd47e8c1be997d0cc52da3554e6798385e747f21508e7fc0276050813bee1e17373c5ad51e39f787dd58fb369b5a906f34889f1c2d1203a1ddb6 + checksum: 10/a830277f546062015bed9b16ce7dd0aece6ef1d5d3dead387b6ce127ed2e25375bce05c23a08adcab961dbc33c7094c5dc2adeea4ece69032be92ee101f99eb6 languageName: node linkType: hard -"cspell-io@npm:8.15.7": - version: 8.15.7 - resolution: "cspell-io@npm:8.15.7" +"cspell-io@npm:8.16.0": + version: 8.16.0 + resolution: "cspell-io@npm:8.16.0" dependencies: - "@cspell/cspell-service-bus": "npm:8.15.7" - "@cspell/url": "npm:8.15.7" - checksum: 10/7680157fa2ba8b48bc439df60a3005adecfabdafa2daa1b194926fb206079ddea0eed7947421054e370549346af637ae3e1b22a0eb6c1f539becde7437c42380 + "@cspell/cspell-service-bus": "npm:8.16.0" + "@cspell/url": "npm:8.16.0" + checksum: 10/44d71149b4ae2348ca1e87be2ab1a72a27bfe1092dca92ecbc34a2fd7aabbff24128f49c0b36df4d6359de22e4eaeaee4c97728b7479ca2ca9fb26099612dd0b languageName: node linkType: hard -"cspell-lib@npm:8.15.7": - version: 8.15.7 - resolution: "cspell-lib@npm:8.15.7" +"cspell-lib@npm:8.16.0": + version: 8.16.0 + resolution: "cspell-lib@npm:8.16.0" dependencies: - "@cspell/cspell-bundled-dicts": "npm:8.15.7" - "@cspell/cspell-pipe": "npm:8.15.7" - "@cspell/cspell-resolver": "npm:8.15.7" - "@cspell/cspell-types": "npm:8.15.7" - "@cspell/dynamic-import": "npm:8.15.7" - "@cspell/filetypes": "npm:8.15.7" - "@cspell/strong-weak-map": "npm:8.15.7" - "@cspell/url": "npm:8.15.7" + "@cspell/cspell-bundled-dicts": "npm:8.16.0" + "@cspell/cspell-pipe": "npm:8.16.0" + "@cspell/cspell-resolver": "npm:8.16.0" + "@cspell/cspell-types": "npm:8.16.0" + "@cspell/dynamic-import": "npm:8.16.0" + "@cspell/filetypes": "npm:8.16.0" + "@cspell/strong-weak-map": "npm:8.16.0" + "@cspell/url": "npm:8.16.0" clear-module: "npm:^4.1.2" comment-json: "npm:^4.2.5" - cspell-config-lib: "npm:8.15.7" - cspell-dictionary: "npm:8.15.7" - cspell-glob: "npm:8.15.7" - cspell-grammar: "npm:8.15.7" - cspell-io: "npm:8.15.7" - cspell-trie-lib: "npm:8.15.7" + cspell-config-lib: "npm:8.16.0" + cspell-dictionary: "npm:8.16.0" + cspell-glob: "npm:8.16.0" + cspell-grammar: "npm:8.16.0" + cspell-io: "npm:8.16.0" + cspell-trie-lib: "npm:8.16.0" env-paths: "npm:^3.0.0" fast-equals: "npm:^5.0.1" gensequence: "npm:^7.0.0" @@ -4641,18 +4641,18 @@ __metadata: vscode-languageserver-textdocument: "npm:^1.0.12" vscode-uri: "npm:^3.0.8" xdg-basedir: "npm:^5.1.0" - checksum: 10/03e70f13df9a4562eaa046c4f0def8f1bf5904c0ba589e987efcd9d02a851294357cf216a178d6582608b15c91d33699113cfd8439ac2d7ce6442a7f2b11721c + checksum: 10/d6e30e9cad91b58e82215ef2ca5c1b9be09e8c505fe22bc4c3487adc074dd3bffd03db61521943617420d190f14fed103bc18dc5b5d43b3ac54d846e1c131484 languageName: node linkType: hard -"cspell-trie-lib@npm:8.15.7": - version: 8.15.7 - resolution: "cspell-trie-lib@npm:8.15.7" +"cspell-trie-lib@npm:8.16.0": + version: 8.16.0 + resolution: "cspell-trie-lib@npm:8.16.0" dependencies: - "@cspell/cspell-pipe": "npm:8.15.7" - "@cspell/cspell-types": "npm:8.15.7" + "@cspell/cspell-pipe": "npm:8.16.0" + "@cspell/cspell-types": "npm:8.16.0" gensequence: "npm:^7.0.0" - checksum: 10/b0d2648faeb3ad66f74ab3d061be206dc4317136a318607e03a34a54f6c3a3f67cbe6310e7a87c862854ed660e2c904d4aacf4974613d688fa55e36a586a61f2 + checksum: 10/9bf028ca51f031a33d7fcc91223e57c8f3792b4492bb26746dc50a73073ea53bd669c6e465cb0ec57e8775fc07ac523b853ae8024d467154a8744bed53983fcc languageName: node linkType: hard @@ -6224,10 +6224,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:^15.11.0": - version: 15.11.0 - resolution: "globals@npm:15.11.0" - checksum: 10/14009ef1906ac929d930ed1c896a47159e7d11b4d201901ca5f3827766519191a3f5fb45124de43c4511fee04018704e7ed5a097fb37d23abf39523d1d41c85f +"globals@npm:^15.12.0": + version: 15.12.0 + resolution: "globals@npm:15.12.0" + checksum: 10/07cac4ee7cc9befa7894be9b4d1a57f46eeedf9065939f39ffb875009394908eb7bac84147712cfd4bbabab5abc7ab98fc3a6d0fd881f9548fffa10ba2e4bf67 languageName: node linkType: hard