@simplysf/simply-project 1.4.0 → 1.6.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 CHANGED
@@ -30,10 +30,10 @@ Cut the next release branch, with its version bumped in sfdx-project.json.
30
30
 
31
31
  ```
32
32
  USAGE
33
- $ sf simply project release create [--json] [--flags-dir <value>] [-t major|minor|patch] [--source <value>]
34
- [--package-release-branch-prefix <value>] [--remote <value>] [--message <value>] [--create-release] [--release-tag
35
- <value>] [-s] [--vcs-provider gitlab|github] [--vcs-host <value>] [--vcs-project-id <value>] [--vcs-token <value>]
36
- [--dry-run] [--no-prompt]
33
+ $ sf simply project release create [--json] [--flags-dir <value>] [-t major|minor|patch] [--major-increment <value>]
34
+ [--minor-increment <value>] [--patch-increment <value>] [--source <value>] [--package-release-branch-prefix <value>]
35
+ [--remote <value>] [--message <value>] [--create-release] [--release-tag <value>] [-s] [--vcs-provider
36
+ gitlab|github] [--vcs-host <value>] [--vcs-project-id <value>] [--vcs-token <value>] [--dry-run] [--no-prompt]
37
37
 
38
38
  FLAGS
39
39
  -s, --set-default Make the new branch the project's default branch after pushing.
@@ -44,11 +44,20 @@ FLAGS
44
44
  cutting.
45
45
  --dry-run Print the plan, including the tag a release would use, without changing
46
46
  anything.
47
+ --major-increment=<value> [env: SIMPLY_PROJECT_RELEASE_MAJOR_INCREMENT] How far a major release
48
+ moves the major version. Defaults to
49
+ plugins.simply.release.increments.major in sfdx-project.json, then 1.
47
50
  --message=<value> Commit message template, with an optional {VERSION} placeholder. Defaults
48
51
  to "chore: bump version to {VERSION}".
52
+ --minor-increment=<value> [env: SIMPLY_PROJECT_RELEASE_MINOR_INCREMENT] How far a minor release
53
+ moves the minor version. Defaults to
54
+ plugins.simply.release.increments.minor in sfdx-project.json, then 1.
49
55
  --no-prompt Don't ask for confirmation, or for --type.
50
56
  --package-release-branch-prefix=<value> [default: release/] Prefix identifying release branches. Branch names
51
57
  must then be `[v]MAJOR.MINOR[.PATCH]`.
58
+ --patch-increment=<value> [env: SIMPLY_PROJECT_RELEASE_PATCH_INCREMENT] How far a patch release
59
+ moves the patch version. Defaults to
60
+ plugins.simply.release.increments.patch in sfdx-project.json, then 1.
52
61
  --release-tag=<value> Tag to publish the release from, instead of the latest build tag. Implies
53
62
  --create-release.
54
63
  --remote=<value> [default: origin] Remote holding the release branches.
@@ -76,6 +85,13 @@ DESCRIPTION
76
85
  source's version, and the version inside `versionName` is replaced in place. Then the branch is pushed. A version that
77
86
  already has a branch is refused. A patch on an older line is allowed while newer releases exist, for hotfixes.
78
87
 
88
+ By default the chosen part of the version moves by one. To step by more, such as minors in tens (`release/v1.20.0` to
89
+ `release/v1.30.0`), set `plugins.simply.release.increments` in `sfdx-project.json`, for example `{ "plugins": {
90
+ "simply": { "release": { "increments": { "minor": 10 } } } } }`. It is read from the remote's copy of the source
91
+ branch, so each new branch carries it forward. `--major-increment`, `--minor-increment`, and `--patch-increment`, or
92
+ their `SIMPLY_PROJECT_RELEASE_*_INCREMENT` environment variables, override it for one run. Only the increment for the
93
+ chosen `--type` is used, and the parts below it still reset to 0.
94
+
79
95
  With `--create-release`, a GitLab or GitHub release for the version being closed out is published first, from the
80
96
  highest `v<version>.<build>` tag that is reachable from the source and on the remote. Fallback tags are skipped. A
81
97
  release that already exists is reported, not recreated. With `--set-default`, the new branch becomes the project's
@@ -108,12 +124,16 @@ EXAMPLES
108
124
 
109
125
  $ sf simply project release create --type minor --create-release --set-default
110
126
 
127
+ Cut a minor release ten minor versions on, such as release/v1.30.0 from release/v1.20.0:
128
+
129
+ $ sf simply project release create --type minor --minor-increment 10
130
+
111
131
  Use a commit message your repository's rules accept:
112
132
 
113
133
  $ sf simply project release create --type minor --message "chore: PROJ-123 bump version to {VERSION}"
114
134
  ```
