{"_id":"@startupjs/pug-lint","_rev":"5-dea4b37cbc103a079a8949136f029566","name":"@startupjs/pug-lint","dist-tags":{"latest":"2.7.0-0"},"versions":{"2.7.0-0":{"name":"@startupjs/pug-lint","version":"2.7.0-0","keywords":["puglint","jadelint","pug-lint","jade-lint","pug","jade","lint","code style","formatter","style guide","validate","lint pug","lint jade","pug lint","jade lint","linter","linter pug","linter jade","pug linter","jade linter","pug-linter","jade-linter","linting","linting pug","linting jade","pug linting","jade linting","pug-linting","jade-linting","hint","hint pug","hint jade","pug hint","jade hint","pug-hint","jade-hint","hinter","hinter pug","hinter jade","pug hinter","jade hinter","pug-hinter","jade-hinter","hinting","hinting pug","hinting jade","pug hinting","jade hinting","pug-hinting","jade-hinting"],"author":{"name":"Ben Edwards","email":"hello@benedfit.com"},"license":"ISC","_id":"@startupjs/pug-lint@2.7.0-0","maintainers":[{"name":"cray0000","email":"cray0000@gmail.com"},{"name":"yska","email":"pturchik@yandex.ru"},{"name":"zag2art","email":"zag2art@gmail.com"},{"name":"fctsvirus","email":"fctsvirus0k@gmail.com"},{"name":"maestro.sc","email":"maestro.simf@gmail.com"},{"name":"byshock","email":"ivan.lepkin@yandex.ru"}],"homepage":"https://github.com/pugjs/pug-lint","bugs":{"url":"https://github.com/pugjs/pug-lint/issues"},"xo":{"envs":["node","mocha"],"space":true,"ignores":["generators/*-templates/**"]},"bin":{"pug-lint":"bin/pug-lint"},"dist":{"shasum":"caa22992a0084bf4210a139f35b33076161ccc35","tarball":"https://registry.npmjs.org/@startupjs/pug-lint/-/pug-lint-2.7.0-0.tgz","fileCount":62,"integrity":"sha512-RXt83Ijyaf77vrrrY4t7UeJlh2G56GYIzjfg+Nwa5HwT2Jftlg0djier3fjaofXQ3UofzeCnchWXp0QJJS6b9g==","signatures":[{"sig":"MEUCIGBGNpF8oDdT0NbB885Ip7RYo9pIgnatJ5VmdWiX3y9mAiEAhBIjxb4g2v/l7dJXEp1J4X0FF2LNMyupQqtEDZHDlAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128713},"main":"./lib/linter","gitHead":"d1703d37134e6de1bf41761fe5050cd8f1e835c2","scripts":{"docs":"pliers buildRuleDocs","lint":"xo","test":"npm run coverage","schema":"pliers buildJsonSchema","inspect":"jsinspect","pretest":"npm run docs && npm run schema && npm run lint","coverage":"istanbul cover ./node_modules/mocha/bin/_mocha test","depcheck":"david","posttest":"(istanbul check-coverage --statements 90 --branches 90 --functions 100 --lines 90 && rimraf coverage) || echo Look at 'coverage/lcov-report/index.html' to find out more","changelog":"pliers buildChangelog"},"_npmUser":{"name":"cray0000","email":"cray0000@gmail.com"},"repository":{"url":"git+ssh://git@github.com/pugjs/pug-lint.git","type":"git"},"_npmVersion":"10.2.0","description":"An unopinionated and configurable linter and style checker for Pug (formerly Jade)","directories":{},"_nodeVersion":"21.1.0","dependencies":{"glob":"^7.0.3","acorn":"^8.8.2","resolve":"^1.1.7","commander":"^2.9.0","minimatch":"^3.0.3","pug-attrs":"^2.0.4","pug-error":"^1.3.3","acorn-walk":"^8.3.2","void-elements":"^2.0.1","find-line-column":"^0.5.2","path-is-absolute":"^1.0.0","css-selector-parser":"^1.1.0","strip-json-comments":"^2.0.1","@startupjs/pug-lexer":"^4.1.0-1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.15.1","yo":"^1.8.4","david":"^7.0.0","docco":"^0.7.0","mocha":"^2.3.3","sinon":"^1.17.2","moment":"^2.11.2","pliers":"^1.2.1","rimraf":"^2.5.2","no-case":"^2.3.0","istanbul":"^0.4.0","changelog":"^1.0.7","jsinspect":"^0.8.0","camel-case":"^3.0.0","yeoman-generator":"^0.23.3","pug-lint-config-clock":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pug-lint_2.7.0-0_1706814367550_0.11435726239032928","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-02-01T19:06:07.467Z","modified":"2026-06-22T09:55:07.590Z","2.7.0-0":"2024-02-01T19:06:07.709Z"},"bugs":{"url":"https://github.com/pugjs/pug-lint/issues"},"author":{"name":"Ben Edwards","email":"hello@benedfit.com"},"license":"ISC","homepage":"https://github.com/pugjs/pug-lint","keywords":["puglint","jadelint","pug-lint","jade-lint","pug","jade","lint","code style","formatter","style guide","validate","lint pug","lint jade","pug lint","jade lint","linter","linter pug","linter jade","pug linter","jade linter","pug-linter","jade-linter","linting","linting pug","linting jade","pug linting","jade linting","pug-linting","jade-linting","hint","hint pug","hint jade","pug hint","jade hint","pug-hint","jade-hint","hinter","hinter pug","hinter jade","pug hinter","jade hinter","pug-hinter","jade-hinter","hinting","hinting pug","hinting jade","pug hinting","jade hinting","pug-hinting","jade-hinting"],"repository":{"url":"git+ssh://git@github.com/pugjs/pug-lint.git","type":"git"},"description":"An unopinionated and configurable linter and style checker for Pug (formerly Jade)","maintainers":[{"email":"cray0000@gmail.com","name":"cray0000"},{"email":"pturchik@yandex.ru","name":"yska"},{"email":"zag2art@gmail.com","name":"zag2art"},{"email":"fctsvirus0k@gmail.com","name":"fctsvirus"},{"email":"maestro.simf@gmail.com","name":"maestro.sc"},{"email":"ivan.lepkin@yandex.ru","name":"byshock"},{"email":"anagami.by@gmail.com","name":"anagami"},{"email":"rabbit.abyss.kv@gmail.com","name":"rabbit-abyss"},{"email":"evgeniy.tarl@gmail.com","name":"tarlord"},{"email":"nariknarik322@gmail.com","name":"nariman322"}],"readme":"# pug-lint\n\nAn unopinionated and configurable linter and style checker for Pug (formerly Jade)\n\n[![build status](https://img.shields.io/travis/pugjs/pug-lint/master.svg)](https://travis-ci.org/pugjs/pug-lint)\n[![coverage status](https://img.shields.io/codecov/c/github/pugjs/pug-lint/master.svg)](https://codecov.io/gh/pugjs/pug-lint)\n[![dependency status](https://img.shields.io/david/pugjs/pug-lint.svg)](https://david-dm.org/pugjs/pug-lint)\n[![npm](https://img.shields.io/npm/v/pug-lint.svg)](https://www.npmjs.com/package/pug-lint)\n\n## CLI\n\n### Installation\n\n```shell\n$ npm install -g pug-lint\n```\n\n### Usage\n\n```shell\n$ pug-lint [options] <file ...>\n```\n\n#### Options\n\n* `-h, --help`: output usage information\n* `-V, --version`: output the version number\n* `-c, --config <path>`: [configuration file](#configuration-file) path\n* `-r, --reporter <reporter>`: error reporter; console - default, inline\n\n## Editor integration\n\n### Sublime Text 3\n\nIf you use SublimeLinter 3 with Sublime Text 3, you can install the\n[SublimeLinter-pug-lint](https://github.com/SublimeLinter/SublimeLinter-pug-lint)\nplugin using [Package Control](https://packagecontrol.io/).\n\n### Atom\n\nIf you use Atom, you can install the [linter-pug](https://atom.io/packages/linter-pug) package.\n\n### VS Code\n\nIf you use VS Code, you can install the [vscode-puglint](https://marketplace.visualstudio.com/items?itemName=mrmlnc.vscode-puglint) extension.\n\n### Vim\n\npug-lint is part of [syntastic](https://github.com/scrooloose/syntastic).\n\nIf you are using [vim-plug](https://github.com/junegunn/vim-plug) to manage your\nVim plugins (recommended), you can do:\n\n```\n\" In your ~/.vimrc\nPlug 'scrooloose/syntastic'\n\" Then run these commands\n:source %\n:PlugInstall\n```\n\nThen to turn the pug linter on, you will need this line in your `.vimrc`.\n\n```\nlet g:syntastic_pug_checkers = ['pug_lint']\n```\n\n## Build system integration\n\n### Gulp\n\nIf you're using Gulp as your build system, you can use [gulp-pug-linter](https://github.com/ilyakam/gulp-pug-linter) for easier integration.\n\n### Grunt\n\nIf you're using Grunt as your build system, you can use [grunt-puglint](https://github.com/mrmlnc/grunt-puglint) for easier integration.\n\n## Configuration file\n\nOptions and rules can be specified in a `.pug-lintrc`, `.pug-lintrc.js`, or `.pug-lintrc.json` file, or via adding a `\"pugLintConfig\"` option to `package.json`.\n\n### Options\n\n#### preset `deprecated`\n\nPresets have been deprecated in favour of [extending configuration files](#extends).\n\n> Instructions for those wishing to continue to use the rules defined in the deprecated `clock` preset can be found at https://github.com/pugjs/pug-lint/issues/80#issuecomment-223283681\n\n#### extends\n\nType: `string`\n\nIf you want to extend a specific configuration file, you can use the `extends` property and specify the path to the file. The path can be either relative or absolute\n\nConfigurations can be extended by using:\n\n1. JSON file\n2. JS file\n3. [Shareable configuration package](#shareable-configuration-packages)\n\nThe extended configuration provides base rules, which can be overridden by the configuration that references it. For example:\n\n```json\n{\n  \"extends\": \"./node_modules/coding-standard/.pug-lintrc\",\n  \"disallowIdLiterals\": null\n}\n```\n\nYou can also extend configurations using [shareable configuration packages](#shareable-configuration-packages). To do so, be sure to install the configuration package you want from npm and then use the package name, such as:\n\n```shell\n$ npm install --save-dev pug-lint-config-clock\n```\n\n```json\n{\n  \"extends\": \"pug-lint-config-myrules\",\n  \"disallowIdLiterals\": null\n}\n```\n\nIn this example, the `pug-lint-config-myrules` package will be loaded as an object and used as the parent of this configuration. You can override settings from the shareable configuration package by adding them directly into your `.pug-lintrc` file.\n\nYou can find config to extend on NPM using [`\"pug-lint-config\"` query](https://www.npmjs.com/search?q=pug-lint-config).\n\n> **Note**: You can omit `pug-lint-config-` and pug-lint will automatically insert it for you\n\n#### excludeFiles\n\nType: `Array`\n\nDefault: `[\"node_modules/**\"]`\n\nDisables style checking for specified paths declared with glob patterns.\n\n#### additionalRules\n\nType: `Array`\n\nArray of file path matching patterns to load additional rules from, e.g.:\n\n```json\n{\n  \"additionalRules\": [\"project-rules/*.js\"]\n}\n```\n\n### Rules\n\n[List of available rules](docs/rules.md)\n\nYou can specifically disable any rule by omitting it from your `.pug-lintrc` config file or by assigning it to null, like so:\n\n```json\n{\n  \"disallowBlockExpansion\": null\n}\n```\n\nSome rules, if enabled at the same time, would be contradictory to one another, such as:\n\n```json\n{\n  \"disallowSpaceAfterCodeOperator\": true,\n  \"requireSpaceAfterCodeOperator\": true\n}\n```\n\nIn this case `requireSpaceAfterCodeOperator` is treated as null, and ignored.\n\n### Shareable configuration packages\n\nShareable configs are simply npm packages that export a configuration object. To start, [create a Node.js module](https://docs.npmjs.com/getting-started/creating-node-modules) like you normally would. Make sure the module name begins with `pug-lint-config-`, such as `pug-lint-config-myconfig`. Create a new index.js file and export an object containing your settings:\n\n```js\nmodule.exports = {\n  disallowBlockExpansion: true\n};\n```\n\nOnce your shareable config is ready, you can [publish to npm](https://docs.npmjs.com/getting-started/publishing-npm-packages) to share with others. We recommend using the [`puglint`](https://www.npmjs.com/browse/keyword/puglint) and [`puglintconfig`](https://www.npmjs.com/browse/keyword/puglintconfig) keywords so others can easily find your module.\n","readmeFilename":"README.md"}