Skip to content

Commit f9c0899

Browse files
authored
Merge pull request #54 from Genyus/swarm-wasp-3.x
Update Swarm for compatibility with Wasp 0.24
2 parents ab56ece + 733dacb commit f9c0899

131 files changed

Lines changed: 2876 additions & 5739 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
"@ingenyus/swarm-wasp": major
3+
---
4+
5+
- feat!: initialise Wasp 0.24 compatibility ([b3e8bb9](https://github.com/Genyus/swarm/commit/b3e8bb9b3bd9cd34f2ff3629246953524632735f))
6+
- feat!: implement core Wasp 0.24 updates ([2f3b5f2](https://github.com/Genyus/swarm/commit/2f3b5f2132805488629b9a1eb225e224920bbbad))
7+
- feat!: update templates and generators ([53daa42](https://github.com/Genyus/swarm/commit/53daa420ac894b6911e14144ff8b9dd8fa83f3d5))
8+
- feat!: update project scaffolding ([dfbf304](https://github.com/Genyus/swarm/commit/dfbf304f803d227eec2e13795c62bfc8992e9427))
9+
10+
<!-- Authors: Genyus<genyus@gmail.com> -->

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,29 @@ jobs:
2323

2424
strategy:
2525
matrix:
26-
node-version: [20, 22, 24]
26+
node-version: [22, 24, 26]
2727

2828
steps:
2929
- name: Checkout code
30-
uses: actions/checkout@v4
30+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
3131
with:
3232
fetch-depth: 0
3333

3434
- name: Setup Node.js
35-
uses: actions/setup-node@v4
35+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
3636
with:
3737
node-version: ${{ matrix.node-version }}
3838

3939
- name: Setup pnpm
40-
uses: pnpm/action-setup@v4
40+
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
4141

4242
- name: Get pnpm store directory
4343
shell: bash
4444
run: |
4545
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
4646
4747
- name: Setup pnpm cache
48-
uses: actions/cache@v4
48+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
4949
with:
5050
path: ${{ env.STORE_PATH }}
5151
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
@@ -84,18 +84,18 @@ jobs:
8484

8585
steps:
8686
- name: Checkout code
87-
uses: actions/checkout@v4
87+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
8888
with:
8989
fetch-depth: 0
9090
token: ${{ secrets.PAT_TOKEN }}
9191

9292
- name: Setup Node.js
93-
uses: actions/setup-node@v4
93+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
9494
with:
9595
node-version: 20
9696

9797
- name: Setup pnpm
98-
uses: pnpm/action-setup@v4
98+
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
9999

100100
- name: Install dependencies
101101
run: pnpm install --frozen-lockfile

.prettierrc.json

Lines changed: 0 additions & 10 deletions
This file was deleted.

AGENTS.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ Swarm is a set of code generation tools for rapid Typescript application develop
2121
### Key Scripts
2222
- `pnpm build` - Build all packages
2323
- `pnpm dev` - Watch mode for development
24-
- `pnpm lint` - Run ESLint
25-
- `pnpm lint:fix` - Fix linting issues automatically
24+
- `pnpm lint` - Run Biome lint + format checks
25+
- `pnpm lint:fix` - Fix linting/formatting issues automatically
2626
- `pnpm typecheck` - Run TypeScript type checking
27-
- `pnpm format` - Apply Prettier formatting
28-
- `pnpm format:check` - Check Prettier formatting
27+
- `pnpm format` - Apply Biome formatting
28+
- `pnpm format:check` - Check Biome formatting
2929

3030
## Testing
3131

@@ -81,7 +81,7 @@ Swarm is a set of code generation tools for rapid Typescript application develop
8181

8282
### Key Dependencies
8383
- **Vite** - Build tool and dev server
84-
- **ESLint** - Linting
84+
- **Biome** - Linting and formatting
8585
- **TypeScript** - Type checking
8686

8787
### Development Tools

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Thank you for your interest in contributing to Swarm! This document outlines bes
1414
---
1515

1616
## Code Style
17-
- Use [Prettier](https://prettier.io/) and [ESLint](https://eslint.org/) for formatting and linting.
17+
- Use [Biome](https://biomejs.dev/) for formatting and linting.
1818
- Prefer single responsibility per file/module.
1919
- Use descriptive variable and function names.
2020
- Write JSDoc comments for all exported functions and types.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ To integrate Swarm components into your own projects or to extend the framework,
5555
## Scripts & Tooling
5656

5757
- **Monorepo management:** [pnpm](https://pnpm.io/) (`pnpm-workspace.yaml`)
58-
- **Code style and linting:** [ESLint](https://eslint.org), [Prettier](https://prettier.io), [EditorConfig](https://editorconfig.org)
58+
- **Code style and linting:** [Biome](https://biomejs.dev), [EditorConfig](https://editorconfig.org)
5959
- **Schema management:** [Zod](https://zod.dev)
6060
- **Testing:** [Vitest](https://vitest.dev)
6161
- **CI/CD:** [GitHub Actions](https://docs.github.com/en/actions)

biome.json

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/2.5.3/schema.json",
3+
"vcs": {
4+
"enabled": true,
5+
"clientKind": "git",
6+
"useIgnoreFile": true
7+
},
8+
"files": {
9+
"ignoreUnknown": false,
10+
"includes": [
11+
"packages/**",
12+
"!**/dist",
13+
"!**/coverage",
14+
"!**/src/templates",
15+
"!**/tests/output",
16+
"!**/tests/mcp/output",
17+
"!**/*.d.ts"
18+
]
19+
},
20+
"formatter": {
21+
"enabled": true,
22+
"indentStyle": "space",
23+
"indentWidth": 2,
24+
"lineWidth": 80,
25+
"lineEnding": "lf"
26+
},
27+
"linter": {
28+
"enabled": true,
29+
"rules": {
30+
"preset": "recommended",
31+
"correctness": {
32+
"noUnusedVariables": "error"
33+
},
34+
"style": {
35+
"useConst": "error",
36+
"noNonNullAssertion": "warn"
37+
},
38+
"suspicious": {
39+
"noExplicitAny": "warn"
40+
}
41+
}
42+
},
43+
"javascript": {
44+
"formatter": {
45+
"quoteStyle": "single",
46+
"semicolons": "always",
47+
"trailingCommas": "es5",
48+
"arrowParentheses": "always"
49+
}
50+
},
51+
"assist": {
52+
"enabled": true,
53+
"actions": {
54+
"source": {
55+
"organizeImports": "on"
56+
}
57+
}
58+
},
59+
"overrides": [
60+
{
61+
"includes": ["**/*.test.ts", "**/tests/**"],
62+
"linter": {
63+
"rules": {
64+
"complexity": {
65+
"useLiteralKeys": "off"
66+
},
67+
"style": {
68+
"noNonNullAssertion": "off"
69+
},
70+
"suspicious": {
71+
"noExplicitAny": "off"
72+
}
73+
}
74+
}
75+
}
76+
]
77+
}

eslint.config.js

Lines changed: 0 additions & 70 deletions
This file was deleted.

knip.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"ignore": [
33
".changeset/**/*",
4-
".github/changeset-version.js",
54
"apps/swarm-wasp-starter/**/*",
6-
"packages/swarm/src/mcp/cli/**/index.ts"
5+
"packages/swarm/src/mcp/cli/**/index.ts",
6+
"packages/swarm-wasp/src/wasp-config/stubs/**/index.ts"
77
],
8-
"ignoreDependencies": ["@commander-js/extra-typings", "wasp-config"]
8+
"ignoreBinaries": ["wasp"],
9+
"ignoreDependencies": ["@commander-js/extra-typings", "@wasp.sh/spec"]
910
}

package.json

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"scripts": {
66
"build": "pnpm -r run build",
77
"test": "pnpm -r run test",
8-
"lint": "pnpm -r run lint",
9-
"lint:fix": "pnpm -r run lint:fix",
10-
"format": "pnpm -r run format",
11-
"format:check": "pnpm -r run format:check",
8+
"lint": "biome check .",
9+
"lint:fix": "biome check --write .",
10+
"format": "biome format --write .",
11+
"format:check": "biome format .",
1212
"typecheck": "pnpm -r run typecheck",
1313
"changeset": "changeset",
1414
"changeset:auto": "node .changeset/autogenerate.js",
@@ -38,16 +38,11 @@
3838
"pnpm": ">=10.0.0"
3939
},
4040
"devDependencies": {
41-
"@changesets/cli": "^2.29.7",
42-
"@eslint/js": "^9.39.1",
43-
"@types/node": "^24.10.1",
44-
"@typescript-eslint/eslint-plugin": "^8.46.4",
45-
"@typescript-eslint/parser": "^8.46.4",
46-
"eslint": "^9.39.1",
47-
"eslint-config-prettier": "^10.1.8",
48-
"knip": "^5.69.1",
49-
"prettier": "^3.6.2",
50-
"typescript": "^5.9.3"
41+
"@biomejs/biome": "2.5.3",
42+
"@changesets/cli": "^2.31.0",
43+
"@types/node": "^26.1.1",
44+
"knip": "^6.26.0",
45+
"typescript": "^7.0.2"
5146
},
5247
"packageManager": "pnpm@10.20.0"
5348
}

0 commit comments

Comments
 (0)