{"id":25680,"library":"grunt-puglint","title":"grunt-puglint","description":"A Grunt plugin for linting Pug (formerly Jade) templates using pug-lint. Current stable version is 1.0.0, which updates pug-lint to v2.2.0 and renames the `preset` option to `config`, removing support for `.pugLintRc`. The plugin integrates with Grunt ~1.0.0 and allows configuration via inline rules or presets. Compared to running pug-lint directly, this plugin provides seamless integration into Grunt workflows.","status":"active","version":"1.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/mrmlnc/grunt-puglint","tags":["javascript","gruntplugin","grunt","pug","pug lint","pug hint","jade","jade lint","jade hint"],"install":[{"cmd":"npm install grunt-puglint","lang":"bash","label":"npm"},{"cmd":"yarn add grunt-puglint","lang":"bash","label":"yarn"},{"cmd":"pnpm add grunt-puglint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for Grunt plugin","package":"grunt","optional":false},{"reason":"Core linting engine","package":"pug-lint","optional":false}],"imports":[{"note":"Grunt plugins must be loaded via grunt.loadNpmTasks, not require.","wrong":"require('grunt-puglint');","symbol":"puglint","correct":"grunt.loadNpmTasks('grunt-puglint');"},{"note":"Since v1.0.0, the option `preset` has been renamed to `config`.","wrong":"puglint: { options: { preset: 'clock' }, src: ['**/*.pug'] }","symbol":"puglint task configuration","correct":"puglint: { options: { config: { extends: 'clock' } }, src: ['**/*.pug'] }"},{"note":"v1.0.0 removed support for `.pugLintRc`. Use `config: { extends: 'path' }` or a `.pug-lintrc` file.","wrong":"Using `.pugLintRc` (deprecated)","symbol":"config file","correct":"Use inline `config` object or `.pug-lintrc` file"}],"quickstart":{"code":"npm install grunt-puglint --save-dev\n// Gruntfile.js\nmodule.exports = function(grunt) {\n  grunt.loadNpmTasks('grunt-puglint');\n  grunt.initConfig({\n    puglint: {\n      options: {\n        config: {\n          validateIndentation: 2,\n          disallowHtmlText: true\n        }\n      },\n      src: ['templates/**/*.pug']\n    }\n  });\n  grunt.registerTask('default', ['puglint']);\n};","lang":"javascript","description":"Installs grunt-puglint and configures a Grunt task to lint Pug files with custom rules."},"warnings":[{"fix":"Replace `preset: 'name'` with `config: { extends: 'name' }`.","message":"The `preset` option has been renamed to `config` in v1.0.0.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use `config: { extends: '...' }` or a standard `.pug-lintrc` file (with hyphen).","message":"Support for `.pugLintRc` file was removed in v1.0.0.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Migrate to inline config or a community-supported preset.","message":"The `pug-lint-config-clock` preset is deprecated; it may be removed in future versions.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Ensure Grunt version is >=1.0.0.","message":"Grunt ~1.0.0 required; using older Grunt may cause undefined behavior.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Add `grunt.loadNpmTasks('grunt-puglint');` to your Gruntfile.","cause":"The plugin was not loaded with grunt.loadNpmTasks.","error":"Warning: Task \"puglint\" not found."},{"fix":"Run `npm install pug-lint --save-dev`.","cause":"pug-lint is not installed as a dependency.","error":"Fatal error: Cannot find module 'pug-lint'"},{"fix":"Change `preset` to `config` as described in the documentation.","cause":"Using the deprecated 'preset' option with grunt-puglint v1.0.0+.","error":"Invalid options: preset is not allowed."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}