davidje13 / neutrino-typescript

Transpiles TypeScript as part of the build process.
MIT License
8 stars 2 forks source link

addIfAbsent does not compare modules correctly #2

Closed moarcaffeine closed 4 years ago

moarcaffeine commented 4 years ago

This is related to #1.

I can indeed run your example but I get complaints about @babel/core being missing as a peer dependency of all the dependencies in neutrino-typescript.

Consequently it would seem Babel is not operational in this state. However, when you add @babel/core you will receive the error about duplicate plugins and be unable to proceed to the web landing:

Details Failed to compile. ./src/index.tsx Module build failed (from ./node_modules/.pnpm/registry.npmjs.org/babel-loader/8.0.6_@babel+core@7.7.4+webpack@4.41.2/node_modules/babel-loader/lib/index.js): Error: Duplicate plugin/preset detected. If you'd like to use two separate instances of a plugin, they need separate names, e.g. ....

I traced down the issue and it looks like the fix is relatively simple. I'm attaching a PR. Hope it helps. Thank you for working on this!

davidje13 commented 4 years ago

I think the main problem here was version mismatches; I have updated all the dependency versions and things seem to be happy (no complaints about @babel/core that I can see). You should never need to explicitly bring in @babel/core in a neutrino project as I understand things (jest, node, and react presets all include it as a non-peer dependency, for example)

I've merged your suggested fix too, since it seems reasonable, but I made a few changes in line with the comments I added to the PR. Can you check that it works for you now?

davidje13 commented 4 years ago

@moarcaffeine is this OK to close now?

davidje13 commented 4 years ago

Closing this issue because this appears to be OK and haven't heard back for nearly a year. Happy to re-open if this is still a problem for anybody.