@fishawack/lab-env 4.39.0-beta.6 → 4.39.0-beta.7

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/_Test/provision.js +13 -4
  3. package/_Test/s3.js +3 -1
  4. package/_Test/utilities.js +4 -0
  5. package/cli.js +4 -5
  6. package/commands/check.js +1 -0
  7. package/commands/clean.js +2 -2
  8. package/commands/content.js +2 -2
  9. package/commands/create/cmds/dekey.js +2 -3
  10. package/commands/create/cmds/deprovision.js +2 -2
  11. package/commands/create/cmds/diagnose.js +3 -2
  12. package/commands/create/cmds/key.js +2 -2
  13. package/commands/create/cmds/provision.js +3 -3
  14. package/commands/create/libs/aws-cloudfront-auth.js +11 -8
  15. package/commands/create/libs/aws-cloudfront-response.js +1 -0
  16. package/commands/create/libs/aws-cloudfront-simple.js +10 -7
  17. package/commands/create/libs/utilities.js +3 -0
  18. package/commands/create/libs/vars.js +20 -24
  19. package/commands/create/services/aws/cloudfront.js +1 -1
  20. package/commands/create/services/aws/iam.js +5 -3
  21. package/commands/create/services/aws/index.js +36 -12
  22. package/commands/create/services/aws/s3.js +1 -0
  23. package/commands/create/services/bitbucket.js +4 -4
  24. package/commands/create/services/egnyte.js +2 -2
  25. package/commands/create/services/gitlab.js +2 -2
  26. package/commands/create/services/guide.js +26 -19
  27. package/commands/create/services/test.js +13 -11
  28. package/commands/deploy.js +2 -2
  29. package/commands/docker/config.js +2 -2
  30. package/commands/docker/down.js +2 -2
  31. package/commands/docker/mocha.js +2 -4
  32. package/commands/docker/volumes.js +2 -2
  33. package/commands/lint.js +16 -7
  34. package/commands/nuke.js +5 -3
  35. package/commands/origin.js +3 -3
  36. package/commands/pretty.js +3 -5
  37. package/commands/production.js +2 -2
  38. package/commands/regenerate.js +2 -2
  39. package/commands/reinstall.js +2 -2
  40. package/commands/setup.js +2 -2
  41. package/commands/test.js +2 -2
  42. package/commands/watch.js +2 -2
  43. package/commands/wp.js +0 -2
  44. package/eslint.config.js +67 -0
  45. package/globals.js +38 -21
  46. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  ## Changelog
2
2
 
