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

Remove coffeescript dependency #1556

Closed
jimmywarting opened this issue Oct 12, 2016 · 11 comments
Closed

Remove coffeescript dependency #1556

jimmywarting opened this issue Oct 12, 2016 · 11 comments

Comments

@jimmywarting
Copy link
Contributor

jimmywarting commented Oct 12, 2016

In my opinion Grunt should not have a coffee-script as a direct dependency. It should just use the version that is installed for a project...

I think there is numerous of package that also uses vanilla javascript and thinks this just make grunt bloated with unnecessary stuff

@shama
Copy link
Member

shama commented Oct 12, 2016

I agree. We have an active RFC for implementing liftoff which would make that dependency optional: https://github.com/gruntjs/rfcs/blob/master/text/0001-liftoff.md

It's just a matter of myself getting time to implement it or another contributor generously donating their time to implement.

@leider
Copy link

leider commented Oct 22, 2016

wouldn't it help to move it to the dev section?

@jimmywarting
Copy link
Contributor Author

@leider Don't think so... Gulp don't use coffee script in their code/development. It's included so that ppl can require coffee script files and use it together with grunt.

@leider
Copy link

leider commented Oct 22, 2016

@jimmywarting Thanks. Still don't get it.

  • Pure JS people require grunt -> they do not need coffescript (CS)
  • CS people use grunt for building -> they require CS anyway
  • What is the relation to Gulp? -> Could you please elaborate this use case or point me to resources?

Very much appreciate your communication speed!

@monolithed
Copy link

monolithed commented Nov 22, 2016

By the way npm WARN prefer global coffee-script@1.10.0 should be installed with -g
+1 for removing CS from dependencies.

tleen pushed a commit to tleen/grunt-phplint that referenced this issue Mar 29, 2017
To remove deprecation warnings this updates most of the dependencies. Of course it introduces a known [CoffeeScript related warning](gruntjs/grunt#1556) in Grunt 1.0. This also moves the release version to keep in line with the used Grunt version.

Resolves jgable#29
@mikermcneil
Copy link

mikermcneil commented Jul 13, 2017

@monolithed agreed re the deprecation message -- puts us in a tough spot as far as including grunt by default in new Sails apps.

As an immediate-term solution, if we upgrade to coffee-script@1.12.6, it should make the deprecation warning go away during install.

(see jashkenas/coffeescript#4543 for more background)

EDIT: Went ahead and submitted a quick PR with this change: #1598.

Side note: Over the last couple of years, the majority of our deprecation messages on npm install have come from grunt and the grunt-contrib-* packages. This is just my 2¢, but it would be great if Grunt enacted a policy to always pin external dependencies' semver ranges to avoid problems like this in the future. (By "external", I mean deps that are not directly maintained by members of the currently-active Grunt core team.) That's how we do things in the Sails project, and it's helped a ton as far as weird deprecation messages.

mikermcneil added a commit to mikermcneil/grunt-contrib-coffee that referenced this issue Jul 13, 2017
I realize this shouldn't be strictly necessary, because the loose semver range should pick up this version bump automatically.  However, this commit pins the coffee-script dep at 1.12.6 to make sure (especially with some of the NPM 5 edge case issues folks have been experiencing as of late).  It also locks to an exact dependency, for the same reasons as laid out here in this PR to the main `grunt` package: gruntjs/grunt#1556 (comment)
@mikermcneil
Copy link

@cowboy @jimmyhchan Hey guys, just checking in on the status of this.

@shama
Copy link
Member

shama commented Feb 10, 2018

I've implemented a PR on grunt-cli: gruntjs/grunt-cli#117

Besides letting you write your Gruntfile in any language you prefer, this will allow us to remove the coffeescript dependency in the next major release. Please give that code a try by doing npm i gruntjs/grunt-cli#liftoff -g and running grunt on your projects, thanks!

@STRML
Copy link
Contributor

STRML commented Apr 24, 2019

As Liftoff was merged into grunt-cli in August, are there any blockers to removing coffeescript from core?

@stuikomma
Copy link

This should be closed by #1675

Thank you so much @vladikoff and @shama! Happy to remove coffeescript 😄

@vladikoff
Copy link
Member

:) Cheers!

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

No branches or pull requests

8 participants