legal-markdown-js 3.0.3 → 3.1.0

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.
@@ -32,6 +32,12 @@ import { confirmConfiguration } from './prompts/confirmation.js';
32
32
  import { handleFirstTimeUserExperience } from './prompts/ftux-handler.js';
33
33
  import { InteractiveService } from './service.js';
34
34
  import { formatSuccessMessage, formatErrorMessage } from './utils/format-helpers.js';
35
+ import { readFileSync } from '../../utils/index.js';
36
+ import { parseYamlFrontMatter } from '../../core/parsers/yaml-parser.js';
37
+ import { extractForceCommands, parseForceCommands, applyForceCommands, } from '../../core/parsers/force-commands-parser.js';
38
+ import { CliService } from '../service.js';
39
+ import * as path from 'path';
40
+ import { RESOLVED_PATHS } from '../../constants/index.js';
35
41
  /**
36
42
  * Run FTUX (First-Time User Experience) mode
37
43
  *
@@ -73,6 +79,70 @@ async function runFtuxMode() {
73
79
  * @param inputFile - The file selected from FTUX
74
80
  */
75
81
  async function continueInteractiveFlow(inputFile) {
82
+ // Check for force commands in the file's frontmatter
83
+ try {
84
+ const content = readFileSync(inputFile);
85
+ const { metadata } = parseYamlFrontMatter(content);
86
+ const forceCommandsStr = extractForceCommands(metadata);
87
+ if (forceCommandsStr) {
88
+ console.log(chalk.cyan('\nšŸ“‹ Found force commands in document. Executing automatic configuration...\n'));
89
+ // Parse the force commands
90
+ const forceCommands = parseForceCommands(forceCommandsStr, metadata);
91
+ if (forceCommands) {
92
+ // Apply force commands using CliService directly
93
+ const baseOptions = {
94
+ debug: false,
95
+ yamlOnly: false,
96
+ noHeaders: false,
97
+ noClauses: false,
98
+ noReferences: false,
99
+ noImports: false,
100
+ noMixins: false,
101
+ noReset: false,
102
+ noIndent: false,
103
+ throwOnYamlError: false,
104
+ basePath: path.dirname(inputFile),
105
+ };
106
+ // Apply force commands to base options
107
+ const options = applyForceCommands(baseOptions, forceCommands);
108
+ // Determine output path
109
+ const outputBaseName = forceCommands.output || path.basename(inputFile, path.extname(inputFile));
110
+ const outputDir = forceCommands.outputPath || RESOLVED_PATHS.DEFAULT_OUTPUT_DIR;
111
+ // Process file with forced configuration - silent to avoid duplicate success messages
112
+ const cliService = new CliService({
113
+ ...options,
114
+ silent: true,
115
+ });
116
+ // Determine output file path - add extension to prevent path.basename from truncating name
117
+ // CliService will replace this extension with the appropriate ones for each format
118
+ const outputFile = path.join(outputDir, `${outputBaseName}.pdf`);
119
+ // Process once - CliService will handle all requested formats and highlight versions automatically
120
+ await cliService.processFile(inputFile, outputFile);
121
+ // Build list of expected output files for display
122
+ const outputFiles = [];
123
+ if (forceCommands.pdf) {
124
+ outputFiles.push(path.join(outputDir, `${outputBaseName}.pdf`));
125
+ if (forceCommands.highlight) {
126
+ outputFiles.push(path.join(outputDir, `${outputBaseName}.HIGHLIGHT.pdf`));
127
+ }
128
+ }
129
+ if (forceCommands.html) {
130
+ outputFiles.push(path.join(outputDir, `${outputBaseName}.html`));
131
+ if (forceCommands.highlight) {
132
+ outputFiles.push(path.join(outputDir, `${outputBaseName}.HIGHLIGHT.html`));
133
+ }
134
+ }
135
+ // Show success message
136
+ console.log(formatSuccessMessage(outputFiles));
137
+ return;
138
+ }
139
+ }
140
+ }
141
+ catch (error) {
142
+ // If there's any error parsing force commands, continue with normal flow
143
+ console.log(chalk.gray('No force commands found or error parsing. Continuing with interactive mode...\n'));
144
+ }
145
+ // Normal interactive flow
76
146
  // Step 2: Select output formats
77
147
  const outputFormats = await selectOutputFormats();
78
148
  // Step 3: Configure processing options
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"css-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/css-selector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC;;GAEG;AACH,wBAAsB,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6B5F"}
1
+ {"version":3,"file":"css-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/css-selector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC;;GAEG;AACH,wBAAsB,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiC5F"}
@@ -29,9 +29,12 @@ export async function selectCssFile(outputFormats) {
29
29
  value: file,
30
30
  })),
31
31
  ];
32
+ // If there's only one CSS file, pre-select it
33
+ const defaultChoice = cssFiles.length === 1 ? cssFiles[0] : undefined;
32
34
  const selectedCss = await select({
33
35
  message: 'Select a CSS file for styling:',
34
36
  choices,
37
+ default: defaultChoice,
35
38
  });
36
39
  return selectedCss;
