@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.
Files changed (214) hide show
  1. package/README.md +2 -5
  2. package/build/lib/build/mkdocs.d.ts +58 -0
  3. package/build/lib/build/mkdocs.d.ts.map +1 -0
  4. package/build/lib/build/mkdocs.js +80 -0
  5. package/build/lib/build/mkdocs.js.map +1 -0
  6. package/build/lib/build/typedoc.d.ts +55 -0
  7. package/build/lib/build/typedoc.d.ts.map +1 -0
  8. package/build/lib/build/typedoc.js +120 -0
  9. package/build/lib/build/typedoc.js.map +1 -0
  10. package/build/lib/build-api.d.ts +18 -0
  11. package/build/lib/build-api.d.ts.map +1 -0
  12. package/build/lib/build-api.js +75 -0
  13. package/build/lib/build-api.js.map +1 -0
  14. package/build/lib/build.d.ts +21 -0
  15. package/build/lib/build.d.ts.map +1 -0
  16. package/build/lib/build.js +71 -0
  17. package/build/lib/build.js.map +1 -0
  18. package/build/lib/builder/deploy.d.ts +89 -0
  19. package/build/lib/builder/deploy.d.ts.map +1 -0
  20. package/build/lib/builder/deploy.js +105 -0
  21. package/build/lib/builder/deploy.js.map +1 -0
  22. package/build/lib/builder/index.d.ts +5 -0
  23. package/build/lib/builder/index.d.ts.map +1 -0
  24. package/build/lib/builder/index.js +21 -0
  25. package/build/lib/builder/index.js.map +1 -0
  26. package/build/lib/builder/nav.d.ts +81 -0
  27. package/build/lib/builder/nav.d.ts.map +1 -0
  28. package/build/lib/builder/nav.js +280 -0
  29. package/build/lib/builder/nav.js.map +1 -0
  30. package/build/lib/builder/reference.d.ts +57 -0
  31. package/build/lib/builder/reference.d.ts.map +1 -0
  32. package/build/lib/builder/reference.js +129 -0
  33. package/build/lib/builder/reference.js.map +1 -0
  34. package/build/lib/builder/site.d.ts +55 -0
  35. package/build/lib/builder/site.d.ts.map +1 -0
  36. package/build/lib/builder/site.js +81 -0
  37. package/build/lib/builder/site.js.map +1 -0
  38. package/build/lib/cli/command/build.d.ts +178 -0
  39. package/build/lib/cli/command/build.d.ts.map +1 -0
  40. package/build/lib/cli/command/build.js +223 -0
  41. package/build/lib/cli/command/build.js.map +1 -0
  42. package/build/lib/cli/command/deploy.d.ts +1 -0
  43. package/build/lib/cli/command/deploy.d.ts.map +1 -0
  44. package/build/lib/cli/command/deploy.js +2 -0
  45. package/build/lib/cli/command/deploy.js.map +1 -0
  46. package/build/lib/cli/command/index.d.ts +4 -0
  47. package/build/lib/cli/command/index.d.ts.map +1 -0
  48. package/build/lib/cli/command/index.js +13 -0
  49. package/build/lib/cli/command/index.js.map +1 -0
  50. package/build/lib/cli/command/init.d.ts +143 -0
  51. package/build/lib/cli/command/init.d.ts.map +1 -0
  52. package/build/lib/cli/command/init.js +164 -0
  53. package/build/lib/cli/command/init.js.map +1 -0
  54. package/build/lib/cli/command/validate.d.ts +76 -0
  55. package/build/lib/cli/command/validate.d.ts.map +1 -0
  56. package/build/lib/cli/command/validate.js +115 -0
  57. package/build/lib/cli/command/validate.js.map +1 -0
  58. package/build/lib/cli/command-init.d.ts +143 -0
  59. package/build/lib/cli/command-init.d.ts.map +1 -0
  60. package/build/lib/cli/command-init.js +164 -0
  61. package/build/lib/cli/command-init.js.map +1 -0
  62. package/build/lib/cli/command-validate.d.ts +52 -0
  63. package/build/lib/cli/command-validate.d.ts.map +1 -0
  64. package/build/lib/cli/command-validate.js +66 -0
  65. package/build/lib/cli/command-validate.js.map +1 -0
  66. package/build/lib/cli/config.d.ts +28 -0
  67. package/build/lib/cli/config.d.ts.map +1 -0
  68. package/build/lib/cli/config.js +114 -0
  69. package/build/lib/cli/config.js.map +1 -0
  70. package/build/lib/cli/index.d.ts +13 -0
  71. package/build/lib/cli/index.d.ts.map +1 -0
  72. package/build/lib/cli/index.js +91 -0
  73. package/build/lib/cli/index.js.map +1 -0
  74. package/build/lib/cli/init.d.ts +143 -0
  75. package/build/lib/cli/init.d.ts.map +1 -0
  76. package/build/lib/cli/init.js +164 -0
  77. package/build/lib/cli/init.js.map +1 -0
  78. package/build/lib/cli/options.d.ts +1 -0
  79. package/build/lib/cli/options.d.ts.map +1 -0
  80. package/build/lib/cli/options.js +2 -0
  81. package/build/lib/cli/options.js.map +1 -0
  82. package/build/lib/cli/validate.d.ts +1 -0
  83. package/build/lib/cli/validate.d.ts.map +1 -0
  84. package/build/lib/cli/validate.js +2 -0
  85. package/build/lib/cli/validate.js.map +1 -0
  86. package/build/lib/cli.d.ts +10 -0
  87. package/build/lib/cli.d.ts.map +1 -0
  88. package/build/lib/cli.js +328 -0
  89. package/build/lib/cli.js.map +1 -0
  90. package/build/lib/constants.d.ts +125 -0
  91. package/build/lib/constants.d.ts.map +1 -0
  92. package/build/lib/constants.js +133 -0
  93. package/build/lib/constants.js.map +1 -0
  94. package/build/lib/error.d.ts +3 -0
  95. package/build/lib/error.d.ts.map +1 -0
  96. package/build/lib/error.js +7 -0
  97. package/build/lib/error.js.map +1 -0
  98. package/build/lib/fs.d.ts +142 -0
  99. package/build/lib/fs.d.ts.map +1 -0
  100. package/build/lib/fs.js +237 -0
  101. package/build/lib/fs.js.map +1 -0
  102. package/build/lib/index.d.ts +5 -2
  103. package/build/lib/index.d.ts.map +1 -1
  104. package/build/lib/index.js +4 -1
  105. package/build/lib/index.js.map +1 -1
  106. package/build/lib/init-task.d.ts +49 -0
  107. package/build/lib/init-task.d.ts.map +1 -0
  108. package/build/lib/init-task.js +95 -0
  109. package/build/lib/init-task.js.map +1 -0
  110. package/build/lib/init.d.ts +202 -0
  111. package/build/lib/init.d.ts.map +1 -0
  112. package/build/lib/init.js +225 -0
  113. package/build/lib/init.js.map +1 -0
  114. package/build/lib/io.d.ts +1 -0
  115. package/build/lib/io.d.ts.map +1 -0
  116. package/build/lib/io.js +2 -0
  117. package/build/lib/io.js.map +1 -0
  118. package/build/lib/logger.d.ts +17 -2
  119. package/build/lib/logger.d.ts.map +1 -1
  120. package/build/lib/logger.js +187 -2
  121. package/build/lib/logger.js.map +1 -1
  122. package/build/lib/mike.d.ts +3 -0
  123. package/build/lib/mike.d.ts.map +1 -1
  124. package/build/lib/mike.js +4 -0
  125. package/build/lib/mike.js.map +1 -1
  126. package/build/lib/mkdocs.d.ts +51 -12
  127. package/build/lib/mkdocs.d.ts.map +1 -1
  128. package/build/lib/mkdocs.js +64 -32
  129. package/build/lib/mkdocs.js.map +1 -1
  130. package/build/lib/model.d.ts +80 -0
  131. package/build/lib/model.d.ts.map +1 -0
  132. package/build/lib/model.js +8 -0
  133. package/build/lib/model.js.map +1 -0
  134. package/build/lib/nav.d.ts +47 -0
  135. package/build/lib/nav.d.ts.map +1 -0
  136. package/build/lib/nav.js +132 -0
  137. package/build/lib/nav.js.map +1 -0
  138. package/build/lib/scaffold.d.ts +95 -0
  139. package/build/lib/scaffold.d.ts.map +1 -0
  140. package/build/lib/scaffold.js +103 -0
  141. package/build/lib/scaffold.js.map +1 -0
  142. package/build/lib/test.d.ts +9 -0
  143. package/build/lib/test.d.ts.map +1 -0
  144. package/build/lib/test.js +2 -0
  145. package/build/lib/test.js.map +1 -0
  146. package/build/lib/typedoc.d.ts +55 -0
  147. package/build/lib/typedoc.d.ts.map +1 -0
  148. package/build/lib/typedoc.js +122 -0
  149. package/build/lib/typedoc.js.map +1 -0
  150. package/build/lib/types.d.ts +52 -0
  151. package/build/lib/types.d.ts.map +1 -0
  152. package/build/lib/types.js +7 -0
  153. package/build/lib/types.js.map +1 -0
  154. package/build/lib/util.d.ts +42 -0
  155. package/build/lib/util.d.ts.map +1 -0
  156. package/build/lib/util.js +56 -0
  157. package/build/lib/util.js.map +1 -0
  158. package/build/lib/validate.d.ts +218 -0
  159. package/build/lib/validate.d.ts.map +1 -0
  160. package/build/lib/validate.js +501 -0
  161. package/build/lib/validate.js.map +1 -0
  162. package/build/lib/validation/base-validator.d.ts +218 -0
  163. package/build/lib/validation/base-validator.d.ts.map +1 -0
  164. package/build/lib/validation/base-validator.js +453 -0
  165. package/build/lib/validation/base-validator.js.map +1 -0
  166. package/build/lib/validation/mkdocs-validator.d.ts +5 -0
  167. package/build/lib/validation/mkdocs-validator.d.ts.map +1 -0
  168. package/build/lib/validation/mkdocs-validator.js +54 -0
  169. package/build/lib/validation/mkdocs-validator.js.map +1 -0
  170. package/build/lib/validation/python-validator.d.ts +1 -0
  171. package/build/lib/validation/python-validator.d.ts.map +1 -0
  172. package/build/lib/validation/python-validator.js +2 -0
  173. package/build/lib/validation/python-validator.js.map +1 -0
  174. package/build/lib/validation/python.d.ts +1 -0
  175. package/build/lib/validation/python.d.ts.map +1 -0
  176. package/build/lib/validation/python.js +2 -0
  177. package/build/lib/validation/python.js.map +1 -0
  178. package/build/lib/validation/validate.d.ts +221 -0
  179. package/build/lib/validation/validate.d.ts.map +1 -0
  180. package/build/lib/validation/validate.js +508 -0
  181. package/build/lib/validation/validate.js.map +1 -0
  182. package/build/lib/validation/validator.d.ts +220 -0
  183. package/build/lib/validation/validator.d.ts.map +1 -0
  184. package/build/lib/validation/validator.js +470 -0
  185. package/build/lib/validation/validator.js.map +1 -0
  186. package/lib/builder/deploy.ts +223 -0
  187. package/lib/builder/index.ts +4 -0
  188. package/lib/builder/nav.ts +399 -0
  189. package/lib/builder/reference.ts +191 -0
  190. package/lib/builder/site.ts +143 -0
  191. package/lib/cli/command/build.ts +229 -0
  192. package/lib/cli/command/index.ts +3 -0
  193. package/lib/cli/command/init.ts +166 -0
  194. package/lib/cli/command/validate.ts +122 -0
  195. package/lib/cli/config.ts +89 -0
  196. package/lib/cli/index.ts +88 -0
  197. package/lib/constants.ts +150 -0
  198. package/lib/error.ts +1 -0
  199. package/lib/fs.ts +274 -0
  200. package/lib/index.ts +5 -0
  201. package/lib/init.ts +319 -0
  202. package/lib/logger.ts +198 -0
  203. package/lib/mike.js +4 -0
  204. package/lib/model.ts +92 -0
  205. package/lib/scaffold.ts +225 -0
  206. package/lib/util.ts +76 -0
  207. package/lib/validate.ts +728 -0
  208. package/package.json +38 -6
  209. package/requirements.txt +4 -0
  210. package/tsconfig.json +2 -1
  211. package/build/tsconfig.tsbuildinfo +0 -1
  212. package/lib/index.js +0 -2
  213. package/lib/logger.js +0 -3
  214. package/lib/mkdocs.js +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";;AAAA,6CAAuC;AAEvC,kBAAe,gBAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @deprecated Use the `deploy` export from `@appium/docutils`
