dvijaykrishnan commited on
Commit
9081134
·
1 Parent(s): d7f363f

chore(devex): configure husky and lint-staged for pre-commit linting

Browse files
Files changed (3) hide show
  1. .husky/pre-commit +1 -0
  2. package-lock.json +564 -0
  3. package.json +10 -2
.husky/pre-commit ADDED
@@ -0,0 +1 @@
 
 
1
+ npx lint-staged
package-lock.json CHANGED
@@ -69,8 +69,10 @@
69
  "drizzle-kit": "^0.31.8",
70
  "eslint": "^9",
71
  "eslint-config-next": "15.5.12",
 
72
  "inngest-cli": "^1.16.1",
73
  "jsdom": "^27.4.0",
 
74
  "tailwindcss": "^4",
75
  "typescript": "^5",
76
  "vitest": "^4.0.18"
@@ -9574,6 +9576,115 @@
9574
  "node": ">=4"
9575
  }
9576
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9577
  "node_modules/cli-width": {
9578
  "version": "2.2.1",
9579
  "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
@@ -9691,6 +9802,13 @@
9691
  "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9692
  "license": "MIT"
9693
  },
 
 
 
 
 
 
 
9694
  "node_modules/combined-stream": {
9695
  "version": "1.0.8",
9696
  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -10426,6 +10544,19 @@
10426
  "node": ">=6"
10427
  }
10428
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
10429
  "node_modules/es-abstract": {
10430
  "version": "1.24.1",
10431
  "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz",
@@ -11656,6 +11787,13 @@
11656
  "node": ">=0.10.0"
11657
  }
11658
  },
 
 
 
 
 
 
 
11659
  "node_modules/events": {
11660
  "version": "3.3.0",
11661
  "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
@@ -12235,6 +12373,19 @@
12235
  "node": "6.* || 8.* || >= 10.*"
12236
  }
12237
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
12238
  "node_modules/get-intrinsic": {
12239
  "version": "1.3.0",
12240
  "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
@@ -12684,6 +12835,22 @@
12684
  "node": ">= 6"
12685
  }
12686
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12687
  "node_modules/iceberg-js": {
12688
  "version": "0.8.1",
12689
  "resolved": "https://registry.npmjs.org/iceberg-js/-/iceberg-js-0.8.1.tgz",
@@ -14205,6 +14372,144 @@
14205
  "node": ">=10"
14206
  }
14207
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14208
  "node_modules/loader-runner": {
14209
  "version": "4.3.1",
14210
  "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
@@ -14253,6 +14558,209 @@
14253
  "dev": true,
14254
  "license": "MIT"
14255
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14256
  "node_modules/long": {
14257
  "version": "5.3.2",
14258
  "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
@@ -14426,6 +14934,19 @@
14426
  "node": ">=4"
14427
  }
14428
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
14429
  "node_modules/mimic-response": {
14430
  "version": "3.1.0",
14431
  "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
@@ -14525,6 +15046,19 @@
14525
  "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==",
14526
  "license": "ISC"
14527
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
14528
  "node_modules/nanoid": {
14529
  "version": "3.3.11",
14530
  "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
@@ -15295,6 +15829,19 @@
15295
  "url": "https://github.com/sponsors/jonschlinkert"
15296
  }
15297
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
15298
  "node_modules/pkg-types": {
15299
  "version": "2.3.0",
15300
  "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
@@ -15954,6 +16501,13 @@
15954
  "node": ">=0.10.0"
15955
  }
15956
  },
 
 
 
 
 
 
 
15957
  "node_modules/rimraf": {
15958
  "version": "5.0.10",
15959
  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
@@ -16696,6 +17250,16 @@
16696
  "safe-buffer": "~5.2.0"
16697
  }
16698
  },
 
 
 
 
 
 
 
 
 
 
16699
  "node_modules/string-width": {
16700
  "version": "5.1.2",
16701
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
 
69
  "drizzle-kit": "^0.31.8",
70
  "eslint": "^9",
71
  "eslint-config-next": "15.5.12",
72
+ "husky": "^9.1.7",
73
  "inngest-cli": "^1.16.1",
74
  "jsdom": "^27.4.0",
75
+ "lint-staged": "^16.2.7",
76
  "tailwindcss": "^4",
77
  "typescript": "^5",
78
  "vitest": "^4.0.18"
 
9576
  "node": ">=4"
9577
  }
