Skip to content

Commit 70b2eb2

Browse files
committed
Introduce moonrepo
1 parent f7e14bc commit 70b2eb2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+1410
-731
lines changed

.devcontainer/bin/postCreateCommand.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ cat << 'EOF' >> ~/.bashrc
1818
eval "$(mise activate bash)"
1919
EOF
2020

21-
mise run install
21+
pnpm install

.github/actions/determine-version/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,4 @@ runs:
5959
6060
- name: Sync versions across packages
6161
shell: bash
62-
run: mise run check-versions --fix
62+
run: moon run root:check.versions --fix

.github/actions/setup-mise/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ runs:
77
- uses: jdx/mise-action@v2
88
with:
99
version: 2025.12.12
10-
- run: mise run install
10+
- run: pnpm install
1111
shell: bash

.github/workflows/main.yaml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
- uses: ./.github/actions/setup-mise
6666
- name: Enable RabbitMQ consistent hash exchange plugin
6767
run: docker exec ${{ job.services.rabbitmq.id }} rabbitmq-plugins enable rabbitmq_consistent_hash_exchange
68-
- run: mise run --skip-deps test:deno -- --coverage=.cov --junit-path=.test-report.xml
68+
- run: mise run test:deno -- --coverage=.cov --junit-path=.test-report.xml
6969
env:
7070
RUST_BACKTRACE: ${{ runner.debug }}
7171
LOG: ${{ runner.debug && 'always' || '' }}
@@ -136,7 +136,7 @@ jobs:
136136
- uses: ./.github/actions/setup-mise
137137
- name: Enable RabbitMQ consistent hash exchange plugin
138138
run: docker exec ${{ job.services.rabbitmq.id }} rabbitmq-plugins enable rabbitmq_consistent_hash_exchange
139-
- run: mise run --skip-deps test:node
139+
- run: moon run :test.node
140140
env:
141141
AMQP_ORDERING_TEST: "true"
142142

@@ -186,7 +186,7 @@ jobs:
186186
- uses: ./.github/actions/setup-mise
187187
- name: Enable RabbitMQ consistent hash exchange plugin
188188
run: docker exec ${{ job.services.rabbitmq.id }} rabbitmq-plugins enable rabbitmq_consistent_hash_exchange
189-
- run: mise run --skip-deps test:bun
189+
- run: moon run :test.bun
190190
env:
191191
AMQP_ORDERING_TEST: "true"
192192

@@ -195,8 +195,7 @@ jobs:
195195
steps:
196196
- uses: actions/checkout@v4
197197
- uses: ./.github/actions/setup-mise
198-
- run: deno task test:cfworkers
199-
working-directory: ${{ github.workspace }}/packages/fedify/
198+
- run: moon run fedify:test.cfworkers
200199

201200
lint:
202201
runs-on: ubuntu-latest
@@ -247,8 +246,7 @@ jobs:
247246
steps:
248247
- uses: actions/checkout@v4
249248
- uses: ./.github/actions/setup-mise
250-
- run: pnpm run build
251-
working-directory: ${{ github.workspace }}/docs/
249+
- run: moon run docs:build
252250
- uses: actions/upload-artifact@v4
253251
with:
254252
name: docs-pr-${{ github.event.pull_request.number }}
@@ -454,20 +452,19 @@ jobs:
454452
EXTRA_NAV_LINK="$UNSTABLE_DOCS_URL" \
455453
SITEMAP_HOSTNAME="$STABLE_DOCS_URL" \
456454
JSR_REF_VERSION=stable \
457-
pnpm run build
455+
moon run docs:build
458456
else
459457
EXTRA_NAV_TEXT=Stable \
460458
EXTRA_NAV_LINK="$STABLE_DOCS_URL" \
461459
SITEMAP_HOSTNAME="$UNSTABLE_DOCS_URL" \
462460
JSR_REF_VERSION=unstable \
463-
pnpm run build
461+
moon run docs:build
464462
fi
465463
env:
466464
SHORT_VERSION: ${{ needs.determine-version.outputs.short_version }}
467465
PLAUSIBLE_DOMAIN: ${{ secrets.PLAUSIBLE_DOMAIN }}
468466
STABLE_DOCS_URL: ${{ vars.STABLE_DOCS_URL }}
469467
UNSTABLE_DOCS_URL: ${{ vars.UNSTABLE_DOCS_URL }}
470-
working-directory: ${{ github.workspace }}/docs/
471468
- uses: actions/upload-pages-artifact@v3
472469
with:
473470
path: docs/.vitepress/dist

