Skip to content
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

Version ranges used in babel-preset-babili #582

Closed
dirtybit opened this issue Jun 15, 2017 · 4 comments
Closed

Version ranges used in babel-preset-babili #582

dirtybit opened this issue Jun 15, 2017 · 4 comments
Labels

Comments

@dirtybit
Copy link
Contributor

After we noticed the recent issue of babel-plugin-minify-constant-folding@0.1.2, we tried to dodge it via fixing the version of gulp-babili dependency to 0.1.2. Unfortunately, that didn't work.

There are two things that catch my eyes: First thing is the last version change of the plugin. Even though it's a new feature, the patch part of the plugin's version is incremented instead of major. Is there any specific reason for doing this?
The other thing is version ranges used in babel-preset-babili. Caret symbol is used to specify plugins' version ranges in the preset package. This can easily lead minor changes of plugins to break the minifier. I think it might be better to use ~ so as to receive only the bug fixing changes.

What do you think?

@j-f1
Copy link
Contributor

j-f1 commented Jun 15, 2017

It might be better to pin all of the versions so that all of the plugins are guaranteed to work together for a given Babili version.

@boopathi
Copy link
Member

the patch part of the plugin's version is incremented instead of major. Is there any specific reason for doing this?

Nothing specific. Just that we want to test out everything (adding optimizations, placing deopts wherever necessary, trying out options - defaults, etc...) before 1.0.0 as 0.0.x telling everyone that this is beta software. The increment to 0.1.0 was that dead-code-elimination was published as 0.1.0 by mistake sometime back and we upgraded all plugins 0.1.x after that.

It might be better to pin all of the versions so that all of the plugins are guaranteed to work together for a given Babili version.

Since it's beta, it's better to have everyone who is testing it out to stay at the latest release - to eliminate bugs reported for previous versions which won't be maintained or a fix won't be back ported to one of the previous beta versions.

Postponing all this to change from 1.0.0 with deprecations handled properly.

@AshleyScirra
Copy link

This just caught me out badly. I do think babili releases should use fixed versions and not auto-update.

I know babili is beta, but we are using it in production already (at editor.construct.net), largely because there are virtually no minifiers that can output ES6, which is what we want to do, and also because babili has a great architecture. I recently ran in to a crash bug (#608) which appears to be in babel-plugin-minify-constant-folding@0.1.3. So I rolled back to babili@0.1.2 which I had used previously and knew worked, and... it still crashed!

It took me a few hours to realise babili actually allows old versions to use the latest plugins. I think this is a very counterintuitive thing to do. The fact babili is still in beta makes it more likely that we would want to roll back a couple of versions, and this approach makes it significantly harder to do that. In my view this should definitely be changed.

@boopathi
Copy link
Member

Postponing all this to change from 1.0.0 with deprecations handled properly

1.0 milestone

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants