Conversation
chore: main back to alpha
- Move turbo-sdk source to packages/turbo-sdk - Add yarn workspaces configuration to root package.json - Create placeholder packages for signer extraction: - @ardrive/turbo-signer-ethereum - @ardrive/turbo-signer-polygon - @ardrive/turbo-signer-base - @ardrive/turbo-signer-solana - @ardrive/turbo-signer-kyve - Update CI workflows for monorepo structure - Update eslint and release configs for new paths - Remove yarn docs from commit-msg hook (moved to package) PE-8848 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update signer package scripts to no-op placeholders (prevents build failures) - Fix workspace dependency syntax for yarn 1.x compatibility - Update codecov ignore paths for new package location PE-8848 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move license.header.js to root resources/ directory - Create package-specific .eslintrc in turbo-sdk that extends root - Add ignorePatterns for test files and examples - Fix parserOptions.project path for package context PE-8848 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
chore(PE-8848): multi package setup
📝 WalkthroughWalkthroughRestructures the repository into a private monorepo ( Changes
Sequence Diagram(s)(omitted) Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/turbo-sdk/tests/wallets/BTV1zY7njS5an91v9nphCK48d2vnMuecEgHLYiP25ycj.sol.sk.json (1)
1-6: Add documentation clarifying this is a test-only fixture.This file contains a test wallet used exclusively in test suites (via
testSolWalletinhelpers.ts). While the naming convention and test-only usage context are clear, add an explicit comment or documentation note clarifying its test-only status. This would strengthen the safety posture and prevent any ambiguity about the wallet's intended scope, especially for contributors unfamiliar with the codebase structure.Consider adding a comment to
helpers.tsor in a tests/wallets README documenting that these are fixture wallets used only for testing and not production-ready.
🤖 Fix all issues with AI agents
In `@packages/turbo-signer-ethereum/package.json`:
- Around line 5-29: The package currently sets "type": "module" while
advertising a CJS entry "./lib/cjs/index.js" (see "main" and "exports" entries),
which will be treated as ESM; resolve this by updating your build to either emit
CJS files with .cjs extensions for the CJS entry or ensure the CJS folder
contains its own package.json with "type": "commonjs" (e.g., create
lib/cjs/package.json) and/or change the "main" export to point to .cjs output so
"./lib/cjs/index.js" is correctly interpreted as CommonJS at runtime.
In `@packages/turbo-signer-ethereum/tsconfig.json`:
- Around line 2-23: Add "composite": true to the tsconfig's compilerOptions to
satisfy TypeScript project reference requirements: update the existing
"compilerOptions" object (which already contains "outDir": "./lib/esm",
"module": "nodenext", etc.) to include "composite": true so the package can be
referenced by the root tsconfig and be built with tsc -b.
In `@packages/turbo-signer-kyve/package.json`:
- Around line 5-29: The package.json currently sets "type": "module" while
pointing "main" and the "exports.require" entry at "./lib/cjs/index.js", which
will be interpreted as ESM; fix by either producing CommonJS files with a .cjs
extension and updating "main" and the "exports.require" path to
"./lib/cjs/index.cjs" (and ensure your build emits .cjs), or add a nested
package.json under lib/cjs with "type": "commonjs" so ./lib/cjs/index.js is
treated as CJS; update the "main" and "exports" entries (and your build config
that emits the runtime files) to match whichever approach you choose.
🧹 Nitpick comments (6)
packages/turbo-signer-kyve/src/index.ts (1)
1-20: Placeholder structure looks good.The scaffolding is appropriate for a new package. The
export {}pattern correctly makes this a valid ES module while the implementation is pending.Minor nit: The copyright year range ends in 2024, but consider updating to 2026 for new files.
packages/turbo-signer-ethereum/src/index.ts (1)
17-20: Placeholder module is fine for now; track TODO before publish.Given this will be a public package later, make sure the TODO is resolved before release so consumers don’t import an empty module.
If you want, I can sketch an initial Ethereum signer scaffold.
.github/workflows/release.yml (1)
46-57: Guard dist publish pathspecs after relocation.The
git addpathspecs now point topackages/turbo-sdk/lib/**andpackages/turbo-sdk/bundles/**. If either directory isn’t produced by the build, this step will fail with a pathspec error. Consider asserting the directories exist (or conditionally adding them) so failures are explicit.♻️ Suggested guard to make missing outputs explicit
- name: Publish Dist Tag run: | + for path in packages/turbo-sdk/lib packages/turbo-sdk/bundles; do + if [ ! -d "$path" ]; then + echo "Error: missing build output at $path" + exit 1 + fi + done VERSION=$(cat packages/turbo-sdk/package.json | jq -r .version) if [ -z "$VERSION" ] || [ "$VERSION" = "null" ]; then echo "Error: Failed to extract version from package.json" exit 1 fipackages/turbo-signer-solana/package.json (3)
19-23: Non-standard field in author object.The
authorobject uses"website"which is non-standard. The npm specification uses"url"for this field. While this won't break anything, tools that parse package metadata may not recognize it.Suggested change
"author": { "name": "Permanent Data Solutions Inc", "email": "info@ardrive.io", - "website": "https://ardrive.io" + "url": "https://ardrive.io" },
42-44: Use workspace protocol for internal dependency.All signer packages currently use
"*"for@ardrive/turbo-sdk, which is ambiguous in a yarn workspaces monorepo. Since@ardrive/turbo-sdkis a local workspace package, use the explicit workspace protocol instead:Suggested change
"dependencies": { - "@ardrive/turbo-sdk": "*" + "@ardrive/turbo-sdk": "workspace:*" },This pattern should be applied to all signer packages (ethereum, kyve, solana) to ensure consistent and explicit workspace resolution.
45-49: Peer dependency version specifications allow current releases.The versions are correctly constrained with caret (
^) notation, which automatically permits compatible updates:
tweetnaclis at the latest version (1.0.3)@solana/web3.js^1.91.7 permits the current 1.98.4@dha-team/arbundles^1.0.1 permits the current 1.0.4No changes required—the peer dependencies can resolve to stable releases currently available.
| "main": "./lib/cjs/index.js", | ||
| "types": "./lib/types/index.d.ts", | ||
| "module": "./lib/esm/index.js", | ||
| "type": "module", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/ardriveapp/turbo-sdk.git", | ||
| "directory": "packages/turbo-signer-ethereum" | ||
| }, | ||
| "files": [ | ||
| "lib", | ||
| "LICENSE", | ||
| "README.md" | ||
| ], | ||
| "author": { | ||
| "name": "Permanent Data Solutions Inc", | ||
| "email": "info@ardrive.io", | ||
| "website": "https://ardrive.io" | ||
| }, | ||
| "exports": { | ||
| ".": { | ||
| "types": "./lib/types/index.d.ts", | ||
| "import": "./lib/esm/index.js", | ||
| "require": "./lib/cjs/index.js" | ||
| } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, find the package.json file and examine the directory structure
find . -path "*/turbo-signer-ethereum*" -type f -name "package.json" | head -5Repository: ardriveapp/turbo-sdk
Length of output: 184
🏁 Script executed:
# Look at the turbo-signer-ethereum directory structure
git ls-files | grep "turbo-signer-ethereum" | head -20Repository: ardriveapp/turbo-sdk
Length of output: 296
🏁 Script executed:
# Check the build scripts and tsconfig in the package
fd -t f "tsconfig\|build\|rollup\|webpack" packages/turbo-signer-ethereumRepository: ardriveapp/turbo-sdk
Length of output: 46
🏁 Script executed:
# Read the full package.json for turbo-signer-ethereum
cat packages/turbo-signer-ethereum/package.jsonRepository: ardriveapp/turbo-sdk
Length of output: 1401
🏁 Script executed:
# Check the tsconfig.cjs.json to understand the build output
cat packages/turbo-signer-ethereum/tsconfig.cjs.jsonRepository: ardriveapp/turbo-sdk
Length of output: 210
🏁 Script executed:
# Check if there's a lib/cjs/package.json or any package.json in lib
find packages/turbo-signer-ethereum -name "package.json" -o -type d -name "lib"Repository: ardriveapp/turbo-sdk
Length of output: 107
CJS entry conflicts with "type": "module"
Under "type": "module", ./lib/cjs/index.js will be interpreted as ESM unless you emit .cjs files or add lib/cjs/package.json with "type": "commonjs". The build scripts are currently placeholder implementations; ensure the CJS/ESM conflict is resolved during build implementation before publishing.
💡 Example: using .cjs output
- "main": "./lib/cjs/index.js",
+ "main": "./lib/cjs/index.cjs",
...
- "require": "./lib/cjs/index.cjs"
+ "require": "./lib/cjs/index.cjs"Alternatively, configure the build to emit lib/cjs/package.json with "type": "commonjs" alongside .js files.
🤖 Prompt for AI Agents
In `@packages/turbo-signer-ethereum/package.json` around lines 5 - 29, The package
currently sets "type": "module" while advertising a CJS entry
"./lib/cjs/index.js" (see "main" and "exports" entries), which will be treated
as ESM; resolve this by updating your build to either emit CJS files with .cjs
extensions for the CJS entry or ensure the CJS folder contains its own
package.json with "type": "commonjs" (e.g., create lib/cjs/package.json) and/or
change the "main" export to point to .cjs output so "./lib/cjs/index.js" is
correctly interpreted as CommonJS at runtime.
| "compilerOptions": { | ||
| "target": "es2021", | ||
| "allowSyntheticDefaultImports": true, | ||
| "lib": ["esnext", "dom"], | ||
| "outDir": "./lib/esm", | ||
| "listEmittedFiles": false, | ||
| "listFiles": false, | ||
| "moduleResolution": "nodenext", | ||
| "module": "nodenext", | ||
| "alwaysStrict": true, | ||
| "types": ["node"], | ||
| "forceConsistentCasingInFileNames": true, | ||
| "esModuleInterop": true, | ||
| "resolveJsonModule": true, | ||
| "pretty": true, | ||
| "noUnusedLocals": true, | ||
| "noUnusedParameters": true, | ||
| "noImplicitReturns": true, | ||
| "noFallthroughCasesInSwitch": true, | ||
| "skipLibCheck": true, | ||
| "strictNullChecks": true | ||
| }, |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Find tsconfig.json files in the repository
find . -name "tsconfig.json" -type f | head -20Repository: ardriveapp/turbo-sdk
Length of output: 470
🏁 Script executed:
# Read the root tsconfig.json to check if it references packages/turbo-signer-ethereum
cat -n ./tsconfig.jsonRepository: ardriveapp/turbo-sdk
Length of output: 1206
🏁 Script executed:
# Read the full tsconfig.json for packages/turbo-signer-ethereum
cat -n ./packages/turbo-signer-ethereum/tsconfig.jsonRepository: ardriveapp/turbo-sdk
Length of output: 957
🏁 Script executed:
# Check if other packages in the monorepo have composite: true
for tsconfig in ./packages/*/tsconfig.json; do
echo "=== $tsconfig ==="
grep -E '"composite"' "$tsconfig" || echo "No composite field"
doneRepository: ardriveapp/turbo-sdk
Length of output: 341
🏁 Script executed:
# Check if there's a build script or CI configuration that uses tsc -b
find . -maxdepth 2 -name "package.json" -type f | xargs grep -l "tsc -b" 2>/dev/nullRepository: ardriveapp/turbo-sdk
Length of output: 48
🏁 Script executed:
# Check the build-related content in root package.json and example packages
cat -n ./package.json | grep -A 10 -B 2 '"build"\|"tsc"'Repository: ardriveapp/turbo-sdk
Length of output: 555
🏁 Script executed:
# Look for any documentation or comments about the project structure
find . -maxdepth 2 -name "README*" -type f | head -5Repository: ardriveapp/turbo-sdk
Length of output: 75
🏁 Script executed:
# Check if tsc is used anywhere in the build process or if there are any TypeScript build configurations
grep -r "tsc" ./package.json ./packages/*/package.json 2>/dev/null | grep -v node_modulesRepository: ardriveapp/turbo-sdk
Length of output: 373
🏁 Script executed:
# Search for any references to composite in the repo
rg "composite" --type jsonRepository: ardriveapp/turbo-sdk
Length of output: 46
🏁 Script executed:
# Check TypeScript version to understand best practices for this version
cat ./package.json | grep -A 2 '"typescript"'Repository: ardriveapp/turbo-sdk
Length of output: 114
🏁 Script executed:
# Let's check if tsc -b would work or fail with current config
# First, check the TypeScript behavior documentation by looking at any build output logs or CI configs
find . -maxdepth 2 -name "*.yml" -o -name "*.yaml" | head -10Repository: ardriveapp/turbo-sdk
Length of output: 77
🏁 Script executed:
# Check if there are any GitHub Actions or CI workflows that might use tsc -b
find . -path ./node_modules -prune -o -type f \( -name "*.yml" -o -name "*.yaml" \) -printRepository: ardriveapp/turbo-sdk
Length of output: 327
🏁 Script executed:
# Check the build and PR workflows to see if they use tsc -b
cat ./.github/workflows/build.ymlRepository: ardriveapp/turbo-sdk
Length of output: 1647
🏁 Script executed:
# Also check the PR workflow
cat ./.github/workflows/pr.ymlRepository: ardriveapp/turbo-sdk
Length of output: 936
Add composite: true to align with TypeScript project reference requirements.
The root tsconfig.json defines project references to this package, which requires it to have "composite": true per TypeScript's project reference specification. While the current build uses Yarn workspaces and doesn't fail without this setting, adding it ensures proper TypeScript configuration and prevents future issues if tsc -b is adopted.
🛠️ Suggested fix
"compilerOptions": {
+ "composite": true,
"target": "es2021",
"allowSyntheticDefaultImports": true,📝 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.
| "compilerOptions": { | |
| "target": "es2021", | |
| "allowSyntheticDefaultImports": true, | |
| "lib": ["esnext", "dom"], | |
| "outDir": "./lib/esm", | |
| "listEmittedFiles": false, | |
| "listFiles": false, | |
| "moduleResolution": "nodenext", | |
| "module": "nodenext", | |
| "alwaysStrict": true, | |
| "types": ["node"], | |
| "forceConsistentCasingInFileNames": true, | |
| "esModuleInterop": true, | |
| "resolveJsonModule": true, | |
| "pretty": true, | |
| "noUnusedLocals": true, | |
| "noUnusedParameters": true, | |
| "noImplicitReturns": true, | |
| "noFallthroughCasesInSwitch": true, | |
| "skipLibCheck": true, | |
| "strictNullChecks": true | |
| }, | |
| "compilerOptions": { | |
| "composite": true, | |
| "target": "es2021", | |
| "allowSyntheticDefaultImports": true, | |
| "lib": ["esnext", "dom"], | |
| "outDir": "./lib/esm", | |
| "listEmittedFiles": false, | |
| "listFiles": false, | |
| "moduleResolution": "nodenext", | |
| "module": "nodenext", | |
| "alwaysStrict": true, | |
| "types": ["node"], | |
| "forceConsistentCasingInFileNames": true, | |
| "esModuleInterop": true, | |
| "resolveJsonModule": true, | |
| "pretty": true, | |
| "noUnusedLocals": true, | |
| "noUnusedParameters": true, | |
| "noImplicitReturns": true, | |
| "noFallthroughCasesInSwitch": true, | |
| "skipLibCheck": true, | |
| "strictNullChecks": true | |
| }, |
🤖 Prompt for AI Agents
In `@packages/turbo-signer-ethereum/tsconfig.json` around lines 2 - 23, Add
"composite": true to the tsconfig's compilerOptions to satisfy TypeScript
project reference requirements: update the existing "compilerOptions" object
(which already contains "outDir": "./lib/esm", "module": "nodenext", etc.) to
include "composite": true so the package can be referenced by the root tsconfig
and be built with tsc -b.
| "main": "./lib/cjs/index.js", | ||
| "types": "./lib/types/index.d.ts", | ||
| "module": "./lib/esm/index.js", | ||
| "type": "module", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/ardriveapp/turbo-sdk.git", | ||
| "directory": "packages/turbo-signer-kyve" | ||
| }, | ||
| "files": [ | ||
| "lib", | ||
| "LICENSE", | ||
| "README.md" | ||
| ], | ||
| "author": { | ||
| "name": "Permanent Data Solutions Inc", | ||
| "email": "info@ardrive.io", | ||
| "website": "https://ardrive.io" | ||
| }, | ||
| "exports": { | ||
| ".": { | ||
| "types": "./lib/types/index.d.ts", | ||
| "import": "./lib/esm/index.js", | ||
| "require": "./lib/cjs/index.js" | ||
| } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Explore the repository structure
find packages/turbo-signer-kyve -type f -name "*.json" | head -20Repository: ardriveapp/turbo-sdk
Length of output: 236
🏁 Script executed:
# Check if there's a build config and what the actual structure looks like
ls -la packages/turbo-signer-kyve/Repository: ardriveapp/turbo-sdk
Length of output: 489
🏁 Script executed:
# Look for tsconfig, esbuild config, or build scripts
find packages/turbo-signer-kyve -type f \( -name "tsconfig.json" -o -name "*.config.*" -o -name "build*" \) | head -20Repository: ardriveapp/turbo-sdk
Length of output: 104
🏁 Script executed:
# Check the full package.json to see build scripts
cat packages/turbo-signer-kyve/package.jsonRepository: ardriveapp/turbo-sdk
Length of output: 1402
🏁 Script executed:
# Check if lib directory exists and what's in it
ls -la packages/turbo-signer-kyve/lib/ 2>/dev/null || echo "lib directory does not exist or is not accessible"Repository: ardriveapp/turbo-sdk
Length of output: 113
🏁 Script executed:
cat packages/turbo-signer-kyve/tsconfig.cjs.jsonRepository: ardriveapp/turbo-sdk
Length of output: 210
🏁 Script executed:
cat packages/turbo-signer-kyve/tsconfig.jsonRepository: ardriveapp/turbo-sdk
Length of output: 775
🏁 Script executed:
# Check parent package.json or turbo config for build tooling
ls -la packages/turbo-signer-kyve/../../Repository: ardriveapp/turbo-sdk
Length of output: 1916
🏁 Script executed:
# Check if there's a shared build config or root tsup config
find . -maxdepth 3 -name "tsup.config.*" -o -name ".build*" 2>/dev/null | head -10Repository: ardriveapp/turbo-sdk
Length of output: 46
🏁 Script executed:
# Check how other packages in the monorepo handle CJS/ESM
find packages -maxdepth 2 -name "package.json" -exec grep -l '"type": "module"' {} \;Repository: ardriveapp/turbo-sdk
Length of output: 221
🏁 Script executed:
# See if any other packages use .cjs files or nested package.json
find packages -type f \( -name "*.cjs" -o -path "*/lib/cjs/package.json" \)Repository: ardriveapp/turbo-sdk
Length of output: 46
🏁 Script executed:
# Check the root package.json for context
cat package.jsonRepository: ardriveapp/turbo-sdk
Length of output: 1305
CJS entry conflicts with "type": "module"
With "type": "module", the CommonJS output at ./lib/cjs/index.js will be treated as ESM by Node.js. When you implement the build step, TypeScript will emit .js files (not .cjs), and these will be interpreted as ESM modules due to the root "type": "module" setting. Align the CJS output/exports before publishing by either using .cjs extension or adding lib/cjs/package.json with "type": "commonjs".
💡 Example manifest tweak (requires .cjs output)
- "main": "./lib/cjs/index.js",
+ "main": "./lib/cjs/index.cjs",
...
- "require": "./lib/cjs/index.js"
+ "require": "./lib/cjs/index.cjs"📝 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.
| "main": "./lib/cjs/index.js", | |
| "types": "./lib/types/index.d.ts", | |
| "module": "./lib/esm/index.js", | |
| "type": "module", | |
| "repository": { | |
| "type": "git", | |
| "url": "https://github.com/ardriveapp/turbo-sdk.git", | |
| "directory": "packages/turbo-signer-kyve" | |
| }, | |
| "files": [ | |
| "lib", | |
| "LICENSE", | |
| "README.md" | |
| ], | |
| "author": { | |
| "name": "Permanent Data Solutions Inc", | |
| "email": "info@ardrive.io", | |
| "website": "https://ardrive.io" | |
| }, | |
| "exports": { | |
| ".": { | |
| "types": "./lib/types/index.d.ts", | |
| "import": "./lib/esm/index.js", | |
| "require": "./lib/cjs/index.js" | |
| } | |
| "main": "./lib/cjs/index.cjs", | |
| "types": "./lib/types/index.d.ts", | |
| "module": "./lib/esm/index.js", | |
| "type": "module", | |
| "repository": { | |
| "type": "git", | |
| "url": "https://github.com/ardriveapp/turbo-sdk.git", | |
| "directory": "packages/turbo-signer-kyve" | |
| }, | |
| "files": [ | |
| "lib", | |
| "LICENSE", | |
| "README.md" | |
| ], | |
| "author": { | |
| "name": "Permanent Data Solutions Inc", | |
| "email": "info@ardrive.io", | |
| "website": "https://ardrive.io" | |
| }, | |
| "exports": { | |
| ".": { | |
| "types": "./lib/types/index.d.ts", | |
| "import": "./lib/esm/index.js", | |
| "require": "./lib/cjs/index.cjs" | |
| } |
🤖 Prompt for AI Agents
In `@packages/turbo-signer-kyve/package.json` around lines 5 - 29, The
package.json currently sets "type": "module" while pointing "main" and the
"exports.require" entry at "./lib/cjs/index.js", which will be interpreted as
ESM; fix by either producing CommonJS files with a .cjs extension and updating
"main" and the "exports.require" path to "./lib/cjs/index.cjs" (and ensure your
build emits .cjs), or add a nested package.json under lib/cjs with "type":
"commonjs" so ./lib/cjs/index.js is treated as CJS; update the "main" and
"exports" entries (and your build config that emits the runtime files) to match
whichever approach you choose.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #378 +/- ##
=======================================
Coverage 89.53% 89.53%
=======================================
Files 26 26
Lines 6562 6562
Branches 422 422
=======================================
Hits 5875 5875
Misses 686 686
Partials 1 1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
would rather have the release workflow working on alpha before going to main. keeps main ready for hotfixes if we need to quickly patch something |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@packages/turbo-sdk/update-version.sh`:
- Around line 9-10: The rm command has a typo "l./ib/cjs/version.js.bak" so the
backup created by sed -i.bak isn't removed; update the cleanup to remove the
actual backup path created by the sed invocation (./lib/cjs/version.js.bak)
after running sed -i.bak -e "s/exports.version = '.*';/exports.version =
'${nextRelease_version}';/" ./lib/cjs/version.js.bak, ensuring the rm target
matches the backup filename produced by sed (./lib/cjs/version.js.bak).
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@packages/turbo-sdk/package.json`:
- Around line 109-110: The package.json has a major-version mismatch:
"@typescript-eslint/eslint-plugin" is ^5.62.0 while "@typescript-eslint/parser"
is ^6.4.0; update both package entries to the same major version (v6) so they
are compatible (e.g., set "@typescript-eslint/eslint-plugin" and
"@typescript-eslint/parser" to matching ^6.x versions), then run install/update
(npm/yarn/pnpm) and re-run lint to ensure no parse errors; target the two
package names to locate the entries.
🧹 Nitpick comments (2)
packages/turbo-sdk/package.json (1)
53-53: Non-standard rimraf syntax.The
cleanscript usesrimraf [ lib coverage bundles ]with brackets. Modern rimraf (v4+) uses glob patterns without brackets:rimraf lib coverage bundles.♻️ Suggested fix
- "clean": "rimraf [ lib coverage bundles ]", + "clean": "rimraf lib coverage bundles",.github/workflows/release.yml (1)
58-60: Quote the VERSION variable to prevent word splitting.Per shellcheck SC2086,
$VERSIONshould be quoted to prevent potential issues with word splitting.♻️ Suggested fix
- git commit -m "chore(dist): release version v${VERSION} [skip ci]" --no-verify + git commit -m "chore(dist): release version v\"${VERSION}\" [skip ci]" --no-verify git push origin dist --force - git tag v${VERSION}-dist --force - git push origin v${VERSION}-dist --force + git tag "v${VERSION}-dist" --force + git push origin "v${VERSION}-dist" --force
| "@typescript-eslint/eslint-plugin": "^5.62.0", | ||
| "@typescript-eslint/parser": "^6.4.0", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
@typescript-eslint eslint-plugin v5 parser v6 compatibility
💡 Result:
Short answer: they are not compatible—@typescript-eslint/eslint-plugin v5 expects the v5 parser. You should upgrade both packages together to the same major (v6) to avoid breaking/parse errors (or install the v6 release-candidate packages during the beta). See the official v6 announcement and beta notes for breaking changes and upgrade instructions. [1][2]
Sources:
- typescript-eslint v6 announcement (upgrade instructions, breaking changes). [1]
- typescript-eslint v6 beta post (install
@rc-v6during beta; notes on replacing both plugin and parser). [2]
Version mismatch between @typescript-eslint packages.
@typescript-eslint/eslint-plugin is at ^5.62.0 while @typescript-eslint/parser is at ^6.4.0. These packages are not compatible across major versions and must be upgraded together. Upgrade both to v6 to avoid parse errors.
🤖 Prompt for AI Agents
In `@packages/turbo-sdk/package.json` around lines 109 - 110, The package.json has
a major-version mismatch: "@typescript-eslint/eslint-plugin" is ^5.62.0 while
"@typescript-eslint/parser" is ^6.4.0; update both package entries to the same
major version (v6) so they are compatible (e.g., set
"@typescript-eslint/eslint-plugin" and "@typescript-eslint/parser" to matching
^6.x versions), then run install/update (npm/yarn/pnpm) and re-run lint to
ensure no parse errors; target the two package names to locate the entries.
|
🎉 This PR is included in version 1.40.1-alpha.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
fedellen
left a comment
There was a problem hiding this comment.
LFG(et rid of this bloat)!
|
🎉 This PR is included in version 1.40.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Merge new repo structure to main. Packages will be published in future PRs.
Summary by CodeRabbit
New Features
Chores
Style/Config
✏️ Tip: You can customize this high-level summary in your review settings.