paint-brush
13 Tools To Try On Your Next Javascript Based Projectby@jon-nona
470 reads
470 reads

13 Tools To Try On Your Next Javascript Based Project

by Jonathan ArnoldOctober 2nd, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

There are always tools that can help your team align, standardise, and increase productivity and quality of code through their use. We’re constantly reviewing new tools to help automate away pain points. I’m listing what we currently use here in the hope that you get some use from them. And please, let me know if you have suggestions for tools you think we should be using. We have company-wide rules implemented for standardisation across projects. The tools we use are husky, eslint, commitlint and panda.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 13 Tools To Try On Your Next Javascript Based Project
Jonathan Arnold HackerNoon profile picture

On every project, there are always tools that can help your team align, standardise, and increase productivity and quality of code through their use.

We’re constantly reviewing new tools to help automate away pain points, and help us create a better end product. I’m listing what we currently use here in the hope that you get some use from them. And please, let me know if you have suggestions for tools you think we should be using.

Git Hooks

1. husky – Local git hooks made easy. It allows you to force running of commit message linting, project linting and unit tests (if these are cheap to run) pre-commit or pre-push. Cuts down on bad commits or PR reverts with linting and formatting issues.

Linting and formatting

2. eslint – It’s the standard for Javascript and Typescript now. We have company-wide rules implemented for standardisation across projects.

3. prettier – Opinionated formatters take away the debate about which formatting to employ. Company wide rules are implemented once again for standardisation.

Commit Message Standards

4. commitlint – Keeps your commit history clean on a project, and can be customised to suit your team’s needs. Normally runs via husky pre-commit to stop anyone not keeping their commit messages standardised.

Dependency Auditing and Updating

5. dependabot – Purchased by Github and free to use on that platform. Allows you to continuously keep your dependencies up to date and opens PR’s for you, allowing you to keep your project up to date.

6. audit-ci – Useful for auditing dependencies pre-deploy or on CI jobs to stop critical vulnerabilities getting into production.

PR Assignment and Metrics

7. pull panda – Purchased by Github and free to use on that platform. Allows automatic assignment of pull requests on a round-robin or load-balanced basis, or based on CODEOWNERS file, sends pull reminders to team in Slack about open PR’s and provides useful metrics on turnaround time, size of PR’s, time to merge etc.

Slack Integrations

8. github slack integration – For build statuses.

9. pull panda – For PR reminders and updates from within Slack.

Help

10. package-json-help – NPM package to add a help.json file for quick helpful description of the npm script commands available.

Testing

11. js-parametrize – Easy parameterised unit testing. Can be used with Jest or Mocha/Chai and is easier to use and more powerful than the equivalent Jest.each functionality.

Component Development

12. storybook – Allows development of components in isolation. Also allows a client to view components being developed independent of the app.

Logging

13. sentry – Provides detailed error and crash reporting for your applications per environment.

Previously published at https://blog.nona.digital/useful-tooling-we-use-at-nona/