Skip to content

feat: Add scratch-paint to monorepo#594

Draft
adzhindzhi wants to merge 4261 commits into
scratchfoundation:developfrom
adzhindzhi:feat/add-scratch-paint-to-monorepo
Draft

feat: Add scratch-paint to monorepo#594
adzhindzhi wants to merge 4261 commits into
scratchfoundation:developfrom
adzhindzhi:feat/add-scratch-paint-to-monorepo

Conversation

@adzhindzhi
Copy link
Copy Markdown
Contributor

@adzhindzhi adzhindzhi commented May 29, 2026

Resolves

UEPR-535 Add scratch-paint to monorepo

Proposed Changes

This PR migrates scratch-paint into the scratch-editor monorepo and resolves the integration issues that surfaced once scratch-paint was consumed as a workspace package by scratch-gui.

  • Import scratch-paint into the monorepo and update scratch-gui to use the workspace package.
  • Upgrade scratch-paint eslint config to eslint-config-scratch 14 and apply compatibility adjustments for classic JSX usage
  • Stabilize Jest in scratch-paint under monorepo hoisting:
    • add explicit jsdom test environment dependency
    • use a custom Jest environment to resolve canvas from the scratch-paint workspace package
    • document why this is needed in packages/scratch-paint/test/jest-canvas-environment.js
  • Fix scratch-gui consumption of scoped scratch-paint source by transpiling that path and adding missing TS module typing

Reason for Changes

  • In monorepo hoisting, jest-environment-jsdom resolved from root while canvas lived in scratch-paint, causing canvas-dependent tests to fail.
  • Scoped package path resolution introduced a webpack transpilation gap for scratch-paint JSX inside node_modules paths.

Test Coverage

Build and tests complete successfully, npm package resolution is as expected

renovate Bot and others added 30 commits October 26, 2025 14:09
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.0.25](scratchfoundation/scratch-paint@v4.0.24...v4.0.25) (2025-10-26)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.0.72 ([#3382](scratchfoundation/scratch-paint#3382)) ([be28326](scratchfoundation/scratch-paint@be28326))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.0.26](scratchfoundation/scratch-paint@v4.0.25...v4.0.26) (2025-10-27)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.0.73 ([#3385](scratchfoundation/scratch-paint#3385)) ([bc1e24a](scratchfoundation/scratch-paint@bc1e24a))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.0.27](scratchfoundation/scratch-paint@v4.0.26...v4.0.27) (2025-10-28)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.0.74 ([#3387](scratchfoundation/scratch-paint#3387)) ([cf162ae](scratchfoundation/scratch-paint@cf162ae))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
# [4.1.0](scratchfoundation/scratch-paint@v4.0.27...v4.1.0) (2025-10-31)

### Features

* **deps:** update dependency scratch-l10n to v6.1.1 ([#3390](scratchfoundation/scratch-paint#3390)) ([81e0869](scratchfoundation/scratch-paint@81e0869))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.1.1](scratchfoundation/scratch-paint@v4.1.0...v4.1.1) (2025-10-31)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.2 ([#3392](scratchfoundation/scratch-paint#3392)) ([8246e7b](scratchfoundation/scratch-paint@8246e7b))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.1.3](scratchfoundation/scratch-paint@v4.1.2...v4.1.3) (2025-11-01)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.3 ([#3393](scratchfoundation/scratch-paint#3393)) ([4ade124](scratchfoundation/scratch-paint@4ade124))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.1.4](scratchfoundation/scratch-paint@v4.1.3...v4.1.4) (2025-11-02)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.5 ([#3396](scratchfoundation/scratch-paint#3396)) ([e0f467d](scratchfoundation/scratch-paint@e0f467d))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.1.5](scratchfoundation/scratch-paint@v4.1.4...v4.1.5) (2025-11-03)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.7 ([#3397](scratchfoundation/scratch-paint#3397)) ([25122eb](scratchfoundation/scratch-paint@25122eb))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.1.6](scratchfoundation/scratch-paint@v4.1.5...v4.1.6) (2025-11-04)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.8 ([#3400](scratchfoundation/scratch-paint#3400)) ([63b8ac1](scratchfoundation/scratch-paint@63b8ac1))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate Bot and others added 28 commits May 17, 2026 05:46
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.2.1](scratchfoundation/scratch-paint@v4.2.0...v4.2.1) (2026-05-17)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.76 ([#3545](scratchfoundation/scratch-paint#3545)) ([25b2a45](scratchfoundation/scratch-paint@25b2a45))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.2.2](scratchfoundation/scratch-paint@v4.2.1...v4.2.2) (2026-05-18)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.77 ([#3546](scratchfoundation/scratch-paint#3546)) ([b99700e](scratchfoundation/scratch-paint@b99700e))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [4.2.3](scratchfoundation/scratch-paint@v4.2.2...v4.2.3) (2026-05-29)

### Bug Fixes

* **deps:** update dependency scratch-l10n to v6.1.78 ([#3548](scratchfoundation/scratch-paint#3548)) ([5b1e6ab](scratchfoundation/scratch-paint@5b1e6ab))
* **deps:** update dependency scratch-l10n to v6.1.79 ([#3550](scratchfoundation/scratch-paint#3550)) ([a590db2](scratchfoundation/scratch-paint@a590db2))
* **deps:** update dependency scratch-l10n to v6.1.80 ([#3551](scratchfoundation/scratch-paint#3551)) ([b007e15](scratchfoundation/scratch-paint@b007e15))
* **deps:** update dependency scratch-l10n to v6.1.81 ([#3552](scratchfoundation/scratch-paint#3552)) ([6566ca0](scratchfoundation/scratch-paint@6566ca0))
* **deps:** update dependency scratch-l10n to v6.1.82 ([#3553](scratchfoundation/scratch-paint#3553)) ([65b22cb](scratchfoundation/scratch-paint@65b22cb))
* **deps:** update dependency scratch-l10n to v6.1.83 ([#3555](scratchfoundation/scratch-paint#3555)) ([42e83d8](scratchfoundation/scratch-paint@42e83d8))
* **deps:** update dependency scratch-l10n to v6.1.84 ([#3558](scratchfoundation/scratch-paint#3558)) ([6b2ad51](scratchfoundation/scratch-paint@6b2ad51))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Renamed package to @scratch/scratch-paint
- Removed standalone-repo metadata (CI/release configs, hooks, repo-level dotfiles)
- Refreshed LICENSE/TRADEMARK from monorepo root
- Rewired inter-package dependencies to use workspace versions
- Added to root workspaces list
- Regenerated package-lock.json
@adzhindzhi adzhindzhi requested a review from a team as a code owner May 29, 2026 14:59
@adzhindzhi adzhindzhi marked this pull request as draft May 29, 2026 15:04
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.

4 participants