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 +109 -0
- package/hdoc-help.js +3 -0
- package/hdoc-ver.js +43 -0
- package/hdoc.js +3 -0
- package/package.json +3 -1
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.
|
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",
|