Ensure all JS files that get touched in a PR are flow typed
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.
src
.editorconfig
.gitignore
.npmignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.md
README.md
package.json
tsconfig.json
tslint.json
yarn.lock

README.md

danger-plugin-flow

Build Status npm version

Ensure all new .js files in a project are flow typed

Usage

Install:

yarn add danger-plugin-flow --dev

At a glance:

// dangerfile.js
import { schedule } from 'danger'
import flow from 'danger-plugin-flow'

schedule(flow());

Options

Recommended setup:

schedule(flow({
  modified: "warn",
  created: "fail"
}))

This will fail the build for any newly introduced file that isn't flow typed, but will only warn the developer if they touch a file that's not flow typed. This is what we use because it can be hard to type legacy code, but we want to ensure every newly incoming code is properly typed.

blacklist

Blacklist certain globs from being checked:

schedule(flow({
  blacklist: ['dist/**/*.js']
}))

created

Decide whether you want to warn, fail or ignore newly created files that are untyped:

schedule(flow({
  created: "warn"
}))

schedule(flow({
  created: "fail"
}))

schedule(flow({
  created: false
}))

modified

Decide whether you want to warn, fail or ignore modified files that are untyped:

schedule(flow({
  modified: "warn"
}))

schedule(flow({
  modified: "fail"
}))

schedule(flow({
  modified: false
}))

Changelog

See the GitHub release history.

Contributing

See CONTRIBUTING.md.