├── .all-contributorsrc ├── .gitattributes ├── .github └── workflows │ └── validate.yml ├── .gitignore ├── .huskyrc.js ├── .npmrc ├── .prettierignore ├── .prettierrc.js ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── generators └── app │ ├── index.js │ └── templates │ ├── CHANGELOG.md │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── _package.json │ ├── all-contributorsrc │ ├── gitattributes │ ├── github │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows │ │ └── validate.yml │ ├── gitignore │ ├── huskyrc.js │ ├── npmrc │ ├── other │ ├── MAINTAINING.md │ ├── USERS.md │ └── manual-releases.md │ ├── prettierignore │ ├── prettierrc.js │ ├── src │ ├── __tests__ │ │ └── index.ts │ └── index.ts │ └── tsconfig.json └── package.json /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "projectName": "generator-kcd-oss", 3 | "projectOwner": "kentcdodds", 4 | "imageSize": 100, 5 | "commit": false, 6 | "contributorsPerLine": 7, 7 | "repoHost": "https://github.com", 8 | "repoType": "github", 9 | "skipCi": false, 10 | "files": [ 11 | "README.md" 12 | ], 13 | "contributors": [ 14 | { 15 | "login": "kentcdodds", 16 | "name": "Kent C. Dodds", 17 | "avatar_url": "https://avatars.githubusercontent.com/u/1500684?v=3", 18 | "profile": "https://kentcdodds.com", 19 | "contributions": [ 20 | "code", 21 | "doc", 22 | "infra" 23 | ] 24 | }, 25 | { 26 | "login": "reznord", 27 | "name": "Anup", 28 | "avatar_url": "https://avatars0.githubusercontent.com/u/3415488?v=4", 29 | "profile": "https://github.com/reznord", 30 | "contributions": [ 31 | "doc" 32 | ] 33 | }, 34 | { 35 | "login": "edm00se", 36 | "name": "Eric McCormick", 37 | "avatar_url": "https://avatars3.githubusercontent.com/u/622118?v=4", 38 | "profile": "https://edm00se.codes/", 39 | "contributions": [ 40 | "doc" 41 | ] 42 | }, 43 | { 44 | "login": "MichaelDeBoey", 45 | "name": "Michaël De Boey", 46 | "avatar_url": "https://avatars3.githubusercontent.com/u/6643991?v=4", 47 | "profile": "https://michaeldeboey.be", 48 | "contributions": [ 49 | "code", 50 | "doc" 51 | ] 52 | }, 53 | { 54 | "login": "MatanBobi", 55 | "name": "Matan Borenkraout", 56 | "avatar_url": "https://avatars2.githubusercontent.com/u/12711091?v=4", 57 | "profile": "https://matan.io", 58 | "contributions": [ 59 | "code" 60 | ] 61 | }, 62 | { 63 | "login": "nickmccurdy", 64 | "name": "Nick McCurdy", 65 | "avatar_url": "https://avatars0.githubusercontent.com/u/927220?v=4", 66 | "profile": "https://nickmccurdy.com/", 67 | "contributions": [ 68 | "doc", 69 | "code" 70 | ] 71 | } 72 | ] 73 | } 74 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /.github/workflows/validate.yml: -------------------------------------------------------------------------------- 1 | name: validate 2 | on: 3 | push: 4 | branches: 5 | - '+([0-9])?(.{+([0-9]),x}).x' 6 | - 'main' 7 | - 'next' 8 | - 'next-major' 9 | - 'beta' 10 | - 'alpha' 11 | - '!all-contributors/**' 12 | pull_request: {} 13 | jobs: 14 | main: 15 | # ignore all-contributors PRs 16 | if: ${{ !contains(github.head_ref, 'all-contributors') }} 17 | strategy: 18 | matrix: 19 | node: [12, 14, 16] 20 | runs-on: ubuntu-latest 21 | steps: 22 | - name: 🛑 Cancel Previous Runs 23 | uses: styfle/cancel-workflow-action@0.9.0 24 | 25 | - name: ⬇️ Checkout repo 26 | uses: actions/checkout@v2 27 | 28 | - name: ⎔ Setup node 29 | uses: actions/setup-node@v2 30 | with: 31 | node-version: ${{ matrix.node }} 32 | 33 | - name: 📥 Download deps 34 | uses: bahmutov/npm-install@v1 35 | with: 36 | useLockFile: false 37 | env: 38 | HUSKY_SKIP_INSTALL: true 39 | 40 | - name: ▶️ Run validate script 41 | run: npm run validate 42 | 43 | - name: ⬆️ Upload coverage report 44 | uses: codecov/codecov-action@v2 45 | 46 | release: 47 | needs: main 48 | runs-on: ubuntu-latest 49 | if: 50 | ${{ github.repository == 'kentcdodds/generator-kcd-oss' && 51 | contains('refs/heads/main,refs/heads/beta,refs/heads/next,refs/heads/alpha', 52 | github.ref) && github.event_name == 'push' }} 53 | steps: 54 | - name: 🛑 Cancel Previous Runs 55 | uses: styfle/cancel-workflow-action@0.9.0 56 | 57 | - name: ⬇️ Checkout repo 58 | uses: actions/checkout@v2 59 | 60 | - name: ⎔ Setup node 61 | uses: actions/setup-node@v2 62 | with: 63 | node-version: 14 64 | 65 | - name: 📥 Download deps 66 | uses: bahmutov/npm-install@v1 67 | with: 68 | useLockFile: false 69 | env: 70 | HUSKY_SKIP_INSTALL: true 71 | 72 | - name: 🚀 Release 73 | uses: cycjimmy/semantic-release-action@v2 74 | with: 75 | semantic_version: 17 76 | branches: | 77 | [ 78 | '+([0-9])?(.{+([0-9]),x}).x', 79 | 'main', 80 | 'next', 81 | 'next-major', 82 | {name: 'beta', prerelease: true}, 83 | {name: 'alpha', prerelease: true} 84 | ] 85 | env: 86 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 87 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 88 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | dist 4 | .DS_Store 5 | 6 | # these cause more harm than good 7 | # when working with contributors 8 | package-lock.json 9 | yarn.lock 10 | -------------------------------------------------------------------------------- /.huskyrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('kcd-scripts/husky') 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | dist 4 | 5 | _package.json 6 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('kcd-scripts/prettier') 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | The changelog is automatically updated using 4 | [semantic-release](https://github.com/semantic-release/semantic-release). You 5 | can see it on the [releases page](../../releases). 6 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | - Demonstrating empathy and kindness toward other people 21 | - Being respectful of differing opinions, viewpoints, and experiences 22 | - Giving and gracefully accepting constructive feedback 23 | - Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | - Focusing on what is best not just for us as individuals, but for the overall 26 | community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | - The use of sexualized language or imagery, and sexual attention or advances of 31 | any kind 32 | - Trolling, insulting or derogatory comments, and personal or political attacks 33 | - Public or private harassment 34 | - Publishing others' private information, such as a physical or email address, 35 | without their explicit permission 36 | - Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | me+coc@kentcdodds.com. All complaints will be reviewed and investigated promptly 64 | and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series of 86 | actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or permanent 93 | ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within the 113 | community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by 122 | [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for being willing to contribute! 4 | 5 | **Working on your first Pull Request?** You can learn how from this _free_ 6 | series [How to Contribute to an Open Source Project on GitHub][egghead] 7 | 8 | ## Project setup 9 | 10 | 1. Fork and clone the repo 11 | 2. `$ npm install` to install dependencies 12 | 3. `$ npm run validate` to validate you've got it working 13 | 4. Create a branch for your PR 14 | 15 | > Tip: Keep your `main` branch pointing at the original repository and make 16 | > pull requests from branches on your fork. To do this, run: 17 | > 18 | > ``` 19 | > git remote add upstream https://github.com/kentcdodds/generator-kcd-oss 20 | > git fetch upstream 21 | > git branch --set-upstream-to=upstream/main main 22 | > ``` 23 | > 24 | > This will add the original repository as a "remote" called "upstream," Then 25 | > fetch the git information from that remote, then set your local `main` 26 | > branch to use the upstream main branch whenever you run `git pull`. Then you 27 | > can make all of your pull request branches based on this `main` branch. 28 | > Whenever you want to update your version of `main`, do a regular `git pull`. 29 | 30 | ## Committing and Pushing changes 31 | 32 | Please make sure to run the tests before you commit your changes. You can run 33 | `npm run test:update` which will update any snapshots that need updating. Make 34 | sure to include those changes (if they exist) in your commit. 35 | 36 | ## Help needed 37 | 38 | Please checkout the [the open issues][issues] 39 | 40 | Also, please watch the repo and respond to questions/bug reports/feature 41 | requests! Thanks! 42 | 43 | 44 | [egghead]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github 45 | [all-contributors]: https://github.com/all-contributors/all-contributors 46 | [issues]: https://github.com/kentcdodds/generator-kcd-oss/issues 47 | 48 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2017 Kent C. Dodds 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

