-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Compatibility with gulp-sass 4.1.1 broken with bootstrap-sass 3.4.3 and 3.4.2 #1226
Comments
I believe that this should be a breaking change and not being part of 3.4.x version. |
@boenrobot, some thoughts: 1.) Gulp-sass 4.1.1 supports dart-sass. You can resolve your problem by changing the sass compiler. Remove "node-sass" from your
Note that dart-sass 1.33 is the first version with support for 2.) Node 10 has been EOL since April 30, 2021; remaining on that version is not likely to be a viable long-term strategy for you. @ptjuanramos You're right, but Bootstrap 4 is already its own thing, so it's not clear what the best way to signify this change would be. |
We are getting the same issues. Not using gulp-sass. Node version 12.17.0. Would like to know how we could get this resolved. Same error message, |
You will need dart-sass (that is, the |
We use Grunt, and bootstrap-sass installed from bower.json. We can look into updating our project structure, although it was jarring to see these older projects fail seemingly overnight. Seeing that version 3.4.1 did not have the latest changes merged in, we were able to use that and get our builds working again. |
Grunt-sass supports dart-sass since version 3.0.0. If you want to upgrade, I suggest making sure you are on Grunt-sass 3.x, and passing dart-sass to grunt-sass's
With respect to this, it's good practice to use a lockfile, such as package-lock.json (NPM) or yarn.lock (Yarn) to guard against unexpected updates to your dependencies. |
@AprilArcus Thank you for the suggestion.
I'm well aware, but it's not exactly my decision to make. Due to the huge changes between gulp 3 and gulp 4, we need to effectively fully rewrite all of our gulp scripts (of which we have like a dozen ones; mostly the same, but with minor differences between them), and that takes time that my bosses are not willing to allow right now, in favor of bug fixes and features within the applications themselves. This migration is present "on the todo list", but lower in priority.
A minor release (e.g. 3.5.0) maybe? The higher the version vector that can afford an increment, the better. |
Caught this by coincidence in a project so that would have been an exciting deploy. Please don't use patch releases for breaking changes. |
I think that's sensible; what do you think @glebm? Is it possible to revoke 3.4.2 and 3.4.3 from npm and republish as 3.5.0? I do want to note that a breaking change on a 3.5.0 release would also violate semver, though. |
As I noted upthread, you don't need to upgrade to Gulp 4. Your existing versions will meet your needs, since you have gulp-sass 4.1.1 and gulp-sass supports dart-sass since 4.0.2. |
No to intrude, but the second option in my opinion makes sense 😃 |
Yes, I got that part. Thank you again. We'll consider doing that. With the gulp 3 vs gulp 4 thing, I was referring to your bigger comment about Node 10 being EOL. SCSS is not the only thing we have in our build pipeline. If we "just" switch to Node 12, we need versions of everything in the pipeline that is compatible with Gulp 3 and Node 12. However, several of the other libs we're using in the gulp scripts don't have such versions. They have Gulp 4 compatible versions that also require Node 12+, and their gulp 3 compatible versions only support up to Node 10. Maybe there's a way to isolate those dependencies and replace them with analogous ones that have better compatibility, similarly to how you did with dart-sass, but trying to do that ourselves also requires time we might as well spend on rewriting to Gulp 4. |
A solution to keep compatibility with libsass would be to copy the |
That's an interesting idea. Links: |
Wow, this is not very semver. |
Even using lockfile, this will break project because by default npm/yarn/bower will not lock the patch version of a dependancy. So |
@mrleblanc101 I think I understand this to mean that if you were to invoke |
If I run |
|
@fahmilatib You are right and since Can't believe it hasn't been fixed already as this problem is so easy to fix and avoid by RESPECTING semver. https://semver.npmjs.com/ |
Please don't raise your voice. We all know how Semver works, and we're all doing our best. I'm sure you can see that with Bootstrap 4 being a separate product, the bootstrap-sass maintainers cannot cut an unrelated release of Bootstrap 3 and call it " |
Yes it can. The version of this package has nothing to do with the version of bootstrap it install. |
I'm afraid that as I'm not a maintainer and not responsible for selecting the version number published to NPM, I can't help any further. |
At the company I work for, we have a project that uses NodeJS to compile our assets with gulp. Specifically, gulp-sass 4.1.1.
With the release of 3.4.3, we got the following error on our builds.
There is a newer gulp-sass version (5.0.0), but that one requires gulp 4 and Node 12, making that upgrade difficult (we're using gulp 3 and Node 10).
Regardless, breaking compatibility in a patch version is kind of a bad move, so I thought I'd report it. For now, we've just move back to 3.4.1 (as 3.4.2 seems was also affected, but I guess we hadn't updated since its release).
The text was updated successfully, but these errors were encountered: