Skip to content

Instantly share code, notes, and snippets.

@beaugunderson
Last active February 2, 2023 19:58
Show Gist options
  • Star 54 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save beaugunderson/97e5e03fff14da8073dc to your computer and use it in GitHub Desktop.
Save beaugunderson/97e5e03fff14da8073dc to your computer and use it in GitHub Desktop.
cool modules from nodeconf

from streams session

  • end-of-stream - specify a callback to be called when a stream ends (which is surpsingly hard to get right)
  • duplexify - compose a Duplex stream from a Readable and a Writable stream
  • pump - pipe streams together and close all of them if one of them closes
  • pumpify - combine an array of streams into a single duplex stream using pump and duplexify
  • through2 - tools for making Transform streams
  • from2 - tools for making Readable streams

from "participatory modules" session

  • create-module create a simple module skeleton in a new directory
  • standard - a no-bikeshedding code standard
    • useful for participation especially when added to CI and tied into pull requests because it's much less personal when an automated service tells you to change the way your code looks than when a maintainer does
  • istanbul - code coverage
    • new contributors can help by increasing test coverage
  • nyc - code coverage that works with subprocesses
  • lab - test runner used in hapi
  • collaborator - add collaborators to github & npm, get a contributors.md
  • documentation.js - write docs in JSDoc format, get html/markdown/dash output
    • provides a framework (JSDoc) for new contributors to help with documentation
  • semantic-release - automate semantic versioning
    • takes the pain out of figuring out what a breaking change is (which can help if figuring out if a pull request is a major/minor change for example)
  • standard-readme, see also - a nascent module for linting your readme
    • parts of a good readme include examples and contribution guidelines
  • pull-me-tender - do you have pull requests?
    • quicker feedback on pull requests keeps up momentum/motivation of new contributors

other "participation hacks" from that session included:

  • a CONTRIBUTING.md that lays out how to participate, whether the maintainers have time and desire to specifically help new programmers or people from marginalized groups, etc.
  • "open open source" distributes ownership (and ownership can increase motivation)
  • "help wanted" labels for new contributors help contributors find good pieces for a first contribution
  • smilies/emoji/links to process documentation can help new contributors not get scared away by tone of critical feedback ("please rebase this." vs. "almost there, just needs a rebase first :)")
@hemanth
Copy link

hemanth commented Jun 18, 2015

Nice collection, you might like nmotw 👍

@WORMSS
Copy link

WORMSS commented Jul 9, 2015

Started looking at these, thinking they would make me better. First thing I tried.. "standard".. Seen it wanted me to remove semi colons, looked at issue tracker, massive amount of people wanting them to reverse their decision. Owner stamps his feet and has a hissy fit. uninstalled standard for being the opposite of any standard I've ever seen.. That was 45 minutes of my life wasted. Are the rest of the modules here just as unproductive?

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