@appium/docutils 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/bin/appium-docs.js +0 -1
  2. package/build/lib/builder/deploy.d.ts +2 -2
  3. package/build/lib/builder/deploy.d.ts.map +1 -1
  4. package/build/lib/builder/deploy.js.map +1 -1
  5. package/build/lib/builder/site.d.ts +2 -2
  6. package/build/lib/builder/site.d.ts.map +1 -1
  7. package/build/lib/builder/site.js.map +1 -1
  8. package/build/lib/cli/command/validate.d.ts.map +1 -1
  9. package/build/lib/cli/command/validate.js.map +1 -1
  10. package/build/lib/cli/config.d.ts.map +1 -1
  11. package/build/lib/cli/config.js.map +1 -1
  12. package/build/lib/cli/index.js +1 -2
  13. package/build/lib/cli/index.js.map +1 -1
  14. package/build/lib/fs.d.ts +3 -3
  15. package/build/lib/fs.d.ts.map +1 -1
  16. package/build/lib/fs.js +7 -7
  17. package/build/lib/fs.js.map +1 -1
  18. package/build/lib/init.d.ts +3 -4
  19. package/build/lib/init.d.ts.map +1 -1
  20. package/build/lib/init.js.map +1 -1
  21. package/build/lib/scaffold.d.ts +2 -2
  22. package/build/lib/scaffold.d.ts.map +1 -1
  23. package/build/lib/util.d.ts +1 -1
  24. package/build/lib/util.d.ts.map +1 -1
  25. package/build/lib/util.js.map +1 -1
  26. package/build/lib/validate.d.ts +1 -1
  27. package/build/lib/validate.d.ts.map +1 -1
  28. package/build/lib/validate.js +2 -3
  29. package/build/lib/validate.js.map +1 -1
  30. package/lib/builder/deploy.ts +4 -2
  31. package/lib/builder/site.ts +4 -2
  32. package/lib/cli/command/validate.ts +2 -1
  33. package/lib/cli/config.ts +4 -2
  34. package/lib/cli/index.ts +4 -4
  35. package/lib/fs.ts +11 -10
  36. package/lib/init.ts +4 -4
  37. package/lib/scaffold.ts +2 -2
  38. package/lib/util.ts +2 -1
  39. package/lib/validate.ts +5 -11
  40. package/package.json +12 -16
  41. package/requirements.txt +3 -3
  42. package/build/test/e2e/build.e2e.spec.d.ts +0 -6
  43. package/build/test/e2e/build.e2e.spec.d.ts.map +0 -1
  44. package/build/test/e2e/build.e2e.spec.js +0 -313
  45. package/build/test/e2e/build.e2e.spec.js.map +0 -1
  46. package/build/test/unit/util.spec.d.ts +0 -2
  47. package/build/test/unit/util.spec.d.ts.map +0 -1
  48. package/build/test/unit/util.spec.js +0 -79
  49. package/build/test/unit/util.spec.js.map +0 -1
  50. package/index.js +0 -1
package/lib/fs.ts CHANGED
@@ -6,9 +6,10 @@
6
6
  import {fs} from '@appium/support';
7
7
  import _ from 'lodash';
8
8
  import path from 'node:path';
9
- import _pkgDir from 'pkg-dir';
10
- import readPkg, {NormalizedPackageJson, PackageJson} from 'read-pkg';
11
- import {JsonValue} from 'type-fest';
9
+ import {packageDirectory} from 'package-directory';
10
+ import type {NormalizedPackageJson, PackageJson} from 'read-pkg';
11
+ import {readPackage} from 'read-pkg';
12
+ import type {JsonValue} from 'type-fest';
12
13
  import * as YAML from 'yaml';
