diff --git a/docs/FAQs.md b/docs/FAQs.md index 45edab4a7..2b09ca87f 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -20,7 +20,6 @@ Here we'll outline the steps required to migrate a CTA app to a GitHub Action: 1. GitHub Actions store built output on a GitHub branch rather than in a published package on npm. As a consequence we should: - - delete `.github/workflows/release.yml` and `.github/workflows/post-release.yml`. - update `.github/workflows/build.yml` to ensure `dist` is up to date: @@ -74,20 +73,17 @@ Here we'll outline the steps required to migrate a CTA app to a GitHub Action: pnpm remove tsup pnpm add @vercel/ncc -D ``` - - Now we need to update the `build` script in our `package.json`: ```diff -"build": "tsup", +"build": "ncc build src/index.ts -o dist --license licenses.txt", ``` - - Our build now emits to the `dist` directory; so we'll want to avoid linting that directory by adding the following to `.eslintignore` and our `.prettierignore`: ```diff +dist ``` - - Rather than having to remember to compile each time, we'll update our pre-commit hook in `.husky/pre-commit` to build for us on each commit: ```diff diff --git a/package.json b/package.json index bcbfb4339..274f34544 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "devDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "4.5.0", "@eslint/js": "9.22.0", - "@prettier/sync": "0.5.3", + "@prettier/sync": "0.6.1", "@release-it/conventional-changelog": "10.0.0", "@types/eslint-plugin-markdown": "2.0.2", "@types/git-url-parse": "16.0.0", @@ -108,10 +108,10 @@ "lodash": "4.17.21", "markdownlint": "0.37.4", "markdownlint-cli": "0.44.0", - "prettier": "3.5.3", - "prettier-plugin-curly": "0.3.1", - "prettier-plugin-packagejson": "2.5.10", - "prettier-plugin-sh": "0.15.0", + "prettier": "3.6.1", + "prettier-plugin-curly": "0.3.2", + "prettier-plugin-packagejson": "2.5.15", + "prettier-plugin-sh": "0.17.4", "release-it": "18.1.2", "sentences-per-line": "0.3.0", "tsup": "8.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6528a9862..fa5920cd2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -94,7 +94,7 @@ importers: version: 5.1.0 sort-package-json: specifier: ^3.0.0 - version: 3.0.0 + version: 3.2.1 title-case: specifier: ^4.3.2 version: 4.3.2 @@ -118,8 +118,8 @@ importers: specifier: 9.22.0 version: 9.22.0 '@prettier/sync': - specifier: 0.5.3 - version: 0.5.3(prettier@3.5.3) + specifier: 0.6.1 + version: 0.6.1(prettier@3.6.1) '@release-it/conventional-changelog': specifier: 10.0.0 version: 10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2)) @@ -214,17 +214,17 @@ importers: specifier: 0.44.0 version: 0.44.0 prettier: - specifier: 3.5.3 - version: 3.5.3 + specifier: 3.6.1 + version: 3.6.1 prettier-plugin-curly: - specifier: 0.3.1 - version: 0.3.1(prettier@3.5.3) + specifier: 0.3.2 + version: 0.3.2(prettier@3.6.1) prettier-plugin-packagejson: - specifier: 2.5.10 - version: 2.5.10(prettier@3.5.3) + specifier: 2.5.15 + version: 2.5.15(prettier@3.6.1) prettier-plugin-sh: - specifier: 0.15.0 - version: 0.15.0(prettier@3.5.3) + specifier: 0.17.4 + version: 0.17.4(prettier@3.6.1) release-it: specifier: 18.1.2 version: 18.1.2(@types/node@22.13.10)(typescript@5.8.2) @@ -1196,6 +1196,10 @@ packages: resolution: {integrity: sha512-fdDH1LSGfZdTH2sxdpVMw31BanV28K/Gry0cVFxaNP77neJSkd82mM8ErPNYs9e+0O7SdHBLTDzDgwUuy18RnQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pkgr/core@0.2.7': + resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -1208,8 +1212,8 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} - '@prettier/sync@0.5.3': - resolution: {integrity: sha512-JGnEzG3YbXfwN3PvTyb8FsvXaHV+4yE8BxNxgJY+kyDsk0nNsXrOU9JoDvFPh0YpZDSoDjbxkMqaPrhwInW6CQ==} + '@prettier/sync@0.6.1': + resolution: {integrity: sha512-yF9G8vK/LYUTF3Cijd7VC9La3b20F20/J/fgoR4H0B8JGOWnZVZX6+I6+vODPosjmMcpdlUV+gUqJQZp3kLOcw==} peerDependencies: prettier: '*' @@ -1219,6 +1223,10 @@ packages: peerDependencies: release-it: ^18.0.0 + '@reteps/dockerfmt@0.3.6': + resolution: {integrity: sha512-Tb5wIMvBf/nLejTQ61krK644/CEMB/cpiaIFXqGApfGqO3GwcR3qnI0DbmkFVCl2OyEp8LnLX3EkucoL0+tbFg==} + engines: {node: ^v12.20.0 || ^14.13.0 || >=16.0.0} + '@rollup/rollup-android-arm-eabi@4.36.0': resolution: {integrity: sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==} cpu: [arm] @@ -2528,8 +2536,8 @@ packages: resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} engines: {node: '>= 14'} - git-hooks-list@3.2.0: - resolution: {integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==} + git-hooks-list@4.1.1: + resolution: {integrity: sha512-cmP497iLq54AZnv4YRAEMnEyQ1eIn4tGKbmswqwmFV4GBnAqE8NLtWxxdXa++AalfgL5EBH4IxTPyquEuGY/jA==} git-raw-commits@5.0.0: resolution: {integrity: sha512-I2ZXrXeOc0KrCvC7swqtIFXFN+rbjnC7b2T943tvemIOVNl+XP8YnA9UVwqFhzzLClnSA60KR/qEjLpXzs73Qg==} @@ -3088,8 +3096,8 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - make-synchronized@0.2.10: - resolution: {integrity: sha512-7NTbfv+5oJJdjHRPW4j4P/n7sYeu7mrBTZLVHD5ACSyFPRObPhsZAIoR/75SlVl20x/g7PIP75FBBHqSJ2FPuA==} + make-synchronized@0.8.0: + resolution: {integrity: sha512-DZu4lwc0ffoFz581BSQa/BJl+1ZqIkoRQ+VejMlH0VrP4E86StAODnZujZ4sepumQj8rcP7wUnUBGM8Gu+zKUA==} markdown-it@14.1.0: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} @@ -3267,10 +3275,6 @@ packages: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} - mvdan-sh@0.10.1: - resolution: {integrity: sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg==} - deprecated: See https://github.com/mvdan/sh/issues/1145 - mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -3617,22 +3621,22 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-curly@0.3.1: - resolution: {integrity: sha512-GU3JJ4DB+j2gNA+8SxiyuAOuqalFu+JrX9JMNChTEwvgLCs+XXu2WJ1NbP1uK57Cbz04E2OhrkDpQFLMH5MsXg==} + prettier-plugin-curly@0.3.2: + resolution: {integrity: sha512-1Ay7dVzOxFTIfnepaJ+wQTosIVIj2fSuh19S0DiMXn2nQxIjimWOJoeZ+pe5MvbtD95NKi2zinrgsHall5V7Mw==} engines: {node: '>=18'} peerDependencies: prettier: ^2 || ^3 - prettier-plugin-packagejson@2.5.10: - resolution: {integrity: sha512-LUxATI5YsImIVSaaLJlJ3aE6wTD+nvots18U3GuQMJpUyClChaZlQrqx3dBnbhF20OnKWZyx8EgyZypQtBDtgQ==} + prettier-plugin-packagejson@2.5.15: + resolution: {integrity: sha512-2QSx6y4IT6LTwXtCvXAopENW5IP/aujC8fobEM2pDbs0IGkiVjW/ipPuYAHuXigbNe64aGWF7vIetukuzM3CBw==} peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: prettier: optional: true - prettier-plugin-sh@0.15.0: - resolution: {integrity: sha512-U0PikJr/yr2bzzARl43qI0mApBj0C1xdAfA04AZa6LnvIKawXHhuy2fFo6LNA7weRzGlAiNbaEFfKMFo0nZr/A==} + prettier-plugin-sh@0.17.4: + resolution: {integrity: sha512-aAVKXZ7GTEMZdZsIPSwMwddwPvt2ibMbRGd4OJAP0G7QoeYZV+mPNg2Oln3R53sZ4PVjeAA7Xzi/PuI0QlHHfQ==} engines: {node: '>=16.0.0'} peerDependencies: prettier: ^3.0.3 @@ -3642,8 +3646,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.1: + resolution: {integrity: sha512-5xGWRa90Sp2+x1dQtNpIpeOQpTDBs9cZDmA/qs2vDNN2i18PdapqY7CmBeyLlMuGqXJRIOPaCaVZTLNQRWUH/A==} engines: {node: '>=14'} hasBin: true @@ -3851,8 +3855,8 @@ packages: engines: {node: '>=18.3.0'} hasBin: true - sh-syntax@0.4.2: - resolution: {integrity: sha512-/l2UZ5fhGZLVZa16XQM9/Vq/hezGGbdHeVEA01uWjOL1+7Ek/gt6FquW0iKKws4a9AYPYvlz6RyVvjh3JxOteg==} + sh-syntax@0.5.8: + resolution: {integrity: sha512-JfVoxf4FxQI5qpsPbkHhZo+n6N9YMJobyl4oGEUBb/31oQYlgTjkXQD8PBiafS2UbWoxrTO0Z5PJUBXEPAG1Zw==} engines: {node: '>=16.0.0'} shebang-command@2.0.0: @@ -3927,12 +3931,8 @@ packages: sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - sort-package-json@2.15.1: - resolution: {integrity: sha512-9x9+o8krTT2saA9liI4BljNjwAbvUnWf11Wq+i/iZt8nl2UGYnf3TH5uBydE7VALmP7AGwlfszuEeL8BDyb0YA==} - hasBin: true - - sort-package-json@3.0.0: - resolution: {integrity: sha512-vfZWx4DnFNB8R9Vg4Dnx21s20auNzWH15ZaCBfADAiyrCwemRmhWstTgvLjMek1DW3+MHcNaqkp86giCF24rMA==} + sort-package-json@3.2.1: + resolution: {integrity: sha512-rTfRdb20vuoAn7LDlEtCqOkYfl2X+Qze6cLbNOzcDpbmKEhJI30tTN44d5shbKJnXsvz24QQhlCm81Bag7EOKg==} hasBin: true source-map-js@1.2.1: @@ -4045,6 +4045,10 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} + engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.6.2: resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} engines: {node: '>=12.20'} @@ -5322,6 +5326,8 @@ snapshots: '@pkgr/core@0.1.2': {} + '@pkgr/core@0.2.7': {} + '@pnpm/config.env-replace@1.1.0': {} '@pnpm/network.ca-file@1.0.2': @@ -5334,10 +5340,10 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@prettier/sync@0.5.3(prettier@3.5.3)': + '@prettier/sync@0.6.1(prettier@3.6.1)': dependencies: - make-synchronized: 0.2.10 - prettier: 3.5.3 + make-synchronized: 0.8.0 + prettier: 3.6.1 '@release-it/conventional-changelog@10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2))': dependencies: @@ -5351,6 +5357,8 @@ snapshots: - conventional-commits-filter - conventional-commits-parser + '@reteps/dockerfmt@0.3.6': {} + '@rollup/rollup-android-arm-eabi@4.36.0': optional: true @@ -6541,7 +6549,7 @@ snapshots: package-json-validator: 0.10.0 semver: 7.7.1 sort-object-keys: 1.1.3 - sort-package-json: 3.0.0 + sort-package-json: 3.2.1 validate-npm-package-name: 6.0.0 transitivePeerDependencies: - '@types/estree' @@ -6823,7 +6831,7 @@ snapshots: transitivePeerDependencies: - supports-color - git-hooks-list@3.2.0: {} + git-hooks-list@4.1.1: {} git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0): dependencies: @@ -7377,7 +7385,7 @@ snapshots: dependencies: semver: 7.7.1 - make-synchronized@0.2.10: {} + make-synchronized@0.8.0: {} markdown-it@14.1.0: dependencies: @@ -7665,8 +7673,6 @@ snapshots: mute-stream@2.0.0: {} - mvdan-sh@0.10.1: {} - mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -8013,32 +8019,32 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-curly@0.3.1(prettier@3.5.3): + prettier-plugin-curly@0.3.2(prettier@3.6.1): dependencies: '@babel/generator': 7.26.10 '@babel/parser': 7.26.10 '@babel/traverse': 7.26.10 - prettier: 3.5.3 + prettier: 3.6.1 transitivePeerDependencies: - supports-color - prettier-plugin-packagejson@2.5.10(prettier@3.5.3): + prettier-plugin-packagejson@2.5.15(prettier@3.6.1): dependencies: - sort-package-json: 2.15.1 - synckit: 0.9.2 + sort-package-json: 3.2.1 + synckit: 0.11.8 optionalDependencies: - prettier: 3.5.3 + prettier: 3.6.1 - prettier-plugin-sh@0.15.0(prettier@3.5.3): + prettier-plugin-sh@0.17.4(prettier@3.6.1): dependencies: - mvdan-sh: 0.10.1 - prettier: 3.5.3 - sh-syntax: 0.4.2 + '@reteps/dockerfmt': 0.3.6 + prettier: 3.6.1 + sh-syntax: 0.5.8 prettier@2.8.8: optional: true - prettier@3.5.3: {} + prettier@3.6.1: {} pretty-ms@9.2.0: dependencies: @@ -8280,7 +8286,7 @@ snapshots: throttled-queue: 2.1.4 zod: 3.24.2 - sh-syntax@0.4.2: + sh-syntax@0.5.8: dependencies: tslib: 2.8.1 @@ -8345,23 +8351,11 @@ snapshots: sort-object-keys@1.1.3: {} - sort-package-json@2.15.1: + sort-package-json@3.2.1: dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 - get-stdin: 9.0.0 - git-hooks-list: 3.2.0 - is-plain-obj: 4.1.0 - semver: 7.7.1 - sort-object-keys: 1.1.3 - tinyglobby: 0.2.12 - - sort-package-json@3.0.0: - dependencies: - detect-indent: 7.0.1 - detect-newline: 4.0.1 - get-stdin: 9.0.0 - git-hooks-list: 3.2.0 + git-hooks-list: 4.1.1 is-plain-obj: 4.1.0 semver: 7.7.1 sort-object-keys: 1.1.3 @@ -8466,6 +8460,10 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + synckit@0.11.8: + dependencies: + '@pkgr/core': 0.2.7 + synckit@0.6.2: dependencies: tslib: 2.8.1 diff --git a/src/blocks/blockPrettier.test.ts b/src/blocks/blockPrettier.test.ts index 3023e815d..e1aedb3ad 100644 --- a/src/blocks/blockPrettier.test.ts +++ b/src/blocks/blockPrettier.test.ts @@ -61,7 +61,7 @@ describe("blockPrettier", () => { "devDependencies": { "husky": "9.1.7", "lint-staged": "15.5.0", - "prettier": "3.5.3", + "prettier": "3.6.1", }, "lint-staged": { "*": "prettier --ignore-unknown --write", @@ -173,7 +173,7 @@ describe("blockPrettier", () => { "devDependencies": { "husky": "9.1.7", "lint-staged": "15.5.0", - "prettier": "3.5.3", + "prettier": "3.6.1", }, "lint-staged": { "*": "prettier --ignore-unknown --write", @@ -326,10 +326,10 @@ describe("blockPrettier", () => { "devDependencies": { "husky": "9.1.7", "lint-staged": "15.5.0", - "prettier": "3.5.3", - "prettier-plugin-curly": "0.3.1", - "prettier-plugin-packagejson": "2.5.10", - "prettier-plugin-sh": "0.15.0", + "prettier": "3.6.1", + "prettier-plugin-curly": "0.3.2", + "prettier-plugin-packagejson": "2.5.15", + "prettier-plugin-sh": "0.17.4", }, "lint-staged": { "*": "prettier --ignore-unknown --write",