hdoc-tools 0.11.1 → 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-ver.js +43 -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-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/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",
|