{"id":15504715,"url":"https://github.com/alanbsmith/example-component-library","last_synced_at":"2025-07-20T00:32:13.291Z","repository":{"id":78448006,"uuid":"93980350","full_name":"alanbsmith/example-component-library","owner":"alanbsmith","description":"an example setup for building a component lib with React","archived":false,"fork":false,"pushed_at":"2017-06-22T16:52:46.000Z","size":69,"stargazers_count":7,"open_issues_count":3,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-23T04:43:34.601Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/alanbsmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"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-06-11T03:54:13.000Z","updated_at":"2021-05-18T13:02:28.000Z","dependencies_parsed_at":"2023-04-22T17:45:37.283Z","dependency_job_id":null,"html_url":"https://github.com/alanbsmith/example-component-library","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alanbsmith/example-component-library","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanbsmith%2Fexample-component-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanbsmith%2Fexample-component-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanbsmith%2Fexample-component-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanbsmith%2Fexample-component-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alanbsmith","download_url":"https://codeload.github.com/alanbsmith/example-component-library/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanbsmith%2Fexample-component-library/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266048540,"owners_count":23868739,"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":[],"created_at":"2024-10-02T09:19:43.592Z","updated_at":"2025-07-20T00:32:13.243Z","avatar_url":"https://github.com/alanbsmith.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Example Component Library\n\n## Up \u0026 Running\n`$ npm install` or `$ yarn`\n\n## Overview\nThis component lib is set up to use [styled-components](https://github.com/styled-components/styled-components) and [polished](https://github.com/styled-components/polished) 💅. This is a starter for you to create your own components and easily publish them to npm.\n\n### File Structure\n\n##### ELEMENTS\n`lib/elements` is intended to contain your smallest reusable components, e.g. Buttons, Inputs, etc.\n\n\n##### COMPONENTS\n`lib/components` is intended to contain combinations of these elements, e.g. SearchField, DropDown, etc.\n\n##### STYLES\n`lib/styles` is inteded to contain your global styles that you would like to include throughout the application, e.g. colors, animations, themes, etc.\n\n## Local Development\n\n### Linter\n_**NOTE:** The linter will run against everything in the `lib` directory. I've added an initial `.eslintrc` file for some basic configuration. Feel free to edit or replace it as needed._\n\nRun once:\n```\n$ npm run lint\n```\n\nRun the watch script:\n```\n$ npm run lint:watch\n```\n\n### Tests\n_**NOTE:** As there are no components added by default, there are no tests. But the infrastructure is set up for you to run your tests. This app is setup to use Mocha, Enzyme, and Expect. The `test` script is looking for test files with a `.spec.js` extension, e.g. MyComponent.spec.js._\nRun once:\n```\n$ npm test\n```\n\nRun the watch script:\n```\n$ npm run test:watch\n```\n\n### Build\n_**NOTE:** When you run `build`, Babel will create a `build` directory. This is what your users will interact with when they use your library. Nothing in `lib` gets shipped with your published module._\n\nRun once:\n```\n$ npm run build\n```\n\nRun the watch script:\n```\n$ npm run build:watch\n```\n\n_**NOTE:** the build script runs in the `prepublish` script just before you publish to npm._\n\n## Publishing\nIf you already have an account with npm, you can simply run:\n```\n$ npm login\n$ npm publish\n```\n\nIf you don't have an account with npm:\n\n_**NOTE:** Your email address is public_\n```\n$ npm set init.author.name \"Your Name\"\n$ npm set init.author.email \"you@example.com\"\n$ npm set init.author.url \"http://yourblog.com\"\n$ npm adduser\n$ npm publish\n```\n\n## Contributing\nIf you'd like to contribute to this app, please raise an issue and/or submit a pull request. Please be sure to follow the [Code of Conduct](CODE_OF_CONDUCT.md) when contributing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanbsmith%2Fexample-component-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falanbsmith%2Fexample-component-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanbsmith%2Fexample-component-library/lists"}