From 4715b160449a7eaaa544a05c3ff28fc531024a83 Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Sat, 10 Oct 2026 08:55:56 +0100 Subject: [PATCH 1/2] style: use block comments for multi-line comments --- src/cursor.ts | 6 +++--- src/index.ts | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/cursor.ts b/src/cursor.ts index 99b7af9..b6e133b 100644 --- a/src/cursor.ts +++ b/src/cursor.ts @@ -333,9 +333,9 @@ export async function beat(page: Page, ms = 600): Promise { await page.waitForTimeout(humanBeatMs(ms)); } -// Replaces the two shapes a demo would otherwise hand-roll around showCaption/hideCaption: caption-then-fixed-sleep-then-action (the sleep is unrelated to any page state, so the action can start before or long after the caption's own hold ends) and assert-fully-then-caption (no lead-in at all, since the caption only ever appears once its claim is already true). Neither ties a caption's own on-screen duration to genuine page-state readiness. -// -// showCaption fires immediately, so the caption is up before `settle` (whatever assertion, poll, or action already proves the caption's own claim) has resolved: a real lead-in, not a guess. `settle` and a minimum `leadInMs` floor run concurrently, so a `settle` that resolves in under `leadInMs` still gets a caption that's been up for at least that long, and a `settle` that takes minutes (a capacity poll, say) keeps the caption up for the whole genuine wait rather than a short fixed hold that's already elapsed by the time anything real happens. Once `settle` resolves, the caption holds for `dwellMs` (a real "look at this" pause) before hiding: exactly the digest window a fixed-hold constant was always trying to give, just now added on top of true settle time rather than instead of it. +/* Replaces the two shapes a demo would otherwise hand-roll around showCaption/hideCaption: caption-then-fixed-sleep-then-action (the sleep is unrelated to any page state, so the action can start before or long after the caption's own hold ends) and assert-fully-then-caption (no lead-in at all, since the caption only ever appears once its claim is already true). Neither ties a caption's own on-screen duration to genuine page-state readiness. + + showCaption fires immediately, so the caption is up before `settle` (whatever assertion, poll, or action already proves the caption's own claim) has resolved: a real lead-in, not a guess. `settle` and a minimum `leadInMs` floor run concurrently, so a `settle` that resolves in under `leadInMs` still gets a caption that's been up for at least that long, and a `settle` that takes minutes (a capacity poll, say) keeps the caption up for the whole genuine wait rather than a short fixed hold that's already elapsed by the time anything real happens. Once `settle` resolves, the caption holds for `dwellMs` (a real "look at this" pause) before hiding: exactly the digest window a fixed-hold constant was always trying to give, just now added on top of true settle time rather than instead of it. */ const NARRATE_SCENE_DEFAULT_LEAD_IN_MS = 800; const NARRATE_SCENE_DEFAULT_DWELL_MS = 1200; /** diff --git a/src/index.ts b/src/index.ts index d73080f..7e70286 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,10 +1,10 @@ -// talktrack: narrated, cursor-driven demo recordings from Playwright. -// -// Two ways to drive it, one engine: -// - inside @playwright/test specs: installCursor(page) at the top, use moveAndClick/fillVisibly/narrateScene instead of raw clicks/fills, and finalizeFramedRecording(page, testInfo) in afterEach; -// - from a standalone script: const demo = await recordDemo("name", { viewport, url }); ...helpers...; await demo.finish(); -// -// Both produce the same output: the application window exactly as recorded, a header band above it, and a narration band below it where each caption appears only for the span it was actually shown. Requires the external ffmpeg and ffprobe binaries (see the README). +/* talktrack: narrated, cursor-driven demo recordings from Playwright. + + Two ways to drive it, one engine: + - inside @playwright/test specs: installCursor(page) at the top, use moveAndClick/fillVisibly/narrateScene instead of raw clicks/fills, and finalizeFramedRecording(page, testInfo) in afterEach; + - from a standalone script: const demo = await recordDemo("name", { viewport, url }); ...helpers...; await demo.finish(); + + Both produce the same output: the application window exactly as recorded, a header band above it, and a narration band below it where each caption appears only for the span it was actually shown. Requires the external ffmpeg and ffprobe binaries (see the README). */ export { beat, From e8df9607c1bc0da5bd0550fc27a94f42b0959af4 Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Sat, 10 Oct 2026 08:55:34 +0100 Subject: [PATCH 2/2] build(deps-dev): bump @exadev/eslint-config to 3.0.0 exadevConfig now takes the options object alone, so the config blocks that followed it are spread after the call inside defineConfig. A files-scoped override turns off no-await-in-loop for src/cursor.ts and src/frame.ts, whose loops must run one after another. --- eslint.config.ts | 10 ++- package.json | 2 +- pnpm-lock.yaml | 171 ++++++++++++----------------------------------- 3 files changed, 51 insertions(+), 132 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index 53555a1..0083150 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,10 +1,11 @@ import { exadevConfig } from "@exadev/eslint-config"; import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; +import { defineConfig } from "eslint/config"; import globals from "globals"; import tseslint from "typescript-eslint"; -export default exadevConfig( - {}, +export default defineConfig( + ...exadevConfig(), { ignores: [ "node_modules", @@ -40,4 +41,9 @@ export default exadevConfig( }, }, eslintPluginPrettierRecommended, + { + // src/cursor.ts: cursor glides, wheel scrolls, keystrokes and cursor re-application are paced input events whose whole point is that each one lands before the next starts, so running the iterations together would defeat them. src/frame.ts: the caption bands are rendered on one shared browser context and are rendered one after another to keep resource use bounded. + files: ["src/cursor.ts", "src/frame.ts"], + rules: { "no-await-in-loop": "off" }, + }, ); diff --git a/package.json b/package.json index f3a87a1..26b14f1 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@commitlint/cli": "^21.2.2", "@commitlint/config-conventional": "^21.2.2", "@eslint/js": "^10.0.1", - "@exadev/eslint-config": "2.27.0", + "@exadev/eslint-config": "3.0.0", "@playwright/test": "^1.63.0", "@semantic-release/changelog": "^7.0.0", "@semantic-release/commit-analyzer": "^13.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cfcc547..7c65d20 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -182,8 +182,8 @@ importers: specifier: ^10.0.1 version: 10.0.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) '@exadev/eslint-config': - specifier: 2.27.0 - version: 2.27.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(typescript@6.0.3) + specifier: 3.0.0 + version: 3.0.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(typescript@6.0.3) '@playwright/test': specifier: ^1.63.0 version: 1.63.0 @@ -437,11 +437,12 @@ packages: resolution: {integrity: sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@exadev/eslint-config@2.27.0': - resolution: {integrity: sha512-T3sYdSYJIqH7PW/H/ULJz8zNnp2ITMokh8Dye0H+HdiJKoGBWBQlkK5fj3FLJcygX7RgQU4CGTqTMxC1as5Tww==} - engines: {node: '>=20'} + '@exadev/eslint-config@3.0.0': + resolution: {integrity: sha512-nvyOjjM1sGKjQo6buZt69vJ5ND0CuE/lxoDvR2oRgv74qj4gJBZr10d6Y/QeTd6LQIPDkPPnH78YYfX/HSzNJA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: '@eslint/json': ^2.1.0 + '@eslint/markdown': ^8.0.3 '@next/eslint-plugin-next': ^16.3.2 '@vitest/eslint-plugin': ^1.6.27 eslint: '>=10.0.0' @@ -454,6 +455,8 @@ packages: peerDependenciesMeta: '@eslint/json': optional: true + '@eslint/markdown': + optional: true '@next/eslint-plugin-next': optional: true '@vitest/eslint-plugin': @@ -512,6 +515,9 @@ packages: '@microsoft/tsdoc@0.17.0': resolution: {integrity: sha512-p68VexhnH7ojf3U27RdryUDqnKJgKaWUbCL96vJR7N0mqDuhKG5OIECk3sCPPdynxjk+yoVhRkScqtv5KQjzsw==} + '@microsoft/tsdoc@0.17.1': + resolution: {integrity: sha512-VHyYyyoH63jFoO3shpw9Zfijk5v/9p/VrClW35z0/q6ooK7sSmxpzOkS4iZPxs3vO4XtBW4H38HRAKkAMIK7DA==} + '@octokit/auth-token@6.0.0': resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} engines: {node: '>= 20'} @@ -766,11 +772,17 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@stylistic/eslint-plugin@5.10.0': - resolution: {integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@stylistic/eslint-plugin@6.0.0-beta.6': + resolution: {integrity: sha512-DqDQZSrV/0AZ/4qLxaQUtNxafk3qWfeG5xOHx64ELjHWSHt2GtELZR6ClrNVvQwo/d13Atf8Hrh/s/ZnuJk57w==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: ^9.0.0 || ^10.0.0 + oxlint: ^1.55.0 + peerDependenciesMeta: + eslint: + optional: true + oxlint: + optional: true '@turbo/darwin-64@2.11.6': resolution: {integrity: sha512-nAvJwDBgz/cKoSPhB7YOGPFmDEwCRavFjy0jUsrGqR97cLyJqXU2rZC/zTnw+9J3DkB2gfjpolX7mKsBatMcCQ==} @@ -844,12 +856,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.67.0': - resolution: {integrity: sha512-cvE8c7ulYeXN9fYuszhCeCsbzyVEXuhrRCybnBre7TUmqb5nRmBfQAwCj0O3WJFDeyAZt4VYv51vMCC9LHSdYw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.71.0': resolution: {integrity: sha512-aABjw5rjBacYONVPaPiWOCjJu0vEF4a25iQuodlmQYL1trtLZ0X/y+2Vzl3BKI1odM4LnwLE1oUDXYp1wzx1TQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -860,10 +866,6 @@ packages: resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.67.0': - resolution: {integrity: sha512-EgvsleTwS4E+WzzSvem8fAUubLwatMNF1B5hHSLQxcvs7q2dtRhGyujHwLJSYlG41niJ7GP24Aha2+0mb1b2kg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.71.0': resolution: {integrity: sha512-gWF0BhUcnjZxSpLE8ngS/59n2SB0J3YqRxvX1+2aoRJk9hNtHSLOV+TcarFiOr5ipXm3yc1QrI4c9YZc8zyCxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -874,12 +876,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.67.0': - resolution: {integrity: sha512-vV+LUSv5njUWsknE71fqKTlXUva+R76SaeORd6Zojcunk/6DvKFXONU3BrAs2H49mbygUXt6gbYunzwqNwlhdg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/tsconfig-utils@8.71.0': resolution: {integrity: sha512-Z1UlWHADEK2Mlb9NpWfDeSjqoZ5EyrOv4R3eQpbkzqn/EwaIdOpXXupEA1+0ZIOSJSZZDBHG0BrQyN8zUG6Pwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -897,10 +893,6 @@ packages: resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.67.0': - resolution: {integrity: sha512-sBtgslww8nsMYUjhdPBiSyUqSzT8uR6g93A2QXnQC8+cGdjz0CyaOdqHDRJb1AtORbZCNUJBBeFA/tNR2uQmww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.71.0': resolution: {integrity: sha512-cJ4OoxPGWvFnBTnSZyaU+qJzGTqPTGJY+gDchj6cRyLRdmIdt4rcsE4twj+zPfrNiWuVi38wijHzShL++Z9atQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -911,12 +903,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.67.0': - resolution: {integrity: sha512-EKQBCE9yNlRJYm7jdTW5AhDacDUmSwQb0FAJAmK2EKYrNXIsa2vxcSZx6PvJ/dEdI6lS+Y9W+EXckLj0iPFGcw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/typescript-estree@8.71.0': resolution: {integrity: sha512-PEEF4G5sLLWAS5BpPrUvms4ySZkiBQQZM4z+3ReI46axK5Vqr/vXBQatJQIZZOYdGyPUAKTtsrWzpqKuU+3DEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -930,13 +916,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.67.0': - resolution: {integrity: sha512-U9D1FdwEWBwok3hxxSdhclMb0twvt9QnjIQ0VfQ1AiX2epnpSgv2ubVDsayOFyY8K6FX+AQ7E0FKWVG3iKsj1A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.71.0': resolution: {integrity: sha512-pKR/tEMVrXZG23UFKUn5BQf3zfmfk7KQceI2cGzywZ5nxM5Eu3hEJU1utjWzydtzBbcJAQhHN8iPCxobHpPcZQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -948,10 +927,6 @@ packages: resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.67.0': - resolution: {integrity: sha512-fkv8dHRDqfGtTHuJeebdrQ7cX6Ad4WAS00rgHh9UGvMycF1mjBfsxry1XsLIFhWZ6Judlh6UdzK+TYlbpCXgnA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.71.0': resolution: {integrity: sha512-8eQ9R218XORK+KLosnf4bu/QsUXvUyVwTbArg7/0NMB1Pu87OJKvj4nhFblkYE8gQV73mW1dx1ptlPCkwRGa7A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1479,8 +1454,8 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - eslint-plugin-json-canonical@2.1.0: - resolution: {integrity: sha512-sjT8FdqSvpEiB0yzCOGBozbEJ64SLxDp8CYlV9wHEgL0HFLj3kJdfWl5UuzMe72OoOXbwzo418VeUlxX5iNfgg==} + eslint-plugin-json-canonical@2.1.3: + resolution: {integrity: sha512-qAcRVGkXGZvgduOIEBxHLOZhqUf0NdVY+bye/KXbd0oPH5VvoBBBETFEaJ1qa6efLSCH17C4sss7uvr80TfNTQ==} engines: {node: '>=20'} peerDependencies: '@eslint/json': ^2.1.0 @@ -1516,10 +1491,6 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.1: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -1534,10 +1505,6 @@ packages: jiti: optional: true - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@11.2.0: resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -3263,22 +3230,26 @@ snapshots: '@eslint/core': 1.2.1 levn: 0.4.1 - '@exadev/eslint-config@2.27.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(typescript@6.0.3)': + '@exadev/eslint-config@3.0.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(typescript@6.0.3)': dependencies: '@eslint/js': 10.0.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) - '@microsoft/tsdoc': 0.17.0 - '@stylistic/eslint-plugin': 5.10.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) - '@typescript-eslint/utils': 8.67.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + '@microsoft/tsdoc': 0.17.1 + '@stylistic/eslint-plugin': 6.0.0-beta.6(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) + '@typescript-eslint/typescript-estree': 8.71.0(supports-color@7.2.0)(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) eslint-plugin-jsdoc: 64.3.6(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - eslint-plugin-json-canonical: 2.1.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) + eslint-plugin-json-canonical: 2.1.3(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-tsdoc: 0.5.3(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + minimatch: 10.2.6 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 typescript-eslint: 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + yaml: 2.9.1 optionalDependencies: '@eslint/json': 2.1.0 transitivePeerDependencies: + - oxlint - supports-color '@humanfs/core@0.19.2': @@ -3322,6 +3293,8 @@ snapshots: '@microsoft/tsdoc@0.17.0': {} + '@microsoft/tsdoc@0.17.1': {} + '@octokit/auth-token@6.0.0': {} '@octokit/core@7.0.8': @@ -3575,15 +3548,15 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.10.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))': + '@stylistic/eslint-plugin@6.0.0-beta.6(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))': dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) '@typescript-eslint/types': 8.71.0 - eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - estraverse: 5.3.0 + '@typescript-eslint/visitor-keys': 8.71.0 + espree: 11.2.0 picomatch: 4.0.7 + optionalDependencies: + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) '@turbo/darwin-64@2.11.6': optional: true @@ -3652,17 +3625,8 @@ snapshots: '@typescript-eslint/project-service@8.56.1(supports-color@7.2.0)(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@6.0.3) - '@typescript-eslint/types': 8.56.1 - debug: 4.4.3(supports-color@7.2.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.67.0(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@6.0.3) - '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) + '@typescript-eslint/types': 8.71.0 debug: 4.4.3(supports-color@7.2.0) typescript: 6.0.3 transitivePeerDependencies: @@ -3682,11 +3646,6 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 - '@typescript-eslint/scope-manager@8.67.0': - dependencies: - '@typescript-eslint/types': 8.67.0 - '@typescript-eslint/visitor-keys': 8.67.0 - '@typescript-eslint/scope-manager@8.71.0': dependencies: '@typescript-eslint/types': 8.71.0 @@ -3696,10 +3655,6 @@ snapshots: dependencies: typescript: 6.0.3 - '@typescript-eslint/tsconfig-utils@8.67.0(typescript@6.0.3)': - dependencies: - typescript: 6.0.3 - '@typescript-eslint/tsconfig-utils@8.71.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 @@ -3718,8 +3673,6 @@ snapshots: '@typescript-eslint/types@8.56.1': {} - '@typescript-eslint/types@8.67.0': {} - '@typescript-eslint/types@8.71.0': {} '@typescript-eslint/typescript-estree@8.56.1(supports-color@7.2.0)(typescript@6.0.3)': @@ -3737,21 +3690,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.67.0(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@typescript-eslint/project-service': 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@6.0.3) - '@typescript-eslint/types': 8.67.0 - '@typescript-eslint/visitor-keys': 8.67.0 - debug: 4.4.3(supports-color@7.2.0) - minimatch: 10.2.6 - semver: 7.8.5 - tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.71.0(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/project-service': 8.71.0(supports-color@7.2.0)(typescript@6.0.3) @@ -3778,17 +3716,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.67.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) - '@typescript-eslint/scope-manager': 8.67.0 - '@typescript-eslint/types': 8.67.0 - '@typescript-eslint/typescript-estree': 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) @@ -3805,11 +3732,6 @@ snapshots: '@typescript-eslint/types': 8.56.1 eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.67.0': - dependencies: - '@typescript-eslint/types': 8.67.0 - eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.71.0': dependencies: '@typescript-eslint/types': 8.71.0 @@ -4256,7 +4178,7 @@ snapshots: - supports-color - typescript - eslint-plugin-json-canonical@2.1.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-json-canonical@2.1.3(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: '@eslint/json': 2.1.0 eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) @@ -4290,8 +4212,6 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.1: {} eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0): @@ -4331,12 +4251,6 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.4.0: - dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) - eslint-visitor-keys: 4.2.1 - espree@11.2.0: dependencies: acorn: 8.18.0 @@ -5570,8 +5484,7 @@ snapshots: y18n@5.0.8: {} - yaml@2.9.1: - optional: true + yaml@2.9.1: {} yargs-parser@20.2.9: {}