115
135
 
116
- _See code: [lib/commands/simply/project/release/create.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-project@1.4.0/packages/simply-project/lib/commands/simply/project/release/create.js)_
136
+ _See code: [lib/commands/simply/project/release/create.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-project@1.6.0/packages/simply-project/lib/commands/simply/project/release/create.js)_
117
137
 
118
138
  ## `sf simply project release roll-forward`
119
139
 
@@ -189,7 +209,7 @@ EXAMPLES
189
209
  $ sf simply project release roll-forward --no-push
190
210
  ```
191
211
 
192
- _See code: [lib/commands/simply/project/release/roll-forward.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-project@1.4.0/packages/simply-project/lib/commands/simply/project/release/roll-forward.js)_
212
+ _See code: [lib/commands/simply/project/release/roll-forward.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-project@1.6.0/packages/simply-project/lib/commands/simply/project/release/roll-forward.js)_
193
213
 
194
214
  ## `sf simply project update api-version`
195
215
 
@@ -228,7 +248,7 @@ FLAG DESCRIPTIONS
228
248
  The path to the Salesforce project directory to scan for metadata files.
229
249
  ```
230
250
 
231
- _See code: [lib/commands/simply/project/update/api-version.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-project@1.4.0/packages/simply-project/lib/commands/simply/project/update/api-version.js)_
251
+ _See code: [lib/commands/simply/project/update/api-version.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-project@1.6.0/packages/simply-project/lib/commands/simply/project/update/api-version.js)_
232
252
  <!-- commandsstop -->
233
253
 
234
254
  ## License
@@ -9,6 +9,9 @@ export default class ProjectReleaseCreate extends SfCommand<ProjectReleaseCreate
9
9
  static readonly enableJsonFlag = true;
10
10
  static readonly flags: {
11
11
  type: import("@oclif/core/interfaces").OptionFlag<ReleaseType | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'major-increment': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'minor-increment': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'patch-increment': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
15
  source: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
16
  'package-release-branch-prefix': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
17
  remote: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
@@ -26,5 +29,5 @@ export default class ProjectReleaseCreate extends SfCommand<ProjectReleaseCreate
26
29
  };
27
30
  run(): Promise<ProjectReleaseCreateResult>;
28
31
  protected promptForType(): Promise<ReleaseType>;
29
- private confirmPlan;
32
+ protected confirmPlan(plan: CreateReleaseResult): Promise<boolean>;
30
33
  }
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { select } from '@inquirer/prompts';
17
16
  import { Messages } from '@salesforce/core';
18
17
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
19
18
  import { VCS_PROVIDER_KINDS } from '@simplysf/simply-core';
19
+ import { confirm, select } from '@simplysf/simply-plugin-kit';
20
20
  import { createRelease, RELEASE_TYPES, resolveReleaseVcs, } from '@simplysf/simply-project-core';
21
21
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
22
22
  const messages = Messages.loadMessages('@simplysf/simply-project', 'simply.project.release.create');
@@ -32,6 +32,21 @@ export default class ProjectReleaseCreate extends SfCommand {
32
32
  char: 't',
33
33
  summary: messages.getMessage('flags.type.summary'),
34
34
  }),
