Skip to content

Add scratch-storage to the monorepo#434

Open
cwillisf wants to merge 2248 commits into
developfrom
add-scratch-storage
Open

Add scratch-storage to the monorepo#434
cwillisf wants to merge 2248 commits into
developfrom
add-scratch-storage

Conversation

@cwillisf
Copy link
Copy Markdown
Contributor

@cwillisf cwillisf commented Feb 3, 2026

Proposed Changes

  • Rebuild build-monorepo.sh, which rebuilt the whole monorepo fresh, as add-to-monorepo.sh, which adds a repository to the existing monorepo.
  • Use add-to-monorepo.sh to add scratch-storage, then apply manual fixups.

Reason for Changes

The scratch-storage package now uses task-herder, which means scratch-editor depends on scratch-storage and scratch-storage depends on scratch-editor. I probably should have done this before f09c102, but we're here now 😅

Test Coverage

Existing tests in scratch-storage and in packages that depend on scratch-storage still pass.

semantic-release-bot and others added 30 commits October 25, 2025 09:25
chore(deps): update babel monorepo to v7.28.5
and fix lint errors introduced by these updates
chore(deps): update dependency rimraf to v6.1.0
BREAKING CHANGE: Node.js v20 is now required
…monorepo

chore(deps): update dependency eslint to v9
# [5.0.0](scratchfoundation/scratch-storage@v4.1.27...v5.0.0) (2025-11-03)

### chore

* **deps:** update node.js to v20 ([2745aeb](scratchfoundation/scratch-storage@2745aeb))

### BREAKING CHANGES

* **deps:** Node.js v20 is now required
…-node-6.x

chore(deps): update actions/setup-node action to v6
…-scratch-12.x

style(deps): update dependency eslint-config-scratch to v12.0.23
chore(deps): update dependency eslint to v9.39.0
github-actions Bot pushed a commit that referenced this pull request May 14, 2026
…and #505

Replaces the script work of two prior PRs that independently solved
"add an existing scratchfoundation repo to the monorepo":

