{"id":19315368,"url":"https://github.com/thatisuday/quick-library","last_synced_at":"2026-04-16T10:01:28.556Z","repository":{"id":98855347,"uuid":"170661987","full_name":"thatisuday/quick-library","owner":"thatisuday","description":"A CLI tool to generate React, Angular, Vue library (React for now)","archived":false,"fork":false,"pushed_at":"2019-02-16T16:38:09.000Z","size":243,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-17T04:38:07.561Z","etag":null,"topics":["angular","angular4","cli","library","react","reactjs","vue","vuejs"],"latest_commit_sha":null,"homepage":"https://medium.com/@thatisuday/creating-react-angular-vue-library-with-ease-19c799b17f90","language":"JavaScript","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/thatisuday.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}},"created_at":"2019-02-14T09:13:31.000Z","updated_at":"2023-02-13T18:42:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"5869f33e-d83f-4061-ac13-7cb30340c3ca","html_url":"https://github.com/thatisuday/quick-library","commit_stats":{"total_commits":12,"total_committers":2,"mean_commits":6.0,"dds":0.5,"last_synced_commit":"05965908eba2193b90f0483b96e616e00f34a6d6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatisuday%2Fquick-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatisuday%2Fquick-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatisuday%2Fquick-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatisuday%2Fquick-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thatisuday","download_url":"https://codeload.github.com/thatisuday/quick-library/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240416999,"owners_count":19797922,"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":["angular","angular4","cli","library","react","reactjs","vue","vuejs"],"created_at":"2024-11-10T01:06:40.014Z","updated_at":"2026-04-16T10:01:23.484Z","avatar_url":"https://github.com/thatisuday.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quick Library\nA CLI tool to generate React, Angular and Vue library and publish it on npm.\n\n[![npm](https://img.shields.io/npm/dt/quick-library.svg?style=flat-square)](https://www.npmjs.com/package/quick-library)\n[![npm](https://img.shields.io/npm/v/quick-library.svg?style=flat-square)](https://www.npmjs.com/package/quick-library)\n[![David](https://img.shields.io/david/thatisuday/quick-library.svg?style=flat-square)](https://www.npmjs.com/package/quick-library)\n\n![preview](https://i.imgur.com/TdsszOU.gif)\n\n\u003e Right now, this tool only supports creation of React library. I am working on others.\n\n## Install CLI tool\n\n```\nnpm install --global quick-library\n```\n\nUse `quick-library --help` to see command line options.\n\n```bash\n$ quick-library --help\n\nUsage: quick-library [options]\n\nOptions:\n  -v, --version  output the version number\n  --no-install   Do not install npm dependencies\n  --no-git       Do not initialize git repository\n  -h, --help     output usage information\n```\n\n## Create new library\nUse command `quick-library` which will prompt some options for library configuration. You can also provide `--no-install` flag to prevent installation of npm packages as wll as `--no-git` flag to prevent initialization of `git` repository.\n\n```\n$ quick-library\n\n? Enter library name new-react-lib\n? Enter library description library description\n? Select a library template React\n? Include CSS in JavaScript bundle? No, extract to another file?\n? Select git reposiory host GitHub\n? Enter github username thatisuday\n? Enter GitHub repository name new-react-lib\n✔ Initialized git repository new-react-lib\n➤ Installing npm packages\n```\n\n## Start developing your library\nOnce library is created, you will be shown following instructions.\n\n```bash\nCongratulations, new-react-lib library has been created. \nUse bellow commands to start working on your project.\n$ cd new-react-lib/\t\t\t‣ enter directory\n$ npm run start\t\t\t\t‣ start build and watch\n$ npm run start:demo\t\t        ‣ start demo server\n$ npm publish\t\t\t\t‣ publish library\n```\n\nOnce you enter the library directory, you have following files to work with\n\n```\nnew-react-lib\n├── babel.config.js\n├── demo\n|  ├── index.html\n|  ├── index.js\n|  └── webpack.config.js\n├── dist\n|  ├── index.js\n|  └── index.js.map\n├── package-lock.json\n├── package.json\n├── postcss.config.js\n├── src\n|  ├── MyComponent.js\n|  ├── index.js\n|  └── styles.scss\n└── webpack.config.js\n```\n\nOpen terminal window and use command `npm run start` start webpack build which will watch file changes in `src` and output to `dist`. At the same time, use command `npm run start:demo` which will watch files from `demo/` directory and run preview in browser.\n\n## Publish your library\nOnce you are done with your development, `dist` directory contains your release ready library files. You can use `npm publish` command to publish your library to `npm` official registry.\n\n## Using your library\nOnce you publish your library, people can install your library using below command\n\n```bash\nnpm install --save library-name\n```\n\nYou should only import named components like for example, in React library, a component can be imported like\n\n```jsx\nimport { MyComponent } from 'library-name'; \n\nconst App = (props) =\u003e \u003cMyComponent message={props.message} /\u003e;\n```\n\nIf you have opted for **Include CSS in JavaScript bundle** command line option while creating the library, then library users don't have to worry about importing css separately. But if you had extracted css to different file, then library users must include css either by importing in their JavaScript like `import 'library-name/styles.css';` or in their sass like `@import '~library-name/styles.css';`\n\n***\n\n# Contribute to this tool\nI have managed to create `React` template but I need help with `Angular` and `Vue` to integrate these templates in this tool. Fork this repository and give merge request in you have worked on it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatisuday%2Fquick-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthatisuday%2Fquick-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatisuday%2Fquick-library/lists"}