Skip to content

Commit 5ef68e8

Browse files
Merge branch 'main' into replace-format-write
2 parents 6cb0f9f + b6c6f12 commit 5ef68e8

38 files changed

+398
-200
lines changed

.all-contributorsrc

+7
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,13 @@
186186
"avatar_url": "https://avatars.githubusercontent.com/u/67210629?v=4",
187187
"profile": "https://jessicawilkins.dev/",
188188
"contributions": ["code"]
189+
},
190+
{
191+
"login": "vasanth9",
192+
"name": "Vasanth Kumar Cheepurupalli",
193+
"avatar_url": "https://avatars.githubusercontent.com/u/42891954?v=4",
194+
"profile": "https://github.com/vasanth9",
195+
"contributions": ["code"]
189196
}
190197
],
191198
"contributorsPerLine": 7,

.github/DEVELOPMENT.md

+9-5
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ You can run the end-to-end test for creation locally on the command-line.
116116
Note that the files need to be built with `pnpm run build` beforehand.
117117

118118
```shell
119-
pnpm run create:test
119+
pnpm run test:create
120120
```
121121

122122
That end-to-end test executes `script/create-test-e2e.js`, which:
@@ -142,7 +142,7 @@ You can run the end-to-end test for initializing locally on the command-line.
142142
Note that files need to be built with `pnpm run build` beforehand.
143143

144144
```shell
145-
pnpm run initialize:test
145+
pnpm run test:initialize
146146
```
147147

148148
That end-to-end test executes `script/initialize-test-e2e.js`, which:
@@ -153,7 +153,7 @@ That end-to-end test executes `script/initialize-test-e2e.js`, which:
153153
4. Resets everything
154154
5. Runs initialization a second time, capturing test coverage
155155

156-
The `pnpm run initialize:test` script is run in CI to ensure that templating changes are in sync with the template's actual files.
156+
The `pnpm run test:initialize` script is run in CI to ensure that templating changes are in sync with the template's actual files.
157157
See `.github/workflows/test-initialize.yml`.
158158

159159
### The Migration Script
@@ -183,7 +183,7 @@ node ../create-typescript-app/bin/migrate.js
183183
You can run the end-to-end test for migrating locally on the command-line:
184184

185185
```shell
186-
pnpm run initiamigratelize:test
186+
pnpm run test:migrate
187187
```
188188

189189
That end-to-end test executes `script/migrate-test-e2e.js`, which:
@@ -192,5 +192,9 @@ That end-to-end test executes `script/migrate-test-e2e.js`, which:
192192
2. Checks that only a small list of allowed files were changed
193193
3. Checks that the local repository's files were changed correctly (e.g. removed initialization-only files)
194194

195-
The `pnpm run migrate:test` script is run in CI to ensure that templating changes are in sync with the template's actual files.
195+
The `pnpm run test:migrate` script is run in CI to ensure that templating changes are in sync with the template's actual files.
196196
See `.github/workflows/test-migrate.yml`.
197+
198+
> Tip: if the migration test is failing in CI and you don't see any errors, try [downloading the full logs](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs#downloading-logs).
199+
> There'll likely be a list of changed files under a message like _`Oh no! Running the migrate script modified some files:`_.
200+
> You can also try running the test script locally.

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
build:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm build
88
- run: node ./lib/index.js

.github/workflows/contributors.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
contributors:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
with:
77
fetch-depth: 0
88
- uses: ./.github/actions/prepare

.github/workflows/lint-knip.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
lint_knip:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm build || true
88
- run: pnpm lint:knip

.github/workflows/lint-markdown.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
lint_markdown:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm lint:md
88

.github/workflows/lint-package-json.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
lint_package_json:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm lint:package-json
88

.github/workflows/lint-packages.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ jobs:
22
lint_packages:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm lint:packages
88

99
name: Lint Packages
1010

1111
on:
1212
pull_request: ~
13-
1413
push:
1514
branches:
1615
- main

.github/workflows/lint-spelling.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
lint_spelling:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm lint:spelling
88

.github/workflows/lint.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
lint:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm build || true
88
- run: pnpm lint

