updating-package-versions

작성자: flutter

게시된 패키지의 종속성 버전 업데이트를 안내하여 모노레포 해결 실패를 방지합니다.

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.

flutter의 다른 스킬

adding-release-notes
flutter
사용자 대상 변경 사항 설명을 DevTools 릴리스 노트에 추가합니다. NEXT_RELEASE_NOTES.md 파일에 개선 사항, 수정 사항 또는 새로운 기능을 문서화할 때 사용하세요.
official
dart-modern-features
flutter
현대화를 위한 후보를 찾으려면:
official
api-review
flutter
지정된 코드를 표준 API 설계 지침에 맞춰 검토합니다. 사용자가 API 리뷰를 요청하거나 API 설계에 따라 코드를 확인할 때 이 스킬을 사용하세요…
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를 사용하여 활성 스택 트레이스를 가져오고, 실패한 줄을 찾아 수정을 적용한 후 hot_reload를 통해 해결 여부를 확인합니다.
official