9578
  },
9579
+ "node_modules/cli-truncate": {
9580
+ "version": "5.1.1",
9581
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
9582
+ "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
9583
+ "dev": true,
9584
+ "license": "MIT",
9585
+ "dependencies": {
9586
+ "slice-ansi": "^7.1.0",
9587
+ "string-width": "^8.0.0"
9588
+ },
9589
+ "engines": {
9590
+ "node": ">=20"
9591
+ },
9592
+ "funding": {
9593
+ "url": "https://github.com/sponsors/sindresorhus"
9594
+ }
9595
+ },
9596
+ "node_modules/cli-truncate/node_modules/ansi-regex": {
9597
+ "version": "6.2.2",
9598
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
9599
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
9600
+ "dev": true,
9601
+ "license": "MIT",
9602
+ "engines": {
9603
+ "node": ">=12"
9604
+ },
9605
+ "funding": {
9606
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
9607
+ }
9608
+ },
9609
+ "node_modules/cli-truncate/node_modules/ansi-styles": {
9610
+ "version": "6.2.3",
9611
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
9612
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
9613
+ "dev": true,
9614
+ "license": "MIT",
9615
+ "engines": {
9616
+ "node": ">=12"
9617
+ },
9618
+ "funding": {
9619
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
9620
+ }
9621
+ },
9622
+ "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": {
9623
+ "version": "5.1.0",
9624
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
9625
+ "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
9626
+ "dev": true,
9627
+ "license": "MIT",
9628
+ "dependencies": {
9629
+ "get-east-asian-width": "^1.3.1"
9630
+ },
9631
+ "engines": {
9632
+ "node": ">=18"
9633
+ },
9634
+ "funding": {
9635
+ "url": "https://github.com/sponsors/sindresorhus"
9636
+ }
9637
+ },
9638
+ "node_modules/cli-truncate/node_modules/slice-ansi": {
9639
+ "version": "7.1.2",
9640
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
9641
+ "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
9642
+ "dev": true,
9643
+ "license": "MIT",
9644
+ "dependencies": {
9645
+ "ansi-styles": "^6.2.1",
9646
+ "is-fullwidth-code-point": "^5.0.0"
9647
+ },
9648
+ "engines": {
9649
+ "node": ">=18"
9650
+ },
9651
+ "funding": {
9652
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
9653
+ }
9654
+ },
9655
+ "node_modules/cli-truncate/node_modules/string-width": {
9656
+ "version": "8.1.1",
9657
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.1.tgz",
9658
+ "integrity": "sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==",
9659
+ "dev": true,
9660
+ "license": "MIT",
9661
+ "dependencies": {
9662
+ "get-east-asian-width": "^1.3.0",
9663
+ "strip-ansi": "^7.1.0"
9664
+ },
9665
+ "engines": {
9666
+ "node": ">=20"
9667
+ },
9668
+ "funding": {
9669
+ "url": "https://github.com/sponsors/sindresorhus"
9670
+ }
9671
+ },
9672
+ "node_modules/cli-truncate/node_modules/strip-ansi": {
9673
+ "version": "7.1.2",
9674
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
9675
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
9676
+ "dev": true,
9677
+ "license": "MIT",
9678
+ "dependencies": {
9679
+ "ansi-regex": "^6.0.1"
9680
+ },
9681
+ "engines": {
9682
+ "node": ">=12"
9683
+ },
9684
+ "funding": {
9685
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
9686
+ }
9687
+ },
9688
  "node_modules/cli-width": {
9689
  "version": "2.2.1",
9690
  "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
 
9802
  "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9803
  "license": "MIT"
9804
  },
9805
+ "node_modules/colorette": {
9806
+ "version": "2.0.20",
9807
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
9808
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
9809
+ "dev": true,
9810
+ "license": "MIT"
9811
+ },
9812
  "node_modules/combined-stream": {
9813
  "version": "1.0.8",
9814
  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 
10544
  "node": ">=6"
10545
  }
10546
  },
10547
+ "node_modules/environment": {
10548
+ "version": "1.1.0",
10549
+ "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
10550
+ "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
10551
+ "dev": true,
10552
+ "license": "MIT",
10553
+ "engines": {
10554
+ "node": ">=18"
10555
+ },
10556
+ "funding": {
10557
+ "url": "https://github.com/sponsors/sindresorhus"
10558
+ }
10559
+ },
10560
  "node_modules/es-abstract": {
10561
  "version": "1.24.1",
10562
  "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz",
 
11787
  "node": ">=0.10.0"
11788
  }