3
+ ### 4.39.0-beta.7 (2025-05-21)
4
+
5
+ #### Features
6
+
7
+ * added eslint configuration and global deps ([2edd07a](https://bitbucket.org/fishawackdigital/lab-env/commits/2edd07a602c601dcb1ff7e668f002a1f5ec675e3))
8
+ * added positional flag to lint command ([a9d1090](https://bitbucket.org/fishawackdigital/lab-env/commits/a9d109079721765a462c7fbfefecd4ae7177a4dd))
9
+ * copy eslint.config.js to project repo ([900f2e7](https://bitbucket.org/fishawackdigital/lab-env/commits/900f2e765322633a1f6e82bc4389c2ea2e8ff635))
10
+ * show the installing npm module in guide ([d5b4113](https://bitbucket.org/fishawackdigital/lab-env/commits/d5b41136c15f7e5ce74e05240742b817fb999474))
11
+
12
+ #### Bug Fixes
13
+
14
+ * remove airbnb dep as not needed ([494b6af](https://bitbucket.org/fishawackdigital/lab-env/commits/494b6afd2a635a0e817599cf5ae8ef1f0315d746))
15
+ * use global prettier instead of npx ([912e598](https://bitbucket.org/fishawackdigital/lab-env/commits/912e598703705586a5aeb923100b82ea19335a4f))
16
+ * use var as let not supported in cloudfront functions v5 ([6656ff3](https://bitbucket.org/fishawackdigital/lab-env/commits/6656ff319e812273c20b9b14425a90be194c4035))
17
+
3
18
  ### 4.39.0-beta.6 (2025-05-15)
4
19
 
5
20
  #### Features
@@ -9,15 +9,24 @@ describe("provision", () => {
9
9
  let config;
10
10
  let repo = "lab-env-test-suite";
11
11
  let account = "fishawack";
12
+ let branch = "test";
13
+ let name = aws.slug(repo, account, branch);
12
14
 
13
15
  describe("static", () => {
14
16
  before(async () => {
15
17
  fetch = (await import("node-fetch")).default;
16
18
 
17
- config = await aws.static(repo, account);
19
+ config = await aws.static(
20
+ name,
21
+ account,
22
+ undefined,
23
+ undefined,
24
+ repo,
25
+ branch,
26
+ );
18
27
 
19
28
  await aws.s3.addFileToS3Bucket(
20
- repo,
29
+ name,
21
30
  account,
22
31
  "index.html",
23
32
  new TextEncoder().encode("test"),
@@ -29,10 +38,10 @@ describe("provision", () => {
29
38
  });
30
39
 
31
40
  after(async () => {
32
- await aws.s3.removeFileToS3Bucket(repo, account, "index.html");
41
+ await aws.s3.removeFileToS3Bucket(name, account, "index.html");
33
42
 
34
43
  await aws.staticTerminate(
35
- repo,
44
+ name,
36
45
  account,
37
46
  repo,
38
47
  "development",
package/_Test/s3.js CHANGED
@@ -38,7 +38,9 @@ describe("s3", () => {
38
38
  await s3.removeFileToS3Bucket(repo, account, "index.html");
39
39
 
40
40
  await s3.removeS3Bucket(repo, account);
41
- } catch (e) {}
41
+ } catch {
42
+ /* empty */
43
+ }
42
44
  });
43
45
  });
44
46
  });
@@ -22,6 +22,7 @@ describe("utilities", async () => {
22
22
  });
23
23
 
24
24
  it("Should convert _ to -", async () => {
25
+ // eslint-disable-next-line no-useless-escape
25
26
  expect(s3Safe("___").match(/\_/g)).to.be.null;
26
27
  });
27
28
 
@@ -40,6 +41,7 @@ describe("utilities", async () => {
40
41
  it("Should remove any special chars", async () => {
41
42
  expect(
42
43
  s3Safe("!@#$%^&*()=_+;,./<>?~`|").match(
44
+ // eslint-disable-next-line no-useless-escape
43
45
  /[\!\@\#\$\%\^\&\*\(\)\=\_\+\;\,\.\/\<\>\?\~\`\|]/g,
44
46
  ),
45
47
  ).to.be.null;
@@ -64,6 +66,7 @@ describe("utilities", async () => {
64
66
  });
65
67
 
66
68
  it("Should convert _ to -", async () => {
69
+ // eslint-disable-next-line no-useless-escape
67
70
  expect(ebSafe("___").match(/\_/g)).to.be.null;
68
71
  });
69
72
 
@@ -82,6 +85,7 @@ describe("utilities", async () => {
82
85
  it("Should remove any special chars", async () => {
83
86
  expect(
84
87
  ebSafe("!@#$%^&*()=_+;,./<>?~`|").match(
88
+ // eslint-disable-next-line no-useless-escape
85
89
  /[\!\@\#\$\%\^\&\*\(\)\=\_\+\;\,\.\/\<\>\?\~\`\|]/g,
86
90
  ),
87
91
  ).to.be.null;
package/cli.js CHANGED
@@ -144,9 +144,8 @@ const args = hideBin(process.argv);
144
144
  // Remove network leftover by docker-compose run
145
145
  function shutdown() {
146
146
  try {
147
- execSync(
148
- `docker network rm ${_.repo_safe}_default &>/dev/null`,
149
- _.opts,
150
- );
151
- } catch (e) {}
147
+ execSync(`docker network rm ${_.repoSafe}_default &>/dev/null`, _.opts);
148
+ } catch {
149
+ /* empty */
150
+ }
152
151
  }
package/commands/check.js CHANGED
@@ -25,6 +25,7 @@ module.exports = [
25
25
  ) {
26
26
  _.command(
27
27
  "php",
28
+ // eslint-disable-next-line no-useless-escape
28
29
  `${argv.v ? `composer install --dry-run 2>&1 | grep '\\- Installing' | while read -r line; do echo \\$\{line/'Installing'\}; done && ` : ""}composer install --dry-run 2>&1 | grep -q 'Nothing to install, update or remove' && echo -e '\\033[0;32mComposer deps OK\\033[0m' || echo -e '\\033[0;31mComposer deps missing or outdated\\033[0m'`,
29
30
  );
30
31
  }
package/commands/clean.js CHANGED
@@ -3,8 +3,8 @@ const _ = require("../globals.js");
3
3
  module.exports = [
4
4
  "clean",
5
5
  "cleans out dependencies",
6
- (yargs) => {},
7
- (argv) => {
6
+ () => {},
7
+ () => {
8
8
  _.command("core", `git clean -xfd node_modules/ 2>/dev/null || true`);
9
9
 
10
10
  if (
@@ -17,8 +17,8 @@ module.exports = [
17
17
  const stringify = JSON.stringify(
18
18
  {
19
19
  "aws-s3": "fishawack",
20
- location: `fw-auto-content/${_.repo_safe}`,
21
- key: `fw-s3-${_.repo_safe}`,
20
+ location: `fw-auto-content/${_.repoSafe}`,
21
+ key: `fw-s3-${_.repoSafe}`,
22
22
  sync: true,
23
23
  },
24
24
  null,
@@ -1,13 +1,12 @@
1
1
  const _ = require("../../../globals.js");
2
- const utilities = require("../libs/utilities");
3
2
  const inquirer = require("inquirer");
4
3
  const aws = require("../services/aws/index.js");
5
4
 
6
5
  module.exports = [
7
6
  "dekey",
8
7
  false,
9
- (yargs) => {},
10
- async (argv) => {
8
+ () => {},
9
+ async () => {
11
10
  let users = [];
12
11
  let clients = [];
13
12
 
@@ -48,7 +48,7 @@ module.exports = [
48
48
  }
49
49
 
50
50
  const slug = aws.slug(
51
- _.repo_safe,
51
+ _.repoSafe,
52
52
  answers.client,
53
53
  branch,
54
54
  answers.stack === "static" ? "s3" : "eb",
@@ -70,7 +70,7 @@ module.exports = [
70
70
  await aws[`${answers.stack}Terminate`](
71
71
  slug,
72
72
  answers.client,
73
- _.repo_safe,
73
+ _.repoSafe,
74
74
  branch,
75
75
  answers.id,
76
76
  );
@@ -42,6 +42,7 @@ module.exports = [
42
42
  let preset = await guide.preset(argv);
43
43
 
44
44
  if (argv.l == null && preset === "permanent") {
45
+ // eslint-disable-next-line no-param-reassign
45
46
  argv.legacy = argv.l = true;
46
47
  }
47
48
 
@@ -73,8 +74,8 @@ module.exports = [
73
74
  await guide.strict(argv);
74
75
  }
75
76
 
76
- while (!(await test.global_modules())) {
77
- await guide.global_modules(argv);
77
+ while (!(await test.globalModules())) {
78
+ await guide.globalModules(argv);
78
79
  }
79
80
 
80
81
  if (preset === "permanent" || preset === "freelancer") {
@@ -11,8 +11,8 @@ const htmlEmail = require("fs").readFileSync(
11
11
  module.exports = [
12
12
  "key",
13
13
  false,
14
- (yargs) => {},
15
- async (argv) => {
14
+ () => {},
15
+ async () => {
16
16
  let users = [];
17
17
  let clients = [];
18
18
  let sendEmail = false;
@@ -84,7 +84,7 @@ module.exports = [
84
84
  type: "input",
85
85
  name: "username",
86
86
  message: "Username",
87
- default: `${_.repo_safe}User${credentials.length ? `-${credentials.length}` : ""}`,
87
+ default: `${_.repoSafe}User${credentials.length ? `-${credentials.length}` : ""}`,
88
88
  validate: (input) => !!input.length,
89
89
  },
90
90
  {
@@ -115,7 +115,7 @@ module.exports = [
115
115
  let config = {};
116
116
  let infastructure;
117
117
  const slug = aws.slug(
118
- _.repo_safe,
118
+ _.repoSafe,
119
119
  answers.client,
120
120
  branch,
121
121
  answers.stack === "static" ? "s3" : "eb",
@@ -131,7 +131,7 @@ module.exports = [
131
131
  { Key: "automated", Value: true },
132
132
  ],
133
133
  credentials,
134
- _.repo_safe,
134
+ _.repoSafe,
135
135
  branch,
136
136
  answers.framework,
137
137
  answers.availability,
@@ -1,15 +1,18 @@
1
+ // eslint-disable-next-line no-unused-vars
1
2
  function handler(event) {
3
+ var query, index, key, response;
4
+
2
5
  // Redirect if www to non-www
3
6
  if (event.request.headers.host.value.includes("www.")) {
4
- var query = "";
5
- var index = 0;
7
+ query = "";
8
+ index = 0;
6
9
 
7
- for (var key in event.request.querystring) {
10
+ for (key in event.request.querystring) {
8
11
  query += `${index ? "&" : "?"}${key}=${event.request.querystring[key].value}`;
9
12
  index++;
10
13
  }
11
14
 
12
- var response = {
15
+ response = {
13
16
  statusCode: 301,
14
17
  statusDescription: "Moved Permanently",
15
18
  headers: {
@@ -27,10 +30,10 @@ function handler(event) {
27
30
 
28
31
  // Redirect if no trailing slash
29
32
  if (!event.request.uri.includes(".") && !event.request.uri.endsWith("/")) {
30
- var query = "";
31
- var index = 0;
33
+ query = "";
34
+ index = 0;
32
35
 
33
- for (var key in event.request.querystring) {
36
+ for (key in event.request.querystring) {
34
37
  query += `${index ? "&" : "?"}${key}=${event.request.querystring[key].value}`;
35
38
  index++;
36
39
  }
@@ -70,7 +73,7 @@ function handler(event) {
70
73
  // But if we get here, we must either be missing the auth header or the
71
74
  // credentials failed to match what we expected.
72
75
  // Request the browser present the Basic Auth dialog.
73
- var response = {
76
+ response = {
74
77
  statusCode: 401,
75
78
  statusDescription: "Unauthorized",
76
79
  headers: {
@@ -1,3 +1,4 @@
1
+ // eslint-disable-next-line no-unused-vars
1
2
  function handler(event) {
2
3
  // Add security headers
3
4
  var response = event.response;
@@ -1,15 +1,18 @@
1
+ // eslint-disable-next-line no-unused-vars
1
2
  function handler(event) {
3
+ var query, index, key, response;
4
+
2
5
  // Redirect if www to non-www
3
6
  if (event.request.headers.host.value.includes("www.")) {
4
- var query = "";
5
- var index = 0;
7
+ query = "";
8
+ index = 0;
6
9
 
7
- for (var key in event.request.querystring) {
10
+ for (key in event.request.querystring) {
8
11
  query += `${index ? "&" : "?"}${key}=${event.request.querystring[key].value}`;
9
12
  index++;
10
13
  }
11
14
 
12
- var response = {
15
+ response = {
13
16
  statusCode: 301,
14
17
  statusDescription: "Moved Permanently",
15
18
  headers: {
@@ -27,10 +30,10 @@ function handler(event) {
27
30
 
28
31
  // Redirect if no trailing slash
29
32
  if (!event.request.uri.includes(".") && !event.request.uri.endsWith("/")) {
30
- var query = "";
31
- var index = 0;
33
+ query = "";
34
+ index = 0;
32
35
 
33
- for (var key in event.request.querystring) {
36
+ for (key in event.request.querystring) {
34
37
  query += `${index ? "&" : "?"}${key}=${event.request.querystring[key].value}`;
35
38
  index++;
36
39
  }
@@ -47,6 +47,7 @@ module.exports.Spinner = class Spinner {
47
47
  }
48
48
 
49
49
  action(message, action, success, failure) {
50
+ // eslint-disable-next-line no-async-promise-executor
50
51
  return new Promise(async (resolve, reject) => {
51
52
  let instance = new this.constructor(message);
52
53
  let res;
@@ -65,6 +66,7 @@ module.exports.Spinner = class Spinner {
65
66
  }
66
67
 
67
68
  simple(message, action) {
69
+ // eslint-disable-next-line no-async-promise-executor
68
70
  return new Promise(async (resolve, reject) => {
69
71
  let instance = new this.constructor(message, true);
70
72
  let res;
@@ -127,6 +129,7 @@ module.exports.nameSafe = (name, service = "s3") => {
127
129
  safe = `${prefix}${safe}`;
128
130
  safe = `${safe}${suffix}`;
129
131
  safe = safe.replace(/\./g, "-");
132
+ // eslint-disable-next-line no-useless-escape
130
133
  safe = safe.replace(/\_/g, "-");
131
134
 
132
135
  return safe;
@@ -11,7 +11,7 @@ try {
11
11
  miscFile = JSON.parse(
12
12
  fs.readFileSync(path.join(os.homedir(), "targets", "misc.json")),
13
13
  );
14
- } catch (e) {
14
+ } catch {
15
15
  miscFile = {
16
16
  bitbucket: {},
17
17
  gitlab: {},
@@ -29,7 +29,7 @@ try {
29
29
  encoding: "utf8",
30
30
  }),
31
31
  );
32
- } catch (e) {
32
+ } catch {
33
33
  ftppassFile = {};
34
34
  }
35
35
 
@@ -45,7 +45,7 @@ try {
45
45
  { encoding: "utf8" },
46
46
  ),
47
47
  );
48
- } catch (e) {
48
+ } catch {
49
49
  creds.egnyte = {};
50
50
  }
51
51
 
@@ -71,27 +71,23 @@ module.exports.headers = {
71
71
  };
72
72
 
73
73
  // Required global node modules
74
- module.exports.global_modules = [
75
- {
76
- package: "@commitlint/cli",
77
- version: "19",
78
- },
79
- {
80
- package: "@commitlint/config-conventional",
81
- version: "19",
82
- },
83
- {
84
- package: "husky",
85
- version: "9",
86
- },
87
- {
88
- package: "prettier",
89
- version: "3",
90
- },
91
- {
92
- package: "@prettier/plugin-php",
93
- version: "0",
94
- },
74
+ module.exports.globalModules = [
75
+ // HUSKY
76
+ { package: "husky", version: "9" },
77
+ // COMMITLINT
78
+ { package: "@commitlint/cli", version: "19" },
79
+ { package: "@commitlint/config-conventional", version: "19" },
80
+ // PRETTIER
81
+ { package: "prettier", version: "3" },
82
+ { package: "@prettier/plugin-php", version: "0" },
83
+ // ESLINT
84
+ { package: "@eslint/js", version: "9.27.0" },
85
+ { package: "eslint-config-prettier", version: "10.1.5" },
86
+ { package: "eslint-plugin-import", version: "2.31.0" },
87
+ { package: "eslint-plugin-prettier", version: "5.4.0" },
88
+ { package: "eslint-plugin-vue", version: "10.1.0" },
89
+ { package: "eslint", version: "9.27.0" },
90
+ { package: "globals", version: "16.1.0" },
95
91
  ];
96
92
 
97
93
  // User presets
@@ -212,7 +212,7 @@ module.exports.createCloudFrontFunction = async (name, account, fn, config) => {
212
212
  );
213
213
  },
214
214
  );
215
- } catch (e) {
215
+ } catch {
216
216
  res = await Spinner.prototype.simple(
217
217
  `Retrieving the already existing CloudFront function`,
218
218
  () => {
@@ -36,7 +36,7 @@ module.exports.createIAMUser = async (UserName, account, tags = []) => {
36
36
  );
37
37
  },
38
38
  );
39
- } catch (e) {
39
+ } catch {
40
40
  res = await Spinner.prototype.simple(
41
41
  `Retrieving the already existing IAM user ${UserName}`,
42
42
  () => {
@@ -81,7 +81,9 @@ module.exports.removeIAMUser = async (UserName, account) => {
81
81
  return client.send(new DeleteUserCommand({ UserName }));
82
82
  },
83
83
  );
84
- } catch (e) {}
84
+ } catch {
85
+ /* empty */
86
+ }
85
87
 
86
88
  return res;
87
89
  };
@@ -347,7 +349,7 @@ module.exports.ensureEBInstanceProfileExists = async (account) => {
347
349
 
348
350
  try {
349
351
  await module.exports.getRole(role, account);
350
- } catch (e) {
352
+ } catch {
351
353
  await module.exports.createRole(
352
354
  role,
353
355
  account,
@@ -116,29 +116,39 @@ module.exports.static = async (
116
116
  module.exports.staticTerminate = async (name, account, repo, branch, id) => {
117
117
  try {
118
118
  await module.exports.s3.emptyS3Bucket(name, account);
119
- } catch (e) {}
119
+ } catch {
120
+ /* empty */
121
+ }
120
122
 
121
123
  try {
122
124
  await module.exports.s3.removeS3Bucket(name, account);
123
- } catch (e) {}
125
+ } catch {
126
+ /* empty */
127
+ }
124
128
 
125
129
  try {
126
130
  await module.exports.cloudfront.removeCloudFrontDistribution(
127
131
  id,
128
132
  account,
129
133
  );
130
- } catch (e) {}
134
+ } catch {
135
+ /* empty */
136
+ }
131
137
 
132
138
  try {
133
139
  await module.exports.cloudfront.removeCloudFrontFunction(name, account);
134
- } catch (e) {}
140
+ } catch {
141
+ /* empty */
142
+ }
135
143
 
136
144
  try {
137
145
  await module.exports.cloudfront.removeCloudFrontFunction(
138
146
  module.exports.slug(`${repo}-response`, account, branch),
139
147
  account,
140
148
  );
141
- } catch (e) {}
149
+ } catch {
150
+ /* empty */
151
+ }
142
152
  };
143
153
 
144
154
  module.exports.fullstack = async (
@@ -181,14 +191,18 @@ module.exports.fullstack = async (
181
191
  repo,
182
192
  account,
183
193
  );
184
- } catch (e) {}
194
+ } catch {
195
+ /* empty */
196
+ }
185
197
 
186
198
  let hasKeyPair = false;
187
199
 
188
200
  try {
189
201
  await module.exports.ec2.getKeyPair("id_rsa_prev", account);
190
202
  hasKeyPair = true;
191
- } catch (e) {}
203
+ } catch {
204
+ /* empty */
205
+ }
192
206
 
193
207
  // LetsEncrypt CN records are limited to 64 chars so use only the hash from the generated name
194
208
  const CNAMEPrefix = `fw-auto-${name.split("-")[name.split("-").length - 1]}`;
@@ -270,27 +284,37 @@ module.exports.fullstackTerminate = async (name, account, repo, branch) => {
270
284
 
271
285
  try {
272
286
  await module.exports.iam.removeIAMUser(s3Slug, account);
273
- } catch (e) {}
287
+ } catch {
288
+ /* empty */
289
+ }
274
290
 
275
291
  try {
276
292
  await module.exports.s3.emptyS3Bucket(s3Slug, account);
277
- } catch (e) {}
293
+ } catch {
294
+ /* empty */
295
+ }
278
296
 
279
297
  try {
280
298
  await module.exports.s3.removeS3Bucket(s3Slug, account);
281
- } catch (e) {}
299
+ } catch {
300
+ /* empty */
301
+ }
282
302
 
283
303
  try {
284
304
  await module.exports.elasticbeanstalk.removeElasticBeanstalkEnvironment(
285
305
  name,
286
306
  account,
287
307
  );
288
- } catch (e) {}
308
+ } catch {
309
+ /* empty */
310
+ }
289
311
 
290
312
  try {
291
313
  await module.exports.elasticbeanstalk.removeElasticBeanstalkApplication(
292
314
  repo,
293
315
  account,
294
316
  );
295
- } catch (e) {}
317
+ } catch {
318
+ /* empty */
319
+ }
296
320
  };
@@ -154,6 +154,7 @@ module.exports.emptyS3Bucket = async (bucket, account) => {
154
154
  const client = createClient(S3Client, account);
155
155
 
156
156
  await Spinner.prototype.simple(`Emptying s3 bucket`, () => {
157
+ // eslint-disable-next-line no-async-promise-executor
157
158
  return new Promise(async (resolve, reject) => {
158
159
  try {
159
160
  let ContinuationToken = null;
@@ -18,7 +18,7 @@ module.exports.check = async () => {
18
18
  }
19
19
 
20
20
  return true;
21
- } catch (error) {
21
+ } catch {
22
22
  spinner.update(
23
23
  `Failed to communicate with ${misc.bitbucket.workspace} on Bitbucket.`,
24
24
  "fail",
@@ -41,7 +41,7 @@ module.exports.remove = async (slug) => {
41
41
  } else {
42
42
  throw "";
43
43
  }
44
- } catch (error) {
44
+ } catch {
45
45
  spinner.update(`Failed to delete ${slug} on Bitbucket.`, "fail");
46
46
  }
47
47
  };
@@ -98,14 +98,14 @@ module.exports.fork = async (slug, template) => {
98
98
  }
99
99
 
100
100
  return true;
101
- } catch (error) {
101
+ } catch {
102
102
  spinner.update(`Failed to create ${slug} on Bitbucket.`, "fail");
103
103
 
104
104
  return false;
105
105
  }
106
106
  };
107
107
 
108
- module.exports.enablePipelines = async (slug, config) => {
108
+ module.exports.enablePipelines = async (slug) => {
109
109
  let spinner = new Spinner(`Enabling pipelines for ${slug}`);
110
110
 
111
111
  try {
@@ -25,7 +25,7 @@ module.exports.request = async (username, password, host) => {
25
25
  !(await new Promise((resolve, reject) => {
26
26
  exec(
27
27
  `curl -I -k --ftp-ssl --ftp-pasv -u "${username.replace("$", "\\$")}:${password}" ftp://${host}`,
28
- (error, stdout, stderr) => {
28
+ (error, stdout) => {
29
29
  if (error) {
30
30
  reject(error);
31
31
  return;
@@ -42,7 +42,7 @@ module.exports.request = async (username, password, host) => {
42
42
  }
43
43
 
44
44
  return true;
45
- } catch (error) {
45
+ } catch {
46
46
  spinner.update(`Failed to communicate with Egnyte.`, "fail");
47
47
 
48
48
  return false;
@@ -13,7 +13,7 @@ module.exports.check = async () => {
13
13
  await new Promise((resolve, reject) => {
14
14
  exec(
15
15
  `curl -H "Content-Type:application/json" http://${misc.gitlab.workspace}/api/v4/users?private_token=${misc.gitlab.token}`,
16
- (error, stdout, stderr) => {
16
+ (error, stdout) => {
17
17
  if (error) {
18
18
  reject(error);
19
19
  return;
@@ -33,7 +33,7 @@ module.exports.check = async () => {
33
33
  }
34
34
 
35
35
  return true;
36
- } catch (error) {
36
+ } catch {
37
37
  spinner.update(
38
38
  `Failed to communicate with ${misc.gitlab.workspace} on Gitlab.`,
39
39
  "fail",