legal-markdown-js 2.15.0 → 2.16.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 (129) hide show
  1. package/dist/browser.d.ts +5 -0
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +25 -3
  4. package/dist/browser.js.map +1 -1
  5. package/dist/cli/interactive/index.js +88 -35
  6. package/dist/cli/interactive/index.js.map +1 -1
  7. package/dist/cli/interactive/prompts/file-selector.js +5 -80
  8. package/dist/cli/interactive/prompts/file-selector.js.map +1 -1
  9. package/dist/cli/interactive/prompts/ftux-handler.d.ts +20 -0
  10. package/dist/cli/interactive/prompts/ftux-handler.d.ts.map +1 -0
  11. package/dist/cli/interactive/prompts/ftux-handler.js +356 -0
  12. package/dist/cli/interactive/prompts/ftux-handler.js.map +1 -0
  13. package/dist/cli/interactive/utils/file-input-helpers.d.ts +17 -0
  14. package/dist/cli/interactive/utils/file-input-helpers.d.ts.map +1 -0
  15. package/dist/cli/interactive/utils/file-input-helpers.js +96 -0
  16. package/dist/cli/interactive/utils/file-input-helpers.js.map +1 -0
  17. package/dist/cli/interactive/utils/installation-detector.d.ts +33 -0
  18. package/dist/cli/interactive/utils/installation-detector.d.ts.map +1 -0
  19. package/dist/cli/interactive/utils/installation-detector.js +107 -0
  20. package/dist/cli/interactive/utils/installation-detector.js.map +1 -0
  21. package/dist/examples/README.md +267 -0
  22. package/dist/examples/advanced/complex-nda/README.md +40 -0
  23. package/dist/examples/advanced/complex-nda/examples/output/nda-metadata.yaml +16 -0
  24. package/dist/examples/advanced/complex-nda/nda-data.json +71 -0
  25. package/dist/examples/advanced/complex-nda/nda-template.md +52 -0
  26. package/dist/examples/advanced/complex-nda/nda-with-data.md +107 -0
  27. package/dist/examples/advanced/complex-nda/run.sh +59 -0
  28. package/dist/examples/advanced/office-lease-complete/README.md +41 -0
  29. package/dist/examples/advanced/office-lease-complete/lease-agreement.md +217 -0
  30. package/dist/examples/advanced/office-lease-complete/lease-data.json +123 -0
  31. package/dist/examples/advanced/office-lease-complete/lease-with-data.md +283 -0
  32. package/dist/examples/advanced/office-lease-complete/run.sh +62 -0
  33. package/dist/examples/basic-processing/simple-document/README.md +39 -0
  34. package/dist/examples/basic-processing/simple-document/example.html +64 -0
  35. package/dist/examples/basic-processing/simple-document/example.md +92 -0
  36. package/dist/examples/basic-processing/simple-document/example.output.md +64 -0
  37. package/dist/examples/basic-processing/simple-document/examples/output/metadata.json +20 -0
  38. package/dist/examples/basic-processing/simple-document/input.html +34 -0
  39. package/dist/examples/basic-processing/simple-document/input.md +12 -0
  40. package/dist/examples/basic-processing/simple-document/input.output.md +6 -0
  41. package/dist/examples/basic-processing/simple-document/run.sh +46 -0
  42. package/dist/examples/basic-processing/yaml-frontmatter/README.md +37 -0
  43. package/dist/examples/basic-processing/yaml-frontmatter/document.md +72 -0
  44. package/dist/examples/basic-processing/yaml-frontmatter/run.sh +45 -0
  45. package/dist/examples/cross-references/basic-references/README.md +37 -0
  46. package/dist/examples/cross-references/basic-references/agreement.md +111 -0
  47. package/dist/examples/cross-references/basic-references/correct-example.md +60 -0
  48. package/dist/examples/cross-references/basic-references/internal-references.md +48 -0
  49. package/dist/examples/cross-references/basic-references/run.sh +46 -0
  50. package/dist/examples/cross-references/complex-references/agreement-data.json +24 -0
  51. package/dist/examples/data/advanced-metadata.json +8 -0
  52. package/dist/examples/data/agreement-metadata.json +24 -0
  53. package/dist/examples/data/ticket-data.json +71 -0
  54. package/dist/examples/force-commands/README.md +164 -0
  55. package/dist/examples/force-commands/contract-with-forced-options.md +75 -0
  56. package/dist/examples/headers/header-tracking/README.md +35 -0
  57. package/dist/examples/headers/header-tracking/run.sh +40 -0
  58. package/dist/examples/headers/header-tracking/tracked-document.md +32 -0
  59. package/dist/examples/headers/mixed-header-styles/README.md +35 -0
  60. package/dist/examples/headers/mixed-header-styles/document.md +48 -0
  61. package/dist/examples/headers/mixed-header-styles/run.sh +40 -0
  62. package/dist/examples/headers/multiple-headers/README.md +35 -0
  63. package/dist/examples/headers/multiple-headers/contract.md +61 -0
  64. package/dist/examples/headers/multiple-headers/run.sh +40 -0
  65. package/dist/examples/imports/frontmatter-merging/README.md +268 -0
  66. package/dist/examples/imports/frontmatter-merging/components/client-info.md +139 -0
  67. package/dist/examples/imports/frontmatter-merging/components/service-levels.md +178 -0
  68. package/dist/examples/imports/frontmatter-merging/components/standard-terms.md +100 -0
  69. package/dist/examples/imports/frontmatter-merging/main-contract.md +169 -0
  70. package/dist/examples/imports/frontmatter-merging/output/contract-metadata.json +220 -0
  71. package/dist/examples/imports/frontmatter-merging/output/contract-metadata.yaml +182 -0
  72. package/dist/examples/imports/frontmatter-merging/run.sh +274 -0
  73. package/dist/examples/imports/frontmatter-merging/templates/basic-service-agreement.md +83 -0
  74. package/dist/examples/imports/frontmatter-merging/templates/complex-enterprise-contract.md +260 -0
  75. package/dist/examples/imports/frontmatter-merging/templates/output/enterprise-contract-metadata.json +226 -0
  76. package/dist/examples/imports/frontmatter-merging/templates/output/enterprise-contract-metadata.yaml +188 -0
  77. package/dist/examples/imports/partial-imports/README.md +38 -0
  78. package/dist/examples/imports/partial-imports/clauses/confidentiality.md +12 -0
  79. package/dist/examples/imports/partial-imports/main-contract.md +52 -0
  80. package/dist/examples/imports/partial-imports/partials/footer.md +3 -0
  81. package/dist/examples/imports/partial-imports/partials/header.md +3 -0
  82. package/dist/examples/imports/partial-imports/partials/terms.md +3 -0
  83. package/dist/examples/imports/partial-imports/run.sh +48 -0
  84. package/dist/examples/input/README.md +66 -0
  85. package/dist/examples/input/demo-contract.md +60 -0
  86. package/dist/examples/input/example.md +92 -0
  87. package/dist/examples/input/examples/output/metadata.json +20 -0
  88. package/dist/examples/input/metadata-example.md +94 -0
  89. package/dist/examples/input/office-lease-with-data.md +297 -0
  90. package/dist/examples/input/purchase-ticket.md +94 -0
  91. package/dist/examples/input/simple-contract.md +61 -0
  92. package/dist/examples/input/ticket-with-data.md +92 -0
  93. package/dist/examples/input/ticket.md +52 -0
  94. package/dist/examples/integration/cli-usage/README.md +40 -0
  95. package/dist/examples/integration/cli-usage/demo-contract.md +60 -0
  96. package/dist/examples/integration/cli-usage/run.sh +62 -0
  97. package/dist/examples/integration/cli-usage/simple-contract.md +61 -0
  98. package/dist/examples/mixins/helper-functions/README.md +36 -0
  99. package/dist/examples/mixins/helper-functions/contract-data.json +8 -0
  100. package/dist/examples/mixins/helper-functions/formatted-contract.md +45 -0
  101. package/dist/examples/mixins/helper-functions/run.sh +55 -0
  102. package/dist/examples/mixins/template-loops/README.md +34 -0
  103. package/dist/examples/mixins/template-loops/items-list.md +56 -0
  104. package/dist/examples/mixins/template-loops/run.sh +40 -0
  105. package/dist/examples/optional-clauses/boolean-logic/README.md +34 -0
  106. package/dist/examples/optional-clauses/boolean-logic/complex-conditions.md +101 -0
  107. package/dist/examples/optional-clauses/boolean-logic/examples/output/nda-metadata.yaml +10 -0
  108. package/dist/examples/optional-clauses/boolean-logic/run.sh +40 -0
  109. package/dist/examples/optional-clauses/conditional-content/README.md +35 -0
  110. package/dist/examples/optional-clauses/conditional-content/nda-template.md +82 -0
  111. package/dist/examples/optional-clauses/conditional-content/run.sh +40 -0
  112. package/dist/examples/output/demo-contract-simple.md +44 -0
  113. package/dist/examples/output-formats/metadata-export/README.md +36 -0
  114. package/dist/examples/output-formats/metadata-export/document-with-meta.md +94 -0
  115. package/dist/examples/output-formats/metadata-export/run.sh +44 -0
  116. package/dist/examples/output-formats/pdf-generation/README.md +36 -0
  117. package/dist/examples/output-formats/pdf-generation/printable-agreement.md +200 -0
  118. package/dist/examples/output-formats/pdf-generation/run.sh +44 -0
  119. package/dist/examples/run-all.sh +105 -0
  120. package/dist/examples/styles/contract.css +346 -0
  121. package/dist/examples/styles/ticket.css +100 -0
  122. package/dist/examples/templates/README.md +30 -0
  123. package/dist/examples/templates/run.sh +101 -0
  124. package/dist/legal-markdown.umd.min.js +1 -1
  125. package/dist/legal-markdown.umd.min.js.map +1 -1
  126. package/dist/web/index.html +37 -1
  127. package/dist/web/legal-markdown.umd.min.js +1 -1
  128. package/dist/web/standalone.html +1 -1
  129. package/package.json +3 -2
