release-monorepo-semantically 1.7.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -72
- package/bin/release.mjs +2 -5
- package/dist/cli/Application.d.ts +15 -0
- package/dist/cli/Application.d.ts.map +1 -0
- package/dist/cli/Application.js +52 -0
- package/dist/cli/Application.js.map +1 -0
- package/dist/cli/IErrorHandler.d.ts +6 -0
- package/dist/cli/IErrorHandler.d.ts.map +1 -0
- package/dist/cli/IErrorHandler.js +3 -0
- package/dist/cli/IErrorHandler.js.map +1 -0
- package/dist/cli/decorators.d.ts +17 -0
- package/dist/cli/decorators.d.ts.map +1 -0
- package/dist/cli/decorators.js +15 -0
- package/dist/cli/decorators.js.map +1 -0
- package/dist/cli/execute.d.ts +11 -0
- package/dist/cli/execute.d.ts.map +1 -0
- package/dist/cli/execute.js +31 -0
- package/dist/cli/execute.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/{models → domain}/ConventionalCommit.d.ts +11 -1
- package/dist/domain/ConventionalCommit.d.ts.map +1 -0
- package/dist/{models → domain}/ConventionalCommit.js +14 -11
- package/dist/domain/ConventionalCommit.js.map +1 -0
- package/dist/domain/GlobalConfig.d.ts +7 -0
- package/dist/domain/GlobalConfig.d.ts.map +1 -0
- package/dist/domain/GlobalConfig.js +6 -0
- package/dist/domain/GlobalConfig.js.map +1 -0
- package/dist/{models → domain}/NpmPackage.d.ts +16 -4
- package/dist/domain/NpmPackage.d.ts.map +1 -0
- package/dist/{models → domain}/NpmPackage.js +20 -11
- package/dist/domain/NpmPackage.js.map +1 -0
- package/dist/{models → domain}/PackageJSON.d.ts.map +1 -1
- package/dist/domain/PackageJSON.js +2 -0
- package/dist/{models → domain}/PackageJSON.js.map +1 -1
- package/dist/domain/ReleaseControllerContext.d.ts +10 -0
- package/dist/domain/ReleaseControllerContext.d.ts.map +1 -0
- package/dist/domain/ReleaseControllerContext.js +19 -0
- package/dist/domain/ReleaseControllerContext.js.map +1 -0
- package/dist/domain/ReleaseTypes.d.ts +6 -0
- package/dist/domain/ReleaseTypes.d.ts.map +1 -0
- package/dist/domain/ReleaseTypes.js +2 -0
- package/dist/{models → domain}/ReleaseTypes.js.map +1 -1
- package/dist/{models → domain}/SemVerBumpType.d.ts +0 -1
- package/dist/{models → domain}/SemVerBumpType.d.ts.map +1 -1
- package/dist/{models → domain}/SemVerBumpType.js +4 -13
- package/dist/domain/SemVerBumpType.js.map +1 -0
- package/dist/exceptions/DomainException.d.ts +12 -0
- package/dist/exceptions/DomainException.d.ts.map +1 -1
- package/dist/exceptions/DomainException.js +26 -15
- package/dist/exceptions/DomainException.js.map +1 -1
- package/dist/exceptions/ExceptionHandler.d.ts +6 -0
- package/dist/exceptions/ExceptionHandler.d.ts.map +1 -0
- package/dist/exceptions/ExceptionHandler.js +28 -0
- package/dist/exceptions/ExceptionHandler.js.map +1 -0
- package/dist/features/changelog/ChangelogConfig.d.ts +9 -0
- package/dist/features/changelog/ChangelogConfig.d.ts.map +1 -0
- package/dist/features/changelog/ChangelogConfig.js +8 -0
- package/dist/features/changelog/ChangelogConfig.js.map +1 -0
- package/dist/features/changelog/ChangelogController.d.ts +21 -0
- package/dist/features/changelog/ChangelogController.d.ts.map +1 -0
- package/dist/features/changelog/ChangelogController.js +85 -0
- package/dist/features/changelog/ChangelogController.js.map +1 -0
- package/dist/features/changelog/ChangelogModule.d.ts +5 -0
- package/dist/features/changelog/ChangelogModule.d.ts.map +1 -0
- package/dist/features/changelog/ChangelogModule.js +8 -0
- package/dist/features/changelog/ChangelogModule.js.map +1 -0
- package/{templates → dist/features/changelog}/changelog.hbs +8 -8
- package/dist/features/packageJson/PackageController.d.ts +13 -0
- package/dist/features/packageJson/PackageController.d.ts.map +1 -0
- package/dist/features/packageJson/PackageController.js +72 -0
- package/dist/features/packageJson/PackageController.js.map +1 -0
- package/dist/features/packageJson/PackageJsonConfig.d.ts +7 -0
- package/dist/features/packageJson/PackageJsonConfig.d.ts.map +1 -0
- package/dist/features/packageJson/PackageJsonConfig.js +6 -0
- package/dist/features/packageJson/PackageJsonConfig.js.map +1 -0
- package/dist/features/packageJson/PackageJsonModule.d.ts +5 -0
- package/dist/features/packageJson/PackageJsonModule.d.ts.map +1 -0
- package/dist/features/packageJson/PackageJsonModule.js +8 -0
- package/dist/features/packageJson/PackageJsonModule.js.map +1 -0
- package/dist/features/packageManager/PackageManagerConfig.d.ts +13 -0
- package/dist/features/packageManager/PackageManagerConfig.d.ts.map +1 -0
- package/dist/features/packageManager/PackageManagerConfig.js +13 -0
- package/dist/features/packageManager/PackageManagerConfig.js.map +1 -0
- package/dist/features/packageManager/PackageManagerController.d.ts +14 -0
- package/dist/features/packageManager/PackageManagerController.d.ts.map +1 -0
- package/dist/features/packageManager/PackageManagerController.js +86 -0
- package/dist/features/packageManager/PackageManagerController.js.map +1 -0
- package/dist/features/packageManager/PackageManagerModule.d.ts +5 -0
- package/dist/features/packageManager/PackageManagerModule.d.ts.map +1 -0
- package/dist/features/packageManager/PackageManagerModule.js +10 -0
- package/dist/features/packageManager/PackageManagerModule.js.map +1 -0
- package/dist/features/packageManager/services/PNPMPackageManager.d.ts +7 -0
- package/dist/features/packageManager/services/PNPMPackageManager.d.ts.map +1 -0
- package/dist/features/packageManager/services/PNPMPackageManager.js +30 -0
- package/dist/features/packageManager/services/PNPMPackageManager.js.map +1 -0
- package/dist/features/packageManager/services/PackageManager.d.ts +7 -0
- package/dist/features/packageManager/services/PackageManager.d.ts.map +1 -0
- package/dist/features/packageManager/services/PackageManager.js +3 -0
- package/dist/features/packageManager/services/PackageManager.js.map +1 -0
- package/dist/features/releaseNotes/ReleaseNotesConfig.d.ts +14 -0
- package/dist/features/releaseNotes/ReleaseNotesConfig.d.ts.map +1 -0
- package/dist/features/releaseNotes/ReleaseNotesConfig.js +22 -0
- package/dist/features/releaseNotes/ReleaseNotesConfig.js.map +1 -0
- package/dist/features/releaseNotes/ReleaseNotesController.d.ts +21 -0
- package/dist/features/releaseNotes/ReleaseNotesController.d.ts.map +1 -0
- package/dist/features/releaseNotes/ReleaseNotesController.js +116 -0
- package/dist/features/releaseNotes/ReleaseNotesController.js.map +1 -0
- package/dist/features/releaseNotes/ReleaseNotesModule.d.ts +5 -0
- package/dist/features/releaseNotes/ReleaseNotesModule.d.ts.map +1 -0
- package/dist/features/releaseNotes/ReleaseNotesModule.js +10 -0
- package/dist/features/releaseNotes/ReleaseNotesModule.js.map +1 -0
- package/dist/features/releaseNotes/services/GithubService.d.ts +7 -0
- package/dist/features/releaseNotes/services/GithubService.d.ts.map +1 -0
- package/dist/features/releaseNotes/services/GithubService.js +49 -0
- package/dist/features/releaseNotes/services/GithubService.js.map +1 -0
- package/dist/features/releaseNotes/services/ReleaseNotesService.d.ts +15 -0
- package/dist/features/releaseNotes/services/ReleaseNotesService.d.ts.map +1 -0
- package/dist/features/releaseNotes/services/ReleaseNotesService.js +3 -0
- package/dist/features/releaseNotes/services/ReleaseNotesService.js.map +1 -0
- package/dist/features/report/ReportController.d.ts +20 -0
- package/dist/features/report/ReportController.d.ts.map +1 -0
- package/dist/features/report/ReportController.js +107 -0
- package/dist/features/report/ReportController.js.map +1 -0
- package/dist/features/report/ReportModule.d.ts +5 -0
- package/dist/features/report/ReportModule.d.ts.map +1 -0
- package/dist/features/report/ReportModule.js +9 -0
- package/dist/features/report/ReportModule.js.map +1 -0
- package/dist/features/vcs/VCSConfig.d.ts +12 -0
- package/dist/features/vcs/VCSConfig.d.ts.map +1 -0
- package/dist/features/vcs/VCSConfig.js +14 -0
- package/dist/features/vcs/VCSConfig.js.map +1 -0
- package/dist/features/vcs/VCSController.d.ts +23 -0
- package/dist/features/vcs/VCSController.d.ts.map +1 -0
- package/dist/features/vcs/VCSController.js +121 -0
- package/dist/features/vcs/VCSController.js.map +1 -0
- package/dist/features/vcs/VCSModule.d.ts +5 -0
- package/dist/features/vcs/VCSModule.d.ts.map +1 -0
- package/dist/features/vcs/VCSModule.js +10 -0
- package/dist/features/vcs/VCSModule.js.map +1 -0
- package/dist/features/vcs/services/GitService.d.ts +12 -0
- package/dist/features/vcs/services/GitService.d.ts.map +1 -0
- package/dist/features/vcs/services/GitService.js +56 -0
- package/dist/features/vcs/services/GitService.js.map +1 -0
- package/dist/features/vcs/services/VSCService.d.ts +11 -0
- package/dist/features/vcs/services/VSCService.d.ts.map +1 -0
- package/dist/features/vcs/services/VSCService.js +3 -0
- package/dist/features/vcs/services/VSCService.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -63
- package/dist/index.js.map +1 -1
- package/dist/modules/CommonModule.d.ts +11 -0
- package/dist/modules/CommonModule.d.ts.map +1 -0
- package/dist/modules/CommonModule.js +23 -0
- package/dist/modules/CommonModule.js.map +1 -0
- package/dist/services/ConsoleLogger.d.ts +8 -2
- package/dist/services/ConsoleLogger.d.ts.map +1 -1
- package/dist/services/ConsoleLogger.js +35 -9
- package/dist/services/ConsoleLogger.js.map +1 -1
- package/dist/services/HandlebarsRenderService.d.ts +26 -7
- package/dist/services/HandlebarsRenderService.d.ts.map +1 -1
- package/dist/services/HandlebarsRenderService.js +137 -56
- package/dist/services/HandlebarsRenderService.js.map +1 -1
- package/dist/services/NodeFileSystemService.d.ts +57 -4
- package/dist/services/NodeFileSystemService.d.ts.map +1 -1
- package/dist/services/NodeFileSystemService.js +62 -36
- package/dist/services/NodeFileSystemService.js.map +1 -1
- package/dist/services/OutputService.d.ts +9 -0
- package/dist/services/OutputService.d.ts.map +1 -0
- package/dist/services/OutputService.js +19 -0
- package/dist/services/OutputService.js.map +1 -0
- package/dist/services/PluginsConfigService.d.ts +20 -0
- package/dist/services/PluginsConfigService.d.ts.map +1 -0
- package/dist/services/PluginsConfigService.js +96 -0
- package/dist/services/PluginsConfigService.js.map +1 -0
- package/dist/utils/cli.d.ts +19 -0
- package/dist/utils/cli.d.ts.map +1 -0
- package/dist/utils/cli.js +28 -0
- package/dist/utils/cli.js.map +1 -0
- package/dist/utils/sortLessDependenciesFirst.js +1 -4
- package/dist/utils/sortLessDependenciesFirst.js.map +1 -1
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +3 -6
- package/dist/utils/utils.js.map +1 -1
- package/package.json +24 -6
- package/dist/Controller.d.ts +0 -20
- package/dist/Controller.d.ts.map +0 -1
- package/dist/Controller.js +0 -82
- package/dist/Controller.js.map +0 -1
- package/dist/Controller.spec.d.ts +0 -2
- package/dist/Controller.spec.d.ts.map +0 -1
- package/dist/Controller.spec.js +0 -103
- package/dist/Controller.spec.js.map +0 -1
- package/dist/index.spec.d.ts +0 -2
- package/dist/index.spec.d.ts.map +0 -1
- package/dist/index.spec.js +0 -52
- package/dist/index.spec.js.map +0 -1
- package/dist/models/CliOptions.d.ts +0 -11
- package/dist/models/CliOptions.d.ts.map +0 -1
- package/dist/models/CliOptions.js +0 -3
- package/dist/models/CliOptions.js.map +0 -1
- package/dist/models/ConventionalCommit.d.ts.map +0 -1
- package/dist/models/ConventionalCommit.js.map +0 -1
- package/dist/models/ConventionalCommit.spec.d.ts +0 -2
- package/dist/models/ConventionalCommit.spec.d.ts.map +0 -1
- package/dist/models/ConventionalCommit.spec.js +0 -74
- package/dist/models/ConventionalCommit.spec.js.map +0 -1
- package/dist/models/NpmPackage.d.ts.map +0 -1
- package/dist/models/NpmPackage.js.map +0 -1
- package/dist/models/NpmPackage.spec.d.ts +0 -2
- package/dist/models/NpmPackage.spec.d.ts.map +0 -1
- package/dist/models/NpmPackage.spec.js +0 -21
- package/dist/models/NpmPackage.spec.js.map +0 -1
- package/dist/models/PackageJSON.js +0 -3
- package/dist/models/ReleaseTypes.d.ts +0 -11
- package/dist/models/ReleaseTypes.d.ts.map +0 -1
- package/dist/models/ReleaseTypes.js +0 -3
- package/dist/models/SemVerBumpType.js.map +0 -1
- package/dist/models/SemVerBumpType.spec.d.ts +0 -2
- package/dist/models/SemVerBumpType.spec.d.ts.map +0 -1
- package/dist/models/SemVerBumpType.spec.js +0 -19
- package/dist/models/SemVerBumpType.spec.js.map +0 -1
- package/dist/plugins/ChangelogPlugin.d.ts +0 -13
- package/dist/plugins/ChangelogPlugin.d.ts.map +0 -1
- package/dist/plugins/ChangelogPlugin.js +0 -37
- package/dist/plugins/ChangelogPlugin.js.map +0 -1
- package/dist/plugins/ChangelogPlugin.spec.d.ts +0 -2
- package/dist/plugins/ChangelogPlugin.spec.d.ts.map +0 -1
- package/dist/plugins/ChangelogPlugin.spec.js +0 -106
- package/dist/plugins/ChangelogPlugin.spec.js.map +0 -1
- package/dist/plugins/GitPlugin.d.ts +0 -15
- package/dist/plugins/GitPlugin.d.ts.map +0 -1
- package/dist/plugins/GitPlugin.js +0 -42
- package/dist/plugins/GitPlugin.js.map +0 -1
- package/dist/plugins/GitPlugin.spec.d.ts +0 -2
- package/dist/plugins/GitPlugin.spec.d.ts.map +0 -1
- package/dist/plugins/GitPlugin.spec.js +0 -92
- package/dist/plugins/GitPlugin.spec.js.map +0 -1
- package/dist/plugins/GithubPlugin.d.ts +0 -20
- package/dist/plugins/GithubPlugin.d.ts.map +0 -1
- package/dist/plugins/GithubPlugin.js +0 -73
- package/dist/plugins/GithubPlugin.js.map +0 -1
- package/dist/plugins/GithubPlugin.spec.d.ts +0 -2
- package/dist/plugins/GithubPlugin.spec.d.ts.map +0 -1
- package/dist/plugins/GithubPlugin.spec.js +0 -174
- package/dist/plugins/GithubPlugin.spec.js.map +0 -1
- package/dist/plugins/NpmPlugin.d.ts +0 -11
- package/dist/plugins/NpmPlugin.d.ts.map +0 -1
- package/dist/plugins/NpmPlugin.js +0 -35
- package/dist/plugins/NpmPlugin.js.map +0 -1
- package/dist/plugins/NpmPlugin.spec.d.ts +0 -2
- package/dist/plugins/NpmPlugin.spec.d.ts.map +0 -1
- package/dist/plugins/NpmPlugin.spec.js +0 -101
- package/dist/plugins/NpmPlugin.spec.js.map +0 -1
- package/dist/plugins/PackageJsonPlugin.d.ts +0 -10
- package/dist/plugins/PackageJsonPlugin.d.ts.map +0 -1
- package/dist/plugins/PackageJsonPlugin.js +0 -30
- package/dist/plugins/PackageJsonPlugin.js.map +0 -1
- package/dist/plugins/PackageJsonPlugin.spec.d.ts +0 -2
- package/dist/plugins/PackageJsonPlugin.spec.d.ts.map +0 -1
- package/dist/plugins/PackageJsonPlugin.spec.js +0 -97
- package/dist/plugins/PackageJsonPlugin.spec.js.map +0 -1
- package/dist/plugins/ReleasePlugin.d.ts +0 -24
- package/dist/plugins/ReleasePlugin.d.ts.map +0 -1
- package/dist/plugins/ReleasePlugin.js +0 -3
- package/dist/plugins/ReleasePlugin.js.map +0 -1
- package/dist/services/ChangelogView.d.ts +0 -17
- package/dist/services/ChangelogView.d.ts.map +0 -1
- package/dist/services/ChangelogView.js +0 -40
- package/dist/services/ChangelogView.js.map +0 -1
- package/dist/services/ChangelogView.spec.d.ts +0 -2
- package/dist/services/ChangelogView.spec.d.ts.map +0 -1
- package/dist/services/ChangelogView.spec.js +0 -56
- package/dist/services/ChangelogView.spec.js.map +0 -1
- package/dist/services/CliOptionsService.d.ts +0 -6
- package/dist/services/CliOptionsService.d.ts.map +0 -1
- package/dist/services/CliOptionsService.js +0 -50
- package/dist/services/CliOptionsService.js.map +0 -1
- package/dist/services/CliOptionsService.spec.d.ts +0 -2
- package/dist/services/CliOptionsService.spec.d.ts.map +0 -1
- package/dist/services/CliOptionsService.spec.js +0 -38
- package/dist/services/CliOptionsService.spec.js.map +0 -1
- package/dist/services/ConsoleLogger.spec.d.ts +0 -2
- package/dist/services/ConsoleLogger.spec.d.ts.map +0 -1
- package/dist/services/ConsoleLogger.spec.js +0 -22
- package/dist/services/ConsoleLogger.spec.js.map +0 -1
- package/dist/services/ExceptionHandler.d.ts +0 -4
- package/dist/services/ExceptionHandler.d.ts.map +0 -1
- package/dist/services/ExceptionHandler.js +0 -15
- package/dist/services/ExceptionHandler.js.map +0 -1
- package/dist/services/ExceptionHandler.spec.d.ts +0 -2
- package/dist/services/ExceptionHandler.spec.d.ts.map +0 -1
- package/dist/services/ExceptionHandler.spec.js +0 -21
- package/dist/services/ExceptionHandler.spec.js.map +0 -1
- package/dist/services/GitService.d.ts +0 -10
- package/dist/services/GitService.d.ts.map +0 -1
- package/dist/services/GitService.js +0 -46
- package/dist/services/GitService.js.map +0 -1
- package/dist/services/GitService.spec.d.ts +0 -2
- package/dist/services/GitService.spec.d.ts.map +0 -1
- package/dist/services/GitService.spec.js +0 -65
- package/dist/services/GitService.spec.js.map +0 -1
- package/dist/services/GithubReleaseView.d.ts +0 -17
- package/dist/services/GithubReleaseView.d.ts.map +0 -1
- package/dist/services/GithubReleaseView.js +0 -17
- package/dist/services/GithubReleaseView.js.map +0 -1
- package/dist/services/GithubReleaseView.spec.d.ts +0 -2
- package/dist/services/GithubReleaseView.spec.d.ts.map +0 -1
- package/dist/services/GithubReleaseView.spec.js +0 -27
- package/dist/services/GithubReleaseView.spec.js.map +0 -1
- package/dist/services/GithubService.d.ts +0 -13
- package/dist/services/GithubService.d.ts.map +0 -1
- package/dist/services/GithubService.js +0 -39
- package/dist/services/GithubService.js.map +0 -1
- package/dist/services/HandlebarsRenderService.spec.d.ts +0 -2
- package/dist/services/HandlebarsRenderService.spec.d.ts.map +0 -1
- package/dist/services/HandlebarsRenderService.spec.js +0 -31
- package/dist/services/HandlebarsRenderService.spec.js.map +0 -1
- package/dist/services/NodeFileSystemService.spec.d.ts +0 -2
- package/dist/services/NodeFileSystemService.spec.d.ts.map +0 -1
- package/dist/services/NodeFileSystemService.spec.js +0 -62
- package/dist/services/NodeFileSystemService.spec.js.map +0 -1
- package/dist/services/PackageManager.d.ts +0 -5
- package/dist/services/PackageManager.d.ts.map +0 -1
- package/dist/services/PackageManager.js +0 -20
- package/dist/services/PackageManager.js.map +0 -1
- package/dist/services/PackageManager.spec.d.ts +0 -2
- package/dist/services/PackageManager.spec.d.ts.map +0 -1
- package/dist/services/PackageManager.spec.js +0 -60
- package/dist/services/PackageManager.spec.js.map +0 -1
- package/dist/services/ReleaseCommitView.d.ts +0 -15
- package/dist/services/ReleaseCommitView.d.ts.map +0 -1
- package/dist/services/ReleaseCommitView.js +0 -17
- package/dist/services/ReleaseCommitView.js.map +0 -1
- package/dist/services/ReleaseCommitView.spec.d.ts +0 -2
- package/dist/services/ReleaseCommitView.spec.d.ts.map +0 -1
- package/dist/services/ReleaseCommitView.spec.js +0 -35
- package/dist/services/ReleaseCommitView.spec.js.map +0 -1
- package/dist/services/ReleaseConfigService.d.ts +0 -13
- package/dist/services/ReleaseConfigService.d.ts.map +0 -1
- package/dist/services/ReleaseConfigService.js +0 -52
- package/dist/services/ReleaseConfigService.js.map +0 -1
- package/dist/services/ReleaseConfigService.spec.d.ts +0 -2
- package/dist/services/ReleaseConfigService.spec.d.ts.map +0 -1
- package/dist/services/ReleaseConfigService.spec.js +0 -126
- package/dist/services/ReleaseConfigService.spec.js.map +0 -1
- package/dist/utils/sortLessDependenciesFirst.spec.d.ts +0 -2
- package/dist/utils/sortLessDependenciesFirst.spec.d.ts.map +0 -1
- package/dist/utils/sortLessDependenciesFirst.spec.js +0 -41
- package/dist/utils/sortLessDependenciesFirst.spec.js.map +0 -1
- package/dist/utils/utils.spec.d.ts +0 -2
- package/dist/utils/utils.spec.d.ts.map +0 -1
- package/dist/utils/utils.spec.js +0 -28
- package/dist/utils/utils.spec.js.map +0 -1
- /package/dist/{models → domain}/PackageJSON.d.ts +0 -0
- /package/{templates → dist/features/releaseNotes}/github-release-notes.hbs +0 -0
- /package/{templates → dist/features/vcs}/release-commit-msg.hbs +0 -0
package/README.md
CHANGED
|
@@ -4,10 +4,12 @@ CLI for semantic versioning and release automation in `pnpm` monorepos.
|
|
|
4
4
|
|
|
5
5
|
It discovers workspace packages, analyzes conventional commits per package scope, bumps versions in dependency order, updates internal dependency versions, generates changelogs, creates a release commit and tags, optionally creates GitHub Releases, and publishes to npm.
|
|
6
6
|
|
|
7
|
+
The tool is a set of discrete steps rather than a single command: one step analyzes the repository and produces a release context, and each other step consumes that context to do one job. Your CI pipeline decides which steps to run and in what order — the tool doesn't orchestrate itself. This makes it easy to skip a step (no GitHub token? skip `release-notes`), add your own steps in between, or re-run a single step in isolation.
|
|
8
|
+
|
|
7
9
|
## Requirements
|
|
8
10
|
|
|
9
|
-
- Node.js: `>=
|
|
10
|
-
- pnpm
|
|
11
|
+
- Node.js: `>=20.11`
|
|
12
|
+
- pnpm
|
|
11
13
|
- Git repository with conventional commits
|
|
12
14
|
|
|
13
15
|
## Installation
|
|
@@ -16,10 +18,48 @@ It discovers workspace packages, analyzes conventional commits per package scope
|
|
|
16
18
|
pnpm add -D release-monorepo-semantically
|
|
17
19
|
```
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
Every step after `report` takes the JSON it produced via `--context`. A minimal pipeline, run from your monorepo root:
|
|
20
24
|
|
|
21
25
|
```bash
|
|
22
|
-
|
|
26
|
+
RELEASE_CONTEXT=$(monorepo-semantic-release report)
|
|
27
|
+
|
|
28
|
+
monorepo-semantic-release package-json --context "$RELEASE_CONTEXT"
|
|
29
|
+
monorepo-semantic-release package-manager --context "$RELEASE_CONTEXT"
|
|
30
|
+
monorepo-semantic-release changelog --context "$RELEASE_CONTEXT"
|
|
31
|
+
monorepo-semantic-release vcs --context "$RELEASE_CONTEXT"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
`report` only writes its JSON context to stdout — nothing else goes there, so it's safe to capture directly like this. Progress messages from every step go to stderr.
|
|
35
|
+
|
|
36
|
+
### GitHub Actions example
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
- name: Generate release context
|
|
40
|
+
run: |
|
|
41
|
+
RELEASE_CONTEXT=$(monorepo-semantic-release report)
|
|
42
|
+
echo "RELEASE_CONTEXT=$RELEASE_CONTEXT" >> "$GITHUB_ENV"
|
|
43
|
+
|
|
44
|
+
- name: Update internal dependency versions
|
|
45
|
+
run: monorepo-semantic-release package-json --context "$RELEASE_CONTEXT"
|
|
46
|
+
|
|
47
|
+
- name: Bump versions
|
|
48
|
+
run: monorepo-semantic-release package-manager --context "$RELEASE_CONTEXT"
|
|
49
|
+
|
|
50
|
+
- name: Generate changelogs
|
|
51
|
+
run: monorepo-semantic-release changelog --context "$RELEASE_CONTEXT"
|
|
52
|
+
|
|
53
|
+
- name: Commit, tag and push
|
|
54
|
+
run: monorepo-semantic-release vcs --context "$RELEASE_CONTEXT"
|
|
55
|
+
|
|
56
|
+
- name: Publish to npm
|
|
57
|
+
run: monorepo-semantic-release package-manager publish --context "$RELEASE_CONTEXT"
|
|
58
|
+
|
|
59
|
+
- name: Create GitHub releases
|
|
60
|
+
run: monorepo-semantic-release release-notes --context "$RELEASE_CONTEXT"
|
|
61
|
+
env:
|
|
62
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
23
63
|
```
|
|
24
64
|
|
|
25
65
|
## Commit conventions
|
|
@@ -35,96 +75,59 @@ Non-release types: `docs`, `test`, `ci`, `chore`, `refactor`, `style`.
|
|
|
35
75
|
|
|
36
76
|
Package scope is matched by package name.
|
|
37
77
|
|
|
38
|
-
##
|
|
39
|
-
|
|
40
|
-
1. Discover workspace packages from root `package.json` workspaces.
|
|
41
|
-
2. Exclude private packages.
|
|
42
|
-
3. Sort packages so dependencies are processed first.
|
|
43
|
-
4. Read commits since `<package-name>@<version>` tag.
|
|
44
|
-
5. Compute bump type (`major > minor > patch > none`).
|
|
45
|
-
6. Update package versions and internal dependency versions.
|
|
46
|
-
7. Render changelog entries.
|
|
47
|
-
8. Create one release commit and per-package tags.
|
|
48
|
-
9. Push commit/tags (unless disabled).
|
|
49
|
-
10. Create GitHub Releases (if configured).
|
|
50
|
-
11. Publish released packages (unless disabled).
|
|
78
|
+
## Steps
|
|
51
79
|
|
|
52
|
-
|
|
80
|
+
Every step accepts `--context <json>` (except `report`, which produces it) and `--dry-run` (preview only; no files, git state, or publishes change). Steps run in a fresh process each time, so `--context` is how state passes between them.
|
|
53
81
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
82
|
+
| Command | Action | Does |
|
|
83
|
+
| ----------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
84
|
+
| `report` | (only one) | Discovers workspace packages, computes version bumps from commits since each package's last release tag, fails if the working tree isn't clean. Writes the release context as JSON to stdout. |
|
|
85
|
+
| `package-json` | (only one) | Updates internal dependency versions in each released package's `package.json` to exact versions. |
|
|
86
|
+
| `package-manager` | _(default)_ | Bumps each released package's version via `pnpm version`. |
|
|
87
|
+
| `package-manager` | `publish` | Publishes each released package via `pnpm publish`. Kept separate from the version bump so a pipeline can't reach the registry by accident. |
|
|
88
|
+
| `changelog` | (only one) | Renders and prepends a changelog entry per released package. `--template <path>` and `--changelog-name <value>` (default `CHANGELOG.md`) override the defaults. |
|
|
89
|
+
| `vcs` | _(default)_ | Runs `commit`, `tag`, and `push` in that order in one invocation. |
|
|
90
|
+
| `vcs` | `commit` | Stages everything and creates the release commit. `--template <path>` overrides the message template. |
|
|
91
|
+
| `vcs` | `tag` | Creates a `<package-name>@<version>` tag per released package. |
|
|
92
|
+
| `vcs` | `push` | Pushes `HEAD` and, if any packages were released, the new tags. |
|
|
93
|
+
| `release-notes` | (only one) | Creates a GitHub Release per released package via the `gh` CLI. Needs `repository`/`token` from config or the `GITHUB_REPOSITORY`/`GITHUB_TOKEN` environment variables, and `gh` on `PATH`. `--template <path>` overrides the notes template. |
|
|
65
94
|
|
|
66
|
-
|
|
95
|
+
`vcs commit`/`vcs tag`/`vcs push` exist so a pipeline can skip pushing (e.g. to inspect a release commit locally) without giving up tagging or committing.
|
|
67
96
|
|
|
68
|
-
|
|
97
|
+
## Configuration
|
|
69
98
|
|
|
70
|
-
`package.json
|
|
99
|
+
Steps read settings from a `release` section in the root `package.json`, a root `.release.json` file, or the corresponding CLI flag (wins over both). When both files configure the same step, `.release.json`'s section replaces `package.json`'s entirely rather than merging field by field; steps configured only in `package.json` are unaffected. Each step reads its own key:
|
|
71
100
|
|
|
72
101
|
```json
|
|
73
102
|
{
|
|
74
103
|
"release": {
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
104
|
+
"vcs": { "template": "templates/release-commit-msg.hbs" },
|
|
105
|
+
"changelog": { "template": "templates/changelog.hbs", "changelogName": "CHANGELOG.md" },
|
|
106
|
+
"release-notes": { "repository": "acme/repo", "token": "..." },
|
|
107
|
+
"package-manager": { "kind": "pnpm" }
|
|
79
108
|
}
|
|
80
109
|
}
|
|
81
110
|
```
|
|
82
111
|
|
|
83
|
-
`.
|
|
112
|
+
`.release.json` uses the same shape without the `release` wrapper:
|
|
84
113
|
|
|
85
114
|
```json
|
|
86
115
|
{
|
|
87
|
-
"
|
|
88
|
-
"changelogTemplate": "templates/changelog.hbs",
|
|
89
|
-
"releaseCommitTemplate": "templates/release-commit-msg.hbs"
|
|
90
|
-
}
|
|
116
|
+
"vcs": { "template": "templates/release-commit-msg.hbs" }
|
|
91
117
|
}
|
|
92
118
|
```
|
|
93
119
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Built-in templates:
|
|
97
|
-
|
|
98
|
-
- `templates/changelog.hbs`
|
|
99
|
-
- `templates/release-commit-msg.hbs`
|
|
100
|
-
- `templates/github-release-notes.hbs`
|
|
101
|
-
|
|
102
|
-
## GitHub Releases
|
|
103
|
-
|
|
104
|
-
GitHub release creation runs only when all conditions are met:
|
|
105
|
-
|
|
106
|
-
- `GITHUB_ACTIONS=true`
|
|
107
|
-
- `GITHUB_REPOSITORY` is set (for example `owner/repo`)
|
|
108
|
-
- `GITHUB_TOKEN` is set
|
|
109
|
-
- `gh` CLI is available
|
|
110
|
-
- not `--dry-run`
|
|
111
|
-
- not `--no-push`
|
|
112
|
-
|
|
113
|
-
Each released package creates a release:
|
|
120
|
+
`dryRun: true` in any section makes that step always preview, equivalent to always passing `--dry-run` to it.
|
|
114
121
|
|
|
115
|
-
|
|
116
|
-
- title: `<package-name> v<version>`
|
|
117
|
-
- notes rendered from `templates/github-release-notes.hbs`
|
|
122
|
+
## Templates
|
|
118
123
|
|
|
119
|
-
|
|
124
|
+
Default templates ship with the package and are used automatically. Override per step with `--template <path>` (relative to the working directory) or the matching config section:
|
|
120
125
|
|
|
121
|
-
|
|
126
|
+
- `changelog` — per-package changelog entry
|
|
127
|
+
- `vcs` (used by the `commit` action) — release commit message
|
|
128
|
+
- `release-notes` — GitHub release notes body
|
|
122
129
|
|
|
123
|
-
|
|
124
|
-
- `ChangelogPlugin`: writes per-package changelog updates
|
|
125
|
-
- `GitPlugin`: creates release commit, tags, and push
|
|
126
|
-
- `GithubPlugin`: creates GitHub Releases
|
|
127
|
-
- `NpmPlugin`: bumps package version and publishes
|
|
130
|
+
Templates are [Handlebars](https://handlebarsjs.com/), with `now`, `hasBreakingChanges`, `hasFeatures`, `hasFixes`, `hasPerformance`, `findBreakingChanges`, `findFeatures`, `findFixes`, `findPerformance`, `lookup`, and `call` helpers registered.
|
|
128
131
|
|
|
129
132
|
## Development
|
|
130
133
|
|
|
@@ -140,4 +143,5 @@ pnpm run lint
|
|
|
140
143
|
|
|
141
144
|
- Internal monorepo dependencies are written as exact versions.
|
|
142
145
|
- Tag format is fixed: `<package-name>@<version>`.
|
|
143
|
-
-
|
|
146
|
+
- Private packages (`"private": true`) are never released.
|
|
147
|
+
- `--dry-run` on any step performs no file, git, or registry mutation for that step.
|
package/bin/release.mjs
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { runCli } from '../dist/index.js';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
const { runCli } = require('../dist/index.js');
|
|
7
|
-
|
|
8
|
-
process.exit(runCli());
|
|
5
|
+
process.exit(runCli(process.argv.slice(2)));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type IContainer } from 'ts-ioc-container';
|
|
2
|
+
/**
|
|
3
|
+
* Minimal replacement for ib-commander's Application: resolves a controller by
|
|
4
|
+
* its bindTo name, runs the hooks registered under the requested action, and
|
|
5
|
+
* routes failures to the bound IErrorHandler. Kept in-repo because ib-commander
|
|
6
|
+
* pins ts-ioc-container ^47, which this project has moved past.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Application {
|
|
9
|
+
private readonly scope;
|
|
10
|
+
private readonly errorHandler;
|
|
11
|
+
static bootstrap(container: IContainer): Application;
|
|
12
|
+
private constructor();
|
|
13
|
+
run(...argv: string[]): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Application.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/cli/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAsB1F;;;;;GAKG;AACH,qBAAa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW;IAIpD,OAAO;IAKP,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAY7B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { createHookContextFactory, HooksRunner } from 'ts-ioc-container';
|
|
2
|
+
import { MissingControllerException } from '../exceptions/DomainException.js';
|
|
3
|
+
import { IErrorHandlerKey } from './IErrorHandler.js';
|
|
4
|
+
import { DEFAULT_ACTION } from './decorators.js';
|
|
5
|
+
/**
|
|
6
|
+
* Splits `<controller> [action] [--flags...]` into its leading positionals.
|
|
7
|
+
* This can't be done with commander's argument parser: with
|
|
8
|
+
* allowUnknownOption() set (needed so each action's own --flags pass through
|
|
9
|
+
* untouched), commander pushes unrecognized flags into the same `.args` array
|
|
10
|
+
* as positionals instead of skipping them, so `[action]` would capture
|
|
11
|
+
* `--context` itself rather than staying unset.
|
|
12
|
+
*/
|
|
13
|
+
function parseControllerAndAction(argv) {
|
|
14
|
+
const [controller, maybeAction] = argv;
|
|
15
|
+
if (!controller) {
|
|
16
|
+
throw new MissingControllerException();
|
|
17
|
+
}
|
|
18
|
+
const action = maybeAction && !maybeAction.startsWith('-') ? maybeAction : DEFAULT_ACTION;
|
|
19
|
+
return { controller, action };
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Minimal replacement for ib-commander's Application: resolves a controller by
|
|
23
|
+
* its bindTo name, runs the hooks registered under the requested action, and
|
|
24
|
+
* routes failures to the bound IErrorHandler. Kept in-repo because ib-commander
|
|
25
|
+
* pins ts-ioc-container ^47, which this project has moved past.
|
|
26
|
+
*/
|
|
27
|
+
export class Application {
|
|
28
|
+
scope;
|
|
29
|
+
errorHandler;
|
|
30
|
+
static bootstrap(container) {
|
|
31
|
+
return new Application(container, IErrorHandlerKey.resolve(container));
|
|
32
|
+
}
|
|
33
|
+
constructor(scope, errorHandler) {
|
|
34
|
+
this.scope = scope;
|
|
35
|
+
this.errorHandler = errorHandler;
|
|
36
|
+
}
|
|
37
|
+
run(...argv) {
|
|
38
|
+
try {
|
|
39
|
+
const { controller, action } = parseControllerAndAction(argv);
|
|
40
|
+
const controllerInstance = this.scope.resolve(controller);
|
|
41
|
+
const createContext = createHookContextFactory({ args: argv });
|
|
42
|
+
new HooksRunner(action).execute(controllerInstance, { scope: this.scope, createContext });
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
this.errorHandler.handleError(error);
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
this.scope.dispose();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=Application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/cli/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAiB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,IAAc;IAC9C,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,0BAA0B,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAMH;IACA;IANnB,MAAM,CAAC,SAAS,CAAC,SAAqB;QACpC,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,YACmB,KAAiB,EACjB,YAA2B;QAD3B,UAAK,GAAL,KAAK,CAAY;QACjB,iBAAY,GAAZ,YAAY,CAAe;IAC3C,CAAC;IAEJ,GAAG,CAAC,GAAG,IAAc;QACnB,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAS,UAAU,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IErrorHandler.d.ts","sourceRoot":"","sources":["../../src/cli/IErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,4BAAkD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IErrorHandler.js","sourceRoot":"","sources":["../../src/cli/IErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,WAAW,CAAgB,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type HookType, type IContainer } from 'ts-ioc-container';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { ZodObject } from 'zod';
|
|
4
|
+
export declare const DEFAULT_ACTION = "default";
|
|
5
|
+
/**
|
|
6
|
+
* Registers a method as a named CLI action, e.g. `@action('tag', execute())`
|
|
7
|
+
* makes `monorepo-semantic-release vcs tag` run it. Wraps ts-ioc-container's
|
|
8
|
+
* hook(), which takes a map function rather than a list of hooks.
|
|
9
|
+
*/
|
|
10
|
+
export declare const action: (name: string, ...fns: HookType[]) => (target: object, propertyKey: string | symbol) => void;
|
|
11
|
+
/** Runs when the controller is invoked without an action name. */
|
|
12
|
+
export declare const onDefault: (...fns: HookType[]) => (target: object, propertyKey: string | symbol) => void;
|
|
13
|
+
export declare const command: (createCmd: (c: IContainer) => Command) => MethodDecorator;
|
|
14
|
+
export declare const getCommand: (instance: object, methodName: string) => ((c: IContainer) => Command) | undefined;
|
|
15
|
+
export declare const schema: (createSchema: (c: IContainer) => ZodObject) => MethodDecorator;
|
|
16
|
+
export declare const getSchema: (instance: object, methodName: string) => ((c: IContainer) => ZodObject) | undefined;
|
|
17
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,2DAA+B,CAAC;AAEvF,kEAAkE;AAClE,eAAO,MAAM,SAAS,GAAI,GAAG,KAAK,QAAQ,EAAE,2DAAmC,CAAC;AAEhF,eAAO,MAAM,OAAO,GAAI,WAAW,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,KAAG,eAA4D,CAAC;AAE7H,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAuD,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;AAE/J,eAAO,MAAM,MAAM,GAAI,cAAc,CAAC,CAAC,EAAE,UAAU,KAAK,SAAS,KAAG,eAA8D,CAAC;AAEnI,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAsD,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { addMethodMeta, append, getMethodMeta, hook } from 'ts-ioc-container';
|
|
2
|
+
export const DEFAULT_ACTION = 'default';
|
|
3
|
+
/**
|
|
4
|
+
* Registers a method as a named CLI action, e.g. `@action('tag', execute())`
|
|
5
|
+
* makes `monorepo-semantic-release vcs tag` run it. Wraps ts-ioc-container's
|
|
6
|
+
* hook(), which takes a map function rather than a list of hooks.
|
|
7
|
+
*/
|
|
8
|
+
export const action = (name, ...fns) => hook(name, append(...fns));
|
|
9
|
+
/** Runs when the controller is invoked without an action name. */
|
|
10
|
+
export const onDefault = (...fns) => action(DEFAULT_ACTION, ...fns);
|
|
11
|
+
export const command = (createCmd) => addMethodMeta('command', () => createCmd);
|
|
12
|
+
export const getCommand = (instance, methodName) => getMethodMeta('command', instance, methodName);
|
|
13
|
+
export const schema = (createSchema) => addMethodMeta('schema', () => createSchema);
|
|
14
|
+
export const getSchema = (instance, methodName) => getMethodMeta('schema', instance, methodName);
|
|
15
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAkC,MAAM,kBAAkB,CAAC;AAI9G,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAG,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAEvF,kEAAkE;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAe,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,SAAqC,EAAmB,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAE7H,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAA6C,CAAC;AAE/J,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAA0C,EAAmB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAEnI,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAA+C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type HookFn } from 'ts-ioc-container';
|
|
2
|
+
/**
|
|
3
|
+
* Hook that turns a decorated controller method into a CLI action: it parses
|
|
4
|
+
* the process arguments with the method's `@command`, validates them with its
|
|
5
|
+
* `@schema`, and calls the method with the resulting options object.
|
|
6
|
+
*
|
|
7
|
+
* Methods without a `@command` (lifecycle hooks such as `@onConstruct`) are
|
|
8
|
+
* invoked with their injected arguments instead.
|
|
9
|
+
*/
|
|
10
|
+
export declare const execute: () => HookFn;
|
|
11
|
+
//# sourceMappingURL=execute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,QAAO,MAuB1B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getCommand, getSchema } from './decorators.js';
|
|
2
|
+
/**
|
|
3
|
+
* Hook that turns a decorated controller method into a CLI action: it parses
|
|
4
|
+
* the process arguments with the method's `@command`, validates them with its
|
|
5
|
+
* `@schema`, and calls the method with the resulting options object.
|
|
6
|
+
*
|
|
7
|
+
* Methods without a `@command` (lifecycle hooks such as `@onConstruct`) are
|
|
8
|
+
* invoked with their injected arguments instead.
|
|
9
|
+
*/
|
|
10
|
+
export const execute = () => (ctx) => {
|
|
11
|
+
// methodName is only absent when a hook runs outside a decorated method,
|
|
12
|
+
// which never happens here — every hook site is a controller method.
|
|
13
|
+
const methodName = ctx.methodName;
|
|
14
|
+
const resolveCommand = getCommand(ctx.instance, methodName);
|
|
15
|
+
if (!resolveCommand) {
|
|
16
|
+
ctx.invokeMethod();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const command = resolveCommand(ctx.scope);
|
|
20
|
+
// Initial args are the raw process arguments; everything from the first flag
|
|
21
|
+
// onwards belongs to this action (what precedes it is controller/action).
|
|
22
|
+
const rawArgs = ctx.getInitialArgs().map(String);
|
|
23
|
+
const firstFlag = rawArgs.findIndex((arg) => arg.startsWith('-'));
|
|
24
|
+
command.parse(firstFlag >= 0 ? ['node', 'script', ...rawArgs.slice(firstFlag)] : ['node', 'script']);
|
|
25
|
+
const resolveSchema = getSchema(ctx.instance, methodName);
|
|
26
|
+
const options = resolveSchema ? resolveSchema(ctx.scope).parse(command.opts()) : command.opts();
|
|
27
|
+
// NOTE: passing args replaces injected parameters rather than merging with
|
|
28
|
+
// them, so an action method must take the options object alone.
|
|
29
|
+
ctx.invokeMethod({ args: [options] });
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=execute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;IAC3C,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,UAAU,GAAG,GAAG,CAAC,UAAW,CAAC;IACnC,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErG,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEhG,2EAA2E;IAC3E,gEAAgE;IAChE,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { action, command, DEFAULT_ACTION, getCommand, getSchema, onDefault, schema } from './decorators.js';
|
|
2
|
+
export { execute } from './execute.js';
|
|
3
|
+
export { Application } from './Application.js';
|
|
4
|
+
export { IErrorHandler, IErrorHandlerKey } from './IErrorHandler.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { action, command, DEFAULT_ACTION, getCommand, getSchema, onDefault, schema } from './decorators.js';
|
|
2
|
+
export { execute } from './execute.js';
|
|
3
|
+
export { Application } from './Application.js';
|
|
4
|
+
export { IErrorHandlerKey } from './IErrorHandler.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAiB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import { SemVerBumpType } from './SemVerBumpType';
|
|
1
|
+
import { SemVerBumpType } from './SemVerBumpType.js';
|
|
2
|
+
export interface ConventionalCommitJSON {
|
|
3
|
+
type: string;
|
|
4
|
+
scope: string | null;
|
|
5
|
+
subject: string;
|
|
6
|
+
isBreaking: boolean;
|
|
7
|
+
hash: string | null;
|
|
8
|
+
}
|
|
2
9
|
export declare class ConventionalCommit {
|
|
3
10
|
readonly type: string;
|
|
4
11
|
readonly scope: string | null;
|
|
@@ -6,9 +13,12 @@ export declare class ConventionalCommit {
|
|
|
6
13
|
readonly isBreaking: boolean;
|
|
7
14
|
readonly hash: string | null;
|
|
8
15
|
constructor(type: string, scope: string | null, subject: string, isBreaking: boolean, hash?: string | null);
|
|
16
|
+
toJSON(): ConventionalCommitJSON;
|
|
17
|
+
static fromJSON(data: ConventionalCommitJSON): ConventionalCommit;
|
|
9
18
|
static parse(raw: string): ConventionalCommit;
|
|
10
19
|
get bumpType(): SemVerBumpType;
|
|
11
20
|
isReleaseTrigger(): boolean;
|
|
12
21
|
matchesScope(packageName: string): boolean;
|
|
13
22
|
}
|
|
23
|
+
export declare const filterCommitsByType: (commits: ConventionalCommit[], type: string) => ConventionalCommit[];
|
|
14
24
|
//# sourceMappingURL=ConventionalCommit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConventionalCommit.d.ts","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,kBAAkB;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;gBAJnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,IAAI,GAAE,MAAM,GAAG,IAAW;IAGrC,MAAM,IAAI,sBAAsB;IAIhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;IAIjE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAiB7C,IAAI,QAAQ,IAAI,cAAc,CAK7B;IAED,gBAAgB,IAAI,OAAO;IAI3B,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,EAAE,EAAE,MAAM,MAAM,KAAG,kBAAkB,EAAsD,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.ConventionalCommit = void 0;
|
|
4
|
-
const SemVerBumpType_1 = require("./SemVerBumpType");
|
|
5
|
-
class ConventionalCommit {
|
|
1
|
+
import { SemVerBumpType } from './SemVerBumpType.js';
|
|
2
|
+
export class ConventionalCommit {
|
|
6
3
|
type;
|
|
7
4
|
scope;
|
|
8
5
|
subject;
|
|
@@ -15,6 +12,12 @@ class ConventionalCommit {
|
|
|
15
12
|
this.isBreaking = isBreaking;
|
|
16
13
|
this.hash = hash;
|
|
17
14
|
}
|
|
15
|
+
toJSON() {
|
|
16
|
+
return { type: this.type, scope: this.scope, subject: this.subject, isBreaking: this.isBreaking, hash: this.hash };
|
|
17
|
+
}
|
|
18
|
+
static fromJSON(data) {
|
|
19
|
+
return new ConventionalCommit(data.type, data.scope, data.subject, data.isBreaking, data.hash);
|
|
20
|
+
}
|
|
18
21
|
static parse(raw) {
|
|
19
22
|
const trimmedRaw = raw.trim();
|
|
20
23
|
const hashMatch = trimmedRaw.match(/^([0-9a-f]{7,40})\s+([\s\S]+)$/i);
|
|
@@ -30,19 +33,19 @@ class ConventionalCommit {
|
|
|
30
33
|
}
|
|
31
34
|
get bumpType() {
|
|
32
35
|
if (this.isBreaking)
|
|
33
|
-
return
|
|
36
|
+
return SemVerBumpType.MAJOR;
|
|
34
37
|
if (this.type === 'feat')
|
|
35
|
-
return
|
|
38
|
+
return SemVerBumpType.MINOR;
|
|
36
39
|
if (this.type === 'fix' || this.type === 'perf')
|
|
37
|
-
return
|
|
38
|
-
return
|
|
40
|
+
return SemVerBumpType.PATCH;
|
|
41
|
+
return SemVerBumpType.NONE;
|
|
39
42
|
}
|
|
40
43
|
isReleaseTrigger() {
|
|
41
|
-
return this.bumpType !==
|
|
44
|
+
return this.bumpType !== SemVerBumpType.NONE;
|
|
42
45
|
}
|
|
43
46
|
matchesScope(packageName) {
|
|
44
47
|
return this.scope === packageName;
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
|
-
|
|
50
|
+
export const filterCommitsByType = (commits, type) => commits.filter((commit) => commit.type === type);
|
|
48
51
|
//# sourceMappingURL=ConventionalCommit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConventionalCommit.js","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAUrD,MAAM,OAAO,kBAAkB;IAElB;IACA;IACA;IACA;IACA;IALX,YACW,IAAY,EACZ,KAAoB,EACpB,OAAe,EACf,UAAmB,EACnB,OAAsB,IAAI;QAJ1B,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAe;QACpB,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAS;QACnB,SAAI,GAAJ,IAAI,CAAsB;IAClC,CAAC;IAEJ,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA4B;QAC1C,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE5D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAC7C,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEvE,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC;QACtD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC;QAC7E,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;IACpC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAA6B,EAAE,IAAY,EAAwB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IContainer, SingleToken } from 'ts-ioc-container';
|
|
2
|
+
export type GlobalConfig = {
|
|
3
|
+
cwd: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const GlobalConfigKey: SingleToken<GlobalConfig>;
|
|
6
|
+
export declare function globalConfig<K extends keyof GlobalConfig>(key: K): (c: IContainer) => GlobalConfig[K];
|
|
7
|
+
//# sourceMappingURL=GlobalConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalConfig.d.ts","sourceRoot":"","sources":["../../src/domain/GlobalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AACF,eAAO,MAAM,eAAe,2BAAgD,CAAC;AAC7E,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,IACvD,GAAG,UAAU,qBACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalConfig.js","sourceRoot":"","sources":["../../src/domain/GlobalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,WAAW,CAAe,cAAc,CAAC,CAAC;AAC7E,MAAM,UAAU,YAAY,CAA+B,GAAM;IAC/D,OAAO,CAAC,CAAa,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import { PackageJSON } from './PackageJSON';
|
|
2
|
-
import { Sortable } from '../utils/sortLessDependenciesFirst';
|
|
3
|
-
import { DependencyVersionChange } from './ReleaseTypes';
|
|
4
|
-
import { SemVerBumpType } from './SemVerBumpType';
|
|
1
|
+
import { PackageJSON } from './PackageJSON.js';
|
|
2
|
+
import { Sortable } from '../utils/sortLessDependenciesFirst.js';
|
|
3
|
+
import { DependencyVersionChange } from './ReleaseTypes.js';
|
|
4
|
+
import { SemVerBumpType } from './SemVerBumpType.js';
|
|
5
|
+
export interface NpmPackageJSON {
|
|
6
|
+
name: string;
|
|
7
|
+
dirname: string;
|
|
8
|
+
version: string;
|
|
9
|
+
isPrivate: boolean;
|
|
10
|
+
dependencies: Record<string, string>;
|
|
11
|
+
devDependencies: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
export type PackageName = string;
|
|
14
|
+
export type PackageVersion = string;
|
|
5
15
|
export declare class NpmPackage implements Sortable {
|
|
6
16
|
readonly name: string;
|
|
7
17
|
readonly dirname: string;
|
|
@@ -10,7 +20,9 @@ export declare class NpmPackage implements Sortable {
|
|
|
10
20
|
readonly dependencies: Record<string, string>;
|
|
11
21
|
readonly devDependencies: Record<string, string>;
|
|
12
22
|
static createFromPackage(pkgJson: PackageJSON, pkgDirname: string): NpmPackage;
|
|
23
|
+
static fromJSON(data: NpmPackageJSON): NpmPackage;
|
|
13
24
|
constructor(name: string, dirname: string, version: string, isPrivate: boolean, dependencies: Record<string, string>, devDependencies: Record<string, string>);
|
|
25
|
+
toJSON(): NpmPackageJSON;
|
|
14
26
|
filterDependencies(packageNames: Set<string>): string[];
|
|
15
27
|
hasDependency(depPkgName: string): boolean;
|
|
16
28
|
getCommitTag(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NpmPackage.d.ts","sourceRoot":"","sources":["../../src/domain/NpmPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,qBAAa,UAAW,YAAW,QAAQ;IAUvC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAdlD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IAI9E,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU;gBAKtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGlD,MAAM,IAAI,cAAc;IAWxB,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAIvD,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,iCAAiC;IAQzC,OAAO,CAAC,qBAAqB;IAK7B,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,uBAAuB,EAAE;IAiBtF,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1D,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;CAahD"}
|