{"id":13403221,"url":"https://github.com/stylelint/stylelint","last_synced_at":"2025-05-12T16:11:26.349Z","repository":{"id":24159068,"uuid":"27549019","full_name":"stylelint/stylelint","owner":"stylelint","description":"A mighty CSS linter that helps you avoid errors and enforce conventions.","archived":false,"fork":false,"pushed_at":"2025-05-05T08:16:12.000Z","size":34950,"stargazers_count":11239,"open_issues_count":157,"forks_count":965,"subscribers_count":98,"default_branch":"main","last_synced_at":"2025-05-05T11:41:43.314Z","etag":null,"topics":["css","enforce-conventions","lint","linter","postcss"],"latest_commit_sha":null,"homepage":"https://stylelint.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stylelint.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"stylelint","open_collective":"stylelint"}},"created_at":"2014-12-04T16:25:23.000Z","updated_at":"2025-05-05T08:25:17.000Z","dependencies_parsed_at":"2023-01-16T22:02:27.772Z","dependency_job_id":"9f6ff6af-bc51-4513-8d2f-255b38ce23e0","html_url":"https://github.com/stylelint/stylelint","commit_stats":{"total_commits":6211,"total_committers":449,"mean_commits":"13.832962138084632","dds":0.7786185799388182,"last_synced_commit":"18c2225cf75a5bcd7014cf1217812c5bd6964d01"},"previous_names":[],"tags_count":251,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylelint%2Fstylelint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylelint%2Fstylelint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylelint%2Fstylelint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylelint%2Fstylelint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stylelint","download_url":"https://codeload.github.com/stylelint/stylelint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252501741,"owners_count":21758447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","enforce-conventions","lint","linter","postcss"],"created_at":"2024-07-30T19:01:27.001Z","updated_at":"2025-05-05T12:45:18.925Z","avatar_url":"https://github.com/stylelint.png","language":"JavaScript","funding_links":["https://github.com/sponsors/stylelint","https://opencollective.com/stylelint"],"categories":["JavaScript","Environment variables","Repository","目录","前端开发框架及项目","Built with remark"],"sub_categories":["Images","Linter \u0026 Formatter","测试/工具/Mock","其他_文本生成、文本对话"],"readme":"# Stylelint\n\n[![npm version](https://img.shields.io/npm/v/stylelint?logo=npm\u0026logoColor=fff)](https://www.npmjs.com/package/stylelint)\n[![Build Status](https://github.com/stylelint/stylelint/workflows/Testing/badge.svg)](https://github.com/stylelint/stylelint/actions/workflows/testing.yml?query=branch%3Amain)\n[![npm downloads](https://img.shields.io/npm/dm/stylelint)](https://npmcharts.com/compare/stylelint?minimal=true)\n\nA mighty CSS linter that helps you avoid errors and enforce conventions.\n\n## Features\n\nIt's mighty as it:\n\n- has over **100 built-in rules** for modern CSS syntax and features\n- supports **plugins** so you can create your own custom rules\n- automatically **fixes problems** where possible\n- supports **shareable configs** that you can create or extend\n- can **be customized** to your exact needs\n- has **15k unit tests** making it robust\n- is **trusted by companies worldwide** like Google and GitHub\n\nAnd it can be extended to:\n\n- extract **embedded styles** from HTML, Markdown and CSS-in-JS template literals\n- parse **CSS-like languages** like SCSS, Sass, Less and SugarSS\n\n## How it'll help you\n\nIt'll help you **avoid errors**, for example:\n\n- invalid things, e.g. malformed grid areas\n- valid things that are problematic, e.g. duplicate selectors\n- unknown things, e.g. misspelled property names\n\nAnd **enforce conventions**, for example:\n\n- disallow things, e.g. specific units\n- enforce naming patterns, e.g. for custom properties\n- set limits, e.g. the number of ID selectors\n- specify notations, e.g. for modern color functions\n\nWe recommend using a pretty printer like Prettier alongside Stylelint. Linters and pretty printers are complementary tools that work together to help you write consistent and error-free code.\n\n## Example output\n\n![Example](example.png)\n\n## Guides\n\n- User guide\n  - [Getting started](docs/user-guide/get-started.md)\n  - [Customizing](docs/user-guide/customize.md)\n  - [Configuring](docs/user-guide/configure.md)\n  - [Rules](docs/user-guide/rules.md)\n  - [Ignoring code](docs/user-guide/ignore-code.md)\n  - [CLI](docs/user-guide/cli.md)\n  - [Node.js API](docs/user-guide/node-api.md)\n  - [PostCSS plugin](docs/user-guide/postcss-plugin.md)\n  - [Options](docs/user-guide/options.md)\n  - [Errors \u0026 warnings](docs/user-guide/errors.md)\n- Developer guide\n  - [Writing rules](docs/developer-guide/rules.md)\n  - [Writing plugins](docs/developer-guide/plugins.md)\n  - [Writing custom syntaxes](docs/developer-guide/syntaxes.md)\n  - [Writing custom formatters](docs/developer-guide/formatters.md)\n  - [Writing system tests](docs/developer-guide/system-tests.md)\n- Migration guide\n  - [Migrating to 16.0.0](docs/migration-guide/to-16.md)\n  - [Migrating to 15.0.0](docs/migration-guide/to-15.md)\n  - [Migrating to 14.0.0](docs/migration-guide/to-14.md)\n- Maintainer guide\n  - [Managing issues](docs/maintainer-guide/issues.md)\n  - [Managing pull requests](docs/maintainer-guide/pull-requests.md)\n  - [Performing releases](docs/maintainer-guide/releases.md)\n- About\n  - [Vision](docs/about/vision.md)\n  - [Governance](docs/about/governance.md)\n  - [Semantic versioning](docs/about/semantic-versioning.md)\n\n## Contributors\n\nStylelint is maintained by volunteers. Without the code contributions from [all these fantastic people](https://github.com/stylelint/stylelint/graphs/contributors), Stylelint would not exist. [Become a contributor](CONTRIBUTING.md).\n\n### Alumni\n\nWe'd like to thank all past members for their invaluable contributions, including two of Stylelint's co-creators [@davidtheclark](https://github.com/davidtheclark) and [@MoOx](https://github.com/MoOx).\n\n### Sponsors\n\n\u003cobject data=\"https://opencollective.com/stylelint/sponsors.svg?width=420\u0026button=false\" type=\"image/svg+xml\"\u003e\n  \u003cimg src=\"https://opencollective.com/stylelint/sponsors.svg?width=840\u0026button=false\" /\u003e\n\u003c/object\u003e\n\nThank you to all our sponsors! [Become a sponsor](https://opencollective.com/stylelint).\n\n### Backers\n\n\u003cobject data=\"https://opencollective.com/stylelint/backers.svg?width=420\u0026avatarHeight=48\u0026button=false\" type=\"image/svg+xml\"\u003e\n  \u003cimg src=\"https://opencollective.com/stylelint/backers.svg?width=840\u0026avatarHeight=48\u0026button=false\" /\u003e\n\u003c/object\u003e\n\nThank you to all our backers! [Become a backer](https://opencollective.com/stylelint).\n\n### Website hosting\n\n[![Deploys by Netlify](https://www.netlify.com/img/global/badges/netlify-color-accent.svg)](https://www.netlify.com)\n\n## License\n\n[The MIT License](https://raw.githubusercontent.com/stylelint/stylelint/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstylelint%2Fstylelint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstylelint%2Fstylelint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstylelint%2Fstylelint/lists"}