11789
  },
11790
+ "node_modules/eventemitter3": {
11791
+ "version": "5.0.4",
11792
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
11793
+ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
11794
+ "dev": true,
11795
+ "license": "MIT"
11796
+ },
11797
  "node_modules/events": {
11798
  "version": "3.3.0",
11799
  "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
 
12373
  "node": "6.* || 8.* || >= 10.*"
12374
  }
12375
  },
12376
+ "node_modules/get-east-asian-width": {
12377
+ "version": "1.4.0",
12378
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
12379
+ "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
12380
+ "dev": true,
12381
+ "license": "MIT",
12382
+ "engines": {
12383
+ "node": ">=18"
12384
+ },
12385
+ "funding": {
12386
+ "url": "https://github.com/sponsors/sindresorhus"
12387
+ }
12388
+ },
12389
  "node_modules/get-intrinsic": {
12390
  "version": "1.3.0",
12391
  "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
 
12835
  "node": ">= 6"
12836
  }
12837
  },
12838
+ "node_modules/husky": {
12839
+ "version": "9.1.7",
12840
+ "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
12841
+ "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
12842
+ "dev": true,
12843
+ "license": "MIT",
12844
+ "bin": {
12845
+ "husky": "bin.js"
12846
+ },
12847
+ "engines": {
12848
+ "node": ">=18"
12849
+ },
12850
+ "funding": {
12851
+ "url": "https://github.com/sponsors/typicode"
12852
+ }
12853
+ },
12854
  "node_modules/iceberg-js": {
12855
  "version": "0.8.1",
12856
  "resolved": "https://registry.npmjs.org/iceberg-js/-/iceberg-js-0.8.1.tgz",
 
14372
  "node": ">=10"
14373
  }
14374
  },
14375
+ "node_modules/lint-staged": {
14376
+ "version": "16.2.7",
14377
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz",
14378
+ "integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==",
14379
+ "dev": true,
14380
+ "license": "MIT",
14381
+ "dependencies": {
14382
+ "commander": "^14.0.2",
14383
+ "listr2": "^9.0.5",
14384
+ "micromatch": "^4.0.8",
14385
+ "nano-spawn": "^2.0.0",
14386
+ "pidtree": "^0.6.0",
14387
+ "string-argv": "^0.3.2",
14388
+ "yaml": "^2.8.1"
14389
+ },
14390
+ "bin": {
14391
+ "lint-staged": "bin/lint-staged.js"
14392
+ },
14393
+ "engines": {
14394
+ "node": ">=20.17"
14395
+ },
14396
+ "funding": {
14397
+ "url": "https://opencollective.com/lint-staged"
14398
+ }
14399
+ },
14400
+ "node_modules/lint-staged/node_modules/commander": {
14401
+ "version": "14.0.3",
14402
+ "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
14403
+ "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
14404
+ "dev": true,
14405
+ "license": "MIT",
14406
+ "engines": {
14407
+ "node": ">=20"
14408
+ }
14409
+ },
14410
+ "node_modules/listr2": {
14411
+ "version": "9.0.5",
14412
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz",
14413
+ "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
14414
+ "dev": true,
14415
+ "license": "MIT",
14416
+ "dependencies": {
14417
+ "cli-truncate": "^5.0.0",
14418
+ "colorette": "^2.0.20",
14419
+ "eventemitter3": "^5.0.1",
14420
+ "log-update": "^6.1.0",
14421
+ "rfdc": "^1.4.1",
14422
+ "wrap-ansi": "^9.0.0"
14423
+ },
14424
+ "engines": {
14425
+ "node": ">=20.0.0"
14426
+ }
14427
+ },
14428
+ "node_modules/listr2/node_modules/ansi-regex": {
14429
+ "version": "6.2.2",
14430
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
14431
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
14432
+ "dev": true,
14433
+ "license": "MIT",
14434
+ "engines": {
14435
+ "node": ">=12"
14436
+ },
14437
+ "funding": {
14438
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
14439
+ }
14440
+ },
14441
+ "node_modules/listr2/node_modules/ansi-styles": {
14442
+ "version": "6.2.3",
14443
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
14444
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
14445
+ "dev": true,
14446
+ "license": "MIT",
14447
+ "engines": {
14448
+ "node": ">=12"
14449
+ },
14450
+ "funding": {
14451
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
14452
+ }
14453
+ },
14454
+ "node_modules/listr2/node_modules/emoji-regex": {
14455
+ "version": "10.6.0",
14456
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
14457
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
14458
+ "dev": true,
14459
+ "license": "MIT"
14460
+ },
14461
+ "node_modules/listr2/node_modules/string-width": {
14462
+ "version": "7.2.0",
14463
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
14464
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
14465
+ "dev": true,
14466
+ "license": "MIT",
14467
+ "dependencies": {
14468
+ "emoji-regex": "^10.3.0",
14469
+ "get-east-asian-width": "^1.0.0",
14470
+ "strip-ansi": "^7.1.0"
14471
+ },
14472
+ "engines": {
14473
+ "node": ">=18"
14474
+ },
14475
+ "funding": {
14476
+ "url": "https://github.com/sponsors/sindresorhus"
14477
+ }
14478
+ },
14479
+ "node_modules/listr2/node_modules/strip-ansi": {
14480
+ "version": "7.1.2",
14481
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
14482
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
14483
+ "dev": true,
14484
+ "license": "MIT",
14485
+ "dependencies": {
14486
+ "ansi-regex": "^6.0.1"
14487
+ },
14488
+ "engines": {
14489
+ "node": ">=12"
14490
+ },
14491
+ "funding": {
14492
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
14493
+ }
14494
+ },
14495
+ "node_modules/listr2/node_modules/wrap-ansi": {
14496
+ "version": "9.0.2",
14497
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
14498
+ "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
14499
+ "dev": true,
14500
+ "license": "MIT",
14501
+ "dependencies": {
14502
+ "ansi-styles": "^6.2.1",
14503
+ "string-width": "^7.0.0",
14504
+ "strip-ansi": "^7.1.0"
14505
+ },
14506
+ "engines": {
14507
+ "node": ">=18"
14508
+ },
14509
+ "funding": {
14510
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
14511
+ }
14512
+ },
14513
  "node_modules/loader-runner": {
14514
  "version": "4.3.1",
14515
  "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
 
14558
  "dev": true,
14559
  "license": "MIT"
14560
  },
