{"id":24266875,"url":"https://github.com/openstyles/csslint-mod","last_synced_at":"2025-08-26T09:06:33.619Z","repository":{"id":269617461,"uuid":"907573733","full_name":"openstyles/csslint-mod","owner":"openstyles","description":"A CSSLint fork supporting modern CSS, primarily used in the Stylus extension","archived":false,"fork":false,"pushed_at":"2025-01-12T03:27:49.000Z","size":286,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-05T02:16:41.595Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/openstyles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-23T22:49:58.000Z","updated_at":"2025-01-12T03:27:52.000Z","dependencies_parsed_at":"2024-12-24T21:26:06.123Z","dependency_job_id":"74d975c9-4798-40e8-ae42-f7eecb8950d4","html_url":"https://github.com/openstyles/csslint-mod","commit_stats":null,"previous_names":["openstyles/csslint-mod"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/openstyles/csslint-mod","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstyles%2Fcsslint-mod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstyles%2Fcsslint-mod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstyles%2Fcsslint-mod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstyles%2Fcsslint-mod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openstyles","download_url":"https://codeload.github.com/openstyles/csslint-mod/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstyles%2Fcsslint-mod/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272200570,"owners_count":24890816,"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","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-01-15T11:42:01.480Z","updated_at":"2025-08-26T09:06:33.574Z","avatar_url":"https://github.com/openstyles.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"A fork of the original [CSSLint](https://github.com/CSSLint/csslint) Build v0.10.0 15-August-2013 01:07:22, heavily modified since then as a part of [Stylus extension](https://github.com/openstyles/stylus), now extracted to a separate repo.\n\n* Supports modern CSS syntax including nesting, grids, complex selectors in pseudo selectors like `:has()`.\n* Verifies function arguments including the modern `color-mix()`, `hwb()`, etc.\n* Partly rewritten and mostly refactored to use modern JS.\n* Small minified size: ~80kB parser with all the CSS specs and grammar, ~26kB rule checker.\n* Somewhat optimized for speed: ~2x faster than stylelint with a dozen of simple rules and up to 10x in the subsequent runs while editing the CSS in the browser thanks to a primitive cache that reuses results from the previous run.\n* New rules:\n  * [known-pseudos](src/rules/known-pseudos.js): require known `:pseudo` or `::pseudo` selector\n  * [shorthand-overrides](src/rules/shorthand-overrides.js): require a shorthand to precede an individual property\n  * [simple-not](src/rules/simple-not.js): require a simple selector in `:not()`\n  * [selector-newline](src/rules/selector-newline.js): warn if descendant selector is on a new line\n  * [style-rule-nesting](src/rules/style-rule-nesting.js): warn if CSS nesting is used\n* No support for CLI or extra formatters.\n\nWIP:\n- [ ] Get CSS specs from MDN or csstree or W3C. Doesn't seem entirely straightforward so far: there are mistakes/omissions in some definitions.\n\nTODO:\n\n- [ ] Make the embedded `/* csslint */` comments work with caching.\n- [ ] Update the old CSSLint rules and remove the obsolete ones.\n- [ ] Adopt the most popular/useful rules from other linters.\n- [ ] Check validity of `calc()` and other math functions.\n- [ ] Restore the JSDoc comments from the original CSSLint?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstyles%2Fcsslint-mod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenstyles%2Fcsslint-mod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstyles%2Fcsslint-mod/lists"}