3 Commits

Author SHA1 Message Date
minori d28803aea7 deps: update fastify to 5.7.4
Node.js CI / CI (pull_request) Successful in 28s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m20s
2026-02-13 07:09:20 -08:00
minori 884ca18928 deps: update fastify to 5.7.2
Node.js CI / CI (pull_request) Successful in 47s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 2m11s
2026-02-05 07:15:26 -08:00
minori 3503ec6054 deps: update fastify to 5.7.1
Node.js CI / CI (pull_request) Successful in 34s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m35s
2026-02-04 08:43:41 -08:00
4 changed files with 94 additions and 92 deletions
+25
View File
@@ -0,0 +1,25 @@
# Package Manager Configuration
# Force pnpm usage - breaks npm/yarn intentionally
node-linker=pnpm
# Security: Disable all lifecycle scripts
ignore-scripts=true
enable-pre-post-scripts=false
# Security: Require packages to be 10+ days old before installation
minimum-release-age=14400
# Security: Verify package integrity hashes
verify-store-integrity=true
# Security: Enforce strict trust policies
trust-policy=strict
# Security: Strict peer dependency resolution
strict-peer-dependencies=true
# Performance: Use symlinks for node_modules
symlink=true
# Lockfile: Ensure lockfile is not modified during install
frozen-lockfile=false
+3 -3
View File
@@ -23,10 +23,10 @@
"vitest": "3.2.4"
},
"dependencies": {
"@anthropic-ai/sdk": "0.78.0",
"@anthropic-ai/sdk": "0.65.0",
"@nhcarrigan/discord-analytics": "0.0.6",
"@nhcarrigan/logger": "1.1.1",
"discord.js": "14.25.1",
"fastify": "5.6.1"
"discord.js": "14.23.2",
"fastify": "5.7.4"
}
}
+66 -68
View File
@@ -9,20 +9,20 @@ importers:
.:
dependencies:
'@anthropic-ai/sdk':
specifier: 0.78.0
version: 0.78.0
specifier: 0.65.0
version: 0.65.0
'@nhcarrigan/discord-analytics':
specifier: 0.0.6
version: 0.0.6(@nhcarrigan/logger@1.1.1)(discord.js@14.25.1)
version: 0.0.6(@nhcarrigan/logger@1.1.1)(discord.js@14.23.2)
'@nhcarrigan/logger':
specifier: 1.1.1
version: 1.1.1
discord.js:
specifier: 14.25.1
version: 14.25.1
specifier: 14.23.2
version: 14.23.2
fastify:
specifier: 5.6.1
version: 5.6.1
specifier: 5.7.4
version: 5.7.4
devDependencies:
'@nhcarrigan/eslint-config':
specifier: 5.2.0
@@ -52,8 +52,8 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
'@anthropic-ai/sdk@0.78.0':
resolution: {integrity: sha512-PzQhR715td/m1UaaN5hHXjYB8Gl2lF9UVhrrGrZeysiF6Rb74Wc9GCB8hzLdzmQtBd1qe89F9OptgB9Za1Ib5w==}
'@anthropic-ai/sdk@0.65.0':
resolution: {integrity: sha512-zIdPOcrCVEI8t3Di40nH4z9EoeyGZfXbYSvWdDLsB/KkaSYMnEgC7gmcgWu83g2NTn1ZTpbMvpdttWDGGIk6zw==}
hasBin: true
peerDependencies:
zod: ^3.25.0 || ^4.0.0
@@ -128,8 +128,8 @@ packages:
resolution: {integrity: sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==}
engines: {node: '>=6.9.0'}
'@discordjs/builders@1.13.1':
resolution: {integrity: sha512-cOU0UDHc3lp/5nKByDxkmRiNZBpdp0kx55aarbiAfakfKJHlxv/yFW1zmIqCAmwH5CRlrH9iMFKJMpvW4DPB+w==}
'@discordjs/builders@1.12.2':
resolution: {integrity: sha512-AugKmrgRJOHXEyMkABH/hXpAmIBKbYokCEl9VAM4Kh6FvkdobQ+Zhv7AR6K+y5hS7+VQ7gKXPYCe1JQmV07H1g==}
engines: {node: '>=16.11.0'}
'@discordjs/collection@1.5.3':
@@ -140,16 +140,16 @@ packages:
resolution: {integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==}
engines: {node: '>=18'}
'@discordjs/formatters@0.6.2':
resolution: {integrity: sha512-y4UPwWhH6vChKRkGdMB4odasUbHOUwy7KL+OVwF86PvT6QVOwElx+TiI1/6kcmcEe+g5YRXJFiXSXUdabqZOvQ==}
'@discordjs/formatters@0.6.1':
resolution: {integrity: sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==}
engines: {node: '>=16.11.0'}
'@discordjs/rest@2.6.0':
resolution: {integrity: sha512-RDYrhmpB7mTvmCKcpj+pc5k7POKszS4E2O9TYc+U+Y4iaCP+r910QdO43qmpOja8LRr1RJ0b3U+CqVsnPqzf4w==}
engines: {node: '>=18'}
'@discordjs/util@1.2.0':
resolution: {integrity: sha512-3LKP7F2+atl9vJFhaBjn4nOaSWahZ/yWjOvA4e5pnXkt2qyXRCHLxoBQy81GFtLGCq7K9lPm9R517M1U+/90Qg==}
'@discordjs/util@1.1.1':
resolution: {integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==}
engines: {node: '>=18'}
'@discordjs/ws@1.2.3':
@@ -377,8 +377,8 @@ packages:
resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/ajv-compiler@4.0.2':
resolution: {integrity: sha512-Rkiu/8wIjpsf46Rr+Fitd3HRP+VsxUFDDeag0hs9L0ksfnwx2g7SPQQTFL0E8Qv+rfXzQOxBJnjUB9ITUDjfWQ==}
'@fastify/ajv-compiler@4.0.5':
resolution: {integrity: sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A==}
'@fastify/error@4.0.0':
resolution: {integrity: sha512-OO/SA8As24JtT1usTUTKgGH7uLvhfwZPwlptRi2Dp5P4KKmJI3gvsZ8MIHnNwDs4sLf/aai5LzTyl66xr7qMxA==}
@@ -478,6 +478,9 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
'@pinojs/redact@0.4.0':
resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==}
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -1062,11 +1065,11 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
discord-api-types@0.38.37:
resolution: {integrity: sha512-Cv47jzY1jkGkh5sv0bfHYqGgKOWO1peOrGMkDFM4UmaGMOTgOW8QSexhvixa9sVOiz8MnVOBryWYyw/CEVhj7w==}
discord-api-types@0.38.29:
resolution: {integrity: sha512-+5BfrjLJN1hrrcK0MxDQli6NSv5lQH7Y3/qaOfk9+k7itex8RkA/UcevVMMLe8B4IKIawr4ITBTb2fBB2vDORg==}
discord.js@14.25.1:
resolution: {integrity: sha512-2l0gsPOLPs5t6GFZfQZKnL1OJNYFcuC/ETWsW4VtKVD/tg4ICa9x+jb9bkPffkMdRpRpuUaO/fKkHCBeiCKh8g==}
discord.js@14.23.2:
resolution: {integrity: sha512-tU2NFr823X3TXEc8KyR/4m296KLxPai4nirN3q9kHCpY4TKj96n9lHZnyLzRNMui8EbL07jg9hgH2PWWfKMGIg==}
engines: {node: '>=18'}
doctrine@2.1.0:
@@ -1301,15 +1304,11 @@ packages:
fast-querystring@1.1.2:
resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==}
fast-redact@3.5.0:
resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
engines: {node: '>=6'}
fast-uri@3.0.6:
resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
fastify@5.6.1:
resolution: {integrity: sha512-WjjlOciBF0K8pDUPZoGPhqhKrQJ02I8DKaDIfO51EL0kbSMwQFl85cRwhOvmSDWoukNOdTo27gLN549pLCcH7Q==}
fastify@5.7.4:
resolution: {integrity: sha512-e6l5NsRdaEP8rdD8VR0ErJASeyaRbzXYpmkrpr2SuvuMq6Si3lvsaVy5C+7gLanEkvjpMDzBXWE5HPeb/hgTxA==}
fastq@1.19.0:
resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==}
@@ -1929,14 +1928,14 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
pino-abstract-transport@2.0.0:
resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
pino-abstract-transport@3.0.0:
resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==}
pino-std-serializers@7.0.0:
resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
pino@9.6.0:
resolution: {integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==}
pino@10.3.0:
resolution: {integrity: sha512-0GNPNzHXBKw6U/InGe79A3Crzyk9bcSyObF9/Gfo9DLEf5qj5RF50RSjsu0W1rZ6ZqRGdzDFCRBQvi9/rSGPtA==}
hasBin: true
playwright-core@1.50.1:
@@ -2248,8 +2247,9 @@ packages:
resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==}
engines: {node: '>=18'}
thread-stream@3.1.0:
resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
thread-stream@4.0.0:
resolution: {integrity: sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==}
engines: {node: '>=20'}
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -2502,7 +2502,7 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
'@anthropic-ai/sdk@0.78.0':
'@anthropic-ai/sdk@0.65.0':
dependencies:
json-schema-to-ts: 3.1.1
@@ -2607,12 +2607,12 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@discordjs/builders@1.13.1':
'@discordjs/builders@1.12.2':
dependencies:
'@discordjs/formatters': 0.6.2
'@discordjs/util': 1.2.0
'@discordjs/formatters': 0.6.1
'@discordjs/util': 1.1.1
'@sapphire/shapeshift': 4.0.0
discord-api-types: 0.38.37
discord-api-types: 0.38.29
fast-deep-equal: 3.1.3
ts-mixer: 6.0.4
tslib: 2.8.1
@@ -2621,35 +2621,33 @@ snapshots:
'@discordjs/collection@2.1.1': {}
'@discordjs/formatters@0.6.2':
'@discordjs/formatters@0.6.1':
dependencies:
discord-api-types: 0.38.37
discord-api-types: 0.38.29
'@discordjs/rest@2.6.0':
dependencies:
'@discordjs/collection': 2.1.1
'@discordjs/util': 1.2.0
'@discordjs/util': 1.1.1
'@sapphire/async-queue': 1.5.5
'@sapphire/snowflake': 3.5.3
'@vladfrangu/async_event_emitter': 2.4.6
discord-api-types: 0.38.37
discord-api-types: 0.38.29
magic-bytes.js: 1.10.0
tslib: 2.8.1
undici: 6.21.3
'@discordjs/util@1.2.0':
dependencies:
discord-api-types: 0.38.37
'@discordjs/util@1.1.1': {}
'@discordjs/ws@1.2.3':
dependencies:
'@discordjs/collection': 2.1.1
'@discordjs/rest': 2.6.0
'@discordjs/util': 1.2.0
'@discordjs/util': 1.1.1
'@sapphire/async-queue': 1.5.5
'@types/ws': 8.5.14
'@vladfrangu/async_event_emitter': 2.4.6
discord-api-types: 0.38.37
discord-api-types: 0.38.29
tslib: 2.8.1
ws: 8.18.0
transitivePeerDependencies:
@@ -2814,7 +2812,7 @@ snapshots:
'@eslint/core': 0.16.0
levn: 0.4.1
'@fastify/ajv-compiler@4.0.2':
'@fastify/ajv-compiler@4.0.5':
dependencies:
ajv: 8.17.1
ajv-formats: 3.0.1(ajv@8.17.1)
@@ -2878,10 +2876,10 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@nhcarrigan/discord-analytics@0.0.6(@nhcarrigan/logger@1.1.1)(discord.js@14.25.1)':
'@nhcarrigan/discord-analytics@0.0.6(@nhcarrigan/logger@1.1.1)(discord.js@14.23.2)':
dependencies:
'@nhcarrigan/logger': 1.1.1
discord.js: 14.25.1
discord.js: 14.23.2
node-schedule: 2.1.1
'@nhcarrigan/eslint-config@5.2.0(@typescript-eslint/utils@8.24.0(eslint@9.37.0)(typescript@5.9.3))(eslint@9.37.0)(playwright@1.50.1)(react@19.0.0)(typescript@5.9.3)(vitest@3.2.4(@types/node@24.7.1))':
@@ -2931,6 +2929,8 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.19.0
'@pinojs/redact@0.4.0': {}
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -3541,18 +3541,18 @@ snapshots:
dependencies:
path-type: 4.0.0
discord-api-types@0.38.37: {}
discord-api-types@0.38.29: {}
discord.js@14.25.1:
discord.js@14.23.2:
dependencies:
'@discordjs/builders': 1.13.1
'@discordjs/builders': 1.12.2
'@discordjs/collection': 1.5.3
'@discordjs/formatters': 0.6.2
'@discordjs/formatters': 0.6.1
'@discordjs/rest': 2.6.0
'@discordjs/util': 1.2.0
'@discordjs/util': 1.1.1
'@discordjs/ws': 1.2.3
'@sapphire/snowflake': 3.5.3
discord-api-types: 0.38.37
discord-api-types: 0.38.29
fast-deep-equal: 3.1.3
lodash.snakecase: 4.1.1
magic-bytes.js: 1.10.0
@@ -3966,13 +3966,11 @@ snapshots:
dependencies:
fast-decode-uri-component: 1.0.1
fast-redact@3.5.0: {}
fast-uri@3.0.6: {}
fastify@5.6.1:
fastify@5.7.4:
dependencies:
'@fastify/ajv-compiler': 4.0.2
'@fastify/ajv-compiler': 4.0.5
'@fastify/error': 4.0.0
'@fastify/fast-json-stringify-compiler': 5.0.2
'@fastify/proxy-addr': 5.0.0
@@ -3981,7 +3979,7 @@ snapshots:
fast-json-stringify: 6.0.1
find-my-way: 9.2.0
light-my-request: 6.5.1
pino: 9.6.0
pino: 10.3.0
process-warning: 5.0.0
rfdc: 1.4.1
secure-json-parse: 4.0.0
@@ -4608,25 +4606,25 @@ snapshots:
picomatch@4.0.3: {}
pino-abstract-transport@2.0.0:
pino-abstract-transport@3.0.0:
dependencies:
split2: 4.2.0
pino-std-serializers@7.0.0: {}
pino@9.6.0:
pino@10.3.0:
dependencies:
'@pinojs/redact': 0.4.0
atomic-sleep: 1.0.0
fast-redact: 3.5.0
on-exit-leak-free: 2.1.2
pino-abstract-transport: 2.0.0
pino-abstract-transport: 3.0.0
pino-std-serializers: 7.0.0
process-warning: 4.0.1
process-warning: 5.0.0
quick-format-unescaped: 4.0.4
real-require: 0.2.0
safe-stable-stringify: 2.5.0
sonic-boom: 4.2.0
thread-stream: 3.1.0
thread-stream: 4.0.0
playwright-core@1.50.1: {}
@@ -4987,7 +4985,7 @@ snapshots:
glob: 10.4.5
minimatch: 9.0.5
thread-stream@3.1.0:
thread-stream@4.0.0:
dependencies:
real-require: 0.2.0
-21
View File
@@ -1,21 +0,0 @@
# Security
# Do not execute any scripts of installed packages (project scripts still run)
ignoreDepScripts: true
# Do not automatically run pre/post scripts (e.g. preinstall, postbuild)
enablePrePostScripts: false
# Only allow packages published at least 10 days ago (reduces risk of compromised packages)
minimumReleaseAge: 14400
# Fail if a package's trust level has decreased compared to previous releases
trustPolicy: no-downgrade
# Ignore trust policy for packages published more than 1 year ago (predates provenance signing)
trustPolicyIgnoreAfter: 525960
# Fail if there are missing or invalid peer dependencies
strictPeerDependencies: true
# Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs)
blockExoticSubdeps: true
# Lockfile
# Allow the lockfile to be updated during install (set to true in CI for stricter reproducibility)
preferFrozenLockfile: false