2.1.0 • Published 10 months ago

gulp-plugin-prettier v2.1.0

Weekly downloads
271
License
MIT
Repository
github
Last release
10 months ago

gulp-plugin-prettier

npm build coverage

Gulp plugin to format code with Prettier

Changelog

Install

# using npm
npm install --save-dev gulp-plugin-prettier gulp prettier

# using yarn
yarn add --dev gulp-plugin-prettier gulp prettier

NOTE: For TypeScript user, you have to install @types/prettier to get full types.

Usage

(gulpfile.ts)

import * as gulp from 'gulp';
import * as prettier from 'gulp-plugin-prettier';

// replace unformatted with formatted
function format() {
  return gulp.src(['./src/**/*.ts', './gulpfile.ts'])
    .pipe(prettier.format({ singleQuote: true }))
    .pipe(gulp.dest(file => file.base));
}

// throw error if there is unformatted file
function format_check() {
  return gulp.src(['./src/**/*.ts', './gulpfile.ts'])
    .pipe(
      prettier.format({ singleQuote: true }, { reporter: prettier.Reporter.Error }),
    );
}

(gulpfile.js)

const gulp = require('gulp');
const prettier = require('gulp-plugin-prettier');

// replace unformatted with formatted
function format() {
  return gulp.src(['./src/**/*.js', './gulpfile.js'])
    .pipe(prettier.format({ singleQuote: true }))
    .pipe(gulp.dest(file => file.base));
}

// throw error if there is unformatted file
function format_check() {
  return gulp.src(['./src/**/*.js', './gulpfile.js'])
    .pipe(prettier.format({ singleQuote: true }, { reporter: 'error' }));
}

API

Prettier Options

export function format(prettier_options?: PrettierOptions, plugin_options?: PluginOptions): stream.Transform;

export interface PluginOptions {
  /**
   * default: 'warning'
   * report the filenames of files that are different from Prettier formatting
   */
  reporter?: Reporter | CustomReporter;
  /**
   * default: false
   * omit formatted files
   */
  filter?: boolean;
  /**
   * default: true
   * include rules from Prettier config files, e.g. .prettierrc
   */
  configFile?: boolean;
}

export const enum Reporter {
  /**
   * do nothing
   */
  None = 'none',
  /**
   * throw error for the filenames of files that are different from Prettier formatting
   */
  Error = 'error',
  /**
   * print warning for the filenames of files that are different from Prettier formatting
   */
  Warning = 'warning'
}

export type CustomReporter = (filename: string, different: boolean) => void;

Development

# lint
yarn run lint

# format
yarn run format

# build
yarn run build

# test
yarn run test

Related

License

MIT © Ika