sfdx-hardis 6.10.0 → 6.10.1-alpha202511021135.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/CHANGELOG.md +7 -0
- package/lib/commands/hardis/doc/mkdocs-to-cf.js +38 -39
- package/lib/commands/hardis/doc/mkdocs-to-cf.js.map +1 -1
- package/lib/commands/hardis/project/deploy/notify.js +19 -23
- package/lib/commands/hardis/project/deploy/notify.js.map +1 -1
- package/lib/commands/hardis/project/deploy/quick.js +3 -2
- package/lib/commands/hardis/project/deploy/quick.js.map +1 -1
- package/lib/commands/hardis/project/deploy/start.js +4 -5
- package/lib/commands/hardis/project/deploy/start.js.map +1 -1
- package/lib/commands/hardis/project/deploy/validate.js +4 -3
- package/lib/commands/hardis/project/deploy/validate.js.map +1 -1
- package/lib/commands/hardis/source/deploy.js +4 -3
- package/lib/commands/hardis/source/deploy.js.map +1 -1
- package/lib/common/actionsProvider/actionsProvider.d.ts +41 -0
- package/lib/common/actionsProvider/actionsProvider.js +110 -0
- package/lib/common/actionsProvider/actionsProvider.js.map +1 -0
- package/lib/common/actionsProvider/apexAction.d.ts +6 -0
- package/lib/common/actionsProvider/apexAction.js +35 -0
- package/lib/common/actionsProvider/apexAction.js.map +1 -0
- package/lib/common/actionsProvider/commandAction.d.ts +6 -0
- package/lib/common/actionsProvider/commandAction.js +29 -0
- package/lib/common/actionsProvider/commandAction.js.map +1 -0
- package/lib/common/actionsProvider/dataAction.d.ts +6 -0
- package/lib/common/actionsProvider/dataAction.js +50 -0
- package/lib/common/actionsProvider/dataAction.js.map +1 -0
- package/lib/common/actionsProvider/manualAction.d.ts +6 -0
- package/lib/common/actionsProvider/manualAction.js +26 -0
- package/lib/common/actionsProvider/manualAction.js.map +1 -0
- package/lib/common/actionsProvider/publishCommunityAction.d.ts +6 -0
- package/lib/common/actionsProvider/publishCommunityAction.js +30 -0
- package/lib/common/actionsProvider/publishCommunityAction.js.map +1 -0
- package/lib/common/gitProvider/azureDevops.d.ts +1 -0
- package/lib/common/gitProvider/azureDevops.js +71 -3
- package/lib/common/gitProvider/azureDevops.js.map +1 -1
- package/lib/common/gitProvider/bitbucket.d.ts +1 -0
- package/lib/common/gitProvider/bitbucket.js +81 -2
- package/lib/common/gitProvider/bitbucket.js.map +1 -1
- package/lib/common/gitProvider/gitProviderRoot.d.ts +1 -0
- package/lib/common/gitProvider/gitProviderRoot.js +6 -0
- package/lib/common/gitProvider/gitProviderRoot.js.map +1 -1
- package/lib/common/gitProvider/github.d.ts +1 -0
- package/lib/common/gitProvider/github.js +74 -1
- package/lib/common/gitProvider/github.js.map +1 -1
- package/lib/common/gitProvider/gitlab.d.ts +3 -0
- package/lib/common/gitProvider/gitlab.js +110 -2
- package/lib/common/gitProvider/gitlab.js.map +1 -1
- package/lib/common/gitProvider/index.d.ts +1 -1
- package/lib/common/gitProvider/index.js +12 -5
- package/lib/common/gitProvider/index.js.map +1 -1
- package/lib/common/utils/authUtils.d.ts +15 -2
- package/lib/common/utils/authUtils.js +51 -32
- package/lib/common/utils/authUtils.js.map +1 -1
- package/lib/common/utils/dataUtils.d.ts +2 -2
- package/lib/common/utils/dataUtils.js +10 -2
- package/lib/common/utils/dataUtils.js.map +1 -1
- package/lib/common/utils/deployTips.js +2 -1
- package/lib/common/utils/deployTips.js.map +1 -1
- package/lib/common/utils/deployUtils.d.ts +0 -7
- package/lib/common/utils/deployUtils.js +28 -75
- package/lib/common/utils/deployUtils.js.map +1 -1
- package/lib/common/utils/gitUtils.d.ts +2 -0
- package/lib/common/utils/gitUtils.js +7 -1
- package/lib/common/utils/gitUtils.js.map +1 -1
- package/lib/common/utils/orgUtils.d.ts +1 -0
- package/lib/common/utils/orgUtils.js +12 -0
- package/lib/common/utils/orgUtils.js.map +1 -1
- package/lib/common/utils/prePostCommandUtils.d.ts +7 -0
- package/lib/common/utils/prePostCommandUtils.js +310 -0
- package/lib/common/utils/prePostCommandUtils.js.map +1 -0
- package/oclif.lock +17 -17
- package/oclif.manifest.json +741 -741
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
Note: Can be used with `sfdx plugins:install sfdx-hardis@beta` and docker image `hardisgroupcom/sfdx-hardis@beta`
|
|
6
6
|
|
|
7
|
+
- New feature: **Deployment actions** at Pull Request level
|
|
8
|
+
- Define pre-deploy and post-deploy commands to be executed during CI/CD deployments
|
|
9
|
+
- Display summary in Pull Request with details of each command execution
|
|
10
|
+
- Update CI/CD documentation & screenshots
|
|
11
|
+
- Do not display generated time in JSON Schema doc
|
|
12
|
+
|
|
7
13
|
## [6.10.0] 2025-10-31
|
|
8
14
|
|
|
9
15
|
- New command [hardis:org:diagnose:storage-stats](https://sfdx-hardis.cloudity.com/hardis/org/diagnose/storage-stats/) to analyze storage usage per object and per year of creation / last update
|
|
@@ -11,6 +17,7 @@ Note: Can be used with `sfdx plugins:install sfdx-hardis@beta` and docker image
|
|
|
11
17
|
- Allow to override SFDX_TEST_WAIT_MINUTES and SFDX_DEPLOY_WAIT_MINUTES using CI/CD variables, and set 120 minutes as default value everywhere
|
|
12
18
|
- Fix Validation Rules formula field in doc generation
|
|
13
19
|
|
|
20
|
+
|
|
14
21
|
## [6.9.0] 2025-10-23
|
|
15
22
|
|
|
16
23
|
- Bring back Microsoft Teams notifications [using Teams Workflow](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-ms-teams/)
|
|
@@ -13,30 +13,29 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
13
13
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
14
14
|
export default class MkDocsToCloudflare extends SfCommand {
|
|
15
15
|
static title = 'MkDocs to Cloudflare';
|
|
16
|
-
static description =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- **
|
|
26
|
-
- **Cloudflare
|
|
27
|
-
- **Cloudflare Access
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
\
|
|
16
|
+
static description = `## Command Behavior
|
|
17
|
+
|
|
18
|
+
**Generates MkDocs HTML pages and uploads them to Cloudflare as a static site, secured with Cloudflare Access.**
|
|
19
|
+
|
|
20
|
+
This command automates the deployment of your project's documentation (built with MkDocs) to Cloudflare Pages, making it accessible and secure. It handles the entire process from HTML generation to Cloudflare configuration.
|
|
21
|
+
|
|
22
|
+
Key operations performed:
|
|
23
|
+
|
|
24
|
+
- **MkDocs HTML Generation:** Builds the MkDocs project into static HTML pages. It can use a locally installed \`mkdocs-material\` or a \`mkdocs\` Docker image.
|
|
25
|
+
- **Cloudflare Pages Project Creation/Update:** Creates a new Cloudflare Pages project if one doesn't exist for your documentation, or updates an existing one.
|
|
26
|
+
- **Cloudflare Access Policy Assignment:** Assigns a policy to restrict access to the deployed application, ensuring only authorized users can view your documentation.
|
|
27
|
+
- **Cloudflare Access Application Setup:** Configures a Cloudflare Access application for the deployed site, integrating it with your Zero Trust policies.
|
|
28
|
+
- **HTML Page Upload:** Deploys the generated HTML pages to Cloudflare Pages.
|
|
29
|
+
- **Browser Opening (Non-CI):** Opens the newly deployed website in your default browser if the command is not run in a CI/CD environment.
|
|
30
|
+
|
|
31
|
+
**Prerequisite:** The documentation must have been previously generated using \`sf hardis:doc:project2markdown --with-history\`.
|
|
32
|
+
|
|
33
|
+
**Customization:** You can override default styles by customizing your \`mkdocs.yml\` file.
|
|
34
|
+
|
|
35
|
+
More information can be found in the [Documentation section](${CONSTANTS.DOC_URL_ROOT}/salesforce-project-documentation/).
|
|
36
|
+
|
|
37
|
+
**Environment Variables for Cloudflare Configuration:**
|
|
38
|
+
|
|
40
39
|
| Variable | Description | Default |\
|
|
41
40
|
| :---------------------------------------- | :----------------------------------------------------------------------- | :------------------------------------: |\
|
|
42
41
|
| \`CLOUDFLARE_EMAIL\` | Cloudflare account email | _Required_ |\
|
|
@@ -46,22 +45,22 @@ More information can be found in the [Documentation section](${CONSTANTS.DOC_URL
|
|
|
46
45
|
| \`CLOUDFLARE_DEFAULT_LOGIN_METHOD_TYPE\` | Cloudflare default login method type | \`onetimepin\` |\
|
|
47
46
|
| \`CLOUDFLARE_DEFAULT_ACCESS_EMAIL_DOMAIN\` | Cloudflare default access email domain | \`@cloudity.com\` |\
|
|
48
47
|
| \`CLOUDFLARE_EXTRA_ACCESS_POLICY_ID_LIST\` | Comma-separated list of additional policy IDs to assign to the application | _Optional_ |\
|
|
49
|
-
|
|
48
|
+
|
|
50
49
|
<details markdown="1">
|
|
51
|
-
<summary>Technical explanations</summary
|
|
52
|
-
|
|
53
|
-
The command orchestrates interactions with MkDocs, Cloudflare APIs, and Git
|
|
54
|
-
|
|
55
|
-
- **MkDocs Integration:** It calls \`generateMkDocsHTML()\` to execute the MkDocs build process, which converts Markdown files into static HTML. It checks for the presence of \`mkdocs.yml\` to ensure it's a valid MkDocs project
|
|
56
|
-
- **Cloudflare API Interaction:** It uses the \`cloudflare\` npm package to interact with the Cloudflare API. This involves
|
|
57
|
-
- **Authentication:** Initializes the Cloudflare client using \`CLOUDFLARE_EMAIL\`, \`CLOUDFLARE_API_TOKEN\`, and \`CLOUDFLARE_ACCOUNT_ID\` environment variables
|
|
58
|
-
- **Pages Project Management:** Calls \`client.pages.projects.get()\` to check for an existing project and \`client.pages.projects.create()\` to create a new one if needed
|
|
59
|
-
- **Access Policy Management:** Lists existing access policies (\`client.zeroTrust.access.policies.list()\`) and creates a new one (\`client.zeroTrust.access.policies.create()\`) if the required policy doesn't exist. It configures the policy with email domain restrictions and a default login method
|
|
60
|
-
- **Access Application Management:** Lists existing access applications (\`client.zeroTrust.access.applications.list()\`) and creates a new one (\`client.zeroTrust.access.applications.create()\`) for the deployed site. It then updates the application to associate it with the created access policy
|
|
61
|
-
- **Git Integration:** Retrieves the current Git branch name using \`getCurrentGitBranch()\` to construct the Cloudflare project name and branch for deployment
|
|
62
|
-
- **Wrangler CLI:** Uses the \`wrangler\` CLI (Cloudflare's developer tool) to deploy the generated HTML pages to Cloudflare Pages via \`wrangler pages deploy
|
|
63
|
-
- **Environment Variable Management:** Reads various environment variables to configure Cloudflare settings and project names
|
|
64
|
-
- **Error Handling:** Includes checks for missing \`mkdocs.yml\` and Cloudflare environment variables, throwing \`SfError\` when necessary
|
|
50
|
+
<summary>Technical explanations</summary>
|
|
51
|
+
|
|
52
|
+
The command orchestrates interactions with MkDocs, Cloudflare APIs, and Git:
|
|
53
|
+
|
|
54
|
+
- **MkDocs Integration:** It calls \`generateMkDocsHTML()\` to execute the MkDocs build process, which converts Markdown files into static HTML. It checks for the presence of \`mkdocs.yml\` to ensure it's a valid MkDocs project.
|
|
55
|
+
- **Cloudflare API Interaction:** It uses the \`cloudflare\` npm package to interact with the Cloudflare API. This involves:
|
|
56
|
+
- **Authentication:** Initializes the Cloudflare client using \`CLOUDFLARE_EMAIL\`, \`CLOUDFLARE_API_TOKEN\`, and \`CLOUDFLARE_ACCOUNT_ID\` environment variables.
|
|
57
|
+
- **Pages Project Management:** Calls \`client.pages.projects.get()\` to check for an existing project and \`client.pages.projects.create()\` to create a new one if needed.
|
|
58
|
+
- **Access Policy Management:** Lists existing access policies (\`client.zeroTrust.access.policies.list()\`) and creates a new one (\`client.zeroTrust.access.policies.create()\`) if the required policy doesn't exist. It configures the policy with email domain restrictions and a default login method.
|
|
59
|
+
- **Access Application Management:** Lists existing access applications (\`client.zeroTrust.access.applications.list()\`) and creates a new one (\`client.zeroTrust.access.applications.create()\`) for the deployed site. It then updates the application to associate it with the created access policy.
|
|
60
|
+
- **Git Integration:** Retrieves the current Git branch name using \`getCurrentGitBranch()\` to construct the Cloudflare project name and branch for deployment.
|
|
61
|
+
- **Wrangler CLI:** Uses the \`wrangler\` CLI (Cloudflare's developer tool) to deploy the generated HTML pages to Cloudflare Pages via \`wrangler pages deploy\`.
|
|
62
|
+
- **Environment Variable Management:** Reads various environment variables to configure Cloudflare settings and project names.
|
|
63
|
+
- **Error Handling:** Includes checks for missing \`mkdocs.yml\` and Cloudflare environment variables, throwing \`SfError\` when necessary.
|
|
65
64
|
</details>
|
|
66
65
|
`;
|
|
67
66
|
static examples = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mkdocs-to-cf.js","sourceRoot":"","sources":["../../../../src/commands/hardis/doc/mkdocs-to-cf.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAc;IACrD,MAAM,CAAC,KAAK,GAAG,sBAAsB,CAAC;IAEtC,MAAM,CAAC,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"mkdocs-to-cf.js","sourceRoot":"","sources":["../../../../src/commands/hardis/doc/mkdocs-to-cf.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAc;IACrD,MAAM,CAAC,KAAK,GAAG,sBAAsB,CAAC;IAEtC,MAAM,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;+DAmBiC,SAAS,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BpF,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG;QACvB,8BAA8B;KAC/B,CAAC;IAEK,MAAM,CAAC,KAAK,GAAQ;QACzB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;KACH,CAAC;IAEF,uGAAuG;IAChG,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAE3B,SAAS,GAAG,KAAK,CAAC;IAClB,QAAQ,CAAqB;IAC7B,QAAQ,CAAqB;IAC7B,SAAS,CAAqB;IAC9B,MAAM,CAAa;IACnB,WAAW,CAAgB;IAC3B,gBAAgB,CAAS;IACzB,sBAAsB,GAAW,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,YAAY,CAAC;IAClG,wBAAwB,GAAW,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,eAAe,CAAC;IACzG,gBAAgB,CAAS;IACzB,YAAY,CAAoC;IAChD,gBAAgB,CAAS;IACzB,YAAY,CAAgE;IAC5E,cAAc,GAAa,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChH,SAAS,CAA+F;IAElH,sBAAsB;IAEf,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QAEtC,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,OAAO,CAAC,iHAAiH,CAAC,CAAC;QACvI,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,IAAI,MAAM,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC;QAE5D,kCAAkC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,sBAAsB;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;YACzD,MAAM,kBAAkB,EAAE,CAAC;QAC7B,CAAC;QAED,yCAAyC;QACzC,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAE1C,iEAAiE;QACjE,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAE1C,wCAAwC;QACxC,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAE/C,qDAAqD;QACrD,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC;QAErD,eAAe;QACf,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,8GAA8G;IAC9G,yDAAyD;IACjD,KAAK,CAAC,cAAc;QAC1B,MAAM,kBAAkB,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7H,MAAM,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QAC9D,MAAM,iCAAiC,GAAG,2BAA2B,eAAe,EAAE,WAAW,EAAE,EAAE,CAAC;QACtG,IAAI,SAAS,CAAC,iCAAiC,CAAC,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,iCAAiC,CAAC,IAAI,kBAAkB,CAAC;QAC5E,CAAC;QACD,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;YACtH,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC1D,IAAI,EAAE,IAAI,CAAC,gBAAgB;gBAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;gBAChC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,IAAI,MAAM;aACnD,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,oCAAoC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9G,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAyD,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QACxJ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrF,CAAC;aACI,CAAC;YACJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9G,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAsE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACxK,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAC,2BAA2B,IAAI,CAAC,sBAAsB,oGAAoG,CAAC,CAAC;YAChL,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrE,IAAI,EAAE,IAAI,CAAC,gBAAgB;gBAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;gBAChC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE;oBACP,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,EAAE;iBAC5D;gBACD,OAAO,EAAE;oBACP,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE;iBAChD;aACK,CAAC,CAAC;YACV,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,iCAAiC;QAC7C,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACzE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QACtH,IAAI,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAmE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAQ,CAAC;QACtL,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,uCAAuC,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,SAAS,GAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;gBACvE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBACrC,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;gBAChC,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBACvC,YAAY,EAAE;oBACZ;wBACE,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;qBAC5C;oBACD;wBACE,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;qBAC9C;iBACF;aACF,CAA2F,CAAC;YAC7F,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,yCAAyC,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACrH,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,uCAAuC;QACnD,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1G,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,2BAA2B,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QAChI,CAAC;aACI,CAAC;YACJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE;gBACjG,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM;gBAC9B,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY;gBAC1C,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI;gBAC1B,QAAQ,EAAE,iBAAiB;aAC2B,CAAC,CAA0F,CAAC;YACpJ,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,EAAE,IAAI,4BAA4B,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACpI,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAC3E,IAAI,eAAe,GAAG,gDAAgD,IAAI,CAAC,gBAAgB,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjI,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,eAAe,GAAG,YAAY,GAAG,eAAe,CAAC;QACnD,CAAC;QACD,MAAM,WAAW,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAChG,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { SfCommand, Flags, requiredOrgFlagWithDeprecations } from '@salesforce/sf-plugins-core';
|
|
3
3
|
import { Messages } from '@salesforce/core';
|
|
4
4
|
import { CONSTANTS } from '../../../../config/index.js';
|
|
5
|
-
import { buildCheckDeployCommitSummary, handlePostDeploymentNotifications } from '../../../../common/utils/gitUtils.js';
|
|
5
|
+
import { buildCheckDeployCommitSummary, handlePostDeploymentNotifications, setPullRequestData } from '../../../../common/utils/gitUtils.js';
|
|
6
6
|
import { GitProvider } from '../../../../common/gitProvider/index.js';
|
|
7
7
|
import c from "chalk";
|
|
8
8
|
import { uxLog } from '../../../../common/utils/index.js';
|
|
@@ -128,34 +128,30 @@ You can also use [sfdx-hardis wrapper commands of SF deployment commands](${CONS
|
|
|
128
128
|
this.message = flags.message || "";
|
|
129
129
|
this.debugMode = flags.debug || false;
|
|
130
130
|
await setConnectionVariables(flags['target-org']?.getConnection(), true);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
// Post comments 😊
|
|
149
|
-
await GitProvider.managePostPullRequestComment();
|
|
150
|
-
}
|
|
131
|
+
uxLog("action", this, c.cyan("Handling Pull Request comments for a deployment check job..."));
|
|
132
|
+
// Add deployment info
|
|
133
|
+
await buildCheckDeployCommitSummary();
|
|
134
|
+
const prData = {
|
|
135
|
+
messageKey: "deployment",
|
|
136
|
+
title: (this.checkOnly && this.deployStatus === "valid") ? "✅ Deployment check success" :
|
|
137
|
+
(!this.checkOnly && this.deployStatus === "valid") ? "✅ Deployment success" :
|
|
138
|
+
(this.checkOnly && this.deployStatus === "invalid") ? "❌ Deployment check failure" :
|
|
139
|
+
(!this.checkOnly && this.deployStatus === "invalid") ? "❌ Deployment failure" :
|
|
140
|
+
(this.checkOnly && this.deployStatus === "unknown") ? "🤷 Deployment check status unknown" :
|
|
141
|
+
"🤷 Deployment status unknown",
|
|
142
|
+
deployErrorsMarkdownBody: this.message,
|
|
143
|
+
status: this.deployStatus === "valid" ? "valid" : this.deployStatus === "invalid" ? "invalid" : "tovalidate",
|
|
144
|
+
};
|
|
145
|
+
setPullRequestData(prData);
|
|
146
|
+
// Post comments 😊
|
|
147
|
+
await GitProvider.managePostPullRequestComment(this.checkOnly);
|
|
151
148
|
// Post notifications after successful deployment
|
|
152
|
-
|
|
149
|
+
if (this.checkOnly === false && this.deployStatus === "valid") {
|
|
153
150
|
await handlePostDeploymentNotifications(flags, flags["target-org"].getUsername(), false, false, this.debugMode, this.message);
|
|
154
151
|
}
|
|
155
152
|
// Fallback
|
|
156
153
|
else {
|
|
157
154
|
uxLog("warning", this, c.yellow("No notification has been sent"));
|
|
158
|
-
uxLog("warning", this, c.yellow("- Pull Request comments are sent if --check-only is true"));
|
|
159
155
|
uxLog("warning", this, c.yellow("- Slack / Teams / Email / JIRA messages are sent only if --check-only is false and --deploy-status is valid"));
|
|
160
156
|
}
|
|
161
157
|
return { message: "Processed notifications" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/notify.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/notify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/* jscpd:ignore-start */
|
|
2
2
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
3
3
|
import { wrapSfdxCoreCommand } from "../../../../common/utils/wrapUtils.js";
|
|
4
|
-
import { checkDeploymentOrgCoverage,
|
|
4
|
+
import { checkDeploymentOrgCoverage, extractOrgCoverageFromLog } from '../../../../common/utils/deployUtils.js';
|
|
5
5
|
import { GitProvider } from '../../../../common/gitProvider/index.js';
|
|
6
6
|
import { handlePostDeploymentNotifications } from '../../../../common/utils/gitUtils.js';
|
|
7
7
|
import { setConnectionVariables } from '../../../../common/utils/orgUtils.js';
|
|
8
|
+
import { executePrePostCommands } from '../../../../common/utils/prePostCommandUtils.js';
|
|
8
9
|
export default class ProjectDeployStart extends SfCommand {
|
|
9
10
|
static description = `sfdx-hardis wrapper for **sf project deploy quick** that displays tips to solve deployment errors.
|
|
10
11
|
|
|
@@ -105,7 +106,7 @@ commandsPostDeploy:
|
|
|
105
106
|
await checkDeploymentOrgCoverage(Number(orgCoveragePercent), { check: checkOnly });
|
|
106
107
|
}
|
|
107
108
|
catch (errCoverage) {
|
|
108
|
-
await GitProvider.managePostPullRequestComment();
|
|
109
|
+
await GitProvider.managePostPullRequestComment(false);
|
|
109
110
|
throw errCoverage;
|
|
110
111
|
}
|
|
111
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/quick.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"quick.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/quick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/* jscpd:ignore-start */
|
|
2
2
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
3
3
|
import { wrapSfdxCoreCommand } from "../../../../common/utils/wrapUtils.js";
|
|
4
|
-
import { checkDeploymentOrgCoverage,
|
|
4
|
+
import { checkDeploymentOrgCoverage, extractOrgCoverageFromLog } from '../../../../common/utils/deployUtils.js';
|
|
5
5
|
import { GitProvider } from '../../../../common/gitProvider/index.js';
|
|
6
6
|
import { buildCheckDeployCommitSummary, handlePostDeploymentNotifications } from '../../../../common/utils/gitUtils.js';
|
|
7
7
|
import { setConnectionVariables } from '../../../../common/utils/orgUtils.js';
|
|
8
|
+
import { executePrePostCommands } from '../../../../common/utils/prePostCommandUtils.js';
|
|
8
9
|
export default class ProjectDeployStart extends SfCommand {
|
|
9
10
|
static description = `sfdx-hardis wrapper for **sf project deploy start** that displays tips to solve deployment errors.
|
|
10
11
|
|
|
@@ -164,7 +165,7 @@ commandsPostDeploy:
|
|
|
164
165
|
await checkDeploymentOrgCoverage(Number(orgCoveragePercent), { check: checkOnly });
|
|
165
166
|
}
|
|
166
167
|
catch (errCoverage) {
|
|
167
|
-
await GitProvider.managePostPullRequestComment();
|
|
168
|
+
await GitProvider.managePostPullRequestComment(checkOnly);
|
|
168
169
|
throw errCoverage;
|
|
169
170
|
}
|
|
170
171
|
}
|
|
@@ -172,9 +173,7 @@ commandsPostDeploy:
|
|
|
172
173
|
// Run post deployment commands if defined
|
|
173
174
|
await executePrePostCommands('commandsPostDeploy', { success: process.exitCode === 0, checkOnly: checkOnly, conn: conn });
|
|
174
175
|
// Post comment if deployment check success
|
|
175
|
-
|
|
176
|
-
await GitProvider.managePostPullRequestComment();
|
|
177
|
-
}
|
|
176
|
+
await GitProvider.managePostPullRequestComment(checkOnly);
|
|
178
177
|
// Post success deployment notifications
|
|
179
178
|
if (process.exitCode === 0 && !checkOnly) {
|
|
180
179
|
await handlePostDeploymentNotifications(flags, flags["target-org"].getUsername(), false, false, flags["debug"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/start.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/* jscpd:ignore-start */
|
|
2
2
|
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
3
3
|
import { wrapSfdxCoreCommand } from "../../../../common/utils/wrapUtils.js";
|
|
4
|
-
import { checkDeploymentOrgCoverage,
|
|
4
|
+
import { checkDeploymentOrgCoverage, extractOrgCoverageFromLog } from '../../../../common/utils/deployUtils.js';
|
|
5
5
|
import { GitProvider } from '../../../../common/gitProvider/index.js';
|
|
6
6
|
import { buildCheckDeployCommitSummary } from '../../../../common/utils/gitUtils.js';
|
|
7
7
|
import { setConnectionVariables } from '../../../../common/utils/orgUtils.js';
|
|
8
|
+
import { executePrePostCommands } from '../../../../common/utils/prePostCommandUtils.js';
|
|
8
9
|
export default class ProjectDeployValidate extends SfCommand {
|
|
9
10
|
static description = `sfdx-hardis wrapper for **sf project deploy validate** that displays tips to solve deployment errors.
|
|
10
11
|
|
|
@@ -162,14 +163,14 @@ commandsPostDeploy:
|
|
|
162
163
|
await checkDeploymentOrgCoverage(Number(orgCoveragePercent), { check: checkOnly });
|
|
163
164
|
}
|
|
164
165
|
catch (errCoverage) {
|
|
165
|
-
await GitProvider.managePostPullRequestComment();
|
|
166
|
+
await GitProvider.managePostPullRequestComment(checkOnly);
|
|
166
167
|
throw errCoverage;
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
171
|
// Run post deployment commands if defined
|
|
171
172
|
await executePrePostCommands('commandsPostDeploy', { success: process.exitCode === 0, checkOnly: true, conn: conn });
|
|
172
|
-
await GitProvider.managePostPullRequestComment();
|
|
173
|
+
await GitProvider.managePostPullRequestComment(true);
|
|
173
174
|
return result;
|
|
174
175
|
}
|
|
175
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/validate.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
import { SfCommand, Flags, requiredOrgFlagWithDeprecations } from '@salesforce/sf-plugins-core';
|
|
3
3
|
import c from 'chalk';
|
|
4
4
|
import { GitProvider } from '../../../common/gitProvider/index.js';
|
|
5
|
-
import { checkDeploymentOrgCoverage,
|
|
5
|
+
import { checkDeploymentOrgCoverage, extractOrgCoverageFromLog, } from '../../../common/utils/deployUtils.js';
|
|
6
6
|
import { wrapSfdxCoreCommand } from '../../../common/utils/wrapUtils.js';
|
|
7
7
|
import { uxLog } from '../../../common/utils/index.js';
|
|
8
8
|
import { CONSTANTS } from '../../../config/index.js';
|
|
9
|
+
import { executePrePostCommands } from '../../../common/utils/prePostCommandUtils.js';
|
|
9
10
|
// Wrapper for sfdx force:source:deploy
|
|
10
11
|
export class Deploy extends SfCommand {
|
|
11
12
|
static description = `sfdx-hardis wrapper for sfdx force:source:deploy that displays tips to solve deployment errors.
|
|
@@ -194,14 +195,14 @@ Notes:
|
|
|
194
195
|
await checkDeploymentOrgCoverage(Number(orgCoveragePercent), { check: checkOnly });
|
|
195
196
|
}
|
|
196
197
|
catch (errCoverage) {
|
|
197
|
-
await GitProvider.managePostPullRequestComment();
|
|
198
|
+
await GitProvider.managePostPullRequestComment(checkOnly);
|
|
198
199
|
throw errCoverage;
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
203
|
// Run post deployment commands if defined
|
|
203
204
|
await executePrePostCommands('commandsPostDeploy', { success: process.exitCode === 0, checkOnly: checkOnly, conn: conn });
|
|
204
|
-
await GitProvider.managePostPullRequestComment();
|
|
205
|
+
await GitProvider.managePostPullRequestComment(checkOnly);
|
|
205
206
|
return result;
|
|
206
207
|
}
|
|
207
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/commands/hardis/source/deploy.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAEhG,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EACL,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/commands/hardis/source/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CommonPullRequestInfo } from '../gitProvider/index.js';
|
|
2
|
+
export interface PrePostCommand {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
type: 'command' | 'data' | 'apex' | 'publish-community' | 'manual';
|
|
6
|
+
parameters?: {
|
|
7
|
+
apexScript?: string;
|
|
8
|
+
sfdmuProject?: string;
|
|
9
|
+
communityName?: string;
|
|
10
|
+
instructions?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
13
|
+
command: string;
|
|
14
|
+
context: 'all' | 'check-deployment-only' | 'process-deployment-only';
|
|
15
|
+
skipIfError?: boolean;
|
|
16
|
+
allowFailure?: boolean;
|
|
17
|
+
runOnlyOnceByOrg?: boolean;
|
|
18
|
+
customUsername?: string;
|
|
19
|
+
pullRequest?: CommonPullRequestInfo;
|
|
20
|
+
result?: ActionResult;
|
|
21
|
+
}
|
|
22
|
+
export type ActionResult = {
|
|
23
|
+
statusCode: 'success' | 'failed' | 'skipped' | "manual";
|
|
24
|
+
output?: string;
|
|
25
|
+
skippedReason?: string;
|
|
26
|
+
};
|
|
27
|
+
export declare abstract class ActionsProvider {
|
|
28
|
+
customUsernameToUse: string | null;
|
|
29
|
+
static buildActionInstance(cmd: PrePostCommand): Promise<ActionsProvider>;
|
|
30
|
+
getLabel(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Perform pre-run validations for the given command.
|
|
33
|
+
* Return null when the command is valid and may proceed.
|
|
34
|
+
* Return an ActionResult when the command must be short-circuited
|
|
35
|
+
* (for example: missing parameters -> failed, or manual -> skipped).
|
|
36
|
+
*/
|
|
37
|
+
checkValidityIssues(cmd: PrePostCommand): Promise<ActionResult | null>;
|
|
38
|
+
checkParameters(_cmd: PrePostCommand): Promise<ActionResult | null>;
|
|
39
|
+
run(cmd: PrePostCommand): Promise<ActionResult>;
|
|
40
|
+
checkAuthCustomUsernameIssues(cmd: PrePostCommand): Promise<ActionResult | null>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { SfError } from '@salesforce/core';
|
|
2
|
+
import c from 'chalk';
|
|
3
|
+
import { getCurrentGitBranch, uxLog } from '../utils/index.js';
|
|
4
|
+
import { authOrg } from '../utils/authUtils.js';
|
|
5
|
+
import { findUserByUsernameLike } from '../utils/orgUtils.js';
|
|
6
|
+
export class ActionsProvider {
|
|
7
|
+
customUsernameToUse = null;
|
|
8
|
+
static async buildActionInstance(cmd) {
|
|
9
|
+
let actionInstance = null;
|
|
10
|
+
const type = cmd.type || 'command';
|
|
11
|
+
if (type === 'command') {
|
|
12
|
+
const CommandAction = await import('./commandAction.js');
|
|
13
|
+
actionInstance = new CommandAction.CommandAction();
|
|
14
|
+
}
|
|
15
|
+
else if (type === 'apex') {
|
|
16
|
+
const ApexAction = await import('./apexAction.js');
|
|
17
|
+
actionInstance = new ApexAction.ApexAction();
|
|
18
|
+
}
|
|
19
|
+
else if (type === 'data') {
|
|
20
|
+
const DataAction = await import('./dataAction.js');
|
|
21
|
+
actionInstance = new DataAction.DataAction();
|
|
22
|
+
}
|
|
23
|
+
else if (type === 'publish-community') {
|
|
24
|
+
const PublishCommunityAction = await import('./publishCommunityAction.js');
|
|
25
|
+
actionInstance = new PublishCommunityAction.PublishCommunityAction();
|
|
26
|
+
}
|
|
27
|
+
else if (type === 'manual') {
|
|
28
|
+
const ManualAction = await import('./manualAction.js');
|
|
29
|
+
actionInstance = new ManualAction.ManualAction();
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
uxLog("error", this, c.yellow(`[DeploymentActions] Action type [${cmd.type}] is not yet implemented for action [${cmd.id}]: ${cmd.label}`));
|
|
33
|
+
cmd.result = {
|
|
34
|
+
statusCode: "failed",
|
|
35
|
+
skippedReason: `Action type [${cmd.type}] is not implemented`
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return actionInstance;
|
|
39
|
+
}
|
|
40
|
+
getLabel() {
|
|
41
|
+
throw new SfError('getLabel should be implemented on this call');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Perform pre-run validations for the given command.
|
|
45
|
+
* Return null when the command is valid and may proceed.
|
|
46
|
+
* Return an ActionResult when the command must be short-circuited
|
|
47
|
+
* (for example: missing parameters -> failed, or manual -> skipped).
|
|
48
|
+
*/
|
|
49
|
+
async checkValidityIssues(cmd) {
|
|
50
|
+
const parametersValidityIssue = await this.checkParameters(cmd);
|
|
51
|
+
if (parametersValidityIssue) {
|
|
52
|
+
return parametersValidityIssue;
|
|
53
|
+
}
|
|
54
|
+
const authValidityIssue = await this.checkAuthCustomUsernameIssues(cmd);
|
|
55
|
+
if (authValidityIssue) {
|
|
56
|
+
return authValidityIssue;
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
61
|
+
async checkParameters(_cmd) {
|
|
62
|
+
uxLog('warning', this, c.yellow(`checkParameters is not implemented on ${this.getLabel()}`));
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
|
+
async run(cmd) {
|
|
67
|
+
uxLog('warning', this, c.yellow(`run is not implemented on ${this.getLabel()}`));
|
|
68
|
+
return { statusCode: 'skipped', skippedReason: 'Not implemented' };
|
|
69
|
+
}
|
|
70
|
+
async checkAuthCustomUsernameIssues(cmd) {
|
|
71
|
+
if (this.customUsernameToUse) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
if (cmd.customUsername) {
|
|
75
|
+
const conn = globalThis.jsForceConn;
|
|
76
|
+
const user = await findUserByUsernameLike(cmd.customUsername, conn);
|
|
77
|
+
if (!user) {
|
|
78
|
+
uxLog('error', this, c.red(`[DeploymentActions] Custom username [${cmd.customUsername}] not found for action ${cmd.label}`));
|
|
79
|
+
return { statusCode: 'failed', skippedReason: `Custom username [${cmd.customUsername}] not found` };
|
|
80
|
+
}
|
|
81
|
+
let authResult;
|
|
82
|
+
try {
|
|
83
|
+
const instanceUrl = conn.instanceUrl;
|
|
84
|
+
let targetBranch = cmd.pullRequest?.targetBranch;
|
|
85
|
+
if (!targetBranch) {
|
|
86
|
+
targetBranch = await getCurrentGitBranch({ formatted: true }) || undefined;
|
|
87
|
+
}
|
|
88
|
+
authResult = await authOrg(targetBranch, {
|
|
89
|
+
forceUsername: user.Username,
|
|
90
|
+
instanceUrl: instanceUrl,
|
|
91
|
+
setDefault: false,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
uxLog('error', this, c.red(`[DeploymentActions] Error during authentication with custom username [${user.Username}] for action ${cmd.label}: ${error}`));
|
|
96
|
+
return { statusCode: 'failed', skippedReason: `Error during authentication with custom username [${user.Username}]: ${error}` };
|
|
97
|
+
}
|
|
98
|
+
if (authResult === true) {
|
|
99
|
+
this.customUsernameToUse = user.Username;
|
|
100
|
+
uxLog('log', this, c.green(`[DeploymentActions] Authenticated with custom username [${this.customUsernameToUse}] for action ${cmd.label}`));
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
uxLog('error', this, c.red(`[DeploymentActions] Failed to authenticate with custom username [${user.Username}] for action ${cmd.label}`));
|
|
104
|
+
return { statusCode: 'failed', skippedReason: `Failed to authenticate with custom username [${user.Username}]` };
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=actionsProvider.js.map
|