updating-package-versions

โดย flutter

แนะนำการอัปเดตเวอร์ชันของ dependencies ในแพ็กเกจที่เผยแพร่แล้ว เพื่อหลีกเลี่ยงความล้มเหลวในการแก้ไขปัญหา mono-repo

npx skills add https://github.com/flutter/devtools --skill updating-package-versions

Updating Package Versions

When updating dependency versions in published package pubspec.yaml files (devtools_shared, devtools_app_shared, and devtools_extensions), follow these rules to protect the local mono-repo workspace graph:

  • Version Decisions: Decide if it should be a major, minor, or patch version based on your edits:
    • Breaking changes: Major bump (+1 to first component, others reset to 0). E.g., removals of public constants, properties, getters/setters, or APIs.
    • New features or deprecation start: Minor bump (+1 to second component, patch resets to 0).
    • Bug fixes and non-breaking changes: Patch bump (+1 to third component).
  • Match Exact Versions: Always use the actual version specified in the target package's pubspec.yaml file.
  • Suffix Preservation: If a requested version contains a suffix like -wip (e.g., 13.0.0-wip), the full string MUST be used in dependency constraints (e.g., devtools_shared: ^13.0.0-wip).
  • Prevent Graph Failures: Do not drop the suffix or estimate the base version tags. Version solver operations will fail in the local workspace if dependencies point to published strings that can't be resolved in non-published repositories.
  • No Dependencies on Unpublished Packages: Published packages (devtools_shared, devtools_app_shared, and devtools_extensions) MUST NOT depend on unpublished packages like devtools_app or devtools_test.
  • Resolution Testing: After updating versions, run flutter pub get in the repository to ensure version solving is satisfied. If this returns errors, you should fix the errors and try again.
  • Updating devtools_app: In packages/devtools_app/pubspec.yaml:
    • Dependencies on published packages do not have version constraints. This is intentional; do not change this when updating versions.
    • Always use the dt update-version tool to update the devtools_app version.
    • This should only be updated for monthly releases and cherry pick releases, so perform this update only when explicitly asked to.

Skills เพิ่มเติมจาก flutter

dart-modern-features
flutter
เพื่อหาผู้สมัครสำหรับการปรับปรุงให้ทันสมัย:
flutter-fix-layout-issues
flutter
แก้ไขข้อผิดพลาดการจัดวาง Flutter (โอเวอร์โฟลว์, ข้อจำกัดที่ไม่มีขอบเขต) โดยใช้เครื่องมือ Dart และ Flutter MCP ใช้เมื่อจัดการกับ "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
เพิ่มคำอธิบายการเปลี่ยนแปลงที่ผู้ใช้เห็นลงในบันทึกประจำรุ่นของ DevTools ใช้เมื่อบันทึกการปรับปรุง การแก้ไข หรือฟีเจอร์ใหม่ในไฟล์ NEXT_RELEASE_NOTES.md
reviewing-devtools-prs
flutter
เวิร์กโฟลว์การรีวิว PR เฉพาะคลังของ DevTools ที่บังคับใช้แนวทางสไตล์ของ DevTools และรูปแบบการรีวิวทั่วไป ใช้เมื่อรีวิว pull requests ใน...
dart-use-primary-constructors
flutter
ช่วยให้ผู้ใช้เขียนคอนสตรักเตอร์หลักใน Dart ที่ถูกต้องทั้งทางไวยากรณ์และความหมาย และย้าย/ใช้งานไวยากรณ์คอนสตรักเตอร์แบบใหม่ ไวยากรณ์เซมิโคลอนแบบไม่มีเนื้อหา…
code-documentation
flutter
คู่มือสำหรับการเขียนเอกสารประกอบโค้ดอย่างมีประสิทธิภาพ รวมถึง docstrings, JSDoc, dartdoc และคอมเมนต์การใช้งาน ใช้ทักษะนี้เมื่อเขียนโค้ดใหม่ เพิ่มเติม…
api-review
flutter
ตรวจสอบโค้ดที่ระบุเทียบกับแนวทาง API Design มาตรฐาน ใช้สกิลนี้เมื่อผู้ใช้ขอให้รีวิว API หรือตรวจสอบโค้ดตามแนวทาง API design…
flutter-accessibility
flutter
ใช้มาตรฐานการเข้าถึง WCAG 2 และ EN 301 549 รวมถึงเลย์เอาต์แบบปรับเปลี่ยนได้ในแอป Flutter บังคับใช้คำอธิบายเชิงความหมาย ขนาดเป้าหมายการแตะ (ขั้นต่ำ 48x48 dp) และอัตราส่วนความคมชัดของข้อความ (4.5:1 สำหรับข้อความขนาดเล็ก, 3:1 สำหรับข้อความขนาดใหญ่) บนแพลตฟอร์มมือถือ เว็บ และเดสก์ท็อป มีตรรกะการตัดสินใจสำหรับการเริ่มต้นความหมายบนเว็บ การห่อวิดเจ็ตแบบโต้ตอบ การสลับเลย์เอาต์ตามขนาดหน้าจอ และการจัดการอินพุตคีย์บอร์ด/เมาส์ รวมถึงการจัดการการนำทางโฟกัสผ่าน FocusTraversalGroup และ...