package/dist/browser.d.ts CHANGED
@@ -34,6 +34,8 @@
34
34
  */
35
35
  import { fieldTracker } from './extensions/tracking/field-tracker';
36
36
  import { LegalMarkdownOptions } from './types';
37
+ declare function processLegalMarkdownWithRemark(content: string, options?: any): Promise<any>;
38
+ declare function processLegalMarkdownWithRemarkSync(content: string, options?: any): any;
37
39
  /**
38
40
  * Browser-compatible version of Legal Markdown processing
39
41
  *
@@ -85,5 +87,8 @@ export declare function processLegalMarkdown(content: string, options?: Omit<Leg
85
87
  */
86
88
  export declare const LegalMarkdown: {
87
89
  processLegalMarkdown: typeof processLegalMarkdown;
90
+ processLegalMarkdownWithRemark: typeof processLegalMarkdownWithRemark;
91
+ processLegalMarkdownWithRemarkSync: typeof processLegalMarkdownWithRemarkSync;
88
92
  };
93
+ export {};
89
94
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AA6CH,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,YAAY,CAAM,GAClE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC;CAC9D,CAkGA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AA6CH,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,iBAAS,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAKxF;AAED,iBAAS,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,GAAG,CAKnF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,YAAY,CAAM,GAClE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC;CAC9D,CAkGA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa;;;;CAIzB,CAAC"}
package/dist/browser.js CHANGED
@@ -75,6 +75,16 @@ if (typeof window === 'undefined') {
75
75
  }