14561
+ "node_modules/log-update": {
14562
+ "version": "6.1.0",
14563
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
14564
+ "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
14565
+ "dev": true,
14566
+ "license": "MIT",
14567
+ "dependencies": {
14568
+ "ansi-escapes": "^7.0.0",
14569
+ "cli-cursor": "^5.0.0",
14570
+ "slice-ansi": "^7.1.0",
14571
+ "strip-ansi": "^7.1.0",
14572
+ "wrap-ansi": "^9.0.0"
14573
+ },
14574
+ "engines": {
14575
+ "node": ">=18"
14576
+ },
14577
+ "funding": {
14578
+ "url": "https://github.com/sponsors/sindresorhus"
14579
+ }
14580
+ },
14581
+ "node_modules/log-update/node_modules/ansi-escapes": {
14582
+ "version": "7.3.0",
14583
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz",
14584
+ "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
14585
+ "dev": true,
14586
+ "license": "MIT",
14587
+ "dependencies": {
14588
+ "environment": "^1.0.0"
14589
+ },
14590
+ "engines": {
14591
+ "node": ">=18"
14592
+ },
14593
+ "funding": {
14594
+ "url": "https://github.com/sponsors/sindresorhus"
14595
+ }
14596
+ },
14597
+ "node_modules/log-update/node_modules/ansi-regex": {
14598
+ "version": "6.2.2",
14599
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
14600
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
14601
+ "dev": true,
14602
+ "license": "MIT",
14603
+ "engines": {
14604
+ "node": ">=12"
14605
+ },
14606
+ "funding": {
14607
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
14608
+ }
14609
+ },
14610
+ "node_modules/log-update/node_modules/ansi-styles": {
14611
+ "version": "6.2.3",
14612
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
14613
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
14614
+ "dev": true,
14615
+ "license": "MIT",
14616
+ "engines": {
14617
+ "node": ">=12"
14618
+ },
14619
+ "funding": {
14620
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
14621
+ }
14622
+ },
14623
+ "node_modules/log-update/node_modules/cli-cursor": {
14624
+ "version": "5.0.0",
14625
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
14626
+ "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
14627
+ "dev": true,
14628
+ "license": "MIT",
14629
+ "dependencies": {
14630
+ "restore-cursor": "^5.0.0"
14631
+ },
14632
+ "engines": {
14633
+ "node": ">=18"
14634
+ },
14635
+ "funding": {
14636
+ "url": "https://github.com/sponsors/sindresorhus"
14637
+ }
14638
+ },
14639
+ "node_modules/log-update/node_modules/emoji-regex": {
14640
+ "version": "10.6.0",
14641
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
14642
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
14643
+ "dev": true,
14644
+ "license": "MIT"
14645
+ },
14646
+ "node_modules/log-update/node_modules/is-fullwidth-code-point": {
14647
+ "version": "5.1.0",
14648
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
14649
+ "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
14650
+ "dev": true,
14651
+ "license": "MIT",
14652
+ "dependencies": {
14653
+ "get-east-asian-width": "^1.3.1"
14654
+ },
14655
+ "engines": {
14656
+ "node": ">=18"
14657
+ },
14658
+ "funding": {
14659
+ "url": "https://github.com/sponsors/sindresorhus"
14660
+ }
14661
+ },
14662
+ "node_modules/log-update/node_modules/onetime": {
14663
+ "version": "7.0.0",
14664
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
14665
+ "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
14666
+ "dev": true,
14667
+ "license": "MIT",
14668
+ "dependencies": {
14669
+ "mimic-function": "^5.0.0"
14670
+ },
14671
+ "engines": {
14672
+ "node": ">=18"
14673
+ },
14674
+ "funding": {
14675
+ "url": "https://github.com/sponsors/sindresorhus"
14676
+ }
14677
+ },
14678
+ "node_modules/log-update/node_modules/restore-cursor": {
14679
+ "version": "5.1.0",
14680
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
14681
+ "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
14682
+ "dev": true,
14683
+ "license": "MIT",
14684
+ "dependencies": {
14685
+ "onetime": "^7.0.0",
14686
+ "signal-exit": "^4.1.0"
14687
+ },
14688
+ "engines": {
14689
+ "node": ">=18"
14690
+ },
14691
+ "funding": {
14692
+ "url": "https://github.com/sponsors/sindresorhus"
14693
+ }
14694
+ },
14695
+ "node_modules/log-update/node_modules/slice-ansi": {
14696
+ "version": "7.1.2",
14697
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
14698
+ "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
14699
+ "dev": true,
14700
+ "license": "MIT",
14701
+ "dependencies": {
14702
+ "ansi-styles": "^6.2.1",
14703
+ "is-fullwidth-code-point": "^5.0.0"
14704
+ },
14705
+ "engines": {
14706
+ "node": ">=18"
14707
+ },
14708
+ "funding": {
14709
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
14710
+ }
14711
+ },
14712
+ "node_modules/log-update/node_modules/string-width": {
14713
+ "version": "7.2.0",
14714
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
14715
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
14716
+ "dev": true,
14717
+ "license": "MIT",
14718
+ "dependencies": {
14719
+ "emoji-regex": "^10.3.0",
14720
+ "get-east-asian-width": "^1.0.0",
14721
+ "strip-ansi": "^7.1.0"
14722
+ },
14723
+ "engines": {
14724
+ "node": ">=18"
14725
+ },
14726
+ "funding": {
14727
+ "url": "https://github.com/sponsors/sindresorhus"
14728
+ }
14729
+ },
14730
+ "node_modules/log-update/node_modules/strip-ansi": {
14731
+ "version": "7.1.2",
14732
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
14733
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
14734
+ "dev": true,
14735
+ "license": "MIT",
14736
+ "dependencies": {
14737
+ "ansi-regex": "^6.0.1"
14738
+ },
14739
+ "engines": {
14740
+ "node": ">=12"
14741
+ },
14742
+ "funding": {
14743
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
14744
+ }
14745
+ },
14746
+ "node_modules/log-update/node_modules/wrap-ansi": {
14747
+ "version": "9.0.2",
14748
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
14749
+ "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
14750
+ "dev": true,
14751
+ "license": "MIT",
14752
+ "dependencies": {
14753
+ "ansi-styles": "^6.2.1",
14754
+ "string-width": "^7.0.0",
14755
+ "strip-ansi": "^7.1.0"
14756
+ },
14757
+ "engines": {
14758
+ "node": ">=18"
14759
+ },
14760
+ "funding": {
14761
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
14762
+ }
14763
+ },
14764
  "node_modules/long": {
14765
  "version": "5.3.2",
14766
  "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
 
14934
  "node": ">=4"
14935
  }
