@hexonet/semantic-release-whmcs 4.0.4 → 5.0.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/.github/dependabot.yml +7 -7
- package/.github/workflows/release.yml +29 -0
- package/.github/workflows/{pull-request.yml → test.yml} +13 -16
- package/.releaserc.json +1 -5
- package/HISTORY.md +12 -0
- package/index.js +23 -24
- package/lib/definitions/errors.js +19 -10
- package/lib/delete-marketplace-version.js +48 -48
- package/lib/get-error.js +6 -6
- package/lib/get-github-releases.js +17 -18
- package/lib/publish.js +10 -13
- package/lib/puppet.js +73 -74
- package/lib/resolve-config.js +5 -6
- package/lib/scrape-marketplace-versions.js +30 -28
- package/lib/set-compatible-versions.js +42 -41
- package/lib/verify.js +4 -4
- package/package.json +32 -28
- package/whmcs.js +81 -53
- package/.eslintignore +0 -3
- package/.eslintrc.js +0 -14
- package/.github/workflows/push.yml +0 -79
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/coverage-final.json +0 -11
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -131
- package/coverage/lib/definitions/errors.js.html +0 -148
- package/coverage/lib/definitions/index.html +0 -116
- package/coverage/lib/delete-marketplace-version.js.html +0 -343
- package/coverage/lib/get-error.js.html +0 -106
- package/coverage/lib/get-github-releases.js.html +0 -184
- package/coverage/lib/index.html +0 -236
- package/coverage/lib/publish.js.html +0 -370
- package/coverage/lib/puppet.js.html +0 -424
- package/coverage/lib/resolve-config.js.html +0 -118
- package/coverage/lib/scrape-marketplace-versions.js.html +0 -220
- package/coverage/lib/set-compatible-versions.js.html +0 -298
- package/coverage/lib/verify.js.html +0 -157
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
package/.github/dependabot.yml
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
version: 2
|
2
2
|
updates:
|
3
|
-
- package-ecosystem: npm
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
- package-ecosystem: npm
|
4
|
+
directory: "/"
|
5
|
+
schedule:
|
6
|
+
interval: daily
|
7
|
+
open-pull-requests-limit: 10
|
8
|
+
commit-message:
|
9
|
+
prefix: chore
|
@@ -0,0 +1,29 @@
|
|
1
|
+
name: Release
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- master
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
release:
|
9
|
+
name: Release @ NodeJS LTS - x86 - ubuntu-latest
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
steps:
|
12
|
+
- name: Checkout
|
13
|
+
uses: actions/checkout@v3
|
14
|
+
with:
|
15
|
+
fetch-depth: 0
|
16
|
+
persist-credentials: false
|
17
|
+
- name: Setup NodeJS LTS
|
18
|
+
uses: actions/setup-node@v3
|
19
|
+
with:
|
20
|
+
node-version: lts/*
|
21
|
+
cache: npm
|
22
|
+
- name: Install dependencies
|
23
|
+
run: npm ci
|
24
|
+
- name: Release
|
25
|
+
env:
|
26
|
+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
27
|
+
GITHUB_REPO: ${{ secrets.GH_REPO }}
|
28
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
29
|
+
run: npx semantic-release
|
@@ -1,24 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
name: Lint codebase & Execute tests
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- dependabot/** #branches are generated by https://github.com/dependabot
|
6
|
+
|
7
|
+
pull_request:
|
8
|
+
types:
|
9
|
+
- opened
|
10
|
+
- synchronize
|
11
|
+
|
4
12
|
jobs:
|
5
|
-
approve: # to approve a workflow run(through github environment)
|
6
|
-
name: Approve Job
|
7
|
-
runs-on: ubuntu-latest
|
8
|
-
steps:
|
9
|
-
- name: Approve
|
10
|
-
run: |
|
11
|
-
echo For security reasons, all pull requests need to be approved first before running any automated CI.
|
12
|
-
echo Thank you for your patience.
|
13
13
|
test:
|
14
14
|
name: Test @ NodeJS - x86 - ubuntu-latest
|
15
15
|
runs-on: ubuntu-latest
|
16
|
-
needs: [approve]
|
17
16
|
strategy:
|
18
17
|
matrix:
|
19
18
|
node-version: [lts/*]
|
20
|
-
environment:
|
21
|
-
name: pr-reviews
|
22
19
|
steps:
|
23
20
|
- name: Checkout
|
24
21
|
uses: actions/checkout@v3
|
@@ -26,7 +23,7 @@ jobs:
|
|
26
23
|
uses: actions/setup-node@v3
|
27
24
|
with:
|
28
25
|
node-version: ${{ matrix.node-version }}
|
29
|
-
|
26
|
+
cache: npm
|
30
27
|
- name: Install dependencies
|
31
28
|
run: npm ci
|
32
29
|
- name: Linting
|
@@ -40,7 +37,7 @@ jobs:
|
|
40
37
|
WHMCSMP_PRODUCTID: ${{ secrets.WHMCSMP_PRODUCTID }}
|
41
38
|
WHMCSMP_MINVERSION: ${{ secrets.WHMCSMP_MINVERSION }}
|
42
39
|
DEBUG: ${{ secrets.DEBUG }}
|
43
|
-
run: npm run
|
40
|
+
run: npm run test
|
44
41
|
- name: Initialize CodeQL
|
45
42
|
uses: github/codeql-action/init@v2
|
46
43
|
with:
|
package/.releaserc.json
CHANGED
@@ -12,11 +12,7 @@
|
|
12
12
|
[
|
13
13
|
"@semantic-release/git",
|
14
14
|
{
|
15
|
-
"assets": [
|
16
|
-
"HISTORY.md",
|
17
|
-
"package?(-lock).json",
|
18
|
-
"coverage"
|
19
|
-
],
|
15
|
+
"assets": ["HISTORY.md", "package?(-lock).json"],
|
20
16
|
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
21
17
|
}
|
22
18
|
],
|
package/HISTORY.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
# [5.0.0](https://github.com/centralnicgroup-opensource/rtldev-middleware-semantic-release-whmcs/compare/v4.0.4...v5.0.0) (2023-01-18)
|
2
|
+
|
3
|
+
|
4
|
+
### chore
|
5
|
+
|
6
|
+
* **node:** Refactored SemanticRelease to make it compatible with ESM ([f5a3640](https://github.com/centralnicgroup-opensource/rtldev-middleware-semantic-release-whmcs/commit/f5a36404e978d072f60497787074301d34255633))
|
7
|
+
|
8
|
+
|
9
|
+
### BREAKING CHANGES
|
10
|
+
|
11
|
+
* **node:** Ported to ESM
|
12
|
+
|
1
13
|
## [4.0.4](https://github.com/centralnicgroup-opensource/rtldev-middleware-semantic-release-whmcs/compare/v4.0.3...v4.0.4) (2023-01-04)
|
2
14
|
|
3
15
|
|
package/index.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
import verifyWHMCS from "./lib/verify.js";
|
2
|
+
import publishWHMCS from "./lib/publish.js";
|
3
|
+
import deleteVersion from "./lib/delete-marketplace-version.js";
|
4
|
+
import setCompatibleVersions from "./lib/set-compatible-versions.js";
|
5
|
+
import githubReleases from "./lib/get-github-releases.js";
|
6
|
+
import marketplaceVersions from "./lib/scrape-marketplace-versions.js";
|
7
7
|
|
8
8
|
let verified;
|
9
9
|
|
@@ -25,46 +25,45 @@ async function verifyConditions(pluginConfig, context) {
|
|
25
25
|
* @param {*} context The context provided by semantic-release
|
26
26
|
*/
|
27
27
|
async function publish(pluginConfig, context) {
|
28
|
-
await verifyConditions(pluginConfig, context)
|
29
|
-
return publishWHMCS(pluginConfig, context)
|
28
|
+
await verifyConditions(pluginConfig, context);
|
29
|
+
return publishWHMCS(pluginConfig, context);
|
30
30
|
}
|
31
31
|
|
32
32
|
async function syncVersions(pluginConfig, context) {
|
33
|
-
await verifyConditions(pluginConfig, context)
|
34
|
-
const releases = await githubReleases(pluginConfig, context)
|
33
|
+
await verifyConditions(pluginConfig, context);
|
34
|
+
const releases = await githubReleases(pluginConfig, context);
|
35
35
|
|
36
36
|
if (releases && releases.length) {
|
37
|
-
const versions = await marketplaceVersions(pluginConfig, context)
|
37
|
+
const versions = await marketplaceVersions(pluginConfig, context);
|
38
38
|
for (const release of releases) {
|
39
39
|
if (!versions.includes(release.name.substring(1))) {
|
40
40
|
context.nextRelease = {
|
41
41
|
version: release.name.substring(1),
|
42
42
|
notes: release.body,
|
43
|
-
releaseDate: release.published_at
|
44
|
-
}
|
45
|
-
console.log(`Adding missing version ${context.nextRelease.version}`)
|
46
|
-
await publish(pluginConfig, context)
|
43
|
+
releaseDate: release.published_at,
|
44
|
+
};
|
45
|
+
console.log(`Adding missing version ${context.nextRelease.version}`);
|
46
|
+
await publish(pluginConfig, context);
|
47
47
|
}
|
48
48
|
}
|
49
49
|
}
|
50
50
|
}
|
51
51
|
|
52
|
-
|
53
52
|
async function delVersion(pluginConfig, context) {
|
54
|
-
await verifyConditions(pluginConfig, context)
|
55
|
-
await deleteVersion(pluginConfig, context)
|
53
|
+
await verifyConditions(pluginConfig, context);
|
54
|
+
await deleteVersion(pluginConfig, context);
|
56
55
|
}
|
57
56
|
|
58
57
|
async function updateCompatibility(pluginConfig, context) {
|
59
|
-
await verifyConditions(pluginConfig, context)
|
60
|
-
await setCompatibleVersions(pluginConfig, context)
|
58
|
+
await verifyConditions(pluginConfig, context);
|
59
|
+
await setCompatibleVersions(pluginConfig, context);
|
61
60
|
}
|
62
61
|
|
63
62
|
async function fail(pluginConfig, context) {
|
64
|
-
await verifyConditions(pluginConfig, context)
|
63
|
+
await verifyConditions(pluginConfig, context);
|
65
64
|
}
|
66
65
|
|
67
|
-
|
66
|
+
export default {
|
68
67
|
verifyConditions,
|
69
68
|
publish,
|
70
69
|
fail,
|
@@ -72,5 +71,5 @@ module.exports = {
|
|
72
71
|
delVersion,
|
73
72
|
githubReleases,
|
74
73
|
marketplaceVersions,
|
75
|
-
updateCompatibility
|
76
|
-
}
|
74
|
+
updateCompatibility,
|
75
|
+
};
|
@@ -1,21 +1,30 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
export function ENOGHTOKEN() {
|
2
|
+
return {
|
3
3
|
message: "No Github Token specified.",
|
4
4
|
details: "Please create a `GH_TOKEN` in repository secrets.",
|
5
|
-
}
|
6
|
-
|
5
|
+
};
|
6
|
+
}
|
7
|
+
|
8
|
+
export function EWHMCSNOCREDENTIALS() {
|
9
|
+
return {
|
7
10
|
message: "No WHMCS Marketplace credentials specified.",
|
8
11
|
details:
|
9
12
|
"WHMCS Marketplace credentails have to be set in the `WHMCS_LOGIN` and `WHMCS_PASSWORD` environment variables on your CI environment.",
|
10
|
-
}
|
11
|
-
|
13
|
+
};
|
14
|
+
}
|
15
|
+
|
16
|
+
export function EWHMCSNOPRODUCTID() {
|
17
|
+
return {
|
12
18
|
message: "No WHMCS Marketplace Product ID specified.",
|
13
19
|
details:
|
14
20
|
"The product id of your listed product at the WHMCS Marketplace has to be set in the `WHMCS_PRODUCTID` environment variable on your CI environment. You'll find that number in url when visiting the product page in WHMCS Marketplace.",
|
15
|
-
}
|
16
|
-
|
21
|
+
};
|
22
|
+
}
|
23
|
+
|
24
|
+
export function EWHMCSINVALIDPRODUCTID() {
|
25
|
+
return {
|
17
26
|
message: "Invalid WHMCS Marketplace Product ID specified.",
|
18
27
|
details:
|
19
28
|
"The product id of your listed product at the WHMCS Marketplace has to be set in the `WHMCS_PRODUCTID` environment variable on your CI environment. You'll find that number in url when visiting the product page in WHMCS Marketplace.",
|
20
|
-
}
|
21
|
-
}
|
29
|
+
};
|
30
|
+
}
|
@@ -1,40 +1,40 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
import puppet from "./puppet.js";
|
2
|
+
import debugConfig from "debug";
|
3
|
+
import { fileURLToPath } from "node:url";
|
4
|
+
const debug = debugConfig("semantic-release:whmcs");
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
5
6
|
/**
|
6
7
|
* A method to publish the module update on whmcs market place
|
7
8
|
*/
|
8
|
-
|
9
|
+
export default async (pluginConfig, context) => {
|
9
10
|
// if (!context.logger) {
|
10
11
|
// context.logger = console;
|
11
12
|
// }
|
12
13
|
|
13
|
-
const sep =
|
14
|
-
const out = `\n${sep}\n${
|
14
|
+
const sep = "+++++++++++++++++++++++++++++++++++++++++++++++++++";
|
15
|
+
const out = `\n${sep}\n${__filename}\n${sep}\n`;
|
15
16
|
|
16
|
-
const { version } = context
|
17
|
+
const { version } = context;
|
17
18
|
if (!version || !version.length) {
|
18
|
-
debug(`${out}Deleting product version failed. No input data available.`)
|
19
|
-
return false
|
19
|
+
debug(`${out}Deleting product version failed. No input data available.`);
|
20
|
+
return false;
|
20
21
|
}
|
21
22
|
|
22
|
-
debug(`${out}Delete Version: ${version}`)
|
23
|
+
debug(`${out}Delete Version: ${version}`);
|
23
24
|
|
24
|
-
const püppi = await puppet(context)
|
25
|
-
const result = await püppi.login()
|
25
|
+
const püppi = await puppet(context);
|
26
|
+
const result = await püppi.login();
|
26
27
|
if (!result) {
|
27
|
-
return result
|
28
|
+
return result;
|
28
29
|
}
|
29
|
-
const { page, navOpts, gotoOpts, selectorOpts, productid, urlbase } =
|
30
|
-
püppi.config
|
30
|
+
const { page, navOpts, gotoOpts, selectorOpts, productid, urlbase } = püppi.config;
|
31
31
|
|
32
32
|
// strip markdown links from notes as not allowed to keep
|
33
33
|
try {
|
34
34
|
// navigate to product administration
|
35
|
-
const url = `${urlbase}/product/${productid}/edit#versions
|
36
|
-
await page.goto(url, gotoOpts)
|
37
|
-
debug(
|
35
|
+
const url = `${urlbase}/product/${productid}/edit#versions`;
|
36
|
+
await page.goto(url, gotoOpts);
|
37
|
+
debug("product page loaded at %s", url);
|
38
38
|
// open versions tab (instead of doing it via url)
|
39
39
|
// let selector = '#nav-tabs li a[href="#versions"]';
|
40
40
|
// await page.waitForSelector(selector, selectorOpts);
|
@@ -44,43 +44,43 @@ module.exports = async (pluginConfig, context) => {
|
|
44
44
|
// xpath improvements / changes with v16.1.0
|
45
45
|
// -> https://github.com/puppeteer/puppeteer/pull/8730
|
46
46
|
// https://github.com/puppeteer/puppeteer/blob/d1681ec06b7c3db4b51c20b17b3339f852efbd4d/test/src/queryhandler.spec.ts
|
47
|
-
let elements = []
|
47
|
+
let elements = [];
|
48
48
|
do {
|
49
|
-
const xpath = `xpath/.//td[contains(., "Version ${version}")]/following-sibling::td/a[contains(@class, "btn-styled-red")]
|
50
|
-
await page.waitForSelector(xpath, selectorOpts)
|
51
|
-
debug(
|
52
|
-
const nav = page.waitForNavigation(navOpts)
|
53
|
-
elements = await page.$$(xpath)
|
49
|
+
const xpath = `xpath/.//td[contains(., "Version ${version}")]/following-sibling::td/a[contains(@class, "btn-styled-red")]`;
|
50
|
+
await page.waitForSelector(xpath, selectorOpts);
|
51
|
+
debug("XPath found.");
|
52
|
+
const nav = page.waitForNavigation(navOpts);
|
53
|
+
elements = await page.$$(xpath);
|
54
54
|
if (elements.length) {
|
55
|
-
debug(
|
56
|
-
await elements[0].hover()
|
57
|
-
await elements[0].click()
|
58
|
-
debug(
|
59
|
-
await nav
|
60
|
-
debug(
|
55
|
+
debug("Delete Button - click.");
|
56
|
+
await elements[0].hover();
|
57
|
+
await elements[0].click();
|
58
|
+
debug("Delete Button - clicked.");
|
59
|
+
await nav;
|
60
|
+
debug("Navigation finished.");
|
61
61
|
// confirm deletion
|
62
|
-
const selector =
|
63
|
-
await page.waitForSelector(selector, selectorOpts)
|
64
|
-
debug(
|
65
|
-
debug(
|
66
|
-
await page.clickAndNavigate(selector)
|
67
|
-
debug(
|
68
|
-
await nav
|
69
|
-
debug(
|
62
|
+
const selector = "button.btn-styled-red";
|
63
|
+
await page.waitForSelector(selector, selectorOpts);
|
64
|
+
debug("deletion confirmation button available");
|
65
|
+
debug("click confirmation button");
|
66
|
+
await page.clickAndNavigate(selector);
|
67
|
+
debug("clicked confirmation button");
|
68
|
+
await nav;
|
69
|
+
debug("WHMCS Marketplace deleting product version succeeded.");
|
70
70
|
}
|
71
|
-
} while (elements.length)
|
71
|
+
} while (elements.length);
|
72
72
|
} catch (error) {
|
73
73
|
// while loop and having all versions deleted
|
74
74
|
if (!/waiting for selector `.\/\//i.test(error.message)) {
|
75
|
-
debug(
|
76
|
-
await page.browser().close()
|
77
|
-
return false
|
75
|
+
debug("Deleting product version failed.", error.message);
|
76
|
+
await page.browser().close();
|
77
|
+
return false;
|
78
78
|
}
|
79
79
|
}
|
80
80
|
|
81
|
-
await page.browser().close()
|
81
|
+
await page.browser().close();
|
82
82
|
return {
|
83
|
-
name:
|
84
|
-
url: `${urlbase}/product/${productid}
|
85
|
-
}
|
86
|
-
}
|
83
|
+
name: "WHMCS Marketplace Product Version",
|
84
|
+
url: `${urlbase}/product/${productid}`,
|
85
|
+
};
|
86
|
+
};
|
package/lib/get-error.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
import SemanticReleaseError from "@semantic-release/error";
|
2
|
+
import * as ERROR_DEFINITIONS from "./definitions/errors.js";
|
3
3
|
|
4
|
-
|
5
|
-
const { message, details } = ERROR_DEFINITIONS[code]()
|
6
|
-
return new SemanticReleaseError(message, code, details)
|
7
|
-
}
|
4
|
+
export default (code) => {
|
5
|
+
const { message, details } = ERROR_DEFINITIONS[code]();
|
6
|
+
return new SemanticReleaseError(message, code, details);
|
7
|
+
};
|
@@ -1,6 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
import resolveConfig from "./resolve-config.js";
|
2
|
+
import GitHub from "github-api";
|
3
|
+
import debugConfig from "debug";
|
4
|
+
const debug = debugConfig("semantic-release:whmcs");
|
4
5
|
|
5
6
|
// https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting
|
6
7
|
// Rate limits to 60 requests/hour per IP for anonymous requests, 5000/hour with authentication
|
@@ -8,26 +9,24 @@ const GitHub = require('github-api')
|
|
8
9
|
/**
|
9
10
|
* A method to get releases from github repository
|
10
11
|
*/
|
11
|
-
|
12
|
-
debug(
|
12
|
+
export default async (pluginConfig, context) => {
|
13
|
+
debug("Getting releases from GitHub");
|
13
14
|
|
14
|
-
const { ghrepo, ghtoken } = resolveConfig(context)
|
15
|
+
const { ghrepo, ghtoken } = resolveConfig(context);
|
15
16
|
|
16
17
|
const gh = new GitHub({
|
17
|
-
token: ghtoken
|
18
|
-
})
|
18
|
+
token: ghtoken,
|
19
|
+
});
|
19
20
|
if (ghrepo) {
|
20
21
|
// optional by default false
|
21
|
-
const repo = ghrepo.split(
|
22
|
-
const githubReleases = await gh.getRepo(repo[0], repo[1]).listReleases()
|
22
|
+
const repo = ghrepo.split("/");
|
23
|
+
const githubReleases = await gh.getRepo(repo[0], repo[1]).listReleases();
|
23
24
|
if (githubReleases.status === 200) {
|
24
|
-
githubReleases.data.forEach((r) =>
|
25
|
-
|
26
|
-
|
27
|
-
githubReleases.data.reverse()
|
28
|
-
return githubReleases.data
|
25
|
+
githubReleases.data.forEach((r) => debug(`Detected GitHub release ${r.name.substring(1)}`));
|
26
|
+
githubReleases.data.reverse();
|
27
|
+
return githubReleases.data;
|
29
28
|
}
|
30
|
-
debug(
|
29
|
+
debug("Failed to get releases from GitHub");
|
31
30
|
}
|
32
|
-
return false
|
33
|
-
}
|
31
|
+
return false;
|
32
|
+
};
|
package/lib/publish.js
CHANGED
@@ -1,22 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
import puppet from "./puppet.js";
|
2
|
+
import setCompatibleVersions from "./set-compatible-versions.js";
|
3
|
+
import debugConfig from "debug";
|
4
|
+
import { fileURLToPath } from "node:url";
|
5
|
+
const debug = debugConfig("semantic-release:whmcs");
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
5
7
|
|
6
8
|
/**
|
7
9
|
* A method to publish the module update on whmcs market place
|
8
10
|
*/
|
9
|
-
|
11
|
+
export default async (pluginConfig, context) => {
|
10
12
|
const sep = "+++++++++++++++++++++++++++++++++++++++++++++++++++";
|
11
|
-
const out = `\n${sep}\n${
|
12
|
-
|
13
|
+
const out = `\n${sep}\n${__filename}\n${sep}\n`;
|
13
14
|
const {
|
14
15
|
nextRelease: { notes, version, releaseDate },
|
15
16
|
} = context;
|
16
17
|
if (!notes || !notes.length || !version || !version.length) {
|
17
|
-
debug(
|
18
|
-
`${out}Publishing new product version failed. No input data available.`
|
19
|
-
);
|
18
|
+
debug(`${out}Publishing new product version failed. No input data available.`);
|
20
19
|
return false;
|
21
20
|
}
|
22
21
|
// strip markdown links from notes as not allowed to keep (taken from remove-markdown and cleaned up)
|
@@ -76,9 +75,7 @@ module.exports = async (pluginConfig, context) => {
|
|
76
75
|
);
|
77
76
|
debug("form input for description finished.");
|
78
77
|
|
79
|
-
await page.clickAndNavigate(
|
80
|
-
'div.listing-edit-container form button[type="submit"]'
|
81
|
-
);
|
78
|
+
await page.clickAndNavigate('div.listing-edit-container form button[type="submit"]');
|
82
79
|
await setCompatibleVersions(pluginConfig, context);
|
83
80
|
} catch (error) {
|
84
81
|
debug("Publishing new product version failed.", error.message);
|