-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update app template dependency versions #790
Update app template dependency versions #790
Conversation
FWIW, I verified that setting the versions to |
The app template was still pointing to 0.39.1.
To make sure `yarn.lock` is up-to-date.
90325a5
to
ce149f8
Compare
That is actually a deliberate feature of scenario-tester. In this case, you're correct that it was unintentional, and the normal release process is supposed to update these inside-the-monorepo dependencies to match, and we probably got it wrong after a merge. We should probably add a test to assert against that happening again. For an example where we're intentionally making a package test against it's own earlier versions, see https://github.com/ef4/ember-auto-import/blob/d3059863fc84ed3c0520b64b232476a6022be945/test-scenarios/package.json#L25-L26 |
Gotcha. And when these scenarios run, are the apps generated from the app template run in the workspace? i.e. are they sharing dependencies with |
It's neither of those exactly. We don't run any separate installs, that's pretty important, as putting But we also don't just inherit from node_modules in an uncontrolled way. We do work in a temp directory, and the discovery and linking of dependencies is handled by scenario-tester (and it's dependency So it's important that the app-template is a real workspace. We really do get the default set of dependencies from there. It also has the benefit of making things like |
Got it. Thanks for helping me understand! |
I noticed that
yarn.lock
is out-of-date and runningyarn
would update it to add0.39.1
versions of the embroider packages plus a bunch of their dependencies. I'm guessing the issue here isn't an out-of-dateyarn.lock
, but a merge oversight (?) resulting inapp-template
pointing at the0.39.1
versions rather than0.40.0
, which I think means some of the tests weren't actually running against the latest version.@embroider/shared-internals@^0.39.1
was added toyarn.lock
, I believe because it's a transitive dependency ofapp-template
'sember-auto-import
dependency. I also updated the CI scripts to runyarn
with--frozen-lockfile
soyarn.lock
being out-of-date will be caught by CI in the future.I don't really know how
scenario-tester
works with workspaces, but I'm wondering if we should changeapp-template
's@embroider/*
versions inpackage.json
to*
. Assumingscenario-tester
handles workspaces correctly, this would ensure that they always match and run against the local@embroider/*
packages, and never fetch them from the registry and run against probably-older code.If that doesn't make sense/work, then I suspect we'd want to remove
app-template
from the package workspaces and treat it as a standalone test fixture so its dependencies aren't mixed with the workspace's. As it stands, it might run against the local packages or it might run against some code fetched from the registry depending on the specifics of the different version strings, and that seems kinda non-deterministic for an automated testing environment.