@antora/cli 3.0.0-beta.1 → 3.0.0-beta.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/lib/cli.js +24 -11
- package/lib/index.js +14 -0
- package/package.json +6 -6
package/lib/cli.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
1
|
'use strict'
|
|
4
2
|
|
|
5
3
|
const buildPlaybook = require('@antora/playbook-builder')
|
|
6
4
|
const cli = require('./commander')
|
|
7
5
|
const convict = require('@antora/playbook-builder/lib/solitary-convict')
|
|
8
|
-
const { configureLogger, getLogger, finalizeLogger } = require('@antora/logger')
|
|
9
6
|
const ospath = require('path')
|
|
10
7
|
const userRequire = require('@antora/user-require-helper')
|
|
11
8
|
|
|
@@ -17,11 +14,13 @@ async function run (argv = process.argv) {
|
|
|
17
14
|
}
|
|
18
15
|
|
|
19
16
|
function exitWithError (err, opts, msg = undefined) {
|
|
17
|
+
const { getLogger, configureLogger } = requireLogger()
|
|
20
18
|
if (!msg) msg = err.message || err
|
|
21
19
|
const name = msg.startsWith('asciidoctor: FAILED: ') ? (msg = msg.slice(21)) && 'asciidoctor' : cli.name()
|
|
22
|
-
|
|
23
|
-
?
|
|
24
|
-
|
|
20
|
+
if (!getLogger(null)) {
|
|
21
|
+
configureLogger({ format: 'pretty', level: opts.silent ? 'silent' : 'fatal', failureLevel: 'fatal' })
|
|
22
|
+
}
|
|
23
|
+
const logger = getLogger(name)
|
|
25
24
|
if (opts.stacktrace) {
|
|
26
25
|
let loc, stack
|
|
27
26
|
if ((stack = err.backtrace)) {
|
|
@@ -47,7 +46,9 @@ function exitWithError (err, opts, msg = undefined) {
|
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
function exit () {
|
|
50
|
-
return
|
|
49
|
+
return requireLogger()
|
|
50
|
+
.finalizeLogger()
|
|
51
|
+
.then((failOnExit) => process.exit(failOnExit ? 1 : process.exitCode))
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
function getTTYColumns () {
|
|
@@ -58,6 +59,16 @@ function outputError (str, write) {
|
|
|
58
59
|
write(str.replace(/^error: /, cli.name() + ': '))
|
|
59
60
|
}
|
|
60
61
|
|
|
62
|
+
function requireLogger (fromPath = undefined, moduleName = '@antora/logger') {
|
|
63
|
+
try {
|
|
64
|
+
return (
|
|
65
|
+
requireLogger.cache ||
|
|
66
|
+
(requireLogger.cache = fromPath ? userRequire(moduleName, { paths: [fromPath] }) : require(moduleName))
|
|
67
|
+
)
|
|
68
|
+
} catch {}
|
|
69
|
+
return fromPath && (requireLogger.cache = require(moduleName))
|
|
70
|
+
}
|
|
71
|
+
|
|
61
72
|
cli
|
|
62
73
|
.allowExcessArguments(false)
|
|
63
74
|
.configureOutput({ getOutHelpWidth: getTTYColumns, getErrHelpWidth: getTTYColumns, outputError })
|
|
@@ -118,21 +129,23 @@ cli
|
|
|
118
129
|
}
|
|
119
130
|
}
|
|
120
131
|
const args = command.optionArgs.concat('--playbook', playbookFile)
|
|
121
|
-
let playbook
|
|
132
|
+
let generator, generatorPath, playbook
|
|
122
133
|
try {
|
|
123
134
|
playbook = buildPlaybook(args, process.env, buildPlaybook.defaultSchema, (config) => {
|
|
124
135
|
try {
|
|
125
|
-
|
|
136
|
+
generatorPath = userRequire.resolve((generator = config.get('antora.generator')), userRequireContext)
|
|
137
|
+
} catch {}
|
|
138
|
+
try {
|
|
139
|
+
requireLogger(generatorPath).configureLogger(config.getModel('runtime.log'), playbookDir)
|
|
126
140
|
} catch {}
|
|
127
141
|
})
|
|
128
142
|
} catch (err) {
|
|
129
143
|
return exitWithError(err, errorOpts)
|
|
130
144
|
}
|
|
131
|
-
const generator = playbook.antora.generator
|
|
132
145
|
let generateSite
|
|
133
146
|
try {
|
|
134
147
|
generateSite =
|
|
135
|
-
(generateSite = userRequire(generator, userRequireContext)).length === 1
|
|
148
|
+
(generateSite = require(generatorPath || userRequire.resolve(generator, userRequireContext))).length === 1
|
|
136
149
|
? generateSite.bind(null, playbook)
|
|
137
150
|
: generateSite.bind(null, args, process.env)
|
|
138
151
|
} catch (err) {
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The command line interface (CLI) for Antora.
|
|
5
|
+
*
|
|
6
|
+
* Provides a built-in set of commands to run Antora. The default command is
|
|
7
|
+
* generate. The generate command builds the specified playbook, configures the
|
|
8
|
+
* logger, then requires and invokes the generator function. When the generator
|
|
9
|
+
* function completes or fails, the generate command finalizes the logger and
|
|
10
|
+
* exits with the specified exit code.
|
|
11
|
+
*
|
|
12
|
+
* @namespace cli
|
|
13
|
+
*/
|
|
14
|
+
module.exports = require('./cli')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antora/cli",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.2",
|
|
4
4
|
"description": "The command line interface for Antora.",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"author": "OpenDevise Inc. (https://opendevise.com)",
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://gitlab.com/antora/antora/issues"
|
|
15
15
|
},
|
|
16
|
-
"main": "lib/
|
|
16
|
+
"main": "lib/index.js",
|
|
17
17
|
"bin": {
|
|
18
18
|
"antora": "bin/antora"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@antora/logger": "3.0.0-beta.
|
|
22
|
-
"@antora/playbook-builder": "3.0.0-beta.
|
|
21
|
+
"@antora/logger": "3.0.0-beta.2",
|
|
22
|
+
"@antora/playbook-builder": "3.0.0-beta.2",
|
|
23
23
|
"@antora/user-require-helper": "~2.0",
|
|
24
24
|
"commander": "~8.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@antora/site-publisher": "3.0.0-beta.
|
|
27
|
+
"@antora/site-publisher": "3.0.0-beta.2",
|
|
28
28
|
"convict": "~6.2",
|
|
29
29
|
"kapok-js": "~0.10"
|
|
30
30
|
},
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"static site",
|
|
44
44
|
"web publishing"
|
|
45
45
|
],
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "5cd3f9cc70622e465cb44daf1aa2035ed5a35f54"
|
|
47
47
|
}
|