35
+ 'major-increment': Flags.integer({
36
+ summary: messages.getMessage('flags.major-increment.summary'),
37
+ env: 'SIMPLY_PROJECT_RELEASE_MAJOR_INCREMENT',
38
+ min: 1,
39
+ }),
40
+ 'minor-increment': Flags.integer({
41
+ summary: messages.getMessage('flags.minor-increment.summary'),
42
+ env: 'SIMPLY_PROJECT_RELEASE_MINOR_INCREMENT',
43
+ min: 1,
44
+ }),
45
+ 'patch-increment': Flags.integer({
46
+ summary: messages.getMessage('flags.patch-increment.summary'),
47
+ env: 'SIMPLY_PROJECT_RELEASE_PATCH_INCREMENT',
48
+ min: 1,
49
+ }),
35
50
  source: Flags.string({ summary: messages.getMessage('flags.source.summary') }),
36
51
  'package-release-branch-prefix': Flags.string({
37
52
  summary: messages.getMessage('flags.package-release-branch-prefix.summary'),
@@ -74,6 +89,9 @@ export default class ProjectReleaseCreate extends SfCommand {
74
89
  : undefined;
75
90
  const result = await createRelease({
76
91
  type,
92
+ // Only the chosen type's increment applies. Unset, createRelease falls back to the source
93
+ // branch's plugins.simply.release.increments in sfdx-project.json, then 1.
94
+ increment: flags[`${type}-increment`],
77
95
  source: flags.source,
78
96
  packageReleaseBranchPrefix: flags['package-release-branch-prefix'],
79
97
  remote: flags.remote,
@@ -113,21 +131,22 @@ export default class ProjectReleaseCreate extends SfCommand {
113
131
  async promptForType() {
114
132
  return select({
115
133
  message: messages.getMessage('prompt.type'),
116
- choices: RELEASE_TYPES.map((value) => ({
134
+ options: RELEASE_TYPES.map((value) => ({
117
135
  value,
118
- name: value,
119
- description: messages.getMessage(`type.${value}`),
136
+ label: value,
137
+ hint: messages.getMessage(`type.${value}`),
120
138
  })),
121
- default: 'minor',
139
+ initialValue: 'minor',
122
140
  });
123
141
  }
142
+ // eslint-disable-next-line class-methods-use-this -- kept as a method so tests can stub the prompt
124
143
  async confirmPlan(plan) {
125
144
  const steps = [
126
145
  ...(plan.release ? [messages.getMessage('confirm.release', [plan.release.name, plan.release.tagName])] : []),
127
146
  messages.getMessage('confirm.branch', [plan.branch, plan.source, plan.version]),
128
147
  ...(plan.defaultBranch ? [messages.getMessage('confirm.default', [plan.branch])] : []),
129
148
  ];
130
- return this.confirm({ message: messages.getMessage('confirm', [steps.map((step) => `- ${step}`).join('\n')]) });
149
+ return confirm({ message: messages.getMessage('confirm', [steps.map((step) => `- ${step}`).join('\n')]) });
131
150
  }
132
151
  }
133
152
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/commands/simply/project/release/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/commands/simply/project/release/create.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { type RollForwardResult } from '@simplysf/simply-project-core';
2
+ import { type RollForwardHop, type RollForwardResult } from '@simplysf/simply-project-core';
3
3
  export type ProjectReleaseRollForwardResult = RollForwardResult;
4
4
  /** Merges each release branch into the next higher one, keeping version tags in the target's history. */
5
5
  export default class ProjectReleaseRollForward extends SfCommand<ProjectReleaseRollForwardResult> {
@@ -19,5 +19,5 @@ export default class ProjectReleaseRollForward extends SfCommand<ProjectReleaseR
19
19
  'flags-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
20
  };
21
21
  run(): Promise<ProjectReleaseRollForwardResult>;
22
- private confirmPush;
22
+ protected confirmPush(hops: RollForwardHop[]): Promise<boolean>;
23
23
  }
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import { Messages } from '@salesforce/core';
17
17
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
18
+ import { confirm } from '@simplysf/simply-plugin-kit';
18
19
  import { rollForward } from '@simplysf/simply-project-core';
19
20
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
20
21
  const messages = Messages.loadMessages('@simplysf/simply-project', 'simply.project.release.roll-forward');
@@ -66,9 +67,10 @@ export default class ProjectReleaseRollForward extends SfCommand {
66
67
  }
67
68
  return result;
68
69
  }
70
+ // eslint-disable-next-line class-methods-use-this -- kept as a method so tests can stub the prompt
69
71
  async confirmPush(hops) {
70
72
  const route = hops.map((hop) => `${hop.source} -> ${hop.target}`).join('\n');
71
- return this.confirm({ message: messages.getMessage('confirm', [route, hops.length]) });
73
+ return confirm({ message: messages.getMessage('confirm', [route, hops.length]) });
72
74
  }
73
75
  }
74
76
  //# sourceMappingURL=roll-forward.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"roll-forward.js","sourceRoot":"","sources":["../../../../../src/commands/simply/project/release/roll-forward.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roll-forward.js","sourceRoot":"","sources":["../../../../../src/commands/simply/project/release/roll-forward.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ Cut the next release branch, with its version bumped in sfdx-project.json.
6
6
 
7
7
  Run this from a local clone, on the release branch to cut from, or pass `--source`. The new branch, such as `release/v1.3.0` from `release/v1.2.0`, starts from the remote's copy of the source, never from local commits, and gets one commit that bumps `sfdx-project.json`: `versionNumber` becomes `1.3.0.NEXT` in every package directory on the source's version, and the version inside `versionName` is replaced in place. Then the branch is pushed. A version that already has a branch is refused. A patch on an older line is allowed while newer releases exist, for hotfixes.
8
8
 
9
+ By default the chosen part of the version moves by one. To step by more, such as minors in tens (`release/v1.20.0` to `release/v1.30.0`), set `plugins.simply.release.increments` in `sfdx-project.json`, for example `{ "plugins": { "simply": { "release": { "increments": { "minor": 10 } } } } }`. It is read from the remote's copy of the source branch, so each new branch carries it forward. `--major-increment`, `--minor-increment`, and `--patch-increment`, or their `SIMPLY_PROJECT_RELEASE_*_INCREMENT` environment variables, override it for one run. Only the increment for the chosen `--type` is used, and the parts below it still reset to 0.
10
+
9
11
  With `--create-release`, a GitLab or GitHub release for the version being closed out is published first, from the highest `v<version>.<build>` tag that is reachable from the source and on the remote. Fallback tags are skipped. A release that already exists is reported, not recreated. With `--set-default`, the new branch becomes the project's default after the push. Both need a token, from `--vcs-token` or `SIMPLY_VCS_TOKEN`, and a project ID, from `--vcs-project-id`, `SIMPLY_VCS_PROJECT_ID`, or `vcs.projectId` in `.sfdevrc.json`. These are checked before anything changes.
10
12
 
11
13
  Your repository's commit hooks always run. The default commit message is `chore: bump version to {VERSION}`; use `--message` if your rules need something else, such as a ticket number. If a hook rejects the commit, nothing is pushed, and the bump stays staged on the new local branch. Run `git commit` with an accepted message, then run this command again from that branch.
@@ -16,6 +18,18 @@ The command never force-pushes or pushes tags. Pushing the new branch triggers a
16
18
 
17
19
  Version to bump: major, minor, or patch. Asked for when omitted in a terminal.
18
20
 
21
+ # flags.major-increment.summary
22
+
23
+ How far a major release moves the major version. Defaults to plugins.simply.release.increments.major in sfdx-project.json, then 1.
24
+
25
+ # flags.minor-increment.summary
26
+
27
+ How far a minor release moves the minor version. Defaults to plugins.simply.release.increments.minor in sfdx-project.json, then 1.
28
+
29
+ # flags.patch-increment.summary
30
+
31
+ How far a patch release moves the patch version. Defaults to plugins.simply.release.increments.patch in sfdx-project.json, then 1.
32
+
19
33
  # flags.source.summary
20
34
 
21
35
  Release branch to cut from. Defaults to the current branch.
@@ -129,6 +143,10 @@ Release branch
129
143
 
130
144
  <%= config.bin %> <%= command.id %> --type minor --create-release --set-default
131
145
 
146
+ - Cut a minor release ten minor versions on, such as release/v1.30.0 from release/v1.20.0:
147
+
148
+ <%= config.bin %> <%= command.id %> --type minor --minor-increment 10
149
+
132
150
  - Use a commit message your repository's rules accept:
133
151
 
134
152
  <%= config.bin %> <%= command.id %> --type minor --message "chore: PROJ-123 bump version to {VERSION}"
@@ -3,12 +3,13 @@
3
3
  "simply:project:release:create": {
4
4
  "aliases": [],
5
5
  "args": {},
6
- "description": "Run this from a local clone, on the release branch to cut from, or pass `--source`. The new branch, such as `release/v1.3.0` from `release/v1.2.0`, starts from the remote's copy of the source, never from local commits, and gets one commit that bumps `sfdx-project.json`: `versionNumber` becomes `1.3.0.NEXT` in every package directory on the source's version, and the version inside `versionName` is replaced in place. Then the branch is pushed. A version that already has a branch is refused. A patch on an older line is allowed while newer releases exist, for hotfixes.\n\nWith `--create-release`, a GitLab or GitHub release for the version being closed out is published first, from the highest `v<version>.<build>` tag that is reachable from the source and on the remote. Fallback tags are skipped. A release that already exists is reported, not recreated. With `--set-default`, the new branch becomes the project's default after the push. Both need a token, from `--vcs-token` or `SIMPLY_VCS_TOKEN`, and a project ID, from `--vcs-project-id`, `SIMPLY_VCS_PROJECT_ID`, or `vcs.projectId` in `.sfdevrc.json`. These are checked before anything changes.\n\nYour repository's commit hooks always run. The default commit message is `chore: bump version to {VERSION}`; use `--message` if your rules need something else, such as a ticket number. If a hook rejects the commit, nothing is pushed, and the bump stays staged on the new local branch. Run `git commit` with an accepted message, then run this command again from that branch.\n\nThe command never force-pushes or pushes tags. Pushing the new branch triggers a normal release-branch build, which creates the new release's first package version.",
6
+ "description": "Run this from a local clone, on the release branch to cut from, or pass `--source`. The new branch, such as `release/v1.3.0` from `release/v1.2.0`, starts from the remote's copy of the source, never from local commits, and gets one commit that bumps `sfdx-project.json`: `versionNumber` becomes `1.3.0.NEXT` in every package directory on the source's version, and the version inside `versionName` is replaced in place. Then the branch is pushed. A version that already has a branch is refused. A patch on an older line is allowed while newer releases exist, for hotfixes.\n\nBy default the chosen part of the version moves by one. To step by more, such as minors in tens (`release/v1.20.0` to `release/v1.30.0`), set `plugins.simply.release.increments` in `sfdx-project.json`, for example `{ \"plugins\": { \"simply\": { \"release\": { \"increments\": { \"minor\": 10 } } } } }`. It is read from the remote's copy of the source branch, so each new branch carries it forward. `--major-increment`, `--minor-increment`, and `--patch-increment`, or their `SIMPLY_PROJECT_RELEASE_*_INCREMENT` environment variables, override it for one run. Only the increment for the chosen `--type` is used, and the parts below it still reset to 0.\n\nWith `--create-release`, a GitLab or GitHub release for the version being closed out is published first, from the highest `v<version>.<build>` tag that is reachable from the source and on the remote. Fallback tags are skipped. A release that already exists is reported, not recreated. With `--set-default`, the new branch becomes the project's default after the push. Both need a token, from `--vcs-token` or `SIMPLY_VCS_TOKEN`, and a project ID, from `--vcs-project-id`, `SIMPLY_VCS_PROJECT_ID`, or `vcs.projectId` in `.sfdevrc.json`. These are checked before anything changes.\n\nYour repository's commit hooks always run. The default commit message is `chore: bump version to {VERSION}`; use `--message` if your rules need something else, such as a ticket number. If a hook rejects the commit, nothing is pushed, and the bump stays staged on the new local branch. Run `git commit` with an accepted message, then run this command again from that branch.\n\nThe command never force-pushes or pushes tags. Pushing the new branch triggers a normal release-branch build, which creates the new release's first package version.",
7
7
  "examples": [
8
8
  "Cut the next minor release from the current release branch:\n<%= config.bin %> <%= command.id %> --type minor",
9
9
  "See what would happen, without changing anything:\n<%= config.bin %> <%= command.id %> --type minor --dry-run",
10
10
  "Cut a hotfix from an older release:\n<%= config.bin %> <%= command.id %> --type patch --source release/v1.2.0",
11
11
  "Also publish a release for the current version and make the new branch the default:\n<%= config.bin %> <%= command.id %> --type minor --create-release --set-default",
12
+ "Cut a minor release ten minor versions on, such as release/v1.30.0 from release/v1.20.0:\n<%= config.bin %> <%= command.id %> --type minor --minor-increment 10",
12
13
  "Use a commit message your repository's rules accept:\n<%= config.bin %> <%= command.id %> --type minor --message \"chore: PROJ-123 bump version to {VERSION}\""
13
14
  ],
14
15
  "flags": {
@@ -40,6 +41,30 @@
40
41
  ],
41
42
  "type": "option"
42
43
  },
44
+ "major-increment": {
45
+ "env": "SIMPLY_PROJECT_RELEASE_MAJOR_INCREMENT",
46
+ "name": "major-increment",
47
+ "summary": "How far a major release moves the major version. Defaults to plugins.simply.release.increments.major in sfdx-project.json, then 1.",
48
+ "hasDynamicHelp": false,
49
+ "multiple": false,
50
+ "type": "option"
51
+ },
52
+ "minor-increment": {
53
+ "env": "SIMPLY_PROJECT_RELEASE_MINOR_INCREMENT",
54
+ "name": "minor-increment",
55
+ "summary": "How far a minor release moves the minor version. Defaults to plugins.simply.release.increments.minor in sfdx-project.json, then 1.",
56
+ "hasDynamicHelp": false,
57
+ "multiple": false,
58
+ "type": "option"
59
+ },
60
+ "patch-increment": {
61
+ "env": "SIMPLY_PROJECT_RELEASE_PATCH_INCREMENT",
62
+ "name": "patch-increment",
63
+ "summary": "How far a patch release moves the patch version. Defaults to plugins.simply.release.increments.patch in sfdx-project.json, then 1.",
64
+ "hasDynamicHelp": false,
65
+ "multiple": false,
66
+ "type": "option"
67
+ },
43
68
  "source": {
44
69
  "name": "source",
45
70
  "summary": "Release branch to cut from. Defaults to the current branch.",
@@ -403,5 +428,5 @@
403
428
  ]
404
429
  }
405
430
  },
406
- "version": "1.4.0"
431
+ "version": "1.6.0"
407
432
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simplysf/simply-project",
3
3
  "description": "Utilities for working with Salesforce projects",
4
- "version": "1.4.0",
4
+ "version": "1.6.0",
5
5
  "author": "@ClayChipps",
6
6
  "homepage": "https://github.com/SimplySF/simply-plugins",
7
7
  "bugs": "https://github.com/SimplySF/simply-plugins/issues",
@@ -64,13 +64,13 @@
64
64
  "topicSeparator": " "
65
65
  },
66
66
  "dependencies": {
67
- "@inquirer/prompts": "^7.10.1",
68
67
  "@oclif/core": "^4.11.2",
69
68
  "@salesforce/core": "^8.30.0",
70
69
  "@salesforce/kit": "^3.2.6",
71
70
  "@salesforce/sf-plugins-core": "^12.2.16",
72
71
  "@simplysf/simply-core": "^1.8.0",
73
- "@simplysf/simply-project-core": "^0.3.0",
72
+ "@simplysf/simply-plugin-kit": "^1.1.0",
73
+ "@simplysf/simply-project-core": "^0.4.0",
74
74
  "glob": "^13.0.6"
75
75
  },
76
76
  "devDependencies": {
@@ -209,5 +209,5 @@
209
209
  "output": []
210
210
  }
211
211
  },
212
- "gitHead": "743cad9ae6581a38925a6fac023c5820c99e6eab"
212
+ "gitHead": "133e5308c4b15d71bf0c61a6fec4341576e02976"
213
213
  }