<commit_before>---
layout: post
title: "Developing and Publishing an NPM Package"
description: "How to configure the right tools to develop and publish trustworthy NPM packages. Create a high-quality NPM package and publish it to the registry of NPM packages."
date: "2017-12-20 08:30"
design:
  bg_color: "#1D4E69"
  image: https://cdn.auth0.com/blog/npm-package-development/logo.png
  image_bg_color: "#1D4E69"
author:
  name: "<NAME>"
  url: "https://twitter.com/brunoskrebs"
  mail: "<EMAIL>"
  avatar: "https://cdn.auth0.com/blog/profile-picture/bruno-krebs.png"
tags:
- npm
- node.js
- node
- packages
- oss
- open-source-software
- git
- github
- tests
- unit-tests
- es6
- travis
related:
- 2017-02-10-glossary-of-modern-javascript-concepts
- 2017-10-31-typescript-practical-introduction
- 2016-11-21-building-and-authenticating-nodejs-apps
---

**TL;DR:** In this article, we are going to learn what tools we should take advantage of when developing NPM packages. We will start from scratch and create a GitHub Repository to host our package, then we will look into interesting and important topics. For example, we will talk about IDEs, we will configure ESLint in our project, we will publish the package on NPM and into the registry, and we will even integrate a continuous integration tool. The code that gave life to this article can be found in [this GitHub repository](https://github.com/brunokrebs/masks-js).
<commit_msg>Description feedback from side discussion<commit_after>---
layout: post
title: "Developing and Publishing an NPM Package"
description: "Learn, through a practical tutorial, what tools we can leverage to develop and publish high-quality NPM packages."
date: "2017-12-20 08:30"
design:
  bg_color: "#1D4E69"
  image: https://cdn.auth0.com/blog/npm-package-development/logo.png
  image_bg_color: "#1D4E69"
author:
  name: "<NAME>"
  url: "https://twitter.com/brunoskrebs"
  mail: "<EMAIL>"
  avatar: "https://cdn.auth0.com/blog/profile-picture/bruno-krebs.png"
tags:
- npm
- node.js
- node
- packages
- oss
- open-source-software
- git
- github
- tests
- unit-tests
- es6
- travis
related:
- 2017-02-10-glossary-of-modern-javascript-concepts
- 2017-10-31-typescript-practical-introduction
- 2016-11-21-building-and-authenticating-nodejs-apps
---

**TL;DR:** In this article, we are going to learn what tools we should take advantage of when developing NPM packages. We will start from scratch and create a GitHub Repository to host our package, then we will look into interesting and important topics. For example, we will talk about IDEs, we will configure ESLint in our project, we will publish the package on NPM and into the registry, and we will even integrate a continuous integration tool. The code that gave life to this article can be found in [this GitHub repository](https://github.com/brunokrebs/masks-js).

{'fraction_non_alphanumeric': 0.10266292922214436, 'fraction_numerical': 0.032936229852838124, 'mean_word_length': 4.153429602888087, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3864780', 'n_tokens_mistral': 961, 'n_tokens_neox': 871, 'n_words': 326}