A Node.js tool for crawling websites to find unused and duplicate CSS selectors.
uCSS is a Node.js tool that crawls websites to identify unused and duplicate CSS selectors. It helps developers clean up their stylesheets by analyzing HTML and CSS across multiple pages, including those behind logins. The tool provides configurable options for handling complex scenarios like JavaScript-toggled classes.
Frontend developers and web performance engineers working on large websites who need to optimize CSS delivery and reduce stylesheet bloat.
Developers choose uCSS for its crawling capabilities, support for authenticated pages, and flexibility via configuration files, making it suitable for real-world, multi-page web applications.
Find unused and duplicate CSS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Can crawl multiple pages within a domain to analyze CSS across entire websites, as stated in the README: 'Follows links (crawl), within the given domain.'
Supports analyzing pages behind logins through configurable login functions, allowing for both logged-in and logged-out user sessions, which is detailed in the config file setup.
Allows whitelisting of selectors for JavaScript-toggled classes and custom logging/output handling via configuration files, enabling tailored reporting for complex scenarios.
Can be used as both a command-line tool and a library, providing flexibility for different development workflows, as mentioned in the README.
Cannot automatically capture CSS rules applied via JavaScript after page load, requiring manual whitelisting which may miss dynamic styles, as admitted in the 'What uCSS can't do' section.
As noted in the README, uCSS is in beta with potential bugs, outdated documentation, and possible functionality changes, making it less reliable for critical projects.
Setting up features like custom login or output handling requires JavaScript knowledge and can be intricate, as described in the config file and login sections, adding to setup time.