-
-
Notifications
You must be signed in to change notification settings - Fork 3
Closed
Description
Related to
Description
Almost all integration tests in the smalruby3-editor monorepo currently fail because the build process is broken. The build fails primarily due to Module not found errors, as many source files and configuration files still refer to packages using the @scratch/ scope (e.g., @scratch/scratch-vm) instead of the @smalruby/ scope used in this fork.
Root Causes
- Build Failure:
npm run buildfails because sub-packages cannot resolve dependencies that have been renamed to@smalruby/.- Example:
packages/scratch-render/src/SVGSkin.jsrequires@scratch/scratch-svg-renderer.
- Example:
- Webpack Configurations:
webpack.config.jsinscratch-guiandscratch-vmstill use@scratch/inCopyWebpackPluginpatterns and other places. - Integration Test Timeouts: Since the build fails, the
build/index.htmlfile used by integration tests is missing or broken, leading to Selenium timeouts when trying to find elements.
Findings
A search revealed numerous occurrences of @scratch/ that should be updated:
packages/scratch-gui/src/**/*.jsxpackages/scratch-render/src/**/*.jspackages/scratch-vm/src/**/*.jspackages/task-herder/package.json(still named@scratch/task-herder)- Various
webpack.config.js,tsconfig.json, andeslint.config.mjsfiles.
Proposed Improvements
- Global Package Name Update: Replace all occurrences of
@scratch/scratch-vm,@scratch/scratch-render,@scratch/scratch-svg-renderer, and@scratch/task-herderwith their@smalruby/counterparts throughout the codebase. - Update Webpack Paths: Ensure
webpack.config.jsfiles correctly referencenode_modulesin the monorepo structure (e.g., using workspaces or correct relative paths). - Fix task-herder: Update
packages/task-herder/package.jsonto use the@smalrubyscope if it's intended to be part of this fork. - Verify Build: Ensure
npm run buildcompletes successfully. - Run Integration Tests: Once the build passes, verify that
npm run test:integrationsucceeds.
Metadata
Metadata
Assignees
Labels
No labels