-
-
Notifications
You must be signed in to change notification settings - Fork 0
Release: v1.0.0 #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Release: v1.0.0 #18
Changes from all commits
c5b84dd
bc7fe6e
f9fc456
7e7c0ce
c09511f
fa3c2a0
8ade4a2
9a52c61
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,13 @@ | ||||||||||||
| # pnpm configuration | ||||||||||||
| # Use shamefully-hoist to make peer dependencies available | ||||||||||||
| # This resolves TypeScript type inference issues with nested dependencies | ||||||||||||
| shamefully-hoist=true | ||||||||||||
|
|
||||||||||||
| # Public hoist pattern - hoist @redis packages to resolve TypeScript type issues | ||||||||||||
| public-hoist-pattern[]=@redis/* | ||||||||||||
|
|
||||||||||||
| # Auto-install peers to prevent missing peer dependency warnings | ||||||||||||
| auto-install-peers=true | ||||||||||||
|
|
||||||||||||
| # Use strict peer dependencies to maintain dependency integrity | ||||||||||||
| strict-peer-dependencies=false | ||||||||||||
|
||||||||||||
| strict-peer-dependencies=false | |
| strict-peer-dependencies=true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sir, I've detected a rather amusing contradiction in the documentation.
The comment states "Use strict peer dependencies to maintain dependency integrity" whilst the setting is strict-peer-dependencies=false, which does quite the opposite. This setting actually disables strict peer dependency checking, permitting version mismatches that auto-install-peers might introduce.
May I suggest a more accurate comment, Sir?
-# Use strict peer dependencies to maintain dependency integrity
+# Disable strict peer dependencies to allow auto-install-peers flexibility
strict-peer-dependencies=false📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| strict-peer-dependencies=false | |
| # Disable strict peer dependencies to allow auto-install-peers flexibility | |
| strict-peer-dependencies=false |
🤖 Prompt for AI Agents
.npmrc around line 13: the inline comment claims "Use strict peer dependencies
to maintain dependency integrity" but the config sets
strict-peer-dependencies=false, which contradicts that statement; either flip
the value to true to enable strict peer dependency checks or update the comment
to accurately state that strict peer dependency checking is disabled (e.g.,
"Disable strict peer dependency checking to allow auto-install-peers to resolve
mismatches"); make the file consistent by choosing one of those two options and
applying the matching value and comment.
This file was deleted.
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -34,6 +34,10 @@ RUN apk update && apk upgrade && \ | |||||||||||||||||
| apk add --no-cache dumb-init && \ | ||||||||||||||||||
| rm -rf /var/cache/apk/* | ||||||||||||||||||
|
|
||||||||||||||||||
| # Enable and install pnpm via corepack | ||||||||||||||||||
| RUN corepack enable && \ | ||||||||||||||||||
| corepack prepare pnpm@latest --activate | ||||||||||||||||||
|
||||||||||||||||||
| corepack prepare pnpm@latest --activate | |
| corepack prepare pnpm@9.15.4 --activate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sir, I must bring a critical inconsistency to your attention.
The Dockerfile installs pnpm@latest via Corepack, whilst package.json specifies [email protected]. This version drift will cause subtle build inconsistencies between local development and containerized deployments, potentially invalidating Railway cache mounts and introducing hard-to-diagnose dependency resolution differences.
I strongly recommend pinning to the same version specified in package.json:
# Enable and install pnpm via corepack
RUN corepack enable && \
- corepack prepare pnpm@latest --activate
+ corepack prepare [email protected] --activateThis ensures perfect parity across all development and deployment environments, Sir.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Enable and install pnpm via corepack | |
| RUN corepack enable && \ | |
| corepack prepare pnpm@latest --activate | |
| # Enable and install pnpm via corepack | |
| RUN corepack enable && \ | |
| corepack prepare pnpm@9.15.4 --activate |
🤖 Prompt for AI Agents
In Dockerfile around lines 37 to 39, the Dockerfile uses corepack to prepare
pnpm@latest which conflicts with package.json pin of [email protected]; change the
corepack prepare command to explicitly pin the same version ([email protected]) so
container builds match local development, e.g. use corepack prepare [email protected]
--activate, and add a short comment noting this must be kept in sync with
package.json (or read the version from package.json during Docker build if you
prefer a single source of truth).
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,10 +21,10 @@ | |
| "main": "dist/app.js", | ||
| "engines": { | ||
| "node": ">=20.0.0", | ||
| "yarn": ">=1.22.0" | ||
| "pnpm": ">=8.0.0" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion | 🟠 Major 🧩 Analysis chainThe package manager configuration appears properly structured, Sir. The migration from Yarn 1.22.22 to pnpm 9.15.4 is consistently applied across engines requirements, preinstall enforcement, and packageManager field. The version constraint However, Sir, I've noticed the Dockerfile references Also applies to: 27-27, 52-52 🏁 Script executed: #!/bin/bash
# Description: Verify pnpm version consistency across project files
echo "=== Checking pnpm version references ==="
# Check package.json
echo -e "\n📦 package.json:"
rg -A 1 '"pnpm":|"packageManager":' package.json
# Check Dockerfile
echo -e "\n🐳 Dockerfile:"
rg 'pnpm@' Dockerfile
# Check GitHub workflows
echo -e "\n⚙️ GitHub workflows:"
rg 'version:.*[0-9]' .github/workflows/validate.yml | grep -i pnpm
# Check .npmrc for any version specifications
echo -e "\n📝 .npmrc:"
rg 'pnpm' .npmrc || echo "No pnpm version specified in .npmrc"Length of output: 239 Pin pnpm version in Dockerfile and workflows 🤖 Prompt for AI Agents |
||
| }, | ||
| "scripts": { | ||
| "preinstall": "npx only-allow yarn", | ||
| "preinstall": "npx only-allow pnpm", | ||
| "build": "tsc", | ||
| "start": "node dist/app.js", | ||
| "dev": "nodemon --exec ts-node src/app.ts", | ||
|
|
@@ -49,5 +49,5 @@ | |
| "ts-node": "^10.9.2", | ||
| "typescript": "^5.8.3" | ||
| }, | ||
| "packageManager": "[email protected]" | ||
| "packageManager": "[email protected]" | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For supply-chain security, pin actions to a full commit SHA instead of a floating tag. Replace
@v4with the corresponding immutable SHA from the action's releases.