From 0df3f0dea10b57bdb1c5d5ad3424609996957fd2 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Fri, 31 May 2024 08:38:34 -0600
Subject: [PATCH 1/2] Add husky
---
.husky/pre-commit | 1 +
package.json | 4 +-
packages/client/tsconfig.json | 2 +-
pnpm-lock.yaml | 82 ++++++++++++++++++++---------------
4 files changed, 51 insertions(+), 38 deletions(-)
create mode 100644 .husky/pre-commit
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 000000000..98475b507
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1 @@
+pnpm test
diff --git a/package.json b/package.json
index c945581e1..3b98bc7a4 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,8 @@
"mud:up": "pnpm mud set-version --tag main && pnpm install",
"format:client": "pnpm --filter 'client' run format",
"lint:client": "pnpm --filter 'client' run lint",
- "test": "pnpm recursive run test"
+ "test": "pnpm --filter client run lint",
+ "prepare": "husky"
},
"devDependencies": {
"@latticexyz/cli": "2.0.11",
@@ -19,6 +20,7 @@
"@typescript-eslint/eslint-plugin": "7.1.1",
"@typescript-eslint/parser": "7.1.1",
"eslint": "8.57.0",
+ "husky": "^9.0.11",
"mprocs": "^0.6.4",
"rimraf": "^3.0.2",
"typescript": "5.3.3"
diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json
index 124909801..750bdc2cf 100644
--- a/packages/client/tsconfig.json
+++ b/packages/client/tsconfig.json
@@ -16,5 +16,5 @@
"jsxImportSource": "react"
},
"include": ["src"],
- "exclude": ["node_modules"]
+ "exclude": ["node_modules", "dist"]
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1b22e19d8..17f304166 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -23,6 +23,9 @@ importers:
eslint:
specifier: 8.57.0
version: 8.57.0
+ husky:
+ specifier: ^9.0.11
+ version: 9.0.11
mprocs:
specifier: ^0.6.4
version: 0.6.4
@@ -773,7 +776,7 @@ packages:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-compilation-targets': 7.24.6
'@babel/helper-plugin-utils': 7.24.6
debug: 4.3.4
lodash.debounce: 4.0.8
@@ -1071,8 +1074,8 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-environment-visitor': 7.24.6
+ '@babel/helper-plugin-utils': 7.24.6
'@babel/helper-remap-async-to-generator': 7.24.6(@babel/[email protected])
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected])
dev: false
@@ -1086,7 +1089,7 @@ packages:
dependencies:
'@babel/core': 7.24.5
'@babel/helper-create-class-features-plugin': 7.24.6(@babel/[email protected])
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1108,7 +1111,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected])
dev: false
@@ -1120,7 +1123,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected])
dev: false
@@ -1132,7 +1135,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected])
dev: false
@@ -1143,10 +1146,10 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.24.4
+ '@babel/compat-data': 7.24.6
'@babel/core': 7.24.5
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-compilation-targets': 7.24.6
+ '@babel/helper-plugin-utils': 7.24.6
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected])
'@babel/plugin-transform-parameters': 7.24.6(@babel/[email protected])
dev: false
@@ -1159,7 +1162,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected])
dev: false
@@ -1171,7 +1174,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
'@babel/helper-skip-transparent-expression-wrappers': 7.24.6
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected])
dev: false
@@ -1191,7 +1194,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1219,7 +1222,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1305,7 +1308,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1314,7 +1317,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1323,7 +1326,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1332,7 +1335,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1341,7 +1344,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -1350,7 +1353,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.6
dev: false
/@babel/[email protected](@babel/[email protected]):
@@ -2119,7 +2122,7 @@ packages:
dependencies:
'@babel/core': 7.24.5
'@babel/helper-plugin-utils': 7.24.6
- '@babel/types': 7.24.5
+ '@babel/types': 7.24.6
esutils: 2.0.3
dev: false
@@ -5518,7 +5521,7 @@ packages:
'@babel/plugin-transform-sticky-regex': 7.24.6(@babel/[email protected])
'@babel/plugin-transform-typescript': 7.24.6(@babel/[email protected])
'@babel/plugin-transform-unicode-regex': 7.24.6(@babel/[email protected])
- '@babel/template': 7.24.0
+ '@babel/template': 7.24.6
'@react-native/babel-plugin-codegen': 0.74.83(@babel/[email protected])
babel-plugin-transform-flow-enums: 0.0.2(@babel/[email protected])
react-refresh: 0.14.2
@@ -5533,7 +5536,7 @@ packages:
peerDependencies:
'@babel/preset-env': ^7.1.6
dependencies:
- '@babel/parser': 7.24.5
+ '@babel/parser': 7.24.6
'@babel/preset-env': 7.24.6(@babel/[email protected])
glob: 7.2.3
hermes-parser: 0.19.1
@@ -7349,7 +7352,7 @@ packages:
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
- '@babel/compat-data': 7.24.4
+ '@babel/compat-data': 7.24.6
'@babel/core': 7.24.5
'@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected])
semver: 6.3.1
@@ -9396,6 +9399,12 @@ packages:
engines: {node: '>=16.17.0'}
dev: false
+ /[email protected]:
+ resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==}
+ engines: {node: '>=18'}
+ hasBin: true
+ dev: true
+
/[email protected]:
resolution: {integrity: sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==}
dependencies:
@@ -9810,7 +9819,7 @@ packages:
resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/code-frame': 7.24.2
+ '@babel/code-frame': 7.24.6
'@jest/types': 29.6.3
'@types/stack-utils': 2.0.3
chalk: 4.1.2
@@ -9915,7 +9924,7 @@ packages:
'@babel/preset-env': ^7.1.6
dependencies:
'@babel/core': 7.24.5
- '@babel/parser': 7.24.5
+ '@babel/parser': 7.24.6
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/[email protected])
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/[email protected])
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/[email protected])
@@ -10352,7 +10361,7 @@ packages:
engines: {node: '>=18'}
dependencies:
'@babel/traverse': 7.24.5
- '@babel/types': 7.24.5
+ '@babel/types': 7.24.6
invariant: 2.2.4
metro-symbolicate: 0.80.9
nullthrows: 1.1.1
@@ -10384,7 +10393,7 @@ packages:
dependencies:
'@babel/core': 7.24.5
'@babel/generator': 7.24.5
- '@babel/template': 7.24.0
+ '@babel/template': 7.24.6
'@babel/traverse': 7.24.5
nullthrows: 1.1.1
transitivePeerDependencies:
@@ -10397,8 +10406,8 @@ packages:
dependencies:
'@babel/core': 7.24.5
'@babel/generator': 7.24.5
- '@babel/parser': 7.24.5
- '@babel/types': 7.24.5
+ '@babel/parser': 7.24.6
+ '@babel/types': 7.24.6
metro: 0.80.9
metro-babel-transformer: 0.80.9
metro-cache: 0.80.9
@@ -10419,13 +10428,13 @@ packages:
engines: {node: '>=18'}
hasBin: true
dependencies:
- '@babel/code-frame': 7.24.2
+ '@babel/code-frame': 7.24.6
'@babel/core': 7.24.5
'@babel/generator': 7.24.5
- '@babel/parser': 7.24.5
- '@babel/template': 7.24.0
+ '@babel/parser': 7.24.6
+ '@babel/template': 7.24.6
'@babel/traverse': 7.24.5
- '@babel/types': 7.24.5
+ '@babel/types': 7.24.6
accepts: 1.3.8
chalk: 4.1.2
ci-info: 2.0.0
@@ -11356,7 +11365,7 @@ packages:
resolution: {integrity: sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==}
dependencies:
shell-quote: 1.8.1
- ws: 7.4.6
+ ws: 7.5.9
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -11586,7 +11595,7 @@ packages:
dependencies:
object-assign: 4.1.1
react: 18.3.1
- react-is: 16.13.1
+ react-is: 18.3.1
dev: false
/[email protected](@types/[email protected])([email protected]):
@@ -11785,6 +11794,7 @@ packages:
/[email protected]:
resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
dependencies:
glob: 7.2.3
From 0c70b723b1a82c7b9c4d89aa6a02932f11d4e4f5 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Fri, 31 May 2024 08:44:13 -0600
Subject: [PATCH 2/2] Add foundryup to prepare script
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 3b98bc7a4..b6ba7787d 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"format:client": "pnpm --filter 'client' run format",
"lint:client": "pnpm --filter 'client' run lint",
"test": "pnpm --filter client run lint",
- "prepare": "husky"
+ "prepare": "(forge --version || pnpm foundry:up) && husky"
},
"devDependencies": {
"@latticexyz/cli": "2.0.11",