-
Notifications
You must be signed in to change notification settings - Fork 190
address version mismatches and package resolutions #1081
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
Changes from all commits
0e40179
b1bce3a
a0de75d
72e29dc
78d04ec
45d826b
e4fdd5f
bd2300b
0312a8b
03cc947
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 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -87,13 +87,15 @@ | |||||||||||||
| "eslint-plugin-sort-exports": "^0.9.1", | ||||||||||||||
| "jsdom": "^24.0.0", | ||||||||||||||
| "prettier": "^3.5.3", | ||||||||||||||
| "react": "^18.3.1", | ||||||||||||||
| "react-dom": "^18.3.1", | ||||||||||||||
| "tsup": "^8.0.1", | ||||||||||||||
| "typescript": "^5.9.2", | ||||||||||||||
| "vitest": "^1.6.0" | ||||||||||||||
| }, | ||||||||||||||
| "peerDependencies": { | ||||||||||||||
| "react": "^18.3.1", | ||||||||||||||
| "react-native": "^0.76.9", | ||||||||||||||
| "react-native": "0.76.9", | ||||||||||||||
| "tamagui": "^1.126.0" | ||||||||||||||
| }, | ||||||||||||||
|
Comment on lines
+98
to
100
Contributor
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. Pinning react-native to an exact version will break consumers on patch releases Switching peerDependency react-native from ^0.76.9 to 0.76.9 forces an exact match and will cause npm/yarn/pnpm conflicts for apps on 0.76.x patch updates. Keep the caret to allow patch alignment within 0.76.x. Apply: "peerDependencies": {
"react": "^18.3.1",
- "react-native": "0.76.9",
+ "react-native": "^0.76.9",
"tamagui": "^1.126.0"
}📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||
| "packageManager": "[email protected]", | ||||||||||||||
|
|
||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -110,7 +110,6 @@ const hardhatPackages = [ | |
|
|
||
| // Testing framework | ||
| const testingPackages = [ | ||
| '@testing-library/react-hooks', | ||
| '@testing-library/react-native', | ||
| '@babel/core', | ||
| '@babel/runtime', | ||
|
|
@@ -152,6 +151,9 @@ const pmVersions = new Map(); | |
| const workflowVersions = new Map(); | ||
| const engineVersions = new Map(); | ||
|
|
||
| // Packages that are intentionally different for technical reasons | ||
| const intentionallyDifferentPackages = []; | ||
|
|
||
|
Comment on lines
+154
to
+156
Contributor
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. “Intentional differences” still counted as mismatches, causing confusing output Packages listed in intentionallyDifferentPackages are not excluded in the “OTHER VERSION MISMATCHES” section and still flip hasOtherIssues=true. Compute hasIntentionalDifferences dynamically and skip them in the first pass to avoid noise and incorrect CI summaries. Apply: // Packages that are intentionally different for technical reasons
-const intentionallyDifferentPackages = [];
+const intentionallyDifferentPackages = [];
@@
-let hasIntentionalDifferences = intentionallyDifferentPackages.length > 0;
+// Only true if at least one intentionally-different package actually has a mismatch
+let hasIntentionalDifferences = intentionallyDifferentPackages.some(pkg => {
+ const versions = depVersions.get(pkg);
+ return versions && versions.size > 1;
+});
@@
for (const category of categories) {
let categoryHasIssues = false;
for (const pkg of category.packages) {
- if (criticalPackages.includes(pkg)) continue; // Skip critical packages, already shown above
+ if (
+ criticalPackages.includes(pkg) ||
+ intentionallyDifferentPackages.includes(pkg)
+ ) {
+ continue; // Skip critical and intentional differences in this section
+ }
const versions = depVersions.get(pkg);
if (versions && versions.size > 1) {Also applies to: 330-331, 344-374 |
||
| function record(map, key, version, filePath) { | ||
| if (!version) return; | ||
| if (!map.has(key)) map.set(key, new Map()); | ||
|
|
@@ -325,6 +327,7 @@ if (pm && pm.size > 1) { | |
|
|
||
| // Check for other package mismatches | ||
| let hasOtherIssues = false; | ||
| let hasIntentionalDifferences = intentionallyDifferentPackages.length > 0; | ||
| const categories = [ | ||
| { name: 'React Native', packages: reactNativePackages }, | ||
| { name: 'Tamagui UI', packages: tamaguiPackages }, | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,7 +22,7 @@ | |
| "exclude": [ | ||
| "node_modules", | ||
| "**/__tests__/*", | ||
| "dist", | ||
| "dist" | ||
| ], | ||
| "references": [ | ||
| { | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.