76
76
  import { fieldTracker } from './extensions/tracking/field-tracker.js';
77
77
  import { logger } from './utils/logger.js';
78
+ // Placeholder functions for Remark processing - will be replaced with actual implementations
79
+ // These are fallback implementations that use the basic processor
80
+ function processLegalMarkdownWithRemark(content, options = {}) {
81
+ console.warn('Using fallback processor - Remark functions not fully implemented in browser bundle');
82
+ return Promise.resolve(processLegalMarkdown(content, options));
83
+ }
84
+ function processLegalMarkdownWithRemarkSync(content, options = {}) {
85
+ console.warn('Using fallback processor - Remark functions not fully implemented in browser bundle');
86
+ return processLegalMarkdown(content, options);
87
+ }
78
88
  /**
79
89
  * Browser-compatible version of Legal Markdown processing
80
90
  *
@@ -203,11 +213,23 @@ export function processLegalMarkdown(content, options = {}) {
203
213
  * ```
204
214
  */
205
215
  export const LegalMarkdown = {
206
- processLegalMarkdown,
216
+ processLegalMarkdown: processLegalMarkdown,
217
+ processLegalMarkdownWithRemark: processLegalMarkdownWithRemark,
218
+ processLegalMarkdownWithRemarkSync: processLegalMarkdownWithRemarkSync,
207
219
  };
