{"id":32791506,"url":"https://github.com/offensiveedge/colors-le","last_synced_at":"2025-11-05T13:01:43.879Z","repository":{"id":318763057,"uuid":"1073914393","full_name":"OffensiveEdge/colors-le","owner":"OffensiveEdge","description":"Instantly extract and analyze colors from CSS, HTML, and JavaScript with precision","archived":false,"fork":false,"pushed_at":"2025-11-02T16:39:52.000Z","size":2302,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-02T18:15:46.740Z","etag":null,"topics":["accessibility","analysis","color-analysis","color-extraction","color-validation","colors","css","developer-tools","extension","extraction","format-conversion","functional-programming","html","javascript","productivity","scss","typescript","visual-studio-code","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/OffensiveEdge.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-10T20:24:30.000Z","updated_at":"2025-11-02T16:39:55.000Z","dependencies_parsed_at":"2025-10-15T08:54:13.509Z","dependency_job_id":"1b5589c8-26fb-4257-865e-696cd18c7f72","html_url":"https://github.com/OffensiveEdge/colors-le","commit_stats":null,"previous_names":["nolindnaidoo/colors-le","offensiveedge/colors-le"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/OffensiveEdge/colors-le","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffensiveEdge%2Fcolors-le","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffensiveEdge%2Fcolors-le/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffensiveEdge%2Fcolors-le/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffensiveEdge%2Fcolors-le/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OffensiveEdge","download_url":"https://codeload.github.com/OffensiveEdge/colors-le/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffensiveEdge%2Fcolors-le/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282823603,"owners_count":26733133,"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-11-05T02:00:05.946Z","response_time":58,"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":["accessibility","analysis","color-analysis","color-extraction","color-validation","colors","css","developer-tools","extension","extraction","format-conversion","functional-programming","html","javascript","productivity","scss","typescript","visual-studio-code","vscode","vscode-extension"],"created_at":"2025-11-05T13:01:04.961Z","updated_at":"2025-11-05T13:01:43.873Z","avatar_url":"https://github.com/OffensiveEdge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/assets/images/icon.png\" alt=\"Colors-LE Logo\" width=\"96\" height=\"96\"/\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eColors-LE: Zero Hassle Color Extraction\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eExtract 1,000+ colors in 0.02 seconds\u003c/b\u003e • \u003cb\u003e100x faster than manual\u003c/b\u003e\u003cbr/\u003e\n  \u003ci\u003eCSS, HTML, JavaScript, TypeScript, SCSS, LESS, Stylus, and SVG\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://open-vsx.org/extension/OffensiveEdge/colors-le\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Install%20from-Open%20VSX-blue?style=for-the-badge\u0026logo=visualstudiocode\" alt=\"Install from Open VSX\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.colors-le\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Install%20from-VS%20Code-blue?style=for-the-badge\u0026logo=visualstudiocode\" alt=\"Install from VS Code\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/open-vsx/dt/OffensiveEdge/colors-le?label=downloads\u0026color=green\" alt=\"Downloads\" /\u003e\n  \u003cimg src=\"https://img.shields.io/open-vsx/rating/OffensiveEdge/colors-le?label=rating\u0026color=yellow\" alt=\"Rating\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Open%20Source-100%25-purple\" alt=\"100% Open Source\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Vulnerabilities-0%20Critical-brightgreen\" alt=\"Zero Critical Vulnerabilities\" /\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/assets/images/demo.gif\" alt=\"Color Extraction Demo\" style=\"max-width: 100%; height: auto;\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/assets/images/command-palette.png\" alt=\"Command Palette\" style=\"max-width: 80%; height: auto;\" /\u003e\n\u003c/p\u003e\n\n---\n\n## ⚡ See It In Action\n\n**Before**: Manually searching through CSS files for brand colors (1 hour)\n\n```css\n.header {\n  background: #ff5733;\n}\n.button {\n  color: rgb(255, 87, 51);\n}\n/* ... 200 more colors scattered across 50 files */\n```\n\n**After**: One command extracts all 203 colors with analysis in 0.02 seconds\n\n```\nColors: 203 total\nUnique: 47 colors\nMost used: #FF5733 (23 times)\nFormat: HEX (60%), RGB (30%), HSL (10%)\nSort by: Hue, Saturation, Lightness\n```\n\n**Time Saved**: 1 hour → 1 second ⚡\n\n---\n\n## ✅ Why Colors-LE?\n\n- **1,000+ colors in 0.02 seconds** - 100x faster than manual searching\n- **Zero Config** - Install → Press `Cmd+Alt+C` → Get palette instantly\n- **Battle-Tested** - 219 unit tests, 89% coverage, zero critical vulnerabilities\n- **Security-Hardened** - 89% error handling, path sanitization, safe error reporting\n\nPerfect for design system audits, brand compliance, and accessibility testing.\n\n---\n\n## 🙏 Thank You\n\nIf Colors-LE saves you time, a quick rating helps other developers discover it:  \n⭐ [Open VSX](https://open-vsx.org/extension/OffensiveEdge/colors-le) • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.colors-le)\n\n---\n\n### Key Features\n\n- **Color conversion** - Convert between HEX, RGB, HSL, OKLCH formats\n- **Palette analysis** - Find most-used colors, duplicates, format distribution\n- **Smart sorting** - Sort by hue, saturation, lightness, or alphabetically\n- **7 file types** - CSS, SCSS, LESS, Stylus, HTML, JavaScript/TypeScript, SVG\n- **Format detection** - HEX, RGB/RGBA, HSL/HSLA, named colors, CSS variables\n- **13 languages** - English, Chinese, German, Spanish, French, Indonesian, Italian, Japanese, Korean, Portuguese, Russian, Ukrainian, Vietnamese\n\n## 🚀 More from the LE Family\n\n- **[String-LE](https://open-vsx.org/extension/OffensiveEdge/string-le)** - Extract user-visible strings for i18n and validation • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.string-le)\n- **[Numbers-LE](https://open-vsx.org/extension/OffensiveEdge/numbers-le)** - Extract and analyze numeric data with statistics • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.numbers-le)\n- **[EnvSync-LE](https://open-vsx.org/extension/OffensiveEdge/envsync-le)** - Keep .env files in sync with visual diffs • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.envsync-le)\n- **[Paths-LE](https://open-vsx.org/extension/OffensiveEdge/paths-le)** - Extract file paths from imports and dependencies • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.paths-le)\n- **[Scrape-LE](https://open-vsx.org/extension/OffensiveEdge/scrape-le)** - Validate scraper targets before debugging • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.scrape-le)\n- **[URLs-LE](https://open-vsx.org/extension/OffensiveEdge/urls-le)** - Extract URLs from web content and APIs • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.urls-le)\n- **[Dates-LE](https://open-vsx.org/extension/OffensiveEdge/dates-le)** - Extract temporal data from logs and APIs • [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.dates-le)\n\n## 💡 Use Cases\n\n- **Design System Auditing** - Extract all colors from stylesheets for consistency validation\n- **Theme Development** - Pull color palettes from CSS variables and design tokens\n- **Brand Compliance** - Find all brand colors across your codebase for validation\n- **Accessibility Analysis** - Extract colors for contrast ratio and accessibility testing\n\n## 🚀 Quick Start\n\n1. Install from [Open VSX](https://open-vsx.org/extension/OffensiveEdge/colors-le) or [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=nolindnaidoo.colors-le)\n2. Open any supported file type (`Cmd/Ctrl + P` → search for \"Colors-LE\")\n3. Run Quick Extract (`Cmd+Alt+C` / `Ctrl+Alt+C` / Status Bar)\n\n## ⚙️ Configuration\n\nColors-LE has minimal configuration to keep things simple. Most settings are available in VS Code's settings UI under \"Colors-LE\".\n\nKey settings include:\n\n- Output format preferences (side-by-side, clipboard copy)\n- Safety warnings and thresholds for large files\n- Notification levels (silent, important, all)\n- Status bar visibility\n- Local telemetry logging for debugging\n\nFor the complete list of available settings, open VS Code Settings and search for \"colors-le\".\n\n## 🌍 Language Support\n\n🇺🇸 **English** • 🇩🇪 **German** • 🇪🇸 **Spanish** • 🇫🇷 **French** • 🇮🇩 **Indonesian** • 🇮🇹 **Italian** • 🇯🇵 **Japanese** • 🇰🇷 **Korean** • 🇧🇷 **Portuguese (Brazil)** • 🇷🇺 **Russian** • 🇺🇦 **Ukrainian** • 🇻🇳 **Vietnamese** • 🇨🇳 **Chinese (Simplified)**\n\n## 🧩 System Requirements\n\n**VS Code** 1.70.0+ • **Platform** Windows, macOS, Linux  \n**Memory** 200MB recommended for large files\n\n## 🔒 Privacy\n\n100% local processing. No data leaves your machine. Optional logging: `colors-le.telemetryEnabled`\n\n## ⚡ Performance\n\n\u003c!-- PERFORMANCE_START --\u003e\n\nColors-LE is built for speed and efficiently processes files from 1KB to 100KB+. See [detailed benchmarks](docs/PERFORMANCE.md).\n\nFor detailed information, see [Performance Monitoring](docs/PERFORMANCE.md).\n\n**Performance Characteristics:**\n\n- Handles files up to 100KB efficiently\n- Practical limit: 1MB (with warning), 10MB (error threshold)\n- Built-in real-time performance tracking\n- Optimized for design systems and large codebases\n\n**Note**: Performance varies based on file content, format, and hardware. Files without colors process faster but extract 0 colors.  \n**Full Metrics**: [docs/PERFORMANCE.md](docs/PERFORMANCE.md) • Test Environment: macOS, Bun 1.2.22, Node 22.x\n\n\u003c!-- PERFORMANCE_END --\u003e\n\n## 🔧 Troubleshooting\n\n**Not detecting colors?**  \nEnsure file is saved with supported extension (.css, .html, .js, .ts, .scss, .less, .styl, .svg)\n\n**Large files slow?**  \nFiles over 1MB may take longer. Consider splitting into smaller chunks\n\n**Need help?**  \nCheck [Issues](https://github.com/OffensiveEdge/colors-le/issues) or enable logging: `colors-le.telemetryEnabled: true`\n\n## ❓ FAQ\n\n**What colors are extracted?**  \nHEX (#rgb, #rrggbb, #rrggbbaa), RGB/RGBA, HSL/HSLA, and named colors\n\n**Can I convert between formats?**  \nYes, use the Convert command to transform colors between HEX, RGB, HSL, and OKLCH formats\n\n**Max file size?**  \nUp to 10MB. Practical limit: 1MB for optimal performance\n\n**Perfect for design systems?**  \nAbsolutely! Audit color palettes, validate brand consistency, and analyze theme implementations\n\n## 📊 Testing\n\n**219 unit tests** • **89% function coverage, 74% line coverage**  \nPowered by Vitest • Run with `bun test --coverage`\n\n### Core Principle\n\n**No broken or failed tests are allowed in commits.** All tests must pass before code can be committed or merged.\n\n### Test Suite Highlights\n\n- **44 error handling tests** with 89% coverage\n- **Comprehensive color format support** (HEX, RGB/RGBA, HSL/HSLA, named colors)\n- **CSS, SCSS, LESS, Stylus, HTML, JS/TS, SVG** extraction validation\n\nFor detailed testing guidelines, see [Testing Guidelines](docs/TESTING.md).\n\n---\n\nCopyright © 2025\n\u003ca href=\"https://github.com/OffensiveEdge\"\u003e@OffensiveEdge\u003c/a\u003e. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffensiveedge%2Fcolors-le","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foffensiveedge%2Fcolors-le","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffensiveedge%2Fcolors-le/lists"}