hdoc-tools 0.11.0 → 0.11.2

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/hdoc-bump.js ADDED
@@ -0,0 +1,109 @@
1
+ (function () {
2
+ 'use strict';
3
+
4
+ const fs = require('fs'),
5
+ path = require('path');
6
+
7
+ exports.run = function (source_path, bump_type) {
8
+ if (bump_type !== 'patch' && bump_type !== 'minor' && bump_type !== 'major') {
9
+ console.log(`Unsupported bump type: ${bump_type}`);
10
+ process.exit(1);
11
+ }
12
+ console.log(`Bumping ${bump_type} book version...\n`);
13
+
14
+ // Get document ID
15
+ const hdocbook_project_config_path = path.join(source_path, 'hdocbook-project.json');
16
+ let hdocbook_project;
17
+ try {
18
+ hdocbook_project = require(hdocbook_project_config_path);
19
+ } catch (e) {
20
+ console.log('File not found: hdocbook-project.json:');
21
+ console.log(e, '\n');
22
+ console.log('hdoc bump needs to be run in the root of a HDoc Book.\n');
23
+ process.exit(1);
24
+ }
25
+ const doc_id = hdocbook_project.docId;
26
+
27
+ const book_path = path.join(source_path, doc_id),
28
+ hdocbook_path = path.join(book_path, 'hdocbook.json');
29
+
30
+ let hdocbook_config;
31
+ try {
32
+ hdocbook_config = require(hdocbook_path);
33
+ } catch (e) {
34
+ console.log('File not found: hdocbook.json');
35
+ console.log(e, '\n');
36
+ console.log('hdoc bump needs to be run in the root of a HDoc Book.\n');
37
+ process.exit(1);
38
+ }
39
+ const initial_version = hdocbook_config.version;
40
+ let hdocbook_version = hdocbook_config.version.split('.');
41
+ if (hdocbook_version.length !== 3) {
42
+ console.log(`Book version does not appear to be in a semantic versioning format: ${initial_version}`);
43
+ process.exit(1);
44
+ }
45
+
46
+ if (isNaN(hdocbook_version[0])) {
47
+ console.log(`Existing major version is not a number: ${hdocbook_version[0]}`);
48
+ process.exit(1);
49
+ }
50
+ if (isNaN(hdocbook_version[1])) {
51
+ console.log(`Existing minor version is not a number: ${hdocbook_version[1]}`);
52
+ process.exit(1);
53
+ }
54
+ if (isNaN(hdocbook_version[2])) {
55
+ console.log(`Existing patch version is not a number: ${hdocbook_version[2]}`);
56
+ process.exit(1);
57
+ }
58
+
59
+ switch (bump_type) {
60
+ case 'major':
61
+ try {
62
+ hdocbook_version[0] = parseInt(hdocbook_version[0], 10) + 1;
63
+ hdocbook_version[1] = 0;
64
+ hdocbook_version[2] = 0;
65
+ } catch (e) {
66
+ console.log('Failed to update major version:');
67
+ console.log(e);
68
+ process.exit(1);
69
+ }
70
+ break;
71
+ case 'minor':
72
+ try {
73
+ hdocbook_version[0] = parseInt(hdocbook_version[0], 10);
74
+ hdocbook_version[1] = parseInt(hdocbook_version[1], 10) + 1;
75
+ hdocbook_version[2] = 0;
76
+ } catch (e) {
77
+ console.log('Failed to update minor version:');
78
+ console.log(e);
79
+ process.exit(1);
80
+ }
81
+ break;
82
+ case 'patch':
83
+ default:
84
+ try {
85
+ hdocbook_version[0] = parseInt(hdocbook_version[0], 10);
86
+ hdocbook_version[1] = parseInt(hdocbook_version[1], 10);
87
+ hdocbook_version[2] = parseInt(hdocbook_version[2], 10) + 1;
88
+ } catch (e) {
89
+ console.log('Failed to update patch version:');
90
+ console.log(e);
91
+ process.exit(1);
92
+ }
93
+ break;
94
+ }
95
+
96
+ hdocbook_config.version = hdocbook_version.join('.');
97
+
98
+ try {
99
+ fs.writeFileSync(hdocbook_path, JSON.stringify(hdocbook_config, null, 2));
100
+ } catch (e) {
101
+ console.log('Error writing bumped version to book config:', e);
102
+ process.exit(1);
103
+ }
104
+
105
+ console.log(`Book version updated from ${initial_version} to ${hdocbook_config.version}\n`);
106
+ return true;
107
+ };
108
+
109
+ })();
package/hdoc-help.js CHANGED
@@ -38,6 +38,9 @@ Commands
38
38
  - minor - updates the minor version of the book. i.e. - 1.4.5 would become 1.5.0