37
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"css-selector.js","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/css-selector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,aAA2B;IAC7D,qDAAqD;IACrD,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,yBAAyB,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG;QACd,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;QACzC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC;QAC/B,OAAO,EAAE,gCAAgC;QACzC,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"css-selector.js","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/css-selector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,aAA2B;IAC7D,qDAAqD;IACrD,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,yBAAyB,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG;QACd,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;QACzC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ,CAAC;IAEF,8CAA8C;IAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC;QAC/B,OAAO,EAAE,gCAAgC;QACzC,OAAO;QACP,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"processing-options.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/processing-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,YAAY,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA2B5B"}
1
+ {"version":3,"file":"processing-options.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/processing-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,YAAY,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAmC5B"}
@@ -8,14 +8,22 @@ import { checkbox } from '@inquirer/prompts';
8
8
  export async function promptProcessingOptions(outputFormats) {
9
9
  console.log('\nāš™ļø Processing Options:\n');
10
10
  // Build choices based on selected output formats
11
- const choices = [{ name: 'šŸ› Debug mode', value: 'debug' }];
11
+ const choices = [{ name: 'šŸ› Debug mode', value: 'debug', checked: false }];
12
12
  // Add field tracking only if Markdown is selected
13
13
  if (outputFormats.markdown) {
14
- choices.push({ name: 'šŸ“ Field tracking in Markdown output', value: 'fieldTracking' });
14
+ choices.push({
15
+ name: 'šŸ“ Field tracking in Markdown output',
16
+ value: 'fieldTracking',
17
+ checked: false,
18
+ });
15
19
  }
16
- // Add highlight only if HTML or PDF is selected
20
+ // Add highlight only if HTML or PDF is selected - pre-selected by default
17
21
  if (outputFormats.html || outputFormats.pdf) {
18
- choices.push({ name: 'šŸŽÆ Field highlighting in HTML/PDF output', value: 'highlight' });
22
+ choices.push({
23
+ name: 'šŸŽÆ Field highlighting in HTML/PDF output',
24
+ value: 'highlight',
25
+ checked: true,
26
+ });
19
27
  }
20
28
  // If only debug is available, still show the checkbox for consistency
21
29
  const selectedOptions = await checkbox({
@@ -1 +1 @@
1
- {"version":3,"file":"processing-options.js","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/processing-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAA2B;IAE3B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,iDAAiD;IACjD,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAE5D,kDAAkD;IAClD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,gDAAgD;IAChD,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0CAA0C,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,sEAAsE;IACtE,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC;QACrC,OAAO,EAAE,4BAA4B;QACrC,OAAO;KACR,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxC,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC;QACxD,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC;KACjD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"processing-options.js","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/processing-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAA2B;IAE3B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,iDAAiD;IACjD,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5E,kDAAkD;IAClD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,sCAAsC;YAC5C,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,0CAA0C;YAChD,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,sEAAsE;IACtE,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC;QACrC,OAAO,EAAE,4BAA4B;QACrC,OAAO;KACR,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxC,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC;QACxD,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC;KACjD,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  "title": "Professional Services Agreement",
3
3
  "document_type": "Master Service Agreement",
4
4
  "version": "3.1",
5
- "effective_date": "\"2025-08-02\"",
5
+ "effective_date": "\"2025-08-06\"",
6
6
  "expiration_date": "2025-12-31",
7
7
  "parties": {
8
8
  "provider": {
@@ -21,7 +21,7 @@
21
21
  "name": "Enterprise Digital Transformation",
22
22
  "description": "Comprehensive digital transformation initiative",
23
23
  "duration": "18 months",
24
- "start_date": "\"2025-08-02\"",
24
+ "start_date": "\"2025-08-06\"",
25
25
  "end_date": "2026-06-30",
26
26
  "budget": 750000,
27
27
  "currency": "USD",
@@ -1,7 +1,7 @@
1
1
  title: Professional Services Agreement
2
2
  document_type: Master Service Agreement
3
3
  version: '3.1'
4
- effective_date: '"2025-08-02"'
4
+ effective_date: '"2025-08-06"'
5
5
  expiration_date: '2025-12-31'
6
6
  parties:
7
7
  provider:
@@ -17,7 +17,7 @@ project:
17
17
  name: Enterprise Digital Transformation
18
18
  description: Comprehensive digital transformation initiative
19
19
  duration: 18 months
20
- start_date: '"2025-08-02"'
20
+ start_date: '"2025-08-06"'
21
21
  end_date: '2026-06-30'
22
22
  budget: 750000
23
23
  currency: USD
@@ -2,7 +2,7 @@
2
2
  "title": "Enterprise Master Service Agreement",
3
3
  "document_type": "Master Service Agreement",
4
4
  "version": "2.3",
5
- "effective_date": "\"2025-08-02\"",
5
+ "effective_date": "\"2025-08-06\"",
6
6
  "expiration_date": "2026-12-31",
7
7
  "contract_value": 5000000,
8
8
  "parties": {
@@ -22,7 +22,7 @@
22
22
  "name": "Digital Transformation Initiative",
23
23
  "description": "Comprehensive enterprise modernization program",
24
24
  "duration": "36 months",
25
- "start_date": "\"2025-08-02\"",
25
+ "start_date": "\"2025-08-06\"",
26
26
  "end_date": "2027-12-31",
27
27
  "budget": 5000000,
28
28
  "currency": "USD",
@@ -1,7 +1,7 @@
1
1
  title: Enterprise Master Service Agreement
2
2
  document_type: Master Service Agreement
3
3
  version: '2.3'
4
- effective_date: '"2025-08-02"'
4
+ effective_date: '"2025-08-06"'
5
5
  expiration_date: '2026-12-31'
6
6
  contract_value: 5000000
7
7
  parties:
@@ -18,7 +18,7 @@ project:
18
18
  name: Digital Transformation Initiative
19
19
  description: Comprehensive enterprise modernization program
20
20
  duration: 36 months
21
- start_date: '"2025-08-02"'
21
+ start_date: '"2025-08-06"'
22
22
  end_date: '2027-12-31'
23
23
  budget: 5000000
24
24
  currency: USD
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "legal-markdown-js",
3
- "version": "3.0.3",
3
+ "version": "3.1.0",
4
4
  "description": "Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",