From 8e2106433b869b7fb13c3b7acce7895ea0348b64 Mon Sep 17 00:00:00 2001 From: William Thorsen Date: Wed, 12 Aug 2026 16:30:12 -0700 Subject: [PATCH 1/2] root|deps: Upgrade eslint-config-typescript to 10 and strict-lint to 11 Upgrades `@williamthorsen/eslint-config-typescript` from 8.7.0 to 10.0.0 and `@williamthorsen/strict-lint` from 9.4.0 to 11.0.0. The config reactivates four rules its 8.7.0 release had switched off -- `no-empty-fields`, `require-repository`, `require-sideEffects`, and `specify-peers-locally` -- and newly errors on `no-local-dependencies`, `require-author`, `require-bugs`, `require-engines`, `require-homepage`, and `require-keywords`. --- package.json | 4 +- pnpm-lock.yaml | 269 ++++++++++++------------------------------------- 2 files changed, 66 insertions(+), 207 deletions(-) diff --git a/package.json b/package.json index 72eacf3e..bd662417 100644 --- a/package.json +++ b/package.json @@ -33,11 +33,11 @@ "@vitejs/plugin-react": "6.0.5", "@vitest/coverage-v8": "4.1.10", "@vitest/eslint-plugin": "1.6.26", - "@williamthorsen/eslint-config-typescript": "8.7.0", + "@williamthorsen/eslint-config-typescript": "10.0.0", "@williamthorsen/kb": "workspace:*", "@williamthorsen/nmr": "0.30.0", "@williamthorsen/release-kit": "10.3.1", - "@williamthorsen/strict-lint": "9.4.0", + "@williamthorsen/strict-lint": "11.0.0", "codeassembly": "workspace:*", "dotenv": "17.4.2", "eslint": "10.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ee84d3d..5296eba5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,8 +33,8 @@ importers: specifier: 1.6.26 version: 1.6.26(@typescript-eslint/eslint-plugin@8.66.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.10) '@williamthorsen/eslint-config-typescript': - specifier: 8.7.0 - version: 8.7.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(@typescript-eslint/utils@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + specifier: 10.0.0 + version: 10.0.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(@typescript-eslint/utils@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) '@williamthorsen/kb': specifier: workspace:* version: link:packages/kb @@ -45,8 +45,8 @@ importers: specifier: 10.3.1 version: 10.3.1 '@williamthorsen/strict-lint': - specifier: 9.4.0 - version: 9.4.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) + specifier: 11.0.0 + version: 11.0.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) codeassembly: specifier: workspace:* version: link:packages/agents @@ -1024,14 +1024,6 @@ packages: '@types/serve-static@2.2.0': resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} - '@typescript-eslint/eslint-plugin@8.65.0': - resolution: {integrity: sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.65.0 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/eslint-plugin@8.66.0': resolution: {integrity: sha512-p088eaGrzYz1s+7cov0aMOCkNGTJlVxF4jgubf28c8L0Cv9Rloj8YBHnv4hXLq6IIEE1AsjNWavO+k+8kP2Y0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1040,13 +1032,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.65.0': - resolution: {integrity: sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.66.0': resolution: {integrity: sha512-X6ypGChaWYk6PBtUg2BwuTZEFFcHJAtGTVJ9/lCTOufhZ4i9fNolQNnktq+kkMCwMj7V8Svsq7+TxSDslmhE0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1054,45 +1039,22 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.65.0': - resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.66.0': resolution: {integrity: sha512-7MthGPTt4BP69lSryqpqq8HQqxuzynssckL/jyDyk3+TNMQ3y2jFWkptCrktWvBrP+EH787Nl5N5Qpw7WZg+5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.65.0': - resolution: {integrity: sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.66.0': resolution: {integrity: sha512-8TGcH25j9zqJ/IULB/ppyhRvxA8QYfFEZ7nfbg6/BN9spDgb8fPWQXlE5l8TWBL50EtUx007uZ1o9VOwrq2/9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.65.0': - resolution: {integrity: sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/tsconfig-utils@8.66.0': resolution: {integrity: sha512-9D5gLYZG4rOjcoag8MQ/fWI8WqA9wcPDyOGyWtWFhvM1lHRbliqUSPIY5J3zqCU1tvSwzXxnnjhQhz5Ne7mJ4g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.65.0': - resolution: {integrity: sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.66.0': resolution: {integrity: sha512-LG2dWfjZQQp0ADtAu/EWJVayefGL2UEZ3CDeI44D9v3rXB/WYUqE/jpO28KrEKul5AySrmI+Zh1v6v+xW2U9+g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1100,33 +1062,16 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.65.0': - resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.66.0': resolution: {integrity: sha512-H6gcYaSDOyvL3AD/jHUtUFo2jqGgn/F6nuyuZSu0QTesxL+cP4dQoIMrODRofuJC09g64+WgZ6tE19Y1N2YIFQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.65.0': - resolution: {integrity: sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/typescript-estree@8.66.0': resolution: {integrity: sha512-8/x4INiiQb10jGgXYD7116/zQ+OL84ZIFn0za68wwFHCanT/VLbBEroWht8RV8fn0/ZCAoazHLQgwUC0UQcDfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.65.0': - resolution: {integrity: sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.66.0': resolution: {integrity: sha512-jasearZPolBw5NJNYGMwxzHMF83niVWmMU1VdHzG1CyfI2VS7f7nZltnKtHcg20hW+7Uo5GfK4MeDPoU3qI8EA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1134,10 +1079,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.65.0': - resolution: {integrity: sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.66.0': resolution: {integrity: sha512-dkKR8q+lKciskj1Y3vthHktl+3cMLWGyVUP23bRiPZ5O9BRT++4EqDDV+TVeIKBL1VXVEqrJlz8MYbcnvJcAlg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1256,8 +1197,8 @@ packages: '@vitest/utils@4.1.10': resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} - '@williamthorsen/eslint-config-typescript@8.7.0': - resolution: {integrity: sha512-xHVh5jkJSp6YCiJnU8w7C/Zr+qYx52TkhZ7In1mUA3AEDdHp8iCJxKS13FsUzX9xNFv9jubum09U6A5UEZ7fAQ==} + '@williamthorsen/eslint-config-typescript@10.0.0': + resolution: {integrity: sha512-RO1dpXBpYpluTe8UmAr984D0h+2LOdVnlDa0jig1xq5EVCREtoHqj2N+fk/FhGhVhtHPMEwxieqamak0rTN+Uw==} engines: {node: '>=24'} peerDependencies: '@typescript-eslint/utils': ^8.59.1 @@ -1287,8 +1228,8 @@ packages: engines: {node: '>=24'} hasBin: true - '@williamthorsen/strict-lint@9.4.0': - resolution: {integrity: sha512-KJ202aJBQHzskFgTrzEKpafxUf5RvTE2t1ZcewnwqWsQ/e1KPc0s/HyUOvZ02EE/wz/dIr7lZ9t/n+u9YW3ECA==} + '@williamthorsen/strict-lint@11.0.0': + resolution: {integrity: sha512-9WRdra2IunXdi4OamvkltmUuu8Xm/phE74gkzo1ynpjk3QrDZ7KFaw1h98F1WFyRIvropTkCiMld+xgkrAhHDw==} engines: {node: '>=24'} hasBin: true peerDependencies: @@ -1302,14 +1243,18 @@ packages: resolution: {integrity: sha512-DV4mjO8/KH5EylwQ8erGMzqX/DgWw9LXc9LSFJy/GRgM7J2gR99hgx6TOEHdmsvAlMaCe048JTU8cTpxzlx+vg==} engines: {node: '>=24.0.0'} - '@williamthorsen/toolbelt.filesystem@0.2.1': - resolution: {integrity: sha512-vC+LkLEVBKaTcOsR6G8R0cGPnseX3IC3ZiWeYGuPcwOwypmWb8+CgG/a8P6fhaSU/aqXpszUFB41nTLsEeTyWw==} + '@williamthorsen/toolbelt.errors@0.3.0': + resolution: {integrity: sha512-ZBY+DRI6A1tI3oxcYBDDN8w3hRUNHoZRa9FS6u1COxiTYoi545UfJ5LDma/3dej5DIz3FeleS1h57aCOAdj2KA==} engines: {node: '>=24.0.0'} '@williamthorsen/toolbelt.filesystem@0.3.0': resolution: {integrity: sha512-LAgacq4EBEtrmXCMUsZ6gslzOGF01HHLluwIQRwuqitdcjqrOMU/kh8GFJTWpWnT77JtFwAb80bGyGCYCz6NWQ==} engines: {node: '>=24.0.0'} + '@williamthorsen/toolbelt.filesystem@0.4.0': + resolution: {integrity: sha512-UKeOOKngs5t5f9BKZ21hh/oyPIXueo5A+Mugkwc0f200abGdeNeZ9O7MbsvXb+h+o2t1E0BZzy8zk66OicsagQ==} + engines: {node: '>=24.0.0'} + '@williamthorsen/toolbelt.guards@3.1.9': resolution: {integrity: sha512-oF573+yQ1KNqio1Rgx+ouicDTaEiawyw5S0uILqc5hXyTMBn0Mlu/yKhjHkogDv0v8ugkmkFTRcfE9dFaMT/Tw==} engines: {node: '>=24.0.0'} @@ -1322,6 +1267,10 @@ packages: resolution: {integrity: sha512-SR6VTng8kAQXFEZEVgexp04G/rEUkm15MoL6vx2rKIX9B9ltLMDHZBHK/2oSOxic0UInCZW1cA+y73vdpnkM7Q==} engines: {node: '>=24.0.0'} + '@williamthorsen/toolbelt.packaging@0.3.0': + resolution: {integrity: sha512-cmWHKbVp+6cNe5pBtbzmTTm8DOB7B2m8prvyL2uyw/2va1VinoP4K1ud+K/9ehQCD8Yktgm6/p7uS7V7Jtt/qw==} + engines: {node: '>=24.0.0'} + '@williamthorsen/toolbelt.sets@3.0.10': resolution: {integrity: sha512-5ep0cq/38htc6zSAHFr7yJe4C7GSq6fcHR9+Wq63dAbjgH2YcMKJ7pzuEORU6j1mnvN2W0G+Q6tE78U+XTVTqg==} engines: {node: '>=24.0.0'} @@ -1893,8 +1842,8 @@ packages: '@testing-library/dom': optional: true - eslint-plugin-jsonc@3.3.0: - resolution: {integrity: sha512-CsTR8aDcShDg6A71ZppLaWiPoSo2J1Ivjm5/c4Mnb9sxgwWq+WG2PgeoAnj7SwzDPJB75tlHvLrGy6ntooIitg==} + eslint-plugin-jsonc@3.4.1: + resolution: {integrity: sha512-HHWkjAmVJ3QAffCkfo0XKl3CstLtgbIu5EGfFfVDLQT6vqPrxl4pFbUwFwY03nOlvyuDiiBixhHFrlbzn9u09Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: '>=9.38.0' @@ -1912,8 +1861,8 @@ packages: typescript: optional: true - eslint-plugin-package-json@1.6.2: - resolution: {integrity: sha512-Zp0CdqXKQqB9luUYa/TOwnGq3VlLotx1UDflZOzEt3D5A5kxu3Lj1VFJ087jKudEhc+K3kF20XV/aKZAlDuslw==} + eslint-plugin-package-json@1.6.3: + resolution: {integrity: sha512-32ZHJFzEtsWeZfFr/YMQzq7amG/9jewUuNIKmnkl7QoT7gwclxUwurqRMrjWK2S9lh4prZkNbymROQ6aDpb06Q==} engines: {node: ^22.22.2 || >=24.15.0} peerDependencies: '@eslint/json': '>=1.0.0' @@ -1951,14 +1900,14 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - eslint-plugin-unicorn@72.0.0: - resolution: {integrity: sha512-hqO6ksoOHO+ZhdseTuKRVQbx9U7PRO/cv8qAR1mctwzdVO2hYud8uS9luAhp43RJgziYgHAph8eHyipT8GL0ng==} + eslint-plugin-unicorn@73.0.0: + resolution: {integrity: sha512-V0YatLe9nkGhXEXKe2Qljb1EY0sJHwDV0HUF1NKFwtsHh/fU7qGHDgv+6fchzZcgU2/7noHo2gdjnmo0P2uDPw==} engines: {node: '>=22'} peerDependencies: eslint: '>=10.4' - eslint-plugin-yml@3.7.0: - resolution: {integrity: sha512-cLkVHdBHyRifThJA3ufuEW+imPRO7rHBQXdWgthouY6qEapUw8/0zW6V8NcMEGWzuMykc/ITYl6AuhZLPzI+fw==} + eslint-plugin-yml@3.8.1: + resolution: {integrity: sha512-E/70psRwxz5EJ8dBtzrFfqSiiInuSytbdtFCjueb/GcKjsWzPBfxfhtQePImMAPjHwMA/VDurO7DJwStDJ4wWg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: eslint: '>=9.38.0' @@ -2167,8 +2116,8 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@17.8.0: - resolution: {integrity: sha512-Zz/LMDZScFmkakeL2cTHzf+PbWKdpU3uclqkZT7TjDG58j5WPt0PpA+n9uPI24fZtlw07q0OtEi84K+umsRzqQ==} + globals@17.9.0: + resolution: {integrity: sha512-m/MvAW61QVU5VDNF1Vj8axt016h8w7L5TU1e9zlab7XIttAT2YAlCwl75K1fOqvMM9apmD7lbCIRhpfkhmxhCg==} engines: {node: '>=18'} globalthis@1.0.4: @@ -2492,6 +2441,10 @@ packages: resolution: {integrity: sha512-75EA7EWZExL/j+MDKQrRbdzcRI2HOkRlmUw8fZJc1ioqFEOvBsq7Rt+A6yCxOt9w/TYNpkt52gC6nm/g5tFIng==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + jsonc-eslint-parser@3.2.0: + resolution: {integrity: sha512-fjACeZ2chy9tiBakt5nU5SZhzk385pkSSfmhVvS13o4gqGiHVCNJXTNve8kqMeKv7A0L50mdaNUb7T8s+Egrnw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} @@ -3422,13 +3375,6 @@ packages: resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} engines: {node: '>= 0.4'} - typescript-eslint@8.65.0: - resolution: {integrity: sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - typescript-eslint@8.66.0: resolution: {integrity: sha512-QlEbBPz/RuJ1XUHj29nm3t0F/O/cSlEnntozqPOYHnnTGAXFamnMBu5i9Vn6vhUPHGAjR+Vl+5J8vPN/BMUrJw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4359,22 +4305,6 @@ snapshots: '@types/http-errors': 2.0.5 '@types/node': 24.13.3 - '@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.65.0 - '@typescript-eslint/type-utils': 8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.65.0 - eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) - ignore: 7.0.6 - natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@8.66.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -4391,18 +4321,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.65.0 - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/typescript-estree': 8.65.0(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.65.0 - debug: 4.4.3(supports-color@7.2.0) - eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/scope-manager': 8.66.0 @@ -4415,15 +4333,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.65.0(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.66.0(typescript@6.0.3) - '@typescript-eslint/types': 8.66.0 - debug: 4.4.3(supports-color@7.2.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/project-service@8.66.0(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.66.0(typescript@6.0.3) @@ -4433,36 +4342,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.65.0': - dependencies: - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/visitor-keys': 8.65.0 - '@typescript-eslint/scope-manager@8.66.0': dependencies: '@typescript-eslint/types': 8.66.0 '@typescript-eslint/visitor-keys': 8.66.0 - '@typescript-eslint/tsconfig-utils@8.65.0(typescript@6.0.3)': - dependencies: - typescript: 6.0.3 - '@typescript-eslint/tsconfig-utils@8.66.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/typescript-estree': 8.65.0(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - debug: 4.4.3(supports-color@7.2.0) - eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/type-utils@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/types': 8.66.0 @@ -4475,25 +4363,8 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.65.0': {} - '@typescript-eslint/types@8.66.0': {} - '@typescript-eslint/typescript-estree@8.65.0(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@typescript-eslint/project-service': 8.65.0(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@6.0.3) - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/visitor-keys': 8.65.0 - debug: 4.4.3(supports-color@7.2.0) - minimatch: 10.2.6 - semver: 7.8.5 - tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.66.0(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/project-service': 8.66.0(supports-color@7.2.0)(typescript@6.0.3) @@ -4509,17 +4380,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': - dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) - '@typescript-eslint/scope-manager': 8.65.0 - '@typescript-eslint/types': 8.65.0 - '@typescript-eslint/typescript-estree': 8.65.0(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/utils@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) @@ -4531,11 +4391,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.65.0': - dependencies: - '@typescript-eslint/types': 8.65.0 - eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.66.0': dependencies: '@typescript-eslint/types': 8.66.0 @@ -4644,24 +4499,24 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.1.1 - '@williamthorsen/eslint-config-typescript@8.7.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(@typescript-eslint/utils@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': + '@williamthorsen/eslint-config-typescript@10.0.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(@typescript-eslint/utils@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@eslint-community/eslint-plugin-eslint-comments': 4.7.2(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) '@eslint/js': 10.0.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) '@typescript-eslint/utils': 8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) - eslint-plugin-jsonc: 3.3.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) + eslint-plugin-jsonc: 3.4.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-n: 18.2.2(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) - eslint-plugin-package-json: 1.6.2(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) + eslint-plugin-package-json: 1.6.3(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-promise: 7.3.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-simple-import-sort: 14.0.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) - eslint-plugin-unicorn: 72.0.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) - eslint-plugin-yml: 3.7.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) - globals: 17.8.0 - jsonc-eslint-parser: 3.1.0 + eslint-plugin-unicorn: 73.0.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) + eslint-plugin-yml: 3.8.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) + globals: 17.9.0 + jsonc-eslint-parser: 3.2.0 typescript: 6.0.3 - typescript-eslint: 8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + typescript-eslint: 8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) yaml-eslint-parser: 2.1.0 transitivePeerDependencies: - '@eslint/json' @@ -4694,9 +4549,10 @@ snapshots: yaml: 2.9.0 zod: 4.4.3 - '@williamthorsen/strict-lint@9.4.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))': + '@williamthorsen/strict-lint@11.0.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))': dependencies: - '@williamthorsen/toolbelt.filesystem': 0.2.1 + '@williamthorsen/toolbelt.filesystem': 0.4.0 + '@williamthorsen/toolbelt.packaging': 0.3.0 eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) '@williamthorsen/toolbelt.arrays@3.4.0': @@ -4706,10 +4562,14 @@ snapshots: '@williamthorsen/toolbelt.errors@0.2.0': {} - '@williamthorsen/toolbelt.filesystem@0.2.1': {} + '@williamthorsen/toolbelt.errors@0.3.0': {} '@williamthorsen/toolbelt.filesystem@0.3.0': {} + '@williamthorsen/toolbelt.filesystem@0.4.0': + dependencies: + '@williamthorsen/toolbelt.errors': 0.3.0 + '@williamthorsen/toolbelt.guards@3.1.9': {} '@williamthorsen/toolbelt.numbers@5.0.0': {} @@ -4718,6 +4578,10 @@ snapshots: dependencies: '@williamthorsen/toolbelt.filesystem': 0.3.0 + '@williamthorsen/toolbelt.packaging@0.3.0': + dependencies: + '@williamthorsen/toolbelt.filesystem': 0.4.0 + '@williamthorsen/toolbelt.sets@3.0.10': {} '@williamthorsen/toolbelt.strings@3.2.0': @@ -5389,7 +5253,7 @@ snapshots: optionalDependencies: '@testing-library/dom': 10.4.1 - eslint-plugin-jsonc@3.3.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-jsonc@3.4.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) '@eslint/core': 1.2.1 @@ -5418,7 +5282,7 @@ snapshots: optionalDependencies: typescript: 6.0.3 - eslint-plugin-package-json@1.6.2(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-package-json@1.6.3(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: '@altano/repository-tools': 2.0.5 '@types/estree': 1.0.9 @@ -5485,7 +5349,7 @@ snapshots: - supports-color - typescript - eslint-plugin-unicorn@72.0.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-unicorn@73.0.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)) '@eslint/css-tree': 4.0.5 @@ -5497,7 +5361,7 @@ snapshots: entities: 4.5.0 eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) find-up-simple: 1.0.1 - globals: 17.8.0 + globals: 17.9.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 is-identifier: 1.1.0 @@ -5509,7 +5373,7 @@ snapshots: strip-indent: 4.1.1 yaml: 2.9.0 - eslint-plugin-yml@3.7.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-yml@3.8.1(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.7.2 @@ -5777,7 +5641,7 @@ snapshots: globals@15.15.0: {} - globals@17.8.0: {} + globals@17.9.0: {} globalthis@1.0.4: dependencies: @@ -6091,6 +5955,12 @@ snapshots: eslint-visitor-keys: 5.0.1 semver: 7.8.5 + jsonc-eslint-parser@3.2.0: + dependencies: + acorn: 8.18.0 + eslint-visitor-keys: 5.0.1 + verkit: 0.3.2 + jsonc-parser@3.3.1: {} jsonparse@1.3.1: {} @@ -7068,17 +6938,6 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.65.0(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.8.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - typescript-eslint@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): dependencies: '@typescript-eslint/eslint-plugin': 8.66.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) From da93d257d085ae6b5348228e8f7aaa970b6c4eb7 Mon Sep 17 00:00:00 2001 From: William Thorsen Date: Wed, 12 Aug 2026 16:30:23 -0700 Subject: [PATCH 2/2] tooling: Complete package-manifest metadata across the monorepo Declares `sideEffects: false` on the three publishable packages -- `codeassembly`, `@williamthorsen/kb`, and `codeassembly-lifecycle` -- so a consumer's bundler can tree-shake them, and adds `author` to the five private packages, so every manifest in the monorepo now carries attribution. `codeassembly` gains an `exports` map naming `./package.json` alone. The package ships a CLI and no library surface, and this form leaves it unimportable while satisfying `require-exports`, which forbids deleting the field outright. The monorepo root's `keywords`, previously an empty array, names the repository's subject. --- package.json | 7 ++++++- packages/agents/package.json | 5 ++++- packages/factory/package.json | 1 + packages/fleet/package.json | 1 + packages/foreman/package.json | 1 + packages/kb/package.json | 1 + packages/lifecycle/package.json | 1 + packages/mcp/package.json | 1 + packages/run-core/package.json | 1 + 9 files changed, 17 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bd662417..9c74c632 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,12 @@ "version": "0.1.0", "private": true, "description": "CodeAssembly monorepo", - "keywords": [], + "keywords": [ + "agents", + "ai", + "code-orchestration", + "monorepo" + ], "homepage": "https://github.com/williamthorsen/codeassembly#readme", "bugs": { "url": "https://github.com/williamthorsen/codeassembly/issues" diff --git a/packages/agents/package.json b/packages/agents/package.json index 09ede584..3f235e66 100644 --- a/packages/agents/package.json +++ b/packages/agents/package.json @@ -20,8 +20,11 @@ }, "license": "ISC", "author": "William Thorsen (https://github.com/williamthorsen)", + "sideEffects": false, "type": "module", - "exports": {}, + "exports": { + "./package.json": "./package.json" + }, "bin": { "codeassembly": "bin/codeassembly.js" }, diff --git a/packages/factory/package.json b/packages/factory/package.json index a1069bd1..642019f1 100644 --- a/packages/factory/package.json +++ b/packages/factory/package.json @@ -3,6 +3,7 @@ "version": "0.2.5", "private": true, "description": "Visual factory for orchestrated workflow management", + "author": "William Thorsen (https://github.com/williamthorsen)", "type": "module", "scripts": { "build": "pnpm vite build", diff --git a/packages/fleet/package.json b/packages/fleet/package.json index 7752b9d9..8c421ae1 100644 --- a/packages/fleet/package.json +++ b/packages/fleet/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "description": "Fleet-visibility server: Watches the events root, folds lane state, and streams snapshots over SSE", + "author": "William Thorsen (https://github.com/williamthorsen)", "type": "module", "exports": { ".": { diff --git a/packages/foreman/package.json b/packages/foreman/package.json index 98fcfb26..e18b96f1 100644 --- a/packages/foreman/package.json +++ b/packages/foreman/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "description": "Fleet-visibility client: Renders the lane view over Fleet's snapshot and SSE stream", + "author": "William Thorsen (https://github.com/williamthorsen)", "type": "module", "scripts": { "build": "pnpm vite build", diff --git a/packages/kb/package.json b/packages/kb/package.json index d3dd6c21..32e00c23 100644 --- a/packages/kb/package.json +++ b/packages/kb/package.json @@ -19,6 +19,7 @@ }, "license": "ISC", "author": "William Thorsen (https://github.com/williamthorsen)", + "sideEffects": false, "type": "module", "exports": { ".": { diff --git a/packages/lifecycle/package.json b/packages/lifecycle/package.json index 9e032bf6..8d9aa2fc 100644 --- a/packages/lifecycle/package.json +++ b/packages/lifecycle/package.json @@ -19,6 +19,7 @@ }, "license": "ISC", "author": "William Thorsen (https://github.com/williamthorsen)", + "sideEffects": false, "type": "module", "exports": { ".": { diff --git a/packages/mcp/package.json b/packages/mcp/package.json index f92c7388..30701b2c 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -3,6 +3,7 @@ "version": "0.2.4", "private": true, "description": "MCP server for orchestrated run management", + "author": "William Thorsen (https://github.com/williamthorsen)", "type": "module", "bin": { "codeassembly-mcp": "bin/codeassembly-mcp.js" diff --git a/packages/run-core/package.json b/packages/run-core/package.json index d57bcde0..8d5ba66d 100644 --- a/packages/run-core/package.json +++ b/packages/run-core/package.json @@ -3,6 +3,7 @@ "version": "0.2.3", "private": true, "description": "Core runtime for orchestrated development runs", + "author": "William Thorsen (https://github.com/williamthorsen)", "type": "module", "exports": { ".": {