{"id":13723267,"url":"https://github.com/astahmer/box-extractor","last_synced_at":"2025-05-07T16:32:37.776Z","repository":{"id":64990937,"uuid":"565874106","full_name":"astahmer/box-extractor","owner":"astahmer","description":"Static code extraction. Zero-runtime CSS-in-TS `\u003cBox /\u003e` -\u003e became a part of Panda CSS","archived":true,"fork":false,"pushed_at":"2023-06-19T14:14:00.000Z","size":2169,"stargazers_count":127,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-29T13:14:20.876Z","etag":null,"topics":["ast","box","extractor","sprinkles","static","typescript","vanilla-extract","vite"],"latest_commit_sha":null,"homepage":"https://panda-css.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astahmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-11-14T14:06:55.000Z","updated_at":"2024-12-31T13:26:22.000Z","dependencies_parsed_at":"2024-01-06T14:04:45.259Z","dependency_job_id":"406cc1c1-40b8-4d9f-b290-7cb6b26a2a85","html_url":"https://github.com/astahmer/box-extractor","commit_stats":{"total_commits":372,"total_committers":3,"mean_commits":124.0,"dds":0.06989247311827962,"last_synced_commit":"9a976a699dfe14e38b8c96895fe08f6449ca4bf5"},"previous_names":[],"tags_count":112,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astahmer%2Fbox-extractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astahmer%2Fbox-extractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astahmer%2Fbox-extractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astahmer%2Fbox-extractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astahmer","download_url":"https://codeload.github.com/astahmer/box-extractor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252915491,"owners_count":21824575,"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":["ast","box","extractor","sprinkles","static","typescript","vanilla-extract","vite"],"created_at":"2024-08-03T01:01:38.122Z","updated_at":"2025-05-07T16:32:32.762Z","avatar_url":"https://github.com/astahmer.png","language":"TypeScript","readme":"this repo was inlined in [Panda CSS](https://panda-css.com/) (here in [this PR](https://github.com/chakra-ui/panda/pull/387)) and will therefore no longer be maintained, code now living in [the current @pandacss/extractor package](https://github.com/chakra-ui/panda/tree/main/packages/extractor)\n\n\n---\n\n# [📦 box-extractor](https://github.com/astahmer/box-extractor/)\n\n**Static code extraction. Zero-runtime CSS-in-TS `\u003cBox /\u003e`**\n\nOptimize your code and elevate your developer experience with compile-time optimizations from static analysis.\n\n💎 \u0026nbsp; Enhanced DX close to [Chakra-UI's `\u003cBox /\u003e`](https://chakra-ui.com/docs/styled-system/style-props#pseudo) without [the](https://github.com/chakra-ui/chakra-ui/issues/4003) [runtime](https://github.com/chakra-ui/chakra-ui/issues/859) [cost](https://twitter.com/jaredpalmer/status/1271482711132254210?lang=en)\n\n✂️ \u0026nbsp; Smaller CSS/JS output (up to 99%) with compile-time purge just like Tailwind CSS\n\n🎯 \u0026nbsp; Over 180k props/values/conditions combinations, only 1 used in your app, only 1 will remain\n\n🔍 \u0026nbsp; Smart analyzer built-in for near instant drop-in benefits\n\n💾 \u0026nbsp; Low-level AST output with access to `ts-morph` `Node` objects for fine-grained control\n\n# Installation\n\n## core (static AST extraction)\n\nif you need the static analysis (using [ts-morph](https://github.com/dsherret/ts-morph) on components props/functions args:\n\n```ts\npnpm add @box-extractor/core\n```\n\nor you could try it like this:\n\n```ts\npnpx @box-extractor/cli -i path/to/input.ts -o path/to/report.json --functions=\"css,styled\" --components=\"div,factory.*,SomeComponent\"\n```\n","funding_links":[],"categories":["Made for Vanilla Extract","TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastahmer%2Fbox-extractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastahmer%2Fbox-extractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastahmer%2Fbox-extractor/lists"}