old memes is an old-school node.js anti-framework built around the good parts of flatiron, a selection of classic substack libraries and the few worthwhile things I personally wrote between roughly 2009 and 2016 - with a targeted dash of modern conveniences.
the old memes are in the process of being cleaned up and re-released - expect more additions over the coming months.
- kenny-loggins - extensions to make logging with winston sensible
- @jfhbrook/http-server-request-accept - extract the accept header from a server request
- @jfhbrook/http-server-request-ip - get the client ip from an http server request, respecting x-forwarded-for headers
- @jfhbrook/logref - my implementation of
process.logging
- @jfhbrook/mrs-commanderson - a cli parsing/routing library
- pickleback - my personal fork of hapi/shot
- @jfhbrook/prompt - a prompting library
- safe-url - strip creds from urls before printing
- @jfhbrook/pandoc - my wrapper for pandoc
- @jfhbrook/just - a wrapper for casey/just
- bbgurl - a cli http client using udici
- exercise-bike - a command line interface for nunjucks
- licenseify - generate/maintain license info for new projects
- primitivist - a bash command line options parser based on minimist
- @jfhbrook/cronkite - a cli for scheduled jobs with node-cron
- @jfhbrook/npm-link - a targeted and direct alternative to npm link
- @jfhbrook/viu - a distribution and wrapper for viu
- integers - like the range operator in python
- linspace - like linspace in matlab
- logspace - like logspace in matlab
- @jfhbrook/piecewise - kronecker delta and sgn functions
- clf-parser - parse clf formatted logs (public)
- types-galore - a collection + tool for third-party type stubs
- @jfhbrook/fake-progress-not-frozen - a fake progress bar
- hoarders - node.js's most complete "utility grab bag"
- tests-of-the-sierra-madre - a humorous test stub
each of the packages are on npm and set to public. some of them are namespaced but many of them are not.
every old meme should have a README.md with an example in it at a minimum.
all of the packages are installed in an npm workspace. for instance, you may run
npm i --workspaces
to install dependencies for everything post-clone.
each project has its own standards; some, no standards. if the project already has formatting and linting let it be, but I plan to move towards standardized presets for prettier and jshint in the future.
I've used mocha, vows (ugh) and node-tap at various points over the years. current tests won't be changing frameworks. tests that are working, are working. tests in new projects will probably be written in node-tap, but I'm open to changing my mind.
each old meme has its own licensing. a lot of it, especially older projects, use mit licenses, but the apache and mozilla licenses are in there too, especially with newer projects.