208
- // Create global window object for script tag usage
220
+ // Create global window object for script tag usage with explicit assignments
209
221
  if (typeof window !== 'undefined') {
210
222
  // eslint-disable-next-line no-undef
211
- window.LegalMarkdown = LegalMarkdown;
223
+ window.LegalMarkdown = {
224
+ processLegalMarkdown: processLegalMarkdown,
225
+ processLegalMarkdownWithRemark: processLegalMarkdownWithRemark,
226
+ processLegalMarkdownWithRemarkSync: processLegalMarkdownWithRemarkSync,
227
+ };
228
+ // Debug logging to see what's being assigned
229
+ console.log('Browser bundle loaded - functions available:');
230
+ console.log(' processLegalMarkdown:', typeof processLegalMarkdown, processLegalMarkdown);
231
+ console.log(' processLegalMarkdownWithRemark:', typeof processLegalMarkdownWithRemark, processLegalMarkdownWithRemark);
232
+ console.log(' processLegalMarkdownWithRemarkSync:', typeof processLegalMarkdownWithRemarkSync, processLegalMarkdownWithRemarkSync);
233
+ console.log('Final window.LegalMarkdown:', window.LegalMarkdown);
212
234
  }
213
235
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,85 @@ import { selectCssFile } from './prompts/css-selector.js';
29
29
  import { promptOutputFilename } from './prompts/filename.js';
30
30
  import { promptArchiveOptions } from './prompts/archive-options.js';
31
31
  import { confirmConfiguration } from './prompts/confirmation.js';
32
+ import { handleFirstTimeUserExperience } from './prompts/ftux-handler.js';
32
33
  import { InteractiveService } from './service.js';
33
34
  import { formatSuccessMessage, formatErrorMessage } from './utils/format-helpers.js';
