@breadstone-infrastructure/nx-tasks 0.0.231 → 0.0.232

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 (141) hide show
  1. package/executors/doppler-config-sync/executor.task.d.ts.map +1 -1
  2. package/executors/doppler-config-sync/executor.task.js +37 -18
  3. package/executors/doppler-config-sync/executor.task.js.map +1 -1
  4. package/executors/doppler-vercel-sync/executor.d.ts +11 -0
  5. package/executors/doppler-vercel-sync/executor.d.ts.map +1 -0
  6. package/executors/doppler-vercel-sync/executor.js +71 -0
  7. package/executors/doppler-vercel-sync/executor.js.map +1 -0
  8. package/executors/doppler-vercel-sync/executor.options.d.ts +8 -0
  9. package/executors/doppler-vercel-sync/executor.options.d.ts.map +1 -0
  10. package/executors/doppler-vercel-sync/executor.options.js +4 -0
  11. package/executors/doppler-vercel-sync/executor.options.js.map +1 -0
  12. package/executors/doppler-vercel-sync/executor.task.d.ts +30 -0
  13. package/executors/doppler-vercel-sync/executor.task.d.ts.map +1 -0
  14. package/executors/doppler-vercel-sync/executor.task.js +522 -0
  15. package/executors/doppler-vercel-sync/executor.task.js.map +1 -0
  16. package/executors/doppler-vercel-sync/schema.json +95 -0
  17. package/executors/generate-package-docs/executor.d.ts +6 -0
  18. package/executors/generate-package-docs/executor.d.ts.map +1 -0
  19. package/executors/generate-package-docs/executor.js +72 -0
  20. package/executors/generate-package-docs/executor.js.map +1 -0
  21. package/executors/generate-package-docs/executor.options.d.ts +6 -0
  22. package/executors/generate-package-docs/executor.options.d.ts.map +1 -0
  23. package/executors/generate-package-docs/executor.options.js +4 -0
  24. package/executors/generate-package-docs/executor.options.js.map +1 -0
  25. package/executors/generate-package-docs/executor.task.d.ts +103 -0
  26. package/executors/generate-package-docs/executor.task.d.ts.map +1 -0
  27. package/executors/generate-package-docs/executor.task.js +259 -0
  28. package/executors/generate-package-docs/executor.task.js.map +1 -0
  29. package/executors/generate-package-docs/schema.json +258 -0
  30. package/executors/icon-collection-builder/executor.d.ts.map +1 -1
  31. package/executors/icon-collection-builder/executor.js +3 -2
  32. package/executors/icon-collection-builder/executor.js.map +1 -1
  33. package/executors/icon-collection-builder/executor.task.d.ts +1 -0
  34. package/executors/icon-collection-builder/executor.task.d.ts.map +1 -1
  35. package/executors/icon-collection-builder/executor.task.js +73 -11
  36. package/executors/icon-collection-builder/executor.task.js.map +1 -1
  37. package/executors/icon-collection-builder/svg.d.ts +19 -0
  38. package/executors/icon-collection-builder/svg.d.ts.map +1 -1
  39. package/executors/icon-collection-builder/svg.js +106 -0
  40. package/executors/icon-collection-builder/svg.js.map +1 -1
  41. package/executors/icon-collection-downloader/executor.d.ts.map +1 -1
  42. package/executors/icon-collection-downloader/executor.js +3 -2
  43. package/executors/icon-collection-downloader/executor.js.map +1 -1
  44. package/executors/icon-collection-downloader/executor.task.d.ts +2 -0
  45. package/executors/icon-collection-downloader/executor.task.d.ts.map +1 -1
  46. package/executors/icon-collection-downloader/executor.task.js +130 -15
  47. package/executors/icon-collection-downloader/executor.task.js.map +1 -1
  48. package/executors/lit-docs/ComponentDocFixer.d.ts +176 -0
  49. package/executors/lit-docs/ComponentDocFixer.d.ts.map +1 -0
  50. package/executors/lit-docs/ComponentDocFixer.js +424 -0
  51. package/executors/lit-docs/ComponentDocFixer.js.map +1 -0
  52. package/executors/lit-docs/JSDocFixer.d.ts +97 -0
  53. package/executors/lit-docs/JSDocFixer.d.ts.map +1 -0
  54. package/executors/lit-docs/JSDocFixer.js +200 -0
  55. package/executors/lit-docs/JSDocFixer.js.map +1 -0
  56. package/executors/lit-docs/executor.d.ts.map +1 -1
  57. package/executors/lit-docs/executor.js +2 -1
  58. package/executors/lit-docs/executor.js.map +1 -1
  59. package/executors/lit-docs/executor.task.d.ts +1 -0
  60. package/executors/lit-docs/executor.task.d.ts.map +1 -1
  61. package/executors/lit-docs/executor.task.js +71 -24
  62. package/executors/lit-docs/executor.task.js.map +1 -1
  63. package/executors/lit-style-transform/executor.js +1 -1
  64. package/executors/lit-style-transform/executor.js.map +1 -1
  65. package/executors/prisma-seeds/executor.options.d.ts +1 -1
  66. package/executors/prisma-seeds/executor.task.d.ts +1 -1
  67. package/executors/secrets-config-sync/executor.d.ts +11 -0
  68. package/executors/secrets-config-sync/executor.d.ts.map +1 -0
  69. package/executors/secrets-config-sync/executor.js +64 -0
  70. package/executors/secrets-config-sync/executor.js.map +1 -0
  71. package/executors/secrets-config-sync/executor.options.d.ts +6 -0
  72. package/executors/secrets-config-sync/executor.options.d.ts.map +1 -0
  73. package/executors/secrets-config-sync/executor.options.js +4 -0
  74. package/executors/secrets-config-sync/executor.options.js.map +1 -0
  75. package/executors/secrets-config-sync/executor.task.d.ts +14 -0
  76. package/executors/secrets-config-sync/executor.task.d.ts.map +1 -0
  77. package/executors/secrets-config-sync/executor.task.js +157 -0
  78. package/executors/secrets-config-sync/executor.task.js.map +1 -0
  79. package/executors/secrets-config-sync/providers/azure-keyvault.provider.d.ts +42 -0
  80. package/executors/secrets-config-sync/providers/azure-keyvault.provider.d.ts.map +1 -0
  81. package/executors/secrets-config-sync/providers/azure-keyvault.provider.js +120 -0
  82. package/executors/secrets-config-sync/providers/azure-keyvault.provider.js.map +1 -0
  83. package/executors/secrets-config-sync/providers/doppler.provider.d.ts +18 -0
  84. package/executors/secrets-config-sync/providers/doppler.provider.d.ts.map +1 -0
  85. package/executors/secrets-config-sync/providers/doppler.provider.js +53 -0
  86. package/executors/secrets-config-sync/providers/doppler.provider.js.map +1 -0
  87. package/executors/secrets-config-sync/providers/secrets-provider.factory.d.ts +17 -0
  88. package/executors/secrets-config-sync/providers/secrets-provider.factory.d.ts.map +1 -0
  89. package/executors/secrets-config-sync/providers/secrets-provider.factory.js +25 -0
  90. package/executors/secrets-config-sync/providers/secrets-provider.factory.js.map +1 -0
  91. package/executors/secrets-config-sync/providers/secrets-provider.interface.d.ts +28 -0
  92. package/executors/secrets-config-sync/providers/secrets-provider.interface.d.ts.map +1 -0
  93. package/executors/secrets-config-sync/providers/secrets-provider.interface.js +4 -0
  94. package/executors/secrets-config-sync/providers/secrets-provider.interface.js.map +1 -0
  95. package/executors/secrets-config-sync/schema.json +44 -0
  96. package/executors/secrets-vercel-sync/executor.d.ts +11 -0
  97. package/executors/secrets-vercel-sync/executor.d.ts.map +1 -0
  98. package/executors/secrets-vercel-sync/executor.js +74 -0
  99. package/executors/secrets-vercel-sync/executor.js.map +1 -0
  100. package/executors/secrets-vercel-sync/executor.options.d.ts +8 -0
  101. package/executors/secrets-vercel-sync/executor.options.d.ts.map +1 -0
  102. package/executors/secrets-vercel-sync/executor.options.js +4 -0
  103. package/executors/secrets-vercel-sync/executor.options.js.map +1 -0
  104. package/executors/secrets-vercel-sync/executor.task.d.ts +34 -0
  105. package/executors/secrets-vercel-sync/executor.task.d.ts.map +1 -0
  106. package/executors/secrets-vercel-sync/executor.task.js +492 -0
  107. package/executors/secrets-vercel-sync/executor.task.js.map +1 -0
  108. package/executors/secrets-vercel-sync/providers/azure-keyvault.provider.d.ts +42 -0
  109. package/executors/secrets-vercel-sync/providers/azure-keyvault.provider.d.ts.map +1 -0
  110. package/executors/secrets-vercel-sync/providers/azure-keyvault.provider.js +118 -0
  111. package/executors/secrets-vercel-sync/providers/azure-keyvault.provider.js.map +1 -0
  112. package/executors/secrets-vercel-sync/providers/doppler.provider.d.ts +18 -0
  113. package/executors/secrets-vercel-sync/providers/doppler.provider.d.ts.map +1 -0
  114. package/executors/secrets-vercel-sync/providers/doppler.provider.js +61 -0
  115. package/executors/secrets-vercel-sync/providers/doppler.provider.js.map +1 -0
  116. package/executors/secrets-vercel-sync/providers/secrets-provider.factory.d.ts +17 -0
  117. package/executors/secrets-vercel-sync/providers/secrets-provider.factory.d.ts.map +1 -0
  118. package/executors/secrets-vercel-sync/providers/secrets-provider.factory.js +25 -0
  119. package/executors/secrets-vercel-sync/providers/secrets-provider.factory.js.map +1 -0
  120. package/executors/secrets-vercel-sync/providers/secrets-provider.interface.d.ts +28 -0
  121. package/executors/secrets-vercel-sync/providers/secrets-provider.interface.d.ts.map +1 -0
  122. package/executors/secrets-vercel-sync/providers/secrets-provider.interface.js +4 -0
  123. package/executors/secrets-vercel-sync/providers/secrets-provider.interface.js.map +1 -0
  124. package/executors/secrets-vercel-sync/schema.json +112 -0
  125. package/executors/token-linter/executor.options.d.ts +1 -1
  126. package/executors/token-linter/executor.task.d.ts +1 -1
  127. package/executors/token-linter/schema.json +1 -1
  128. package/executors.json +40 -30
  129. package/index.d.ts +4 -3
  130. package/index.d.ts.map +1 -1
  131. package/index.js +41 -39
  132. package/index.js.map +1 -1
  133. package/package.json +21 -19
  134. package/utils/markdown-processing.d.ts +43 -0
  135. package/utils/markdown-processing.d.ts.map +1 -0
  136. package/utils/markdown-processing.js +186 -0
  137. package/utils/markdown-processing.js.map +1 -0
  138. package/utils/valid-html-tags.d.ts +6 -0
  139. package/utils/valid-html-tags.d.ts.map +1 -0
  140. package/utils/valid-html-tags.js +83 -0
  141. package/utils/valid-html-tags.js.map +1 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ // #region Imports
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.default = runExecutor;
38
+ const getProjectRoot_1 = require("../../utils/getProjectRoot");
39
+ const isVerbose_1 = require("../../utils/isVerbose");
40
+ // #endregion
41
+ async function runExecutor(options, context) {
42
+ try {
43
+ const projectName = context.projectName;
44
+ if (!projectName) {
45
+ throw new Error('No project name available in executor context.');
46
+ }
47
+ // Auto-discover additional entry points from the build target when not explicitly provided
48
+ let additionalEntryPoints = options.additionalEntryPoints;
49
+ if (!additionalEntryPoints) {
50
+ const projectNode = context.projectGraph?.nodes[projectName];
51
+ const buildTarget = projectNode?.data.targets?.['build'];
52
+ if (Array.isArray(buildTarget?.options?.additionalEntryPoints)) {
53
+ additionalEntryPoints = buildTarget.options.additionalEntryPoints;
54
+ }
55
+ }
56
+ const task = (await Promise.resolve().then(() => __importStar(require('./executor.task')))).GeneratePackageDocsTask;
57
+ await task.run({
58
+ ...options,
59
+ cwd: (0, getProjectRoot_1.getProjectRoot)(context),
60
+ workspaceRoot: context.root,
61
+ projectName,
62
+ additionalEntryPoints,
63
+ verbose: (0, isVerbose_1.isVerbose)(context, options),
64
+ });
65
+ return { success: true };
66
+ }
67
+ catch (error) {
68
+ console.error(error);
69
+ return { success: false };
70
+ }
71
+ }
72
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/executors/generate-package-docs/executor.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASlB,8BAqCC;AA3CD,+DAA4D;AAC5D,qDAAkD;AAGlD,aAAa;AAEE,KAAK,UAAU,WAAW,CACrC,OAA2C,EAC3C,OAAwB;IAExB,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,2FAA2F;QAC3F,IAAI,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC1D,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,CAAC;gBAC7D,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAiC,CAAC;YAClF,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,wDAAa,iBAAiB,GAAC,CAAC,CAAC,uBAAuB,CAAC;QACvE,MAAM,IAAI,CAAC,GAAG,CAAC;YACX,GAAG,OAAO;YACV,GAAG,EAAE,IAAA,+BAAc,EAAC,OAAO,CAAC;YAC5B,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,WAAW;YACX,qBAAqB;YACrB,OAAO,EAAE,IAAA,qBAAS,EAAC,OAAO,EAAE,OAAO,CAAC;SACvC,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { GeneratePackageDocsTask } from './executor.task';
2
+ /**
3
+ * @public
4
+ */
5
+ export type GeneratePackageDocsExecutorOptions = Omit<GeneratePackageDocsTask.IGeneratePackageDocsTaskOptions, 'cwd' | 'workspaceRoot' | 'projectName'>;
6
+ //# sourceMappingURL=executor.options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.options.d.ts","sourceRoot":"","sources":["../../../src/executors/generate-package-docs/executor.options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAI/D;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,IAAI,CAAC,uBAAuB,CAAC,+BAA+B,EAAE,KAAK,GAAG,eAAe,GAAG,aAAa,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=executor.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.options.js","sourceRoot":"","sources":["../../../src/executors/generate-package-docs/executor.options.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @description Task to generate API documentation for a library package using TypeDoc.
3
+ * @public
4
+ */
5
+ export declare namespace GeneratePackageDocsTask {
6
+ /**
7
+ * Post-processing options for generated Markdown files.
8
+ *
9
+ * @public
10
+ */
11
+ interface IPostProcessingOptions {
12
+ /** Remove the auto-generated README.md from output. */
13
+ removeReadme?: boolean;
14
+ /** Rename globals.md to index.md for static site generators. */
15
+ renameGlobalsToIndex?: boolean;
16
+ /** Rewrite `.md` extension links for clean URL compatibility. */
17
+ rewriteLinks?: boolean;
18
+ /** Escape angle brackets in type generics for Vue/VitePress. */
19
+ escapeAngleBrackets?: boolean;
20
+ /** Add or normalize YAML frontmatter with a title. */
21
+ normalizeFrontmatter?: boolean;
22
+ /** Mark generated files with `generated: true` in frontmatter. */
23
+ markAsGenerated?: boolean;
24
+ /** Strip TypeDoc-generated package back-links at the top of pages. */
25
+ stripPackageBackLink?: boolean;
26
+ /** Resolve unresolved `{@link}` TSDoc references to plain text. */
27
+ resolveInlineLinks?: boolean;
28
+ }
29
+ /**
30
+ * Options for the generate-package-docs task.
31
+ *
32
+ * @public
33
+ */
34
+ interface IGeneratePackageDocsTaskOptions {
35
+ /** Absolute path to the project root. */
36
+ cwd: string;
37
+ /** Absolute path to the workspace root. */
38
+ workspaceRoot: string;
39
+ /** Nx project name. */
40
+ projectName: string;
41
+ /** Entry point file relative to `cwd`. */
42
+ entryPoint?: string;
43
+ /** Additional entry point paths (absolute or relative to workspace root). */
44
+ additionalEntryPoints?: string[];
45
+ /** TypeScript config file relative to `cwd`. */
46
+ tsConfig?: string;
47
+ /** Output directory (absolute or relative to workspace root). */
48
+ outputDir?: string;
49
+ /** Display name for the package in generated docs. Auto-detected from package.json if omitted. */
50
+ packageDisplayName?: string;
51
+ /** TypeDoc output file strategy. */
52
+ outputFileStrategy?: string;
53
+ /** Flatten output files into a single directory. */
54
+ flattenOutputFiles?: boolean;
55
+ /** Hide page headers in generated Markdown. */
56
+ hidePageHeader?: boolean;
57
+ /** Hide page titles in generated Markdown. */
58
+ hidePageTitle?: boolean;
59
+ /** Hide breadcrumb navigation in generated Markdown. */
60
+ hideBreadcrumbs?: boolean;
61
+ /** Wrap code examples in fenced code blocks. */
62
+ useCodeBlocks?: boolean;
63
+ /** Expand object types inline. */
64
+ expandObjects?: boolean;
65
+ /** Format for function parameters. */
66
+ parametersFormat?: string;
67
+ /** Format for enum members. */
68
+ enumMembersFormat?: string;
69
+ /** Format for type declarations. */
70
+ typeDeclarationFormat?: string;
71
+ /** Format for index/listing pages. */
72
+ indexFormat?: string;
73
+ /** TypeDoc member kinds that get their own file. */
74
+ membersWithOwnFile?: string[];
75
+ /** Exclude private members from docs. */
76
+ excludePrivate?: boolean;
77
+ /** Exclude protected members from docs. */
78
+ excludeProtected?: boolean;
79
+ /** Exclude external/third-party symbols from docs. */
80
+ excludeExternals?: boolean;
81
+ /** Category display order in index pages. */
82
+ categoryOrder?: string[];
83
+ /** Sort order for members. */
84
+ sort?: string[];
85
+ /** Kind sort order for members. */
86
+ kindSortOrder?: string[];
87
+ /** Git revision used for source links. */
88
+ gitRevision?: string;
89
+ /** TypeDoc log level. */
90
+ logLevel?: string;
91
+ /** Post-processing options for generated Markdown. */
92
+ postProcessing?: IPostProcessingOptions;
93
+ /** Enable verbose logging. */
94
+ verbose?: boolean;
95
+ }
96
+ /**
97
+ * Runs the generate-package-docs task.
98
+ *
99
+ * @public
100
+ */
101
+ function run(options: IGeneratePackageDocsTaskOptions): Promise<void>;
102
+ }
103
+ //# sourceMappingURL=executor.task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.task.d.ts","sourceRoot":"","sources":["../../../src/executors/generate-package-docs/executor.task.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,yBAAiB,uBAAuB,CAAC;IAErC;;;;OAIG;IACH,UAAiB,sBAAsB;QACnC,uDAAuD;QACvD,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,gEAAgE;QAChE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,iEAAiE;QACjE,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,gEAAgE;QAChE,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,sDAAsD;QACtD,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,kEAAkE;QAClE,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,sEAAsE;QACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,mEAAmE;QACnE,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAChC;IAED;;;;OAIG;IACH,UAAiB,+BAA+B;QAC5C,yCAAyC;QACzC,GAAG,EAAE,MAAM,CAAC;QACZ,2CAA2C;QAC3C,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB;QACvB,WAAW,EAAE,MAAM,CAAC;QAEpB,0CAA0C;QAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,6EAA6E;QAC7E,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;QACjC,gDAAgD;QAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iEAAiE;QACjE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kGAAkG;QAClG,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAE5B,oCAAoC;QACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,oDAAoD;QACpD,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,+CAA+C;QAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,8CAA8C;QAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,wDAAwD;QACxD,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,gDAAgD;QAChD,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,kCAAkC;QAClC,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,sCAAsC;QACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,+BAA+B;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oCAAoC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sCAAsC;QACtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oDAAoD;QACpD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAE9B,yCAAyC;QACzC,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,2CAA2C;QAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAG3B,sDAAsD;QACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAE3B,6CAA6C;QAC7C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,8BAA8B;QAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,mCAAmC;QACnC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAEzB,0CAA0C;QAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,yBAAyB;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB,sDAAsD;QACtD,cAAc,CAAC,EAAE,sBAAsB,CAAC;QAExC,8BAA8B;QAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB;IA6CD;;;;OAIG;IACH,SAAsB,GAAG,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyJjF;CAuDJ"}
@@ -0,0 +1,259 @@
1
+ "use strict";
2
+ // #region Imports
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.GeneratePackageDocsTask = void 0;
38
+ const utilities_1 = require("@breadstone-infrastructure/utilities");
39
+ const fs = __importStar(require("node:fs"));
40
+ const path = __importStar(require("node:path"));
41
+ const markdown_processing_1 = require("../../utils/markdown-processing");
42
+ // #endregion
43
+ /**
44
+ * @description Task to generate API documentation for a library package using TypeDoc.
45
+ * @public
46
+ */
47
+ var GeneratePackageDocsTask;
48
+ (function (GeneratePackageDocsTask) {
49
+ // #region Fields
50
+ const DEFAULT_POST_PROCESSING = {
51
+ removeReadme: true,
52
+ renameGlobalsToIndex: true,
53
+ rewriteLinks: true,
54
+ escapeAngleBrackets: true,
55
+ normalizeFrontmatter: true,
56
+ markAsGenerated: true,
57
+ stripPackageBackLink: true,
58
+ resolveInlineLinks: true,
59
+ };
60
+ const DEFAULT_OPTIONS = {
61
+ entryPoint: 'src/Index.ts',
62
+ tsConfig: 'tsconfig.json',
63
+ outputFileStrategy: 'members',
64
+ flattenOutputFiles: true,
65
+ hidePageHeader: false,
66
+ hidePageTitle: false,
67
+ hideBreadcrumbs: true,
68
+ useCodeBlocks: true,
69
+ expandObjects: true,
70
+ parametersFormat: 'table',
71
+ enumMembersFormat: 'table',
72
+ typeDeclarationFormat: 'table',
73
+ indexFormat: 'table',
74
+ membersWithOwnFile: ['Class', 'Interface', 'TypeAlias', 'Enum', 'Function', 'Variable'],
75
+ excludePrivate: true,
76
+ excludeProtected: false,
77
+ excludeInternal: true,
78
+ excludeExternals: true,
79
+ categoryOrder: ['Classes', 'Interfaces', 'Type Aliases', 'Functions', 'Enumerations', 'Variables'],
80
+ sort: ['alphabetical'],
81
+ kindSortOrder: ['Class', 'Interface', 'TypeAlias', 'Function', 'Enum', 'Variable'],
82
+ gitRevision: 'main',
83
+ logLevel: 'Warn',
84
+ };
85
+ // #endregion
86
+ // #region Methods
87
+ /**
88
+ * Runs the generate-package-docs task.
89
+ *
90
+ * @public
91
+ */
92
+ async function run(options) {
93
+ const logger = new utilities_1.ConsoleLogger();
94
+ (0, utilities_1.logSeparator)(logger, 'Generate Package Docs');
95
+ const projectRoot = options.cwd;
96
+ const workspaceRoot = options.workspaceRoot;
97
+ const projectName = options.projectName;
98
+ const entryPointRelative = options.entryPoint ?? DEFAULT_OPTIONS.entryPoint;
99
+ const entryPoint = path.resolve(projectRoot, entryPointRelative);
100
+ if (!fs.existsSync(entryPoint)) {
101
+ throw new Error(`Entry point not found: ${entryPoint}`);
102
+ }
103
+ const tsConfigRelative = options.tsConfig ?? DEFAULT_OPTIONS.tsConfig;
104
+ const tsConfig = path.resolve(projectRoot, tsConfigRelative);
105
+ const fallbackTsConfig = path.join(workspaceRoot, 'tsconfig.base.json');
106
+ const outputDir = options.outputDir
107
+ ? path.resolve(workspaceRoot, options.outputDir)
108
+ : path.join(workspaceRoot, '.docs', 'packages', projectName, 'api');
109
+ let packageDisplayName = options.packageDisplayName ?? projectName;
110
+ const packageJsonPath = path.join(projectRoot, 'package.json');
111
+ if (!options.packageDisplayName && fs.existsSync(packageJsonPath)) {
112
+ try {
113
+ const pkgJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
114
+ if (pkgJson.name) {
115
+ packageDisplayName = pkgJson.name;
116
+ }
117
+ }
118
+ catch {
119
+ // Falls back to project name
120
+ }
121
+ }
122
+ const additionalEntryPoints = resolveAdditionalEntryPoints(options.additionalEntryPoints, workspaceRoot, options.verbose ? logger : undefined);
123
+ if (options.verbose) {
124
+ logger.log(` 📦 Project: ${projectName}`);
125
+ logger.log(` 📂 Entry: ${entryPoint}`);
126
+ if (additionalEntryPoints.length > 0) {
127
+ logger.log(` 📂 Additional entries: ${additionalEntryPoints.length}`);
128
+ }
129
+ logger.log(` 📁 Output: ${outputDir}`);
130
+ }
131
+ logger.log(` 📦 Generating docs for ${projectName}...`);
132
+ if (fs.existsSync(outputDir)) {
133
+ fs.rmSync(outputDir, { recursive: true });
134
+ }
135
+ let typedocEntry = entryPoint;
136
+ let tempEntryFile = null;
137
+ if (additionalEntryPoints.length > 0) {
138
+ logger.log(` 📂 Entry points: main + ${additionalEntryPoints.length} subpath(s)`);
139
+ const libSrc = path.join(projectRoot, 'src');
140
+ tempEntryFile = path.join(libSrc, '_typedoc-entry.ts');
141
+ const lines = ["export * from './index';"];
142
+ for (const ep of additionalEntryPoints) {
143
+ const rel = path.relative(libSrc, ep).replace(/\.ts$/, '').replace(/\\/g, '/');
144
+ lines.push(`export * from './${rel}';`);
145
+ }
146
+ fs.writeFileSync(tempEntryFile, lines.join('\n') + '\n', 'utf-8');
147
+ typedocEntry = tempEntryFile;
148
+ }
149
+ try {
150
+ const { Application } = await Promise.resolve().then(() => __importStar(require('typedoc')));
151
+ const typedocOptions = {
152
+ entryPoints: [typedocEntry],
153
+ entryPointStrategy: 'resolve',
154
+ tsconfig: fs.existsSync(tsConfig) ? tsConfig : fallbackTsConfig,
155
+ skipErrorChecking: true,
156
+ out: outputDir,
157
+ plugin: ['typedoc-plugin-markdown'],
158
+ outputFileStrategy: options.outputFileStrategy ?? DEFAULT_OPTIONS.outputFileStrategy,
159
+ flattenOutputFiles: options.flattenOutputFiles ?? DEFAULT_OPTIONS.flattenOutputFiles,
160
+ hidePageHeader: options.hidePageHeader ?? DEFAULT_OPTIONS.hidePageHeader,
161
+ hidePageTitle: options.hidePageTitle ?? DEFAULT_OPTIONS.hidePageTitle,
162
+ hideBreadcrumbs: options.hideBreadcrumbs ?? DEFAULT_OPTIONS.hideBreadcrumbs,
163
+ useCodeBlocks: options.useCodeBlocks ?? DEFAULT_OPTIONS.useCodeBlocks,
164
+ expandObjects: options.expandObjects ?? DEFAULT_OPTIONS.expandObjects,
165
+ parametersFormat: options.parametersFormat ?? DEFAULT_OPTIONS.parametersFormat,
166
+ enumMembersFormat: options.enumMembersFormat ?? DEFAULT_OPTIONS.enumMembersFormat,
167
+ typeDeclarationFormat: options.typeDeclarationFormat ?? DEFAULT_OPTIONS.typeDeclarationFormat,
168
+ indexFormat: options.indexFormat ?? DEFAULT_OPTIONS.indexFormat,
169
+ membersWithOwnFile: options.membersWithOwnFile ?? DEFAULT_OPTIONS.membersWithOwnFile,
170
+ projectDocuments: [],
171
+ excludePrivate: options.excludePrivate ?? DEFAULT_OPTIONS.excludePrivate,
172
+ excludeProtected: options.excludeProtected ?? DEFAULT_OPTIONS.excludeProtected,
173
+ excludeInternal: options.excludeInternal ?? DEFAULT_OPTIONS.excludeInternal,
174
+ excludeExternals: options.excludeExternals ?? DEFAULT_OPTIONS.excludeExternals,
175
+ categoryOrder: options.categoryOrder ?? DEFAULT_OPTIONS.categoryOrder,
176
+ sort: options.sort ?? DEFAULT_OPTIONS.sort,
177
+ kindSortOrder: options.kindSortOrder ?? DEFAULT_OPTIONS.kindSortOrder,
178
+ gitRevision: options.gitRevision ?? DEFAULT_OPTIONS.gitRevision,
179
+ logLevel: options.logLevel ?? DEFAULT_OPTIONS.logLevel,
180
+ name: packageDisplayName,
181
+ };
182
+ const app = await Application.bootstrapWithPlugins(typedocOptions);
183
+ const project = await app.convert();
184
+ if (!project) {
185
+ throw new Error(`TypeDoc conversion failed for ${projectName}`);
186
+ }
187
+ await app.generateOutputs(project);
188
+ const postProcessing = { ...DEFAULT_POST_PROCESSING, ...options.postProcessing };
189
+ if (postProcessing.removeReadme) {
190
+ const readmePath = path.join(outputDir, 'README.md');
191
+ if (fs.existsSync(readmePath)) {
192
+ fs.unlinkSync(readmePath);
193
+ }
194
+ }
195
+ if (postProcessing.renameGlobalsToIndex) {
196
+ const globalsPath = path.join(outputDir, 'globals.md');
197
+ const indexPath = path.join(outputDir, 'index.md');
198
+ if (fs.existsSync(globalsPath) && !fs.existsSync(indexPath)) {
199
+ fs.renameSync(globalsPath, indexPath);
200
+ }
201
+ }
202
+ processGeneratedMarkdown(outputDir, postProcessing);
203
+ const count = (0, markdown_processing_1.countMarkdownFiles)(outputDir);
204
+ logger.log(` ✅ ${projectName}: ${count} API doc files`);
205
+ }
206
+ finally {
207
+ if (tempEntryFile && fs.existsSync(tempEntryFile)) {
208
+ fs.unlinkSync(tempEntryFile);
209
+ }
210
+ (0, utilities_1.logSeparator)(logger);
211
+ }
212
+ }
213
+ GeneratePackageDocsTask.run = run;
214
+ // #endregion
215
+ // #region Private
216
+ function resolveAdditionalEntryPoints(entryPoints, workspaceRoot, logger) {
217
+ if (!entryPoints) {
218
+ return [];
219
+ }
220
+ const resolved = [];
221
+ for (const ep of entryPoints) {
222
+ const abs = path.isAbsolute(ep) ? ep : path.resolve(workspaceRoot, ep);
223
+ if (fs.existsSync(abs)) {
224
+ resolved.push(abs);
225
+ }
226
+ else {
227
+ logger?.warn(` ⚠ Additional entry point not found: ${ep}`);
228
+ }
229
+ }
230
+ return resolved;
231
+ }
232
+ function processGeneratedMarkdown(dir, options) {
233
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
234
+ const fullPath = path.join(dir, entry.name);
235
+ if (entry.isDirectory()) {
236
+ processGeneratedMarkdown(fullPath, options);
237
+ }
238
+ else if (entry.name.endsWith('.md')) {
239
+ if (options.normalizeFrontmatter) {
240
+ (0, markdown_processing_1.normalizeFrontmatter)(fullPath, { generated: options.markAsGenerated });
241
+ }
242
+ if (options.rewriteLinks) {
243
+ (0, markdown_processing_1.rewriteLinks)(fullPath);
244
+ }
245
+ if (options.stripPackageBackLink) {
246
+ (0, markdown_processing_1.stripPackageBackLink)(fullPath);
247
+ }
248
+ if (options.resolveInlineLinks) {
249
+ (0, markdown_processing_1.resolveInlineLinks)(fullPath);
250
+ }
251
+ if (options.escapeAngleBrackets) {
252
+ (0, markdown_processing_1.escapeAngleBrackets)(fullPath);
253
+ }
254
+ }
255
+ }
256
+ }
257
+ // #endregion
258
+ })(GeneratePackageDocsTask || (exports.GeneratePackageDocsTask = GeneratePackageDocsTask = {}));
259
+ //# sourceMappingURL=executor.task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.task.js","sourceRoot":"","sources":["../../../src/executors/generate-package-docs/executor.task.ts"],"names":[],"mappings":"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"}