-
Notifications
You must be signed in to change notification settings - Fork 214
Neutrino 9 beta/release candidate feedback #1129
Comments
To give an example for the performance improvements - I created a project using Neutrino's
( The speedup is even greater on projects that are larger than the Please do let us know how much of a difference upgrading makes! :-) |
After upgrading to 9 beta from 8 and doing various minor adjustments following the migration guide, everything seems to work nicely by me except one thing. I was using the webpack-pwa-manifest plugin to generate and inject a PWA manifest in the html. I verified that the plugin is supposed to be updated for Webpack v4. I add the plugin to the end of the
The plugin is correctly picked up and executed, generating all its files and manifest in the build folder, it however fails to inject its contents in the Is this a possible bug introduced by the current neutrino v9 beta? Note that the same config/code worked correctly before. |
Hi! Thank you for trying out the beta. For Neutrino 9, we've updated
The 4.x release of Perhaps it might be worth filing an issue over at https://github.com/arthurbergmz/webpack-pwa-manifest to see if they can add support even before the final |
You're absolutely right, thanks for the in depth answer, I got confused by the master/beta README of the newly used plugin. Nothing left for me to nag about then, it all works nicely :) Only a small typo that I noticed in the migration guide:
|
I'm struggling to get styles working in a development build. In production everything works as expected after following the migration guide, but for development builds I'm getting errors for standard CSS (even the simplest CSS file generates this error):
I believe this may be due to I've not added any extra config options for |
@mattmcdonald-uk hi! Does the output from @Shyiy - great! Thank you for trying it out and the feedback. Re the docs Node.js version, that part is definitely unclear, it should probably say "Node.js 6 and 9 are no longer supported". |
@edmorley If I turn The different this makes to the development config output is removing this:
|
Ah so |
It's being started with |
Ah - are you setting custom Currently the web preset disables extract when not in production, here: neutrino/packages/web/index.js Line 32 in 7e5e3ab
neutrino/packages/style-loader/index.js Lines 21 to 27 in 7e5e3ab
neutrino/packages/style-loader/index.js Line 53 in 7e5e3ab
Edit 2: Actually I missed that we handle this here: neutrino/packages/web/index.js Lines 95 to 97 in 7e5e3ab
I think we should either:
@mattmcdonald-uk @eliperelman, thoughts? Edit: I personally think (1) might be fine, since |
@edmorley With my original issue I hadn't set the From what I can see, currently |
I've verified locally that this doesn't happen when using the web preset - are you using |
Sure, this is what I'm using:
|
Ah right that explains it :-) The |
Ah. That would explain it! So how would I configure
|
The neutrino/packages/web/index.js Lines 30 to 33 in 7e5e3ab
neutrino/packages/web/index.js Line 176 in 7e5e3ab
This isn't the first time that those options have been hard for people to find -- so we should probably come up with a way to adjust the existing docs mention to make it clearer. Any ideas? :-) |
Great, everything's working now. Thanks for helping me sort that (and for releasing v9 - hot loading is working properly for me again! 🎉) I initially took a guess that the key might be Other than that I think a mention that the An additional CLI warning that you shouldn't include |
@mattmcdonald-uk, glad it's working now! I'll have a think about what changes I can make. @ratson, yeah I discussed with Eli on IRC and said that (a) the two changes were unrelated (and both significant) so shouldn't be bundled into the same PR, (b) we needed to figure out what permissions we did/didn't need from previous contributors before we relicence. Is lack of MIT licence blocking your usage of Neutrino? |
Not currently, just wondering if releasing with a more permissive license is still on the plan. |
Here are two PRs for projects upgrading from Neutrino 8 to 9:
Some of the issues encountered for which we could improve the UX:
|
I find it preferable to "trust" a project that has a methodical and deliberate release process, opposed to one with frequent breaking releases. Also worth noting is that v9 introduces some of the most significant conceptual changes to the project, and thus is a very important release to get right. |
@edmorley Hey 👋 |
I am currently using neutrino 8 with react preset but would like to use babel 7. The only way that I know is to upgrade the neutrino to v9 rc. Is that true or I have the ability to change the babel version without migrating to v9? |
@akhnaz are you using the presets? |
@yordis I am using presets react |
I don't really care about usage of neutrino without presets, IMHO presets are what make neutrino useful. But I agree that Neutrino's release process for core and presets should be decoupled from each other. Inside the release process presets seem to slow down the release of bugfixes to core that affect everyone. While outside the main repo presets suffer from maintenance issues, in my experience frequently becoming abandoned making it impossible to fix bugs and limitations in them. I think presets should stay inside the neutrino mono-repo and we should invite adding more presets to the mono-repo. But the release process should be decoupled so that core and individual presets can get releases without waiting for a bug in a separate preset to be fixed. Then instead of presets becoming abandoned and hard to fix when one person no-longer finds them useful, anyone using them can fix bugs simply by submitting a PR that can be merged by someone other than only the original author. And core can get releases more frequently without waiting for any one of the presets to have all its bugs fixed.
Personally I find it's usually the opposite. Most projects I see that make frequent breaking changes (Material UI, React Native) make small near-painless breaking changes that make migration easy and usually because of it have good tooling (codemods and compat shims) to make those migrations easier. While projects that avoid making breaking changes for a long time and wait to do it all at once in a long process (Babel) draw out the migration to a painful length and lead to a hell within the community where people are on different versions, stable releases become unusable bug-ridden problems, alphas become the de-facto "stable" version, and migration is painful. |
@dantman You certainly have a point there, especially with the projects you mentioned. Somewhere in the middle is likely ideal. I also empathize with your experience of finding dead/abandoned presets (I know I have a few), and wishing they were in core. At the same time, having more presets in core is more of a burden for maintainers. Decoupling releases would help that, but it would also seem awkward (and present difficulties for testing) if all presets were all at different versions and compatibilities. One idea would be to create an "official" channel for community supported presets, e.g. https://github.com/webpack-contrib. That way they don't need to be in core, but can still be centralized and more easily vetted, deprecated, and managed. |
Has anyone else played around with multi-compiler output w/ v9? I'm attempting to use a single Here's what I have so far…
…then in my
seems to be working? Curious if anyone else has done this, or if this seems like a reasonable approach? |
@timkelty looks good to me - it's the approach we mention here: |
@edmorley Ah - totally missed that in the guide, thanks! I guess the difference from my example is I'm creating 2 full neutrino instances with different options, rather than just manipulating the webpack output. I wasn't sure if setting an arbitrary option on |
I've just published Full changes here: |
I'd like to ship Neutrino 9 final in the next week or two. If anyone sees issues with RC4 please file them as soon as possible. Also if anyone has spare time to work on #1404 it would be appreciated :-) |
I've deployed it to a couple of projects. So far no problems. Thanks Ed! |
@armenzg That's great! Hope you are well and things going great for Treeherder and the rest of the team :-) |
Thank you so much for the migration tool and your work on the project. Currently exploring Since I would have expected something similar as for the eslint package, e.g.
edit: ok found the rationale here. #1110 sorry for spamming the main issue. will open a separate one. |
Any news on the release date? |
I've just released v9.0.0-rc.5: Presuming no issues reported in the next few days, I'd like to release v9 final at that point. |
Hi! Yeah #1492 is the only potential blocker (not in the sense that it's a regression, but because it's a breaking change) - though perhaps it's best to just leave it until Neutrino 10 now. |
Just jumped on the Neutrino band-wagon. I struggled with v8 until I found these threads pointing to v9 RC. I would also like to echo the overall sentiment, please release 9.0.0 😄 |
I've opened #1505 to begin the v9.0.0 final release process :-) |
Neutrino 9.0.0 stable is now released. Thank you to everyone who tried out the betas/release-candidates and/or gave feedback. The v9 docs are now published to https://neutrinojs.org . For migration guide see: https://neutrinojs.org/migration-guide/ For any issues/feedback found from now on, please open as new GitHub issues :-) |
Thanks for all the work, @edmorley! |
Neutrino was and still is the best webpack config abstraction. Thank you @edmorley ! |
Hi!
We've just published a beta release of Neutrino 9 and are keen to have people trying it out/giving feedback. Notable changes:
neutrino --inspect
feature now produces a fully-working webpack config, for easier debugging.Full changelogs:
The docs for the new version can be found here:
https://master.neutrinojs.orghttps://neutrinojs.org/Note that during the beta phase, you'll need to explicitly install the
@next
version of any Neutrino monorepo packages when following the docs, otherwise you will install the latest stable (v8.3.0) packages instead.For example, to use v9's
create-project
, run:Or to upgrade an existing project, modify the
neutrino
and@neutrinojs/*
entries in yourpackage.json
to use version^9.0.0-rc.5
^9.0.0
and then see:https://master.neutrinojs.org/migration-guide/https://neutrinojs.org/migration-guide/If you find any bugs (including things in the migration guide/docs that aren't clear enough) please comment here or file issues, so we can sort out any rough edges :-)
Many thanks!
The text was updated successfully, but these errors were encountered: