Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ecafa4d
Initial plan
Copilot Mar 25, 2026
a01148e
Migrate from Turborepo to Nx for build orchestration
Copilot Mar 25, 2026
891a7ad
Add .nx/workspace-data to .gitignore
Copilot Mar 25, 2026
843c736
Fix bati-compile-boilerplate to write package.json with trailing newline
Copilot Mar 25, 2026
1524c22
Fix prepublishOnly scripts to only build individual packages, not ful…
Copilot Mar 25, 2026
b5d2605
Remove turbo and nx from E2E test infrastructure; clean up stale /dis…
Copilot Mar 25, 2026
dad055d
Fix storybook E2E: run generated project in runner.temp to avoid Nx d…
Copilot Mar 25, 2026
5a0aa3a
chore
magne4000 Mar 25, 2026
27b02b8
Restore nx-based test orchestration for local e2e runs; fix Windows p…
Copilot Mar 25, 2026
5c64457
Add forceExit to vitest config to prevent hanging in aws/vercel E2E t…
Copilot Mar 25, 2026
a84d052
Fix aws/vercel E2E hanging and Windows test failure
Copilot Mar 25, 2026
dc63133
Add debug instrumentation; restore cp -s and dependsOn+caching
Copilot Mar 25, 2026
f3138c2
debug: start investigating build hang with react+vercel+hono
Copilot Mar 26, 2026
e8fc078
chore: bump vike-photon
magne4000 Mar 26, 2026
a29d054
chore: cleanup
magne4000 Mar 26, 2026
cc58d00
chore
magne4000 Mar 26, 2026
31ed236
chore
magne4000 Mar 26, 2026
af4e727
fix: windows
magne4000 Mar 26, 2026
a93ae2e
chore
magne4000 Mar 26, 2026
c7bf6f4
chore
magne4000 Mar 26, 2026
ba8713a
chore
magne4000 Mar 26, 2026
8b6b092
chore
magne4000 Mar 26, 2026
1de255d
lint
magne4000 Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,12 @@ jobs:
run: mkdir -p ${{ runner.temp }}/bati-cache

- uses: actions/cache/restore@v5
name: Setup Turborepo cache
name: Setup Nx cache
with:
path: .turbo
key: ${{ runner.os }}-${{ matrix.node }}-turbo-${{ github.sha }}
path: .nx/cache
key: ${{ runner.os }}-${{ matrix.node }}-nx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ matrix.node }}-turbo-
${{ runner.os }}-${{ matrix.node }}-nx-

- name: Install dependencies
run: pnpm install
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/reusable.init-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,6 @@ jobs:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'

- name: mkdir temp folder
run: mkdir -p ${{ runner.temp }}/bati-cache

# - name: Cache for Turbo
# uses: rharkor/caching-for-turbo@v1.8

- name: Install dependencies
run: pnpm install

Expand Down
74 changes: 35 additions & 39 deletions .github/workflows/reusable.run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@ jobs:
with:
node-version: ${{ env.NODE_VERSION }}

# - name: Cache for Turbo
# uses: rharkor/caching-for-turbo@v1.8

- uses: oven-sh/setup-bun@v2
name: Install bun
with:
Expand Down Expand Up @@ -83,76 +80,75 @@ jobs:

- name: Run Bati CLI
shell: bash
run: bun ./bati-cli/index.js --knip ${{ inputs.flags }} ${{ inputs.destination }}
# Run the CLI with the destination outside the checkout to prevent tools
# like Storybook from walking up and detecting nx.json in the repo root.
# Use $GITHUB_WORKSPACE/$RUNNER_TEMP env vars (not ${{ }} expressions) so bash
# does not interpret backslashes in Windows paths as escape sequences.
run: bun "$GITHUB_WORKSPACE/bati-cli/index.js" --knip ${{ inputs.flags }} "$RUNNER_TEMP/${{ inputs.destination }}"