14936
  },
14937
+ "node_modules/mimic-function": {
14938
+ "version": "5.0.1",
14939
+ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
14940
+ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
14941
+ "dev": true,
14942
+ "license": "MIT",
14943
+ "engines": {
14944
+ "node": ">=18"
14945
+ },
14946
+ "funding": {
14947
+ "url": "https://github.com/sponsors/sindresorhus"
14948
+ }
14949
+ },
14950
  "node_modules/mimic-response": {
14951
  "version": "3.1.0",
14952
  "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
 
15046
  "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==",
15047
  "license": "ISC"
15048
  },
15049
+ "node_modules/nano-spawn": {
15050
+ "version": "2.0.0",
15051
+ "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz",
15052
+ "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==",
15053
+ "dev": true,
15054
+ "license": "MIT",
15055
+ "engines": {
15056
+ "node": ">=20.17"
15057
+ },
15058
+ "funding": {
15059
+ "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1"
15060
+ }
15061
+ },
15062
  "node_modules/nanoid": {
15063
  "version": "3.3.11",
15064
  "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
 
15829
  "url": "https://github.com/sponsors/jonschlinkert"
15830
  }
15831
  },
15832
+ "node_modules/pidtree": {
15833
+ "version": "0.6.0",
15834
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
15835
+ "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
15836
+ "dev": true,
15837
+ "license": "MIT",
15838
+ "bin": {
15839
+ "pidtree": "bin/pidtree.js"
15840
+ },
15841
+ "engines": {
15842
+ "node": ">=0.10"
15843
+ }
15844
+ },
15845
  "node_modules/pkg-types": {
15846
  "version": "2.3.0",
15847
  "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
 
16501
  "node": ">=0.10.0"
16502
  }
