Skip to content

Commit

Permalink
feat(cli,create-mud): use forge cache (#1777)
Browse files Browse the repository at this point in the history
  • Loading branch information
holic committed Oct 16, 2023
1 parent 2020635 commit d844cd4
Show file tree
Hide file tree
Showing 11 changed files with 27 additions and 19 deletions.
8 changes: 8 additions & 0 deletions .changeset/slimy-glasses-tickle.md
@@ -0,0 +1,8 @@
---
"@latticexyz/cli": patch
"create-mud": patch
---

Sped up builds by using more of forge's cache.

Previously we'd build only what we needed because we would check in ABIs and other build artifacts into git, but that meant that we'd get a lot of forge cache misses. Now that we no longer need these files visible, we can take advantage of forge's caching and greatly speed up builds, especially incremental ones.
4 changes: 2 additions & 2 deletions e2e/packages/contracts/package.json
Expand Up @@ -5,8 +5,8 @@
"license": "MIT",
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts",
"build:abi": "forge build --skip test script",
"build:abi-ts": "mud abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "mud abi-ts",
"build:mud": "mud tablegen && mud worldgen",
"clean": "pnpm run clean:abi && pnpm run clean:mud",
"clean:abi": "forge clean",
Expand Down
4 changes: 2 additions & 2 deletions examples/minimal/packages/contracts/package.json
Expand Up @@ -5,8 +5,8 @@
"license": "MIT",
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts",
"build:abi": "forge clean && forge build --skip test script",
"build:abi-ts": "mud abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "mud abi-ts",
"build:mud": "rimraf src/codegen && mud tablegen && mud worldgen",
"deploy:local": "pnpm run build && mud deploy",
"deploy:testnet": "pnpm run build && mud deploy --profile=lattice-testnet",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/runDeploy.ts
Expand Up @@ -61,7 +61,7 @@ export async function runDeploy(opts: DeployOptions): Promise<WorldDeploy> {
if (!opts.skipBuild) {
const outPath = path.join(srcDir, config.codegenDirectory);
await tablegen(config, outPath, remappings);
await forge(["build", "--skip", "test", "script"], { profile });
await forge(["build"], { profile });
await execa("mud", ["abi-ts"], { stdio: "inherit" });
}

Expand Down
4 changes: 2 additions & 2 deletions packages/store/package.json
Expand Up @@ -35,8 +35,8 @@
},
"scripts": {
"build": "pnpm run build:tightcoder && pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts && pnpm run build:js",
"build:abi": "forge build --skip test script",
"build:abi-ts": "abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "abi-ts",
"build:js": "tsup",
"build:mud": "tsx ./ts/scripts/tablegen.ts && tsx ./ts/scripts/generate-test-tables.ts",
"build:tightcoder": "tsx ./ts/scripts/generate-tightcoder.ts",
Expand Down
4 changes: 2 additions & 2 deletions packages/world-modules/package.json
Expand Up @@ -15,8 +15,8 @@
},
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts && pnpm run build:js",
"build:abi": "forge build --skip test script",
"build:abi-ts": "abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "abi-ts",
"build:js": "tsup",
"build:mud": "tsx ./ts/scripts/tablegen.ts && tsx ./ts/scripts/worldgen.ts",
"clean": "pnpm run clean:abi && pnpm run clean:js && pnpm run clean:mud",
Expand Down
4 changes: 2 additions & 2 deletions packages/world/package.json
Expand Up @@ -31,8 +31,8 @@
},
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts && pnpm run build:js",
"build:abi": "forge build --skip test script",
"build:abi-ts": "abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "abi-ts",
"build:js": "tsup",
"build:mud": "tsx ./ts/scripts/tablegen.ts && tsx ./ts/scripts/worldgen.ts && tsx ./ts/scripts/generate-test-tables.ts",
"clean": "pnpm run clean:abi && pnpm run clean:js && pnpm run clean:mud",
Expand Down
4 changes: 2 additions & 2 deletions templates/phaser/packages/contracts/package.json
Expand Up @@ -5,8 +5,8 @@
"license": "MIT",
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts",
"build:abi": "forge clean && forge build --skip test script",
"build:abi-ts": "mud abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "mud abi-ts",
"build:mud": "rimraf src/codegen && mud tablegen && mud worldgen",
"deploy:local": "pnpm run build && mud deploy",
"deploy:testnet": "pnpm run build && mud deploy --profile=lattice-testnet",
Expand Down
4 changes: 2 additions & 2 deletions templates/react/packages/contracts/package.json
Expand Up @@ -5,8 +5,8 @@
"license": "MIT",
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts",
"build:abi": "forge clean && forge build --skip test script",
"build:abi-ts": "mud abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "mud abi-ts",
"build:mud": "rimraf src/codegen && mud tablegen && mud worldgen",
"deploy:local": "pnpm run build && mud deploy",
"deploy:testnet": "pnpm run build && mud deploy --profile=lattice-testnet",
Expand Down
4 changes: 2 additions & 2 deletions templates/threejs/packages/contracts/package.json
Expand Up @@ -5,8 +5,8 @@
"license": "MIT",
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts",
"build:abi": "forge clean && forge build --skip test script",
"build:abi-ts": "mud abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "mud abi-ts",
"build:mud": "rimraf src/codegen && mud tablegen && mud worldgen",
"deploy:local": "pnpm run build && mud deploy",
"deploy:testnet": "pnpm run build && mud deploy --profile=lattice-testnet",
Expand Down
4 changes: 2 additions & 2 deletions templates/vanilla/packages/contracts/package.json
Expand Up @@ -5,8 +5,8 @@
"license": "MIT",
"scripts": {
"build": "pnpm run build:mud && pnpm run build:abi && pnpm run build:abi-ts",
"build:abi": "forge clean && forge build --skip test script",
"build:abi-ts": "mud abi-ts && prettier --write '**/*.abi.json.d.ts'",
"build:abi": "forge build",
"build:abi-ts": "mud abi-ts",
"build:mud": "rimraf src/codegen && mud tablegen && mud worldgen",
"deploy:local": "pnpm run build && mud deploy",
"deploy:testnet": "pnpm run build && mud deploy --profile=lattice-testnet",
Expand Down

0 comments on commit d844cd4

Please sign in to comment.