NullVoxPopuli / ember-addon-migrator

ember addon v1 to v2 migrator
19 stars 4 forks source link

Add options for `extract-tests` to reuse existing versions or ignore new dependencies #72

Closed simonihmig closed 1 year ago

simonihmig commented 1 year ago

This is an attempt to implement the use cases of #64.

--reuse-existing-versions will replace any version specifier of the test-app with the one that existed before the migration, e.g. a pinned one.

--ignore-new-dependencies will remove dependencies from test-app if they weren't in use before. This is admittedly a high risk option, in case we remove things that are not optional and do not come from "elsewhere" (like centralized linting configs), but it worked out quite ok for us...

No test coverage here, idk if you like to see some for these flags? Would need to be some fixture-based tests that actually assert file contents instead of "just" doing some smoke-tests that the migration results passes linting/tests, right? (Tbh, I wouldn't mind not having to do those, at least at this stage of this project... 🙃)

/cc @nicolechung

changeset-bot[bot] commented 1 year ago

🦋 Changeset detected

Latest commit: f60862c18f1d8ee277cc7fc7280d9780772cbb84

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package | Name | Type | | -------------------- | ----- | | ember-addon-migrator | Minor |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

NullVoxPopuli commented 1 year ago

Thanks for doing this!

fixture-based tests actually assert file contents

Yeah, i think you're right that we probably don't want to run install, lint, test, etc, like the other tests. I think maybe (?) Similar setup from the other tests could be used to test these new flags and assert the contents of the package.json (the fixtures folder maybe could get away with minimal things?) Maybe there should be a separate folder for non-smoke fixtures for these kinds of 'run the tool, check the file contents' tests? (Iirc, the smoke tests iterate over the existing fixtures folder contents) That could need some setup work, and is totally fine to do later.