35
+ /**
36
+ * Run FTUX (First-Time User Experience) mode
37
+ *
38
+ * Provides a guided onboarding experience for new users with options to:
39
+ * - Set up configuration files
40
+ * - Try demo examples
41
+ * - Get help and tutorials
42
+ * - Browse for files manually
43
+ *
44
+ * @returns Promise that resolves when FTUX completes
45
+ * @throws Error when FTUX fails or user cancels
46
+ */
47
+ async function runFtuxMode() {
48
+ try {
49
+ console.log(chalk.bold.blue('\n🌟 Legal Markdown - First-Time User Experience\n'));
50
+ console.log(chalk.gray("Welcome! Let's get you started with Legal Markdown processing.\n"));
51
+ // Run the FTUX flow
52
+ const selectedFile = await handleFirstTimeUserExperience();
53
+ // If a file was selected from FTUX, continue with normal processing
54
+ if (selectedFile) {
55
+ console.log(chalk.green(`\n✅ Selected: ${selectedFile}`));
56
+ console.log(chalk.gray('Continuing with normal processing flow...\n'));
57
+ // Continue with the normal interactive flow starting from step 2
58
+ await continueInteractiveFlow(selectedFile);
59
+ }
60
+ }
61
+ catch (error) {
62
+ if (error instanceof Error && error.message.includes('User force closed')) {
63
+ console.log(chalk.yellow('\n👋 Thanks for trying Legal Markdown!\n'));
64
+ return;
65
+ }
66
+ console.log(formatErrorMessage(error instanceof Error ? error.message : String(error)));
67
+ process.exit(1);
68
+ }
69
+ }
70
+ /**
71
+ * Continue interactive flow from a selected file (used after FTUX)
72
+ *
73
+ * @param inputFile - The file selected from FTUX
74
+ */
75
+ async function continueInteractiveFlow(inputFile) {
76
+ // Step 2: Select output formats
77
+ const outputFormats = await selectOutputFormats();
78
+ // Step 3: Configure processing options
79
+ const processingOptions = await promptProcessingOptions(outputFormats);
80
+ // Step 4: Select CSS file (if needed)
81
+ const cssFile = await selectCssFile(outputFormats);
82
+ // Step 5: Enter output filename
83
+ const outputFilename = await promptOutputFilename(inputFile);
84
+ // Step 6: Configure archive options
85
+ const archiveResult = await promptArchiveOptions();
86
+ const archiveOptions = {
87
+ enabled: archiveResult.enableArchiving,
88
+ directory: archiveResult.archiveDirectory,
89
+ };
90
+ // Build configuration
91
+ const config = {
92
+ inputFile,
93
+ outputFilename,
94
+ outputFormats,
95
+ processingOptions,
96
+ archiveOptions,
97
+ cssFile,
98
+ };
99
+ // Step 7: Confirm configuration
100
+ const confirmed = await confirmConfiguration(config);
101
+ if (!confirmed) {
102
+ console.log(chalk.yellow('\n❌ Operation cancelled.\n'));
103
+ return;
104
+ }
105
+ // Step 8: Process files
106
+ const service = new InteractiveService(config);
107
+ const result = await service.processFile(inputFile);
108
+ // Step 9: Show results
109
+ console.log(formatSuccessMessage(result.outputFiles, result.archiveResult));
110
+ }
34
111
  /**
35
112
  * Main interactive flow that guides users through the complete Legal Markdown processing workflow
36
113
  *
@@ -53,40 +130,8 @@ async function runInteractiveMode() {
53
130
  console.log(chalk.gray('Follow the prompts to configure your document processing.\n'));
54
131
  // Step 1: Select input file
55
132
  const inputFile = await selectInputFile();
56
- // Step 2: Select output formats
57
- const outputFormats = await selectOutputFormats();
58
- // Step 3: Configure processing options
59
- const processingOptions = await promptProcessingOptions(outputFormats);
60
- // Step 4: Select CSS file (if needed)
61
- const cssFile = await selectCssFile(outputFormats);
62
- // Step 5: Enter output filename
63
- const outputFilename = await promptOutputFilename(inputFile);
64
- // Step 6: Configure archive options
65
- const archiveResult = await promptArchiveOptions();
66
- const archiveOptions = {
67
- enabled: archiveResult.enableArchiving,
68
- directory: archiveResult.archiveDirectory,
69
- };
70
- // Build configuration
71
- const config = {
72
- inputFile,
73
- outputFilename,
74
- outputFormats,
75
- processingOptions,
76
- archiveOptions,
77
- cssFile,
78
- };
79
- // Step 7: Confirm configuration
80
- const confirmed = await confirmConfiguration(config);
81
- if (!confirmed) {
82
- console.log(chalk.yellow('\n❌ Operation cancelled.\n'));
83
- return;
84
- }
85
- // Step 8: Process files
86
- const service = new InteractiveService(config);
87
- const result = await service.processFile(inputFile);
88
- // Step 9: Show results
89
- console.log(formatSuccessMessage(result.outputFiles, result.archiveResult));
133
+ // Continue with the rest of the flow
134
+ await continueInteractiveFlow(inputFile);
90
135
  }
91
136
  catch (error) {
92
137
  if (error instanceof Error && error.message.includes('User force closed')) {
@@ -104,7 +149,15 @@ program
104
149
  .name('legal-md-ui')
105
150
  .description('Interactive CLI for Legal Markdown document processing')
106
151
  .version('0.1.0')
107
- .action(runInteractiveMode);
152
+ .option('--ftux', 'Launch First-Time User Experience (setup wizard)')
153
+ .action(async (options) => {
154
+ if (options.ftux) {
155
+ await runFtuxMode();
156
+ }
157
+ else {
158
+ await runInteractiveMode();
159
+ }
160
+ });
108
161
  // Parse command line arguments
109
162
  program.parse();
110
163
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAElF;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAEvF,4BAA4B;QAC5B,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;QAE1C,gCAAgC;QAChC,MAAM,aAAa,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAElD,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAEvE,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;QAEnD,gCAAgC;QAChC,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAE7D,oCAAoC;QACpC,MAAM,aAAa,GAAG,MAAM,oBAAoB,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,aAAa,CAAC,eAAe;YACtC,SAAS,EAAE,aAAa,CAAC,gBAAgB;SAC1C,CAAC;QAEF,sBAAsB;QACtB,MAAM,MAAM,GAAsB;YAChC,SAAS;YACT,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,cAAc;YACd,OAAO;SACR,CAAC;QAEF,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEpD,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,wBAAwB;AACxB,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,+BAA+B;AAC/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,13 @@
7
7
  *
8
8
  * @module
9
9
  */