scripts/add-repo.sh — collapses add-to-monorepo.sh (#434) and add-repo.sh
(#505) into a single canonical entry point. Takes the CLI shape and
auto-CI-regen from #505 and the source-branch auto-detect (develop ->
main -> master), normalization (sort-package-json), and clean-tree
pre-flight from #434.

scripts/update-gha-workflows.ts — replaces the CircleCI-era
build-gha-workflows.ts and workspace-template.yml. Regenerates
.github/path-filters.yml and incrementally updates publish.yml.

Open review comments on #505 are addressed:

- sed -i portability bug: rewrites now use perl -pi -e (works on macOS,
  NixOS, Ubuntu/Debian/Arch, WSL). Perl is added to the explicit prereq
  check next to git-filter-repo, sponge, and jq.
- Arg parser now rejects flag-stealing: --source-branch --org foo errors
  instead of silently using --org as the branch name.
- npm-install failures hard-fail by default. --continue-on-error opts
  into the prior soft-fail behavior; failures are still logged to
  add-repo.errors.log when continuing.
- The submodules-aware branch in move_repository_subdirectory keeps a
  TODO comment marking that it has never been exercised against a real
  submodules-bearing repo and should be run carefully when one lands.

No repo additions are included; this PR is script-tooling only.
cwillisf added a commit that referenced this pull request May 14, 2026
Replaces the script work of two prior PRs that independently solved
"add an existing scratchfoundation repo to the monorepo":

scripts/add-repo.sh — collapses add-to-monorepo.sh (#434) and add-repo.sh
(#505) into a single canonical entry point. Takes the CLI shape and
auto-CI-regen from #505 and the source-branch auto-detect (develop ->
main -> master), normalization (sort-package-json), and clean-tree
pre-flight from #434.

scripts/update-gha-workflows.ts — replaces the CircleCI-era
build-gha-workflows.ts and workspace-template.yml. Regenerates
.github/path-filters.yml and incrementally updates publish.yml.

Open review comments on #505 are addressed:

- sed -i portability bug: rewrites now use perl -pi -e (works on macOS,
  NixOS, Ubuntu/Debian/Arch, WSL). Perl is added to the explicit prereq
  check next to git-filter-repo, sponge, and jq.
- Arg parser now rejects flag-stealing: --source-branch --org foo errors
  instead of silently using --org as the branch name.
- npm-install failures hard-fail by default. --continue-on-error opts
  into the prior soft-fail behavior; failures are still logged to
  add-repo.errors.log when continuing.
- The submodules-aware branch in move_repository_subdirectory keeps a
  TODO comment marking that it has never been exercised against a real
  submodules-bearing repo and should be run carefully when one lands.

Cross-workspace dep handling: rewires both bare-name and already-prefixed
@scratch/<name> deps in the new package to exact-pinned current monorepo
versions. Matches the existing convention in scratch-gui/scratch-vm/
scratch-render. npm's workspace: protocol would be the ideal here but
npm does not actually support it (npm/cli#8845 - EUNSUPPORTEDPROTOCOL
at install time).

Workspaces array ordering: the new package is inserted just after the
latest existing workspace it depends on, so 'npm run --workspaces build'
builds its deps first. Falls back to position 0 (prepend) when the new
package has no monorepo deps. This is a "last dep wins" heuristic, not
a full topo sort; a real topo sort can be added later by extending
update-gha-workflows.ts if needed.

bash 3.2 compatibility: macOS ships bash 3.2 at /bin/bash, which lacks
the 'mapfile' builtin. The find/grep output is collected via a 'while
IFS= read -r' loop so the script runs on macOS as well as Linux.

No repo additions are included; this PR is script-tooling only.
github-actions Bot pushed a commit that referenced this pull request May 14, 2026
…and #505

Replaces the script work of two prior PRs that independently solved
"add an existing scratchfoundation repo to the monorepo":

scripts/add-repo.sh — collapses add-to-monorepo.sh (#434) and add-repo.sh
(#505) into a single canonical entry point. Takes the CLI shape and
auto-CI-regen from #505 and the source-branch auto-detect (develop ->
main -> master), normalization (sort-package-json), and clean-tree
pre-flight from #434.

scripts/update-gha-workflows.ts — replaces the CircleCI-era
build-gha-workflows.ts and workspace-template.yml. Regenerates
.github/path-filters.yml and incrementally updates publish.yml.

Open review comments on #505 are addressed:

- sed -i portability bug: rewrites now use perl -pi -e (works on macOS,
  NixOS, Ubuntu/Debian/Arch, WSL). Perl is added to the explicit prereq
  check next to git-filter-repo, sponge, and jq.
- Arg parser now rejects flag-stealing: --source-branch --org foo errors
  instead of silently using --org as the branch name.
- npm-install failures hard-fail by default. --continue-on-error opts
  into the prior soft-fail behavior; failures are still logged to
  add-repo.errors.log when continuing.
- The submodules-aware branch in move_repository_subdirectory keeps a
  TODO comment marking that it has never been exercised against a real
  submodules-bearing repo and should be run carefully when one lands.

Cross-workspace dep handling: rewires both bare-name and already-prefixed
@scratch/<name> deps in the new package to exact-pinned current monorepo
versions. Matches the existing convention in scratch-gui/scratch-vm/
scratch-render. npm's workspace: protocol would be the ideal here but
npm does not actually support it (npm/cli#8845 - EUNSUPPORTEDPROTOCOL
at install time).

Workspaces array ordering: the new package is inserted just after the
latest existing workspace it depends on, so 'npm run --workspaces build'
builds its deps first. Falls back to position 0 (prepend) when the new
package has no monorepo deps. This is a "last dep wins" heuristic, not
a full topo sort; a real topo sort can be added later by extending
update-gha-workflows.ts if needed.

bash 3.2 compatibility: macOS ships bash 3.2 at /bin/bash, which lacks
the 'mapfile' builtin. The find/grep output is collected via a 'while
IFS= read -r' loop so the script runs on macOS as well as Linux.

No repo additions are included; this PR is script-tooling only.
cwillisf added a commit that referenced this pull request May 14, 2026
Replaces the script work of two prior PRs that independently solved
"add an existing scratchfoundation repo to the monorepo":

scripts/add-repo.sh — collapses add-to-monorepo.sh (#434) and add-repo.sh
(#505) into a single canonical entry point. Takes the CLI shape and
auto-CI-regen from #505 and the source-branch auto-detect (develop ->
main -> master), normalization (sort-package-json), and clean-tree
pre-flight from #434.

scripts/update-gha-workflows.ts — replaces the CircleCI-era
build-gha-workflows.ts and workspace-template.yml. Regenerates
.github/path-filters.yml and incrementally updates publish.yml.

Open review comments on #505 are addressed:

- sed -i portability bug: rewrites now use perl -pi -e (works on macOS,
  NixOS, Ubuntu/Debian/Arch, WSL). Perl is added to the explicit prereq
  check next to git-filter-repo, sponge, and jq.
- Arg parser now rejects flag-stealing: --source-branch --org foo errors
  instead of silently using --org as the branch name.
- npm-install failures hard-fail by default. --continue-on-error opts
  into the prior soft-fail behavior; failures are still logged to
  add-repo.errors.log when continuing. Scoped to the per-dep rewire
  loop; the final lockfile install always hard-fails by design.
- The submodules-aware branch in move_repository_subdirectory keeps a
  TODO comment marking that it has never been exercised against a real
  submodules-bearing repo and should be run carefully when one lands.

Cross-workspace dep handling: rewires both bare-name and already-prefixed
@scratch/<name> deps in the new package to exact-pinned current monorepo
versions. Matches the existing convention in scratch-gui/scratch-vm/
scratch-render. npm's workspace: protocol would be the ideal here but
npm does not actually support it (npm/cli#8845 - EUNSUPPORTEDPROTOCOL
at install time).

Workspaces array ordering: the new package is inserted just after the
latest existing workspace it depends on, so 'npm run --workspaces build'
builds its deps first. Falls back to position 0 (prepend) when the new
package has no monorepo deps. This is a "last dep wins" heuristic, not
a full topological sort; it relies on the existing workspaces array
already being in valid build order. A real topo sort can be added later
(e.g. by extending update-gha-workflows.ts) if it ever becomes necessary.

bash 3.2 compatibility: macOS ships bash 3.2 at /bin/bash, which lacks
the 'mapfile' builtin. The find/grep output is collected via a 'while
IFS= read -r' loop so the script runs on macOS as well as Linux.

Bare-clone alternates path: bare clones store the alternates file at
objects/info/alternates, not .git/objects/info/alternates. The previous
path was a no-op; the working disconnection comes from --dissociate in
the clone command. Path corrected so the line is defensive belt-and-
braces rather than dead code.

update-gha-workflows.ts: throws with a clear error if npm query returns
a workspace not present in the root "workspaces" array (previously
would silently misorder via indexOf returning -1). The comment in
resolveWorkspaces is corrected to reflect that the function returns
Map insertion order, with the caller re-sorting into declared order.

No repo additions are included; this PR is script-tooling only.
github-actions Bot pushed a commit that referenced this pull request May 14, 2026
…and #505

Replaces the script work of two prior PRs that independently solved
"add an existing scratchfoundation repo to the monorepo":

scripts/add-repo.sh — collapses add-to-monorepo.sh (#434) and add-repo.sh
(#505) into a single canonical entry point. Takes the CLI shape and
auto-CI-regen from #505 and the source-branch auto-detect (develop ->
main -> master), normalization (sort-package-json), and clean-tree
pre-flight from #434.

scripts/update-gha-workflows.ts — replaces the CircleCI-era
build-gha-workflows.ts and workspace-template.yml. Regenerates
.github/path-filters.yml and incrementally updates publish.yml.

Open review comments on #505 are addressed:

- sed -i portability bug: rewrites now use perl -pi -e (works on macOS,
  NixOS, Ubuntu/Debian/Arch, WSL). Perl is added to the explicit prereq
  check next to git-filter-repo, sponge, and jq.
- Arg parser now rejects flag-stealing: --source-branch --org foo errors
  instead of silently using --org as the branch name.
- npm-install failures hard-fail by default. --continue-on-error opts
  into the prior soft-fail behavior; failures are still logged to
  add-repo.errors.log when continuing. Scoped to the per-dep rewire
  loop; the final lockfile install always hard-fails by design.
- The submodules-aware branch in move_repository_subdirectory keeps a
  TODO comment marking that it has never been exercised against a real
  submodules-bearing repo and should be run carefully when one lands.

Cross-workspace dep handling: rewires both bare-name and already-prefixed
@scratch/<name> deps in the new package to exact-pinned current monorepo
versions. Matches the existing convention in scratch-gui/scratch-vm/
scratch-render. npm's workspace: protocol would be the ideal here but
npm does not actually support it (npm/cli#8845 - EUNSUPPORTEDPROTOCOL
at install time).

Workspaces array ordering: the new package is inserted just after the
latest existing workspace it depends on, so 'npm run --workspaces build'
builds its deps first. Falls back to position 0 (prepend) when the new
package has no monorepo deps. This is a "last dep wins" heuristic, not
a full topological sort; it relies on the existing workspaces array
already being in valid build order. A real topo sort can be added later
(e.g. by extending update-gha-workflows.ts) if it ever becomes necessary.

bash 3.2 compatibility: macOS ships bash 3.2 at /bin/bash, which lacks
the 'mapfile' builtin. The find/grep output is collected via a 'while
IFS= read -r' loop so the script runs on macOS as well as Linux.

Bare-clone alternates path: bare clones store the alternates file at
objects/info/alternates, not .git/objects/info/alternates. The previous
path was a no-op; the working disconnection comes from --dissociate in
the clone command. Path corrected so the line is defensive belt-and-
braces rather than dead code.

update-gha-workflows.ts: throws with a clear error if npm query returns
a workspace not present in the root "workspaces" array (previously
would silently misorder via indexOf returning -1). The comment in
resolveWorkspaces is corrected to reflect that the function returns
Map insertion order, with the caller re-sorting into declared order.

No repo additions are included; this PR is script-tooling only.
cwillisf added a commit that referenced this pull request May 14, 2026
Replaces the script work of two prior PRs that independently solved
"add an existing scratchfoundation repo to the monorepo":

scripts/add-repo.sh — collapses add-to-monorepo.sh (#434) and add-repo.sh
(#505) into a single canonical entry point. Takes the CLI shape and
auto-CI-regen from #505 and the source-branch auto-detect (develop ->
main -> master), normalization (sort-package-json), and clean-tree
pre-flight from #434.

scripts/update-gha-workflows.ts — replaces the CircleCI-era
build-gha-workflows.ts and workspace-template.yml. Regenerates
.github/path-filters.yml and incrementally updates publish.yml.

Open review comments on #505 are addressed:

- sed -i portability bug: rewrites now use perl -pi -e (works on macOS,
  NixOS, Ubuntu/Debian/Arch, WSL). Perl is added to the explicit prereq
  check next to git-filter-repo, sponge, and jq.
- Arg parser now rejects flag-stealing: --source-branch --org foo errors
  instead of silently using --org as the branch name.
- npm-install failures hard-fail by default. --continue-on-error opts
  into the prior soft-fail behavior; failures are still logged to
  add-repo.errors.log when continuing. Scoped to per-dep package.json
  rewrite failures in the rewire step; the final lockfile install
  always hard-fails by design.
- The submodules-aware branch in move_repository_subdirectory keeps a
  TODO comment marking that it has never been exercised against a real
  submodules-bearing repo and should be run carefully when one lands.

Cross-workspace dep handling: rewires both bare-name and already-prefixed
@scratch/<name> deps in the new package to exact-pinned current monorepo
versions. Matches the existing convention in scratch-gui/scratch-vm/
scratch-render. npm's workspace: protocol would be the ideal here but
npm does not actually support it (npm/cli#8845 - EUNSUPPORTEDPROTOCOL
at install time).

Workspaces array ordering: the new package is inserted just after the
latest existing workspace it depends on, so 'npm run --workspaces build'
builds its deps first. Falls back to position 0 (prepend) when the new
package has no monorepo deps. This is a "last dep wins" heuristic, not
a full topological sort; it relies on the existing workspaces array
already being in valid build order. A real topo sort can be added later
(e.g. by extending update-gha-workflows.ts) if it ever becomes necessary.

bash 3.2 compatibility: macOS ships bash 3.2 at /bin/bash, which lacks
the 'mapfile' builtin. The find/grep output is collected via a 'while
IFS= read -r' loop so the script runs on macOS as well as Linux.

Bare-clone alternates path: bare clones store the alternates file at
objects/info/alternates, not .git/objects/info/alternates. The previous
path was a no-op; the working disconnection comes from --dissociate in
the clone command. Path corrected so the line is defensive belt-and-
braces rather than dead code.

update-gha-workflows.ts: throws with a clear error if npm query returns
a workspace not present in the root "workspaces" array (previously
would silently misorder via indexOf returning -1). The comment in
resolveWorkspaces is corrected to reflect that the function returns
Map insertion order, with the caller re-sorting into declared order.
The npm query exec call now requests a 64 MiB maxBuffer; Node's
default 1 MiB is fine for the current repo size but would silently
truncate as the monorepo grows.

Path anchoring: BUILD_TMP, BUILD_CACHE, and any user-supplied
--cache-dir value are resolved to absolute paths up front. A
CWD-relative default would have put add-repo.tmp outside the repo
(and outside the .gitignore pattern) if the script were run from a
subdirectory of the monorepo.

No repo additions are included; this PR is script-tooling only.
github-actions Bot pushed a commit that referenced this pull request May 14, 2026
…and #505

Replaces the script work of two prior PRs that independently solved
"add an existing scratchfoundation repo to the monorepo":

scripts/add-repo.sh — collapses add-to-monorepo.sh (#434) and add-repo.sh
(#505) into a single canonical entry point. Takes the CLI shape and
auto-CI-regen from #505 and the source-branch auto-detect (develop ->
main -> master), normalization (sort-package-json), and clean-tree
pre-flight from #434.

scripts/update-gha-workflows.ts — replaces the CircleCI-era
build-gha-workflows.ts and workspace-template.yml. Regenerates
.github/path-filters.yml and incrementally updates publish.yml.

Open review comments on #505 are addressed:

- sed -i portability bug: rewrites now use perl -pi -e (works on macOS,
  NixOS, Ubuntu/Debian/Arch, WSL). Perl is added to the explicit prereq
  check next to git-filter-repo, sponge, and jq.
- Arg parser now rejects flag-stealing: --source-branch --org foo errors
  instead of silently using --org as the branch name.
- npm-install failures hard-fail by default. --continue-on-error opts
  into the prior soft-fail behavior; failures are still logged to
  add-repo.errors.log when continuing. Scoped to per-dep package.json
  rewrite failures in the rewire step; the final lockfile install
  always hard-fails by design.
- The submodules-aware branch in move_repository_subdirectory keeps a
  TODO comment marking that it has never been exercised against a real
  submodules-bearing repo and should be run carefully when one lands.

Cross-workspace dep handling: rewires both bare-name and already-prefixed
@scratch/<name> deps in the new package to exact-pinned current monorepo
versions. Matches the existing convention in scratch-gui/scratch-vm/
scratch-render. npm's workspace: protocol would be the ideal here but
npm does not actually support it (npm/cli#8845 - EUNSUPPORTEDPROTOCOL
at install time).

Workspaces array ordering: the new package is inserted just after the
latest existing workspace it depends on, so 'npm run --workspaces build'
builds its deps first. Falls back to position 0 (prepend) when the new
package has no monorepo deps. This is a "last dep wins" heuristic, not
a full topological sort; it relies on the existing workspaces array
already being in valid build order. A real topo sort can be added later
(e.g. by extending update-gha-workflows.ts) if it ever becomes necessary.

bash 3.2 compatibility: macOS ships bash 3.2 at /bin/bash, which lacks
the 'mapfile' builtin. The find/grep output is collected via a 'while
IFS= read -r' loop so the script runs on macOS as well as Linux.

Bare-clone alternates path: bare clones store the alternates file at
objects/info/alternates, not .git/objects/info/alternates. The previous
path was a no-op; the working disconnection comes from --dissociate in
the clone command. Path corrected so the line is defensive belt-and-
braces rather than dead code.

update-gha-workflows.ts: throws with a clear error if npm query returns
a workspace not present in the root "workspaces" array (previously
would silently misorder via indexOf returning -1). The comment in
resolveWorkspaces is corrected to reflect that the function returns
Map insertion order, with the caller re-sorting into declared order.
The npm query exec call now requests a 64 MiB maxBuffer; Node's
default 1 MiB is fine for the current repo size but would silently
truncate as the monorepo grows.

Path anchoring: BUILD_TMP, BUILD_CACHE, and any user-supplied
--cache-dir value are resolved to absolute paths up front. A
CWD-relative default would have put add-repo.tmp outside the repo
(and outside the .gitignore pattern) if the script were run from a
subdirectory of the monorepo.

No repo additions are included; this PR is script-tooling only.
cwillisf added a commit that referenced this pull request May 19, 2026
…o-script

[UEPR-535] Combine add-repo.sh and CI generator scripts from #434 and #505
github-actions Bot pushed a commit that referenced this pull request May 19, 2026
…/canonical-add-repo-script

[UEPR-535] Combine add-repo.sh and CI generator scripts from #434 and #505
github-actions Bot pushed a commit to SunsetMkt/scratch-editor that referenced this pull request May 20, 2026
…chfoundation/feat/canonical-add-repo-script

[UEPR-535] Combine add-repo.sh and CI generator scripts from scratchfoundation#434 and scratchfoundation#505
cwillisf added 3 commits May 21, 2026 09:16
- Renamed package to @scratch/scratch-storage
- Removed repo-level config (.husky, renovate, commitlint, semantic-release)
- Rewired inter-package dependencies to use workspace versions
- Added to root workspaces list
- Regenerated package-lock.json
@cwillisf cwillisf force-pushed the add-scratch-storage branch from ede89ca to 57a7250 Compare May 21, 2026 16:23
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

Test Results

    8 files  ±0  1 114 suites  ±0   12m 16s ⏱️ -33s
2 845 tests ±0  2 837 ✅ ±0   8 💤 ±0  0 ❌ ±0 
6 471 runs  ±0  6 432 ✅ ±0  39 💤 ±0  0 ❌ ±0 

Results for commit 57a7250. ± Comparison against base commit e7d24a3.

This pull request removes 2 and adds 2 tests. Note that renamed tests count towards both.
test/unit/blocks_control.js > wait ‑ Wait block ended too early: 11 < 10 - 16.666666666666668
test/unit/blocks_control.js > wait ‑ Wait block ended too late: 11 > 10 + 333.3333333333333
test/unit/blocks_control.js > wait ‑ Wait block ended too early: 10 < 10 - 16.666666666666668
test/unit/blocks_control.js > wait ‑ Wait block ended too late: 10 > 10 + 333.3333333333333

♻️ This comment has been updated with latest results.

github-actions Bot pushed a commit that referenced this pull request May 22, 2026
# [13.8.0-UEPR-297-accessibility-improvements.1](v13.7.2...v13.8.0-UEPR-297-accessibility-improvements.1) (2026-05-22)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.81 ([efafb10](efafb10), [b0eb0fa](b0eb0fa), [bfbee82](bfbee82), [015aa6a](015aa6a), [695442f](695442f), [cdc84e3](cdc84e3), [4292446](4292446), [f1caca9](f1caca9), [d70ef73](d70ef73)), closes [#538](#538)
* address review points ([184ac49](184ac49))
* use rems and make outline similar in style to other outlines ([489403b](489403b))
* **add-repo:** use explicit marker for publish.yml insert point ([3448c2c](3448c2c))
* **add-repo:** strip husky v9 prepare script on import ([3fc01b3](3fc01b3))
* typo and queue cleanup ([968446e](968446e))
* utilize wistia js api onReady functionfor focusing the video when ready ([7b36b18](7b36b18))
* **deps:** update dependency scratch-paint to v4.2.2 ([4cc8d82](4cc8d82), [f3ebad2](f3ebad2), [affa366](affa366))
* fixed global outline color and tab outline ([9b870c4](9b870c4))
* always focuses directly on the video play button now ([11de356](11de356))
* remove redundant cursor: pointer from save-now-button ([ca999eb](ca999eb))
* failing test ([c54c6b6](c54c6b6))
* allow keyboard events to propagate to blocks when a menu/modal is closed ([605c0b2](605c0b2))
* dispatch onClickSave fn in the menu-bar, instead of file-menu ([af2914a](af2914a))
* make save now button focusable and applu consistent styling with the rest of the menu buttons ([f4826f5](f4826f5))
* pass the onClickRemix method through the dispatch props ([56bfd7c](56bfd7c))
* **paint:** update scratch-paint to v4.1.52 ([cd98015](cd98015))
* **vm:** normalize displayed names for refs resolved by id during reconciliation ([da628df](da628df))
* **vm:** coalesce same-name dangling references in reconciliation ([1b44f2c](1b44f2c))
* **vm:** repair missing variable and broadcast definitions on project load ([946bfb8](946bfb8)), closes [#554](#554) [#533](#533)
* **vm:** create missing variable and broadcast definitions on import ([673e355](673e355)), closes [#533](#533)
* **deps:** update dependency scratch-blocks to v2.1.19 ([cb7947c](cb7947c), [7e62102](7e62102))
* onsuccess and onerror added to the saveprojectthumbnail ([76a7919](76a7919))

### Features

* **add-repo:** strip semantic-release artifacts on import ([39d7ed2](39d7ed2))
* **deps:** update dependency scratch-paint to v4.2.0 ([0bd2972](0bd2972))
* combine add-repo.sh and CI generator from [#434](#434) and [#505](#505) ([3fdfd68](3fdfd68)), closes [npm/cli#8845](npm/cli#8845)
* added keyboard movement logic inside debug modal ([13d9220](13d9220))
* initial accessibility improvements - popover close and modal tab limitations ([99f5428](99f5428))
* reimplemented algorithm for finding inner menus via HTML tag BFS ([f80c5d7](f80c5d7))
* more dropdowns in new files and stuff ([9914e61](9914e61))
* refactored dropdown menu logic ([1c05d24](1c05d24))
* added some accessability with arrow logic ([06d2d62](06d2d62))
github-actions Bot pushed a commit that referenced this pull request May 22, 2026
# [13.8.0-UEPR-297-accessibility-improvements.1](v13.7.2...v13.8.0-UEPR-297-accessibility-improvements.1) (2026-05-22)

### Bug Fixes

* **release:** set channel for release/* and hotfix/* branches ([ad3dc1a](ad3dc1a))
* **add-repo:** throw on duplicate dep keys after rewrite ([d6621f1](d6621f1))
* **add-repo:** propagate jq failures by writing via tmp+mv ([d5c5762](d5c5762))
* **add-repo:** rewire monorepo deps in alphabetical order ([51a46b8](51a46b8))
* **deps:** update dependency scratch-l10n to v6.1.81 ([efafb10](efafb10), [b0eb0fa](b0eb0fa), [bfbee82](bfbee82), [015aa6a](015aa6a), [695442f](695442f), [cdc84e3](cdc84e3), [4292446](4292446), [f1caca9](f1caca9), [d70ef73](d70ef73)), closes [#538](#538)
* address review points ([184ac49](184ac49))
* use rems and make outline similar in style to other outlines ([489403b](489403b))
* **add-repo:** use explicit marker for publish.yml insert point ([3448c2c](3448c2c))
* **add-repo:** strip husky v9 prepare script on import ([3fc01b3](3fc01b3))
* typo and queue cleanup ([968446e](968446e))
* utilize wistia js api onReady functionfor focusing the video when ready ([7b36b18](7b36b18))
* **deps:** update dependency scratch-paint to v4.2.2 ([4cc8d82](4cc8d82), [f3ebad2](f3ebad2), [affa366](affa366))
* fixed global outline color and tab outline ([9b870c4](9b870c4))
* always focuses directly on the video play button now ([11de356](11de356))
* remove redundant cursor: pointer from save-now-button ([ca999eb](ca999eb))
* failing test ([c54c6b6](c54c6b6))
* allow keyboard events to propagate to blocks when a menu/modal is closed ([605c0b2](605c0b2))
* dispatch onClickSave fn in the menu-bar, instead of file-menu ([af2914a](af2914a))
* make save now button focusable and applu consistent styling with the rest of the menu buttons ([f4826f5](f4826f5))
* pass the onClickRemix method through the dispatch props ([56bfd7c](56bfd7c))
* **paint:** update scratch-paint to v4.1.52 ([cd98015](cd98015))
* **vm:** normalize displayed names for refs resolved by id during reconciliation ([da628df](da628df))
* **vm:** coalesce same-name dangling references in reconciliation ([1b44f2c](1b44f2c))
* **vm:** repair missing variable and broadcast definitions on project load ([946bfb8](946bfb8)), closes [#554](#554) [#533](#533)
* **vm:** create missing variable and broadcast definitions on import ([673e355](673e355)), closes [#533](#533)
* **deps:** update dependency scratch-blocks to v2.1.19 ([cb7947c](cb7947c), [7e62102](7e62102))
* onsuccess and onerror added to the saveprojectthumbnail ([76a7919](76a7919))

### Features

* **add-repo:** rewire monorepo names in bundleDependencies too ([79c87ee](79c87ee))
* **add-repo:** strip semantic-release artifacts on import ([39d7ed2](39d7ed2))
* **deps:** update dependency scratch-paint to v4.2.0 ([0bd2972](0bd2972))
* combine add-repo.sh and CI generator from [#434](#434) and [#505](#505) ([3fdfd68](3fdfd68)), closes [npm/cli#8845](npm/cli#8845)
* added keyboard movement logic inside debug modal ([13d9220](13d9220))
* initial accessibility improvements - popover close and modal tab limitations ([99f5428](99f5428))
* reimplemented algorithm for finding inner menus via HTML tag BFS ([f80c5d7](f80c5d7))
* more dropdowns in new files and stuff ([9914e61](9914e61))
* refactored dropdown menu logic ([1c05d24](1c05d24))
* added some accessability with arrow logic ([06d2d62](06d2d62))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants