{"id":28683572,"url":"https://github.com/r3zafa/ngx-lib-starter-kit","last_synced_at":"2026-01-25T15:00:50.180Z","repository":{"id":292577520,"uuid":"980612778","full_name":"r3zafa/ngx-lib-starter-kit","owner":"r3zafa","description":"This boilerplate helps you quickly set up and develop Angular libraries. It includes a pre-configured structure for components, services, utilities, themes, assets, and more. The project is optimized for scalability and maintainability.","archived":false,"fork":false,"pushed_at":"2025-05-11T22:36:58.000Z","size":587,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-24T16:03:07.241Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/r3zafa.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-09T12:19:47.000Z","updated_at":"2025-07-24T14:38:04.000Z","dependencies_parsed_at":"2025-05-11T22:25:43.982Z","dependency_job_id":null,"html_url":"https://github.com/r3zafa/ngx-lib-starter-kit","commit_stats":null,"previous_names":["r3zafa/angular-library-boilerplate","r3zafa/ngx-lib-starter","r3zafa/ngx-lib-starter-kit"],"tags_count":4,"template":true,"template_full_name":null,"purl":"pkg:github/r3zafa/ngx-lib-starter-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3zafa%2Fngx-lib-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3zafa%2Fngx-lib-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3zafa%2Fngx-lib-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3zafa%2Fngx-lib-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r3zafa","download_url":"https://codeload.github.com/r3zafa/ngx-lib-starter-kit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3zafa%2Fngx-lib-starter-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28754807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T13:59:49.818Z","status":"ssl_error","status_checked_at":"2026-01-25T13:59:33.728Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-06-14T03:01:07.823Z","updated_at":"2026-01-25T15:00:50.099Z","avatar_url":"https://github.com/r3zafa.png","language":"TypeScript","funding_links":[],"categories":["Site Templates"],"sub_categories":["Free Templates"],"readme":"# AngularLibraryBoilerplate\n\nThis project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 18.2.11.\n\n## Overview\n\nThis boilerplate helps you quickly set up and develop Angular libraries. It includes a pre-configured structure for components, services, utilities, themes, assets, and more. The project is optimized for scalability and maintainability.\n\n### Key Features\n- Pre-configured folder structure for Angular libraries.\n- Automatic barrel file generation for cleaner imports.\n- Support for custom themes, assets, styles, and fonts.\n- Ready-to-use Angular Material theme integration.\n- Built-in support for unit testing with Karma and Jasmine.\n- Easy publishing to npm or private repositories.\n\n---\n\n## Getting Started\n\n## Create a New Angular Library\nUse the following command to create a new Angular library:\n```bash\nnpx ngx-lib-starter-kit my-lib\n```\n\nOR\n\n### 1. Clone the Repository\nClone the repository and navigate to the project directory:\n```bash\ngit clone https://github.com/your-repo/ngx-lib-starter-kit.git\ncd ngx-lib-starter-kit\n```\n\n### 2. Install Dependencies\nInstall all required dependencies:\n```bash\nnpm install\n```\nOR \n```bash\nnpm i\n```\n\n### 3. Customize the Structure\nDefine the necessary structures based on your project requirements and remove any unnecessary files or folders.\n\n### 3.1 Update Project Name\nRename the project in `package.json` and `angular.json` to match your library's name:\n1. Open `package.json` and update the `\"name\"` field:\n    ```json\n    {\n      \"name\": \"your-library-name\"\n    }\n    ```\n2. Open `angular.json` and update the `\"defaultProject\"` field:\n    ```json\n    {\n      \"defaultProject\": \"your-library-name\"\n    }\n    ```\n\n### 3.2 Organize Folder Structure\nCustomize the folder structure to suit your library's needs. For example:\n- Place reusable components in the `src/components` folder.\n- Add services to the `src/services` folder.\n- Store utility functions in the `src/utils` folder.\n- Keep styles and themes in the `src/styles` folder.\n\n### 3.3 Remove Unnecessary Files\nDelete any files or folders that are not required for your library. For example:\n- Remove unused assets from the `src/assets` folder.\n- Delete example components or services and ....\n\n### 3.4 Update Documentation\nEnsure the `README.md` file reflects the changes made to the structure and provides clear instructions for contributors and users.\n\n### 4. Build the Library\nBuild the library for distribution:\n```bash\nnpm run build\n```\n\n### 5. Publish the Library\n\nBefore publishing the library, ensure the following configurations are in place:\n\n#### 5.1 Update `package.json`\n1. Verify the `name` field matches your library's name.\n2. Ensure the `version` field follows [Semantic Versioning](https://semver.org/).\n3. Add a `description`, `keywords`, and `author` field to improve discoverability.\n4. Specify the `main` and `module` entry points for your library:\n    ```json\n    {\n      \"main\": \"dist/your-library-name/bundles/your-library-name.umd.js\",\n      \"module\": \"dist/your-library-name/fesm2015/your-library-name.js\",\n      \"types\": \"dist/your-library-name/your-library-name.d.ts\"\n    }\n    ```\n5. Add a `files` field to include only necessary files in the package:\n    ```json\n    {\n      \"files\": [\n        \"dist/\",\n        \"README.md\",\n        \"LICENSE\"\n      ]\n    }\n    ```\n\n#### 5.2 Build the Library\nRun the build command to generate the distribution files:\n```bash\nnpm run build\n```\n\n#### 5.3 Login to npm\nAuthenticate with your npm account:\n```bash\nnpm login\n```\n\n#### 5.4 Publish the Library\nPublish the library to npm or a private repository:\n```bash\nnpm publish --access public\n```\nFor private repositories, ensure the `publishConfig` field in `package.json` is set correctly:\n```json\n{\n  \"publishConfig\": {\n    \"registry\": \"https://your-private-registry-url/\"\n  }\n}\n```\n\n#### 5.5 Verify the Published Package\nAfter publishing, verify the package is available by installing it in a test project:\n```bash\nnpm install your-library-name\n```\n\n---\n\n## Running Tests\n\n### Unit Tests\nRun unit tests with the [Karma](https://karma-runner.github.io) test runner:\n```bash\nnpm run test\n```\n\n### Linting\nEnsure your code adheres to best practices by running ESLint:\n```bash\nnpm run lint\n```\n\n---\n\n## Additional Resources\n\n- [Angular CLI Documentation](https://angular.io/cli)\n- [Karma Test Runner](https://karma-runner.github.io)\n- [ESLint Documentation](https://eslint.org)\n- [Publishing to npm](https://docs.npmjs.com/cli/v9/commands/npm-publish)\n\n---\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n1. Fork the repository.\n2. Create a new branch for your feature or bugfix.\n3. Commit your changes and push the branch.\n4. Open a pull request.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3zafa%2Fngx-lib-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr3zafa%2Fngx-lib-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3zafa%2Fngx-lib-starter-kit/lists"}