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

adding-release-notes
flutter
เพิ่มคำอธิบายการเปลี่ยนแปลงที่ผู้ใช้เห็นลงในบันทึกประจำรุ่นของ DevTools ใช้เมื่อบันทึกการปรับปรุง การแก้ไข หรือฟีเจอร์ใหม่ในไฟล์ NEXT_RELEASE_NOTES.md
official
dart-modern-features
flutter
เพื่อหาผู้สมัครสำหรับการปรับปรุงให้ทันสมัย:
official
api-review
flutter
ตรวจสอบโค้ดที่ระบุเทียบกับแนวทาง API Design มาตรฐาน ใช้สกิลนี้เมื่อผู้ใช้ขอให้รีวิว API หรือตรวจสอบโค้ดตามแนวทาง API design…
official
code-documentation
flutter
คู่มือสำหรับการเขียนเอกสารประกอบโค้ดอย่างมีประสิทธิภาพ รวมถึง docstrings, JSDoc, dartdoc และคอมเมนต์การใช้งาน ใช้ทักษะนี้เมื่อเขียนโค้ดใหม่ เพิ่มเติม…
official
dart-add-unit-test
flutter
Write and organize unit tests for functions, methods, and classes using `package:test`. Use when creating new logic or fixing bugs to ensure code remains…
official
dart-build-cli-app
flutter
โครงสร้างจุดเริ่มต้น, รหัสออกจากโปรแกรม, สคริปต์ข้ามแพลตฟอร์ม ใช้เมื่อสร้างยูทิลิตี้คำสั่ง, สคริปต์, หรือแอปพลิเคชัน
official
dart-collect-coverage
flutter
เก็บข้อมูลความครอบคลุมโดยใช้แพ็กเกจ coverage และสร้างรายงาน LCOV
official
dart-fix-runtime-errors
flutter
ใช้ get_runtime_errors และ lsp เพื่อดึง stack trace ที่ใช้งานอยู่ ค้นหาบรรทัดที่เกิดข้อผิดพลาด ใช้การแก้ไข และตรวจสอบผลลัพธ์ผ่าน hot_reload
official