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",