I still rely on a decent package template repository when it comes to create new packages fast. I just don't want to fiddle around but simply start coding, run lint/tests, build and publish. Therefore I created my own opinionated template repository that just works.
Photo by Kadarius Seegars on Unsplash
TL;DR show me the repository
jankapunkt / npm-package-template
📦 minimal NPM package template using Babel, Mocha, Chai, C8, Standardjs, JSDoc and Rollup.
📦 NPM Package Template - Zero Config 📦
Minimal tested and fully functional NPM package template project for ES6+ Javascript.
About this package
This template is intended to allow you to start developing immediatly with a working set of tools and scripts that play well together.
It is little opinionated to the point, that only the most basic tools are integrated If you want a different flavour you can fork this project and easily replace the tools or add new ones.
What's included?
Tools / stack
- 🗪 Babel for transpiling
- 🪄 Standard for linting
- ⚗️ Mocha and Chai for testing
- 🔍 c8 for code coverage
- 📚 JSDoc for documentation and jsdoc-to-markdown to create docs as markdown files
- ⚡ GitHub actions for continuous integration
- 📦 Rollup for bundling
All tools are defined as dev-dependencies
!
Docs and repository
This template repository has all relevant GitHub community standards implemented:
Tools / stack
- 🗪 Babel for transpiling
- 🪄 Standard for linting
- ⚗️ Mocha and Chai for testing
- 🔍 c8 for code coverage
- 📚 JSDoc for documentation and jsdoc-to-markdown to create docs as markdown files
- ⚡ GitHub actions for continuous integration
- 📦 Rollup for bundling
All tools are defined as dev-dependencies
!
GitHub community standards
The template repository has all relevant GitHub community standards implemented. I just want to change details and then have it all ready for being released:
- Description
- README
- Code of conduct
- Contributing guidelines
- License
- Security policy
- Issue templates
- Pull request template
Use the tools
The repository comes with a default set of tools via npm scripts. From my perspective this covers most necessary steps when creating/updating a package.
command | description | output |
---|---|---|
lint |
runs the linter in read-mode | |
lint:fix |
runs the linter; fixes minor issues automatically | |
test |
runs the tests once | |
test:watch |
runs the tests; re-runs them on code changes | |
test:coverage |
runs the tests once and creates a coverage report | coverage |
docs |
creates API documentation | docs |
build |
builds the bundles for several target platforms | dist |
Getting started
If you think this is the right template for you then simply create a new repository with this repository as template
or fork the repository and clone it to your local machine.
jankapunkt / npm-package-template
📦 minimal NPM package template using Babel, Mocha, Chai, C8, Standardjs, JSDoc and Rollup.
📦 NPM Package Template - Zero Config 📦
Minimal tested and fully functional NPM package template project for ES6+ Javascript.
About this package
This template is intended to allow you to start developing immediatly with a working set of tools and scripts that play well together.
It is little opinionated to the point, that only the most basic tools are integrated If you want a different flavour you can fork this project and easily replace the tools or add new ones.
What's included?
Tools / stack
- 🗪 Babel for transpiling
- 🪄 Standard for linting
- ⚗️ Mocha and Chai for testing
- 🔍 c8 for code coverage
- 📚 JSDoc for documentation and jsdoc-to-markdown to create docs as markdown files
- ⚡ GitHub actions for continuous integration
- 📦 Rollup for bundling
All tools are defined as dev-dependencies
!
Docs and repository
This template repository has all relevant GitHub community standards implemented:
About me
I regularly publish articles here on dev.to about JavaScript and specifically about Meteor Js.
You can also find (and contact) me on GitHub, Twitter and LinkedIn.
If you like what you are reading and want to support me, you can sponsor me on GitHub or send me a tip via PayPal.
Top comments (1)
You may want to add JSDoc linting enforcement, example: github.com/tjw-lint/eslint-config-...