{"id":13298552,"url":"https://github.com/robinweser/elodin-old","last_synced_at":"2025-03-10T09:33:30.039Z","repository":{"id":66101454,"uuid":"91577558","full_name":"robinweser/elodin-old","owner":"robinweser","description":"Quality and Optimisation tools for CSS in JavaScript","archived":true,"fork":false,"pushed_at":"2019-01-11T07:44:47.000Z","size":243,"stargazers_count":16,"open_issues_count":8,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-06T22:43:39.357Z","etag":null,"topics":["code-quality","css","css-in-js","developer-experience","developer-tools","dx","linter","optimization","quality-assurance","style-linter"],"latest_commit_sha":null,"homepage":"","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/robinweser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2017-05-17T13:06:45.000Z","updated_at":"2023-02-13T16:29:31.000Z","dependencies_parsed_at":"2023-03-03T14:30:27.053Z","dependency_job_id":null,"html_url":"https://github.com/robinweser/elodin-old","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinweser%2Felodin-old","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinweser%2Felodin-old/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinweser%2Felodin-old/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinweser%2Felodin-old/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robinweser","download_url":"https://codeload.github.com/robinweser/elodin-old/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242823835,"owners_count":20191069,"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":["code-quality","css","css-in-js","developer-experience","developer-tools","dx","linter","optimization","quality-assurance","style-linter"],"created_at":"2024-07-29T17:29:47.437Z","updated_at":"2025-03-10T09:33:30.030Z","avatar_url":"https://github.com/robinweser.png","language":"JavaScript","funding_links":["https://www.patreon.com/rofrischmann","https://opencollective.com/fela","https://opencollective.com/fela/backer/0/website?requireActive=false","https://opencollective.com/fela/backer/1/website?requireActive=false","https://opencollective.com/fela/backer/2/website?requireActive=false","https://opencollective.com/fela/backer/3/website?requireActive=false","https://opencollective.com/fela/backer/4/website?requireActive=false","https://opencollective.com/fela/backer/5/website?requireActive=false","https://opencollective.com/fela/backer/6/website?requireActive=false","https://opencollective.com/fela/backer/7/website?requireActive=false","https://opencollective.com/fela/backer/8/website?requireActive=false","https://opencollective.com/fela/backer/9/website?requireActive=false"],"categories":[],"sub_categories":[],"readme":"\u003e **Deprecated**: This repository has been renamed and deprecated. There's something new coming soon that'll be named Elodin instead, but it provides similar benefits \u0026 ideas, just in a complete different way. \n\n# Elodin\n\nElodin is a plugin-based quality and optimization tool for CSS in JavaScript libraries.\u003cbr\u003e\nIt helps to write bulletproof and valid styles and pushes developer experience to a next level.\n\nElodin is built on top of [Bredon](https://github.com/rofrischmann/bredon) which is a modern CSS value compiler.\n\n\u003cimg alt=\"TravisCI\" src=\"https://travis-ci.org/rofrischmann/elodin.svg?branch=master\"\u003e \u003ca href=\"https://codeclimate.com/github/rofrischmann/elodin/coverage\"\u003e\u003cimg alt=\"Test Coverage\" src=\"https://codeclimate.com/github/rofrischmann/elodin/badges/coverage.svg\"\u003e\u003c/a\u003e \u003cimg alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/elodin.svg\"\u003e \u003cimg alt=\"npm version\" src=\"https://badge.fury.io/js/elodin.svg\"\u003e \u003ca href=\"https://gitter.im/rofrischmann/elodin\"\u003e\u003cimg alt=\"Gitter\" src=\"https://img.shields.io/gitter/room/rofrischmann/elodin.svg\"\u003e\u003c/a\u003e\n\n## Support Us\nSupport Robin Frischmann's work on [Fela](https://github.com/rofrischmann/fela) and its ecosystem (Elodin) directly via [**Patreon**](https://www.patreon.com/rofrischmann).\n\nOr support us on [**Open Collective**](https://opencollective.com/fela) to fund community work. This also includes Elodin as well.\u003cbr\u003e\nThank you to all our backers!\n\n\u003ca href=\"https://opencollective.com/fela/backer/0/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/0/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/1/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/1/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/2/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/2/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/3/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/3/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/4/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/4/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/5/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/5/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/6/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/6/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/7/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/7/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/8/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/8/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/fela/backer/9/website?requireActive=false\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/fela/backer/9/avatar.svg?requireActive=false\"\u003e\u003c/a\u003e\n\n## Installation\n```sh\nyarn add elodin\n```\nYou may alternatively use `npm i --save elodin`.\n\n## Features\n* Validation using [bredon-validate](https://github.com/rofrischmann/bredon/blob/master/docs/api/bredon-validate/validate.md)\n* Most Plugins are fixable\n* Detailed Warnings\n\n## The gist\n```javascript\nimport elodin from 'elodin'\nimport validation from 'elodin-plugin-validation'\nimport longhand from 'elodin-plugin-longhand'\n\n// create a preconfigured linter\nconst process = elodin({\n  plugins: [\n    longhand(),\n    validation({\n      removeInvalid: true\n    })\n  ],\n  fix: true\n})\n\nconst style = {\n  padding: '20px 0 10px 5em',\n  fontSize: '15pt',\n  lineHeight: '1.2em',\n  width: 'solid'\n}\n\nconst warnings = process(style)\n\n// using the fix option will automatically fix warnings\nstyle === {\n  paddingTop: '20px',\n  paddingBottom: '10px',\n  paddingLeft: '5em',\n  fontSize: '15pt',\n  lineHeight:  '1.2em'\n}\n```\n\n#### Catching Warnings\nIf the `fix` option is disabled, Elodin will return a list of warning for every style object.\n\nTaken the above example:\n\n```javascript\nwarnings.forEach(warning =\u003e console.log(warning.description))\n// =\u003e The value \"solid\" is not valid in combination with \"width\".\n```\n\n## Documentation\n\u003e Coming soon.\n\n## Support\nGot a question? Come and join us on [Gitter](https://gitter.im/rofrischmann/elodin)!\u003cbr\u003e\nWe'd love to help out. We also highly appreciate any feedback.\n\n## Contributing\n\nThis project exists thanks to all the people who contribute.\n\nWe highly appreciate any contribution.\u003cbr\u003e\nFor more information follow the [contribution guide](.github/CONTRIBUTING.md).\u003cbr\u003e\nAlso, please read our [code of conduct](.github/CODE_OF_CONDUCT.md).\n\n## License\nElodin is licensed under the [MIT License](http://opensource.org/licenses/MIT).\u003cbr\u003e\nDocumentation is licensed under [Creative Common License](http://creativecommons.org/licenses/by/4.0/).\u003cbr\u003e\nCreated with ♥ by [@rofrischmann](http://rofrischmann.de).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinweser%2Felodin-old","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobinweser%2Felodin-old","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinweser%2Felodin-old/lists"}