Skip to content

adazzle/gulp-flowtype

 
 

Repository files navigation

gulp-flowtype Build Status NPM version Dependency Status Gitter chat

Run Facebook's Flow in your gulp pipeline

gulp-flowtype example

Installation

$ npm install --save-dev gulp-flowtype

Usage

var react = require('gulp-react');
var flow = require('gulp-flowtype');

gulp.task('typecheck', function() {
  return gulp.src('./*.js')
    .pipe(flow({
        all: false,
        weak: false,
        declarations: './declarations',
        killFlow: false,
        beep: true,
        abort: false
    }))
    .pipe(react({ stripTypes: true })) // Strip Flow type annotations before compiling
    .pipe(gulp.dest('./out'));
});

Options

options.all

Type: Boolean Default: false

Typecheck all files, not just @flow.

options.weak

Type: Boolean Default: false

Typecheck with weak inference, assuming dynamic types by default.

options.declarations

Type: String Default: empty

The path to declared files (interfaces) to third-party libraries

options.killFlow

Type: Boolean Default: false

Kills the Flow server after Typecheck is finished.

options.beep

Type: Boolean Default: true

Notify your command prompt of a Typecheck error with a beep

options.abort

Type: Boolean Default: false

Abort the gulp task after the first Typecheck error

options.generalErrorRegEx

Type: String Default: /(Fatal)/

Override regex used for general errors

Overriding Flow bin location

By default we use flow bin to locate flow for you. If you need to override this (ie you're running windows), then set FLOW_BIN to point at your location ie:

var react = require('gulp-react');
var flow = require('gulp-flowtype');

gulp.task('typecheck', function() {
  process.env.FLOW_BIN = './flow.exe';
  return gulp.src('./*.js')
    .pipe(flow({
        all: false,
        weak: false,
        declarations: './declarations',
        killFlow: false,
        beep: true,
        abort: false
    }))
    .pipe(react({ stripTypes: true })) // Strip Flow type annotations before compiling
    .pipe(gulp.dest('./out'));
});

Release History

  • 2015-01-30 v0.4.2 Add beep & abort options
  • 2014-12-15 v0.4.1 Performance improvements & better error handling
  • 2014-11-26 v0.4.0 Tweak success message, check file has /* @flow */ before running flow and added options
  • 2014-11-23 v0.3.1 Changes to previous formatting fix
  • 2014-11-23 v0.3.0 Fix formatting issues
  • 2014-11-21 v0.2.0 General improvements
  • 2014-11-19 v0.1.0 Initial release

Contributing

  1. Write test (if applicable)
  2. Write code
  3. Make tests pass
  4. Execute npm run lint and make amendments if needed
  5. Create pull request
  6. Rinse and repeat

License

MIT © Charlie Dowler

About

Run Facebook's Flow in your gulp pipeline

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%