{"id":14965898,"url":"https://github.com/rockchalkwushock/how-to-open-source","last_synced_at":"2025-10-25T13:30:54.416Z","repository":{"id":57267024,"uuid":"84517229","full_name":"rockchalkwushock/how-to-open-source","owner":"rockchalkwushock","description":"A repository for learning how to publish NPM packages as well as contribute to open source projects.","archived":false,"fork":false,"pushed_at":"2020-02-02T14:54:32.000Z","size":2639,"stargazers_count":8,"open_issues_count":22,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T07:12:03.213Z","etag":null,"topics":["commitizen","npm-package","nps","open-source","rollup","yarn-packages"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/how-to-open-source","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/rockchalkwushock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-10T03:55:12.000Z","updated_at":"2018-04-19T21:13:10.000Z","dependencies_parsed_at":"2022-08-25T03:40:51.034Z","dependency_job_id":null,"html_url":"https://github.com/rockchalkwushock/how-to-open-source","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockchalkwushock%2Fhow-to-open-source","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockchalkwushock%2Fhow-to-open-source/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockchalkwushock%2Fhow-to-open-source/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockchalkwushock%2Fhow-to-open-source/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rockchalkwushock","download_url":"https://codeload.github.com/rockchalkwushock/how-to-open-source/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238147554,"owners_count":19424283,"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":["commitizen","npm-package","nps","open-source","rollup","yarn-packages"],"created_at":"2024-09-24T13:35:32.259Z","updated_at":"2025-10-25T13:30:49.086Z","avatar_url":"https://github.com/rockchalkwushock.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# :tada: how-to-open-source :tada:\n\n[![npm](https://img.shields.io/npm/v/how-to-open-source.svg?style=flat-square)](https://www.npmjs.com/package/how-to-open-source)\n[![npm](https://img.shields.io/npm/l/how-to-open-source.svg?style=flat-square)](https://www.npmjs.com/package/how-to-open-source)\n[![npm](https://img.shields.io/npm/dt/how-to-open-source.svg?style=flat-square)](https://www.npmjs.com/package/how-to-open-source)\n\n[![CircleCI](https://img.shields.io/circleci/project/github/rockchalkwushock/how-to-open-source.svg?style=flat-square)](https://circleci.com/gh/rockchalkwushock/how-to-open-source)\n[![Codecov](https://img.shields.io/codecov/c/github/rockchalkwushock/how-to-open-source.svg?style=flat-square)](https://codecov.io/gh/rockchalkwushock/how-to-open-source)\n[![Greenkeeper](https://img.shields.io/badge/Greenkeeper-enabled-brightgreen.svg?style=flat-square)](https://greenkeeper.io/)\n\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=flat-square)](http://commitizen.github.io/cz-cli/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/rockchalkwushock/how-to-open-source/pulls)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release)\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n[![bundled with rollup](https://img.shields.io/badge/bundled%20with-rollup-orange.svg?style=flat-square)](https://github.com/rollup/rollup)\n[![nps](https://img.shields.io/badge/scripts%20run%20with-nps-blue.svg?style=flat-square)](https://github.com/kentcdodds/nps)\n[![code style equimper](https://img.shields.io/badge/code%20style-equimper-blue.svg?style=flat-square)](https://github.com/EQuimper/eslint-config-equimper)\n\n## Purpose\n\nThis module is meant as a learning/training tool for those interested in publishing their own open source project to the NPM Registry. It is also here for those wishing to learn how to contribute to open source projects. It is purely a learning and training tool at this point and holds no real purpose as a dependency to any production based application.\n\n## :notebook: Documentation :notebook:\n\n\u003e Documentation is still present in the [wiki](https://github.com/rockchalkwushock/how-to-open-source/wiki), but is under construction :100:\n\n## Installation\n\nThere are currently no dependencies needed to run this package, although that can change with additional features so stay tuned!\n\n```bash\n$ npm install --save how-to-open-source\n## or\n$ yarn add how-to-open-source\n```\n\n## Usage\n\n* _CommonJS_\n\n```javascript\nconst rcjh = require('how-to-open-source').rcjh;\n\nconst result = rcjh();\n\nconsole.log(result); // 'ROCK CHALK JAYHAWK, KU!'\n```\n\n* _ES6_\n\n```javascript\nimport { rcjh } from 'how-to-open-source';\n\nconst result = rcjh();\n\nconsole.log(result); // 'ROCK CHALK JAYHAWK, KU!'\n```\n\n## Development\n\nAll scripting is being managed through [`nps`](https://github.com/kentcdodds/nps). All the scripts for the repository and their descriptions can be found in the [`package-scripts.js`](https://github.com/rockchalkwushock/how-to-open-source/blob/master/package-scripts.js).\n\nScripts in the `package.json`:\n\n```bash\nyarn build\n# Executes rollup build of all distributions in production mode\n\nyarn cm\n# precommit git-hook will run first executing scripts\n# in lint-staged \u0026 validating the code...\n# Executes the commitizen-cli\n\nyarn start\n# Executes nps command.\n# used in .circleci/config.yml to pass prefix to scripts\n# i.e. yarn start test --\u003e nps test\n\nyarn test\n# Executes testing via jest \u0026 .jestConfig\n# generates coverage data.\n```\n\n## :running: Running code locally\n\nIf you are developing a cool new feature and want to see that it really does perform the way you want; follow these instructions to package the code base and run it just like you would if it was on the npm registry!\n\n```bash\nyarn build \u0026\u0026 yarn start library\n# Executes bundling in production environment.\n# Executes npm pack \u0026 opens the tarball file.\n\n# In sandbox files import your feature\n\nyarn start sandbox\n# Executes cjs \u0026 es code in corresponding sandbox.js files.\n```\n\n## Contributing\n\nPlease visit [CONTRIBUTING.md](https://github.com/rockchalkwushock/how-to-open-source/blob/master/CONTRIBUTING.md)\n\n## License\n\n[MIT](https://github.com/rockchalkwushock/how-to-open-source/blob/master/LICENSE)\n\n## Acknowledgments\n\nMany thanks to [@kentcdodds](https://github.com/kentcdodds) for the great tutorial and [@bebraw](https://github.com/bebraw) for sending me the link to a chapter from his book [Authoring Packages](https://survivejs.com/webpack/packages/authoring/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frockchalkwushock%2Fhow-to-open-source","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frockchalkwushock%2Fhow-to-open-source","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frockchalkwushock%2Fhow-to-open-source/lists"}