phplint
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/phplint package

2.0.5 • Public • Published

phplint

phplint is a node wrapper around the native php linter that allows for parallel linting and integration with build systems like Grunt, Gulp and more.

Build Status npm styled with prettier

Usage

CLI

$ npm i -g phplint
$ phplint '**/*.php'

Paths and filenames are parsed using globby, so the following would work as well:

$ phplint '**/*.php' '!vendor/**'

Node

var phplint = require("phplint").lint;

phplint(["src/**/*.php"], function (err, stdout, stderr) {
  if (err) throw new Error(err);

  process.stdout.write(stdout);
  process.stderr.write(stderr);

  // success!
});

NPM

{
  "scripts": {
    "pretest": "phplint 'src/**/*.php'"
  },
  "devDependencies": {
    "phplint": "~1.0.0"
  }
}
$ npm test

Grunt

Configure cache directories

This module uses the cache-swap module to cache already linted files. You can configure the cache directories via the cacheDirName and the tmpDir options. Both options will be passed to the CacheSwap instance when created.

module.exports = function (grunt) {
  require("phplint").gruntPlugin(grunt);

  grunt.initConfig({
    phplint: {
      options: {
        limit: 10,
        phpCmd: "/home/scripts/php", // Defaults to php
        stdout: true,
        stderr: true,
        useCache: true, // Defaults to false
        tmpDir: "/custom/root/folder", // Defaults to os.tmpDir()
        cacheDirName: "custom/subfolder", // Defaults to php-lint
      },
      files: "src/**/*.php",
    },
  });

  grunt.registerTask("test", ["phplint"]);
};
$ grunt test

Gulp

The same options that can be used in Grunt can be used in Gulp too.

var gulp = require("gulp");
var phplint = require("phplint").lint;

gulp.task("phplint", function (cb) {
  phplint(["src/**/*.php"], { limit: 10 }, function (err, stdout, stderr) {
    if (err) {
      cb(err);
      process.exit(1);
    }
    cb();
  });
});

gulp.task("test", ["phplint"]);
$ gulp test

Related

License

MIT © Wayne Ashley Berry

Package Sidebar

Install

npm i phplint

Weekly Downloads

2,320

Version

2.0.5

License

MIT

Unpacked Size

11.9 kB

Total Files

11

Last publish

Collaborators

  • wayneashleyberry