16503
  },
16504
+ "node_modules/rfdc": {
16505
+ "version": "1.4.1",
16506
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
16507
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
16508
+ "dev": true,
16509
+ "license": "MIT"
16510
+ },
16511
  "node_modules/rimraf": {
16512
  "version": "5.0.10",
16513
  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
 
17250
  "safe-buffer": "~5.2.0"
17251
  }
17252
  },
17253
+ "node_modules/string-argv": {
17254
+ "version": "0.3.2",
17255
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
17256
+ "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
17257
+ "dev": true,
17258
+ "license": "MIT",
17259
+ "engines": {
17260
+ "node": ">=0.6.19"
17261
+ }
17262
+ },
17263
  "node_modules/string-width": {
17264
  "version": "5.1.2",
17265
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
package.json CHANGED
@@ -8,7 +8,13 @@
8
  "start": "next start",
9
  "lint": "eslint",
10
  "test": "vitest run",
11
- "postinstall": "npm rebuild sharp"
 
 
 
 
 
 
12
  },
13
  "dependencies": {
14
  "@ai-sdk/google": "^3.0.20",
@@ -71,10 +77,12 @@
71
  "drizzle-kit": "^0.31.8",
72
  "eslint": "^9",
73
  "eslint-config-next": "15.5.12",
 
74
  "inngest-cli": "^1.16.1",
75
  "jsdom": "^27.4.0",
 
76
  "tailwindcss": "^4",
77
  "typescript": "^5",
78
  "vitest": "^4.0.18"
79
  }
80
- }
 
8
  "start": "next start",
9
  "lint": "eslint",
10
  "test": "vitest run",
11
+ "postinstall": "npm rebuild sharp",
12
+ "prepare": "husky"
13
+ },
14
+ "lint-staged": {
15
+ "*.{js,jsx,ts,tsx,mjs}": [
16
+ "eslint --fix"
17
+ ]
18
  },
19
  "dependencies": {
20
  "@ai-sdk/google": "^3.0.20",
 
77
  "drizzle-kit": "^0.31.8",
78
  "eslint": "^9",
79
  "eslint-config-next": "15.5.12",
80
+ "husky": "^9.1.7",
81
  "inngest-cli": "^1.16.1",
82
  "jsdom": "^27.4.0",
83
+ "lint-staged": "^16.2.7",
84
  "tailwindcss": "^4",
85
  "typescript": "^5",
86
  "vitest": "^4.0.18"
87
  }
88
+ }