To learn more about me, check out my main gist, at http://mightyi.am.
- Common things
- Linter / code style: Standard
- Linter / code style for TypeScript: I don't know!
- Modules in the browser: Webpack
- Immutable state: Immutable.js
- Lazy data manipulation: Lazy.js
- DOM abstraction: Snabbdom
- Program framework: Cycle.js
- Dependency management: npm (comes with Node.js)
- Versioning: semantic versioning (SemVer)
- Switching between Node.JS runtimes: Node Version Manager (nvm)
- Watching file systems
- Stringify objects
- Things I should try
- Things I'd like to exist
- simple APIs
- composable & reusable
- saves me a ton of work. period.
- makes my code more reliable. period.
Favorite TypeScript options
Read about them here.
I should probably try:
Linter / code style: Standard
- popular/has chance to win
- editor/IDE Plugins available
- trivial to set up
- based on awesome ESLint
- I wish it was extensible so I proposed it
Linter / code style for TypeScript: I don't know!
I wish I could use Standard for TypeScript! What shall I do??
Modules in the browser: Webpack
I loved using Browserify but Webpack clearly won.
Immutable state: Immutable.js
Seems like the most correct implementation to me.
Lazy data manipulation: Lazy.js
If it actually matters, it can improve:
- CPU time
I’ve listened retroactively to all of the hundreds of episodes of, and keep listening regularly to:
DOM abstraction: Snabbdom
- Really just the DOM
- simple API
Program framework: Cycle.js
- I like the abstractions
- encourages functional
Dependency management: npm (comes with Node.js)
- Bower is only for front-end and it has virtually zero features.
- for Node.js and browser
- essentially tree, practically flat
- semantic versioning
- deps, devDeps, peerDeps
- enterprise option
There are some other stuff out there, like SystemJS, which I haven't tried.
- Whether an object is subset of another: is-subset
Versioning: semantic versioning (SemVer)
- Supposedly unambiguous (if followed)
- Actually tells you something about the changes (whether they could break your usage)
Switching between Node.JS runtimes: Node Version Manager (nvm)
- Does a fine job, is how I see it
I might try nodenv.
- Run a process in DevTools debugger with inspect-process
- Spying on functions: https://www.npmjs.com/package/simple-spy
- Mocking imports: https://github.com/boblauer/mock-require
- Test runner: https://github.com/avajs/ava (but I might have to use Jest because AVA doesn’t have good TypeScript support)
- I’d like to try; local Travis CI: https://github.com/vadimdemedes/trevor
- Keeping dependencies up-to-date: https://greenkeeper.io/
Watching file systems
- Preview markdown: https://www.npmjs.com/package/vmd
- https://www.npmjs.com/package/stringify-object like JSON.stringify just without all the double-quotes
- https://github.com/danielb2/purdy.js print things real purdy
Things I should try
- Dazzling browser presentations with impress.js
- Build regular expressions with natural language https://github.com/MaxArt2501/re-build
- fully automated package publishing https://github.com/semantic-release/semantic-release
- Automated browser testing for the modern web development stack http://devexpress.github.io/testcafe/
- Art of README https://github.com/noffle/art-of-readme
- How to