.github/workflows/publish-pr.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,12 +277,11 @@ jobs:
277277
EXTRA_NAV_LINK="$STABLE_DOCS_URL" \
278278
SITEMAP_HOSTNAME="$UNSTABLE_DOCS_URL" \
279279
JSR_REF_VERSION=unstable \
280-
pnpm run build
280+
moon run docs:build
281281
env:
282282
PLAUSIBLE_DOMAIN: ${{ secrets.PLAUSIBLE_DOMAIN }}
283283
STABLE_DOCS_URL: ${{ vars.STABLE_DOCS_URL }}
284284
UNSTABLE_DOCS_URL: ${{ vars.UNSTABLE_DOCS_URL }}
285-
working-directory: ${{ github.workspace }}/docs/
286285
- id: wrangler
287286
uses: cloudflare/wrangler-action@v3
288287
with:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ repomix-output.xml
99
t.ts
1010
t2.ts
1111
plan.md
12+
.moon/cache/

.moon/tasks/tag-tsdown-build.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
inheritedBy:
2+
tags:
3+
or:
4+
- "tsdown-build"
5+
6+
tasks:
7+
build:
8+
script: "pnpm exec tsdown"
9+
deps:
10+
- "^:build"
11+
toolchains:
12+
- "node"
13+
inputs:
14+
- "src/**/*"
15+
- "tsdown.config.ts"
16+
- "file://tsconfig.json?optional"
17+
- "/mise.toml"
18+
outputs:
19+
- "dist/"
20+
options:
21+
cache: true

.moon/toolchains.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
javascript:
2+
packageManager: "pnpm"
3+
deno: {}
4+
node: {}
5+
bun: {}
6+
pnpm: {}

.moon/workspace.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
projects:
2+
- "packages/*"
3+
- "docs"
4+
- "."
5+
6+
vcs:
7+
client: "git"
8+
defaultBranch: "main"
9+
10+
pipeline:
11+
cacheLifetime: "7 days"

AGENTS.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,18 @@ integration, database adapters, and CLI toolchain.
4141
Development environment
4242
-----------------------
4343

44-
- Task runner: [mise] (required)
44+
- Tool version manager: [mise] (required — manages Deno, Node.js, Bun, pnpm)
45+
- Task orchestrator: [moon] (build caching, impact analysis)
4546
- Primary environment: [Deno]
4647
- Additional test environments: [Node.js] and [Bun]
4748
- Recommended editor: [Visual Studio Code] with [Deno extension]
48-
- **CRITICAL**: Run `mise run install` (or `pnpm install`) after checkout.
49+
- **CRITICAL**: Run `pnpm install` after checkout.
4950
This automatically runs code generation and builds all packages.
5051
- Lockfiles: Both *deno.lock* and *pnpm-lock.yaml* are committed.
5152
Update them when changing dependencies.
5253

5354
[mise]: https://mise.jdx.dev/
55+
[moon]: https://moonrepo.dev/
5456
[Deno]: https://deno.com/
5557
[Node.js]: https://nodejs.org/
5658
[Bun]: https://bun.sh/
@@ -118,11 +120,11 @@ Code patterns and principles
118120
Development workflow
119121
--------------------
120122

121-
- **Code Generation**: Run `mise run codegen` whenever vocabulary YAML files
122-
or code generation scripts change.
123+
- **Code Generation**: Run `mise run codegen` whenever vocabulary YAML
124+
files or code generation scripts change.
123125
- **Building Packages**: After installation, all packages are automatically
124-
built. To rebuild a specific package and its dependencies, run `pnpm build`
125-
in that package's directory.
126+
built. To rebuild a specific package and its dependencies, run
127+
`moon run <package>:build`.
126128
- **Checking Code**: Run `mise run check` before committing.
127129
- **Running Tests**: Use `mise run test:deno` for Deno tests or
128130
`mise run test` for all environments.

0 commit comments

Comments
 (0)