gg_one 10.1.0
gg_one: ^10.1.0 copied to clipboard
A collection of checks and actions like analyzing, linting, testing, code coverage, committing, pushing, publishing.
Changelog #
10.1.0 - 2026-07-16 #
Added #
- delete_feature_branch (bool, optional) in
.gg-publish.json: replaces the interactive delete-feature-branch prompt, so a config-driven publish is fully headless.do configure-publishnow asks the question up front (presettable via--delete-feature-branch) anddo publishpersists the decision in the runtime file — a resumed run never re-asks, and no prompt sits between the irreversible publish steps anymore. - All default prompts (version increment, merge message, branch/ticket
deletion) fail fast with an actionable error when stdin is not a
terminal (new throwWhenNotATerminal in
tools/terminal_guard.dart), instead of hanging forever in CI or piped shells.
Changed #
- Tidy CHANGELOG Unreleased sections
10.0.0 - 2026-07-15 #
Added #
do configure-publish: new command that interactively writes<repo>/.gg/.gg-publish.json(version increment + merge message;-mpresets the message).do publishruns it automatically when started without a resolved configuration, so all interactive decisions happen before the unattended publish. The command also makes sure.gg/.gg-publish.jsonis listed in.gitignore(appending and committing the entry once per repo).do publish --continue/--reconfigure: per-step publish progress (done_steps: prepare_version, publish_registry, merge, tag) is recorded in.gg/.gg-publish.jsonand a failed publish resumes at the first open step — including the version tag, which the old hash-based state could silently skip. A leftover progress file makes a plain re-run refuse until--continueor--reconfigureis chosen. The file stores the feature branch (trusted only when resuming) and is deleted after a fully successful publish. On resume, the hash-keyeddid commitcheck still runs, so raw commits added after the failure are never published unvalidated; the feature-branch deletion is idempotent and re-runs; when the merge is already done, the default branch is checked out before the first push.do configure-publishrefuses to overwrite a file that carriesdone_steps(code review).DoPublish.execacceptsresume:sogg_multi do publish --continueresumes each repo at its open step.PublishConfig: done_steps + branch runtime fields with withStepDone/isStepDone/hasStepProgress; newEnsurePublishConfigIgnoredtool;GgState.ignoreFilesnow excludes.gg/.gg-publish.jsonfrom content hashes.
Changed #
- Breaking:
DoPublishno longer takes versionSelector / editMessage — both prompts live in the injectableDoConfigurePublishnow. The publish-step resume no longer uses the hash-keyed doPrepareVersion/doPublishPubDev/doMerge GgState keys; doPublish/doCommit are still written fordid publishand the pre-push hook. - Tidy CHANGELOGs: single Unreleased section and chronological order
Fixed #
- Code-review fixes: resume-safe branch handling, progress guards for configure/--config, did-commit check and idempotent branch deletion on resume
9.5.0 - 2026-07-06 #
Changed #
- feat: merge via auto-complete pull request on protected main (Azure) and wait until merged
- docs(gg_one): document protected-main pull-request publish flow
- gg_multi: changed references to git
9.4.0 - 2026-07-01 #
Changed #
- npm-logged-in: resolve the package's actual publish registry
(
publishConfig.registry→@scope:registry→ defaultregistry) and runwhoamiagainst that registry, instead of always checking npmjs.org. This makes the check work for Azure DevOps, GitHub Packages and other private registries. Registries without reliablewhoamisupport (e.g. Azure DevOps) are skipped gracefully instead of failing the check — the auth is verified for real at publish time.
9.3.0 - 2026-07-01 #
Changed #
- feat(gg): interactive npm publish + npm-logged-in precheck; package.json prepublishOnly->build->test rules (bridges exempt from build->test); do review pnpm blockExoticSubdeps + stdout; can publish runs per-repo can-publish; do merge/publish write doCommit; pana skip label
- gg_multi: changed references to git
9.2.2 - 2026-06-26 #
Changed #
- Preserve dependency constraint operator (^^/~/exact) through publish
- gg_multi: changed references to git
9.2.0 - 2026-06-19 #
Added #
- Add 'package-json-scripts' check to can commit: TypeScript projects (incl. bridges) must declare test/build/lint/prepublish in package.json, and prepublish must run test and build; Dart projects are skipped
Changed #
- Treat dart-typescript bridge repos as TypeScript for can/do commit, running package.json scripts (test/lint/format:check)
- Treat dart-typescript bridge repos as TypeScript for can/do review (npm install, skip dart pub get); export isBridgeProject from gg_one
- Introduce checkProjectType() as single source of truth for bridge->TypeScript check rule; add .example() real-instance factories & P:\programs\flutter/bin/internal/exit_with_errorlevel.bat
- Publish bridges as TypeScript: pnpm-aware publish, dual-manifest version bump, non-swallowed publish errors, idempotent resume, review skips merged repos, link: for local TS deps, package.json scripts check
- gg_multi: changed references to git
- Pana check: skip stdout preamble before JSON (robust parse of cold-run pana output)
9.1.0 - 2026-06-09 #
Changed #
- feat(ts): version-pinned git deps via #semver: + tag-push for npm/pnpm
- refactor(ts): trim comments to grace-cloud style limits + do_maintain layout
- style: apply grace-cloud comment + 80-char limits across ticket
9.0.0 - 2026-06-08 #
Changed #
- feat: language-universal commit/publish via gg_lang (isDartFamily gating, lockFileFor, registry-aware dispatch)
- test: real PublishConfig tests + dart format tidy; bypass known TOCTOU flake in gg_state.readSuccess under parallel coverage
- gg_multi: changed references to git
- gg_multi: changed references to git
- gg_multi: changed references to git
8.2.1 - 2026-05-19 #
Changed #
CanCommit:dart pub get --offline(or the Flutter equivalent) now runs as a regular check below theCan commit?header and is logged asRunning "dart pub get --offline", matching the style of the other checks (was framed with»«and printed above the header).- Renamed package from
ggtogg_oneand moved the repository to https://github.com/ggsuite/gg_one. The previous history (versions up to and including7.0.5) lives at https://github.com/ggsuite/gg at commit9141ef54f5edac470d119a39285813299143898f.
8.1.1 - 2026-05-19 #
Changed #
- gg_multi: changed references to git
- Gg Multi: changed references to pub.dev
7.0.5 - 2026-05-04 #
7.0.4 - 2026-04-28 #
Changed #
- Execute git fetch and git pull on the main branch before merging in gg do merge
7.0.3 - 2026-04-23 #
Changed #
- Refactor: resolve delete-feature-branch only when needed
- Create ticket for lazy-resolve-delete-feature-branch
7.0.2 - 2026-04-23 #
7.0.1 - 2026-04-22 #
7.0.0 - 2026-04-20 #
6.3.1 - 2026-04-15 #
6.3.0 - 2026-04-13 #
6.1.4 - 2026-04-10 #
6.1.2 - 2026-03-30 #
6.0.3 - 2026-03-27 #
6.0.0 - 2026-03-26 #
Changed #
- Refactor do_publish to use gitPush with pushTags and update tests
- Wrap checkout logic in status printer for progress output
5.0.0 - 2026-03-16 #
4.0.7 - 2026-03-08 #
Added #
- Add VersionSelector with interact support and related tests
- Add IsFeatureBranch to CanPublish and update dependencies
Changed #
- move .gg.json to .gg/.gg.json and update related code/tests
- Refactor do_publish to add version selector and local merge step
Fixed #
- Fix copy right header in auto created Test files
4.0.5 - 2026-01-20 #
Changed #
- Ignore missing version in CHANGELOG when running pana because version is managed by gg
4.0.4 - 2025-08-16 #
Added #
- Add --ignoreUnstaged option to gg can commit and gg can push
- Update gg_merge to version 1.0.2
- BREAKING CHANGE: V.5.0.0: Git must be set to EOF LF
- Add message parameter to exec and get in do merge
4.0.2 - 2025-08-11 #
Added #
- Add .gitattributes file
- Add pubspeck.lock and .kidney_status to ignored files
4.0.1 - 2025-08-11 #
4.0.0 - 2025-08-11 #
3.1.1 - 2025-08-11 #
3.1.0 - 2025-08-02 #
3.0.23 - 2025-06-19 #
3.0.18 - 2025-06-05 #
3.0.15 - 2024-10-03 #
3.0.12 - 2024-08-30 #
Changed #
- Change launch.json
- Test change
- Prevent updating the hash for CanUpgrade.
3.0.11 - 2024-08-30 #
Changed #
- Pretty print .gg.json
- Hashes wil be calculated independent of line feeds
3.0.10 - 2024-08-30 #
Changed #
- Update dependencies to latest versions
- Make pana work on windows
- Run tests on MacOS
3.0.8 - 2024-08-24 #
Changed #
- Update gg_test to 1.0.19. Only failing error lines are shown, but not details.
3.0.2 - 2024-04-13 #
3.0.1 - 2024-04-13 #
Added #
- mocks for DidPush, DidPublish
- DidUpgrade
- CanUpgrade, Improve mocks
- upgrade dependencies and make tests work again
- Tests for DoUpgrade
- did upgrade only checks if changes are available on pub.dev
- DoMaintain to check if everything is upgraded and published from time to time
Changed #
- Parentheses are not necessary anymore
- improved comments of DidCommit, DidPublish and DidPush
- Improved help for CanCommit, CanPush, CanPublish
- DidUpgrade checks also if everything is upgraded
Removed #
- Upgrade check before pushing
- dependency to gg_install_gg, remove ./check script
- Upgrading does not trigger a commit and a publish
2.0.5 - 2024-04-10 #
Fixed #
- DoPublish: Don't confirm package not published to pub.dev, small fixes
- Pipeline: Disable cache
2.0.4 - 2024-04-09 #
2.0.3 - 2024-04-09 #
2.0.1 - 2024-04-06 #
2.0.0 - 2024-04-06 #
Added #
- New sub command »gg info modified-files and »gg info »last-changes-hash«
- DoCommit: When everything is committed, no message an log type are needed.
- Option --no-log to allow committing without change CHANGELOG.md
- Pipeline: Print modified files + changes hash
Changed #
- Pipeline: Use globally installed version of gg
- Kidney: Auto check all repos
- Breaking change: Renamed log type values into add | change | deprecate | fix | remove | secure
Fixed #
- Wrong option in command line output
- An error which can lead to sporadic test fails
1.0.16 - 2024-04-05 #
1.0.15 - 2024-04-05 #
Added #
- --save-state option for commands like gg can commit\n\nThis is needed to make GitHub pipelines work
- Setup pipeline git username and email
- pubspec.lock to .gitignore
- Add various outputs to test pipeline issues
Removed #
- Removed unused sample project
- logStatus is replaced by GgStatusPrinter
- isGitHub is replaced by gg_is_github
- Pipeline: remove --no-save-state flag
1.0.14 - 2024-04-05 #
1.0.12 - 2024-04-04 #
- Initial version
<<<<<<< Updated upstream #
Unreleased: https://github.com/inlavigo/gg/compare/6.0.1...HEAD
Stashed changes