@appium/docutils 0.2.1 → 0.3.0
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/LICENSE +1 -1
- package/build/lib/builder/deploy.d.ts.map +1 -1
- package/build/lib/builder/deploy.js +6 -2
- package/build/lib/builder/deploy.js.map +1 -1
- package/build/lib/builder/index.d.ts +4 -0
- package/build/lib/builder/index.d.ts.map +1 -1
- package/build/lib/builder/index.js +4 -0
- package/build/lib/builder/index.js.map +1 -1
- package/build/lib/builder/nav.d.ts +1 -1
- package/build/lib/builder/nav.d.ts.map +1 -1
- package/build/lib/builder/nav.js +3 -3
- package/build/lib/builder/nav.js.map +1 -1
- package/build/lib/builder/reference.d.ts +1 -1
- package/build/lib/builder/reference.d.ts.map +1 -1
- package/build/lib/builder/reference.js +1 -19
- package/build/lib/builder/reference.js.map +1 -1
- package/build/lib/builder/site.d.ts.map +1 -1
- package/build/lib/builder/site.js +4 -3
- package/build/lib/builder/site.js.map +1 -1
- package/build/lib/cli/check.d.ts +19 -0
- package/build/lib/cli/check.d.ts.map +1 -0
- package/build/lib/cli/check.js +58 -0
- package/build/lib/cli/check.js.map +1 -0
- package/build/lib/cli/command/build.d.ts +42 -29
- package/build/lib/cli/command/build.d.ts.map +1 -1
- package/build/lib/cli/command/build.js +55 -39
- package/build/lib/cli/command/build.js.map +1 -1
- package/build/lib/cli/command/index.d.ts +4 -0
- package/build/lib/cli/command/index.d.ts.map +1 -1
- package/build/lib/cli/command/index.js +4 -0
- package/build/lib/cli/command/index.js.map +1 -1
- package/build/lib/cli/command/init.d.ts +42 -27
- package/build/lib/cli/command/init.d.ts.map +1 -1
- package/build/lib/cli/command/init.js +51 -28
- package/build/lib/cli/command/init.js.map +1 -1
- package/build/lib/cli/command/validate.d.ts +21 -15
- package/build/lib/cli/command/validate.d.ts.map +1 -1
- package/build/lib/cli/command/validate.js +30 -21
- package/build/lib/cli/command/validate.js.map +1 -1
- package/build/lib/cli/config.js +1 -1
- package/build/lib/cli/config.js.map +1 -1
- package/build/lib/cli/index.d.ts.map +1 -1
- package/build/lib/cli/index.js +29 -12
- package/build/lib/cli/index.js.map +1 -1
- package/build/lib/constants.d.ts +4 -0
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js +5 -1
- package/build/lib/constants.js.map +1 -1
- package/build/lib/error.d.ts +5 -0
- package/build/lib/error.d.ts.map +1 -1
- package/build/lib/error.js +5 -0
- package/build/lib/error.js.map +1 -1
- package/build/lib/fs.d.ts +1 -1
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js +2 -2
- package/build/lib/fs.js.map +1 -1
- package/build/lib/index.d.ts +4 -0
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +4 -0
- package/build/lib/index.js.map +1 -1
- package/build/lib/init.d.ts +24 -26
- package/build/lib/init.d.ts.map +1 -1
- package/build/lib/init.js +12 -7
- package/build/lib/init.js.map +1 -1
- package/build/lib/logger.js +0 -4
- package/build/lib/logger.js.map +1 -1
- package/build/lib/mike.d.ts.map +1 -1
- package/build/lib/mike.js +4 -0
- package/build/lib/mike.js.map +1 -1
- package/build/lib/model.d.ts +6 -10
- package/build/lib/model.d.ts.map +1 -1
- package/build/lib/scaffold.d.ts +5 -5
- package/build/lib/scaffold.d.ts.map +1 -1
- package/build/lib/util.d.ts +6 -3
- package/build/lib/util.d.ts.map +1 -1
- package/build/lib/util.js.map +1 -1
- package/build/lib/validate.d.ts +5 -2
- package/build/lib/validate.d.ts.map +1 -1
- package/build/lib/validate.js +9 -7
- package/build/lib/validate.js.map +1 -1
- package/lib/builder/deploy.ts +9 -3
- package/lib/builder/index.ts +5 -0
- package/lib/builder/nav.ts +2 -3
- package/lib/builder/reference.ts +2 -22
- package/lib/builder/site.ts +6 -5
- package/lib/cli/check.ts +87 -0
- package/lib/cli/command/build.ts +61 -46
- package/lib/cli/command/index.ts +5 -0
- package/lib/cli/command/init.ts +54 -32
- package/lib/cli/command/validate.ts +35 -28
- package/lib/cli/index.ts +23 -4
- package/lib/constants.ts +5 -0
- package/lib/error.ts +6 -0
- package/lib/fs.ts +6 -3
- package/lib/index.ts +5 -0
- package/lib/init.ts +23 -6
- package/lib/logger.ts +6 -11
- package/lib/mike.js +5 -0
- package/lib/model.ts +3 -9
- package/lib/util.ts +4 -1
- package/lib/validate.ts +10 -9
- package/package.json +10 -12
- package/requirements.txt +1 -1
- package/build/lib/build/mkdocs.d.ts +0 -58
- package/build/lib/build/mkdocs.d.ts.map +0 -1
- package/build/lib/build/mkdocs.js +0 -80
- package/build/lib/build/mkdocs.js.map +0 -1
- package/build/lib/build/typedoc.d.ts +0 -55
- package/build/lib/build/typedoc.d.ts.map +0 -1
- package/build/lib/build/typedoc.js +0 -120
- package/build/lib/build/typedoc.js.map +0 -1
- package/build/lib/build-api.d.ts +0 -18
- package/build/lib/build-api.d.ts.map +0 -1
- package/build/lib/build-api.js +0 -75
- package/build/lib/build-api.js.map +0 -1
- package/build/lib/build.d.ts +0 -21
- package/build/lib/build.d.ts.map +0 -1
- package/build/lib/build.js +0 -71
- package/build/lib/build.js.map +0 -1
- package/build/lib/cli/command/deploy.d.ts +0 -1
- package/build/lib/cli/command/deploy.d.ts.map +0 -1
- package/build/lib/cli/command/deploy.js +0 -2
- package/build/lib/cli/command/deploy.js.map +0 -1
- package/build/lib/cli/command-init.d.ts +0 -143
- package/build/lib/cli/command-init.d.ts.map +0 -1
- package/build/lib/cli/command-init.js +0 -164
- package/build/lib/cli/command-init.js.map +0 -1
- package/build/lib/cli/command-validate.d.ts +0 -52
- package/build/lib/cli/command-validate.d.ts.map +0 -1
- package/build/lib/cli/command-validate.js +0 -66
- package/build/lib/cli/command-validate.js.map +0 -1
- package/build/lib/cli/init.d.ts +0 -143
- package/build/lib/cli/init.d.ts.map +0 -1
- package/build/lib/cli/init.js +0 -164
- package/build/lib/cli/init.js.map +0 -1
- package/build/lib/cli/options.d.ts +0 -1
- package/build/lib/cli/options.d.ts.map +0 -1
- package/build/lib/cli/options.js +0 -2
- package/build/lib/cli/options.js.map +0 -1
- package/build/lib/cli/validate.d.ts +0 -1
- package/build/lib/cli/validate.d.ts.map +0 -1
- package/build/lib/cli/validate.js +0 -2
- package/build/lib/cli/validate.js.map +0 -1
- package/build/lib/cli.d.ts +0 -10
- package/build/lib/cli.d.ts.map +0 -1
- package/build/lib/cli.js +0 -328
- package/build/lib/cli.js.map +0 -1
- package/build/lib/init-task.d.ts +0 -49
- package/build/lib/init-task.d.ts.map +0 -1
- package/build/lib/init-task.js +0 -95
- package/build/lib/init-task.js.map +0 -1
- package/build/lib/io.d.ts +0 -1
- package/build/lib/io.d.ts.map +0 -1
- package/build/lib/io.js +0 -2
- package/build/lib/io.js.map +0 -1
- package/build/lib/mkdocs.d.ts +0 -58
- package/build/lib/mkdocs.d.ts.map +0 -1
- package/build/lib/mkdocs.js +0 -77
- package/build/lib/mkdocs.js.map +0 -1
- package/build/lib/nav.d.ts +0 -47
- package/build/lib/nav.d.ts.map +0 -1
- package/build/lib/nav.js +0 -132
- package/build/lib/nav.js.map +0 -1
- package/build/lib/test.d.ts +0 -9
- package/build/lib/test.d.ts.map +0 -1
- package/build/lib/test.js +0 -2
- package/build/lib/test.js.map +0 -1
- package/build/lib/typedoc.d.ts +0 -55
- package/build/lib/typedoc.d.ts.map +0 -1
- package/build/lib/typedoc.js +0 -122
- package/build/lib/typedoc.js.map +0 -1
- package/build/lib/types.d.ts +0 -52
- package/build/lib/types.d.ts.map +0 -1
- package/build/lib/types.js +0 -7
- package/build/lib/types.js.map +0 -1
- package/build/lib/validation/base-validator.d.ts +0 -218
- package/build/lib/validation/base-validator.d.ts.map +0 -1
- package/build/lib/validation/base-validator.js +0 -453
- package/build/lib/validation/base-validator.js.map +0 -1
- package/build/lib/validation/mkdocs-validator.d.ts +0 -5
- package/build/lib/validation/mkdocs-validator.d.ts.map +0 -1
- package/build/lib/validation/mkdocs-validator.js +0 -54
- package/build/lib/validation/mkdocs-validator.js.map +0 -1
- package/build/lib/validation/python-validator.d.ts +0 -1
- package/build/lib/validation/python-validator.d.ts.map +0 -1
- package/build/lib/validation/python-validator.js +0 -2
- package/build/lib/validation/python-validator.js.map +0 -1
- package/build/lib/validation/python.d.ts +0 -1
- package/build/lib/validation/python.d.ts.map +0 -1
- package/build/lib/validation/python.js +0 -2
- package/build/lib/validation/python.js.map +0 -1
- package/build/lib/validation/validate.d.ts +0 -221
- package/build/lib/validation/validate.d.ts.map +0 -1
- package/build/lib/validation/validate.js +0 -508
- package/build/lib/validation/validate.js.map +0 -1
- package/build/lib/validation/validator.d.ts +0 -220
- package/build/lib/validation/validator.d.ts.map +0 -1
- package/build/lib/validation/validator.js +0 -470
- package/build/lib/validation/validator.js.map +0 -1
- package/build/test/unit/mike.spec.js +0 -17
- package/build/test/unit/mike.spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAKH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
|
package/build/lib/validate.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Validates an environment for building documentation
|
|
3
|
+
* Validates an environment for building documentation; used by `validate` command
|
|
4
4
|
*
|
|
5
5
|
* @module
|
|
6
6
|
*/
|
|
@@ -14,7 +14,6 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
14
14
|
const lodash_1 = __importDefault(require("lodash"));
|
|
15
15
|
const node_events_1 = require("node:events");
|
|
16
16
|
const node_path_1 = __importDefault(require("node:path"));
|
|
17
|
-
const pluralize_1 = __importDefault(require("pluralize"));
|
|
18
17
|
const semver_1 = require("semver");
|
|
19
18
|
const teen_process_1 = require("teen_process");
|
|
20
19
|
const constants_1 = require("./constants");
|
|
@@ -163,7 +162,7 @@ class DocutilsValidator extends node_events_1.EventEmitter {
|
|
|
163
162
|
if (this.requirementsTxt) {
|
|
164
163
|
return this.requirementsTxt;
|
|
165
164
|
}
|
|
166
|
-
|
|
165
|
+
const requiredPackages = [];
|
|
167
166
|
try {
|
|
168
167
|
let requirementsTxt = await support_1.fs.readFile(constants_1.REQUIREMENTS_TXT_PATH, 'utf8');
|
|
169
168
|
requirementsTxt = requirementsTxt.trim();
|
|
@@ -185,6 +184,9 @@ class DocutilsValidator extends node_events_1.EventEmitter {
|
|
|
185
184
|
reset() {
|
|
186
185
|
this.emittedErrors.clear();
|
|
187
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Validates that the correct version of `mkdocs` is installed
|
|
189
|
+
*/
|
|
188
190
|
async validateMkDocs() {
|
|
189
191
|
let mkDocsPath;
|
|
190
192
|
try {
|
|
@@ -318,12 +320,12 @@ class DocutilsValidator extends node_events_1.EventEmitter {
|
|
|
318
320
|
}
|
|
319
321
|
const msgParts = [];
|
|
320
322
|
if (missingPackages.length) {
|
|
321
|
-
msgParts.push(`The following required ${
|
|
323
|
+
msgParts.push(`The following required ${support_1.util.pluralize('package', missingPackages.length)} could not be found:\n${missingPackages
|
|
322
324
|
.map((p) => (0, chalk_1.default) `- {yellow ${p.name}} @ {yellow ${p.version}}`)
|
|
323
325
|
.join('\n')}`);
|
|
324
326
|
}
|
|
325
327
|
if (invalidVersionPackages.length) {
|
|
326
|
-
msgParts.push(`The following required ${
|
|
328
|
+
msgParts.push(`The following required ${support_1.util.pluralize('package', invalidVersionPackages.length)} are installed, but at the wrong version:\n${invalidVersionPackages
|
|
327
329
|
.map(([expected, actual]) => (0, chalk_1.default) `- {yellow ${expected.name}} @ {yellow ${expected.version}} (found {red ${actual.version}})`)
|
|
328
330
|
.join('\n')}`);
|
|
329
331
|
}
|
|
@@ -368,7 +370,7 @@ class DocutilsValidator extends node_events_1.EventEmitter {
|
|
|
368
370
|
return this.fail(`Could not find ${constants_1.NAME_TYPEDOC} executable from ${pkgDir}`);
|
|
369
371
|
}
|
|
370
372
|
if (rawTypeDocVersion) {
|
|
371
|
-
|
|
373
|
+
const match = rawTypeDocVersion.match(TYPEDOC_VERSION_REGEX);
|
|
372
374
|
if (match) {
|
|
373
375
|
typeDocVersion = match[1];
|
|
374
376
|
}
|
|
@@ -438,7 +440,7 @@ class DocutilsValidator extends node_events_1.EventEmitter {
|
|
|
438
440
|
catch {
|
|
439
441
|
return this.fail(`Could not find TypeScript compiler ("tsc") from ${pkgDir}`);
|
|
440
442
|
}
|
|
441
|
-
|
|
443
|
+
const match = rawTypeScriptVersion.match(TYPESCRIPT_VERSION_REGEX);
|
|
442
444
|
if (match) {
|
|
443
445
|
typeScriptVersion = match[1];
|
|
444
446
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,6CAAyC;AACzC,kDAA0B;AAC1B,oDAAuB;AACvB,6CAAyC;AACzC,0DAA6B;AAC7B,mCAAiC;AACjC,+CAAkC;AAClC,2CAiBqB;AACrB,mCAAsC;AACtC,6BASc;AACd,sDAA8B;AAE9B,iCAAgC;AAEhC;;GAEG;AACH,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC;;GAEG;AACH,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAExD;;GAEG;AACH,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAEnE,MAAM,GAAG,GAAG,gBAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAYvC;;;;;;;;GAQG;AACH,MAAa,iBAAkB,SAAQ,0BAAY;IAmFjD;;OAEG;IACH,YAAY,OAA8B,EAAE;QAC1C,KAAK,EAAE,CAAC;QAtEV;;WAEG;QACgB,gBAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE3D;;;;;;;WAOG;QACO,kBAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;QA2DzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAW,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,2BAAe,CAAC,CAAC;YACtC,wEAAwE;YACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAQ,CAAC,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAY,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAQ,CAAC,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAW,CAAC,CAAC;SACnC;QAED,sCAAsC;QACtC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,GAAkB,EAAE,EAAE;YACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAE1D,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAW,CAAC,EAAE;gBACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACjC;YAED,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAW,CAAC,EAAE;gBACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;aACnC;YAED,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAQ,CAAC,EAAE;gBAClC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACjC;YAED,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,2BAAe,CAAC,EAAE;gBACzC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACvC;YAED,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAY,CAAC,EAAE;gBACtC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;aACpC;YAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC3D;gBAAS;YACR,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAED;;;;;OAKG;IACO,IAAI,CAAC,GAA2B;QACxC,MAAM,IAAI,GAAG,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC5C;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,UAAU;QACxB,OAAO,CACL,IAAI,CAAC,MAAM;YACX,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe;gBACjC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;gBACpC,CAAC,CAAC,MAAM,IAAA,eAAU,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAChC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,EAAE,CAAC,OAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,oBAAoB;QAClC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QAED,MAAM,gBAAgB,GAAiB,EAAE,CAAC;QAE1C,IAAI;YACF,IAAI,eAAe,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,iCAAqB,EAAE,MAAM,CAAC,CAAC;YACvE,eAAe,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,iCAAqB,EAAE,eAAe,CAAC,CAAC;YAChE,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACjD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,gBAAgB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;aACxC;YACD,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,iCAAqB,EAAE,gBAAgB,CAAC,CAAC;SACrE;QAAC,MAAM;YACN,MAAM,IAAI,qBAAa,CAAC,kBAAkB,iCAAqB,iBAAiB,CAAC,CAAC;SACnF;QAED,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACO,KAAK;QACb,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,cAAc;QAC5B,IAAI,UAA8B,CAAC;QACnC,IAAI;YACF,UAAU,GAAG,MAAM,IAAA,gBAAW,GAAE,CAAC;SAClC;QAAC,MAAM;YACN,oDAAoD;YACpD,OAAO,IAAI,CAAC,IAAI,CACd,kBAAkB,uBAAW,gFAAgF,CAC9G,CAAC;SACH;QAED,IAAI,gBAAoC,CAAC;QACzC,IAAI;YACF,CAAC,EAAC,MAAM,EAAE,gBAAgB,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACtE;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,sBAAsB,GAAG,EAAE,CAAC,CAAC;SAC5D;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE;YACT,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,gBAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,uBAAW,EAAC,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,qBAAa,CACrB,MAAM,uBAAW,eAAe,iCAAqB,kBAAkB,CACxE,CAAC;aACH;YACD,MAAM,EAAC,OAAO,EAAE,iBAAiB,EAAC,GAAG,YAAY,CAAC;YAClD,IAAI,OAAO,KAAK,iBAAiB,EAAE;gBACjC,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,uBAAW,OAAO,UAAU,QAAQ,OAAO,SAAS,iCAAqB,cAAc,iBAAiB,EAAE,CAC9G,CAAC;aACH;SACF;aAAM;YACL,MAAM,IAAI,qBAAa,CACrB,iCAAiC,UAAU,0CAA0C,gBAAgB,EAAE,CACxG,CAAC;SACH;QAED,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,oBAAoB,CAAC,aAAsB;QACzD,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,IAAA,kBAAa,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,IAAI,CAAC,IAAI,CACd,kBAAkB,2BAAe,SAAS,IAAI,CAAC,GAAG,UAAU,oBAAQ,qBAAqB,CAC1F,CAAC;SACH;QACD,IAAI,SAAoB,CAAC;QACzB,IAAI;YACF,SAAS,GAAG,MAAM,IAAA,kBAAa,EAAC,aAAa,CAAC,CAAC;SAChD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,CAA0B,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,2BAAe,EAAE;gBAChC,OAAO,IAAI,CAAC,IAAI,CACd,kBAAkB,2BAAe,OAAO,aAAa,iDAAiD,CACvG,CAAC;aACH;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,aAAa,KAAK,GAAG,EAAE,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,mDAAmD,aAAa,EAAE,CAAC,CAAC;SACtF;QAED,IAAI,CAAC,EAAE,CAAC,oBAAoB,aAAa,KAAK,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,kBAAkB;QAChC,MAAM,cAAc,GAAG,wBAAY,CAAC,OAAO,EAAE,GAAG,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,qBAAa,CAAC,oEAAoE,CAAC,CAAC;SAC/F;QACD,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAA,aAAQ,GAAE,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,qBAAa,CACrB,kBAAkB,oBAAQ,yCAAyC,CACpE,CAAC;aACH;YACD,MAAM,EAAC,MAAM,EAAE,UAAU,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,IAAA,kBAAS,EAAC,UAAU,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,EAAE;gBACjD,IAAI,CAAC,IAAI,CAAC,GAAG,oBAAQ,eAAe,UAAU,SAAS,cAAc,cAAc,CAAC,CAAC;gBACrF,OAAO;aACR;SACF;QAAC,MAAM;YACN,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,OAAO,4BAA4B,CAAC,CAAC;SAC9E;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,oBAAQ,aAAa,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,kBAAkB;QAChC,IAAI,aAAqB,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAA,gBAAW,GAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,uBAAW,4BAA4B,CAAC,CAAC;SAC7E;QACD,IAAI;YACF,CAAC,EAAC,MAAM,EAAE,aAAa,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,UAAU,EAAE;gBAChD,IAAI;gBACJ,oBAAQ;gBACR,MAAM;gBACN,UAAU;gBACV,MAAM;aACP,CAAC,CAAC,CAAC;SACL;QAAC,MAAM;YACN,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,oBAAQ,4BAA4B,CAAC,CAAC;SAC1E;QAED,IAAI,aAA2B,CAAC;QAChC,IAAI;YACF,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAiB,CAAC;SAC3D;QAAC,MAAM;YACN,MAAM,IAAI,qBAAa,CACrB,8BAA8B,oBAAQ,mBAAmB,aAAa,EAAE,CACzE,CAAC;SACH;QAED,MAAM,UAAU,GAAG,gBAAC,CAAC,SAAS,CAAC,gBAAC,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;QAEvD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC3D,MAAM,eAAe,GAAiB,EAAE,CAAC;QACzC,MAAM,sBAAsB,GAAiD,EAAE,CAAC;QAChF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;YACtC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE;gBACZ,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;YACD,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;gBAC/B,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;aACvE;SACF;QAED,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,eAAe,CAAC,MAAM,EAAE;YAC1B,QAAQ,CAAC,IAAI,CACX,0BAA0B,cAAI,CAAC,SAAS,CACtC,SAAS,EACT,eAAe,CAAC,MAAM,CACvB,yBAAyB,eAAe;iBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,eAAK,EAAA,aAAa,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,GAAG,CAAC;iBAC/D,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;SACH;QACD,IAAI,sBAAsB,CAAC,MAAM,EAAE;YACjC,QAAQ,CAAC,IAAI,CACX,0BAA0B,cAAI,CAAC,SAAS,CACtC,SAAS,EACT,sBAAsB,CAAC,MAAM,CAC9B,8CAA8C,sBAAsB;iBAClE,GAAG,CACF,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CACrB,IAAA,eAAK,EAAA,aAAa,QAAQ,CAAC,IAAI,eAAe,QAAQ,CAAC,OAAO,iBAAiB,MAAM,CAAC,OAAO,IAAI,CACpG;iBACA,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;SACH;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,OAAO,IAAI,CAAC,IAAI,CAAC,oDAAoD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC/F;QAED,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAA,gBAAW,GAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,uBAAW,4BAA4B,CAAC,CAAC;SAC7E;QAED,IAAI;YACF,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACpC,OAAO,IAAI,CAAC,IAAI,CACd,4CAA4C,MAAM,6BAA6B,CAChF,CAAC;aACH;SACF;QAAC,MAAM;YACN,OAAO,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,eAAe;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,iBAAyB,CAAC;QAC9B,IAAI,cAAsB,CAAC;QAC3B,IAAI;YACF,CAAC,EAAC,MAAM,EAAE,iBAAiB,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,KAAK,EAAE,CAAC,MAAM,EAAE,wBAAY,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE;gBAC1F,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC,CAAC;SACL;QAAC,MAAM;YACN,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,wBAAY,oBAAoB,MAAM,EAAE,CAAC,CAAC;SAC9E;QAED,IAAI,iBAAiB,EAAE;YACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC7D,IAAI,KAAK,EAAE;gBACT,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aAC3B;iBAAM;gBACL,MAAM,IAAI,qBAAa,CACrB,2EAA2E,iBAAiB,EAAE,CAC/F,CAAC;aACH;YAED,MAAM,kBAAkB,GAAG,wBAAY,CAAC,YAAa,CAAC,OAAQ,CAAC;YAC/D,IAAI,CAAC,IAAA,kBAAS,EAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE;gBAClD,OAAO,IAAI,CAAC,IAAI,CACd,yBAAyB,cAAc,SAAS,kBAAkB,cAAc,CACjF,CAAC;aACH;YACD,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;SAC/B;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAa,CAAC,kCAAkC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SACnF;QACD,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe;YAC3C,IAAI,CAAC,eAAe,IAAI,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,6BAAiB,CAAC,CAAC,CAAC;QAChE,MAAM,kBAAkB,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC/D,IAAI,WAAwB,CAAC;QAE7B,wEAAwE;QACxE,gCAAgC;QAChC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI;gBACF,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,qBAAa,CACrB,qBAAqB,kBAAkB,wBAAwB,GAAG,EAAE,CACrE,CAAC;aACH;SACF;aAAM;YACL,IAAI;gBACF,WAAW,GAAG,IAAA,oBAAe,EAAC,eAAe,CAAC,CAAC;aAChD;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,YAAY,WAAW,EAAE;oBAC5B,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,qBAAa,CAAC,eAAe,6BAAiB,OAAO,kBAAkB,KAAK,CAAC,EAAE,CAAC,CACrF,CAAC;iBACH;gBACD,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,qBAAa,CACf,WAAW,6BAAiB,OAAO,kBAAkB,MAAM,oBAAQ,iBAAiB,CACrF,CACF,CAAC;aACH;SACF;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACpB,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,qBAAa,CACf,6BAA6B,kBAAkB,WAAW,wCAA4B,iBAAiB,CACxG,CACF,CAAC;SACH;QAED,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,kBAAkB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;SAChE;QACD,IAAI,iBAAyB,CAAC;QAC9B,IAAI,oBAA4B,CAAC;QACjC,IAAI;YACF,CAAC,EAAC,MAAM,EAAE,oBAAoB,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,oBAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE;gBACzF,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC,CAAC;SACL;QAAC,MAAM;YACN,OAAO,IAAI,CAAC,IAAI,CAAC,mDAAmD,MAAM,EAAE,CAAC,CAAC;SAC/E;QAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACnE,IAAI,KAAK,EAAE;YACT,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAC9B;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CACd,0EAA0E,oBAAoB,EAAE,CACjG,CAAC;SACH;QAED,MAAM,qBAAqB,GAAG,wBAAY,CAAC,YAAY,EAAE,UAAU,CAAC;QAEpE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,MAAM,IAAI,qBAAa,CACrB,4BAA4B,2BAAe,OAAO,6BAAiB,kBAAkB,CACtF,CAAC;SACH;QAED,IAAI,CAAC,IAAA,kBAAS,EAAC,iBAAiB,EAAE,qBAAqB,CAAC,EAAE;YACxD,OAAO,IAAI,CAAC,IAAI,CACd,4BAA4B,iBAAiB,SAAS,qBAAqB,cAAc,CAC1F,CAAC;SACH;QACD,IAAI,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,wBAAwB;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAa,CAAC,kCAAkC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SACnF;QACD,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB;YAC7C,IAAI,CAAC,gBAAgB,IAAI,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,8BAAkB,CAAC,CAAC,CAAC;QAClE,MAAM,mBAAmB,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACjE,IAAI;YACF,MAAM,IAAA,cAAS,EAAC,gBAAgB,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,WAAW,EAAE;gBAC5B,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,qBAAa,CAAC,eAAe,8BAAkB,OAAO,mBAAmB,KAAK,CAAC,EAAE,CAAC,CACvF,CAAC;aACH;YACD,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,qBAAa,CACf,WAAW,8BAAkB,OAAO,mBAAmB,MAAM,oBAAQ,iBAAiB,CACvF,CACF,CAAC;SACH;QAED,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAClC,CAAC;;AA7kBH,8CA8kBC;AArhBC;;;GAGG;AACoB,uBAAK,GAAG,OAAO,CAAC;AAEvC;;;GAGG;AACoB,qBAAG,GAAG,KAAK,CAAC;AAEnC;;;GAGG;AACoB,yBAAO,GAAG,MAAM,CAAC;AAExC;;;GAGG;AACoB,yBAAO,GAAG,IAAI,CAAC"}
|
package/lib/builder/deploy.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import _ from 'lodash';
|
|
8
|
-
import {exec, SubProcess, TeenProcessExecOptions} from 'teen_process';
|
|
8
|
+
import {exec, SubProcess, SubProcessOptions, TeenProcessExecOptions} from 'teen_process';
|
|
9
9
|
import path from 'node:path';
|
|
10
10
|
import {
|
|
11
11
|
DEFAULT_DEPLOY_BRANCH,
|
|
@@ -35,8 +35,9 @@ async function doServe(
|
|
|
35
35
|
) {
|
|
36
36
|
mikePath = mikePath ?? (await whichMike());
|
|
37
37
|
const finalArgs = ['serve', ...args];
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
const opts: SubProcessOptions = {stdio: 'inherit'};
|
|
39
|
+
log.debug('Launching %s with args: %s', mikePath, finalArgs);
|
|
40
|
+
const proc = new SubProcess(mikePath, finalArgs, opts);
|
|
40
41
|
return await proc.start(startDetector, detach, timeoutMs);
|
|
41
42
|
}
|
|
42
43
|
|
|
@@ -99,6 +100,10 @@ export async function deploy({
|
|
|
99
100
|
);
|
|
100
101
|
}
|
|
101
102
|
version = version ?? (await findDeployVersion(packageJsonPath, cwd));
|
|
103
|
+
|
|
104
|
+
// substitute %s in message with version
|
|
105
|
+
message = message?.replace('%s', version);
|
|
106
|
+
|
|
102
107
|
const mikeOpts = {
|
|
103
108
|
'config-file': mkDocsYmlPath,
|
|
104
109
|
push,
|
|
@@ -118,6 +123,7 @@ export async function deploy({
|
|
|
118
123
|
if (alias) {
|
|
119
124
|
mikeArgs.push(alias);
|
|
120
125
|
}
|
|
126
|
+
stop(); // discard
|
|
121
127
|
// unsure about how SIGHUP is handled here
|
|
122
128
|
await doServe(mikeArgs, serveOpts);
|
|
123
129
|
} else {
|
package/lib/builder/index.ts
CHANGED
package/lib/builder/nav.ts
CHANGED
|
@@ -197,7 +197,7 @@ async function getNavItemsForDir(
|
|
|
197
197
|
const rootHeaderKeypath = getRootHeaderKeypath(navHeaderItems, navHeader);
|
|
198
198
|
|
|
199
199
|
for (const fileOrUrl of referenceOutputFilepaths) {
|
|
200
|
-
|
|
200
|
+
const offset = navHeaderItems.findIndex((item) => item.fileOrUrl === fileOrUrl);
|
|
201
201
|
const newOffset = offset >= 0 ? offset : navHeaderItems.length;
|
|
202
202
|
const data = navHeaderItems[offset];
|
|
203
203
|
log.warn(rootHeaderKeypath, newOffset, data);
|
|
@@ -214,7 +214,7 @@ async function getNavItemsForDir(
|
|
|
214
214
|
}
|
|
215
215
|
} else {
|
|
216
216
|
log.debug('No items found in header %s', navHeader);
|
|
217
|
-
|
|
217
|
+
const navOffset = nav.length;
|
|
218
218
|
for (const [idx, newRefFilepath] of referenceOutputFilepaths.entries()) {
|
|
219
219
|
newNavHeaderItems.push({
|
|
220
220
|
keypath: `${navOffset}.${navHeader}.${idx}`,
|
|
@@ -254,7 +254,6 @@ export async function updateNav({
|
|
|
254
254
|
mkdocsYml: mkDocsYmlPath,
|
|
255
255
|
typedocJson: typeDocJsonPath,
|
|
256
256
|
all = false,
|
|
257
|
-
dryRun = false,
|
|
258
257
|
}: UpdateNavOpts = {}) {
|
|
259
258
|
// we need `mkdocs.yml` to update
|
|
260
259
|
// and we need `typedoc.json` to know where to look for the command docs
|
package/lib/builder/reference.ts
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {fs} from '@appium/support';
|
|
8
|
-
import glob from 'glob';
|
|
9
8
|
import _ from 'lodash';
|
|
10
9
|
import path from 'node:path';
|
|
11
10
|
import {Application, ArgumentsReader, TypeDocOptions, TypeDocReader} from 'typedoc';
|
|
@@ -16,28 +15,12 @@ import {
|
|
|
16
15
|
NAME_TYPEDOC_JSON,
|
|
17
16
|
} from '../constants';
|
|
18
17
|
import {DocutilsError} from '../error';
|
|
19
|
-
import {
|
|
18
|
+
import {findTypeDocJsonPath, readTypedocJson} from '../fs';
|
|
20
19
|
import logger from '../logger';
|
|
21
20
|
import {argify, relative, stopwatch} from '../util';
|
|
22
21
|
|
|
23
22
|
const log = logger.withTag('builder:reference');
|
|
24
23
|
|
|
25
|
-
/**
|
|
26
|
-
* Replaces TypeDoc's homebrew "glob" implementation with a real one
|
|
27
|
-
*
|
|
28
|
-
* This cannot be done via `require('typedoc')` or `import` due to the file being excluded
|
|
29
|
-
* from the export map in its `package.json`.
|
|
30
|
-
* @see https://github.com/TypeStrong/typedoc/issues/2151
|
|
31
|
-
*/
|
|
32
|
-
const monkeyPatchTypedoc = _.once(async () => {
|
|
33
|
-
const typedocDir = await findPkgDir(require.resolve('typedoc'));
|
|
34
|
-
if (!typedocDir) {
|
|
35
|
-
throw new DocutilsError('Could not find TypeDoc package directory; is it installed?');
|
|
36
|
-
}
|
|
37
|
-
const tdFs = require(path.join(typedocDir, 'dist', 'lib', 'utils', 'fs.js'));
|
|
38
|
-
tdFs.glob = glob.sync;
|
|
39
|
-
});
|
|
40
|
-
|
|
41
24
|
/**
|
|
42
25
|
* Executes TypeDoc _in the current process_
|
|
43
26
|
*
|
|
@@ -48,9 +31,6 @@ const monkeyPatchTypedoc = _.once(async () => {
|
|
|
48
31
|
* @param opts - TypeDoc options
|
|
49
32
|
*/
|
|
50
33
|
export async function runTypedoc(typeDocJsonPath: string, opts: Record<string, string>) {
|
|
51
|
-
await monkeyPatchTypedoc();
|
|
52
|
-
log.debug('Monkeypatched TypeDoc');
|
|
53
|
-
|
|
54
34
|
const args = argify(opts);
|
|
55
35
|
log.debug('TypeDoc args:', args);
|
|
56
36
|
const app = new Application();
|
|
@@ -179,7 +159,7 @@ export async function buildReferenceDocs({
|
|
|
179
159
|
|
|
180
160
|
try {
|
|
181
161
|
await runTypedoc(typeDocJsonPath, extraTypedocOpts);
|
|
182
|
-
|
|
162
|
+
const finalOut = (typeDocJson.out ?? out) as string;
|
|
183
163
|
log.success(
|
|
184
164
|
'Reference docs built at %s (%dms)',
|
|
185
165
|
path.isAbsolute(finalOut) ? relativePath(finalOut) : finalOut,
|
package/lib/builder/site.ts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import path from 'node:path';
|
|
9
|
-
import {exec, SubProcess, TeenProcessExecOptions} from 'teen_process';
|
|
10
|
-
import {NAME_BIN,
|
|
9
|
+
import {exec, SubProcess, SubProcessOptions, TeenProcessExecOptions} from 'teen_process';
|
|
10
|
+
import {NAME_BIN, NAME_THEME, NAME_MKDOCS_YML} from '../constants';
|
|
11
11
|
import {DocutilsError} from '../error';
|
|
12
12
|
import {findMkDocsYml, readMkDocsYml, whichMkDocs} from '../fs';
|
|
13
13
|
import logger from '../logger';
|
|
@@ -28,8 +28,9 @@ async function doServe(
|
|
|
28
28
|
) {
|
|
29
29
|
mkDocsPath = mkDocsPath ?? (await whichMkDocs());
|
|
30
30
|
const finalArgs = ['serve', ...args];
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
const opts: SubProcessOptions = {stdio: 'inherit'};
|
|
32
|
+
log.debug('Launching %s with args: %s', mkDocsPath, finalArgs);
|
|
33
|
+
const proc = new SubProcess(mkDocsPath, finalArgs, opts);
|
|
33
34
|
return await proc.start(startDetector, detach, timeoutMs);
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -57,7 +58,7 @@ async function doBuild(
|
|
|
57
58
|
export async function buildSite({
|
|
58
59
|
mkdocsYml: mkDocsYmlPath,
|
|
59
60
|
siteDir,
|
|
60
|
-
theme =
|
|
61
|
+
theme = NAME_THEME,
|
|
61
62
|
cwd = process.cwd(),
|
|
62
63
|
serve = false,
|
|
63
64
|
serveOpts,
|
package/lib/cli/check.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides functions to validate user-provided options as part of Yargs' post-parsing "check" phase
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {fs, util} from '@appium/support';
|
|
7
|
+
import _ from 'lodash';
|
|
8
|
+
import type {Options} from 'yargs';
|
|
9
|
+
import logger from '../logger';
|
|
10
|
+
|
|
11
|
+
const log = logger.withTag('check');
|
|
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
|
+
/**
|
|
27
|
+
* Data structure describing a missing file; returned by {@linkcode filterMissing}
|
|
28
|
+
*/
|
|
29
|
+
interface MissingFileData {
|
|
30
|
+
/**
|
|
31
|
+
* Arbitrary identifier; intent was to map to an option name
|
|
32
|
+
*/
|
|
33
|
+
id: string;
|
|
34
|
+
/**
|
|
35
|
+
* Normalized filepath
|
|
36
|
+
*/
|
|
37
|
+
path: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Takes user-provided paths and checks for existence.
|
|
42
|
+
*
|
|
43
|
+
* Filters options to consider based on group name only.
|
|
44
|
+
*
|
|
45
|
+
* Meant to be used as a "fail-fast" strategy on the CLI, so we don't go all the way through some
|
|
46
|
+
* expensive behavior before realizing we're missing a path.
|
|
47
|
+
* @param opts Options object for a yargs command
|
|
48
|
+
* @param group Group name to filter on
|
|
49
|
+
* @param argv User-provided args
|
|
50
|
+
* @returns `true` if all paths exist or otherwise an error message
|
|
51
|
+
*/
|
|
52
|
+
export async function checkMissingPaths<T extends Record<string, Options>>(
|
|
53
|
+
opts: T,
|
|
54
|
+
group: string,
|
|
55
|
+
argv: Record<string, unknown>
|
|
56
|
+
): Promise<true | string> {
|
|
57
|
+
const argsToCheck = _.keys(
|
|
58
|
+
_.pickBy(opts, (opt: Options, id: string) => opt?.group === group && id in argv) as Partial<T>
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
// yargs is pretty loose about allowing CLI args multiple times, and the value could potentially
|
|
62
|
+
// be a `string[]` instead of `string`; we don't want to allow more than one path per arg.
|
|
63
|
+
if (!argsToCheck.every((id) => _.isString(argv[id]))) {
|
|
64
|
+
return 'Paths may only be provided once each';
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const pathsToCheck: MissingFileData[] = _.map(argsToCheck, (id) => ({
|
|
68
|
+
id,
|
|
69
|
+
path: String(argv[id]), // this must be a string per the above check
|
|
70
|
+
}));
|
|
71
|
+
|
|
72
|
+
log.debug(
|
|
73
|
+
'Checking for existence of %s: %s',
|
|
74
|
+
util.pluralize('path', pathsToCheck.length),
|
|
75
|
+
_.map(pathsToCheck, 'path')
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
const missingPaths = await filterMissing(pathsToCheck);
|
|
79
|
+
|
|
80
|
+
if (missingPaths.length) {
|
|
81
|
+
return missingPaths
|
|
82
|
+
.map(({id, path}) => `Path specified using --${_.kebabCase(id)} (${path}) does not exist`)
|
|
83
|
+
.join('\n');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return true;
|
|
87
|
+
}
|
package/lib/cli/command/build.ts
CHANGED
|
@@ -1,53 +1,64 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Yargs command module for the `build` command.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import path from 'node:path';
|
|
7
|
+
import type {CommandModule, InferredOptionTypes, Options} from 'yargs';
|
|
2
8
|
import {buildReferenceDocs, buildSite, deploy, updateNav} from '../../builder';
|
|
3
9
|
import {NAME_BIN} from '../../constants';
|
|
4
10
|
import logger from '../../logger';
|
|
5
11
|
import {stopwatch} from '../../util';
|
|
12
|
+
import {checkMissingPaths} from '../check';
|
|
6
13
|
|
|
7
14
|
const log = logger.withTag('build');
|
|
8
15
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
enum BuildCommandGroup {
|
|
17
|
+
Build = 'Build Config:',
|
|
18
|
+
Deploy = 'Deployment Config:',
|
|
19
|
+
Serve = 'Dev Server Config:',
|
|
20
|
+
BuildPaths = 'Custom Paths:',
|
|
21
|
+
}
|
|
13
22
|
|
|
14
23
|
const opts = {
|
|
15
24
|
reference: {
|
|
16
25
|
describe: 'Run TypeDoc command API reference build (Markdown)',
|
|
17
|
-
group:
|
|
26
|
+
group: BuildCommandGroup.Build,
|
|
18
27
|
type: 'boolean',
|
|
19
28
|
default: true,
|
|
20
29
|
},
|
|
21
30
|
site: {
|
|
22
31
|
describe: 'Run MkDocs build (HTML)',
|
|
23
|
-
group:
|
|
32
|
+
group: BuildCommandGroup.Build,
|
|
24
33
|
type: 'boolean',
|
|
25
34
|
default: true,
|
|
26
35
|
},
|
|
27
36
|
'site-dir': {
|
|
28
37
|
alias: 'd',
|
|
29
38
|
describe: 'HTML output directory',
|
|
30
|
-
group:
|
|
39
|
+
group: BuildCommandGroup.Build,
|
|
31
40
|
nargs: 1,
|
|
32
41
|
requiresArg: true,
|
|
33
42
|
type: 'string',
|
|
34
43
|
normalize: true,
|
|
44
|
+
coerce: path.resolve,
|
|
35
45
|
implies: 'site',
|
|
36
46
|
defaultDescription: '(from mkdocs.yml)',
|
|
37
47
|
},
|
|
38
48
|
'package-json': {
|
|
39
49
|
defaultDescription: './package.json',
|
|
40
50
|
describe: 'Path to package.json',
|
|
41
|
-
group:
|
|
51
|
+
group: BuildCommandGroup.BuildPaths,
|
|
42
52
|
nargs: 1,
|
|
43
53
|
normalize: true,
|
|
54
|
+
coerce: path.resolve,
|
|
44
55
|
requiresArg: true,
|
|
45
56
|
type: 'string',
|
|
46
57
|
},
|
|
47
58
|
title: {
|
|
48
59
|
defaultDescription: '(extension package name)',
|
|
49
60
|
describe: 'Title of the API reference',
|
|
50
|
-
group:
|
|
61
|
+
group: BuildCommandGroup.Build,
|
|
51
62
|
nargs: 1,
|
|
52
63
|
requiresArg: true,
|
|
53
64
|
type: 'string',
|
|
@@ -55,45 +66,48 @@ const opts = {
|
|
|
55
66
|
'tsconfig-json': {
|
|
56
67
|
defaultDescription: './tsconfig.json',
|
|
57
68
|
describe: 'Path to tsconfig.json',
|
|
58
|
-
group:
|
|
69
|
+
group: BuildCommandGroup.BuildPaths,
|
|
59
70
|
nargs: 1,
|
|
60
71
|
normalize: true,
|
|
61
72
|
requiresArg: true,
|
|
73
|
+
coerce: path.resolve,
|
|
62
74
|
type: 'string',
|
|
63
75
|
},
|
|
64
76
|
'mkdocs-yml': {
|
|
65
77
|
defaultDescription: './mkdocs.yml',
|
|
66
78
|
description: 'Path to mkdocs.yml',
|
|
67
|
-
group:
|
|
79
|
+
group: BuildCommandGroup.BuildPaths,
|
|
68
80
|
nargs: 1,
|
|
69
81
|
normalize: true,
|
|
70
82
|
requiresArg: true,
|
|
83
|
+
coerce: path.resolve,
|
|
71
84
|
type: 'string',
|
|
72
85
|
},
|
|
73
86
|
'typedoc-json': {
|
|
74
87
|
defaultDescription: './typedoc.json',
|
|
75
88
|
describe: 'Path to typedoc.json',
|
|
76
|
-
group:
|
|
89
|
+
group: BuildCommandGroup.BuildPaths,
|
|
77
90
|
nargs: 1,
|
|
78
91
|
normalize: true,
|
|
79
92
|
requiresArg: true,
|
|
93
|
+
coerce: path.resolve,
|
|
80
94
|
type: 'string',
|
|
81
95
|
},
|
|
82
96
|
all: {
|
|
83
97
|
describe: 'Output all reference docs (not just Appium comands)',
|
|
84
|
-
group:
|
|
98
|
+
group: BuildCommandGroup.Build,
|
|
85
99
|
implies: 'site',
|
|
86
100
|
type: 'boolean',
|
|
87
101
|
},
|
|
88
102
|
deploy: {
|
|
89
|
-
describe: 'Commit HTML output',
|
|
90
|
-
group:
|
|
103
|
+
describe: 'Commit HTML output to a branch using mike',
|
|
104
|
+
group: BuildCommandGroup.Deploy,
|
|
91
105
|
type: 'boolean',
|
|
92
106
|
implies: 'site',
|
|
93
107
|
},
|
|
94
108
|
push: {
|
|
95
109
|
describe: 'Push after deploy',
|
|
96
|
-
group:
|
|
110
|
+
group: BuildCommandGroup.Deploy,
|
|
97
111
|
type: 'boolean',
|
|
98
112
|
implies: 'deploy',
|
|
99
113
|
},
|
|
@@ -101,7 +115,7 @@ const opts = {
|
|
|
101
115
|
alias: 'b',
|
|
102
116
|
describe: 'Branch to commit to',
|
|
103
117
|
implies: 'deploy',
|
|
104
|
-
group:
|
|
118
|
+
group: BuildCommandGroup.Deploy,
|
|
105
119
|
type: 'string',
|
|
106
120
|
requiresArg: true,
|
|
107
121
|
nargs: 1,
|
|
@@ -111,7 +125,7 @@ const opts = {
|
|
|
111
125
|
alias: 'r',
|
|
112
126
|
describe: 'Remote to push to',
|
|
113
127
|
implies: ['deploy', 'push'],
|
|
114
|
-
group:
|
|
128
|
+
group: BuildCommandGroup.Deploy,
|
|
115
129
|
type: 'string',
|
|
116
130
|
requiresArg: true,
|
|
117
131
|
nargs: 1,
|
|
@@ -120,16 +134,16 @@ const opts = {
|
|
|
120
134
|
prefix: {
|
|
121
135
|
describe: 'Subdirectory within <branch> to commit to',
|
|
122
136
|
implies: ['deploy', 'branch'],
|
|
123
|
-
group:
|
|
137
|
+
group: BuildCommandGroup.Deploy,
|
|
124
138
|
type: 'string',
|
|
125
139
|
nargs: 1,
|
|
126
140
|
requiresArg: true,
|
|
127
141
|
},
|
|
128
142
|
message: {
|
|
129
143
|
alias: 'm',
|
|
130
|
-
describe: 'Commit message',
|
|
144
|
+
describe: 'Commit message. Use "%s" for version placeholder',
|
|
131
145
|
implies: 'deploy',
|
|
132
|
-
group:
|
|
146
|
+
group: BuildCommandGroup.Deploy,
|
|
133
147
|
type: 'string',
|
|
134
148
|
nargs: 1,
|
|
135
149
|
requiresArg: true,
|
|
@@ -137,7 +151,7 @@ const opts = {
|
|
|
137
151
|
'deploy-version': {
|
|
138
152
|
describe: 'Version (directory) to deploy build to',
|
|
139
153
|
implies: 'deploy',
|
|
140
|
-
group:
|
|
154
|
+
group: BuildCommandGroup.Deploy,
|
|
141
155
|
type: 'string',
|
|
142
156
|
nargs: 1,
|
|
143
157
|
requiresArg: true,
|
|
@@ -146,7 +160,7 @@ const opts = {
|
|
|
146
160
|
alias: {
|
|
147
161
|
describe: 'Alias for the build (e.g., "latest"); triggers alias update',
|
|
148
162
|
implies: 'deploy',
|
|
149
|
-
group:
|
|
163
|
+
group: BuildCommandGroup.Deploy,
|
|
150
164
|
type: 'string',
|
|
151
165
|
nargs: 1,
|
|
152
166
|
requiresArg: true,
|
|
@@ -155,18 +169,18 @@ const opts = {
|
|
|
155
169
|
rebase: {
|
|
156
170
|
describe: 'Rebase <branch> with remote before deploy',
|
|
157
171
|
implies: ['deploy', 'branch', 'remote'],
|
|
158
|
-
group:
|
|
172
|
+
group: BuildCommandGroup.Deploy,
|
|
159
173
|
type: 'boolean',
|
|
160
174
|
},
|
|
161
175
|
serve: {
|
|
162
176
|
describe: 'Start development server',
|
|
163
|
-
group:
|
|
177
|
+
group: BuildCommandGroup.Serve,
|
|
164
178
|
type: 'boolean',
|
|
165
179
|
},
|
|
166
180
|
port: {
|
|
167
181
|
alias: 'p',
|
|
168
182
|
describe: 'Development server port',
|
|
169
|
-
group:
|
|
183
|
+
group: BuildCommandGroup.Serve,
|
|
170
184
|
type: 'number',
|
|
171
185
|
defaultDescription: '8000',
|
|
172
186
|
implies: 'serve',
|
|
@@ -176,32 +190,35 @@ const opts = {
|
|
|
176
190
|
host: {
|
|
177
191
|
alias: 'h',
|
|
178
192
|
describe: 'Development server host',
|
|
179
|
-
group:
|
|
193
|
+
group: BuildCommandGroup.Serve,
|
|
180
194
|
type: 'string',
|
|
181
195
|
nargs: 1,
|
|
182
196
|
requiresArg: true,
|
|
183
197
|
implies: 'serve',
|
|
184
198
|
defaultDescription: 'localhost',
|
|
185
199
|
},
|
|
186
|
-
} as const
|
|
200
|
+
} as const satisfies Record<string, Options>;
|
|
187
201
|
|
|
188
|
-
opts as Record<string, Options>;
|
|
189
202
|
type BuildOptions = InferredOptionTypes<typeof opts>;
|
|
190
203
|
|
|
191
|
-
|
|
204
|
+
export default {
|
|
192
205
|
command: 'build',
|
|
193
|
-
describe: 'Build Appium extension documentation',
|
|
194
|
-
builder
|
|
195
|
-
yargs
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
206
|
+
describe: 'Build Appium extension documentation using TypeDoc & MkDocs',
|
|
207
|
+
builder(yargs) {
|
|
208
|
+
return yargs
|
|
209
|
+
.options(opts)
|
|
210
|
+
.check(async (argv) => {
|
|
211
|
+
// either this method doesn't provide camel-cased props, or the types are wrong.
|
|
212
|
+
if (argv.deploy === true && argv['site-dir']) {
|
|
213
|
+
return `--site-dir is unsupported when running "${NAME_BIN} deploy"; use --prefix if needed, but remember that the default behavior is to deploy to the root of the branch (${argv.branch}) instead of a subdirectory`;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
return await checkMissingPaths(opts, BuildCommandGroup.BuildPaths, argv);
|
|
217
|
+
})
|
|
218
|
+
.epilog(
|
|
219
|
+
'For help with further configuration, see:\n - MkDocs: https://www.mkdocs.org\n - TypeDoc: https://typedoc.org\n - Mike: https://github.com/jimporter/mike'
|
|
220
|
+
);
|
|
221
|
+
},
|
|
205
222
|
async handler(args) {
|
|
206
223
|
const stop = stopwatch('build');
|
|
207
224
|
log.debug('Build command called with args: %O', args);
|
|
@@ -224,6 +241,4 @@ const buildCommand: CommandModule<{}, BuildOptions> = {
|
|
|
224
241
|
}
|
|
225
242
|
log.success('Done! (total: %dms)', stop());
|
|
226
243
|
},
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
export default buildCommand;
|
|
244
|
+
} as CommandModule<object, BuildOptions>;
|