diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 923830ee..73275edd 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -4,9 +4,9 @@ on: workflow_dispatch: inputs: version_type: - description: 'Version bump type' + description: "Version bump type" required: true - default: 'patch' + default: "patch" type: choice options: - patch @@ -71,7 +71,7 @@ jobs: # Get the latest version from npm registry latest_npm_version=$(npm view vibe-kanban version 2>/dev/null || echo "0.0.0") echo "Latest npm version: $latest_npm_version" - + timestamp=$(date +%Y%m%d%H%M%S) # Update root package.json based on npm version, not current package.json @@ -132,7 +132,7 @@ jobs: run: cd frontend && npx tsc --noEmit - name: Build frontend - run: npm run frontend:build + run: cd frontend && npm run build env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} @@ -156,7 +156,7 @@ jobs: retention-days: 1 build-backend: - needs: [ bump-version, build-frontend ] + needs: [bump-version, build-frontend] runs-on: ${{ matrix.os }} strategy: # Platform matrix - keep target/name in sync with package-npx-cli job @@ -335,7 +335,7 @@ jobs: retention-days: 1 package-npx-cli: - needs: [ bump-version, build-frontend, build-backend ] + needs: [bump-version, build-frontend, build-backend] runs-on: ubuntu-22.04 strategy: # NOTE: This matrix must be kept in sync with build-backend job above @@ -417,7 +417,7 @@ jobs: retention-days: 1 create-prerelease: - needs: [ bump-version, build-frontend, build-backend, package-npx-cli ] + needs: [bump-version, build-frontend, build-backend, package-npx-cli] runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 diff --git a/build-npm-package.sh b/build-npm-package.sh index 69b312ca..e63fc892 100755 --- a/build-npm-package.sh +++ b/build-npm-package.sh @@ -7,7 +7,7 @@ rm -rf npx-cli/dist mkdir -p npx-cli/dist/macos-arm64 echo "🔨 Building frontend..." -npm run frontend:build +(cd frontend && npm run build) echo "🔨 Building Rust binaries..." cargo build --release --manifest-path backend/Cargo.toml diff --git a/frontend/package.json b/frontend/package.json index 77e8d9b4..94e31403 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,6 +6,7 @@ "scripts": { "dev": "vite", "build": "tsc && vite build", + "check": "tsc --noEmit", "preview": "vite preview", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 100", "lint:fix": "eslint . --ext ts,tsx --fix", diff --git a/package.json b/package.json index 5f73fc18..6496bd18 100644 --- a/package.json +++ b/package.json @@ -3,24 +3,17 @@ "version": "0.0.54", "private": true, "scripts": { + "check": "npm run frontend:check && npm run backend:check", "dev": "export FRONTEND_PORT=$(node scripts/setup-dev-environment.js frontend) && export BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) && concurrently \"npm run backend:dev:watch\" \"npm run frontend:dev\"", - "build": "npm run frontend:build && npm run backend:build", - "build:single": "npm run frontend:build && npm run backend:build:single", - "build:npm": "./build-npm-package.sh", "test:npm": "./test-npm-package.sh", "frontend:dev": "cd frontend && npm run dev -- --port ${FRONTEND_PORT:-3000} --open", - "frontend:build": "cd frontend && npm run build", - "cargo": "node scripts/cargo.js", + "frontend:check": "cd frontend && npm run check", "backend:dev": "BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) npm run backend:dev:watch", - "backend:dev:watch": "DISABLE_WORKTREE_ORPHAN_CLEANUP=1 npm run cargo -- watch -w backend -x 'run --manifest-path backend/Cargo.toml'", - "backend:build": "npm run cargo -- build --release --manifest-path backend/Cargo.toml && npm run cargo -- build --release --bin mcp_task_server --manifest-path backend/Cargo.toml", - "backend:build:single": "npm run cargo -- build --release --manifest-path backend/Cargo.toml", - "backend:run": "npm run cargo -- run --manifest-path backend/Cargo.toml", - "backend:test": "npm run cargo -- test --lib", + "backend:check": "cargo check", + "backend:dev:watch": "DISABLE_WORKTREE_ORPHAN_CLEANUP=1 cargo -- watch -w backend -x 'run --manifest-path backend/Cargo.toml'", "generate-types": "cd backend && cargo run --bin generate_types", "generate-types:check": "cd backend && cargo run --bin generate_types -- --check", - "prepare-db": "node scripts/prepare-db.js", - "dev:clear-ports": "node scripts/setup-dev-environment.js clear" + "prepare-db": "node scripts/prepare-db.js" }, "devDependencies": { "concurrently": "^8.2.2", diff --git a/scripts/cargo.js b/scripts/cargo.js deleted file mode 100644 index 1d32f433..00000000 --- a/scripts/cargo.js +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env node -/** - * Drop-in replacement for the `cargo` binary. - * If CARGO_TARGET_DIR is already set we leave it alone. - * Otherwise we compute a path that is the same for every git-worktree: - * /target - * - * Usage : node scripts/cargo.js […] - * NPM : "backend:build": "node scripts/cargo.js build --release …" - */ -const { spawnSync, execSync } = require('node:child_process'); -const path = require('node:path'); - -function sharedTarget() { - try { - // Works in any work-tree folder - const common = execSync('git rev-parse --git-common-dir', { encoding: 'utf8' }).trim(); - return path.resolve(common, '..', 'target'); - } catch { - return undefined; // not a git repo? -> let Cargo use ./target - } -} - -const env = { ...process.env }; -if (!env.CARGO_TARGET_DIR) { - const dir = sharedTarget(); - if (dir) env.CARGO_TARGET_DIR = dir; -} - -const result = spawnSync('cargo', process.argv.slice(2), { stdio: 'inherit', env }); -process.exitCode = result.status;