Single-command, zero-config tooling for Node.js projects
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
config
scripts
tests
util
.gitignore
.nvmrc
.prettierignore
LICENSE.md
README.md
eslint.js
package-lock.json
package.json
prettier.js

README.md

blogfoster-scripts

Single-command, zero-config tooling for Node.js projects

blogfoster-scripts is a wrapper around some of our favorite JavaScript tools. It unifies developer experience across multiple Node.js projects by hiding other tools and their configs. A CLI with subcommands like lint, format, and build lets us manage tooling for multiple projects much easier. Also, developers don't need to waste time by copy-pasting boilerplate code around just to get tooling working. For more details, check out this blog post.

Installation

We recommend installing blogfoster-scripts locally in your Node.js project with npm i --save-dev blogfoster-scripts.

After that, you can use it with npx or by defining scripts in your package.json:

{
  "scripts": {
    "lint": "blogfoster-scripts lint",
    "format": "blogfoster-scripts format",
    "build": "blogfoster-scripts build"
  }
}

Editor integration

To have editor integrations work for ESLint or Prettier you can create .js config files at the root level of your project that export the configs of this module:

// .eslintrc.js
module.exports = require('blogfoster-scripts/eslint');
// prettier.config.js
module.exports = require('blogfoster-scripts/prettier');

Commands

lint

blogfoster-scripts lint <target>

Check your code for linting issues with ESLint and fix all (fixable) issues.

--check

blogfoster-scripts lint --check <target>

By default, blogfoster-scripts lint will try to fix any fixable linting issues. With the --check argument it will only check your code for issues and exit with a non-zero exit code if there are any.

<target>

Optional file or glob pattern that defines the target to lint. Defaults to **/*.js. Files in /node_modules or /build are ignored. If you want to specify more patterns to ignore you can create a .eslintignore file in the root of your project.

format

blogfoster-scripts format <target>

Check your code for formatting issues with Prettier and fix all (fixable) issues.

--check

blogfoster-scripts format --check <target>

By default, blogfoster-scripts format will try to fix any fixable formatting issues. With the --check argument it will only check your code for issues and exit with a non-zero exit code if there are any.

<target>

Optional file or glob pattern that defines the target to format. Defaults to **/*.{js,json,md}. The package.json, package-lock.json, and files in /node_modules or /build are ignored. If you want to specify more patterns to ignore you can create a .prettierignore file in the root of your project.

build

blogfoster-scripts build

Compile JavaScript starting off from the /src/index.js file, copy static assets from the /assets folder and package everything into the /build folder with Webpack and Babel.

Related

LICENSE

MIT