generator-kcd-oss

3 | 4 |

An open source project generator for my open source projects :)

5 |
6 | 7 | --- 8 | 9 | 10 | [![Build Status][build-badge]][build] 11 | [![version][version-badge]][package] 12 | [![downloads][downloads-badge]][npmtrends] 13 | [![MIT License][license-badge]][license] 14 | [![All Contributors][all-contributors-badge]](#contributors-) 15 | [![PRs Welcome][prs-badge]][prs] 16 | [![Code of Conduct][coc-badge]][coc] 17 | 18 | 19 | ## The problem 20 | 21 | I have to do a lot of repetitive stuff every time I set up a new open source 22 | project. 23 | 24 | ## This solution 25 | 26 | This is a yeoman generator for my open source projects 27 | 28 | ## Table of Contents 29 | 30 | 31 | 32 | 33 | - [Installation](#installation) 34 | - [Try Without Installing](#try-without-installing) 35 | - [Usage](#usage) 36 | - [Inspiration](#inspiration) 37 | - [Issues](#issues) 38 | - [🐛 Bugs](#-bugs) 39 | - [💡 Feature Requests](#-feature-requests) 40 | - [Contributors ✨](#contributors-) 41 | - [LICENSE](#license) 42 | 43 | 44 | 45 | ## Installation 46 | 47 | This module is distributed via [npm][npm] which is bundled with [node][node] and 48 | should be installed globally (with `yo`): 49 | 50 | ```sh 51 | npm install -g generator-kcd-oss yo 52 | ``` 53 | 54 | ### Try Without Installing 55 | 56 | ```sh 57 | npx -p yo -p generator-kcd-oss -c 'yo kcd-oss' 58 | ``` 59 | 60 | ## Usage 61 | 62 | ```sh 63 | yo kcd-oss 64 | ``` 65 | 66 | Follow the prompts... 67 | 68 | ## Inspiration 69 | 70 | I referenced [@sindresorhus][sindresorhus]'s [module][generator-nm] heavily. 71 | 72 | ## Issues 73 | 74 | _Looking to contribute? Look for the [Good First Issue][good-first-issue] 75 | label._ 76 | 77 | ### 🐛 Bugs 78 | 79 | Please file an issue for bugs, missing documentation, or unexpected behavior. 80 | 81 | [**See Bugs**][bugs] 82 | 83 | ### 💡 Feature Requests 84 | 85 | Please file an issue to suggest new features. Vote on feature requests by adding 86 | a 👍. This helps maintainers prioritize what to work on. 87 | 88 | [**See Feature Requests**][requests] 89 | 90 | ## Contributors ✨ 91 | 92 | Thanks goes to these people ([emoji key][emojis]): 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 |

Kent C. Dodds

💻 📖 🚇

Anup

📖

Eric McCormick

📖

Michaël De Boey

💻 📖

Matan Borenkraout

💻

Nick McCurdy

📖 💻
107 | 108 | 109 | 110 | 111 | 112 | 113 | This project follows the [all-contributors][all-contributors] specification. 114 | Contributions of any kind welcome! 115 | 116 | ## LICENSE 117 | 118 | MIT 119 | 120 | 121 | [npm]: https://www.npmjs.com 122 | [node]: https://nodejs.org 123 | [build-badge]: https://img.shields.io/github/workflow/status/kentcdodds/generator-kcd-oss/validate?logo=github&style=flat-square 124 | [build]: https://github.com/kentcdodds/generator-kcd-oss/actions?query=workflow%3Avalidate 125 | [version-badge]: https://img.shields.io/npm/v/generator-kcd-oss.svg?style=flat-square 126 | [package]: https://www.npmjs.com/package/generator-kcd-oss 127 | [downloads-badge]: https://img.shields.io/npm/dm/generator-kcd-oss.svg?style=flat-square 128 | [npmtrends]: https://www.npmtrends.com/generator-kcd-oss 129 | [license-badge]: https://img.shields.io/npm/l/generator-kcd-oss.svg?style=flat-square 130 | [license]: https://github.com/kentcdodds/generator-kcd-oss/blob/master/LICENSE 131 | [prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square 132 | [prs]: https://makeapullrequest.com 133 | [coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square 134 | [coc]: https://github.com/kentcdodds/generator-kcd-oss/blob/master/CODE_OF_CONDUCT.md 135 | [emojis]: https://github.com/all-contributors/all-contributors#emoji-key 136 | [all-contributors]: https://github.com/all-contributors/all-contributors 137 | [all-contributors-badge]: https://img.shields.io/github/all-contributors/kentcdodds/generator-kcd-oss?color=orange&style=flat-square 138 | [bugs]: https://github.com/kentcdodds/generator-kcd-oss/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Acreated-desc+label%3Abug 139 | [requests]: https://github.com/kentcdodds/generator-kcd-oss/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement 140 | [good-first-issue]: https://github.com/kentcdodds/generator-kcd-oss/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement+label%3A%22good+first+issue%22 141 | 142 | [sindresorhus]: https://github.com/sindresorhus 143 | [generator-nm]: https://github.com/sindresorhus/generator-nm 144 | 145 | -------------------------------------------------------------------------------- /generators/app/index.js: -------------------------------------------------------------------------------- 1 | const Generator = require('yeoman-generator') 2 | const kebabCase = require('lodash.kebabcase') 3 | 4 | module.exports = class extends Generator { 5 | init() { 6 | return this.prompt([ 7 | { 8 | name: 'moduleName', 9 | message: 'What do you want to name your module?', 10 | default: this.appname.replace(/\s/g, '-'), 11 | filter: x => kebabCase(x).toLowerCase(), 12 | }, 13 | { 14 | name: 'devDep', 15 | message: 'Should people install this as one of their devDependencies?', 16 | default: true, 17 | type: 'confirm', 18 | }, 19 | { 20 | name: 'description', 21 | message: `What's the project description?`, 22 | type: 'input', 23 | }, 24 | ]).then(props => { 25 | const mv = (from, to) => { 26 | this.fs.move(this.destinationPath(from), this.destinationPath(to)) 27 | } 28 | 29 | this.fs.copyTpl( 30 | [`${this.templatePath()}/**`], 31 | this.destinationPath(), 32 | props, 33 | ) 34 | 35 | mv('gitattributes', '.gitattributes') 36 | mv('gitignore', '.gitignore') 37 | mv('npmrc', '.npmrc') 38 | mv('_package.json', 'package.json') 39 | mv('all-contributorsrc', '.all-contributorsrc') 40 | mv('huskyrc.js', '.huskyrc.js') 41 | mv('prettierrc.js', '.prettierrc.js') 42 | mv('prettierignore', '.prettierignore') 43 | mv('github/ISSUE_TEMPLATE.md', '.github/ISSUE_TEMPLATE.md') 44 | mv('github/PULL_REQUEST_TEMPLATE.md', '.github/PULL_REQUEST_TEMPLATE.md') 45 | mv('github/workflows/validate.yml', '.github/workflows/validate.yml') 46 | }) 47 | } 48 | install() { 49 | this.spawnCommand('git', ['init', '--initial-branch', 'main']) 50 | this.npmInstall() 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /generators/app/templates/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | The changelog is automatically updated using 4 | [semantic-release](https://github.com/semantic-release/semantic-release). You 5 | can see it on the [releases page](../../releases). 6 | -------------------------------------------------------------------------------- /generators/app/templates/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | - Demonstrating empathy and kindness toward other people 21 | - Being respectful of differing opinions, viewpoints, and experiences 22 | - Giving and gracefully accepting constructive feedback 23 | - Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | - Focusing on what is best not just for us as individuals, but for the overall 26 | community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | - The use of sexualized language or imagery, and sexual attention or advances of 31 | any kind 32 | - Trolling, insulting or derogatory comments, and personal or political attacks 33 | - Public or private harassment 34 | - Publishing others' private information, such as a physical or email address, 35 | without their explicit permission 36 | - Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | me+coc@kentcdodds.com. All complaints will be reviewed and investigated promptly 64 | and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series of 86 | actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or permanent 93 | ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within the 113 | community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by 122 | [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /generators/app/templates/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for being willing to contribute! 4 | 5 | **Working on your first Pull Request?** You can learn how from this _free_ 6 | series [How to Contribute to an Open Source Project on GitHub][egghead] 7 | 8 | ## Project setup 9 | 10 | 1. Fork and clone the repo 11 | 2. Run `npm run setup -s` to install dependencies and run validation 12 | 3. Create a branch for your PR with `git checkout -b pr/your-branch-name` 13 | 14 | > Tip: Keep your `main` branch pointing at the original repository and make pull 15 | > requests from branches on your fork. To do this, run: 16 | > 17 | > ``` 18 | > git remote add upstream https://github.com/kentcdodds/<%= moduleName %> 19 | > git fetch upstream 20 | > git branch --set-upstream-to=upstream/main main 21 | > ``` 22 | > 23 | > This will add the original repository as a "remote" called "upstream," Then 24 | > fetch the git information from that remote, then set your local `main` branch 25 | > to use the upstream main branch whenever you run `git pull`. Then you can make 26 | > all of your pull request branches based on this `main` branch. Whenever you 27 | > want to update your version of `main`, do a regular `git pull`. 28 | 29 | ## Committing and Pushing changes 30 | 31 | Please make sure to run the tests before you commit your changes. You can run 32 | `npm run test:update` which will update any snapshots that need updating. Make 33 | sure to include those changes (if they exist) in your commit. 34 | 35 | ## Help needed 36 | 37 | Please checkout the [the open issues][issues] 38 | 39 | Also, please watch the repo and respond to questions/bug reports/feature 40 | requests! Thanks! 41 | 42 | 43 | [egghead]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github 44 | [issues]: https://github.com/kentcdodds/<%= moduleName %>/issues 45 | 46 | -------------------------------------------------------------------------------- /generators/app/templates/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2020 Kent C. Dodds 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /generators/app/templates/README.md: -------------------------------------------------------------------------------- 1 |
2 |

<%= moduleName %>

3 | 4 |

<%= description %>

5 |
6 | 7 | --- 8 | 9 | 10 | [![Build Status][build-badge]][build] 11 | [![Code Coverage][coverage-badge]][coverage] 12 | [![version][version-badge]][package] 13 | [![downloads][downloads-badge]][npmtrends] 14 | [![MIT License][license-badge]][license] 15 | [![All Contributors][all-contributors-badge]](#contributors-) 16 | [![PRs Welcome][prs-badge]][prs] 17 | [![Code of Conduct][coc-badge]][coc] 18 | 19 | 20 | ## The problem 21 | 22 | // TODO 23 | 24 | ## This solution 25 | 26 | // TODO 27 | 28 | ## Table of Contents 29 | 30 | 31 | 32 | 33 | - [Installation](#installation) 34 | - [Usage](#usage) 35 | - [Inspiration](#inspiration) 36 | - [Other Solutions](#other-solutions) 37 | - [Issues](#issues) 38 | - [🐛 Bugs](#-bugs) 39 | - [💡 Feature Requests](#-feature-requests) 40 | - [Contributors ✨](#contributors-) 41 | - [LICENSE](#license) 42 | 43 | 44 | 45 | ## Installation 46 | 47 | This module is distributed via [npm][npm] which is bundled with [node][node] and 48 | should be installed as one of your project's <% if (devDep) { 49 | %>`devDependencies`<% } %><% if (!devDep) { %>`dependencies`<% } %>: 50 | 51 | ``` 52 | npm install --save<% if (devDep) { %>-dev<% } %> <%= moduleName %> 53 | ``` 54 | 55 | ## Usage 56 | 57 | // TODO 58 | 59 | ## Inspiration 60 | 61 | // TODO 62 | 63 | ## Other Solutions 64 | 65 | I'm not aware of any, if you are please [make a pull request][prs] and add it 66 | here! 67 | 68 | ## Issues 69 | 70 | _Looking to contribute? Look for the [Good First Issue][good-first-issue] 71 | label._ 72 | 73 | ### 🐛 Bugs 74 | 75 | Please file an issue for bugs, missing documentation, or unexpected behavior. 76 | 77 | [**See Bugs**][bugs] 78 | 79 | ### 💡 Feature Requests 80 | 81 | Please file an issue to suggest new features. Vote on feature requests by adding 82 | a 👍. This helps maintainers prioritize what to work on. 83 | 84 | [**See Feature Requests**][requests] 85 | 86 | ## Contributors ✨ 87 | 88 | Thanks goes to these people ([emoji key][emojis]): 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 |
Kent C. Dodds
Kent C. Dodds

💻 📖 🚇 ⚠️
98 | 99 | 100 | 101 | 102 | 103 | 104 | This project follows the [all-contributors][all-contributors] specification. 105 | Contributions of any kind welcome! 106 | 107 | ## LICENSE 108 | 109 | MIT 110 | 111 | 112 | [npm]: https://www.npmjs.com 113 | [node]: https://nodejs.org 114 | [build-badge]: https://img.shields.io/github/workflow/status/kentcdodds/<%= moduleName %>/validate?logo=github&style=flat-square 115 | [build]: https://github.com/kentcdodds/<%= moduleName %>/actions?query=workflow%3Avalidate 116 | [coverage-badge]: https://img.shields.io/codecov/c/github/kentcdodds/<%= moduleName %>.svg?style=flat-square 117 | [coverage]: https://codecov.io/github/kentcdodds/<%= moduleName %> 118 | [version-badge]: https://img.shields.io/npm/v/<%= moduleName %>.svg?style=flat-square 119 | [package]: https://www.npmjs.com/package/<%= moduleName %> 120 | [downloads-badge]: https://img.shields.io/npm/dm/<%= moduleName %>.svg?style=flat-square 121 | [npmtrends]: https://www.npmtrends.com/<%= moduleName %> 122 | [license-badge]: https://img.shields.io/npm/l/<%= moduleName %>.svg?style=flat-square 123 | [license]: https://github.com/kentcdodds/<%= moduleName %>/blob/main/LICENSE 124 | [prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square 125 | [prs]: https://makeapullrequest.com 126 | [coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square 127 | [coc]: https://github.com/kentcdodds/<%= moduleName %>/blob/main/CODE_OF_CONDUCT.md 128 | [emojis]: https://github.com/all-contributors/all-contributors#emoji-key 129 | [all-contributors]: https://github.com/all-contributors/all-contributors 130 | [all-contributors-badge]: https://img.shields.io/github/all-contributors/kentcdodds/<%= moduleName %>?color=orange&style=flat-square 131 | [bugs]: https://github.com/kentcdodds/<%= moduleName %>/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Acreated-desc+label%3Abug 132 | [requests]: https://github.com/kentcdodds/<%= moduleName %>/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement 133 | [good-first-issue]: https://github.com/kentcdodds/<%= moduleName %>/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement+label%3A%22good+first+issue%22 134 | 135 | -------------------------------------------------------------------------------- /generators/app/templates/_package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "<%= moduleName %>", 3 | "version": "0.0.0-semantically-released", 4 | "description": "<%= description %>", 5 | "main": "dist/index.js", 6 | "types": "dist/index.d.ts", 7 | "keywords": [], 8 | "author": "Kent C. Dodds (https://kentcdodds.com)", 9 | "license": "MIT", 10 | "engines": { 11 | "node": ">=12", 12 | "npm": ">=6" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/kentcdodds/<%= moduleName %>" 17 | }, 18 | "bugs": { 19 | "url": "https://github.com/kentcdodds/<%= moduleName %>/issues" 20 | }, 21 | "homepage": "https://github.com/kentcdodds/<%= moduleName %>#readme", 22 | "files": [ 23 | "dist" 24 | ], 25 | "scripts": { 26 | "build": "kcd-scripts build", 27 | "lint": "kcd-scripts lint", 28 | "setup": "npm install && npm run validate -s", 29 | "test": "kcd-scripts test", 30 | "test:update": "npm test -- --updateSnapshot --coverage", 31 | "typecheck": "kcd-scripts typecheck", 32 | "validate": "kcd-scripts validate" 33 | }, 34 | "dependencies": { 35 | "@babel/runtime": "^7.14.6" 36 | }, 37 | "devDependencies": { 38 | "@types/jest": "^26.0.24", 39 | "kcd-scripts": "^11.1.0", 40 | "typescript": "^4.3.5" 41 | }, 42 | "eslintConfig": { 43 | "extends": "./node_modules/kcd-scripts/eslint.js" 44 | }, 45 | "eslintIgnore": [ 46 | "node_modules", 47 | "coverage", 48 | "dist" 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /generators/app/templates/all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "projectName": "<%= moduleName %>", 3 | "projectOwner": "kentcdodds", 4 | "imageSize": 100, 5 | "commit": false, 6 | "contributorsPerLine": 7, 7 | "repoHost": "https://github.com", 8 | "repoType": "github", 9 | "skipCi": false, 10 | "files": [ 11 | "README.md" 12 | ], 13 | "contributors": [ 14 | { 15 | "login": "kentcdodds", 16 | "name": "Kent C. Dodds", 17 | "avatar_url": "https://avatars.githubusercontent.com/u/1500684?v=3", 18 | "profile": "https://kentcdodds.com", 19 | "contributions": [ 20 | "code", 21 | "doc", 22 | "infra", 23 | "test" 24 | ] 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /generators/app/templates/gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /generators/app/templates/github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 13 | 14 | - `<%= moduleName %>` version: 15 | - `node` version: 16 | - `npm` version: 17 | 18 | Relevant code or config 19 | 20 | ```js 21 | 22 | ``` 23 | 24 | What you did: 25 | 26 | What happened: 27 | 28 | 29 | 30 | Reproduction repository: 31 | 32 | 36 | 37 | Problem description: 38 | 39 | Suggested solution: 40 | -------------------------------------------------------------------------------- /generators/app/templates/github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | **What**: 20 | 21 | 22 | 23 | **Why**: 24 | 25 | 26 | 27 | **How**: 28 | 29 | 30 | 31 | **Checklist**: 32 | 33 | 34 | 35 | 36 | - [ ] Documentation 37 | - [ ] Tests 38 | - [ ] Ready to be merged 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /generators/app/templates/github/workflows/validate.yml: -------------------------------------------------------------------------------- 1 | name: validate 2 | on: 3 | push: 4 | branches: 5 | - '+([0-9])?(.{+([0-9]),x}).x' 6 | - 'main' 7 | - 'next' 8 | - 'next-major' 9 | - 'beta' 10 | - 'alpha' 11 | - '!all-contributors/**' 12 | pull_request: {} 13 | jobs: 14 | main: 15 | # ignore all-contributors PRs 16 | if: ${{ !contains(github.head_ref, 'all-contributors') }} 17 | strategy: 18 | matrix: 19 | node: [12, 14, 16] 20 | runs-on: ubuntu-latest 21 | steps: 22 | - name: 🛑 Cancel Previous Runs 23 | uses: styfle/cancel-workflow-action@0.9.0 24 | 25 | - name: ⬇️ Checkout repo 26 | uses: actions/checkout@v2 27 | 28 | - name: ⎔ Setup node 29 | uses: actions/setup-node@v2 30 | with: 31 | node-version: ${{ matrix.node }} 32 | 33 | - name: 📥 Download deps 34 | uses: bahmutov/npm-install@v1 35 | with: 36 | useLockFile: false 37 | env: 38 | HUSKY_SKIP_INSTALL: true 39 | 40 | - name: ▶️ Run validate script 41 | run: npm run validate 42 | 43 | - name: ⬆️ Upload coverage report 44 | uses: codecov/codecov-action@v2 45 | 46 | release: 47 | needs: main 48 | runs-on: ubuntu-latest 49 | if: 50 | ${{ github.repository == 'kentcdodds/<%= moduleName %>' && 51 | contains('refs/heads/main,refs/heads/beta,refs/heads/next,refs/heads/alpha', 52 | github.ref) && github.event_name == 'push' }} 53 | steps: 54 | - name: 🛑 Cancel Previous Runs 55 | uses: styfle/cancel-workflow-action@0.9.0 56 | 57 | - name: ⬇️ Checkout repo 58 | uses: actions/checkout@v2 59 | 60 | - name: ⎔ Setup node 61 | uses: actions/setup-node@v2 62 | with: 63 | node-version: 14 64 | 65 | - name: 📥 Download deps 66 | uses: bahmutov/npm-install@v1 67 | with: 68 | useLockFile: false 69 | env: 70 | HUSKY_SKIP_INSTALL: true 71 | 72 | - name: 🏗 Run build script 73 | run: npm run build 74 | 75 | - name: 🚀 Release 76 | uses: cycjimmy/semantic-release-action@v2 77 | with: 78 | semantic_version: 17 79 | branches: | 80 | [ 81 | '+([0-9])?(.{+([0-9]),x}).x', 82 | 'main', 83 | 'next', 84 | 'next-major', 85 | {name: 'beta', prerelease: true}, 86 | {name: 'alpha', prerelease: true} 87 | ] 88 | env: 89 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 90 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 91 | -------------------------------------------------------------------------------- /generators/app/templates/gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | dist 4 | .DS_Store 5 | 6 | # these cause more harm than good 7 | # when working with contributors 8 | package-lock.json 9 | yarn.lock 10 | -------------------------------------------------------------------------------- /generators/app/templates/huskyrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('kcd-scripts/husky') 2 | -------------------------------------------------------------------------------- /generators/app/templates/npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /generators/app/templates/other/MAINTAINING.md: -------------------------------------------------------------------------------- 1 | # Maintaining 2 | 3 | 4 | 5 | 6 | **Table of Contents** 7 | 8 | - [Code of Conduct](#code-of-conduct) 9 | - [Issues](#issues) 10 | - [Pull Requests](#pull-requests) 11 | - [Release](#release) 12 | - [Thanks!](#thanks) 13 | 14 | 15 | 16 | This is documentation for maintainers of this project. 17 | 18 | ## Code of Conduct 19 | 20 | Please review, understand, and be an example of it. Violations of the code of 21 | conduct are taken seriously, even (especially) for maintainers. 22 | 23 | ## Issues 24 | 25 | We want to support and build the community. We do that best by helping people 26 | learn to solve their own problems. We have an issue template and hopefully most 27 | folks follow it. If it's not clear what the issue is, invite them to create a 28 | minimal reproduction of what they're trying to accomplish or the bug they think 29 | they've found. 30 | 31 | Once it's determined that a code change is necessary, point people to 32 | [makeapullrequest.com](https://makeapullrequest.com) and invite them to make a 33 | pull request. If they're the one who needs the feature, they're the one who can 34 | build it. If they need some hand holding and you have time to lend a hand, 35 | please do so. It's an investment into another human being, and an investment 36 | into a potential maintainer. 37 | 38 | Remember that this is open source, so the code is not yours, it's ours. If 39 | someone needs a change in the codebase, you don't have to make it happen 40 | yourself. Commit as much time to the project as you want/need to. Nobody can ask 41 | any more of you than that. 42 | 43 | ## Pull Requests 44 | 45 | As a maintainer, you're fine to make your branches on the main repo or on your 46 | own fork. Either way is fine. 47 | 48 | When we receive a pull request, a GitHub Action is kicked off automatically (see 49 | the `.github/workflows/validate.yml` for what runs in the Action). We avoid 50 | merging anything that breaks the GitHub Action. 51 | 52 | Please review PRs and focus on the code rather than the individual. You never 53 | know when this is someone's first ever PR and we want their experience to be as 54 | positive as possible, so be uplifting and constructive. 55 | 56 | When you merge the pull request, 99% of the time you should use the 57 | [Squash and merge](https://help.github.com/articles/merging-a-pull-request/) 58 | feature. This keeps our git history clean, but more importantly, this allows us 59 | to make any necessary changes to the commit message so we release what we want 60 | to release. See the next section on Releases for more about that. 61 | 62 | ## Release 63 | 64 | Our releases are automatic. They happen whenever code lands into `main`. A 65 | GitHub Action gets kicked off and if it's successful, a tool called 66 | [`semantic-release`](https://github.com/semantic-release/semantic-release) is 67 | used to automatically publish a new release to npm as well as a changelog to 68 | GitHub. It is only able to determine the version and whether a release is 69 | necessary by the git commit messages. With this in mind, **please brush up on 70 | [the commit message convention][commit] which drives our releases.** 71 | 72 | > One important note about this: Please make sure that commit messages do NOT 73 | > contain the words "BREAKING CHANGE" in them unless we want to push a major 74 | > version. I've been burned by this more than once where someone will include 75 | > "BREAKING CHANGE: None" and it will end up releasing a new major version. Not 76 | > a huge deal honestly, but kind of annoying... 77 | 78 | ## Thanks! 79 | 80 | Thank you so much for helping to maintain this project! 81 | 82 | 83 | [commit]: https://github.com/conventional-changelog-archived-repos/conventional-changelog-angular/blob/ed32559941719a130bb0327f886d6a32a8cbc2ba/convention.md 84 | 85 | -------------------------------------------------------------------------------- /generators/app/templates/other/USERS.md: -------------------------------------------------------------------------------- 1 | # Users 2 | 3 | If you or your company uses this project, add your name to this list! Eventually 4 | we may have a website to showcase these (wanna build it!?) 5 | 6 | > No users have been added yet! 7 | 8 | 13 | -------------------------------------------------------------------------------- /generators/app/templates/other/manual-releases.md: -------------------------------------------------------------------------------- 1 | # manual-releases 2 | 3 | This project has an automated release set up. So things are only released when 4 | there are useful changes in the code that justify a release. But sometimes 5 | things get messed up one way or another and we need to trigger the release 6 | ourselves. When this happens, simply bump the number below and commit that with 7 | the following commit message based on your needs: 8 | 9 | **Major** 10 | 11 | ``` 12 | fix(release): manually release a major version 13 | 14 | There was an issue with a major release, so this manual-releases.md 15 | change is to release a new major version. 16 | 17 | Reference: # 18 | 19 | BREAKING CHANGE: 20 | ``` 21 | 22 | **Minor** 23 | 24 | ``` 25 | feat(release): manually release a minor version 26 | 27 | There was an issue with a minor release, so this manual-releases.md 28 | change is to release a new minor version. 29 | 30 | Reference: # 31 | ``` 32 | 33 | **Patch** 34 | 35 | ``` 36 | fix(release): manually release a patch version 37 | 38 | There was an issue with a patch release, so this manual-releases.md 39 | change is to release a new patch version. 40 | 41 | Reference: # 42 | ``` 43 | 44 | The number of times we've had to do a manual release is: 0 45 | -------------------------------------------------------------------------------- /generators/app/templates/prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | dist 4 | -------------------------------------------------------------------------------- /generators/app/templates/prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('kcd-scripts/prettier') 2 | -------------------------------------------------------------------------------- /generators/app/templates/src/__tests__/index.ts: -------------------------------------------------------------------------------- 1 | // TODO: test the library 2 | -------------------------------------------------------------------------------- /generators/app/templates/src/index.ts: -------------------------------------------------------------------------------- 1 | // TODO: let's build something amazing... 2 | -------------------------------------------------------------------------------- /generators/app/templates/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./node_modules/kcd-scripts/shared-tsconfig.json" 3 | } 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "generator-kcd-oss", 3 | "version": "0.0.0-semantically-released", 4 | "description": "A generator for my projects. Feel free to contribute if you want to adapt it for more use cases", 5 | "keywords": [ 6 | "open source", 7 | "kentcdodds", 8 | "yeoman-generator" 9 | ], 10 | "author": "Kent C. Dodds (https://kentcdodds.com)", 11 | "license": "MIT", 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/kentcdodds/generator-kcd-oss" 15 | }, 16 | "bugs": { 17 | "url": "https://github.com/kentcdodds/generator-kcd-oss/issues" 18 | }, 19 | "homepage": "https://github.com/kentcdodds/generator-kcd-oss#readme", 20 | "files": [ 21 | "generators" 22 | ], 23 | "scripts": { 24 | "lint": "kcd-scripts lint", 25 | "setup": "npm install && npm run validate -s", 26 | "validate": "kcd-scripts validate" 27 | }, 28 | "dependencies": { 29 | "lodash.kebabcase": "^4.1.1", 30 | "npm-check": "^5.9.2", 31 | "yeoman-generator": "^4.13.0" 32 | }, 33 | "devDependencies": { 34 | "kcd-scripts": "^11.1.0" 35 | }, 36 | "eslintConfig": { 37 | "extends": "./node_modules/kcd-scripts/eslint.js" 38 | }, 39 | "eslintIgnore": [ 40 | "node_modules", 41 | "coverage", 42 | "dist", 43 | "generators/app/templates/src" 44 | ], 45 | "engines": { 46 | "node": ">=12", 47 | "npm": ">=6" 48 | } 49 | } 50 | --------------------------------------------------------------------------------