Naughty Platypus Memorabilia

    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

    Install

    npm i phplint

    DownloadsWeekly Downloads

    1,579

    Version

    2.0.5

    License

    MIT

    Unpacked Size

    11.9 kB

    Total Files

    11

    Last publish

    Collaborators

    • wayneashleyberry