@appium/docutils 0.1.6 → 0.2.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/README.md +2 -5
- package/build/lib/build/mkdocs.d.ts +58 -0
- package/build/lib/build/mkdocs.d.ts.map +1 -0
- package/build/lib/build/mkdocs.js +80 -0
- package/build/lib/build/mkdocs.js.map +1 -0
- package/build/lib/build/typedoc.d.ts +55 -0
- package/build/lib/build/typedoc.d.ts.map +1 -0
- package/build/lib/build/typedoc.js +120 -0
- package/build/lib/build/typedoc.js.map +1 -0
- package/build/lib/build-api.d.ts +18 -0
- package/build/lib/build-api.d.ts.map +1 -0
- package/build/lib/build-api.js +75 -0
- package/build/lib/build-api.js.map +1 -0
- package/build/lib/build.d.ts +21 -0
- package/build/lib/build.d.ts.map +1 -0
- package/build/lib/build.js +71 -0
- package/build/lib/build.js.map +1 -0
- package/build/lib/builder/deploy.d.ts +89 -0
- package/build/lib/builder/deploy.d.ts.map +1 -0
- package/build/lib/builder/deploy.js +105 -0
- package/build/lib/builder/deploy.js.map +1 -0
- package/build/lib/builder/index.d.ts +5 -0
- package/build/lib/builder/index.d.ts.map +1 -0
- package/build/lib/builder/index.js +21 -0
- package/build/lib/builder/index.js.map +1 -0
- package/build/lib/builder/nav.d.ts +81 -0
- package/build/lib/builder/nav.d.ts.map +1 -0
- package/build/lib/builder/nav.js +280 -0
- package/build/lib/builder/nav.js.map +1 -0
- package/build/lib/builder/reference.d.ts +57 -0
- package/build/lib/builder/reference.d.ts.map +1 -0
- package/build/lib/builder/reference.js +129 -0
- package/build/lib/builder/reference.js.map +1 -0
- package/build/lib/builder/site.d.ts +55 -0
- package/build/lib/builder/site.d.ts.map +1 -0
- package/build/lib/builder/site.js +81 -0
- package/build/lib/builder/site.js.map +1 -0
- package/build/lib/cli/command/build.d.ts +178 -0
- package/build/lib/cli/command/build.d.ts.map +1 -0
- package/build/lib/cli/command/build.js +223 -0
- package/build/lib/cli/command/build.js.map +1 -0
- package/build/lib/cli/command/deploy.d.ts +1 -0
- package/build/lib/cli/command/deploy.d.ts.map +1 -0
- package/build/lib/cli/command/deploy.js +2 -0
- package/build/lib/cli/command/deploy.js.map +1 -0
- package/build/lib/cli/command/index.d.ts +4 -0
- package/build/lib/cli/command/index.d.ts.map +1 -0
- package/build/lib/cli/command/index.js +13 -0
- package/build/lib/cli/command/index.js.map +1 -0
- package/build/lib/cli/command/init.d.ts +143 -0
- package/build/lib/cli/command/init.d.ts.map +1 -0
- package/build/lib/cli/command/init.js +164 -0
- package/build/lib/cli/command/init.js.map +1 -0
- package/build/lib/cli/command/validate.d.ts +76 -0
- package/build/lib/cli/command/validate.d.ts.map +1 -0
- package/build/lib/cli/command/validate.js +115 -0
- package/build/lib/cli/command/validate.js.map +1 -0
- package/build/lib/cli/command-init.d.ts +143 -0
- package/build/lib/cli/command-init.d.ts.map +1 -0
- package/build/lib/cli/command-init.js +164 -0
- package/build/lib/cli/command-init.js.map +1 -0
- package/build/lib/cli/command-validate.d.ts +52 -0
- package/build/lib/cli/command-validate.d.ts.map +1 -0
- package/build/lib/cli/command-validate.js +66 -0
- package/build/lib/cli/command-validate.js.map +1 -0
- package/build/lib/cli/config.d.ts +28 -0
- package/build/lib/cli/config.d.ts.map +1 -0
- package/build/lib/cli/config.js +114 -0
- package/build/lib/cli/config.js.map +1 -0
- package/build/lib/cli/index.d.ts +13 -0
- package/build/lib/cli/index.d.ts.map +1 -0
- package/build/lib/cli/index.js +91 -0
- package/build/lib/cli/index.js.map +1 -0
- package/build/lib/cli/init.d.ts +143 -0
- package/build/lib/cli/init.d.ts.map +1 -0
- package/build/lib/cli/init.js +164 -0
- package/build/lib/cli/init.js.map +1 -0
- package/build/lib/cli/options.d.ts +1 -0
- package/build/lib/cli/options.d.ts.map +1 -0
- package/build/lib/cli/options.js +2 -0
- package/build/lib/cli/options.js.map +1 -0
- package/build/lib/cli/validate.d.ts +1 -0
- package/build/lib/cli/validate.d.ts.map +1 -0
- package/build/lib/cli/validate.js +2 -0
- package/build/lib/cli/validate.js.map +1 -0
- package/build/lib/cli.d.ts +10 -0
- package/build/lib/cli.d.ts.map +1 -0
- package/build/lib/cli.js +328 -0
- package/build/lib/cli.js.map +1 -0
- package/build/lib/constants.d.ts +125 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +133 -0
- package/build/lib/constants.js.map +1 -0
- package/build/lib/error.d.ts +3 -0
- package/build/lib/error.d.ts.map +1 -0
- package/build/lib/error.js +7 -0
- package/build/lib/error.js.map +1 -0
- package/build/lib/fs.d.ts +142 -0
- package/build/lib/fs.d.ts.map +1 -0
- package/build/lib/fs.js +237 -0
- package/build/lib/fs.js.map +1 -0
- package/build/lib/index.d.ts +5 -2
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +4 -1
- package/build/lib/index.js.map +1 -1
- package/build/lib/init-task.d.ts +49 -0
- package/build/lib/init-task.d.ts.map +1 -0
- package/build/lib/init-task.js +95 -0
- package/build/lib/init-task.js.map +1 -0
- package/build/lib/init.d.ts +202 -0
- package/build/lib/init.d.ts.map +1 -0
- package/build/lib/init.js +225 -0
- package/build/lib/init.js.map +1 -0
- package/build/lib/io.d.ts +1 -0
- package/build/lib/io.d.ts.map +1 -0
- package/build/lib/io.js +2 -0
- package/build/lib/io.js.map +1 -0
- package/build/lib/logger.d.ts +17 -2
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +187 -2
- package/build/lib/logger.js.map +1 -1
- package/build/lib/mike.d.ts +3 -0
- 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/mkdocs.d.ts +51 -12
- package/build/lib/mkdocs.d.ts.map +1 -1
- package/build/lib/mkdocs.js +64 -32
- package/build/lib/mkdocs.js.map +1 -1
- package/build/lib/model.d.ts +80 -0
- package/build/lib/model.d.ts.map +1 -0
- package/build/lib/model.js +8 -0
- package/build/lib/model.js.map +1 -0
- package/build/lib/nav.d.ts +47 -0
- package/build/lib/nav.d.ts.map +1 -0
- package/build/lib/nav.js +132 -0
- package/build/lib/nav.js.map +1 -0
- package/build/lib/scaffold.d.ts +95 -0
- package/build/lib/scaffold.d.ts.map +1 -0
- package/build/lib/scaffold.js +103 -0
- package/build/lib/scaffold.js.map +1 -0
- package/build/lib/test.d.ts +9 -0
- package/build/lib/test.d.ts.map +1 -0
- package/build/lib/test.js +2 -0
- package/build/lib/test.js.map +1 -0
- package/build/lib/typedoc.d.ts +55 -0
- package/build/lib/typedoc.d.ts.map +1 -0
- package/build/lib/typedoc.js +122 -0
- package/build/lib/typedoc.js.map +1 -0
- package/build/lib/types.d.ts +52 -0
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/types.js +7 -0
- package/build/lib/types.js.map +1 -0
- package/build/lib/util.d.ts +42 -0
- package/build/lib/util.d.ts.map +1 -0
- package/build/lib/util.js +56 -0
- package/build/lib/util.js.map +1 -0
- package/build/lib/validate.d.ts +218 -0
- package/build/lib/validate.d.ts.map +1 -0
- package/build/lib/validate.js +501 -0
- package/build/lib/validate.js.map +1 -0
- package/build/lib/validation/base-validator.d.ts +218 -0
- package/build/lib/validation/base-validator.d.ts.map +1 -0
- package/build/lib/validation/base-validator.js +453 -0
- package/build/lib/validation/base-validator.js.map +1 -0
- package/build/lib/validation/mkdocs-validator.d.ts +5 -0
- package/build/lib/validation/mkdocs-validator.d.ts.map +1 -0
- package/build/lib/validation/mkdocs-validator.js +54 -0
- package/build/lib/validation/mkdocs-validator.js.map +1 -0
- package/build/lib/validation/python-validator.d.ts +1 -0
- package/build/lib/validation/python-validator.d.ts.map +1 -0
- package/build/lib/validation/python-validator.js +2 -0
- package/build/lib/validation/python-validator.js.map +1 -0
- package/build/lib/validation/python.d.ts +1 -0
- package/build/lib/validation/python.d.ts.map +1 -0
- package/build/lib/validation/python.js +2 -0
- package/build/lib/validation/python.js.map +1 -0
- package/build/lib/validation/validate.d.ts +221 -0
- package/build/lib/validation/validate.d.ts.map +1 -0
- package/build/lib/validation/validate.js +508 -0
- package/build/lib/validation/validate.js.map +1 -0
- package/build/lib/validation/validator.d.ts +220 -0
- package/build/lib/validation/validator.d.ts.map +1 -0
- package/build/lib/validation/validator.js +470 -0
- package/build/lib/validation/validator.js.map +1 -0
- package/lib/builder/deploy.ts +223 -0
- package/lib/builder/index.ts +4 -0
- package/lib/builder/nav.ts +399 -0
- package/lib/builder/reference.ts +191 -0
- package/lib/builder/site.ts +143 -0
- package/lib/cli/command/build.ts +229 -0
- package/lib/cli/command/index.ts +3 -0
- package/lib/cli/command/init.ts +166 -0
- package/lib/cli/command/validate.ts +122 -0
- package/lib/cli/config.ts +89 -0
- package/lib/cli/index.ts +88 -0
- package/lib/constants.ts +150 -0
- package/lib/error.ts +1 -0
- package/lib/fs.ts +274 -0
- package/lib/index.ts +5 -0
- package/lib/init.ts +319 -0
- package/lib/logger.ts +198 -0
- package/lib/mike.js +4 -0
- package/lib/model.ts +92 -0
- package/lib/scaffold.ts +225 -0
- package/lib/util.ts +76 -0
- package/lib/validate.ts +728 -0
- package/package.json +38 -6
- package/requirements.txt +4 -0
- package/tsconfig.json +2 -1
- package/build/tsconfig.tsbuildinfo +0 -1
- package/lib/index.js +0 -2
- package/lib/logger.js +0 -3
- package/lib/mkdocs.js +0 -43
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../lib/scaffold.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAC,qBAAqB,EAAC,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AA8BhD;;GAEG;AACH,oBAAY,gBAAgB,CAAC,IAAI,SAAS,mBAAmB,IAAI,IAAI,CACnE,IAAI,EACJ,MAAM,mBAAmB,CAC1B,CAAC;AAEF;;;;GAIG;AACH,oBAAY,YAAY,CAAC,IAAI,SAAS,mBAAmB,EAAE,CAAC,SAAS,UAAU,IAAI,CACjF,IAAI,EAAE,IAAI,KACP,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,SAAS,mBAAmB,EAAE,CAAC,SAAS,UAAU,EACvF,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,CAAC,EACjB,WAAW,EAAE,MAAM,EACnB,EACE,SAAsB,EACtB,WAAwB,EACxB,SAAyB,GAC1B,GAAE,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAM,GACzC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAuEvB;AAED;;;GAGG;AACH,oBAAY,uBAAuB,CAAC,IAAI,SAAS,mBAAmB,EAAE,CAAC,SAAS,SAAS,IAAI,CAC3F,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC5B,GAAG,EAAE,qBAAqB,KACvB,CAAC,CAAC;AAEP;;GAEG;AACH,oBAAY,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC;AAEjE;;GAEG;AACH,oBAAY,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,yBAAyB,CAAC,IAAI,SAAS,mBAAmB,EAAE,CAAC,SAAS,SAAS;IAC9F;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C;;OAEG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC1C;;OAEG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Implementation of a generic "create and/or update some file" task
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.createScaffoldTask = void 0;
|
|
11
|
+
const support_1 = require("@appium/support");
|
|
12
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
13
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
14
|
+
const diff_1 = require("diff");
|
|
15
|
+
const error_1 = require("./error");
|
|
16
|
+
const util_1 = require("./util");
|
|
17
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
18
|
+
const fs_1 = require("./fs");
|
|
19
|
+
const constants_1 = require("./constants");
|
|
20
|
+
const log = logger_1.default.withTag('init');
|
|
21
|
+
const dryRunLog = log.withTag('dry-run');
|
|
22
|
+
/**
|
|
23
|
+
* Creates a unified patch for display in "dry run" mode
|
|
24
|
+
* @param filename - File name to use
|
|
25
|
+
* @param oldData - Old data
|
|
26
|
+
* @param newData - New Data
|
|
27
|
+
* @returns Patch string
|
|
28
|
+
*/
|
|
29
|
+
function makePatch(filename, oldData, newData, serializer = fs_1.stringifyJson) {
|
|
30
|
+
return (0, diff_1.createPatch)(filename, lodash_1.default.isString(oldData) ? oldData : serializer(oldData), lodash_1.default.isString(newData) ? newData : serializer(newData));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Factory for a {@linkcode ScaffoldTask}.
|
|
34
|
+
*
|
|
35
|
+
* @param defaultFilename Default file to create
|
|
36
|
+
* @param defaultContent Default content to use
|
|
37
|
+
* @param description Description of task
|
|
38
|
+
* @param opts Options
|
|
39
|
+
* @returns A scaffold task
|
|
40
|
+
*/
|
|
41
|
+
function createScaffoldTask(defaultFilename, defaultContent, description, { transform = lodash_1.default.identity, deserialize = JSON.parse, serialize = fs_1.stringifyJson, } = {}) {
|
|
42
|
+
return async ({ overwrite = false, cwd = process.cwd(), packageJson: packageJsonPath, dest, dryRun = false, ...opts }) => {
|
|
43
|
+
const relativePath = (0, util_1.relative)(cwd);
|
|
44
|
+
const { pkgPath, pkg } = await (0, fs_1.readPackageJson)(packageJsonPath ? node_path_1.default.dirname(packageJsonPath) : cwd, true);
|
|
45
|
+
const pkgDir = node_path_1.default.dirname(pkgPath);
|
|
46
|
+
dest = dest ?? node_path_1.default.join(pkgDir, defaultFilename);
|
|
47
|
+
const relativeDest = relativePath(dest);
|
|
48
|
+
log.debug('Initializing %s', relativeDest);
|
|
49
|
+
let shouldWriteDest = false;
|
|
50
|
+
let destContent;
|
|
51
|
+
let result;
|
|
52
|
+
try {
|
|
53
|
+
destContent = deserialize(await support_1.fs.readFile(dest, 'utf8'));
|
|
54
|
+
log.debug('Found existing file %s', relativeDest);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
const err = e;
|
|
58
|
+
if (err.code !== constants_1.NAME_ERR_ENOENT) {
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
shouldWriteDest = true;
|
|
62
|
+
log.debug('Creating new file %s', relativeDest);
|
|
63
|
+
destContent = {};
|
|
64
|
+
}
|
|
65
|
+
const defaults = transform(defaultContent, opts, pkg);
|
|
66
|
+
const finalDestContent = lodash_1.default.defaultsDeep({}, destContent, defaults);
|
|
67
|
+
shouldWriteDest = shouldWriteDest || !lodash_1.default.isEqual(destContent, finalDestContent);
|
|
68
|
+
if (shouldWriteDest) {
|
|
69
|
+
log.info('Changes needed to %s', relativeDest);
|
|
70
|
+
log.debug('Original %s: %O', relativeDest, destContent);
|
|
71
|
+
log.debug('Final %s: %O', relativeDest, finalDestContent);
|
|
72
|
+
const patch = makePatch(dest, destContent, finalDestContent, serialize);
|
|
73
|
+
if (dryRun) {
|
|
74
|
+
dryRunLog.info('Would apply the following patch: \n\n%s', patch);
|
|
75
|
+
result = { path: dest, content: finalDestContent };
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
await (0, fs_1.safeWriteFile)(dest, finalDestContent, overwrite);
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
const err = e;
|
|
83
|
+
// this should only be thrown if `force` is false
|
|
84
|
+
if (err.code === constants_1.NAME_ERR_EEXIST) {
|
|
85
|
+
log.info(`${relativeDest} already exists; continuing...`);
|
|
86
|
+
log.debug(`Tried to apply patch:\n\n${patch}`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new error_1.DocutilsError(`Could not write to ${relativeDest}. Reason: ${err.message}`, {
|
|
90
|
+
cause: err,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
log.info('No changes to %s', relativeDest);
|
|
97
|
+
}
|
|
98
|
+
log.success('Initialized %s', description);
|
|
99
|
+
return { path: dest, content: finalDestContent };
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
exports.createScaffoldTask = createScaffoldTask;
|
|
103
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../lib/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../lib/test.ts"],"names":[],"mappings":"AAAA,kBAAU,IAAI,CAAC;IACb,UAAiB,QAAQ;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../lib/test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runs TypeDoc
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Executes TypeDoc _in the current process_
|
|
8
|
+
*
|
|
9
|
+
* Monkeypatches TypeDoc's homebrew "glob" implementation because it is broken
|
|
10
|
+
* @param pkgRoot - Package root path
|
|
11
|
+
* @param opts - TypeDoc options
|
|
12
|
+
*/
|
|
13
|
+
export declare function runTypedoc(pkgRoot: string, opts: Record<string, string>): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Options for {@linkcode buildReference}
|
|
16
|
+
*/
|
|
17
|
+
export interface BuildReferenceOptions {
|
|
18
|
+
/**
|
|
19
|
+
* Path to `typedoc.json`
|
|
20
|
+
*/
|
|
21
|
+
typedocJson?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Current working directory
|
|
24
|
+
*/
|
|
25
|
+
cwd?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Path to `package.json`
|
|
28
|
+
*/
|
|
29
|
+
packageJson?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Path to `tsconfig.json`
|
|
32
|
+
*/
|
|
33
|
+
tsconfigJson?: string;
|
|
34
|
+
/**
|
|
35
|
+
* "Title" for generated docs; this corresponds to {@linkcode typedoc.TypeDocOptionMap.name}
|
|
36
|
+
*/
|
|
37
|
+
title?: string;
|
|
38
|
+
/**
|
|
39
|
+
* This is here because we pass it thru to TypeDoc
|
|
40
|
+
*/
|
|
41
|
+
logLevel?: LogLevelName;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Log level names as supported by this package
|
|
45
|
+
*
|
|
46
|
+
* Used to convert our log level to TypeDoc's
|
|
47
|
+
*/
|
|
48
|
+
declare type LogLevelName = 'debug' | 'info' | 'error' | 'warn';
|
|
49
|
+
/**
|
|
50
|
+
* Build reference documentation via TypeDoc
|
|
51
|
+
* @param opts - Options
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildReference({ typedocJson: typeDocJsonPath, cwd, tsconfigJson: tsconfig, logLevel, title, }?: BuildReferenceOptions): Promise<void>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=typedoc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedoc.d.ts","sourceRoot":"","sources":["../../lib/typedoc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+CH;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAkB7E;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;GAIG;AACH,aAAK,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAexD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EACnC,WAAW,EAAE,eAAe,EAC5B,GAAmB,EACnB,YAAY,EAAE,QAAQ,EACtB,QAA4B,EAC5B,KAAK,GACN,GAAE,qBAA0B,iBAwD5B"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Runs TypeDoc
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.buildReference = exports.runTypedoc = void 0;
|
|
12
|
+
const support_1 = require("@appium/support");
|
|
13
|
+
const glob_1 = __importDefault(require("glob"));
|
|
14
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const typedoc_1 = require("typedoc");
|
|
17
|
+
const constants_1 = require("./constants");
|
|
18
|
+
const error_1 = require("./error");
|
|
19
|
+
const fs_1 = require("./fs");
|
|
20
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
21
|
+
const util_1 = require("./util");
|
|
22
|
+
const log = logger_1.default.withTag('typedoc');
|
|
23
|
+
/**
|
|
24
|
+
* Replaces TypeDoc's homebrew "glob" implementation with a real one
|
|
25
|
+
*
|
|
26
|
+
* This cannot be done via `require('typedoc')` or `import` due to the file being excluded
|
|
27
|
+
* from the export map in its `package.json`.
|
|
28
|
+
* @see https://github.com/TypeStrong/typedoc/issues/2151
|
|
29
|
+
*/
|
|
30
|
+
const monkeyPatchGlob = lodash_1.default.once((pkgRoot) => {
|
|
31
|
+
const tdFs = require(node_path_1.default.join(pkgRoot, 'node_modules', 'typedoc', 'dist', 'lib', 'utils', 'fs.js'));
|
|
32
|
+
tdFs.glob = glob_1.default.sync;
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Converts an object of string values to an array of arguments for CLI
|
|
36
|
+
*/
|
|
37
|
+
const argify = lodash_1.default.flow(lodash_1.default.entries, lodash_1.default.flatten, (list) => list.map((v, idx) => (idx % 2 === 0 ? `--${v}` : v)));
|
|
38
|
+
/**
|
|
39
|
+
* Executes TypeDoc _in the current process_
|
|
40
|
+
*
|
|
41
|
+
* Monkeypatches TypeDoc's homebrew "glob" implementation because it is broken
|
|
42
|
+
* @param pkgRoot - Package root path
|
|
43
|
+
* @param opts - TypeDoc options
|
|
44
|
+
*/
|
|
45
|
+
async function runTypedoc(pkgRoot, opts) {
|
|
46
|
+
monkeyPatchGlob(pkgRoot);
|
|
47
|
+
log.debug('Monkeypatched TypeDoc');
|
|
48
|
+
const args = argify(opts);
|
|
49
|
+
log.debug('TypeDoc args:', args);
|
|
50
|
+
const app = new typedoc_1.Application();
|
|
51
|
+
app.options.addReader(new typedoc_1.TypeDocReader());
|
|
52
|
+
app.options.addReader(new typedoc_1.ArgumentsReader(100, args));
|
|
53
|
+
app.bootstrap();
|
|
54
|
+
log.debug('Frozen options as computed by TypeDoc: %O', app.options.getRawValues());
|
|
55
|
+
const out = app.options.getValue('out');
|
|
56
|
+
const project = app.convert();
|
|
57
|
+
if (project) {
|
|
58
|
+
return await app.generateDocs(project, out);
|
|
59
|
+
}
|
|
60
|
+
throw new error_1.DocutilsError('TypeDoc found nothing to document. Is your package empty?');
|
|
61
|
+
}
|
|
62
|
+
exports.runTypedoc = runTypedoc;
|
|
63
|
+
/**
|
|
64
|
+
* Mapping of whatever our log level is to whatever TypeDoc's should be.
|
|
65
|
+
*
|
|
66
|
+
* TypeDoc's "info" is too verbose for our needs, and it's our default, so
|
|
67
|
+
* we map it to "warn".
|
|
68
|
+
*/
|
|
69
|
+
const TypeDocLogLevelMap = {
|
|
70
|
+
debug: 'Verbose',
|
|
71
|
+
info: 'Warn',
|
|
72
|
+
warn: 'Warn',
|
|
73
|
+
error: 'Error',
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Build reference documentation via TypeDoc
|
|
77
|
+
* @param opts - Options
|
|
78
|
+
*/
|
|
79
|
+
async function buildReference({ typedocJson: typeDocJsonPath, cwd = process.cwd(), tsconfigJson: tsconfig, logLevel = constants_1.DEFAULT_LOG_LEVEL, title, } = {}) {
|
|
80
|
+
const stop = (0, util_1.stopwatch)('buildReference');
|
|
81
|
+
typeDocJsonPath = typeDocJsonPath ?? (await (0, fs_1.findTypeDocJsonPath)(cwd));
|
|
82
|
+
if (!typeDocJsonPath) {
|
|
83
|
+
throw new error_1.DocutilsError(`Could not find ${constants_1.NAME_TYPEDOC_JSON} from ${cwd}; run "${constants_1.NAME_BIN}" to create it`);
|
|
84
|
+
}
|
|
85
|
+
const pkgRoot = support_1.fs.findRoot(cwd);
|
|
86
|
+
const relativePath = (0, util_1.relative)(cwd);
|
|
87
|
+
const relativeTypeDocJsonPath = relativePath(typeDocJsonPath);
|
|
88
|
+
log.debug(`Using ${relativeTypeDocJsonPath} as typedoc.json`);
|
|
89
|
+
let typeDocJson;
|
|
90
|
+
// we only need typedoc.json to make sure we have a custom "out" path.
|
|
91
|
+
try {
|
|
92
|
+
typeDocJson = (0, fs_1.readTypedocJson)(typeDocJsonPath);
|
|
93
|
+
log.debug('Contents of %s: %O', relativeTypeDocJsonPath, typeDocJson);
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
log.error(err);
|
|
97
|
+
throw new error_1.DocutilsError(`Could not read ${relativeTypeDocJsonPath}; run "${constants_1.NAME_BIN} init" to create it`);
|
|
98
|
+
}
|
|
99
|
+
// if for some reason "out" is not in typedoc.json, we want to use our default path.
|
|
100
|
+
// otherwise, typedoc's default behavior is to write to the "docs" dir, which is the same dir that
|
|
101
|
+
// we use (by default) as a source dir for the mkdocs site--which might contain files under vcs.
|
|
102
|
+
let out;
|
|
103
|
+
if (!typeDocJson.out) {
|
|
104
|
+
out = node_path_1.default.relative(node_path_1.default.dirname(typeDocJsonPath), node_path_1.default.join(pkgRoot, constants_1.DEFAULT_REL_TYPEDOC_OUT_PATH));
|
|
105
|
+
log.debug('Overriding "out" option with %s', out);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
out = typeDocJson.out;
|
|
109
|
+
log.debug(`Found "out" option in ${constants_1.NAME_TYPEDOC_JSON}: ${out}`);
|
|
110
|
+
}
|
|
111
|
+
const extraTypedocOpts = lodash_1.default.pickBy({ tsconfig, name: title, out, logLevel: TypeDocLogLevelMap[logLevel] }, Boolean);
|
|
112
|
+
log.debug('Extra typedoc opts: %O', extraTypedocOpts);
|
|
113
|
+
try {
|
|
114
|
+
await runTypedoc(pkgRoot, extraTypedocOpts);
|
|
115
|
+
log.success('Reference docs built at %s (%dms)', node_path_1.default.isAbsolute(out) ? relativePath(out) : out, stop());
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
log.error(err);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.buildReference = buildReference;
|
|
122
|
+
//# sourceMappingURL=typedoc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedoc.js","sourceRoot":"","sources":["../../lib/typedoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility types
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import type { Jsonify, JsonValue, TsConfigJson as TsConfigJsonBase } from 'type-fest';
|
|
6
|
+
import type { TypeDocOptions } from 'typedoc';
|
|
7
|
+
/**
|
|
8
|
+
* A `tsconfig.json` file w/ `$schema` prop
|
|
9
|
+
*/
|
|
10
|
+
export declare type TsConfigJson = Jsonify<TsConfigJsonBase & {
|
|
11
|
+
$schema?: string;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* A `typedoc.json` file w/ `$schema` and `extends` props
|
|
15
|
+
*/
|
|
16
|
+
export declare type TypeDocJson = Jsonify<Partial<TypeDocOptions> & {
|
|
17
|
+
$schema?: string;
|
|
18
|
+
extends?: string;
|
|
19
|
+
}>;
|
|
20
|
+
export declare type MkDocsYml = Jsonify<{
|
|
21
|
+
copyright?: string;
|
|
22
|
+
dev_addr?: string;
|
|
23
|
+
docs_dir?: string;
|
|
24
|
+
extra_css?: string[];
|
|
25
|
+
extra_javascript?: string[];
|
|
26
|
+
extra_templates?: string[];
|
|
27
|
+
extra?: Record<string, JsonValue>;
|
|
28
|
+
hooks?: string[];
|
|
29
|
+
INHERIT?: string;
|
|
30
|
+
markdown_extensions?: (string | Record<string, JsonValue>)[];
|
|
31
|
+
nav?: (string | Record<string, string>)[];
|
|
32
|
+
plugins?: (string | Record<string, JsonValue>)[];
|
|
33
|
+
repo_name?: string;
|
|
34
|
+
repo_url?: string;
|
|
35
|
+
site_dir?: string;
|
|
36
|
+
/**
|
|
37
|
+
* This is _actually_ required by mkdocs
|
|
38
|
+
*/
|
|
39
|
+
site_name?: string;
|
|
40
|
+
site_description?: string;
|
|
41
|
+
strict?: boolean;
|
|
42
|
+
theme?: MkDocsYmlTheme;
|
|
43
|
+
use_directory_urls?: boolean;
|
|
44
|
+
watch?: string[];
|
|
45
|
+
}>;
|
|
46
|
+
export declare type MkDocsYmlTheme = string | ({
|
|
47
|
+
name: string;
|
|
48
|
+
locale?: string;
|
|
49
|
+
custom_dir?: string;
|
|
50
|
+
static_templates?: string[];
|
|
51
|
+
} & Record<string, JsonValue>);
|
|
52
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,SAAS,EAAe,YAAY,IAAI,gBAAgB,EAAC,MAAM,WAAW,CAAC;AACjG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,oBAAY,YAAY,GAAG,OAAO,CAChC,gBAAgB,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CACF,CAAC;AAEF;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,CAC/B,OAAO,CAAC,cAAc,CAAC,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CACF,CAAC;AAEF,oBAAY,SAAS,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7D,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAAC;AAEH,oBAAY,cAAc,GACtB,MAAM,GACN,CAAC;IACC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import type { SubProcess } from 'teen_process';
|
|
7
|
+
/**
|
|
8
|
+
* Computes a relative path, prepending `./`
|
|
9
|
+
*/
|
|
10
|
+
export declare const relative: _.CurriedFunction2<string, string, string>;
|
|
11
|
+
/**
|
|
12
|
+
* A stopwatch-like thing
|
|
13
|
+
*
|
|
14
|
+
* Used for displaying elapsed time in milliseconds
|
|
15
|
+
* @param id - Unique identifier
|
|
16
|
+
* @returns Function that returns the elapsed time in milliseconds
|
|
17
|
+
*/
|
|
18
|
+
export declare function stopwatch(id: string): () => number;
|
|
19
|
+
export declare namespace stopwatch {
|
|
20
|
+
var cache: Map<string, number>;
|
|
21
|
+
}
|
|
22
|
+
export declare type TupleToObject<T extends readonly any[], M extends Record<Exclude<keyof T, keyof any[]>, PropertyKey>> = {
|
|
23
|
+
[K in Exclude<keyof T, keyof any[]> as M[K]]: T[K];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Type guard to narrow an array to a string array
|
|
27
|
+
* @param value any value
|
|
28
|
+
* @returns `true` if the array is `string[]`
|
|
29
|
+
*/
|
|
30
|
+
export declare const isStringArray: (value: any) => value is string[];
|
|
31
|
+
/**
|
|
32
|
+
* Converts an object of string values to an array of arguments for CLI
|
|
33
|
+
*
|
|
34
|
+
* Supports `boolean` and `number` values as well. `boolean`s are assumed to be flags which default
|
|
35
|
+
* to `false`, so they will only be added to the array if the value is `true`.
|
|
36
|
+
*/
|
|
37
|
+
export declare const argify: (obj: Record<string, string | number | boolean | undefined>) => string[];
|
|
38
|
+
/**
|
|
39
|
+
* Conversion of the parameters of {@linkcode Subprocess.start} to an object.
|
|
40
|
+
*/
|
|
41
|
+
export declare type TeenProcessSubprocessStartOpts = Partial<TupleToObject<Parameters<SubProcess['start']>, ['startDetector', 'detach', 'timeoutMs']>>;
|
|
42
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../lib/util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,QAAQ,4CAEpB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,gBAQnC;yBARe,SAAS;;;AAWzB,oBAAY,aAAa,CACvB,CAAC,SAAS,SAAS,GAAG,EAAE,EACxB,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,IAC1D;KAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,aAAa,UACjB,GAAG,sBACU,CAAC;AAEvB;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,KAAK,MAAM,EAcxF,CAAC;AAEJ;;GAEG;AACH,oBAAY,8BAA8B,GAAG,OAAO,CAClD,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CACzF,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utilities
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.argify = exports.isStringArray = exports.stopwatch = exports.relative = void 0;
|
|
11
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
13
|
+
/**
|
|
14
|
+
* Computes a relative path, prepending `./`
|
|
15
|
+
*/
|
|
16
|
+
exports.relative = lodash_1.default.curry((from, to) => `.${node_path_1.default.sep}${node_path_1.default.relative(from, to)}`);
|
|
17
|
+
/**
|
|
18
|
+
* A stopwatch-like thing
|
|
19
|
+
*
|
|
20
|
+
* Used for displaying elapsed time in milliseconds
|
|
21
|
+
* @param id - Unique identifier
|
|
22
|
+
* @returns Function that returns the elapsed time in milliseconds
|
|
23
|
+
*/
|
|
24
|
+
function stopwatch(id) {
|
|
25
|
+
const start = Date.now();
|
|
26
|
+
stopwatch.cache.set(id, start);
|
|
27
|
+
return () => {
|
|
28
|
+
const result = Date.now() - stopwatch.cache.get(id);
|
|
29
|
+
stopwatch.cache.delete(id);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.stopwatch = stopwatch;
|
|
34
|
+
stopwatch.cache = new Map();
|
|
35
|
+
/**
|
|
36
|
+
* Type guard to narrow an array to a string array
|
|
37
|
+
* @param value any value
|
|
38
|
+
* @returns `true` if the array is `string[]`
|
|
39
|
+
*/
|
|
40
|
+
exports.isStringArray = lodash_1.default.overEvery(lodash_1.default.isArray, lodash_1.default.partial(lodash_1.default.every, lodash_1.default, lodash_1.default.isString));
|
|
41
|
+
/**
|
|
42
|
+
* Converts an object of string values to an array of arguments for CLI
|
|
43
|
+
*
|
|
44
|
+
* Supports `boolean` and `number` values as well. `boolean`s are assumed to be flags which default
|
|
45
|
+
* to `false`, so they will only be added to the array if the value is `true`.
|
|
46
|
+
*/
|
|
47
|
+
exports.argify = lodash_1.default.flow(lodash_1.default.entries, lodash_1.default.flatten, (list) => list.map((value, idx) => {
|
|
48
|
+
if (value === true) {
|
|
49
|
+
return `--${value}`;
|
|
50
|
+
}
|
|
51
|
+
else if (value === false || value === undefined) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
return idx % 2 === 0 ? `--${value}` : value;
|
|
55
|
+
}), lodash_1.default.compact);
|
|
56
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../lib/util.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,oDAAuB;AACvB,0DAA6B;AAG7B;;GAEG;AACU,QAAA,QAAQ,GAAG,gBAAC,CAAC,KAAK,CAC7B,CAAC,IAAY,EAAE,EAAU,EAAU,EAAE,CAAC,IAAI,mBAAI,CAAC,GAAG,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC/E,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,EAAU;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,GAAG,EAAE;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QACrD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AARD,8BAQC;AACD,SAAS,CAAC,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAO5C;;;;GAIG;AACU,QAAA,aAAa,GAAG,gBAAC,CAAC,SAAS,CAAC,gBAAC,CAAC,OAAO,EAAE,gBAAC,CAAC,OAAO,CAAC,gBAAC,CAAC,KAAK,EAAE,gBAAC,EAAE,gBAAC,CAAC,QAAQ,CAAC,CAE/D,CAAC;AAEvB;;;;;GAKG;AACU,QAAA,MAAM,GACjB,gBAAC,CAAC,IAAI,CACJ,gBAAC,CAAC,OAAO,EACT,gBAAC,CAAC,OAAO,EACT,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACtB,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,KAAK,KAAK,EAAE,CAAC;KACrB;SAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;QACjD,OAAO;KACR;IACD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9C,CAAC,CAAC,EACJ,gBAAC,CAAC,OAAO,CACV,CAAC"}
|