13
14
  import {
14
15
  MESSAGE_PYTHON_MISSING,
@@ -20,7 +21,7 @@ import {
20
21
  } from './constants';
21
22
  import {DocutilsError} from './error';
22
23
  import {getLogger} from './logger';
23
- import {MkDocsYml} from './model';
24
+ import type {MkDocsYml} from './model';
24
25
  import {exec} from 'teen_process';
25
26
 
26
27
  const log = getLogger('fs');
@@ -30,7 +31,7 @@ const log = getLogger('fs');
30
31
  *
31
32
  * Caches result
32
33
  */
33
- const findPkgDir = _.memoize(_pkgDir);
34
+ const findPkgDir = _.memoize(packageDirectory, (opts) => opts?.cwd);
34
35
 
35
36
  /**
36
37
  * Stringifies a thing into a YAML
@@ -75,7 +76,7 @@ export async function findInPkgDir(
75
76
  filename: string,
76
77
  cwd = process.cwd(),
77
78
  ): Promise<string | undefined> {
78
- const pkgDir = await findPkgDir(cwd);
79
+ const pkgDir = await findPkgDir({cwd});
79
80
  if (!pkgDir) {
80
81
  return;
81
82
  }
@@ -109,7 +110,7 @@ async function _readPkgJson(
109
110
  cwd: string,
110
111
  normalize?: boolean,
111
112
  ): Promise<{pkgPath: string; pkg: PackageJson | NormalizedPackageJson}> {
112
- const pkgDir = await findPkgDir(cwd);
113
+ const pkgDir = await findPkgDir({cwd});
113
114
  if (!pkgDir) {
114
115
  throw new DocutilsError(
115
116
  `Could not find a ${NAME_PACKAGE_JSON} near ${cwd}; please create it before using this utility`,
@@ -118,10 +119,10 @@ async function _readPkgJson(
118
119
  const pkgPath = path.join(pkgDir, NAME_PACKAGE_JSON);
119
120
  log.debug('Found `package.json` at %s', pkgPath);
120
121
  if (normalize) {
121
- const pkg = await readPkg({cwd: pkgDir, normalize});
122
+ const pkg = await readPackage({cwd: pkgDir, normalize});
122
123
  return {pkg, pkgPath};
123
124
  } else {
124
- const pkg = await readPkg({cwd: pkgDir});
125
+ const pkg = await readPackage({cwd: pkgDir});
125
126
  return {pkg, pkgPath};
126
127
  }
127
128
  }
@@ -151,7 +152,7 @@ export function writeFileString(filepath: string, content: JsonValue) {
151
152
  });
152
153
  }
153
154
 
154
- type WhichFunction = (cmd: string, opts?: {nothrow: boolean}) => Promise<string|null>;
155
+ type WhichFunction = (cmd: string, opts?: {nothrow: boolean}) => Promise<string | null>;
155
156
 
156
157
  /**
157
158
  * `which` with memoization
package/lib/init.ts CHANGED
@@ -7,12 +7,12 @@
7
7
  import {NAME_MKDOCS_YML, PIP_ENV_VARS, REQUIREMENTS_TXT_PATH} from './constants';
8
8
  import * as YAML from 'yaml';
9
9
  import {exec} from 'teen_process';
10
- import {Simplify} from 'type-fest';
10
+ import type {Simplify} from 'type-fest';
11
11
  import {DocutilsError} from './error';
12
- import {createScaffoldTask, ScaffoldTaskOptions} from './scaffold';
13
- import type { ScaffoldTask } from './scaffold';
12
+ import {createScaffoldTask} from './scaffold';
13
+ import type {ScaffoldTask, ScaffoldTaskOptions} from './scaffold';
14
14
  import {getLogger} from './logger';
15
- import {MkDocsYml} from './model';
15
+ import type {MkDocsYml} from './model';
16
16
  import {requirePython, stringifyYaml} from './fs';
17
17
 
18
18
  /**
package/lib/scaffold.ts CHANGED
@@ -7,8 +7,8 @@ import {fs} from '@appium/support';
7
7
  import {getLogger} from './logger';
8
8
  import path from 'node:path';
9
9
  import {createPatch} from 'diff';
10
- import {NormalizedPackageJson} from 'read-pkg';
11
- import {JsonValue, JsonObject} from 'type-fest';
10
+ import type {NormalizedPackageJson} from 'read-pkg';
11
+ import type {JsonValue, JsonObject} from 'type-fest';
12
12
  import {DocutilsError} from './error';
13
13
  import {relative} from './util';
14
14
  import _ from 'lodash';
package/lib/util.ts CHANGED
@@ -4,7 +4,8 @@
4
4
  */
5
5
 
6
6
  import _ from 'lodash';
7
- import {SpawnOptions, spawn} from 'node:child_process';
7
+ import type {SpawnOptions} from 'node:child_process';
8
+ import {spawn} from 'node:child_process';
8
9
  import path from 'node:path';
9
10
 
10
11
  /**
package/lib/validate.ts CHANGED
@@ -5,7 +5,6 @@
5
5
  */
6
6
 
7
7
  import {fs, util} from '@appium/support';
8
- import chalk from 'chalk';
9
8
  import _ from 'lodash';
10
9
  import {EventEmitter} from 'node:events';
11
10
  import {exec} from 'teen_process';
@@ -21,14 +20,9 @@ import {
21
20
  REQUIREMENTS_TXT_PATH,
22
21
  } from './constants';
23
22
  import {DocutilsError} from './error';
24
- import {
25
- findMkDocsYml,
26
- isMkDocsInstalled,
27
- readMkDocsYml,
28
- findPython,
29
- } from './fs';
23
+ import {findMkDocsYml, isMkDocsInstalled, readMkDocsYml, findPython} from './fs';
30
24
  import {getLogger} from './logger';
31
- import {MkDocsYml, PipPackage} from './model';
25
+ import type {MkDocsYml, PipPackage} from './model';
32
26
 
33
27
  /**
34
28
  * Matches the Python version string from `python --version`
@@ -319,7 +313,7 @@ export class DocutilsValidator extends EventEmitter {
319
313
  ]));
320
314
  } catch {
321
315
  return this.fail(
322
- `Could not find ${NAME_PIP} installation for Python at ${pythonPath}. Is it installed?`
316
+ `Could not find ${NAME_PIP} installation for Python at ${pythonPath}. Is it installed?`,
323
317
  );
324
318
  }
325
319
 
@@ -352,7 +346,7 @@ export class DocutilsValidator extends EventEmitter {
352
346
  'package',
353
347
  missingPackages.length,
354
348
  )} could not be found:\n${missingPackages
355
- .map((p) => chalk`- {yellow ${p.name}} @ {yellow ${p.version}}`)
349
+ .map((p) => `- ${p.name} @ ${p.version}`)
356
350
  .join('\n')}`,
357
351
  );
358
352
  }
@@ -364,7 +358,7 @@ export class DocutilsValidator extends EventEmitter {
364
358
  )} are installed, but at the wrong version:\n${invalidVersionPackages
365
359
  .map(
366
360
  ([expected, actual]) =>
367
- chalk`- {yellow ${expected.name}} @ {yellow ${expected.version}} (found {red ${actual.version}})`,
361
+ `- ${expected.name} @ ${expected.version} (found ${actual.version})`,
368
362
  )
369
363
  .join('\n')}`,
370
364
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/docutils",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "description": "Documentation generation utilities for Appium and related projects",
5
5
  "keywords": [
6
6
  "automation",
@@ -23,6 +23,7 @@
23
23
  },
24
24
  "license": "Apache-2.0",
25
25
  "author": "https://github.com/appium",
26
+ "main": "./build/lib/index.js",
26
27
  "types": "./build/lib/index.d.ts",
27
28
  "directories": {
28
29
  "lib": "lib"
@@ -31,34 +32,29 @@
31
32
  "appium-docs": "./bin/appium-docs.js"
32
33
  },
33
34
  "files": [
34
- "index.js",
35
- "index.d.ts",
36
35
  "base-mkdocs.yml",
37
36
  "lib",
38
- "build",
37
+ "build/lib",
39
38
  "tsconfig.json",
40
- "!build/tsconfig.tsbuildinfo",
41
39
  "requirements.txt"
42
40
  ],
43
41
  "scripts": {
44
42
  "test": "npm run test:unit",
45
43
  "test:e2e": "mocha --exit --timeout 60s --slow 30s \"./test/e2e/**/*.e2e.spec.ts\"",
46
- "test:smoke": "node ./index.js",
44
+ "test:smoke": "node ./build/lib/index.js",
47
45
  "test:unit": "mocha \"./test/unit/**/*.spec.ts\"",
48
46
  "start": "node ./build/lib/cli/index.js"
49
47
  },
