{"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,"search_vec":"'1.0.0':21,45 'allow':47 'compar':54 'config':35 'configur':48 'current':17 'direct':60 'former':10 'grunt':2,5,44,67,71 'grunt-puglint':1 'gruntplugin':70 'hint':76,81 'inlin':50 'integr':42,65 'jade':11,77,78,80 'javascript':69 'lint':8,16,26,59,74,79 'option':33 'plugin':6,41,62 'preset':32,53 'provid':63 'pug':9,15,25,58,72,73,75 'pug-lint':14,24,57 'puglint':3 'puglintrc':39 'remov':36 'renam':30 'rule':51 'run':56 'seamless':64 'stabl':18 'support':37 'templat':12 'updat':23 'use':13 'v2.2.0':28 'version':19 'via':49 'workflow':68","created_at":"2026-05-01T13:46:01.419087+00:00","updated_at":"2026-05-01T13:46:01.419087+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/mrmlnc/grunt-puglint","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/grunt-puglint","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-05-01","next_check":"2026-07-30","install_tag":null}}