├── .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 |
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 |
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 |
--------------------------------------------------------------------------------