1.0.0-rc11 • Published 8 months ago

staticlint v1.0.0-rc11

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Staticlint

CLI tool to check the output of a static site generator for common errors.

Setup

1. Install package

via NPM

$ npm install staticlint

1.1 …or use the bleeding edge version if you dare

$ npm install staticlint@next

2. Add a script to package.json

"test": "staticlint BUILD_FOLDER --config=./staticlint.config.mjs",

Replace BUILD_FOLDER with the path to your final build directory.

3. Add config

Add staticlint.config.js to your project root. (See below for details about the config.)

staticlint.config.js is expected to be an ES module (export syntax). So depending on your project, you might need to use the .mjs file extension.

You can also generate an empty config file using the staticlint CLI in your project's root.

$ staticlint scaffold

Usage

$ staticlint ./dist --host="https://example.com/"

Programmatic Usage

You can also use staticlint from within your own script like so.

import staticlint from 'staticlint'

// See below for config example
const { errors, warnings } = await staticlint('./BUILD_FOLDER', config)

Goal

  • A simple to use CLI to check for common errors.
  • Should return suitable exit codes, so it could stop the build, when run in CI
  • Should distinguish errors (severe, like a missing title tag) and warnings (annoying but not bad, like a stop word in the title tag)
  • Should be configurable through a config file at the project's root
  • Should allow users to inject their own tests via the config file

Configuration File

// staticlint.config.js in your project root
export default {
  // Production URL
  // Heads up, if script is run with --host flag this will be overridden
  host: 'https://example.com/',

  // Specify files to ignore
  // accepts glob paths
  ignoreFiles: [],

  // Specify rules to ignore
  ignoreRules: [],

  // Create custom rules
  customRules: [],

  // Output both errors and warnings
  display: ['errors', 'warnings'],

  // Return with an error exit code if errors were found
  failOn: ['errors'],
}
1.0.0-rc9

8 months ago

1.0.0-rc10

8 months ago

1.0.0-rc11

8 months ago

1.0.0-rc7

8 months ago

1.0.0-rc8

8 months ago

1.0.0-rc5

1 year ago

1.0.0-rc6

1 year ago

1.0.0-rc3

2 years ago

1.0.0-rc4

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

1.0.0-rc1

2 years ago

1.0.0-rc2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago