From fe2a1e0e8f14956894d38602ff3ccfb846b5e9e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Kj=C3=A6r=20Damgaard?= Date: Sat, 7 Mar 2026 17:44:13 +0100 Subject: [PATCH 01/32] chore: update build tooling and CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TypeScript 4.9→5.9, Turbo v1→v2, Prettier v2→v3 - Husky v8→v9, lint-staged v13→v15 - oclif v2→v4, update bin/run and bin/dev entry points - Node engines >=18→>=20, TS target ES2019→ES2021 - GH Actions: checkout/setup-node v3→v4, pnpm/action-setup v4 - Add packageManager field, ESLint allow _ unused vars - Scope update-readmes to CLI only (website build broken) --- .github/workflows/ci.yml | 8 +- .github/workflows/cli-e2e.yml | 16 +- .github/workflows/publish.yml | 8 +- .husky/pre-commit | 3 - package.json | 15 +- packages/create-next-stack/.eslintrc | 8 +- packages/create-next-stack/README.md | 49 +- packages/create-next-stack/bin/dev | 16 +- packages/create-next-stack/bin/run | 7 +- packages/create-next-stack/package.json | 26 +- .../sort-orders/technologies.ts | 6 +- packages/create-next-stack/tsconfig.json | 2 +- pnpm-lock.yaml | 11459 +++++++++------- turbo.json | 2 +- 14 files changed, 6746 insertions(+), 4879 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 942d5cbf..85299d6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,15 +14,13 @@ jobs: steps: - name: "Checkout repo" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Set up pnpm" - uses: pnpm/action-setup@v2 - with: - version: 8 + uses: pnpm/action-setup@v4 - name: "Set up latest Node LTS" - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "lts/*" cache: pnpm diff --git a/.github/workflows/cli-e2e.yml b/.github/workflows/cli-e2e.yml index 0c43c28c..1e994abd 100644 --- a/.github/workflows/cli-e2e.yml +++ b/.github/workflows/cli-e2e.yml @@ -13,15 +13,13 @@ jobs: steps: - name: "Checkout repo" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Set up pnpm" - uses: pnpm/action-setup@v2 - with: - version: 8 + uses: pnpm/action-setup@v4 - name: "Set up latest Node LTS" - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "lts/*" cache: pnpm @@ -58,15 +56,13 @@ jobs: steps: - name: "Checkout repo" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Set up pnpm" - uses: pnpm/action-setup@v2 - with: - version: 8 + uses: pnpm/action-setup@v4 - name: "Set up latest Node LTS" - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "lts/*" cache: pnpm diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3091e936..a323ca90 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -20,15 +20,13 @@ jobs: steps: - name: "Checkout repo" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Set up pnpm" - uses: pnpm/action-setup@v2 - with: - version: 8 + uses: pnpm/action-setup@v4 - name: "Set up latest Node LTS" - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "lts/*" registry-url: "https://registry.npmjs.org" diff --git a/.husky/pre-commit b/.husky/pre-commit index 780b9d9f..e7c1e254 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,5 +1,2 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - pnpm run update-readmes npx lint-staged diff --git a/package.json b/package.json index 1040135f..a1038ff6 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,10 @@ "description": "Create Next Stack monorepo", "author": "Anders Kjær Damgaard", "license": "MIT", + "packageManager": "pnpm@10.17.1", "scripts": { "preinstall": "npx only-allow pnpm", - "prepare": "husky install", + "prepare": "husky", "format": "prettier --write .", "format:check": "prettier --check .", "build": "turbo build", @@ -19,14 +20,14 @@ "test": "turbo test", "test:cli": "turbo test --filter create-next-stack", "test:web": "turbo test --filter create-next-stack-website", - "update-readmes": "turbo update-readme" + "update-readmes": "turbo update-readme --filter create-next-stack" }, "devDependencies": { - "husky": "^8.0.3", - "lint-staged": "^13.2.1", - "prettier": "^2.8.8", - "turbo": "^1.9.9", - "typescript": "^4.9.5" + "husky": "^9.1.7", + "lint-staged": "^15.4.3", + "prettier": "^3.5.3", + "turbo": "^2.4.4", + "typescript": "^5.8.2" }, "lint-staged": { "*": "prettier --write --ignore-unknown" diff --git a/packages/create-next-stack/.eslintrc b/packages/create-next-stack/.eslintrc index eb803fc8..a12b7245 100644 --- a/packages/create-next-stack/.eslintrc +++ b/packages/create-next-stack/.eslintrc @@ -6,5 +6,11 @@ "eslint:recommended", "plugin:@typescript-eslint/recommended", "eslint-config-prettier" - ] + ], + "rules": { + "@typescript-eslint/no-unused-vars": [ + "error", + { "argsIgnorePattern": "^_", "destructuredArrayIgnorePattern": "^_" } + ] + } } diff --git a/packages/create-next-stack/README.md b/packages/create-next-stack/README.md index 148c80d2..d2c92cf9 100644 --- a/packages/create-next-stack/README.md +++ b/packages/create-next-stack/README.md @@ -75,46 +75,17 @@ Below you see an overview of Create Next Stack's usage, including detailed infor ``` +Create Next Stack is a website and CLI tool used to easily set up the boilerplate of new Next.js apps. + +VERSION + create-next-stack/0.2.8 darwin-arm64 node-v22.20.0 + USAGE - $ create-next-stack [APP_NAME] [FLAGS] - -ARGUMENTS - APP_NAME The name of your app, optionally including a path prefix. Eg.: - "my-app" or "path/to/my-app" - -FLAGS - -h, --help Shows the CLI help information. - -v, --version Shows the CLI version information. - --chakra Adds Chakra UI. (Component library) (Requires - Emotion and Framer Motion) - --debug Show verbose error messages for debugging - purposes. - --formatting-pre-commit-hook Adds a formatting pre-commit hook. (Requires - Prettier) - --formik Adds Formik. (Form library) - --framer-motion Adds Framer Motion. (Animation library) - --github-actions Adds a GitHub Actions continuous integration - workflow. - --mantine Adds Mantine. (Component library) (Requires - Emotion) - --material-ui Adds Material UI. (Component library) (Requires - Emotion) - --netlify Adds Netlify. (Hosting) - --package-manager=