diff --git a/.github/workflows/ci/cpp-build.yml b/.github/workflows/ci/cpp-build.yml index bfbcb1a2e..6f040692d 100644 --- a/.github/workflows/ci/cpp-build.yml +++ b/.github/workflows/ci/cpp-build.yml @@ -72,17 +72,17 @@ jobs: run: conan profile detect --force - name: Check C++ dependencies - run: bun run cpp:check + run: npm run cpp:check - name: Initialize Conanfile - run: bun run cpp:init + run: npm run cpp:init - name: Install Conan dependencies env: CMAKE_BUILD_TYPE: ${{ matrix.build_type }} CC: ${{ matrix.compiler.cc }} CXX: ${{ matrix.compiler.cxx }} - run: bun run cpp:install + run: npm run cpp:install - name: Configure CMake env: @@ -91,18 +91,18 @@ jobs: CXX: ${{ matrix.compiler.cxx }} run: | if [ "${{ matrix.build_type }}" = "Debug" ]; then - bun run cpp:build -- configure --debug + npm run cpp:build -- configure --debug else - bun run cpp:configure + npm run cpp:configure fi - name: Build C++ project env: CMAKE_BUILD_TYPE: ${{ matrix.build_type }} - run: bun run cpp:build + run: npm run cpp:build - name: Run C++ tests - run: bun run cpp:test + run: npm run cpp:test - name: Upload build artifacts if: matrix.build_type == 'Release' && matrix.compiler.cxx == 'g++' @@ -142,7 +142,7 @@ jobs: run: conan profile detect --force - name: Check C++ dependencies - run: bun run cpp:check + run: npm run cpp:check - name: Full C++ build env: @@ -151,11 +151,11 @@ jobs: if [ "${{ matrix.build_type }}" = "Debug" ]; then echo "skipping dbal/shared/tools cpp build assistant (tools/ removed)" else - bun run cpp:full + npm run cpp:full fi - name: Run C++ tests - run: bun run cpp:test + run: npm run cpp:test - name: Upload build artifacts if: matrix.build_type == 'Release' @@ -196,7 +196,7 @@ jobs: run: conan profile detect --force - name: Check C++ dependencies - run: bun run cpp:check + run: npm run cpp:check - name: Full C++ build env: @@ -206,11 +206,11 @@ jobs: if [ "${{ matrix.build_type }}" = "Debug" ]; then echo "skipping dbal/shared/tools cpp build assistant (tools/ removed)" else - bun run cpp:full + npm run cpp:full fi - name: Run C++ tests - run: bun run cpp:test + run: npm run cpp:test - name: Upload build artifacts if: matrix.build_type == 'Release' @@ -247,7 +247,7 @@ jobs: run: conan profile detect --force - name: Configure project - run: bun run cpp:full + run: npm run cpp:full - name: Run cppcheck run: | @@ -280,7 +280,7 @@ jobs: cache: 'npm' - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Download Linux build uses: actions/download-artifact@v4 @@ -299,7 +299,7 @@ jobs: sleep 2 # Run TypeScript integration tests - bun run test:unit + npm run test:unit # Cleanup kill $DAEMON_PID diff --git a/.github/workflows/ci/detect-stubs.yml b/.github/workflows/ci/detect-stubs.yml index 209e03126..d50a6a95c 100644 --- a/.github/workflows/ci/detect-stubs.yml +++ b/.github/workflows/ci/detect-stubs.yml @@ -28,25 +28,25 @@ jobs: with: fetch-depth: 0 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db @@ -139,7 +139,7 @@ jobs: comment += '- [ ] Review all critical stubs before merging\n'; comment += '- [ ] Replace TODO comments with GitHub issues\n'; comment += '- [ ] Implement placeholder functions before production\n'; - comment += '- [ ] Run `bun run test:check-functions` to ensure coverage\n'; + comment += '- [ ] Run `npm run test:check-functions` to ensure coverage\n'; comment += '- [ ] Use type system to force implementation (avoid `any` types)\n\n'; // Artifacts info diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 8e54361e6..217334315 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -203,7 +203,7 @@ jobs: response += ` - Declarative over imperative\n`; response += ` - Database-driven configuration\n`; response += ` - Generic renderers vs hardcoded components\n`; - response += `4. **Test your changes:** \`bun run lint && bun run test:e2e\`\n`; + response += `4. **Test your changes:** \`npm run lint && npm run test:e2e\`\n`; response += `5. **Create a PR** - The automated workflows will review it\n\n`; } @@ -230,11 +230,11 @@ jobs: response += `### ๐Ÿงช Testing with Copilot\n\n`; response += `\`\`\`bash\n`; response += `# Run E2E tests\n`; - response += `bun run test:e2e\n\n`; + response += `npm run test:e2e\n\n`; response += `# Run with UI\n`; - response += `bun run test:e2e:ui\n\n`; + response += `npm run test:e2e:ui\n\n`; response += `# Run linter\n`; - response += `bun run lint\n`; + response += `npm run lint\n`; response += `\`\`\`\n\n`; response += `Use Copilot in your IDE to:\n`; response += `- Generate test cases based on user stories\n`; diff --git a/.github/workflows/gated-ci-atomic.yml b/.github/workflows/gated-ci-atomic.yml index f529d9cc2..1a3a40476 100644 --- a/.github/workflows/gated-ci-atomic.yml +++ b/.github/workflows/gated-ci-atomic.yml @@ -62,21 +62,21 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Validate Prisma Schema - run: bunx prisma validate --schema=../../prisma/schema.prisma + run: npx prisma validate --schema=../../prisma/schema.prisma env: DATABASE_URL: file:./dev.db @@ -106,21 +106,21 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run TypeScript type check - run: bun run typecheck + run: npm run typecheck - name: Run atomic TypeScript strict checker run: | @@ -155,21 +155,21 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run ESLint - run: bun run lint + run: npm run lint - name: Run atomic lint tools run: | @@ -209,13 +209,13 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Run atomic security scanner run: | @@ -226,7 +226,7 @@ jobs: - name: Run dependency audit run: | - bun audit --json > ../../gate-artifacts/gate-1/audit-results.json 2>&1 || true + npm audit --json > ../../gate-artifacts/gate-1/audit-results.json 2>&1 || true echo "Security audit completed" continue-on-error: true @@ -262,13 +262,13 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Run atomic file size checker run: | @@ -303,13 +303,13 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Run atomic code complexity checker run: | @@ -344,13 +344,13 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Run atomic stub detector run: | @@ -456,21 +456,21 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run unit tests - run: bun run test:unit + run: npm run test:unit env: DATABASE_URL: file:./dev.db @@ -521,24 +521,24 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Install Playwright Browsers - run: bunx playwright install --with-deps chromium + run: npx playwright install --with-deps chromium - name: Run Playwright tests - run: bun run test:e2e + run: npm run test:e2e env: DATABASE_URL: file:./dev.db @@ -576,24 +576,24 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Install Playwright Browsers - run: bunx playwright install --with-deps chromium + run: npx playwright install --with-deps chromium - name: Run DBAL daemon suite - run: bun run test:e2e:dbal-daemon + run: npm run test:e2e:dbal-daemon env: DATABASE_URL: file:./dev.db @@ -698,22 +698,22 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Build id: build-step - run: bun run build + run: npm run build env: DATABASE_URL: file:./dev.db @@ -760,16 +760,16 @@ jobs: with: fetch-depth: 0 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db diff --git a/.github/workflows/gated-ci.yml b/.github/workflows/gated-ci.yml index 4936c697e..5f3b55140 100644 --- a/.github/workflows/gated-ci.yml +++ b/.github/workflows/gated-ci.yml @@ -52,21 +52,21 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Validate Prisma Schema - run: bunx prisma validate --schema=../../prisma/schema.prisma + run: npx prisma validate --schema=../../prisma/schema.prisma env: DATABASE_URL: file:./dev.db @@ -86,21 +86,21 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run TypeScript type check - run: bun run typecheck + run: npm run typecheck lint: name: "Gate 1.3: Lint Code" @@ -118,21 +118,21 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run ESLint - run: bun run lint + run: npm run lint security-scan: name: "Gate 1.4: Security Scan" @@ -145,22 +145,22 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Run security audit - run: bun audit --audit-level=moderate + run: npm audit --audit-level=moderate continue-on-error: true - name: Check for vulnerable dependencies run: | echo "Checking for known vulnerabilities..." - bun audit --json > audit-results.json 2>&1 || true + npm audit --json > audit-results.json 2>&1 || true if [ -f audit-results.json ]; then echo "Security audit completed" fi @@ -213,21 +213,21 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run unit tests - run: bun run test:unit + run: npm run test:unit env: DATABASE_URL: file:./dev.db @@ -255,24 +255,24 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Install Playwright Browsers - run: bunx playwright install --with-deps chromium + run: npx playwright install --with-deps chromium - name: Run Playwright tests - run: bun run test:e2e + run: npm run test:e2e env: DATABASE_URL: file:./dev.db @@ -300,24 +300,24 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Install Playwright Browsers - run: bunx playwright install --with-deps chromium + run: npx playwright install --with-deps chromium - name: Run DBAL daemon suite - run: bun run test:e2e:dbal-daemon + run: npm run test:e2e:dbal-daemon env: DATABASE_URL: file:./dev.db @@ -378,22 +378,22 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Build id: build-step - run: bun run build + run: npm run build env: DATABASE_URL: file:./dev.db @@ -423,16 +423,16 @@ jobs: with: node-version: '20' - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db diff --git a/.github/workflows/gated-deployment.yml b/.github/workflows/gated-deployment.yml index 075555829..f76ad12b7 100644 --- a/.github/workflows/gated-deployment.yml +++ b/.github/workflows/gated-deployment.yml @@ -63,21 +63,21 @@ jobs: echo "environment=staging" >> $GITHUB_OUTPUT fi - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Validate database schema - run: bunx prisma validate --schema=../../prisma/schema.prisma + run: npx prisma validate --schema=../../prisma/schema.prisma env: DATABASE_URL: file:./dev.db @@ -115,12 +115,12 @@ jobs: } - name: Security audit - run: bun audit --audit-level=moderate + run: npm audit --audit-level=moderate continue-on-error: true - name: Check package size run: | - bun run build + npm run build SIZE=$(du -sm .next/ | cut -f1) echo "Build size: ${SIZE}MB" @@ -149,21 +149,21 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: ${{ secrets.STAGING_DATABASE_URL }} - name: Build for staging - run: bun run build + run: npm run build env: DATABASE_URL: ${{ secrets.STAGING_DATABASE_URL }} NEXT_PUBLIC_ENV: staging @@ -285,21 +285,21 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: latest + node-version: 20 - name: Install dependencies - run: bun install + run: npm install - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: ${{ secrets.PRODUCTION_DATABASE_URL }} - name: Build for production - run: bun run build + run: npm run build env: DATABASE_URL: ${{ secrets.PRODUCTION_DATABASE_URL }} NEXT_PUBLIC_ENV: production @@ -317,7 +317,7 @@ jobs: run: | echo "๐Ÿ—„๏ธ Running database migrations..." echo "Note: Implement actual migration commands" - echo "bunx prisma migrate deploy" + echo "npx prisma migrate deploy" env: DATABASE_URL: ${{ secrets.PRODUCTION_DATABASE_URL }} diff --git a/.github/workflows/pr/code-review.yml b/.github/workflows/pr/code-review.yml index dd95bf584..ef47f8f14 100644 --- a/.github/workflows/pr/code-review.yml +++ b/.github/workflows/pr/code-review.yml @@ -22,32 +22,32 @@ jobs: with: fetch-depth: 0 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run linter for review id: lint run: | - bun run lint > lint-output.txt 2>&1 || echo "LINT_FAILED=true" >> $GITHUB_OUTPUT + npm run lint > lint-output.txt 2>&1 || echo "LINT_FAILED=true" >> $GITHUB_OUTPUT cat lint-output.txt continue-on-error: true diff --git a/.github/workflows/quality/planning.yml b/.github/workflows/quality/planning.yml index d9d84a4e4..4fddbbf67 100644 --- a/.github/workflows/quality/planning.yml +++ b/.github/workflows/quality/planning.yml @@ -170,7 +170,7 @@ jobs: comment += `2. **Database Phase**\n`; comment += ` - [ ] Update \`prisma/schema.prisma\`\n`; - comment += ` - [ ] Run \`bun run db:generate\`\n`; + comment += ` - [ ] Run \`npm run db:generate\`\n`; comment += ` - [ ] Create or update seed data\n`; comment += ` - [ ] Test database operations\n\n`; @@ -182,7 +182,7 @@ jobs: comment += ` - [ ] Ensure components are <150 LOC\n\n`; comment += `4. **Testing Phase**\n`; - comment += ` - [ ] Run \`bun run lint\` and fix issues\n`; + comment += ` - [ ] Run \`npm run lint\` and fix issues\n`; comment += ` - [ ] Add E2E tests in \`e2e/\` directory\n`; comment += ` - [ ] Test at all permission levels\n`; comment += ` - [ ] Verify multi-tenant isolation\n`; diff --git a/.github/workflows/quality/quality-metrics.yml b/.github/workflows/quality/quality-metrics.yml index 39987e03a..31be11aaf 100644 --- a/.github/workflows/quality/quality-metrics.yml +++ b/.github/workflows/quality/quality-metrics.yml @@ -27,25 +27,25 @@ jobs: with: fetch-depth: 0 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db @@ -98,41 +98,41 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Run tests with coverage - run: bun run test:unit:coverage + run: npm run test:unit:coverage env: DATABASE_URL: file:./dev.db continue-on-error: true - name: Generate coverage report - run: bun run test:coverage:report + run: npm run test:coverage:report continue-on-error: true - name: Check function test coverage id: function-coverage - run: bun run test:check-functions > function-coverage.txt 2>&1 + run: npm run test:check-functions > function-coverage.txt 2>&1 continue-on-error: true - name: Extract coverage metrics @@ -168,28 +168,28 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile # Npm audit for dependencies - name: NPM Security Audit id: npm-audit run: | - bun audit --json > npm-audit.json || true + npm audit --json > npm-audit.json || true echo "skipping tools-based npm-audit parsing (tools/ removed)" continue-on-error: true @@ -239,22 +239,22 @@ jobs: with: fetch-depth: 0 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Check JSDoc coverage id: jsdoc @@ -307,30 +307,30 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db - name: Build application - run: bun run build + run: npm run build env: DATABASE_URL: file:./dev.db @@ -381,22 +381,22 @@ jobs: with: fetch-depth: 0 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Check source file sizes id: file-sizes @@ -443,22 +443,22 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Check outdated dependencies id: outdated @@ -507,25 +507,25 @@ jobs: with: fetch-depth: 0 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Generate Prisma Client - run: bun run db:generate + run: npm run db:generate env: DATABASE_URL: file:./dev.db @@ -537,7 +537,7 @@ jobs: - name: ESLint detailed report id: eslint run: | - bunx eslint . --format json > eslint-report.json || true + npx eslint . --format json > eslint-report.json || true echo "skipping tools-based ESLint parse (tools/ removed)" continue-on-error: true @@ -591,22 +591,22 @@ jobs: - name: Checkout code uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Download all reports uses: actions/download-artifact@v4 diff --git a/.github/workflows/quality/size-limits.yml b/.github/workflows/quality/size-limits.yml index 16f067ab4..990737cbc 100644 --- a/.github/workflows/quality/size-limits.yml +++ b/.github/workflows/quality/size-limits.yml @@ -21,22 +21,22 @@ jobs: steps: - uses: actions/checkout@v6 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 + - name: Setup Node + uses: actions/setup-node@v4 with: - bun-version: '1.3.4' + node-version: '20' - - name: Cache Bun dependencies + - name: Cache npm dependencies uses: actions/cache@v4 with: - key: bun-deps-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: npm-deps-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} path: | frontends/nextjs/node_modules - ~/.bun - restore-keys: bun-deps-${{ runner.os }}- + ~/.npm + restore-keys: npm-deps-${{ runner.os }}- - name: Install dependencies - run: bun install --frozen-lockfile + run: npm install --frozen-lockfile - name: Check code size limits run: echo "skipping tools-based size limits enforcement (tools/ removed)"