chore(deps): pin dependencies #1012
ci.yml
on: pull_request
Are The Types Wrong?
59s
Build
56s
Lint
1m 7s
Lint Knip
13s
Lint Markdown
10s
Lint Packages
14s
Lint Spelling
18s
Prettier
13s
Test
33s
Test Creation Script
1m 54s
Test Initialization Script
1m 29s
Test Migration Script
3m 6s
Type Check
20s
Annotations
11 errors and 13 warnings
src/steps/writing/creation/index.test.ts > createStructure > base minimal > matches current and next:
src/steps/writing/creation/index.test.ts#L284
AssertionError: expected { Object (eslint.config.js) } to deeply equal { Object (eslint.config.js) }
- Expected
+ Received
Object {
"eslint.config.js": "import comments from \"@eslint-community/eslint-plugin-eslint-comments/configs\";
import eslint from \"@eslint/js\";
import vitest from \"@vitest/eslint-plugin\";
import jsdoc from \"eslint-plugin-jsdoc\";
import jsonc from \"eslint-plugin-jsonc\";
import markdown from \"eslint-plugin-markdown\";
import n from \"eslint-plugin-n\";
import packageJson from \"eslint-plugin-package-json/configs/recommended\";
import perfectionist from \"eslint-plugin-perfectionist\";
import * as regexp from \"eslint-plugin-regexp\";
import yml from \"eslint-plugin-yml\";
import tseslint from \"typescript-eslint\";
export default tseslint.config(
{
ignores: [\"**/*.snap\", \"coverage\", \"lib\", \"node_modules\", \"pnpm-lock.yaml\"],
},
{ linterOptions: { reportUnusedDisableDirectives: \"error\" } },
eslint.configs.recommended,
comments.recommended,
jsdoc.configs[\"flat/contents-typescript-error\"],
jsdoc.configs[\"flat/logical-typescript-error\"],
jsdoc.configs[\"flat/stylistic-typescript-error\"],
jsonc.configs[\"flat/recommended-with-json\"],
markdown.configs.recommended,
n.configs[\"flat/recommended\"],
packageJson,
perfectionist.configs[\"recommended-natural\"],
regexp.configs[\"flat/recommended\"],
{
extends: [
tseslint.configs.strictTypeChecked,
tseslint.configs.stylisticTypeChecked,
],
files: [\"**/*.js\", \"**/*.ts\"],
languageOptions: {
parserOptions: {
projectService: {
allowDefaultProject: [\"*.config.*s\", \"bin/index.js\"],
},
tsconfigRootDir: import.meta.dirname,
},
},
rules: {
// Stylistic concerns that don't interfere with Prettier
\"logical-assignment-operators\": [
\"error\",
\"always\",
{ enforceForIfStatements: true },
],
\"no-useless-rename\": \"error\",
\"object-shorthand\": \"error\",
\"operator-assignment\": \"error\",
},
settings: { perfectionist: { partitionByComment: true, type: \"natural\" } },
},
- {
- extends: [tseslint.configs.disableTypeChecked],
- files: [\"**/*.md/*.ts\"],
- rules: {
- \"n/no-missing-import\": [\"error\", { allowModules: [\"test-repo\"] }],
- },
- },
+ { extends: [tseslint.configs.disableTypeChecked], files: [\"**/*.md/*.ts\"] },
{
extends: [vitest.configs.recommended],
files: [\"**/*.test.*\"],
rules: { \"@typescript-eslint/no-unsafe-assignment\": \"off\" },
},
{
extends: [yml.configs[\"flat/recommended\"], yml.configs[\"flat/prettier\"]],
files: [\"**/*.{yml,yaml}\"],
rules: {
\"yml/file-extension\": [\"error\", { extension: \"yml\" }],
\"yml/sort-keys\": [
\"error\",
{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },
],
\"yml/sort-sequence-values\": [
\"error\",
{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },
],
},
},
);
",
}
❯ src/steps/writing/creation/index.test.ts:284:17
|
src/steps/writing/creation/index.test.ts > createStructure > base common > matches current and next:
src/steps/writing/creation/index.test.ts#L284
AssertionError: expected { Object (eslint.config.js) } to deeply equal { Object (eslint.config.js) }
- Expected
+ Received
Object {
"eslint.config.js": "import comments from \"@eslint-community/eslint-plugin-eslint-comments/configs\";
import eslint from \"@eslint/js\";
import vitest from \"@vitest/eslint-plugin\";
import jsdoc from \"eslint-plugin-jsdoc\";
import jsonc from \"eslint-plugin-jsonc\";
import markdown from \"eslint-plugin-markdown\";
import n from \"eslint-plugin-n\";
import packageJson from \"eslint-plugin-package-json/configs/recommended\";
import perfectionist from \"eslint-plugin-perfectionist\";
import * as regexp from \"eslint-plugin-regexp\";
import yml from \"eslint-plugin-yml\";
import tseslint from \"typescript-eslint\";
export default tseslint.config(
{
ignores: [\"**/*.snap\", \"coverage\", \"lib\", \"node_modules\", \"pnpm-lock.yaml\"],
},
{ linterOptions: { reportUnusedDisableDirectives: \"error\" } },
eslint.configs.recommended,
comments.recommended,
jsdoc.configs[\"flat/contents-typescript-error\"],
jsdoc.configs[\"flat/logical-typescript-error\"],
jsdoc.configs[\"flat/stylistic-typescript-error\"],
jsonc.configs[\"flat/recommended-with-json\"],
markdown.configs.recommended,
n.configs[\"flat/recommended\"],
packageJson,
perfectionist.configs[\"recommended-natural\"],
regexp.configs[\"flat/recommended\"],
{
extends: [
tseslint.configs.strictTypeChecked,
tseslint.configs.stylisticTypeChecked,
],
files: [\"**/*.js\", \"**/*.ts\"],
languageOptions: {
parserOptions: {
projectService: {
allowDefaultProject: [\"*.config.*s\", \"bin/index.js\"],
},
tsconfigRootDir: import.meta.dirname,
},
},
rules: {
// Stylistic concerns that don't interfere with Prettier
\"logical-assignment-operators\": [
\"error\",
\"always\",
{ enforceForIfStatements: true },
],
\"no-useless-rename\": \"error\",
\"object-shorthand\": \"error\",
\"operator-assignment\": \"error\",
},
settings: { perfectionist: { partitionByComment: true, type: \"natural\" } },
},
- {
- extends: [tseslint.configs.disableTypeChecked],
- files: [\"**/*.md/*.ts\"],
- rules: {
- \"n/no-missing-import\": [\"error\", { allowModules: [\"test-repo\"] }],
- },
- },
+ { extends: [tseslint.configs.disableTypeChecked], files: [\"**/*.md/*.ts\"] },
{
extends: [vitest.configs.recommended],
files: [\"**/*.test.*\"],
rules: { \"@typescript-eslint/no-unsafe-assignment\": \"off\" },
},
{
extends: [yml.configs[\"flat/recommended\"], yml.configs[\"flat/prettier\"]],
files: [\"**/*.{yml,yaml}\"],
rules: {
\"yml/file-extension\": [\"error\", { extension: \"yml\" }],
\"yml/sort-keys\": [
\"error\",
{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },
],
\"yml/sort-sequence-values\": [
\"error\",
{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },
],
},
},
);
",
}
❯ src/steps/writing/creation/index.test.ts:284:17
|
src/steps/writing/creation/index.test.ts > createStructure > base everything > matches current and next:
src/steps/writing/creation/index.test.ts#L284
AssertionError: expected { Object (eslint.config.js) } to deeply equal { Object (eslint.config.js) }
- Expected
+ Received
Object {
"eslint.config.js": "import comments from \"@eslint-community/eslint-plugin-eslint-comments/configs\";
import eslint from \"@eslint/js\";
import vitest from \"@vitest/eslint-plugin\";
import jsdoc from \"eslint-plugin-jsdoc\";
import jsonc from \"eslint-plugin-jsonc\";
import markdown from \"eslint-plugin-markdown\";
import n from \"eslint-plugin-n\";
import packageJson from \"eslint-plugin-package-json/configs/recommended\";
import perfectionist from \"eslint-plugin-perfectionist\";
import * as regexp from \"eslint-plugin-regexp\";
import yml from \"eslint-plugin-yml\";
import tseslint from \"typescript-eslint\";
export default tseslint.config(
{
ignores: [\"**/*.snap\", \"coverage\", \"lib\", \"node_modules\", \"pnpm-lock.yaml\"],
},
{ linterOptions: { reportUnusedDisableDirectives: \"error\" } },
eslint.configs.recommended,
comments.recommended,
jsdoc.configs[\"flat/contents-typescript-error\"],
jsdoc.configs[\"flat/logical-typescript-error\"],
jsdoc.configs[\"flat/stylistic-typescript-error\"],
jsonc.configs[\"flat/recommended-with-json\"],
markdown.configs.recommended,
n.configs[\"flat/recommended\"],
packageJson,
perfectionist.configs[\"recommended-natural\"],
regexp.configs[\"flat/recommended\"],
{
extends: [
tseslint.configs.strictTypeChecked,
tseslint.configs.stylisticTypeChecked,
],
files: [\"**/*.js\", \"**/*.ts\"],
languageOptions: {
parserOptions: {
projectService: {
allowDefaultProject: [\"*.config.*s\", \"bin/index.js\"],
},
tsconfigRootDir: import.meta.dirname,
},
},
rules: {
// Stylistic concerns that don't interfere with Prettier
\"logical-assignment-operators\": [
\"error\",
\"always\",
{ enforceForIfStatements: true },
],
\"no-useless-rename\": \"error\",
\"object-shorthand\": \"error\",
\"operator-assignment\": \"error\",
},
settings: { perfectionist: { partitionByComment: true, type: \"natural\" } },
},
- {
- extends: [tseslint.configs.disableTypeChecked],
- files: [\"**/*.md/*.ts\"],
- rules: {
- \"n/no-missing-import\": [\"error\", { allowModules: [\"test-repo\"] }],
- },
- },
+ { extends: [tseslint.configs.disableTypeChecked], files: [\"**/*.md/*.ts\"] },
{
extends: [vitest.configs.recommended],
files: [\"**/*.test.*\"],
rules: { \"@typescript-eslint/no-unsafe-assignment\": \"off\" },
},
{
extends: [yml.configs[\"flat/recommended\"], yml.configs[\"flat/prettier\"]],
files: [\"**/*.{yml,yaml}\"],
rules: {
\"yml/file-extension\": [\"error\", { extension: \"yml\" }],
\"yml/sort-keys\": [
\"error\",
{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },
],
\"yml/sort-sequence-values\": [
\"error\",
{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },
],
},
},
);
",
}
❯ src/steps/writing/creation/index.test.ts:284:17
|
Test
Process completed with exit code 1.
|
Test Initialization Script
Process completed with exit code 1.
|
migrate-test-e2e.ts > expected file changes > README.md:
script/migrate-test-e2e.ts#L105
Error: Snapshot `expected file changes > README.md 1` mismatched
- Expected
+ Received
@@ -1,12 +1,15 @@
"--- a/README.md
+++ b/README.md
@@ ... @@
<h1 align="center">Create TypeScript App</h1>
- -<p align="center">Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁</p>
+ -<p align="center">
+ - Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling.
+ - 🎁
+ -</p>
- +<p align="center">A very lovely package. Hooray!</p>
+ +<p align="center">Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁</p>
<p align="center">
<!-- prettier-ignore-start -->
@@ ... @@ Thanks! 💖
❯ migrate-test-e2e.ts:105:35
|
migrate-test-e2e.ts > expected file changes > .github/workflows/ci.yml:
script/migrate-test-e2e.ts#L105
Error: Snapshot `expected file changes > .github/workflows/ci.yml 1` mismatched
- Expected
+ Received
@@ -4,28 +4,79 @@
jobs:
- are_the_types_wrong:
- name: Are The Types Wrong?
- runs-on: ubuntu-latest
- steps:
- - - uses: actions/checkout@v4
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- - uses: ./.github/actions/prepare
- - run: pnpm build
- - run: npx --yes @arethetypeswrong/cli --pack . --ignore-rules cjs-resolves-to-esm
build:
name: Build
runs-on: ubuntu-latest
- @@ ... @@ jobs:
- - uses: actions/checkout@v4
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
- uses: ./.github/actions/prepare
- run: pnpm build
- - run: node lib/index.js --version
+ - run: node lib/index.js
lint:
name: Lint
runs-on: ubuntu-latest
- @@ ... @@ jobs:
- - uses: actions/checkout@v4
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
+ - uses: ./.github/actions/prepare
+ - run: pnpm build
+ - run: pnpm lint
+ @@ ... @@ jobs:
+ name: Lint Knip
+ runs-on: ubuntu-latest
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
+ - uses: ./.github/actions/prepare
+ - run: pnpm lint:knip
+ lint_markdown:
+ name: Lint Markdown
+ runs-on: ubuntu-latest
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
+ - uses: ./.github/actions/prepare
+ - run: pnpm lint:md
+ lint_packages:
+ name: Lint Packages
+ runs-on: ubuntu-latest
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
+ - uses: ./.github/actions/prepare
+ - run: pnpm lint:packages
+ lint_spelling:
+ name: Lint Spelling
+ runs-on: ubuntu-latest
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
+ - uses: ./.github/actions/prepare
+ - run: pnpm lint:spelling
+ prettier:
+ name: Prettier
+ runs-on: ubuntu-latest
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
+ - uses: ./.github/actions/prepare
+ - run: pnpm format --list-different
+ test:
+ name: Test
+ runs-on: ubuntu-latest
+ steps:
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ + - uses: actions/checkout@v4
- uses: ./.github/actions/prepare
- run: pnpm run test --coverage
- - env:
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- if: always()
@@ -34,11 +85,11 @@
- flags: unit
- test_creation_script:
- name: Test Creation Script
- runs-on: ubuntu-latest
- steps:
- - - uses: actions/checkout@v4
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- - uses: ./.github/actions/prepare
- - run: pnpm run build
- - run: pnpm run test:create
- - env:
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -49,11 +100,11 @@
- flags: create
- test_initialization_script:
- name: Test Initialization Script
- runs-on: ubuntu-latest
- steps:
- - - uses: actions/checkout@v4
+ - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- - uses: ./.github/actions/prepare
- - run: pnpm run build
- - run: pnpm run test:initialize
- - env:
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -64,11 +115,11 @@
- flags: initialize
- test_migration_script:
- name: Test Migration Script
- runs-on: ubuntu-la
|
migrate-test-e2e.ts > expected file changes > eslint.config.js:
script/migrate-test-e2e.ts#L105
Error: Snapshot `expected file changes > eslint.config.js 1` mismatched
- Expected
+ Received
@@ -28,17 +28,16 @@
+ ignores: ["**/*.snap", "coverage", "lib", "node_modules", "pnpm-lock.yaml"],
},
{ linterOptions: { reportUnusedDisableDirectives: "error" } },
eslint.configs.recommended,
@@ ... @@ export default tseslint.config(
- files: ["**/*.js", "**/*.ts"],
languageOptions: {
parserOptions: {
- - projectService: {
+ projectService: {
- allowDefaultProject: ["*.config.*s", "bin/*.js"],
- - },
- + projectService: { allowDefaultProject: ["*.config.*s"] },
+ + allowDefaultProject: ["*.config.*s", "bin/index.js"],
+ },
tsconfigRootDir: import.meta.dirname,
},
},
rules: {
- // These on-by-default rules work well for this repo if configured
@@ -62,5 +61,18 @@
- ],
-
// Stylistic concerns that don't interfere with Prettier
"logical-assignment-operators": [
"error",
+ @@ ... @@ export default tseslint.config(
+ {
+ extends: [tseslint.configs.disableTypeChecked],
+ files: ["**/*.md/*.ts"],
+ + rules: {
+ + "n/no-missing-import": [
+ + "error",
+ + { allowModules: ["create-typescript-app"] },
+ + ],
+ + },
+ },
+ {
+ extends: [vitest.configs.recommended],"
❯ migrate-test-e2e.ts:105:35
|
migrate-test-e2e.ts > expected file changes > package.json:
script/migrate-test-e2e.ts#L105
Error: Snapshot `expected file changes > package.json 1` mismatched
- Expected
+ Received
@@ -1,18 +1,9 @@
"--- a/package.json
+++ b/package.json
@@ ... @@
- {
- "name": "create-typescript-app",
- "version": "1.79.0",
- - "description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁",
- + "description": "A very lovely package. Hooray! 💖",
- "repository": {
- "type": "git",
- "url": "https://github.com/JoshuaKGoldberg/create-typescript-app"
- @@ ... @@
- "lint-staged": "15.2.11",
+ "lint-staged": "15.3.0",
"markdownlint": "0.37.2",
"markdownlint-cli": "0.43.0",
+ "prettier": "^3.4.2",
"prettier-plugin-curly": "0.3.1",
"prettier-plugin-packagejson": "2.5.6",
❯ migrate-test-e2e.ts:105:35
|
migrate-test-e2e.ts > unexpected file changes:
script/migrate-test-e2e.ts#L137
Error:
Oh no! Running the migrate script unexpectedly modified:
- .all-contributorsrc
- .github/actions/prepare/action.yml
- .github/workflows/accessibility-alt-text-bot.yml
- .github/workflows/contributors.yml
- .github/workflows/post-release.yml
- .github/workflows/pr-review-requested.yml
- .github/workflows/release.yml
See .github/DEVELOPMENT.md > Setup Scripts for context.
Then see .github/DEVELOPMENT.md > Unexpected File Modifications.
❯ migrate-test-e2e.ts:137:9
|
Test Migration Script
Process completed with exit code 1.
|
Lint Markdown
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Lint Packages
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Lint Knip
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Lint Spelling
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Prettier
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Type Check
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Are The Types Wrong?
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Test
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Build
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Lint
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Test Initialization Script
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Test Creation Script
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Test Migration Script
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|