@appium/docutils 2.3.0 → 2.3.1
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/build/lib/builder/deploy.d.ts +5 -5
- package/build/lib/builder/deploy.d.ts.map +1 -1
- package/build/lib/builder/deploy.js +41 -41
- package/build/lib/builder/deploy.js.map +1 -1
- package/build/lib/builder/site.d.ts +5 -5
- package/build/lib/builder/site.d.ts.map +1 -1
- package/build/lib/builder/site.js +23 -23
- package/build/lib/builder/site.js.map +1 -1
- package/build/lib/cli/check.d.ts.map +1 -1
- package/build/lib/cli/check.js +10 -10
- package/build/lib/cli/check.js.map +1 -1
- package/build/lib/cli/index.d.ts +4 -0
- package/build/lib/cli/index.d.ts.map +1 -1
- package/build/lib/cli/index.js +4 -0
- package/build/lib/cli/index.js.map +1 -1
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js.map +1 -1
- package/build/lib/init.d.ts +12 -12
- package/build/lib/init.d.ts.map +1 -1
- package/build/lib/init.js.map +1 -1
- package/build/lib/logger.d.ts +5 -0
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +5 -0
- package/build/lib/logger.js.map +1 -1
- package/build/lib/scaffold.d.ts +10 -10
- package/build/lib/scaffold.d.ts.map +1 -1
- package/build/lib/scaffold.js +10 -10
- package/build/lib/scaffold.js.map +1 -1
- package/build/lib/util.d.ts +1 -1
- package/build/lib/util.d.ts.map +1 -1
- package/build/lib/util.js.map +1 -1
- package/build/lib/validate.d.ts +42 -45
- package/build/lib/validate.d.ts.map +1 -1
- package/build/lib/validate.js +20 -20
- package/build/lib/validate.js.map +1 -1
- package/lib/builder/deploy.ts +120 -120
- package/lib/builder/site.ts +68 -68
- package/lib/cli/check.ts +13 -13
- package/lib/cli/index.ts +4 -0
- package/lib/fs.ts +2 -2
- package/lib/init.ts +54 -54
- package/lib/logger.ts +5 -0
- package/lib/scaffold.ts +94 -94
- package/lib/util.ts +2 -2
- package/lib/validate.ts +47 -51
- package/package.json +6 -6
- package/requirements.txt +1 -1
package/build/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../lib/util.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAuBH,8BAQC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../lib/util.ts"],"names":[],"mappings":"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"}
|
package/build/lib/validate.d.ts
CHANGED
|
@@ -11,6 +11,28 @@ import type { PipPackage } from './model';
|
|
|
11
11
|
* The "kinds" of validation which were requested to be performed
|
|
12
12
|
*/
|
|
13
13
|
export type ValidationKind = typeof NAME_PYTHON | typeof NAME_MKDOCS;
|
|
14
|
+
export interface DocutilsValidatorOpts {
|
|
15
|
+
/**
|
|
16
|
+
* Current working directory
|
|
17
|
+
*/
|
|
18
|
+
cwd?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Path to `mkdocs.yml`
|
|
21
|
+
*/
|
|
22
|
+
mkdocsYml?: string;
|
|
23
|
+
/**
|
|
24
|
+
* If `true`, run Python validation
|
|
25
|
+
*/
|
|
26
|
+
python?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Path to `python` executable
|
|
29
|
+
*/
|
|
30
|
+
pythonPath?: string;
|
|
31
|
+
/**
|
|
32
|
+
* If `true`, run MkDocs validation
|
|
33
|
+
*/
|
|
34
|
+
mkdocs?: boolean;
|
|
35
|
+
}
|
|
14
36
|
/**
|
|
15
37
|
* This class is designed to run _all_ validation checks (as requested by the user), and emit events for
|
|
16
38
|
* each failure encountered.
|
|
@@ -21,6 +43,26 @@ export type ValidationKind = typeof NAME_PYTHON | typeof NAME_MKDOCS;
|
|
|
21
43
|
* @todo Use [`strict-event-emitter-types`](https://npm.im/strict-event-emitter-types)
|
|
22
44
|
*/
|
|
23
45
|
export declare class DocutilsValidator extends EventEmitter {
|
|
46
|
+
/**
|
|
47
|
+
* Emitted when validation begins with a list of validation kinds to be performed
|
|
48
|
+
* @event
|
|
49
|
+
*/
|
|
50
|
+
static readonly BEGIN = "begin";
|
|
51
|
+
/**
|
|
52
|
+
* Emitted when validation ends with an error count
|
|
53
|
+
* @event
|
|
54
|
+
*/
|
|
55
|
+
static readonly END = "end";
|
|
56
|
+
/**
|
|
57
|
+
* Emitted when a validation fails, with the associated {@linkcode DocutilsError}
|
|
58
|
+
* @event
|
|
59
|
+
*/
|
|
60
|
+
static readonly FAILURE = "fail";
|
|
61
|
+
/**
|
|
62
|
+
* Emitted when a validation succeeds
|
|
63
|
+
* @event
|
|
64
|
+
*/
|
|
65
|
+
static readonly SUCCESS = "ok";
|
|
24
66
|
/**
|
|
25
67
|
* Current working directory. Defaults to `process.cwd()`
|
|
26
68
|
* @todo This cannot yet be overridden by user
|
|
@@ -47,26 +89,6 @@ export declare class DocutilsValidator extends EventEmitter {
|
|
|
47
89
|
* Path to `mkdocs.yml`. If not provided, will be lazily resolved.
|
|
48
90
|
*/
|
|
49
91
|
protected mkDocsYmlPath?: string;
|
|
50
|
-
/**
|
|
51
|
-
* Emitted when validation begins with a list of validation kinds to be performed
|
|
52
|
-
* @event
|
|
53
|
-
*/
|
|
54
|
-
static readonly BEGIN = "begin";
|
|
55
|
-
/**
|
|
56
|
-
* Emitted when validation ends with an error count
|
|
57
|
-
* @event
|
|
58
|
-
*/
|
|
59
|
-
static readonly END = "end";
|
|
60
|
-
/**
|
|
61
|
-
* Emitted when a validation fails, with the associated {@linkcode DocutilsError}
|
|
62
|
-
* @event
|
|
63
|
-
*/
|
|
64
|
-
static readonly FAILURE = "fail";
|
|
65
|
-
/**
|
|
66
|
-
* Emitted when a validation succeeds
|
|
67
|
-
* @event
|
|
68
|
-
*/
|
|
69
|
-
static readonly SUCCESS = "ok";
|
|
70
92
|
private requirementsTxt;
|
|
71
93
|
/**
|
|
72
94
|
* Creates a listener to track errors emitted
|
|
@@ -121,29 +143,4 @@ export declare class DocutilsValidator extends EventEmitter {
|
|
|
121
143
|
*/
|
|
122
144
|
protected validatePythonVersion(): Promise<void>;
|
|
123
145
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Options for {@linkcode DocutilsValidator} constructor
|
|
126
|
-
*/
|
|
127
|
-
export interface DocutilsValidatorOpts {
|
|
128
|
-
/**
|
|
129
|
-
* Current working directory
|
|
130
|
-
*/
|
|
131
|
-
cwd?: string;
|
|
132
|
-
/**
|
|
133
|
-
* Path to `mkdocs.yml`
|
|
134
|
-
*/
|
|
135
|
-
mkdocsYml?: string;
|
|
136
|
-
/**
|
|
137
|
-
* If `true`, run Python validation
|
|
138
|
-
*/
|
|
139
|
-
python?: boolean;
|
|
140
|
-
/**
|
|
141
|
-
* Path to `python` executable
|
|
142
|
-
*/
|
|
143
|
-
pythonPath?: string;
|
|
144
|
-
/**
|
|
145
|
-
* If `true`, run MkDocs validation
|
|
146
|
-
*/
|
|
147
|
-
mkdocs?: boolean;
|
|
148
|
-
}
|
|
149
146
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,EAIL,WAAW,EAGX,WAAW,EAGZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAGtC,OAAO,KAAK,EAAY,UAAU,EAAC,MAAM,SAAS,CAAC;AAcnD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,WAAW,GAAG,OAAO,WAAW,CAAC;AAErE;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IACjD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEvC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,sBAA6B;IAE3D;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,6BAAoC;IAE3D;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEjC
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,EAIL,WAAW,EAGX,WAAW,EAGZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAGtC,OAAO,KAAK,EAAY,UAAU,EAAC,MAAM,SAAS,CAAC;AAcnD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,WAAW,GAAG,OAAO,WAAW,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IACjD;;;OAGG;IACH,gBAAuB,KAAK,WAAW;IAEvC;;;OAGG;IACH,gBAAuB,GAAG,SAAS;IAEnC;;;OAGG;IACH,gBAAuB,OAAO,UAAU;IAExC;;;OAGG;IACH,gBAAuB,OAAO,QAAQ;IAEtC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEvC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,sBAA6B;IAE3D;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,6BAAoC;IAE3D;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEjC,OAAO,CAAC,eAAe,CAA2B;IAElD;;OAEG;gBACS,IAAI,GAAE,qBAA0B;IAoB5C;;OAEG;IACU,QAAQ;IAoBrB;;;;;OAKG;IACH,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM;IAO1C;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM;IAI5B;;;;;OAKG;cACa,oBAAoB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAuB7D;;OAEG;IACH,SAAS,CAAC,KAAK;IAIf;;OAEG;cACa,cAAc;IAuC9B;;;;OAIG;cACa,oBAAoB;IA8BpC;;;;;OAKG;cACa,kBAAkB;IA4ElC;;OAEG;cACa,qBAAqB;CAkBtC"}
|
package/build/lib/validate.js
CHANGED
|
@@ -36,6 +36,26 @@ const log = (0, logger_1.getLogger)('validate');
|
|
|
36
36
|
* @todo Use [`strict-event-emitter-types`](https://npm.im/strict-event-emitter-types)
|
|
37
37
|
*/
|
|
38
38
|
class DocutilsValidator extends node_events_1.EventEmitter {
|
|
39
|
+
/**
|
|
40
|
+
* Emitted when validation begins with a list of validation kinds to be performed
|
|
41
|
+
* @event
|
|
42
|
+
*/
|
|
43
|
+
static BEGIN = 'begin';
|
|
44
|
+
/**
|
|
45
|
+
* Emitted when validation ends with an error count
|
|
46
|
+
* @event
|
|
47
|
+
*/
|
|
48
|
+
static END = 'end';
|
|
49
|
+
/**
|
|
50
|
+
* Emitted when a validation fails, with the associated {@linkcode DocutilsError}
|
|
51
|
+
* @event
|
|
52
|
+
*/
|
|
53
|
+
static FAILURE = 'fail';
|
|
54
|
+
/**
|
|
55
|
+
* Emitted when a validation succeeds
|
|
56
|
+
* @event
|
|
57
|
+
*/
|
|
58
|
+
static SUCCESS = 'ok';
|
|
39
59
|
/**
|
|
40
60
|
* Current working directory. Defaults to `process.cwd()`
|
|
41
61
|
* @todo This cannot yet be overridden by user
|
|
@@ -62,26 +82,6 @@ class DocutilsValidator extends node_events_1.EventEmitter {
|
|
|
62
82
|
* Path to `mkdocs.yml`. If not provided, will be lazily resolved.
|
|
63
83
|
*/
|
|
64
84
|
mkDocsYmlPath;
|
|
65
|
-
/**
|
|
66
|
-
* Emitted when validation begins with a list of validation kinds to be performed
|
|
67
|
-
* @event
|
|
68
|
-
*/
|
|
69
|
-
static BEGIN = 'begin';
|
|
70
|
-
/**
|
|
71
|
-
* Emitted when validation ends with an error count
|
|
72
|
-
* @event
|
|
73
|
-
*/
|
|
74
|
-
static END = 'end';
|
|
75
|
-
/**
|
|
76
|
-
* Emitted when a validation fails, with the associated {@linkcode DocutilsError}
|
|
77
|
-
* @event
|
|
78
|
-
*/
|
|
79
|
-
static FAILURE = 'fail';
|
|
80
|
-
/**
|
|
81
|
-
* Emitted when a validation succeeds
|
|
82
|
-
* @event
|
|
83
|
-
*/
|
|
84
|
-
static SUCCESS = 'ok';
|
|
85
85
|
requirementsTxt;
|
|
86
86
|
/**
|
|
87
87
|
* Creates a listener to track errors emitted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,6CAAyC;AACzC,oDAAuB;AACvB,6CAAyC;AACzC,+CAAkC;AAClC,2CAUqB;AACrB,mCAAsC;AACtC,6BAAiF;AACjF,qCAAmC;AAGnC;;GAEG;AACH,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC;;GAEG;AACH,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAE5D,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
|
package/lib/builder/deploy.ts
CHANGED
|
@@ -26,54 +26,86 @@ import {argify, execWithErrorHandling, spawnBackgroundProcess, stopwatch} from '
|
|
|
26
26
|
const log = getLogger('builder:deploy');
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
* @param mikePath Path to `mike` executable
|
|
31
|
-
* @param args Extra args to `mike build`
|
|
32
|
-
* @param opts Extra options for `teen_process.Subprocess.start`
|
|
29
|
+
* Options for {@linkcode deploy}.
|
|
33
30
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const finalArgs = ['serve', ...args];
|
|
40
|
-
log.debug('Executing %s via: %s %O', NAME_MIKE, mikePath, finalArgs);
|
|
41
|
-
return spawnBackgroundProcess(mikePath, finalArgs, opts);
|
|
42
|
-
}
|
|
31
|
+
export interface DeployOpts {
|
|
32
|
+
/**
|
|
33
|
+
* Path to `mike.yml`
|
|
34
|
+
*/
|
|
35
|
+
mkdocsYml?: string;
|
|
43
36
|
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*/
|
|
50
|
-
async function doDeploy(mikePath: string, args: string[] = [], opts: TeenProcessExecOptions = {}) {
|
|
51
|
-
const finalArgs = ['deploy', ...args];
|
|
52
|
-
log.debug('Executing %s via: %s %O', NAME_MIKE, mikePath, finalArgs);
|
|
53
|
-
return await execWithErrorHandling(mikePath, finalArgs, opts);
|
|
54
|
-
}
|
|
37
|
+
/**
|
|
38
|
+
* Current working directory
|
|
39
|
+
* @defaultValue `process.cwd()`
|
|
40
|
+
*/
|
|
41
|
+
cwd?: string;
|
|
55
42
|
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const {pkg} = await readPackageJson(packageJsonPath ? path.dirname(packageJsonPath) : cwd, true);
|
|
63
|
-
const version = pkg.version;
|
|
64
|
-
if (!version) {
|
|
65
|
-
throw new DocutilsError(
|
|
66
|
-
'No "version" field found in package.json; please add one or specify a version to deploy',
|
|
67
|
-
);
|
|
68
|
-
}
|
|
43
|
+
/**
|
|
44
|
+
* Path to `package.json`
|
|
45
|
+
*
|
|
46
|
+
* Used to find `mike.yml` if unspecified.
|
|
47
|
+
*/
|
|
48
|
+
packageJson?: string;
|
|
69
49
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
50
|
+
/**
|
|
51
|
+
* If `true`, run `mike serve` instead of `mike build`
|
|
52
|
+
*/
|
|
53
|
+
serve?: boolean;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* If `true`, push `branch` to `remote`
|
|
57
|
+
*/
|
|
58
|
+
push?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Branch to commit to
|
|
61
|
+
* @defaultValue gh-pages
|
|
62
|
+
*/
|
|
63
|
+
branch?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Remote to push to
|
|
66
|
+
* @defaultValue origin
|
|
67
|
+
*/
|
|
68
|
+
remote?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Subdirectory within `branch` to deploy to
|
|
71
|
+
*/
|
|
72
|
+
deployPrefix?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Commit message
|
|
75
|
+
*/
|
|
76
|
+
message?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Version (dir) to deploy build to
|
|
79
|
+
*/
|
|
80
|
+
deployVersion?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Alias for the build (e.g., `latest`); triggers alias update
|
|
83
|
+
*/
|
|
84
|
+
alias?: string;
|
|
85
|
+
/**
|
|
86
|
+
* The approach for creating build alias (`symlink`, `redirect` or `copy`)
|
|
87
|
+
*/
|
|
88
|
+
aliasType?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Port to serve on
|
|
91
|
+
* @defaultValue 8000
|
|
92
|
+
*/
|
|
93
|
+
port?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Host to serve on
|
|
96
|
+
* @defaultValue localhost
|
|
97
|
+
*/
|
|
98
|
+
host?: string;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Extra options for {@linkcode teen_process.exec}
|
|
102
|
+
*/
|
|
103
|
+
execOpts?: TeenProcessExecOptions;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Extra options for {@linkcode spawnBackgroundProcess}
|
|
107
|
+
*/
|
|
108
|
+
serveOpts?: SpawnBackgroundProcessOpts;
|
|
77
109
|
}
|
|
78
110
|
|
|
79
111
|
/**
|
|
@@ -165,84 +197,52 @@ export async function deploy({
|
|
|
165
197
|
}
|
|
166
198
|
|
|
167
199
|
/**
|
|
168
|
-
*
|
|
200
|
+
* Runs `mike serve`
|
|
201
|
+
* @param mikePath Path to `mike` executable
|
|
202
|
+
* @param args Extra args to `mike build`
|
|
203
|
+
* @param opts Extra options for `teen_process.Subprocess.start`
|
|
169
204
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
*/
|
|
180
|
-
cwd?: string;
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Path to `package.json`
|
|
184
|
-
*
|
|
185
|
-
* Used to find `mike.yml` if unspecified.
|
|
186
|
-
*/
|
|
187
|
-
packageJson?: string;
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* If `true`, run `mike serve` instead of `mike build`
|
|
191
|
-
*/
|
|
192
|
-
serve?: boolean;
|
|
205
|
+
async function doServe(
|
|
206
|
+
mikePath: string,
|
|
207
|
+
args: string[] = [],
|
|
208
|
+
opts: SpawnBackgroundProcessOpts = {},
|
|
209
|
+
) {
|
|
210
|
+
const finalArgs = ['serve', ...args];
|
|
211
|
+
log.debug('Executing %s via: %s %O', NAME_MIKE, mikePath, finalArgs);
|
|
212
|
+
return spawnBackgroundProcess(mikePath, finalArgs, opts);
|
|
213
|
+
}
|
|
193
214
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
* @defaultValue origin
|
|
206
|
-
*/
|
|
207
|
-
remote?: string;
|
|
208
|
-
/**
|
|
209
|
-
* Subdirectory within `branch` to deploy to
|
|
210
|
-
*/
|
|
211
|
-
deployPrefix?: string;
|
|
212
|
-
/**
|
|
213
|
-
* Commit message
|
|
214
|
-
*/
|
|
215
|
-
message?: string;
|
|
216
|
-
/**
|
|
217
|
-
* Version (dir) to deploy build to
|
|
218
|
-
*/
|
|
219
|
-
deployVersion?: string;
|
|
220
|
-
/**
|
|
221
|
-
* Alias for the build (e.g., `latest`); triggers alias update
|
|
222
|
-
*/
|
|
223
|
-
alias?: string;
|
|
224
|
-
/**
|
|
225
|
-
* The approach for creating build alias (`symlink`, `redirect` or `copy`)
|
|
226
|
-
*/
|
|
227
|
-
aliasType?: string;
|
|
228
|
-
/**
|
|
229
|
-
* Port to serve on
|
|
230
|
-
* @defaultValue 8000
|
|
231
|
-
*/
|
|
232
|
-
port?: number;
|
|
233
|
-
/**
|
|
234
|
-
* Host to serve on
|
|
235
|
-
* @defaultValue localhost
|
|
236
|
-
*/
|
|
237
|
-
host?: string;
|
|
215
|
+
/**
|
|
216
|
+
* Runs `mike build`
|
|
217
|
+
* @param mikePath Path to `mike` executable
|
|
218
|
+
* @param args Extra args to `mike build`
|
|
219
|
+
* @param opts Extra options to `teen_process.exec`
|
|
220
|
+
*/
|
|
221
|
+
async function doDeploy(mikePath: string, args: string[] = [], opts: TeenProcessExecOptions = {}) {
|
|
222
|
+
const finalArgs = ['deploy', ...args];
|
|
223
|
+
log.debug('Executing %s via: %s %O', NAME_MIKE, mikePath, finalArgs);
|
|
224
|
+
return await execWithErrorHandling(mikePath, finalArgs, opts);
|
|
225
|
+
}
|
|
238
226
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
227
|
+
/**
|
|
228
|
+
* Derives a deployment version from `package.json`
|
|
229
|
+
* @param packageJsonPath Path to `package.json` if known
|
|
230
|
+
* @param cwd Current working directory
|
|
231
|
+
*/
|
|
232
|
+
async function findDeployVersion(packageJsonPath?: string, cwd = process.cwd()): Promise<string> {
|
|
233
|
+
const {pkg} = await readPackageJson(packageJsonPath ? path.dirname(packageJsonPath) : cwd, true);
|
|
234
|
+
const version = pkg.version;
|
|
235
|
+
if (!version) {
|
|
236
|
+
throw new DocutilsError(
|
|
237
|
+
'No "version" field found in package.json; please add one or specify a version to deploy',
|
|
238
|
+
);
|
|
239
|
+
}
|
|
243
240
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
241
|
+
// return MAJOR.MINOR as the version by default, if that is a thing we can extract, otherwise
|
|
242
|
+
// just return the version as is
|
|
243
|
+
const versionParts = version.split('.');
|
|
244
|
+
if (versionParts.length === 1) {
|
|
245
|
+
return version;
|
|
246
|
+
}
|
|
247
|
+
return `${versionParts[0]}.${versionParts[1]}`;
|
|
248
248
|
}
|
package/lib/builder/site.ts
CHANGED
|
@@ -17,32 +17,52 @@ import {execWithErrorHandling, relative, spawnBackgroundProcess, stopwatch} from
|
|
|
17
17
|
const log = getLogger('mkdocs');
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
* @param pythonPath Path to Python 3 executable
|
|
22
|
-
* @param args Extra args to `mkdocs build`
|
|
23
|
-
* @param opts Extra options for `teen_process.Subprocess.start`
|
|
24
|
-
* @param mkDocsPath Path to `mkdocs` executable
|
|
20
|
+
* Options for {@linkcode buildSite}.
|
|
25
21
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const finalArgs = ['-m', NAME_MKDOCS, 'serve', ...args];
|
|
32
|
-
log.debug('Executing %s via: %s, %O', NAME_MKDOCS, pythonPath, finalArgs);
|
|
33
|
-
return spawnBackgroundProcess(pythonPath, finalArgs, opts);
|
|
34
|
-
}
|
|
22
|
+
export interface BuildMkDocsOpts {
|
|
23
|
+
/**
|
|
24
|
+
* Path to `mkdocs.yml`
|
|
25
|
+
*/
|
|
26
|
+
mkdocsYml?: string;
|
|
35
27
|
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Path to output directory
|
|
30
|
+
*/
|
|
31
|
+
siteDir?: string;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* MkDocs theme to use
|
|
35
|
+
* @defaultValue 'mkdocs'
|
|
36
|
+
*/
|
|
37
|
+
theme?: string;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Current working directory
|
|
41
|
+
* @defaultValue `process.cwd()`
|
|
42
|
+
*/
|
|
43
|
+
cwd?: string;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Path to `package.json`
|
|
47
|
+
*
|
|
48
|
+
* Used to find `mkdocs.yml` if unspecified.
|
|
49
|
+
*/
|
|
50
|
+
packageJson?: string;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* If `true`, run `mkdocs serve` instead of `mkdocs build`
|
|
54
|
+
*/
|
|
55
|
+
serve?: boolean;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Extra options for {@linkcode teen_process.exec}
|
|
59
|
+
*/
|
|
60
|
+
execOpts?: TeenProcessExecOptions;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Extra options for {@linkcode spawnBackgroundProcess}
|
|
64
|
+
*/
|
|
65
|
+
serveOpts?: SpawnBackgroundProcessOpts;
|
|
46
66
|
}
|
|
47
67
|
|
|
48
68
|
/**
|
|
@@ -106,50 +126,30 @@ export async function buildSite({
|
|
|
106
126
|
}
|
|
107
127
|
|
|
108
128
|
/**
|
|
109
|
-
*
|
|
129
|
+
* Runs `mkdocs serve`
|
|
130
|
+
* @param pythonPath Path to Python 3 executable
|
|
131
|
+
* @param args Extra args to `mkdocs build`
|
|
132
|
+
* @param opts Extra options for `teen_process.Subprocess.start`
|
|
133
|
+
* @param mkDocsPath Path to `mkdocs` executable
|
|
110
134
|
*/
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
siteDir?: string;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* MkDocs theme to use
|
|
124
|
-
* @defaultValue 'mkdocs'
|
|
125
|
-
*/
|
|
126
|
-
theme?: string;
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Current working directory
|
|
130
|
-
* @defaultValue `process.cwd()`
|
|
131
|
-
*/
|
|
132
|
-
cwd?: string;
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Path to `package.json`
|
|
136
|
-
*
|
|
137
|
-
* Used to find `mkdocs.yml` if unspecified.
|
|
138
|
-
*/
|
|
139
|
-
packageJson?: string;
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* If `true`, run `mkdocs serve` instead of `mkdocs build`
|
|
143
|
-
*/
|
|
144
|
-
serve?: boolean;
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Extra options for {@linkcode teen_process.exec}
|
|
148
|
-
*/
|
|
149
|
-
execOpts?: TeenProcessExecOptions;
|
|
135
|
+
async function doServe(
|
|
136
|
+
pythonPath: string,
|
|
137
|
+
args: string[] = [],
|
|
138
|
+
opts: SpawnBackgroundProcessOpts = {},
|
|
139
|
+
) {
|
|
140
|
+
const finalArgs = ['-m', NAME_MKDOCS, 'serve', ...args];
|
|
141
|
+
log.debug('Executing %s via: %s, %O', NAME_MKDOCS, pythonPath, finalArgs);
|
|
142
|
+
return spawnBackgroundProcess(pythonPath, finalArgs, opts);
|
|
143
|
+
}
|
|
150
144
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Runs `mkdocs build`
|
|
147
|
+
* @param pythonPath Path to Python 3 executable
|
|
148
|
+
* @param args Extra args to `mkdocs build`
|
|
149
|
+
* @param opts Extra options to `teen_process.exec`
|
|
150
|
+
*/
|
|
151
|
+
async function doBuild(pythonPath: string, args: string[] = [], opts: TeenProcessExecOptions = {}) {
|
|
152
|
+
const finalArgs = ['-m', NAME_MKDOCS, 'build', ...args];
|
|
153
|
+
log.debug('Executing %s via: %s, %O', NAME_MKDOCS, pythonPath, finalArgs);
|
|
154
|
+
return await execWithErrorHandling(pythonPath, finalArgs, opts);
|
|
155
155
|
}
|
package/lib/cli/check.ts
CHANGED
|
@@ -10,19 +10,6 @@ import {getLogger} from '../logger';
|
|
|
10
10
|
|
|
11
11
|
const log = getLogger('check');
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* Given a list of objects with `id` and `path` props, filters out the ones that do not exist
|
|
15
|
-
* @param paths Filepaths
|
|
16
|
-
* @returns Missing files
|
|
17
|
-
*/
|
|
18
|
-
async function filterMissing(paths: MissingFileData[]): Promise<MissingFileData[]> {
|
|
19
|
-
const exists = await Promise.all(
|
|
20
|
-
paths.map(async ({id, path}) => ({id, path, exists: await fs.exists(path)}))
|
|
21
|
-
);
|
|
22
|
-
const results = _.reject(exists, 'exists');
|
|
23
|
-
return _.map(results, (result) => _.omit(result, 'exists'));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
13
|
/**
|
|
27
14
|
* Data structure describing a missing file; returned by {@linkcode filterMissing}
|
|
28
15
|
*/
|
|
@@ -88,3 +75,16 @@ export async function checkMissingPaths<T extends Record<string, Options>>(
|
|
|
88
75
|
|
|
89
76
|
return true;
|
|
90
77
|
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Given a list of objects with `id` and `path` props, filters out the ones that do not exist
|
|
81
|
+
* @param paths Filepaths
|
|
82
|
+
* @returns Missing files
|
|
83
|
+
*/
|
|
84
|
+
async function filterMissing(paths: MissingFileData[]): Promise<MissingFileData[]> {
|
|
85
|
+
const exists = await Promise.all(
|
|
86
|
+
paths.map(async ({id, path}) => ({id, path, exists: await fs.exists(path)}))
|
|
87
|
+
);
|
|
88
|
+
const results = _.reject(exists, 'exists');
|
|
89
|
+
return _.map(results, (result) => _.omit(result, 'exists'));
|
|
90
|
+
}
|