linemanjs / lineman

Lineman helps you build fat-client JavaScript apps. It produces happiness by building assets, mocking servers, running specs on every file change
MIT License
1.18k stars 82 forks source link

Upgrade lineman deps #396

Closed searls closed 3 years ago

searls commented 3 years ago

Most of Lineman's dependencies haven't been updated in 7-9 years. That seems like a long time.

We're pressing our luck by continuing to hope a module with as many dependencies as Lineman will keep working much further beyond Node 14 (the current release was developed against 0.10).

Goal with this PR is to:

davemo commented 3 years ago

Tested locally on my blog which still uses lineman along with the following plugins:

"lineman": "^0.37.0",
"lineman-blog": "^1.2.0",
"lineman-less": "^0.1.0",
"lineman-pug": "^0.2.1"

Seems to compile ok, there's a deprecation warning thrown somewhere in the guts (I'm guessing the server task and express?)


Running "server" task
Starting express web server in 'generated' on port 8000

Running "watch" task
Waiting...
(node:17091) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
(Use `node --trace-deprecation ...` to show where the warning was created)```
davemo commented 3 years ago

One additional thing to consider, when setting engines in my local blog projects package.json to 14.x I get the following upstream warning when attempting to install dependencies

"engines": {
  "node": "14.15.4"
}
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'coffee-script-redux@2.0.0-beta8',
npm WARN EBADENGINE   required: { node: '0.8.x || 0.10.x' },
npm WARN EBADENGINE   current: { node: 'v14.15.4', npm: '7.12.0' }
npm WARN EBADENGINE }
searls commented 3 years ago

Yeah I suspect we need to go through and update deps on all downstream packages as well in order to avoid the risk of any of them breaking either

On May 8, 2021, at 10:00, David Mosher @.***> wrote:

 One additional thing to consider, when setting engines in my local blog projects package.json to 14.x I get the following upstream warning when attempting to install dependencies

"engines": { "node": "14.15.4" } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: @.***', npm WARN EBADENGINE required: { node: '0.8.x || 0.10.x' }, npm WARN EBADENGINE current: { node: 'v14.15.4', npm: '7.12.0' } npm WARN EBADENGINE } — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

davemo commented 3 years ago

Yep, I just found another in lineman-blog -> grunt-markdown-blog -> highlight.js 😬

Running "markdown:dev" (markdown) task
Pages skipped: no page sources found
Writing 10210 characters to generated/posts/2007-01-01-bundle-links.html
Writing 4740 characters to generated/posts/2008-08-18-work-bliss.html
Writing 10603 characters to generated/posts/2008-08-27-on-work-macs-python-google-app-engine-and-django.html
Writing 4940 characters to generated/posts/2008-09-11-positive-dissatisfaction-and-scrum.html
Writing 2841 characters to generated/posts/2008-12-17-application-usage-trends.html
Version 9 of Highlight.js has reached EOL and is no longer supported.
Please upgrade or ask whatever dependency you are using to upgrade.
https://github.com/highlightjs/highlight.js/issues/2877

I'll see about trying to bark up that dependency tree for a bit 🥴 🐶