-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[BUG] v7 hidden lockfile/node_modules inconsistency, duplicated packages #1597
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
Comments
It looks like they're getting put in the hidden lockfile, but not marked as extraneous (even though they should be). But, since they're not actually reachable via the edges, they don't show up in the list. So It looks like it's placing those deps in the buildIdealTree process, but it shouldn't be, because they are deps of a bundled dep. I'm thinking it's because tap depends on something it's not bundling that depends on |
The `tap` package bundles `import-jsx`, which in turn bundles `@babel/core` and a bunch of other stuff. However, even though `@babel/core` is in the bundle, it's getting placed in the tree at the root. This is a mistake. Because the node is placed, and not given the `extraneous` flag, in the ideal tree building process, when reified, it goes ahead and puts it in place. When reading the actual tree, we see a valid hidden lockfile, which contains the module, and it doens't have the extraneous flag. So everything seems fine. Remove the hidden lockfile, and the problem presents itself. Corrected here through some arduous and painstaking manual installs, so at least we have the tree in the state it *should* be for now. But this is a bug in arborist that must be fixed asap. Re: #1597
The `tap` package bundles `import-jsx`, which in turn bundles `@babel/core` and a bunch of other stuff. However, even though `@babel/core` is in the bundle, it's getting placed in the tree at the root. This is a mistake. Because the node is placed, and not given the `extraneous` flag, in the ideal tree building process, when reified, it goes ahead and puts it in place. When reading the actual tree, we see a valid hidden lockfile, which contains the module, and it doens't have the extraneous flag. So everything seems fine. Remove the hidden lockfile, and the problem presents itself. Corrected here through some arduous and painstaking manual installs, so at least we have the tree in the state it *should* be for now. But this is a bug in arborist that must be fixed asap. Re: #1597
So here's what's happening.
This doesn't happen if you run Possible fix approaches:
Note: there is a call to |
The `tap` package bundles `import-jsx`, which in turn bundles `@babel/core` and a bunch of other stuff. However, even though `@babel/core` is in the bundle, it's getting placed in the tree at the root. This is a mistake. Because the node is placed, and not given the `extraneous` flag, in the ideal tree building process, when reified, it goes ahead and puts it in place. When reading the actual tree, we see a valid hidden lockfile, which contains the module, and it doens't have the extraneous flag. So everything seems fine. Remove the hidden lockfile, and the problem presents itself. Corrected here through some arduous and painstaking manual installs, so at least we have the tree in the state it *should* be for now. But this is a bug in arborist that must be fixed asap. Re: #1597
The `tap` package bundles `import-jsx`, which in turn bundles `@babel/core` and a bunch of other stuff. However, even though `@babel/core` is in the bundle, it's getting placed in the tree at the root. This is a mistake. Because the node is placed, and not given the `extraneous` flag, in the ideal tree building process, when reified, it goes ahead and puts it in place. When reading the actual tree, we see a valid hidden lockfile, which contains the module, and it doens't have the extraneous flag. So everything seems fine. Remove the hidden lockfile, and the problem presents itself. Corrected here through some arduous and painstaking manual installs, so at least we have the tree in the state it *should* be for now. But this is a bug in arborist that must be fixed asap. Re: #1597
The `tap` package bundles `import-jsx`, which in turn bundles `@babel/core` and a bunch of other stuff. However, even though `@babel/core` is in the bundle, it's getting placed in the tree at the root. This is a mistake. Because the node is placed, and not given the `extraneous` flag, in the ideal tree building process, when reified, it goes ahead and puts it in place. When reading the actual tree, we see a valid hidden lockfile, which contains the module, and it doens't have the extraneous flag. So everything seems fine. Remove the hidden lockfile, and the problem presents itself. Corrected here through some arduous and painstaking manual installs, so at least we have the tree in the state it *should* be for now. But this is a bug in arborist that must be fixed asap. Re: #1597
Uh oh!
There was an error while loading. Please reload this page.
Repro script:
@babel/core
v7.11 when the only thing depending on it has a copy from the bundle?The text was updated successfully, but these errors were encountered: