- Updates to
unify_package_rename
codemod in preparation for migration- No longer update import namespaces
- Refine FIXME comments and other small improvements
- Null safety codemod improvements
- Don't add migrator tool hint comments to files that have already been migrated to null safety
- Add required prop validation ignores for
connect
-ed props (see more info in migration guide) - Only make defaulted class component props required when they're not public, to avoid breakages and align with migration guide guidance
- Note: defaulted prop hints are now added via the
null_safety_required_props
executable instead of vianull_safety_migrator_companion
- Note: defaulted prop hints are now added via the
- Add optional (
/*?*/
) hint to non-defaulted state fields, just like for props useRef<…>(null)
is now migrated touseRef<…>()
instead ofuseRefInit<…>(null)
(the old behavior wasn't problematic, just not as clean as it could have been)
- Unpin
meta
dependency
- Add
null_safety_required_props
executable to help migrate over_react props to nulls safety
- Fix outdated
dart2_upgrade
instructions in README - Update dev_dependencies, switch to mocktail
null_safety_prep
codemod - Migrate conditional prop function callsintl_migration
codemod - add deprecation message- Add
null_safety_migrator_companion
codemod to help migrate over_react consumers to null safety
- Add
null_safety_prep
codemod to help migrate over_react consumers to null safety
- Add
required_flux_props
codemod to prepare consumers for over_react 5.0.0 - Add
sort_intl
executable for sorting messages in INTL files - Add
unify_package_rename
executable
- Update
pub get
commands todart pub get
- Improve error messages in
intl_message_migration
- Exclude CamelCaseWords and Period.Separated.Uppercase.Words in
intl_migrator
codemod
- intl_suggestors improvements
- Handle non-arrow intl functions
- Handle ignore comments preceded by other comments
- Update analyzer package minimum to 5.0.0
- Limit meta dependency to avoid 1.10.0
- Improve single line ignore comments in intl codemod
- intl codemod:
- Implement ignore comments for const strings
- Add an explanatory comment on codemod-generated files
- Give a better error message when something in the intl file is not a method
- Update bundle updater codemod to include link tags
- Fix for creating two copies of identical messages when they used double quotes
- Fix names when writing the _intl.dart file
- Attempt to reduce merge conflicts on _intl.dart files
- Update the glob for pubspecs to pick up things like empty_pubspec.yaml
- add shouldAddDependencies to bundle updater codemod
- Change parameters typed Function in formattedMessage calls to Object
- Batch change to update consumers to new RMUI ESM bundle
- Migrate calls to addContextMenuItem
- Fix the ignore for static-only classes to be for the file
- Add nicer logging to codemod dryrun check
- Add a --[no]-prune-unused flag to remove methods that appear to be ununused from the _intl.dart file.
- Add a --[no]-migrate-components option for intl_message_migration
- Switch the import in _intl.dart generated classes to be w_intl/intl_wrapper.dart
- Upgrade to analyzer 2.0
- Improve reporting of parse errors in generated code for intl_message_migration
- Fix a regression where we were getting strings with surrounding quotes from the node, and not stripping leading numbers as a result.
- Don't convert SCREAMING_CAPS_CONSTANTS in intl_message_migration
- Improve the sorting to be by function/getter name rather than the whole function/getter string.
- Allow reading an existing _intl.dart file and rewriting it, preserving the existing functions.
- Turn on the --migrate-constants option by default.
- Re-enable sorting of the _intl.dart file.
- Fix type error with adjacent strings.
- Prevent duplicate names for constants by falling back to a content-based name if the variable name is a duplicate.
- Ignore the lint for unnecessary braces in string interpolations in the generated
intl.dart
file. - Change the name of migrated constant strings to match the original variable instead of being derived from the value.
- Make the intl_message_migration codemod handle adjacent strings.
- Make the intl_message_migration codemod allow directories on the command line, and default to processing only /lib.
- Fix a bug in intl_message_migration codemod numbering of functions that it otherwise couldn't name.
- Add
dart2_9_upgrade
executable that can either:- Upgrade a repo from the mixin based boilerplate to the new factory syntax.
- Perform a dry run (using the
--check-for-transitioning
flag) to check if the repo has migrated but also contains the now deprecated mixin based factories.
- Update the
react17_dependency_override_update
codemod to add overrides that point to the release branches for React 17 instead of alpha versions.
- Add
react17_upgrade
codemod- Updates version upper bound of react and over_react in pubspec.yaml to allow for incoming React 17 updates.
- Add
react17_dependency_override_update
codemod- Adds dependency overrides to pubspec.yaml for testing wip branches of React 17.
- Fix issue with accessing
isEof
getter on a null token
Boilerplate codemod fixes and improvements:
- Fix locally-generated semver reports not being readable due to not being nested inside an
{"exports": ...}
object - Treat FIXMEs converted to TODOs the same as FIXMEs (and don't add new FIXMEs on top of them)
- Account for edge cases when Props were named
${componentName}ComponentProps
- Ignore common mixins that are known to not implement lifecycle methods and thus shouldn't necessitate migration:
- TypedSnapshot
- FocusRestorer (Workiva-specific)
- FormControlApi/FormControlApiV2 (Workiva-specific)
- Update minimum versions of over_react/over_react_test to include important bugfixes
- Update boilerplate version updater.
- Fix issues discovered during initial boilerplate rollout.
- Add upgrade instructions.
- Improve handling of newlines in boilerplate upgrades.
- Add additional paths forward for components requiring breaking changes before upgrading.
- Add ability to pass paths or globs to boilerplate_upgrade as basic args to only run the codemod on the specified files.
- Add codemod for new boilerplate.
- Create simple props / state boilerplate migrator.
- Add codemod utility to tell if something is public API.
- Remove props/state “companion” classes as part of the boilerplate update.
- Add advanced props migrator.
- Add standalone
PropsMixin
/StateMixin
migrator. - Add annotation remover.
- Use utility class to contain map of converted classNames.
- Consume
SemverHelper
. - Address edge cases for boilerplate codemods.
- Improve class migration short-circuit logic and consumer communication.
- Do final cleanup for new boilerplate codemod.
- Update react and over_react versions for boilerplate migration.
- Address some boilerplate codemod edge cases.
- Preserve
consumedProps
behavior when shorthand used. - Add
GeneratedPartDirectiveIgnoreRemover
to boilerplate codemod. - Add suggestor to move factory ignore comments.
- Preserve consumed props behavior defaults.
- Change the over_react version for the react16_post_rollout_cleanup codemod from ^3.1.0 to ^3.1.3.
- Use caret deps when possible in version range updates.
- Revert react16_upgrade change in 1.4.0 that forced over_react to be added whenever just react was listed as a dependency
- Ignore
.g.dart
files in React 16 codemods.
- Fix a bug that would cause ErrorBoundary components with props to be wrapped in another ErrorBoundary.
- Update Component2 ComponentWillMountMigrator to migrate the componentWillMount lifecycle code to componentDidMount
- Add React 16 getDefaultProps & getInitialState Migrator
- Add React 16 Post Rollout Codemod
- Update React 16 pubspec updater to include over_react
- Enable the use of
// orcm_ignore
comments when running the react16 / component2 codemods.
- Fix a bug that would occur when parsing a pubspec version of "any"
-
Add a flag
--no-partial-upgrades
tocomponent2_upgrade
codemod that will prevent partial component upgrades from occurring. -
Fix a bug that could occur when parsing a pubsec version in
dependency_overrides
section.
-
Add
react16_upgrade
codemod- Fix compatibility issues common in react15 code.
- Update version upper bound of react and over_react in pubspec.yaml to allow for incoming react16 updates.
-
Add
component2_upgrade
codemod- Migrates components to
UiComponent2
(coming in over_react 3.1.0)
- Migrates components to
-
Add
react16_dependency_override_update
codemod- Adds dependency overrides to pubspec.yaml for testing wip branches of React 16
-
Add
react16_ci_precheck
codemod- Checks the version ranges of over_react and react and if they are in transition will run the codemod and fail if there are unaddressed issues.
-
Two additional changes are now made by the
dart2_upgrade
codemod when running without the--backwards-compat
flag:// orcm_ignore
comments are removed// ignore: uri_has_not_been_generated
comments that precede a.over_react.g.dart
part directive are removed
-
Fix a bug that could result in overlapping patches being suggested, which would cause the
dart2_upgrade
codemod to exit early unsuccessfully.
-
Provide additional output from the
dart2_upgrade
codemod in the following two scenarios:- When running with the
-h|--help
flag - When running with the
--fail-on-changes
flag
- When running with the
- Fix a bug with removing the
// ignore: undefined_identifier
comment from UI Factories when runningover_react_codemod:dart2_upgrade
without the--backwards-compat
flag.
- Initial release!