10
- import { select, input } from '@inquirer/prompts';
11
- import * as path from 'path';
12
- import * as fs from 'fs';
10
+ import { select } from '@inquirer/prompts';
13
11
  import chalk from 'chalk';
14
12
  import { RESOLVED_PATHS } from '../../../constants/index.js';
15
- import { scanDirectory, isValidFile } from '../utils/file-scanner.js';
13
+ import { scanDirectory } from '../utils/file-scanner.js';
16
14
  import { formatWarningMessage } from '../utils/format-helpers.js';
15
+ import { handleFirstTimeUserExperience } from './ftux-handler.js';
16
+ import { handleBrowseFolder, handleManualInput } from '../utils/file-input-helpers.js';
17
17
  /** Option for browsing alternative directories */
18
18
  const BROWSE_OPTION = '📁 Browse other folder...';
19
19
  /** Option for manual path entry */
@@ -35,7 +35,7 @@ export async function selectInputFile() {
35
35
  const files = scanDirectory(RESOLVED_PATHS.DEFAULT_INPUT_DIR);
36
36
  if (files.length === 0) {
37
37
  console.log(formatWarningMessage('No supported files found in the default directory.'));
38
- return await handleManualInput();
38
+ return await handleFirstTimeUserExperience();
39
39
  }
40
40
  const choices = [
41
41
  ...files.map(file => ({
@@ -63,79 +63,4 @@ export async function selectInputFile() {
63
63
  return selectedFile;
64
64
  }
65
65
  }
66
- /**
67
- * Handle browsing to a different folder
68
- */
69
- async function handleBrowseFolder() {
70
- const folderPath = await input({
71
- message: 'Enter folder path to browse:',
72
- default: RESOLVED_PATHS.DEFAULT_INPUT_DIR,
73
- validate: (value) => {
74
- const resolvedPath = path.resolve(value);
75
- try {
76
- if (!fs.existsSync(resolvedPath)) {
77
- return 'Folder does not exist';
78
- }
79
- if (!fs.statSync(resolvedPath).isDirectory()) {
80
- return 'Path is not a directory';
81
- }
82
- return true;
83
- }
84
- catch {
85
- return 'Invalid folder path';
86
- }
87
- },
88
- });
89
- const resolvedPath = path.resolve(folderPath);
90
- console.log(chalk.cyan(`🔍 Searching for files in: ${resolvedPath}\n`));
91
- const files = scanDirectory(resolvedPath);
92
- if (files.length === 0) {
93
- console.log(formatWarningMessage('No supported files found in this directory.'));
94
- return await handleManualInput();
95
- }
96
- const choices = [
97
- ...files.map(file => ({
98
- name: file.name,
99
- value: file.path,
100
- })),
101
- { name: MANUAL_OPTION, value: MANUAL_OPTION },
102
- { name: EXIT_OPTION, value: EXIT_OPTION },
103
- ];
104
- const selectedFile = await select({
105
- message: 'Select an input file:',
106
- choices,
107
- });
108
- if (selectedFile === MANUAL_OPTION) {
109
- return await handleManualInput();
110
- }
111
- if (selectedFile === EXIT_OPTION) {
112
- console.log(chalk.yellow('👋 Goodbye!'));
113
- process.exit(0);
114
- }
115
- return selectedFile;
116
- }
117
- /**
118
- * Handle manual file path input
119
- */
120
- async function handleManualInput() {
121
- const filePath = await input({
122
- message: 'Enter file path:',
123
- validate: (value) => {
124
- if (!value.trim()) {
125
- return 'File path is required';
126
- }
127
- const resolvedPath = path.resolve(value.trim());
128
- if (!isValidFile(resolvedPath)) {
129
- return 'File does not exist or is not readable';
130
- }
131
- const ext = path.extname(resolvedPath).toLowerCase();
132
- const supportedExts = ['.md', '.markdown', '.rst', '.tex', '.latex', '.txt'];
133
- if (!supportedExts.includes(ext)) {
134
- return `Unsupported file type. Supported: ${supportedExts.join(', ')}`;
135
- }
136
- return true;
137
- },
138
- });
139
- return path.resolve(filePath.trim());
140
- }
141
66
  //# sourceMappingURL=file-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-selector.js","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/file-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-selector.js","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/file-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,kDAAkD;AAClD,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAClD,mCAAmC;AACnC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAClD,yCAAyC;AACzC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAE7B;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,cAAc,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;IAE5F,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAE9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,oDAAoD,CAAC,CAAC,CAAC;QACxF,OAAO,MAAM,6BAA6B,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,OAAO,GAAG;QACd,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;QAC7C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;QAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;KAC1C,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC;QAChC,OAAO,EAAE,uBAAuB;QAChC,OAAO;KACR,CAAC,CAAC;IAEH,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,MAAM,kBAAkB,EAAE,CAAC;QACpC,KAAK,aAAa;YAChB,OAAO,MAAM,iBAAiB,EAAE,CAAC;QACnC,KAAK,WAAW;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM;QACR;YACE,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * First Time User Experience (FTUX) handler for Interactive CLI
3
+ *
4
+ * This module provides an improved onboarding experience for new users
5
+ * when no files are found in the default directory, offering setup
6
+ * assistance, demo examples, and guided configuration.
7
+ *
8
+ * @module
9
+ */
10
+ /**
11
+ * Handle first-time user experience when no files are found
12
+ *
13
+ * Provides a friendly onboarding flow with multiple options to help
14
+ * new users get started with Legal Markdown processing.
15
+ *
16
+ * @returns Promise resolving to the selected input file path
17
+ * @throws Error when user cancels or no valid option is selected
18
+ */
19
+ export declare function handleFirstTimeUserExperience(): Promise<string>;
20
+ //# sourceMappingURL=ftux-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ftux-handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/ftux-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwCH;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC,CAuCrE"}