3
+ */
1
4
  export class Mike {
2
5
  constructor(opts: MikeOpts);
3
6
  /** @type {string} */ remote: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mike.d.ts","sourceRoot":"","sources":["../../lib/mike.js"],"names":[],"mappings":"AAOA;IAOE,kBAAsB,QAAQ,EAK7B;IAXD,qBAAqB,CAAC,QAAX,MAAM,CAAY;IAC7B,qBAAqB,CAAC,QAAX,MAAM,CAAY;IAC7B,sBAAsB,CAAC,QAAZ,MAAM,QAAa;IAC9B,qBAAqB,CAAC,YAAX,MAAM,CAAgB;IACjC,sBAAsB,CAAC,eAAZ,OAAO,CAA2B;IAS7C;;;;OAIG;IACH,4BAaC;IAED;;;;;;;;OAQG;IACH,qBALW,MAAM,WACN,MAAM,EAAE,GAEN,MAAM,EAAE,CAepB;IAED;;;;;;;;OAQG;IACH,cANW,MAAM,yEAIJ,QAAQ,OAAO,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAS9D;IAED;;;;OAIG;IACH,QAFa,MAAM,EAAE,CAQpB;IAED;;;;OAIG;IACH,kBAFW,MAAM,iBAIhB;IAED;;;;OAIG;IACH,iCAeC;CACF;;;;;;;;;;;;;;;;YAMa,MAAM;;;;gBACN,MAAM"}
1
+ {"version":3,"file":"mike.d.ts","sourceRoot":"","sources":["../../lib/mike.js"],"names":[],"mappings":"AAQA;;GAEG;AACH;IAOE,kBAAsB,QAAQ,EAK7B;IAXD,qBAAqB,CAAC,QAAX,MAAM,CAAY;IAC7B,qBAAqB,CAAC,QAAX,MAAM,CAAY;IAC7B,sBAAsB,CAAC,QAAZ,MAAM,QAAa;IAC9B,qBAAqB,CAAC,YAAX,MAAM,CAAgB;IACjC,sBAAsB,CAAC,eAAZ,OAAO,CAA2B;IAS7C;;;;OAIG;IACH,4BAaC;IAED;;;;;;;;OAQG;IACH,qBALW,MAAM,WACN,MAAM,EAAE,GAEN,MAAM,EAAE,CAepB;IAED;;;;;;;;OAQG;IACH,cANW,MAAM,yEAIJ,QAAQ,OAAO,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAS9D;IAED;;;;OAIG;IACH,QAFa,MAAM,EAAE,CAQpB;IAED;;;;OAIG;IACH,kBAFW,MAAM,iBAIhB;IAED;;;;OAIG;IACH,iCAeC;CACF;;;;;;;;;;;;;;;;YAMa,MAAM;;;;gBACN,MAAM"}
package/build/lib/mike.js CHANGED
@@ -5,10 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Mike = void 0;
7
7
  const teen_process_1 = require("teen_process");
8
+ // eslint-disable-next-line import/no-unresolved
8
9
  const logger_1 = __importDefault(require("./logger"));
9
10
  const DEFAULT_REMOTE = 'origin';
10
11
  const DEFAULT_BRANCH = 'gh-pages';
11
12
  const MIKE_VER_STRING = 'mike 1.';
13
+ /**
14
+ * @deprecated Use the `deploy` export from `@appium/docutils`
15
+ */
12
16
  class Mike {
13
17
  constructor(/** @type MikeOpts */ opts) {
14
18
  /** @type {boolean} */ this._mikeVerified = false;
@@ -1 +1 @@
1
- {"version":3,"file":"mike.js","sourceRoot":"","sources":["../../lib/mike.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mike.js","sourceRoot":"","sources":["../../lib/mike.js"],"names":[],"mappings":";;;;;;AAAA,+CAAkC;AAClC,gDAAgD;AAChD,sDAA2B;AAE3B,MAAM,cAAc,GAAG,QAAQ,CAAC;AAChC,MAAM,cAAc,GAAG,UAAU,CAAC;AAClC,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC;;GAEG;AACH,MAAa,IAAI;IAOf,YAAY,qBAAqB,CAAC,IAAI;QAFtC,sBAAsB,CAAC,kBAAa,GAAG,KAAK,CAAC;QAG3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO;SACR;QACD,IAAI;YACF,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/D;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;SAC5E;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO;QAC1B,OAAO;YACL,OAAO;YACP,GAAG,OAAO;YACV,eAAe;YACf,IAAI,CAAC,UAAU;YACf,UAAU;YACV,IAAI,CAAC,MAAM;YACX,UAAU;YACV,IAAI,CAAC,MAAM;YACX,UAAU;YACV,IAAI,CAAC,MAAM;SACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,EAAE,EAAE,MAAM,GAAG,IAAI;QAC9C,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;SACzB;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,gBAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAK;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,IAAI;QACf,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;SAC3C;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAvHD,oBAuHC;AAED;;;;;;GAMG;AAEH;;;;;;;GAOG"}
@@ -1,19 +1,58 @@
1
1
  /**
2
- * Run a version check on the system-installed mkdocs to make sure it is set up
2
+ * Functions for running `mkdocs`
3
+ *
4
+ * @module
3
5
  */
4
- export function verifyMkdocs(): Promise<void>;
6
+ import { SubProcess, TeenProcessExecOptions } from 'teen_process';
7
+ import { TupleToObject } from './util';
5
8
  /**
6
- * Run 'mkdocs build' on a project
7
- *
8
- * @param {string} configPath - path to mkdocs config yml
9
- * @param {string} outputDir - directory mkdocs should build into
10
- * @param {string?} theme - theme name
9
+ * Runs `mkdocs build` or `mkdocs serve`
10
+ * @param opts
11
11
  */
12
- export function mkdocsBuild(configPath: string, outputDir: string, theme?: string | null): Promise<void>;
12
+ export declare function buildMkDocs({ mkdocsYml: mkdocsYmlPath, siteDir, theme, cwd, serve, serveOpts, execOpts, }?: BuildMkDocsOpts): Promise<void>;
13
13
  /**
14
- * Run 'mkdocs serve' on a project
15
- *
16
- * @param {string} configPath - path to mkdocs config yml
14
+ * Options for {@linkcode buildMkDocs}.
15
+ */
16
+ export interface BuildMkDocsOpts {
17
+ /**
18
+ * Path to `mkdocs.yml`
19
+ */
20
+ mkdocsYml?: string;
21
+ /**
22
+ * Path to output directory
23
+ */
24
+ siteDir?: string;
25
+ /**
26
+ * MkDocs theme to use
27
+ * @defaultValue 'mkdocs'
28
+ */
29
+ theme?: string;
30
+ /**
31
+ * Current working directory
32
+ * @defaultValue `process.cwd()`
33
+ */
34
+ cwd?: string;
35
+ /**
36
+ * Path to `package.json`
37
+ *
38
+ * Used to find `mkdocs.yml` if unspecified.
39
+ */
40
+ packageJson?: string;
41
+ /**
42
+ * If `true`, run `mkdocs serve` instead of `mkdocs build`
43
+ */
44
+ serve?: boolean;
45
+ /**
46
+ * Extra options for {@linkcode teen_process.exec}
47
+ */
48
+ execOpts?: TeenProcessExecOptions;
49
+ /**
50
+ * Extra options for {@linkcode teen_process.Subprocess.start}
51
+ */
52
+ serveOpts?: TeenProcessSubprocessStartOpts;
53
+ }
54
+ /**
55
+ * Conversion of the parameters of {@linkcode Subprocess.start} to an object.
17
56
  */
18
- export function mkdocsServe(configPath: string): Promise<void>;
57
+ export declare type TeenProcessSubprocessStartOpts = Partial<TupleToObject<Parameters<SubProcess['start']>, ['startDetector', 'detach', 'timeoutMs']>>;
19
58
  //# sourceMappingURL=mkdocs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mkdocs.d.ts","sourceRoot":"","sources":["../../lib/mkdocs.js"],"names":[],"mappings":"AAIA;;GAEG;AACH,8CAYC;AAED;;;;;;GAMG;AACH,wCAJW,MAAM,aACN,MAAM,UACN,MAAM,wBAKhB;AAED;;;;GAIG;AACH,wCAFW,MAAM,iBAMhB"}
1
+ {"version":3,"file":"mkdocs.d.ts","sourceRoot":"","sources":["../../lib/mkdocs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAO,UAAU,EAAE,sBAAsB,EAAC,MAAM,cAAc,CAAC;AAItE,OAAO,EAAsB,aAAa,EAAC,MAAM,QAAQ,CAAC;AAyC1D;;;GAGG;AACH,wBAAsB,WAAW,CAAC,EAChC,SAAS,EAAE,aAAa,EACxB,OAAO,EACP,KAAmB,EACnB,GAAmB,EACnB,KAAa,EACb,SAAS,EACT,QAAQ,GACT,GAAE,eAAoB,iBA2BtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED;;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"}
@@ -1,45 +1,77 @@
1
1
  "use strict";
2
+ /**
3
+ * Functions for running `mkdocs`
4
+ *
5
+ * @module
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
2
10
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mkdocsServe = exports.mkdocsBuild = exports.verifyMkdocs = void 0;
11
+ exports.buildMkDocs = void 0;
4
12
  const teen_process_1 = require("teen_process");
5
- const MKDOCS_VER_STR = 'version 1.';
13
+ const constants_1 = require("./constants");
14
+ const fs_1 = require("./fs");
15
+ const logger_1 = __importDefault(require("./logger"));
16
+ const util_1 = require("./util");
17
+ const error_1 = require("./error");
18
+ const log = logger_1.default.withTag('mkdocs');
6
19
  /**
7
- * Run a version check on the system-installed mkdocs to make sure it is set up
20
+ * Runs `mkdocs serve`
21
+ * @param args Extra args to `mkdocs build`
22
+ * @param opts Extra options for `teen_process.Subprocess.start`
23
+ * @param mkDocsPath Path to `mkdocs` executable
8
24
  */
9
- async function verifyMkdocs() {
10
- try {
11
- const { stdout } = await (0, teen_process_1.exec)('mkdocs', ['-V']);
12
- if (!stdout.includes(MKDOCS_VER_STR)) {
13
- throw new Error('version mismatch');
14
- }
15
- }
16
- catch (err) {
17
- throw new Error(`Could not verify mkdocs 1.x is available. Make sure it's installed ` +
18
- `and on your path. Specific error: ${err}`);
19
- }
25
+ async function doServe(args = [], { startDetector, detach, timeoutMs } = {}, mkDocsPath) {
26
+ mkDocsPath = mkDocsPath ?? (await (0, fs_1.whichMkDocs)());
27
+ const finalArgs = ['serve', ...args];
28
+ log.debug('Launching %s with args: %O', mkDocsPath, finalArgs);
29
+ const proc = new teen_process_1.SubProcess(mkDocsPath, finalArgs);
30
+ return await proc.start(startDetector, detach, timeoutMs);
20
31
  }
21
- exports.verifyMkdocs = verifyMkdocs;
22
32
  /**
23
- * Run 'mkdocs build' on a project
24
- *
25
- * @param {string} configPath - path to mkdocs config yml
26
- * @param {string} outputDir - directory mkdocs should build into
27
- * @param {string?} theme - theme name
33
+ * Runs `mkdocs build`
34
+ * @param args Extra args to `mkdocs build`
35
+ * @param opts Extra options to `teen_process.exec`
36
+ * @param mkDocsPath Path to `mkdocs` executable
28
37
  */
29
- async function mkdocsBuild(configPath, outputDir, theme = 'mkdocs') {
30
- await verifyMkdocs();
31
- await (0, teen_process_1.exec)('mkdocs', ['build', '-f', configPath, '-t', theme, '-d', outputDir]);
38
+ async function doBuild(args = [], opts = {}, mkDocsPath) {
39
+ mkDocsPath = mkDocsPath ?? (await (0, fs_1.whichMkDocs)());
40
+ const finalArgs = ['build', ...args];
41
+ log.debug('Launching %s with args: %O', mkDocsPath, finalArgs);
42
+ return await (0, teen_process_1.exec)(mkDocsPath, finalArgs, opts);
32
43
  }
33
- exports.mkdocsBuild = mkdocsBuild;
34
44
  /**
35
- * Run 'mkdocs serve' on a project
36
- *
37
- * @param {string} configPath - path to mkdocs config yml
45
+ * Runs `mkdocs build` or `mkdocs serve`
46
+ * @param opts
38
47
  */
39
- async function mkdocsServe(configPath) {
40
- await verifyMkdocs();
41
- const proc = new teen_process_1.SubProcess('mkdocs', ['serve', '-f', configPath]);
42
- await proc.start();
48
+ async function buildMkDocs({ mkdocsYml: mkdocsYmlPath, siteDir, theme = constants_1.NAME_MKDOCS, cwd = process.cwd(), serve = false, serveOpts, execOpts, } = {}) {
49
+ const stop = (0, util_1.stopwatch)('build-mkdocs');
50
+ mkdocsYmlPath = mkdocsYmlPath ?? (await (0, fs_1.findMkDocsYml)(cwd));
51
+ if (!mkdocsYmlPath) {
52
+ throw new error_1.DocutilsError(`Could not find ${constants_1.NAME_MKDOCS_YML} from ${cwd}; run "${constants_1.NAME_BIN} init" to create it`);
53
+ }
54
+ const relativePath = (0, util_1.relative)(cwd);
55
+ const mkdocsArgs = ['-f', mkdocsYmlPath, '-t', theme];
56
+ if (siteDir) {
57
+ mkdocsArgs.push('-d', siteDir);
58
+ }
59
+ if (serve) {
60
+ // unsure about how SIGHUP is handled here
61
+ await doServe(mkdocsArgs, serveOpts);
62
+ }
63
+ else {
64
+ await doBuild(mkdocsArgs, execOpts);
65
+ let relSiteDir;
66
+ if (siteDir) {
67
+ relSiteDir = relativePath(siteDir);
68
+ }
69
+ else {
70
+ ({ site_dir: siteDir } = await (0, fs_1.readYaml)(mkdocsYmlPath));
71
+ relSiteDir = relativePath(siteDir);
72
+ }
73
+ log.success('MkDocs finished building into %s (%dms)', relSiteDir, stop());
74
+ }
43
75
  }
44
- exports.mkdocsServe = mkdocsServe;
76
+ exports.buildMkDocs = buildMkDocs;
45
77
  //# sourceMappingURL=mkdocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mkdocs.js","sourceRoot":"","sources":["../../lib/mkdocs.js"],"names":[],"mappings":";;;AAAA,+CAA8C;AAE9C,MAAM,cAAc,GAAG,YAAY,CAAC;AAEpC;;GAEG;AACI,KAAK,UAAU,YAAY;IAChC,IAAI;QACF,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,qCAAqC,GAAG,EAAE,CAC7C,CAAC;KACH;AACH,CAAC;AAZD,oCAYC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ;IACvE,MAAM,YAAY,EAAE,CAAC;IACrB,MAAM,IAAA,mBAAI,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAClF,CAAC;AAHD,kCAGC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,UAAU;IAC1C,MAAM,YAAY,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,yBAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAJD,kCAIC"}
1
+ {"version":3,"file":"mkdocs.js","sourceRoot":"","sources":["../../lib/mkdocs.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,+CAAsE;AACtE,2CAAmE;AACnE,6BAA0D;AAC1D,sDAA8B;AAC9B,iCAA0D;AAE1D,mCAAsC;AAEtC,MAAM,GAAG,GAAG,gBAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAErC;;;;;GAKG;AACH,KAAK,UAAU,OAAO,CACpB,OAAiB,EAAE,EACnB,EAAC,aAAa,EAAE,MAAM,EAAE,SAAS,KAAoC,EAAE,EACvE,UAAmB;IAEnB,UAAU,GAAG,UAAU,IAAI,CAAC,MAAM,IAAA,gBAAW,GAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,yBAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,OAAO,CACpB,OAAiB,EAAE,EACnB,OAA+B,EAAE,EACjC,UAAmB;IAEnB,UAAU,GAAG,UAAU,IAAI,CAAC,MAAM,IAAA,gBAAW,GAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/D,OAAO,MAAM,IAAA,mBAAI,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,WAAW,CAAC,EAChC,SAAS,EAAE,aAAa,EACxB,OAAO,EACP,KAAK,GAAG,uBAAW,EACnB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,KAAK,GAAG,KAAK,EACb,SAAS,EACT,QAAQ,MACW,EAAE;IACrB,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;IACvC,aAAa,GAAG,aAAa,IAAI,CAAC,MAAM,IAAA,kBAAa,EAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,qBAAa,CACrB,kBAAkB,2BAAe,SAAS,GAAG,UAAU,oBAAQ,qBAAqB,CACrF,CAAC;KACH;IACD,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE;QACX,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAChC;IACD,IAAI,KAAK,EAAE;QACT,0CAA0C;QAC1C,MAAM,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;KACtC;SAAM;QACL,MAAM,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC;QACf,IAAI,OAAO,EAAE;YACX,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;SACpC;aAAM;YACL,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAC,GAAG,MAAM,IAAA,aAAQ,EAAC,aAAa,CAAC,CAAC,CAAC;YACtD,UAAU,GAAG,YAAY,CAAC,OAAQ,CAAC,CAAC;SACrC;QACD,GAAG,CAAC,OAAO,CAAC,yCAAyC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;KAC5E;AACH,CAAC;AAnCD,kCAmCC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Various data models, mostly referring to config files
3
+ *
4
+ * @module
5
+ */
6
+ import type { Jsonify, JsonValue, TsConfigJson as TsConfigJsonBase } from 'type-fest';
7
+ import type { TypeDocOptions } from 'typedoc';
8
+ /**
9
+ * A `tsconfig.json` file w/ `$schema` prop
10
+ *
11
+ * Due to some `unknown` types in {@linkcode type-fest.TsConfigJson}, we cannot use that type
12
+ * directly and need to use `Jsonify`.
13
+ *
14
+ */
15
+ export declare type TsConfigJson = Jsonify<TsConfigJsonBase & {
16
+ $schema?: string;
17
+ }>;
18
+ /**
19
+ * A `typedoc.json` file w/ `$schema` and `extends` props
20
+ *
21
+ * TypeDoc doesn't recognize `$schema` and ignores it; its own config parser expands the value of
22
+ * `extends` before it reaches its `Options` class. This is why we cannot use `TypeDocOptions` directly.
23
+ */
24
+ export declare type TypeDocJson = Jsonify<Partial<TypeDocOptions> & {
25
+ $schema?: string;
26
+ extends?: string;
27
+ }>;
28
+ /**
29
+ * The `nav` prop of an `mkdocs.yml` file
30
+ * @see {@linkcode MkDocsYml}
31
+ */
32
+ export declare type MkDocsYmlNav = Array<string | Record<string, string> | Record<string, MkDocsYmlNav>>;
33
+ /**
34
+ * This was built by hand from the MkDocs documentation
35
+ * @see https://www.mkdocs.org/user-guide/configuration/
36
+ */
37
+ export declare type MkDocsYml = Jsonify<{
38
+ copyright?: string;
39
+ dev_addr?: string;
40
+ docs_dir?: string;
41
+ extra_css?: string[];
42
+ extra_javascript?: string[];
43
+ extra_templates?: string[];
44
+ extra?: Record<string, JsonValue>;
45
+ hooks?: string[];
46
+ INHERIT?: string;
47
+ markdown_extensions?: Array<string | Record<string, JsonValue>>;
48
+ nav?: MkDocsYmlNav;
49
+ plugins?: Array<string | Record<string, JsonValue>>;
50
+ repo_name?: string;
51
+ repo_url?: string;
52
+ site_dir?: string;
53
+ /**
54
+ * This is _actually_ required by mkdocs
55
+ */
56
+ site_name?: string;
57
+ site_description?: string;
58
+ strict?: boolean;
59
+ theme?: MkDocsYmlTheme;
60
+ use_directory_urls?: boolean;
61
+ watch?: string[];
62
+ }>;
63
+ /**
64
+ * The `theme` prop of an `mkdocs.yml`
65
+ * @see {@linkcode MkDocsYml}
66
+ */
67
+ export declare type MkDocsYmlTheme = string | ({
68
+ name: string;
69
+ locale?: string;
70
+ custom_dir?: string;
71
+ static_templates?: string[];
72
+ } & Record<string, JsonValue>);
73
+ /**
74
+ * The data parsed from a `requirements.txt` file, or the output of `pip list --json`
75
+ */
76
+ export interface PipPackage {
77
+ name: string;
78
+ version: string;
79
+ }
80
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../lib/model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,SAAS,EAAE,YAAY,IAAI,gBAAgB,EAAC,MAAM,WAAW,CAAC;AACpF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAE5C;;;;;;GAMG;AACH,oBAAY,YAAY,GAAG,OAAO,CAChC,gBAAgB,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CACF,CAAC;AAEF;;;;;GAKG;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;;;GAGG;AACH,oBAAY,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AAEjG;;;GAGG;AACH,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,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,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;;;GAGG;AACH,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;AAEnC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Various data models, mostly referring to config files
4
+ *
5
+ * @module
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../lib/model.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Handles updating/adding the `nav` property of `mkdocs.yml`, based on the output of `typedoc`;
3
+ * specifically, the command documentation generated by `@appium/typedoc-plugin-appium`.
4
+ *
5
+ * @module
6
+ */
7
+ /**
8
+ * Update the `nav` property of `mkdocs.yml` with a list of "command" files generated by TypeDoc via `@appium/typedoc-plugin-appium`
9
+ * @param opts - Options
10
+ * @todo implement `dryRun` option
11
+ */
12
+ export declare function updateNav<S extends string>({ cwd, mkdocsYml: mkDocsYmlPath, referenceHeader, noReferenceHeader, typedocJson: typeDocJsonPath, dryRun, }?: UpdateNavOpts<S>): Promise<void>;
13
+ /**
14
+ * Options for {@linkcode updateNav}
15
+ */
16
+ export interface UpdateNavOpts<S extends string> {
17
+ /**
18
+ * Current working directory
19
+ */
20
+ cwd?: string;
21
+ /**
22
+ * Path to `mkdocs.yml`
23
+ */
24
+ mkdocsYml?: string;
25
+ /**
26
+ * Path to `package.json`
27
+ */
28
+ packageJson?: string;
29
+ /**
30
+ * The name of the header in `nav` to use for reference docs.
31
+ */
32
+ referenceHeader?: S;
33
+ /**
34
+ * If `true`, do not add a reference header to `nav` if one does not exist
35
+ */
36
+ noReferenceHeader?: boolean;
37
+ /**
38
+ * Path to `typedoc.json`
39
+ */
40
+ typedocJson?: string;
41
+ /**
42
+ * If `true`, do not write any files
43
+ * @remarks Not yet implemented
44
+ */
45
+ dryRun?: boolean;
46
+ }
47
+ //# sourceMappingURL=nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../lib/nav.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4BH;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,EAChD,GAAmB,EACnB,SAAS,EAAE,aAAa,EACxB,eAA6C,EAC7C,iBAAyB,EACzB,WAAW,EAAE,eAAe,EAC5B,MAAc,GACf,GAAE,aAAa,CAAC,CAAC,CAAM,iBA2HvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM;IAC7C;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC;IACpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ /**
3
+ * Handles updating/adding the `nav` property of `mkdocs.yml`, based on the output of `typedoc`;
4
+ * specifically, the command documentation generated by `@appium/typedoc-plugin-appium`.
5
+ *
6
+ * @module
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.updateNav = void 0;
13
+ const support_1 = require("@appium/support");
14
+ const lodash_1 = __importDefault(require("lodash"));
15
+ const node_path_1 = __importDefault(require("node:path"));
16
+ const constants_1 = require("./constants");
17
+ const error_1 = require("./error");
18
+ const fs_1 = require("./fs");
19
+ const logger_1 = __importDefault(require("./logger"));
20
+ const util_1 = require("./util");
21
+ const DEFAULT_REFERENCE_HEADER = 'Reference';
22
+ const log = logger_1.default.withTag('mkdocs-nav');
23
+ /**
24
+ * Update the `nav` property of `mkdocs.yml` with a list of "command" files generated by TypeDoc via `@appium/typedoc-plugin-appium`
25
+ * @param opts - Options
26
+ * @todo implement `dryRun` option
27
+ */
28
+ async function updateNav({ cwd = process.cwd(), mkdocsYml: mkDocsYmlPath, referenceHeader = DEFAULT_REFERENCE_HEADER, noReferenceHeader = false, typedocJson: typeDocJsonPath, dryRun = false, } = {}) {
29
+ [mkDocsYmlPath, typeDocJsonPath] = await Promise.all([
30
+ mkDocsYmlPath ?? (0, fs_1.findMkDocsYml)(cwd),
31
+ typeDocJsonPath ?? (0, fs_1.findTypeDocJsonPath)(cwd),
32
+ ]);
33
+ if (!mkDocsYmlPath) {
34
+ throw new error_1.DocutilsError(`Could not find ${constants_1.NAME_MKDOCS_YML} from ${cwd}; run "${constants_1.NAME_BIN} init" to create it`);
35
+ }
36
+ if (!typeDocJsonPath) {
37
+ throw new error_1.DocutilsError(`Could not find ${constants_1.NAME_TYPEDOC_JSON} from ${cwd}; run "${constants_1.NAME_BIN} init" to create it`);
38
+ }
39
+ const relativePath = (0, util_1.relative)(cwd);
40
+ const relMkDocsYmlPath = relativePath(mkDocsYmlPath);
41
+ const typeDocJson = (0, fs_1.readTypedocJson)(typeDocJsonPath);
42
+ const mkDocsYml = (await (0, fs_1.readYaml)(mkDocsYmlPath));
43
+ const findRefDictIndex = lodash_1.default.partial(lodash_1.default.findIndex, lodash_1.default, lodash_1.default.overEvery([lodash_1.default.isObject, lodash_1.default.partial(lodash_1.default.has, lodash_1.default, referenceHeader)]));
44
+ /**
45
+ * Absolute path to `typedoc.json`
46
+ */
47
+ const absTypeDocJsonPath = node_path_1.default.isAbsolute(typeDocJsonPath)
48
+ ? typeDocJsonPath
49
+ : node_path_1.default.resolve(cwd, typeDocJsonPath);
50
+ /**
51
+ * Absolute path to TypeDoc's output directory (`out`)
52
+ */
53
+ const typeDocOutDir = node_path_1.default.resolve(node_path_1.default.dirname(absTypeDocJsonPath), typeDocJson.out ? typeDocJson.out : constants_1.DEFAULT_REL_TYPEDOC_OUT_PATH);
54
+ /**
55
+ * Absolute path to `mkdocs.yml`
56
+ */
57
+ const absMkdocsYmlPath = node_path_1.default.isAbsolute(mkDocsYmlPath)
58
+ ? mkDocsYmlPath
59
+ : node_path_1.default.resolve(cwd, mkDocsYmlPath);
60
+ const { docs_dir: docsDir, nav = [] } = mkDocsYml;
61
+ /**
62
+ * Absolute path to the directory containing MkDocs input docs
63
+ */
64
+ const mkDocsDocsDir = node_path_1.default.resolve(node_path_1.default.dirname(absMkdocsYmlPath), docsDir ?? 'docs');
65
+ /**
66
+ * The dir we need to prepend to all entries within `nav`
67
+ */
68
+ const relReferenceDir = node_path_1.default.relative(mkDocsDocsDir, typeDocOutDir);
69
+ const partitionRefArray = lodash_1.default.partialRight(lodash_1.default.partition, lodash_1.default.partialRight(lodash_1.default.startsWith, `${relReferenceDir}/`));
70
+ const newRefFilepaths = [];
71
+ // TODO: this doesn't respect the 'commandsDir' option for typedoc-plugin-appium. in fact,
72
+ // typeDocJson does not even include it, because it's unknown. I suppose that will mean we need
73
+ // to load plugins, but that means bootstrapping TypeDoc entirely just to read a `typedoc.json`
74
+ // file, which is slow.
75
+ const commandDir = node_path_1.default.join(typeDocOutDir, 'commands');
76
+ const relCommandDir = node_path_1.default.relative(mkDocsDocsDir, commandDir);
77
+ const commandDocFileEnts = await support_1.fs.readdir(commandDir, { withFileTypes: true });
78
+ if (!commandDocFileEnts.length) {
79
+ log.warn('No reference API docs were found in %s; skipping navigation update', commandDir);
80
+ return;
81
+ }
82
+ for (const ent of commandDocFileEnts) {
83
+ if (ent.isFile() && ent.name.endsWith('.md')) {
84
+ newRefFilepaths.push(node_path_1.default.join(relCommandDir, ent.name));
85
+ }
86
+ }
87
+ log.debug('New reference filepaths: %O', newRefFilepaths);
88
+ const navUsesHeaders = noReferenceHeader || !(0, util_1.isStringArray)(nav);
89
+ let shouldWriteMkDocsYml = false;
90
+ let refFilepaths;
91
+ let nonRefFilepaths;
92
+ const refDictIdx = findRefDictIndex(nav);
93
+ if (refDictIdx >= 0) {
94
+ const refDict = nav[refDictIdx];
95
+ const refArray = refDict[referenceHeader];
96
+ [refFilepaths, nonRefFilepaths] = partitionRefArray(refArray);
97
+ }
98
+ else {
99
+ [refFilepaths, nonRefFilepaths] = partitionRefArray(nav);
100
+ }
101
+ const symmetricDiff = lodash_1.default.xor(newRefFilepaths, refFilepaths);
102
+ if (symmetricDiff.length) {
103
+ log.debug('Difference in old nav vs new: %O', symmetricDiff);
104
+ shouldWriteMkDocsYml = true;
105
+ if (navUsesHeaders) {
106
+ if (refDictIdx >= 0) {
107
+ const res = [...nonRefFilepaths, ...newRefFilepaths];
108
+ mkDocsYml.nav[refDictIdx][referenceHeader] = res;
109
+ log.debug('Replaced "%s" section with %O', referenceHeader, res);
110
+ }
111
+ else {
112
+ mkDocsYml.nav = [...nonRefFilepaths, { [referenceHeader]: newRefFilepaths }];
113
+ log.debug('Added "%s" section with %O', referenceHeader, newRefFilepaths);
114
+ }
115
+ }
116
+ else {
117
+ mkDocsYml.nav = [...nonRefFilepaths, ...newRefFilepaths];
118
+ log.debug('Replaced nav with %O', mkDocsYml.nav);
119
+ }
120
+ }
121
+ if (shouldWriteMkDocsYml) {
122
+ const yaml = (0, fs_1.stringifyYaml)(mkDocsYml);
123
+ log.debug(yaml);
124
+ await (0, fs_1.safeWriteFile)(mkDocsYmlPath, yaml, true);
125
+ log.success('Updated navigation for reference documents in %s', relMkDocsYmlPath);
126
+ }
127
+ else {
128
+ log.info('No changes to navigation for reference documents in %s', relMkDocsYmlPath);
129
+ }
130
+ }
131
+ exports.updateNav = updateNav;
132
+ //# sourceMappingURL=nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav.js","sourceRoot":"","sources":["../../lib/nav.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Implementation of a generic "create and/or update some file" task
3
+ * @module
4
+ */
5
+ import { NormalizedPackageJson } from 'read-pkg';
6
+ import { JsonValue, JsonObject } from 'type-fest';
7
+ /**
8
+ * Options for a task which are not the {@link ScaffoldTaskOptions base options}
9
+ */
10
+ export declare type TaskSpecificOpts<Opts extends ScaffoldTaskOptions> = Omit<Opts, keyof ScaffoldTaskOptions>;
11
+ /**
12
+ * A function which performs some scaffolding task.
13
+ *
14
+ * @see {@linkcode createScaffoldTask}
15
+ */
16
+ export declare type ScaffoldTask<Opts extends ScaffoldTaskOptions, T extends JsonObject> = (opts: Opts) => Promise<ScaffoldTaskResult<T>>;
17
+ /**
18
+ * Factory for a {@linkcode ScaffoldTask}.
19
+ *
20
+ * @param defaultFilename Default file to create
21
+ * @param defaultContent Default content to use
22
+ * @param description Description of task
23
+ * @param opts Options
24
+ * @returns A scaffold task
25
+ */
26
+ export declare function createScaffoldTask<Opts extends ScaffoldTaskOptions, T extends JsonObject>(defaultFilename: string, defaultContent: T, description: string, { transform, deserialize, serialize, }?: CreateScaffoldTaskOptions<Opts, T>): ScaffoldTask<Opts, T>;
27
+ /**
28
+ * Optional function which can be used to post-process the content of a file. Usually used to merge
29
+ * various options with existing content
30
+ */
31
+ export declare type ScaffoldTaskTransformer<Opts extends ScaffoldTaskOptions, T extends JsonValue> = (content: Readonly<T>, opts: TaskSpecificOpts<Opts>, pkg: NormalizedPackageJson) => T;
32
+ /**
33
+ * A function which deserializes a string into a JS value.
34
+ */
35
+ export declare type ScaffoldTaskDeserializer<T> = (content: string) => T;
36
+ /**
37
+ * A function which serializes a JS value into a string.
38
+ */
39
+ export declare type ScaffoldTaskSerializer<T> = (content: T) => string;
40
+ /**
41
+ * Options for {@linkcode createScaffoldTask}
42
+ */
43
+ export interface CreateScaffoldTaskOptions<Opts extends ScaffoldTaskOptions, T extends JsonValue> {
44
+ /**
45
+ * Transformer function
46
+ */
47
+ transform?: ScaffoldTaskTransformer<Opts, T>;
48
+ /**
49
+ * Deserializer function
50
+ */
51
+ deserialize?: ScaffoldTaskDeserializer<T>;
52
+ /**
53
+ * Serializer function
54
+ */
55
+ serialize?: ScaffoldTaskSerializer<T>;
56
+ }
57
+ /**
58
+ * Base options for all scaffold tasks
59
+ */
60
+ export interface ScaffoldTaskOptions {
61
+ /**
62
+ * Current working directory
63
+ */
64
+ cwd?: string;
65
+ /**
66
+ * Destination file
67
+ */
68
+ dest?: string;
69
+ /**
70
+ * If `true` will not write files
71
+ */
72
+ dryRun?: boolean;
73
+ /**
74
+ * If `true` will overwrite fields in `typedoc.json`
75
+ */
76
+ overwrite?: boolean;
77
+ /**
78
+ * Path to `package.json`
79
+ */
80
+ packageJson?: string;
81
+ }
82
+ /**
83
+ * The return value of a {@linkcode ScaffoldTask}
84
+ */
85
+ export interface ScaffoldTaskResult<T> {
86
+ /**
87
+ * The content of whatever it wrote or would write
88
+ */
89
+ content: T;
90
+ /**
91
+ * The filepath of whatever it wrote or would write
92
+ */
93
+ path: string;
94
+ }
95
+ //# sourceMappingURL=scaffold.d.ts.map