39
39
  - patch (default) - updates the patch version of the book. i.e. - 1.4.5 would become 1.4.6
40
40
 
41
+ - ver
42
+ Returns the version of the current book
43
+
41
44
  Example
42
45
 
43
46
  hdoc stats -v
package/hdoc-ver.js ADDED
@@ -0,0 +1,43 @@
1
+ (function () {
2
+ 'use strict';
3
+
4
+ const fs = require('fs'),
5
+ path = require('path');
6
+
7
+ exports.run = function (source_path) {
8
+ console.log(`Retrieving book version...\n`);
9
+
10
+ // Get document ID
11
+ const hdocbook_project_config_path = path.join(source_path, 'hdocbook-project.json');
12
+ let hdocbook_project;
13
+ try {
14
+ hdocbook_project = require(hdocbook_project_config_path);
15
+ } catch (e) {
16
+ console.log('File not found: hdocbook-project.json:');
17
+ console.log(e, '\n');
18
+ console.log('hdoc ver needs to be run in the root of a HDoc Book.\n');
19
+ process.exit(1);
20
+ }
21
+ const doc_id = hdocbook_project.docId;
22
+
23
+ const book_path = path.join(source_path, doc_id),
24
+ hdocbook_path = path.join(book_path, 'hdocbook.json');
25
+
26
+ let hdocbook_config;
27
+ try {
28
+ hdocbook_config = require(hdocbook_path);
29
+ } catch (e) {
30
+ console.log('File not found: hdocbook.json');
31
+ console.log(e, '\n');
32
+ console.log('hdoc ver needs to be run in the root of a HDoc Book.\n');
33
+ process.exit(1);
34
+ }
35
+ if (hdocbook_config.version && hdocbook_config.version !== '') {
36
+ console.log(`Book version: ${hdocbook_config.version}\n`);
37
+ } else {
38
+ console.log(`Error - this book has no version defined.\n`);
39
+ process.exit(1);
40
+ }
41
+ };
42
+
43
+ })();
package/hdoc.js CHANGED
@@ -106,6 +106,9 @@
106
106
  } else if (command == 'bump') {
107
107
  const bump = require(path.join(__dirname, 'hdoc-bump.js'));
108
108
  bump.run(source_path, bump_type);
109
+ } else if (command == 'ver') {
110
+ const ver = require(path.join(__dirname, 'hdoc-ver.js'));
111
+ ver.run(source_path);
109
112
  } else {
110
113
  console.log('Unknown command:', command, '\r\n');
111
114
  console.log('Run hdoc help for information regarding this tool.\r\n');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hdoc-tools",
3
- "version": "0.11.0",
3
+ "version": "0.11.2",
4
4
  "description": "Hornbill HDocBook Development Support Tool",
5
5
  "main": "hdoc.js",
6
6
  "bin": {
@@ -12,6 +12,7 @@
12
12
  "hdoc-build.js",
13
13
  "hdoc-build-db.js",
14
14
  "hdoc-build-pdf.js",
15
+ "hdoc-bump.js",
15
16
  "hdoc-create.js",
16
17
  "hdoc-help.js",
17
18
  "hdoc-init.js",
@@ -19,6 +20,7 @@
19
20
  "hdoc-serve.js",
20
21
  "hdoc-stats.js",
21
22
  "hdoc-validate.js",
23
+ "hdoc-ver.js",
22
24
  "validateNodeVer.js",
23
25
  "ui",
24
26
  "custom_modules",