.github/workflows/post-release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
post_release:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
with:
77
fetch-depth: 0
88
- run: echo "npm_version=$(npm pkg get version | tr -d '"')" >> "$GITHUB_ENV"

.github/workflows/prettier.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
prettier:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm format --list-different
88

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
release:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v3
9+
- uses: actions/checkout@v4
1010
with:
1111
fetch-depth: 0
1212
- uses: ./.github/actions/prepare

.github/workflows/test-create.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ jobs:
22
create:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm run build
8-
- run: pnpm run create:test
8+
- run: pnpm run test:create
99
- if: always()
1010
name: Codecov
1111
uses: codecov/codecov-action@v3

.github/workflows/test-initialize.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ jobs:
22
initialize:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm run build
8-
- run: pnpm run initialize:test
8+
- run: pnpm run test:initialize
99
- if: always()
1010
name: Codecov
1111
uses: codecov/codecov-action@v3

.github/workflows/test-migrate.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ jobs:
22
migrate:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm run build
8-
- run: pnpm run migrate:test
8+
- run: pnpm run test:migrate
99
- if: always()
1010
name: Codecov
1111
uses: codecov/codecov-action@v3

.github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
test:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm run test --coverage
88
- name: Codecov

.github/workflows/tsc.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ jobs:
22
type_check:
33
runs-on: ubuntu-latest
44
steps:
5-
- uses: actions/checkout@v3
5+
- uses: actions/checkout@v4
66
- uses: ./.github/actions/prepare
77
- run: pnpm tsc
88

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<a href="#contributors" target="_blank">
77
<!-- prettier-ignore-start -->
88
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
9-
<img alt="All Contributors: 25 🤝" src="https://img.shields.io/badge/all_contributors-25_🤝-21bb42.svg" />
9+
<img alt="All Contributors: 26 🤝" src="https://img.shields.io/badge/all_contributors-26_🤝-21bb42.svg" />
1010
<!-- ALL-CONTRIBUTORS-BADGE:END -->
1111
<!-- prettier-ignore-end -->
1212
</a>
@@ -45,7 +45,7 @@ Use the corresponding docs page to get started:
4545

