occam-open-cli 5.0.100 → 5.0.102

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.
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
- const { HELP_OPTION, VERSION_OPTION, LOG_LEVEL_OPTION } = require("./options");
3
+ const { HELP_OPTION, DRY_RUN_OPTION, VERSION_OPTION, LOG_LEVEL_OPTION } = require("./options");
4
4
 
5
5
  const h = HELP_OPTION,
6
+ d = DRY_RUN_OPTION,
6
7
  v = VERSION_OPTION,
7
8
  l = LOG_LEVEL_OPTION
8
9
 
9
10
  module.exports = {
10
11
  h,
12
+ d,
11
13
  v,
12
14
  l
13
15
  };
@@ -7,7 +7,7 @@ const cloneOperation = require("../operation/clone"),
7
7
  const { executeOperations } = require("../utilities/operation"),
8
8
  { SUCCESSFUL_CLONE_MESSAGE, FAILED_CLONE_MESSAGE } = require("../messages");
9
9
 
10
- function clone(argument) {
10
+ function cloneAction(argument) {
11
11
  const releaseName = argument, ///
12
12
  operations = [
13
13
  releaseNamePromptOperation,
@@ -30,4 +30,4 @@ function clone(argument) {
30
30
  }, context);
31
31
  }
32
32
 
33
- module.exports = clone;
33
+ module.exports = cloneAction;
@@ -8,7 +8,7 @@ const createAccountOperation = require("../operation/createAccount"),
8
8
 
9
9
  const { executeOperations } = require("../utilities/operation");
10
10
 
11
- function createAccount(argument) {
11
+ function createAccountAction(argument) {
12
12
  const emailAddress = argument, ///
13
13
  username = null,
14
14
  password = null,
@@ -34,4 +34,4 @@ function createAccount(argument) {
34
34
  }, context);
35
35
  }
36
36
 
37
- module.exports = createAccount;
37
+ module.exports = createAccountAction;
@@ -8,7 +8,7 @@ const deprecateOperation = require("../operation/deprecate"),
8
8
  const { executeOperations } = require("../utilities/operation"),
9
9
  { FAILED_DEPRECATE_MESSAGE, SUCCESSFUL_DEPRECATE_MESSAGE } = require("../messages");
10
10
 
11
- function deprecate(argument) {
11
+ function deprecateAction(argument) {
12
12
  const releaseName = argument, ///
13
13
  password = null,
14
14
  operations = [
@@ -34,4 +34,4 @@ function deprecate(argument) {
34
34
  }, context);
35
35
  }
36
36
 
37
- module.exports = deprecate;
37
+ module.exports = deprecateAction;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function help() {
3
+ function helpAction() {
4
4
  console.log(`Usage:
5
5
 
6
6
  open [<command>] [<argument>]
@@ -47,4 +47,4 @@ Please see the readme file on GitHub:
47
47
  process.exit();
48
48
  }
49
49
 
50
- module.exports = help;
50
+ module.exports = helpAction;
@@ -3,7 +3,7 @@
3
3
  const { checkConfigurationFileExists, createConfigurationFile } = require("../configuration"),
4
4
  { FAILED_INITIALISE_MESSAGE, SUCCESSFUL_INITIALISE_MESSAGE } = require("../messages");
5
5
 
6
- function initialise() {
6
+ function initialiseAction() {
7
7
  let success;
8
8
 
9
9
  const configurationFileExists = checkConfigurationFileExists();
@@ -25,4 +25,4 @@ function initialise() {
25
25
  process.exit();
26
26
  }
27
27
 
28
- module.exports = initialise;
28
+ module.exports = initialiseAction;
@@ -2,7 +2,7 @@
2
2
 
3
3
  const { OPEN_MESSAGE } = require("../messages");
4
4
 
5
- function open(argument) {
5
+ function openAction(argument) {
6
6
  const message = OPEN_MESSAGE;
7
7
 
8
8
  console.log(message);
@@ -10,4 +10,4 @@ function open(argument) {
10
10
  process.exit();
11
11
  }
12
12
 
13
- module.exports = open;
13
+ module.exports = openAction;
@@ -1,29 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  const publishOperation = require("../operation/publish"),
4
+ zipReleaseOperation = require("../operation/zipRelease"),
4
5
  loadReleaseOperation = require("../operation/loadRelease"),
5
6
  updateVersionOperation = require("../operation/updateVersion"),
6
- deflateReleaseOperation = require("../operation/deflateRelease"),
7
7
  getIdentityTokenOperation = require("../operation/getIdentityToken"),
8
8
  releaseNamePromptOperation = require("../operation/prompt/releaseName");
9
9
 
10
10
  const { DOUBLE_DASH } = require("../constants"),
11
- { DEFAULT_LOG_LEVEL } = require("../defaults"),
12
11
  { executeOperations } = require("../utilities/operation"),
13
12
  { FAILED_PUBLISH_MESSAGE, SUCCESSFUL_PUBLISH_MESSAGE } = require("../messages");
14
13
 
15
- function publish(argument, options) {
16
- const { logLevel = DEFAULT_LOG_LEVEL } = options,
17
- releaseName = argument, ///
14
+ function publishAction(argument, dryRun, logLevel) {
15
+ const releaseName = argument, ///
18
16
  operations = [
19
17
  getIdentityTokenOperation,
20
18
  releaseNamePromptOperation,
21
19
  loadReleaseOperation,
22
- deflateReleaseOperation,
20
+ zipReleaseOperation,
23
21
  publishOperation,
24
22
  updateVersionOperation
25
23
  ],
26
24
  context = {
25
+ dryRun,
27
26
  logLevel,
28
27
  releaseName
29
28
  };
@@ -31,8 +30,8 @@ function publish(argument, options) {
31
30
  executeOperations(operations, (completed) => {
32
31
  const { success, version, messages } = context,
33
32
  message = success ?
34
- SUCCESSFUL_PUBLISH_MESSAGE :
35
- FAILED_PUBLISH_MESSAGE,
33
+ SUCCESSFUL_PUBLISH_MESSAGE :
34
+ FAILED_PUBLISH_MESSAGE,
36
35
  messagesLength = messages.length;
37
36
 
38
37
  if (messagesLength > 0) {
@@ -57,4 +56,4 @@ function publish(argument, options) {
57
56
  }, context);
58
57
  }
59
58
 
60
- module.exports = publish;
59
+ module.exports = publishAction;
@@ -5,7 +5,7 @@ const resetPasswordOperation = require("../operation/resetPassword"),
5
5
 
6
6
  const { executeOperations } = require("../utilities/operation");
7
7
 
8
- function resetPassword(argument) {
8
+ function resetPasswordAction(argument) {
9
9
  const emailAddress = argument, ///
10
10
  operations = [
11
11
  emailAddressPromptOperation,
@@ -24,4 +24,4 @@ function resetPassword(argument) {
24
24
  }, context);
25
25
  }
26
26
 
27
- module.exports = resetPassword;
27
+ module.exports = resetPasswordAction;
@@ -7,7 +7,7 @@ const setOptionsOperation = require("../operation/setOptions"),
7
7
  const { executeOperations } = require("../utilities/operation"),
8
8
  { FAILED_SET_OPTIONS_MESSAGE, SUCCESSFUL_SET_OPTIONS_MESSAGE } = require("../messages");
9
9
 
10
- function setOptions() {
10
+ function setOptionsAction() {
11
11
  const operations = [
12
12
  useSSHPromptOperation,
13
13
  gitHubHostNamePromptOperation,
@@ -27,4 +27,4 @@ function setOptions() {
27
27
  }, context);
28
28
  }
29
29
 
30
- module.exports = setOptions;
30
+ module.exports = setOptionsAction;
@@ -7,7 +7,7 @@ const signInOperation = require("../operation/signIn"),
7
7
 
8
8
  const { executeOperations } = require("../utilities/operation");
9
9
 
10
- function signIn(argument) {
10
+ function signInAction(argument) {
11
11
  const emailAddressOrUsername = argument, ///
12
12
  password = null,
13
13
  operations = [
@@ -30,4 +30,4 @@ function signIn(argument) {
30
30
  }, context);
31
31
  }
32
32
 
33
- module.exports = signIn;
33
+ module.exports = signInAction;
@@ -3,7 +3,7 @@
3
3
  const { SIGN_OUT_MESSAGE } = require("../messages"),
4
4
  { removeIdentityToken } = require("../configuration");
5
5
 
6
- function signOut() {
6
+ function signOutAction() {
7
7
  const message = SIGN_OUT_MESSAGE;
8
8
 
9
9
  removeIdentityToken();
@@ -13,4 +13,4 @@ function signOut() {
13
13
  process.exit();
14
14
  }
15
15
 
16
- module.exports = signOut;
16
+ module.exports = signOutAction;
@@ -3,7 +3,7 @@
3
3
  const { OPEN_CLI } = require("../constants"),
4
4
  { getPackageVersion } = require("../utilities/packageJSON");
5
5
 
6
- function version() {
6
+ function versionAction() {
7
7
  const packageVersion = getPackageVersion(),
8
8
  version = packageVersion; ///
9
9
 
@@ -12,4 +12,4 @@ function version() {
12
12
  process.exit();
13
13
  }
14
14
 
15
- module.exports = version;
15
+ module.exports = versionAction;
package/bin/actions.js CHANGED
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
 
3
- const help = require("./action/help"),
4
- open = require("./action/open"),
5
- clone = require("./action/clone"),
6
- signIn = require("./action/signIn"),
7
- signOut = require("./action/signOut"),
8
- version = require("./action/version"),
9
- publish = require("./action/publish"),
10
- deprecate = require("./action/deprecate"),
11
- initialise = require("./action/initialise"),
12
- setOptions = require("./action/setOptions"),
13
- createAccount = require("./action/createAccount"),
14
- resetPassword = require("./action/resetPassword");
3
+ const helpAction = require("./action/help"),
4
+ openAction = require("./action/open"),
5
+ cloneAction = require("./action/clone"),
6
+ signInAction = require("./action/signIn"),
7
+ signOutAction = require("./action/signOut"),
8
+ versionAction = require("./action/version"),
9
+ publishAction = require("./action/publish"),
10
+ deprecateAction = require("./action/deprecate"),
11
+ initialiseAction = require("./action/initialise"),
12
+ setOptionsAction = require("./action/setOptions"),
13
+ createAccountAction = require("./action/createAccount"),
14
+ resetPasswordAction = require("./action/resetPassword");
15
15
 
16
- const { HELP_OPTION, VERSION_OPTION } = require("./options"),
16
+ const { DEFAULT_HELP, DEFAULT_DRY_RUN, DEFAULT_VERSION, DEFAULT_LOG_LEVEL } = require("./defaults"),
17
17
  { HELP_COMMAND,
18
18
  CLONE_COMMAND,
19
19
  VERSION_COMMAND,
@@ -29,30 +29,32 @@ const { HELP_OPTION, VERSION_OPTION } = require("./options"),
29
29
 
30
30
  function actions(command, argument, options) {
31
31
  const commandMissing = (command === null),
32
- helpOptionPresent = options.hasOwnProperty(HELP_OPTION),
33
- versionOptionPresent = options.hasOwnProperty(VERSION_OPTION);
32
+ { help = DEFAULT_HELP,
33
+ dryRun = DEFAULT_DRY_RUN,
34
+ version = DEFAULT_VERSION,
35
+ logLevel = DEFAULT_LOG_LEVEL } = options;
34
36
 
35
37
  if (false) {
36
38
  ///
37
- } else if (versionOptionPresent) {
38
- command = VERSION_COMMAND;
39
- } else if (commandMissing || helpOptionPresent) {
39
+ } else if (help || commandMissing) {
40
40
  command = HELP_COMMAND;
41
+ } else if (version) {
42
+ command = VERSION_COMMAND;
41
43
  }
42
44
 
43
45
  switch (command) {
44
- case HELP_COMMAND : help(); break;
45
- case CLONE_COMMAND : clone(argument); break;
46
- case VERSION_COMMAND : version(); break;
47
- case INSTALL_COMMAND : open(argument); break;
48
- case PUBLISH_COMMAND : publish(argument, options); break;
49
- case SIGN_IN_COMMAND : signIn(argument); break;
50
- case SIGN_OUT_COMMAND : signOut(); break;
51
- case DEPRECATE_COMMAND : deprecate(argument); break;
52
- case INITIALISE_COMMAND : initialise(); break;
53
- case SET_OPTIONS_COMMAND : setOptions(); break;
54
- case CREATE_ACCOUNT_COMMAND : createAccount(argument); break;
55
- case RESET_PASSWORD_COMMAND : resetPassword(argument); break;
46
+ case HELP_COMMAND : helpAction(); break;
47
+ case CLONE_COMMAND : cloneAction(argument); break;
48
+ case VERSION_COMMAND : versionAction(); break;
49
+ case INSTALL_COMMAND : openAction(argument); break;
50
+ case PUBLISH_COMMAND : publishAction(argument, dryRun, logLevel); break;
51
+ case SIGN_IN_COMMAND : signInAction(argument); break;
52
+ case SIGN_OUT_COMMAND : signOutAction(); break;
53
+ case DEPRECATE_COMMAND : deprecateAction(argument); break;
54
+ case INITIALISE_COMMAND : initialiseAction(); break;
55
+ case SET_OPTIONS_COMMAND : setOptionsAction(); break;
56
+ case CREATE_ACCOUNT_COMMAND : createAccountAction(argument); break;
57
+ case RESET_PASSWORD_COMMAND : resetPasswordAction(argument); break;
56
58
 
57
59
  default :
58
60
  argument = command; ///
package/bin/constants.js CHANGED
@@ -9,6 +9,7 @@ const END = "end",
9
9
  DOUBLE_DASH = "--",
10
10
  DOUBLE_SPACE = " ",
11
11
  EMPTY_STRING = "",
12
+ RELEASE_JSON = "release.json",
12
13
  PACKAGE_JSON = "package.json";
13
14
 
14
15
  module.exports = {
@@ -21,5 +22,6 @@ module.exports = {
21
22
  DOUBLE_DASH,
22
23
  DOUBLE_SPACE,
23
24
  EMPTY_STRING,
25
+ RELEASE_JSON,
24
26
  PACKAGE_JSON
25
27
  };
package/bin/defaults.js CHANGED
@@ -4,12 +4,18 @@ const { levels } = require("necessary");
4
4
 
5
5
  const { INFO_LEVEL } = levels;
6
6
 
7
- const DEFAULT_HOST = "https://openmathematics.org",
7
+ const DEFAULT_HELP = false,
8
+ DEFAULT_HOST = "https://openmathematics.org",
9
+ DEFAULT_DRY_RUN = false,
10
+ DEFAULT_VERSION = false,
8
11
  DEFAULT_LOG_LEVEL = INFO_LEVEL,
9
12
  DEFAULT_GITHUB_HOST_NAME = "github.com";
10
13
 
11
14
  module.exports = {
15
+ DEFAULT_HELP,
12
16
  DEFAULT_HOST,
17
+ DEFAULT_DRY_RUN,
18
+ DEFAULT_VERSION,
13
19
  DEFAULT_LOG_LEVEL,
14
20
  DEFAULT_GITHUB_HOST_NAME
15
21
  };
@@ -5,12 +5,13 @@ const post = require("../post");
5
5
  const { PUBLISH_API_URI } = require("../uris");
6
6
 
7
7
  function publishOperation(proceed, abort, context) {
8
- const { logLevel, releaseName, identityToken, deflatedRelease } = context,
8
+ const { dryRun, logLevel, releaseName, identityToken, zippedRelease } = context,
9
9
  uri = `${PUBLISH_API_URI}/${releaseName}`,
10
10
  json = {
11
+ dryRun,
11
12
  logLevel,
12
13
  identityToken,
13
- deflatedRelease
14
+ zippedRelease
14
15
  };
15
16
 
16
17
  post(uri, json, (json) => {
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ const JSZip = require("jszip");
4
+
5
+ const { encodings } = require("necessary");
6
+
7
+ const { RELEASE_JSON } = require("../constants");
8
+
9
+ const { BASE64_ENCODING } = encodings;
10
+
11
+ function zipReleaseOperation(proceed, abort, context) {
12
+ const { release } = context,
13
+ type = BASE64_ENCODING, ///
14
+ jsZip = new JSZip(),
15
+ releaseJSON = release.toJSON(),
16
+ releaseJSONString = JSON.stringify(releaseJSON),
17
+ name = RELEASE_JSON,
18
+ content = releaseJSONString, ///
19
+ options = {
20
+ type
21
+ };
22
+
23
+ jsZip.file(name, content);
24
+
25
+ jsZip.generateAsync(options)
26
+ .catch(abort)
27
+ .then((zippedRelease) => {
28
+ Object.assign(context, {
29
+ zippedRelease
30
+ });
31
+
32
+ proceed();
33
+ });
34
+ }
35
+
36
+ module.exports = zipReleaseOperation;
package/bin/options.js CHANGED
@@ -2,10 +2,12 @@
2
2
 
3
3
  const HELP_OPTION = "help",
4
4
  VERSION_OPTION = "version",
5
+ DRY_RUN_OPTION = "dry-run",
5
6
  LOG_LEVEL_OPTION = "log-level";
6
7
 
7
8
  module.exports = {
8
9
  HELP_OPTION,
9
10
  VERSION_OPTION,
11
+ DRY_RUN_OPTION,
10
12
  LOG_LEVEL_OPTION
11
13
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-open-cli",
3
3
  "author": "James Smith",
4
- "version": "5.0.100",
4
+ "version": "5.0.102",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-open-cli",
7
7
  "description": "Occam's command line package management tool.",
@@ -11,8 +11,9 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.21",
14
+ "jszip": "^3.10.1",
14
15
  "necessary": "^11.1.4",
15
- "occam-file-system": "^5.0.72"
16
+ "occam-file-system": "^5.0.73"
16
17
  },
17
18
  "scripts": {},
18
19
  "bin": {
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- const { encodings } = require("necessary");
4
-
5
- const { deflate } = require("zlib");
6
-
7
- const { BASE64_ENCODING } = encodings;
8
-
9
- function deflateReleaseOperation(proceed, abort, context) {
10
- const { release } = context,
11
- releaseJSON = release.toJSON(),
12
- releaseJSONString = JSON.stringify(releaseJSON);
13
-
14
- deflate(releaseJSONString, (error, buffer) => {
15
- if (error) {
16
- abort();
17
-
18
- return;
19
- }
20
-
21
- const encoding = BASE64_ENCODING,
22
- deflatedReleaseJSONString = buffer.toString(encoding),
23
- deflatedRelease = deflatedReleaseJSONString; ///
24
-
25
- Object.assign(context, {
26
- deflatedRelease
27
- });
28
-
29
- proceed();
30
- });
31
- }
32
-
33
- module.exports = deflateReleaseOperation;