- name: Link tests-utils
shell: bash
run: cp -s ../bati-tests-utils/* .
working-directory: ${{ inputs.destination }}
run: cp -s "$GITHUB_WORKSPACE/bati-tests-utils/"* .
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Link tests files
shell: bash
run: cp -s ../bati-tests-files/* .
working-directory: ${{ inputs.destination }}
run: cp -s "$GITHUB_WORKSPACE/bati-tests-files/"* .
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Prepare Bati tests
shell: bash
run:
bun ../bati-tests/prepare.js --test-files='${{ inputs.test-files }}' ${{
bun "$GITHUB_WORKSPACE/bati-tests/prepare.js" --test-files='${{ inputs.test-files }}' ${{
inputs.flags }}
working-directory: ${{ inputs.destination }}
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Install dependencies
shell: bash
run: bun install
working-directory: ${{ inputs.destination }}
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Generate types
if: contains(inputs.flags, '--cloudflare')
shell: bash
run: bun run generate-types
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Run build
shell: bash
run:
bun turbo run build --no-update-notifier --framework-inference false
--env-mode loose
working-directory: ${{ inputs.destination }}
run: bun run build
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Run tests
shell: bash
# Bun hangs on Windows
run:
${{ runner.os == 'Windows' && 'npm run test' || 'bun turbo run test --only
--no-update-notifier --framework-inference false --env-mode loose' }}
working-directory: ${{ inputs.destination }}
run: ${{ runner.os == 'Windows' && 'npm run test' || 'bun run test' }}
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Run lint:eslint
if: contains(inputs.flags, '--eslint')
shell: bash
run:
bun turbo run lint:eslint --only --no-update-notifier --framework-inference
false --env-mode loose
working-directory: ${{ inputs.destination }}
run: bun run lint:eslint
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Run lint:biome
if: contains(inputs.flags, '--biome')
shell: bash
run:
bun turbo run lint:biome --only --no-update-notifier --framework-inference
false --env-mode loose
working-directory: ${{ inputs.destination }}
run: bun run lint:biome
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Run lint:oxlint
if: contains(inputs.flags, '--oxlint')
shell: bash
run:
bun turbo run lint:oxlint --only --no-update-notifier --framework-inference
false --env-mode loose
working-directory: ${{ inputs.destination }}
run: bun run lint:oxlint
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Run typecheck
shell: bash
run:
bun turbo run typecheck --only --no-update-notifier --framework-inference
false --env-mode loose
working-directory: ${{ inputs.destination }}
run: bun run typecheck
working-directory: ${{ runner.temp }}/${{ inputs.destination }}

- name: Run knip
shell: bash
run:
bun turbo run knip --only --no-update-notifier --framework-inference false
--env-mode loose
working-directory: ${{ inputs.destination }}
run: bun run knip
working-directory: ${{ runner.temp }}/${{ inputs.destination }}
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,9 @@ dist
# IDEs
.idea/

# Turborepo
.turbo
# Nx
.nx/cache
.nx/workspace-data

# Generated GitHub Worflow action
.github/actions/bati-gen
11 changes: 7 additions & 4 deletions boilerplates/auth0/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@
"license": "MIT",
"devDependencies": {
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@types/node": "^20.19.37"
},
"dependencies": {
"@batijs/core": "workspace:*"
},
"files": [
"dist/"
]
],
"nx": {
"tags": [
"type:boilerplate"
]
}
}
9 changes: 6 additions & 3 deletions boilerplates/authjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,10 @@
"devDependencies": {
"@auth/core": "^0.41.1",
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@types/node": "^20.19.37",
"@universal-middleware/core": "^0.4.17"
},
"dependencies": {
"@batijs/core": "workspace:*"
},
"files": [
"dist/"
],
Expand All @@ -34,5 +32,10 @@
"./dist/types/server/authjs-handler.d.mts"
]
}
},
"nx": {
"tags": [
"type:boilerplate"
]
}
}
21 changes: 12 additions & 9 deletions boilerplates/aws/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"license": "MIT",
"devDependencies": {
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@types/node": "^20.19.37",
"@types/which": "^3.0.4",
"aws-cdk": "^2.1112.0",
Expand All @@ -27,24 +28,21 @@
"vitest": "^4.1.0",
"which": "^6.0.1"
},
"dependencies": {
"@batijs/core": "workspace:*"
},
"files": [
"dist/"
],
"exports": {
"./vitest.config": {
"types": "./dist/types/vitest.config.d.mts"
},
"./tests/aws_handler.spec": {
"types": "./dist/types/tests/aws_handler.spec.d.mts"
},
"./cdk/bin/infrastructure": {
"types": "./dist/types/cdk/bin/infrastructure.d.mts"
},
"./cdk/lib/vike-stack": {
"types": "./dist/types/cdk/lib/vike-stack.d.mts"
},
"./tests/aws_handler.spec": {
"types": "./dist/types/tests/aws_handler.spec.d.mts"
},
"./vitest.config": {
"types": "./dist/types/vitest.config.d.mts"
}
},
"typesVersions": {
Expand All @@ -62,5 +60,10 @@
"./dist/types/cdk/lib/vike-stack.d.mts"
]
}
},
"nx": {
"tags": [
"type:boilerplate"
]
}
}
11 changes: 7 additions & 4 deletions boilerplates/biome/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,17 @@
"license": "MIT",
"devDependencies": {
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@biomejs/biome": "2.4.8",
"@biomejs/wasm-nodejs": "^2.4.8",
"@types/node": "^20.19.37"
},
"dependencies": {
"@batijs/core": "workspace:*"
},
"files": [
"dist/"
]
],
"nx": {
"tags": [
"type:boilerplate"
]
}
}
11 changes: 7 additions & 4 deletions boilerplates/cloudflare/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,17 @@
"license": "MIT",
"devDependencies": {
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@photonjs/cloudflare": "^0.1.13",
"@types/node": "^20.19.37",
"wrangler": "^4.76.0"
},
"dependencies": {
"@batijs/core": "workspace:*"
},
"files": [
"dist/"
]
],
"nx": {
"tags": [
"type:boilerplate"
]
}
}
13 changes: 8 additions & 5 deletions boilerplates/compiled/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,19 @@
"author": "",
"license": "MIT",
"devDependencies": {
"@compiled/react": "^0.20.0",
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@types/node": "^20.19.37",
"vite": "^8.0.2",
"vite-plugin-compiled-react": "^1.3.1"
},
"dependencies": {
"@batijs/core": "workspace:*",
"@compiled/react": "^0.20.0"
},
"files": [
"dist/"
]
],
"nx": {
"tags": [
"type:boilerplate"
]
}
}
11 changes: 7 additions & 4 deletions boilerplates/d1-kysely/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@
"license": "MIT",
"devDependencies": {
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@types/node": "^20.19.37"
},
"dependencies": {
"@batijs/core": "workspace:*"
},
"files": [
"dist/"
]
],
"nx": {
"tags": [
"type:boilerplate"
]
}
}
9 changes: 6 additions & 3 deletions boilerplates/d1-sqlite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,11 @@
"license": "MIT",
"devDependencies": {
"@batijs/compile": "workspace:*",
"@batijs/core": "workspace:*",
"@types/node": "^20.19.37",
"@universal-middleware/core": "^0.4.17",
"vike": "^0.4.255"
},
"dependencies": {
"@batijs/core": "workspace:*"
},
"files": [
"dist/"
],
Expand All @@ -34,5 +32,10 @@
"./dist/types/database/d1/queries/todos.d.mts"
]
}
},
"nx": {
"tags": [
"type:boilerplate"
]
}
}
Loading