Skip to content

Automate tooling updates #22722

Closed
Closed

Description

@BridgeAR

It would actually be nice if we could add a bot that fetches module updates in a cron job and opens PRs for those.

That would be helpful for:

  • acorn
  • eslint
  • remark things

And likely more. We also do not have to worry about being forced to update as we can still decide to close the PR if there's e.g., an issue with that release for core.

@nodejs/automation @nodejs/build-infra what do you think?

Activity

  1. added
    metaIssues and PRs related to the general management of the project.
    on Sep 6, 2018
  2. silverwind commented on Sep 6, 2018

    @silverwind
    Contributor

    Agree. I'd also like to see us bundling those tools. We could for example compile them down to single files using tools like Webpack. It would certainly help with the git performance to not have thousands of file changes every update.

  3. refack commented on Sep 6, 2018

    @refack
    Contributor

    Ohh @silverwind thanks for the reminder, that I should revive #20109.
    On that note, it's not simple to "roll-up" the tools into a more compact form, specifically because they are based on plugins, and so use dynamic require in varied ways.

    /PING @jdalton @ljharb any advice RE https://github.com/nodejs/node/blob/master/tools/node_modules/eslint/lib/util/module-resolver.js

    /CC @nodejs/tooling (first!)

  4. silverwind commented on Sep 6, 2018

    @silverwind
    Contributor

    dynamic require

    Shouldn't a dynamic require be preserved during bundling if you compile script to script?

  5. ljharb commented on Sep 6, 2018

    @ljharb
    SponsorMember

    @refack i'm not sure what sort of advice you're looking for

  6. refack commented on Sep 6, 2018

    @refack
    Contributor

    Shouldn't a dynamic require be preserved during bundling if you compile script to script?

    From what I've experienced, since most of those roll-up tools are based on replacing require. As long as they can deduce what will be "requires" they can build a map. When it's a dynamic require the borke.

    @refack i'm not sure what sort of advice you're looking for

    @ljharb, eslint is heavily plugin based, and does a lot of dynamic requires. Any best practices about how to handle such scenarios (if I wanted to browserify/webpack/roll-up it).

  7. ljharb commented on Sep 6, 2018

    @ljharb
    SponsorMember

    um, why would you want to use a bundler on dev tools? bundlers are primarily for serving content to browsers; rollup's use is to reduce the entry points in a published package. Neither really applies to node core.

  8. boneskull commented on Sep 6, 2018

    @boneskull
    Member

    @refack re @nodejs/tooling -- this issue regards node's tooling itself, which is out of scope. The "tooling" initiative is roughly explained as "improving the experience of Node.js when using node as tooling"--essentially, the "CLI" use case vs. the "deployed service" or "web app" use case, which already has strong representation.

    I'll go ahead and update the README.md there to explain what the group is about.

    UPDATE: nodejs/tooling's README

  9. refack commented on Sep 7, 2018

    @refack
    Contributor

    @ljharb I know I'm trying to round a square in this case by using the currently available bundlers, but I've had success bundling remark-cli with roolup RE: #20109.

    @boneskull IMHO bundle-ability is a goal for general tooling enablement (we can argue on priority later). I believe that single file cohesive packing has many benefits for tools. But at the moment CJS based tools are hard to bundle, and node doesn't provide enough hook point to achieve this.

  10. ljharb commented on Sep 7, 2018

    @ljharb
    SponsorMember

    Bundling code you wrote and published is one thing; bundling code for a cli that you didn’t write (like eslint) makes no sense to me. What are you hoping to gain?

  11. refack commented on Sep 7, 2018

    @refack
    Contributor

    I wrote some perceived benefits in nodejs/tooling#3
    Mainly I want less files in the repo, it's a pet peeve. But the rest of the usual suspects for compilation: size, speed, unbreakable FS structure, opaque to my IDE, no dependency version clashing, zero effort install.

  12. jasnell commented on Jun 19, 2020

    @jasnell
    Member

    There's been no further activity on this in nearly 2 years. Closing. Can reopen if it makes sense to revisit this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    metaIssues and PRs related to the general management of the project.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions