Skip to content
This repository has been archived by the owner on Aug 22, 2019. It is now read-only.

Ensure all JS files that get touched in a PR are flow typed

License

Notifications You must be signed in to change notification settings

withspectrum/danger-plugin-flow

Repository files navigation

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.