50
48
  "dependencies": {
51
- "@appium/support": "^7.0.4",
52
- "chalk": "4.1.2",
49
+ "@appium/support": "^7.0.6",
53
50
  "consola": "3.4.2",
54
- "diff": "8.0.2",
51
+ "diff": "8.0.3",
55
52
  "lilconfig": "3.1.3",
56
- "lodash": "4.17.21",
57
- "pkg-dir": "5.0.0",
58
- "read-pkg": "5.2.0",
59
- "source-map-support": "0.5.21",
60
- "teen_process": "3.0.4",
61
- "type-fest": "5.3.0",
53
+ "lodash": "4.17.23",
54
+ "package-directory": "8.2.0",
55
+ "read-pkg": "10.1.0",
56
+ "teen_process": "4.0.10",
57
+ "type-fest": "5.4.4",
62
58
  "yaml": "2.8.2",
63
59
  "yargs": "18.0.0",
64
60
  "yargs-parser": "22.0.0"
@@ -70,5 +66,5 @@
70
66
  "publishConfig": {
71
67
  "access": "public"
72
68
  },
73
- "gitHead": "9004554879687ddad51d3afdf8c711b027efbd99"
69
+ "gitHead": "980a121804ae006db879fb6860f627ac36174c15"
74
70
  }
