Fix: Add a migration step for importing Blockly correctly #2495
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The basics
Adds a check for the Blockly import to the migration script. Due to how the script is set up this will run every time, even if it's already correct, but that should be a no-op.
The details
Resolves
Fixes #2349
Proposed Changes
Adds a database entry to fix_imports.js for updating how Blockly gets imported
from:
import Blockly from 'blockly';
to:
import * as Blockly from 'blockly';
Because of how the migration script is set up there's no easy way to check if the import is already correct, so it will always perform the replacement if there are references to Blockly in the file. This shouldn't cause any visible change, so is just inefficient. This shouldn't be a problem given the usage of the migration script.
I also changed the manual test files from .txt to .js because the script was previously updated to only run against .js and .ts files to avoid modifying something unexpectedly.
Reason for Changes
import Blockly from 'blockly' isn't guaranteed to work correctly and should be import * as Blockly from 'blockly' instead.
Test Coverage
Ran mocha tests and the manual test files to verify.
Documentation
Additional Information