4646
- [Creating from the terminal](./docs/Creation.md): creating a new repository locally on the command-line _(recommended)_
4747
- [Initializing from the template](./docs/Initialization.md): creating a new repository with the [_Use this template_](https://github.com/JoshuaKGoldberg/create-typescript-app/generate) button on GitHub
48-
- [Migrating an existing repository](./docs/Migrate.md): adding this template's tooling on top of an existing repository
48+
- [Migrating an existing repository](./docs/Migration.md): adding this template's tooling on top of an existing repository
4949

5050
## Explainer
5151

@@ -109,6 +109,7 @@ Thanks! 💖
109109
<td align="center" valign="top" width="14.28%"><a href="https://ryota-murakami.github.io/"><img src="https://avatars.githubusercontent.com/u/5501268?v=4?s=100" width="100px;" alt="Ryota Murakami"/><br /><sub><b>Ryota Murakami</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=ryota-murakami" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Aryota-murakami" title="Bug reports">🐛</a></td>
110110
<td align="center" valign="top" width="14.28%"><a href="https://github.com/the-lazy-learner"><img src="https://avatars.githubusercontent.com/u/13695177?v=4?s=100" width="100px;" alt="Sudhansu"/><br /><sub><b>Sudhansu</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=the-lazy-learner" title="Code">💻</a></td>
111111
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tungbq"><img src="https://avatars.githubusercontent.com/u/85242618?v=4?s=100" width="100px;" alt="Tung Bui (Leo)"/><br /><sub><b>Tung Bui (Leo)</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=tungbq" title="Code">💻</a></td>
112+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vasanth9"><img src="https://avatars.githubusercontent.com/u/42891954?v=4?s=100" width="100px;" alt="Vasanth Kumar Cheepurupalli"/><br /><sub><b>Vasanth Kumar Cheepurupalli</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=vasanth9" title="Code">💻</a></td>
112113
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TAKANOME-DEV"><img src="https://avatars.githubusercontent.com/u/79809121?v=4?s=100" width="100px;" alt="takanomedev"/><br /><sub><b>takanomedev</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=TAKANOME-DEV" title="Code">💻</a></td>
113114
</tr>
114115
</tbody>

package.json

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "create-typescript-app",
3-
"version": "1.29.34",
3+
"version": "1.29.40",
44
"description": "Quickstart-friendly TypeScript template with comprehensive formatting, linting, releases, testing, and other great tooling built-in. ✨",
55
"repository": {
66
"type": "git",
@@ -23,20 +23,20 @@
2323
],
2424
"scripts": {
2525
"build": "tsup",
26-
"create:test": "node script/create-test-e2e.js",
2726
"format": "prettier \"**/*\" --ignore-unknown",
2827
"initialize": "tsx ./src/bin/index.js --mode initialize",
29-
"initialize:test": "node script/initialize-test-e2e.js",
3028
"lint": "eslint . .*js --max-warnings 0",
3129
"lint:knip": "knip",
3230
"lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line",
3331
"lint:package-json": "npmPkgJsonLint .",
3432
"lint:packages": "pnpm dedupe --check",
3533
"lint:spelling": "cspell \"**\" \".github/**/*\"",
36-
"migrate:test": "node script/migrate-test-e2e.js",
3734
"prepare": "husky install",
3835
"should-semantic-release": "should-semantic-release --verbose",
3936
"test": "vitest",
37+
"test:create": "node script/create-test-e2e.js",
38+
"test:initialize": "node script/initialize-test-e2e.js",
39+
"test:migrate": "node script/migrate-test-e2e.js",
4040
"tsc": "tsc"
4141
},
4242
"lint-staged": {
@@ -55,7 +55,9 @@
5555
"octokit": "^3.1.0",
5656
"prettier": "^3.0.2",
5757
"replace-in-file": "^7.0.1",
58-
"title-case": "^3.0.3"
58+
"title-case": "^3.0.3",
59+
"zod": "^3.22.2",
60+
"zod-validation-error": "^1.5.0"
5961
},
6062
"devDependencies": {
6163
"@octokit/request-error": "^5.0.0",
@@ -72,24 +74,24 @@
7274
"cspell": "^7.0.1",
7375
"eslint": "^8.48.0",
7476
"eslint-config-prettier": "^9.0.0",
75-
"eslint-plugin-deprecation": "^1.5.0",
77+
"eslint-plugin-deprecation": "^2.0.0",
7678
"eslint-plugin-eslint-comments": "^3.2.0",
7779
"eslint-plugin-import": "^2.28.1",
7880
"eslint-plugin-jsdoc": "^46.5.0",
7981
"eslint-plugin-jsonc": "^2.9.0",
8082
"eslint-plugin-markdown": "^3.0.1",
8183
"eslint-plugin-n": "^16.0.2",
8284
"eslint-plugin-no-only-tests": "^3.1.0",
83-
"eslint-plugin-perfectionist": "^1.5.1",
85+
"eslint-plugin-perfectionist": "^2.0.0",
8486
"eslint-plugin-regexp": "^1.15.0",
8587
"eslint-plugin-vitest": "^0.3.0",
8688
"eslint-plugin-yml": "^1.8.0",
8789
"globby": "^13.2.2",
8890
"husky": "^8.0.3",
8991
"jsonc-eslint-parser": "^2.3.0",
90-
"knip": "2.21.1",
92+
"knip": "2.24.1",
9193
"lint-staged": "^14.0.1",
92-
"markdownlint": "^0.30.0",
94+
"markdownlint": "^0.31.0",
9395
"markdownlint-cli": "^0.36.0",
9496
"npm-package-json-lint": "^7.0.0",
9597
"npm-package-json-lint-config-default": "^6.0.0",
@@ -104,7 +106,7 @@
104106
"vitest": "^0.34.3",
105107
"yaml-eslint-parser": "^1.2.2"
106108
},
107-
"packageManager": "[email protected].1",
109+
"packageManager": "[email protected].5",
108110
"engines": {
109111
"node": ">=18"
110112
},

0 commit comments

Comments
 (0)