package/requirements.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  mkdocs==1.6.1
2
- mkdocs-git-revision-date-localized-plugin==1.5.0
3
- mkdocs-material==9.7.0
2
+ mkdocs-git-revision-date-localized-plugin==1.5.1
3
+ mkdocs-material==9.7.4
4
4
  mkdocs-redirects==1.2.2
5
- mike==2.1.3
5
+ mike==2.1.4
@@ -1,6 +0,0 @@
1
- /**
2
- * E2E tests for the `appium-docs build` and `init` commands
3
- * @module
4
- */
5
- export {};
6
- //# sourceMappingURL=build.e2e.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.e2e.spec.d.ts","sourceRoot":"","sources":["../../../test/e2e/build.e2e.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,313 +0,0 @@
1
- "use strict";
2
- /**
3
- * E2E tests for the `appium-docs build` and `init` commands
4
- * @module
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- var __importDefault = (this && this.__importDefault) || function (mod) {
40
- return (mod && mod.__esModule) ? mod : { "default": mod };
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- const node_path_1 = __importDefault(require("node:path"));
44
- const chai = __importStar(require("chai"));
45
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
46
- const YAML = __importStar(require("yaml"));
47
- const yargs_1 = __importDefault(require("yargs/yargs"));
48
- const support_1 = require("@appium/support");
49
- const builder_1 = require("../../lib/builder");
50
- const init_1 = require("../../lib/init");
51
- const fs_1 = require("../../lib/fs");
52
- const constants_1 = require("../../lib/constants");
53
- const command_1 = require("../../lib/cli/command");
54
- chai.use(chai_as_promised_1.default);
55
- const { expect } = chai;
56
- /**
57
- * Helper function to create a project directory with package.json
58
- */
59
- async function createProjectDir(testDir, subdir, packageJson) {
60
- const projectDir = node_path_1.default.join(testDir, subdir);
61
- await support_1.fs.mkdirp(projectDir);
62
- await support_1.fs.writeFile(node_path_1.default.join(projectDir, constants_1.NAME_PACKAGE_JSON), JSON.stringify(packageJson, null, 2), 'utf8');
63
- return projectDir;
64
- }
65
- /**
66
- * Helper function to create a minimal mkdocs.yml file
67
- */
68
- async function createMkdocsYml(projectDir, mkdocsYml) {
69
- await support_1.fs.writeFile(node_path_1.default.join(projectDir, constants_1.NAME_MKDOCS_YML), (0, fs_1.stringifyYaml)(mkdocsYml), 'utf8');
70
- }
71
- /**
72
- * Helper function to create a docs directory with a markdown file
73
- */
74
- async function createDocsFile(projectDir, filename, content) {
75
- const docsDir = node_path_1.default.join(projectDir, 'docs');
76
- await support_1.fs.mkdirp(docsDir);
77
- await support_1.fs.writeFile(node_path_1.default.join(docsDir, filename), content, 'utf8');
78
- }
79
- /**
80
- * Helper function to ensure Python dependencies are installed
81
- */
82
- async function ensurePythonDeps(projectDir, context) {
83
- try {
84
- await (0, init_1.initPython)({ cwd: projectDir });
85
- }
86
- catch {
87
- context.skip();
88
- }
89
- }
90
- /**
91
- * Helper function to verify a site was built
92
- */
93
- async function verifySiteBuilt(siteDir, expectedContent) {
94
- const siteDirExists = await support_1.fs.exists(siteDir);
95
- expect(siteDirExists).to.be.true;
96
- const indexHtml = node_path_1.default.join(siteDir, 'index.html');
97
- const indexHtmlExists = await support_1.fs.exists(indexHtml);
98
- expect(indexHtmlExists).to.be.true;
99
- const indexHtmlContent = await support_1.fs.readFile(indexHtml, 'utf8');
100
- expect(indexHtmlContent).to.include(expectedContent);
101
- }
102
- /**
103
- * Helper function to read and parse mkdocs.yml
104
- */
105
- async function readMkdocsYml(projectDir) {
106
- const mkdocsYmlPath = node_path_1.default.join(projectDir, constants_1.NAME_MKDOCS_YML);
107
- const mkdocsYmlContent = await support_1.fs.readFile(mkdocsYmlPath, 'utf8');
108
- return YAML.parse(mkdocsYmlContent);
109
- }
110
- describe('@appium/docutils build e2e', function () {
111
- let testDir;
112
- before(async function () {
113
- // Create a temporary directory for the test
114
- testDir = await support_1.tempDir.openDir();
115
- });
116
- after(async function () {
117
- // Clean up the temporary directory
118
- if (testDir) {
119
- await support_1.fs.rimraf(testDir);
120
- }
121
- });
122
- describe('buildSite', function () {
123
- it('should build a site with mkdocs', async function () {
124
- const projectDir = await createProjectDir(testDir, 'test1', {
125
- name: 'test-docs',
126
- version: '1.0.0',
127
- description: 'Test documentation',
128
- });
129
- // Create a minimal mkdocs.yml
130
- // For testing, we use a simple config without INHERIT to avoid path resolution issues
131
- await createMkdocsYml(projectDir, {
132
- site_name: 'Test Docs',
133
- docs_dir: 'docs',
134
- site_dir: constants_1.DEFAULT_SITE_DIR,
135
- theme: {
136
- name: 'material',
137
- },
138
- plugins: ['search'],
139
- });
140
- await createDocsFile(projectDir, 'index.md', '# Test Documentation\n\nThis is a test page.\n');
141
- await ensurePythonDeps(projectDir, this);
142
- // Build the site
143
- await (0, builder_1.buildSite)({
144
- mkdocsYml: node_path_1.default.join(projectDir, constants_1.NAME_MKDOCS_YML),
145
- cwd: projectDir,
146
- });
147
- // Verify the site was built
148
- await verifySiteBuilt(node_path_1.default.join(projectDir, constants_1.DEFAULT_SITE_DIR), 'Test Documentation');
149
- });
150
- it('should build a site with custom site-dir', async function () {
151
- const customSiteDir = 'custom-site';
152
- const projectDir = await createProjectDir(testDir, 'test2', {
153
- name: 'test-docs-2',
154
- version: '1.0.0',
155
- description: 'Test documentation',
156
- });
157
- // Create a minimal mkdocs.yml
158
- // For testing, we use a simple config without INHERIT to avoid path resolution issues
159
- await createMkdocsYml(projectDir, {
160
- site_name: 'Test Docs 2',
161
- docs_dir: 'docs',
162
- site_dir: customSiteDir,
163
- theme: {
164
- name: 'material',
165
- },
166
- plugins: ['search'],
167
- });
168
- await createDocsFile(projectDir, 'index.md', '# Test Documentation 2\n\nThis is another test page.\n');
169
- await ensurePythonDeps(projectDir, this);
170
- // Build the site with custom site-dir
171
- const customSiteDirPath = node_path_1.default.join(projectDir, customSiteDir);
172
- await (0, builder_1.buildSite)({
173
- mkdocsYml: node_path_1.default.join(projectDir, constants_1.NAME_MKDOCS_YML),
174
- siteDir: customSiteDirPath,
175
- cwd: projectDir,
176
- });
177
- // Verify the site was built in the custom directory
178
- await verifySiteBuilt(customSiteDirPath, 'Test Documentation 2');
179
- });
180
- });
181
- describe('init', function () {
182
- it('should scaffold mkdocs.yml file', async function () {
183
- const projectDir = await createProjectDir(testDir, 'init-test', {
184
- name: 'test-package',
185
- version: '1.0.0',
186
- description: 'Test package description',
187
- repository: {
188
- type: 'git',
189
- url: 'https://github.com/testuser/test-package.git',
190
- },
191
- });
192
- // Run init command (skip Python installation for faster test)
193
- await (0, init_1.init)({
194
- cwd: projectDir,
195
- mkdocs: true,
196
- python: false,
197
- });
198
- // Verify mkdocs.yml was created
199
- const mkdocsYmlPath = node_path_1.default.join(projectDir, constants_1.NAME_MKDOCS_YML);
200
- expect(await support_1.fs.exists(mkdocsYmlPath)).to.be.true;
201
- // Read and verify the content of mkdocs.yml
202
- const mkdocsYml = await readMkdocsYml(projectDir);
203
- // Verify expected fields are present
204
- expect(mkdocsYml.INHERIT).to.equal('./node_modules/@appium/docutils/base-mkdocs.yml');
205
- expect(mkdocsYml.docs_dir).to.equal('docs');
206
- expect(mkdocsYml.site_dir).to.equal('site');
207
- expect(mkdocsYml.site_name).to.equal('test-package');
208
- expect(mkdocsYml.site_description).to.equal('Test package description');
209
- // Repository URL may be normalized with "git+" prefix by read-pkg
210
- expect(mkdocsYml.repo_url).to.include('github.com/testuser/test-package');
211
- expect(mkdocsYml.repo_name).to.equal('testuser/test-package');
212
- });
213
- it('should scaffold mkdocs.yml with custom options', async function () {
214
- const projectDir = await createProjectDir(testDir, 'init-custom-test', {
215
- name: 'custom-package',
216
- version: '2.0.0',
217
- description: 'Custom package',
218
- });
219
- // Run init command with custom options
220
- await (0, init_1.init)({
221
- cwd: projectDir,
222
- mkdocs: true,
223
- python: false,
224
- siteName: 'Custom Site Name',
225
- repoUrl: 'https://github.com/custom/repo',
226
- repoName: 'custom/repo',
227
- siteDescription: 'Custom description',
228
- });
229
- // Verify mkdocs.yml was created
230
- const mkdocsYmlPath = node_path_1.default.join(projectDir, constants_1.NAME_MKDOCS_YML);
231
- expect(await support_1.fs.exists(mkdocsYmlPath)).to.be.true;
232
- // Read and verify the content
233
- const mkdocsYml = await readMkdocsYml(projectDir);
234
- // Verify custom values are used
235
- expect(mkdocsYml.site_name).to.equal('Custom Site Name');
236
- // Note: siteDescription from options should override package.json description
237
- // If it doesn't work, it falls back to package description
238
- expect(mkdocsYml.site_description).to.be.oneOf(['Custom description', 'Custom package']);
239
- expect(mkdocsYml.repo_url).to.equal('https://github.com/custom/repo');
240
- expect(mkdocsYml.repo_name).to.equal('custom/repo');
241
- });
242
- });
243
- describe('CLI help', function () {
244
- it('should print help when --help is passed', async function () {
245
- let helpOutput = '';
246
- // Create yargs instance similar to CLI
247
- const y = (0, yargs_1.default)(['--help'])
248
- .scriptName(constants_1.NAME_BIN)
249
- .command(command_1.build)
250
- .command(command_1.init)
251
- .command(command_1.validate)
252
- .options({
253
- verbose: {
254
- type: 'boolean',
255
- describe: 'Alias for --log-level=debug',
256
- },
257
- 'log-level': {
258
- alias: 'L',
259
- choices: ['debug', 'info', 'warn', 'error', 'silent'],
260
- describe: 'Sets the log level',
261
- default: 'info',
262
- },
263
- config: {
264
- alias: 'c',
265
- type: 'string',
266
- describe: 'Path to config file',
267
- normalize: true,
268
- nargs: 1,
269
- requiresArg: true,
270
- defaultDescription: '(discovered automatically)',
271
- },
272
- 'no-config': {
273
- type: 'boolean',
274
- describe: 'Disable config file discovery',
275
- },
276
- })
277
- .demandCommand(1)
278
- .strict();
279
- // Try getHelp first (returns a string, no I/O needed)
280
- try {
281
- const helpText = await y.getHelp();
282
- helpOutput = helpText;
283
- }
284
- catch {
285
- // If getHelp doesn't work, use showHelp which writes to stderr by default
286
- // Capture stderr since showHelp() writes to stderr by default
287
- const originalStderrWrite = process.stderr.write.bind(process.stderr);
288
- const mockStderrWrite = (chunk) => {
289
- if (typeof chunk === 'string' || Buffer.isBuffer(chunk)) {
290
- helpOutput += chunk.toString();
291
- }
292
- return true;
293
- };
294
- process.stderr.write = mockStderrWrite;
295
- try {
296
- y.showHelp();
297
- }
298
- finally {
299
- process.stderr.write = originalStderrWrite;
300
- }
301
- }
302
- // Verify help output contains expected content
303
- expect(helpOutput).to.include(constants_1.NAME_BIN);
304
- expect(helpOutput).to.include('Commands:');
305
- expect(helpOutput).to.include('build');
306
- expect(helpOutput).to.include('init');
307
- expect(helpOutput).to.include('validate');
308
- expect(helpOutput).to.include('Options:');
309
- expect(helpOutput).to.include('--help');
310
- });
311
- });
312
- });
313
- //# sourceMappingURL=build.e2e.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.e2e.spec.js","sourceRoot":"","sources":["../../../test/e2e/build.e2e.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=util.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.spec.d.ts","sourceRoot":"","sources":["../../../test/unit/util.spec.ts"],"names":[],"mappings":""}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const util_1 = require("../../lib/util");
40
- const lodash_1 = __importDefault(require("lodash"));
41
- const chai = __importStar(require("chai"));
42
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
- chai.use(chai_as_promised_1.default);
44
- const { expect } = chai;
45
- describe('argify', function () {
46
- it('should create args from params', function () {
47
- // deploy example
48
- const version = '2.0';
49
- const mikeOpts = {
50
- 'config-file': '/path/to/yml',
51
- push: true,
52
- remote: 'origin',
53
- branch: 'gh-pages',
54
- 'deploy-prefix': '2.0',
55
- message: 'docs: a thing',
56
- port: 8100,
57
- host: 'localhost',
58
- };
59
- const mikeArgs = [
60
- ...(0, util_1.argify)(lodash_1.default.omitBy(mikeOpts, (value, key) => lodash_1.default.includes(['port', 'host'], key) || (!lodash_1.default.isNumber(value) && !value))),
61
- version,
62
- ];
63
- expect(mikeArgs).to.eql([
64
- '--config-file',
65
- '/path/to/yml',
66
- '--push',
67
- '--remote',
68
- 'origin',
69
- '--branch',
70
- 'gh-pages',
71
- '--deploy-prefix',
72
- '2.0',
73
- '--message',
74
- 'docs: a thing',
75
- '2.0',
76
- ]);
77
- });
78
- });
79
- //# sourceMappingURL=util.spec.js.map