legal-markdown-js 2.14.1 ā 2.15.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.
- package/README.md +7 -7
- package/dist/browser.d.ts +5 -3
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +73 -57
- package/dist/browser.js.map +1 -1
- package/dist/cli/index.d.ts +3 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +26 -62
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive/index.js +26 -31
- package/dist/cli/interactive/index.js.map +1 -1
- package/dist/cli/interactive/prompts/archive-options.d.ts +2 -0
- package/dist/cli/interactive/prompts/archive-options.d.ts.map +1 -1
- package/dist/cli/interactive/prompts/archive-options.js +13 -17
- package/dist/cli/interactive/prompts/archive-options.js.map +1 -1
- package/dist/cli/interactive/prompts/confirmation.js +5 -8
- package/dist/cli/interactive/prompts/confirmation.js.map +1 -1
- package/dist/cli/interactive/prompts/css-selector.d.ts +3 -1
- package/dist/cli/interactive/prompts/css-selector.d.ts.map +1 -1
- package/dist/cli/interactive/prompts/css-selector.js +11 -12
- package/dist/cli/interactive/prompts/css-selector.js.map +1 -1
- package/dist/cli/interactive/prompts/file-selector.d.ts +2 -0
- package/dist/cli/interactive/prompts/file-selector.d.ts.map +1 -1
- package/dist/cli/interactive/prompts/file-selector.js +24 -61
- package/dist/cli/interactive/prompts/file-selector.js.map +1 -1
- package/dist/cli/interactive/prompts/filename.js +4 -40
- package/dist/cli/interactive/prompts/filename.js.map +1 -1
- package/dist/cli/interactive/prompts/output-format.js +3 -6
- package/dist/cli/interactive/prompts/output-format.js.map +1 -1
- package/dist/cli/interactive/prompts/processing-options.js +3 -6
- package/dist/cli/interactive/prompts/processing-options.js.map +1 -1
- package/dist/cli/interactive/service.d.ts.map +1 -1
- package/dist/cli/interactive/service.js +87 -68
- package/dist/cli/interactive/service.js.map +1 -1
- package/dist/cli/interactive/types.js +1 -2
- package/dist/cli/interactive/types.js.map +1 -1
- package/dist/cli/interactive/utils/file-scanner.js +5 -43
- package/dist/cli/interactive/utils/file-scanner.js.map +1 -1
- package/dist/cli/interactive/utils/format-helpers.d.ts.map +1 -1
- package/dist/cli/interactive/utils/format-helpers.js +29 -94
- package/dist/cli/interactive/utils/format-helpers.js.map +1 -1
- package/dist/cli/service.d.ts +1 -1
- package/dist/cli/service.d.ts.map +1 -1
- package/dist/cli/service.js +55 -90
- package/dist/cli/service.js.map +1 -1
- package/dist/constants/core.js +8 -11
- package/dist/constants/core.js.map +1 -1
- package/dist/constants/index.js +5 -19
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/paths.d.ts +2 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +16 -47
- package/dist/constants/paths.js.map +1 -1
- package/dist/constants/patterns.js +8 -11
- package/dist/constants/patterns.js.map +1 -1
- package/dist/constants/pdf.js +2 -5
- package/dist/constants/pdf.js.map +1 -1
- package/dist/core/exporters/metadata-exporter.d.ts +4 -2
- package/dist/core/exporters/metadata-exporter.d.ts.map +1 -1
- package/dist/core/exporters/metadata-exporter.js +44 -51
- package/dist/core/exporters/metadata-exporter.js.map +1 -1
- package/dist/core/helpers/date-helpers.js +4 -9
- package/dist/core/helpers/date-helpers.js.map +1 -1
- package/dist/core/helpers/index.js +10 -27
- package/dist/core/helpers/index.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +12 -31
- package/dist/core/index.js.map +1 -1
- package/dist/core/parsers/force-commands-parser.js +15 -20
- package/dist/core/parsers/force-commands-parser.js.map +1 -1
- package/dist/core/parsers/yaml-parser.d.ts +4 -2
- package/dist/core/parsers/yaml-parser.d.ts.map +1 -1
- package/dist/core/parsers/yaml-parser.js +15 -47
- package/dist/core/parsers/yaml-parser.js.map +1 -1
- package/dist/core/processors/base-processor.d.ts +4 -2
- package/dist/core/processors/base-processor.d.ts.map +1 -1
- package/dist/core/processors/base-processor.js +5 -7
- package/dist/core/processors/base-processor.js.map +1 -1
- package/dist/core/processors/clause-processor.d.ts +3 -1
- package/dist/core/processors/clause-processor.d.ts.map +1 -1
- package/dist/core/processors/clause-processor.js +5 -6
- package/dist/core/processors/clause-processor.js.map +1 -1
- package/dist/core/processors/date-processor.js +2 -5
- package/dist/core/processors/date-processor.js.map +1 -1
- package/dist/core/processors/header-processor.d.ts +1 -1
- package/dist/core/processors/header-processor.d.ts.map +1 -1
- package/dist/core/processors/header-processor.js +10 -89
- package/dist/core/processors/header-processor.js.map +1 -1
- package/dist/core/processors/import-processor.js +10 -47
- package/dist/core/processors/import-processor.js.map +1 -1
- package/dist/core/processors/mixin-processor.d.ts +4 -2
- package/dist/core/processors/mixin-processor.d.ts.map +1 -1
- package/dist/core/processors/mixin-processor.js +14 -15
- package/dist/core/processors/mixin-processor.js.map +1 -1
- package/dist/core/processors/reference-processor.d.ts +1 -1
- package/dist/core/processors/reference-processor.d.ts.map +1 -1
- package/dist/core/processors/reference-processor.js +105 -17
- package/dist/core/processors/reference-processor.js.map +1 -1
- package/dist/core/tracking/field-state.js +6 -12
- package/dist/core/tracking/field-state.js.map +1 -1
- package/dist/core/utils/frontmatter-merger.js +16 -21
- package/dist/core/utils/frontmatter-merger.js.map +1 -1
- package/dist/core/utils/object-flattener.js +5 -11
- package/dist/core/utils/object-flattener.js.map +1 -1
- package/dist/core/utils/reserved-fields-filter.js +9 -17
- package/dist/core/utils/reserved-fields-filter.js.map +1 -1
- package/dist/errors/index.js +19 -25
- package/dist/errors/index.js.map +1 -1
- package/dist/extensions/ast-mixin-processor.d.ts +3 -1
- package/dist/extensions/ast-mixin-processor.d.ts.map +1 -1
- package/dist/extensions/ast-mixin-processor.js +13 -18
- package/dist/extensions/ast-mixin-processor.js.map +1 -1
- package/dist/extensions/batch-processor.d.ts +4 -2
- package/dist/extensions/batch-processor.d.ts.map +1 -1
- package/dist/extensions/batch-processor.js +19 -53
- package/dist/extensions/batch-processor.js.map +1 -1
- package/dist/extensions/formatters/index.js +5 -9
- package/dist/extensions/formatters/index.js.map +1 -1
- package/dist/extensions/generators/html-generator.d.ts +3 -1
- package/dist/extensions/generators/html-generator.d.ts.map +1 -1
- package/dist/extensions/generators/html-generator.js +26 -60
- package/dist/extensions/generators/html-generator.js.map +1 -1
- package/dist/extensions/generators/index.js +3 -19
- package/dist/extensions/generators/index.js.map +1 -1
- package/dist/extensions/generators/pdf-generator.d.ts.map +1 -1
- package/dist/extensions/generators/pdf-generator.js +62 -97
- package/dist/extensions/generators/pdf-generator.js.map +1 -1
- package/dist/extensions/generators/pdf-templates.d.ts +3 -1
- package/dist/extensions/generators/pdf-templates.d.ts.map +1 -1
- package/dist/extensions/generators/pdf-templates.js +19 -21
- package/dist/extensions/generators/pdf-templates.js.map +1 -1
- package/dist/extensions/helpers/advanced-date-helpers.js +7 -14
- package/dist/extensions/helpers/advanced-date-helpers.js.map +1 -1
- package/dist/extensions/helpers/index.js +43 -60
- package/dist/extensions/helpers/index.js.map +1 -1
- package/dist/extensions/helpers/number-helpers.js +10 -21
- package/dist/extensions/helpers/number-helpers.js.map +1 -1
- package/dist/extensions/helpers/string-helpers.js +18 -37
- package/dist/extensions/helpers/string-helpers.js.map +1 -1
- package/dist/extensions/index.d.ts +7 -6
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +15 -29
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/latex-parser.js +14 -21
- package/dist/extensions/latex-parser.js.map +1 -1
- package/dist/extensions/parsers/content-detector.js +3 -7
- package/dist/extensions/parsers/content-detector.js.map +1 -1
- package/dist/extensions/parsers/fallback-parsers.js +1 -5
- package/dist/extensions/parsers/fallback-parsers.js.map +1 -1
- package/dist/extensions/parsers/implementations/index.js +2 -18
- package/dist/extensions/parsers/implementations/index.js.map +1 -1
- package/dist/extensions/parsers/implementations/pandoc-native.js +4 -7
- package/dist/extensions/parsers/implementations/pandoc-native.js.map +1 -1
- package/dist/extensions/parsers/implementations/pandoc-wasm.js +3 -5
- package/dist/extensions/parsers/implementations/pandoc-wasm.js.map +1 -1
- package/dist/extensions/parsers/index.d.ts +4 -2
- package/dist/extensions/parsers/index.d.ts.map +1 -1
- package/dist/extensions/parsers/index.js +9 -23
- package/dist/extensions/parsers/index.js.map +1 -1
- package/dist/extensions/parsers/pandoc-factory.js +13 -17
- package/dist/extensions/parsers/pandoc-factory.js.map +1 -1
- package/dist/extensions/parsers/pandoc-loader.js +6 -43
- package/dist/extensions/parsers/pandoc-loader.js.map +1 -1
- package/dist/extensions/parsers/pandoc-parser.js +1 -2
- package/dist/extensions/pipeline/pipeline-config.d.ts +4 -2
- package/dist/extensions/pipeline/pipeline-config.d.ts.map +1 -1
- package/dist/extensions/pipeline/pipeline-config.js +67 -105
- package/dist/extensions/pipeline/pipeline-config.js.map +1 -1
- package/dist/extensions/pipeline/pipeline-logger.js +17 -21
- package/dist/extensions/pipeline/pipeline-logger.js.map +1 -1
- package/dist/extensions/pipeline/pipeline-manager.d.ts +3 -1
- package/dist/extensions/pipeline/pipeline-manager.d.ts.map +1 -1
- package/dist/extensions/pipeline/pipeline-manager.js +25 -26
- package/dist/extensions/pipeline/pipeline-manager.js.map +1 -1
- package/dist/extensions/pipeline/types.d.ts +6 -4
- package/dist/extensions/pipeline/types.d.ts.map +1 -1
- package/dist/extensions/pipeline/types.js +5 -4
- package/dist/extensions/pipeline/types.js.map +1 -1
- package/dist/extensions/remark/legal-markdown-processor.d.ts +152 -0
- package/dist/extensions/remark/legal-markdown-processor.d.ts.map +1 -0
- package/dist/extensions/remark/legal-markdown-processor.js +334 -0
- package/dist/extensions/remark/legal-markdown-processor.js.map +1 -0
- package/dist/extensions/rst-parser.js +14 -21
- package/dist/extensions/rst-parser.js.map +1 -1
- package/dist/extensions/template-loops.js +7 -10
- package/dist/extensions/template-loops.js.map +1 -1
- package/dist/extensions/tracking/field-tracker.d.ts +5 -0
- package/dist/extensions/tracking/field-tracker.d.ts.map +1 -1
- package/dist/extensions/tracking/field-tracker.js +86 -40
- package/dist/extensions/tracking/field-tracker.js.map +1 -1
- package/dist/extensions/utilities/index.js +7 -12
- package/dist/extensions/utilities/index.js.map +1 -1
- package/dist/extensions/validators/index.js +3 -6
- package/dist/extensions/validators/index.js.map +1 -1
- package/dist/index.d.ts +12 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -94
- package/dist/index.js.map +1 -1
- package/dist/legal-markdown.umd.min.js +1 -1
- package/dist/legal-markdown.umd.min.js.map +1 -1
- package/dist/plugins/index.d.ts +8 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +8 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/remark/clauses.d.ts +56 -0
- package/dist/plugins/remark/clauses.d.ts.map +1 -0
- package/dist/plugins/remark/clauses.js +346 -0
- package/dist/plugins/remark/clauses.js.map +1 -0
- package/dist/plugins/remark/cross-references.d.ts +65 -0
- package/dist/plugins/remark/cross-references.d.ts.map +1 -0
- package/dist/plugins/remark/cross-references.js +460 -0
- package/dist/plugins/remark/cross-references.js.map +1 -0
- package/dist/plugins/remark/field-tracking.d.ts +51 -0
- package/dist/plugins/remark/field-tracking.d.ts.map +1 -0
- package/dist/plugins/remark/field-tracking.js +168 -0
- package/dist/plugins/remark/field-tracking.js.map +1 -0
- package/dist/plugins/remark/headers.d.ts +64 -0
- package/dist/plugins/remark/headers.d.ts.map +1 -0
- package/dist/plugins/remark/headers.js +293 -0
- package/dist/plugins/remark/headers.js.map +1 -0
- package/dist/plugins/remark/imports.d.ts +94 -0
- package/dist/plugins/remark/imports.d.ts.map +1 -0
- package/dist/plugins/remark/imports.js +345 -0
- package/dist/plugins/remark/imports.js.map +1 -0
- package/dist/plugins/remark/index.d.ts +23 -0
- package/dist/plugins/remark/index.d.ts.map +1 -0
- package/dist/plugins/remark/index.js +17 -0
- package/dist/plugins/remark/index.js.map +1 -0
- package/dist/plugins/remark/mixins.d.ts +64 -0
- package/dist/plugins/remark/mixins.d.ts.map +1 -0
- package/dist/plugins/remark/mixins.js +286 -0
- package/dist/plugins/remark/mixins.js.map +1 -0
- package/dist/plugins/remark/template-fields.d.ts +64 -0
- package/dist/plugins/remark/template-fields.d.ts.map +1 -0
- package/dist/plugins/remark/template-fields.js +489 -0
- package/dist/plugins/remark/template-fields.js.map +1 -0
- package/dist/styles/default.css +3 -0
- package/dist/styles/highlight.css +29 -13
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -4
- package/dist/types.js.map +1 -1
- package/dist/utils/archive-manager.js +6 -43
- package/dist/utils/archive-manager.js.map +1 -1
- package/dist/utils/env-discovery.js +10 -49
- package/dist/utils/env-discovery.js.map +1 -1
- package/dist/utils/esm-utils.d.ts +39 -0
- package/dist/utils/esm-utils.d.ts.map +1 -0
- package/dist/utils/esm-utils.js +84 -0
- package/dist/utils/esm-utils.js.map +1 -0
- package/dist/utils/file-naming.js +9 -49
- package/dist/utils/file-naming.js.map +1 -1
- package/dist/utils/file-system.d.ts +90 -0
- package/dist/utils/file-system.d.ts.map +1 -0
- package/dist/utils/file-system.js +119 -0
- package/dist/utils/file-system.js.map +1 -0
- package/dist/utils/functional.d.ts +61 -0
- package/dist/utils/functional.d.ts.map +1 -0
- package/dist/utils/functional.js +86 -0
- package/dist/utils/functional.js.map +1 -0
- package/dist/utils/index.d.ts +17 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.js +3 -6
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/number-utilities.d.ts +47 -0
- package/dist/utils/number-utilities.d.ts.map +1 -0
- package/dist/utils/number-utilities.js +85 -0
- package/dist/utils/number-utilities.js.map +1 -0
- package/dist/utils/validation.d.ts +49 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +59 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/web/bundle.js +5 -3
- package/dist/web/index.html +35 -18
- package/dist/web/legal-markdown.umd.min.js +1 -1
- package/dist/web/standalone.html +5 -2
- package/package.json +61 -32
- package/scripts/build-paths.js +7 -4
- package/scripts/build-web.js +7 -4
- package/scripts/fix-build-extensions.js +91 -0
- package/scripts/fix-esm-imports.js +130 -0
- package/scripts/{generate-readmes.js ā generate-readmes.cjs} +76 -11
- package/dist/lib/index.d.ts +0 -150
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -265
- package/dist/lib/index.js.map +0 -1
- /package/scripts/{build-packages.js ā build-packages.cjs} +0 -0
- /package/scripts/{generate-run-scripts.js ā generate-run-scripts.cjs} +0 -0
- /package/scripts/{setup-config.js ā setup-config.cjs} +0 -0
- /package/scripts/visual-tests/{generate-contract.js ā generate-contract.cjs} +0 -0
- /package/scripts/visual-tests/{generate-ticket.js ā generate-ticket.cjs} +0 -0
- /package/scripts/{web-serve.js ā web-serve.cjs} +0 -0
package/README.md
CHANGED
|
@@ -241,25 +241,25 @@ const result = await processLegalMarkdownAsync(content, options);
|
|
|
241
241
|
|
|
242
242
|
### User Documentation
|
|
243
243
|
|
|
244
|
-
- **[Getting Started](docs/
|
|
245
|
-
- **[CLI Reference](docs/
|
|
244
|
+
- **[Getting Started](docs/getting_started.md)** - Installation and setup guide
|
|
245
|
+
- **[CLI Reference](docs/cli_reference.md)** - Complete command-line interface
|
|
246
246
|
documentation
|
|
247
|
-
- **[Features Guide](docs/
|
|
247
|
+
- **[Features Guide](docs/features_guide.md)** - All features, helpers, and
|
|
248
248
|
advanced usage
|
|
249
|
-
- **[Headers & Numbering](docs/
|
|
249
|
+
- **[Headers & Numbering](docs/headers_numbering.md)** - Hierarchical numbering
|
|
250
250
|
system guide
|
|
251
|
-
- **[CSS Classes Reference](docs/
|
|
251
|
+
- **[CSS Classes Reference](docs/css-classes.md)** - CSS classes for styling and
|
|
252
252
|
document review
|
|
253
253
|
- **[Compatibility](docs/COMPATIBILITY.md)** - Ruby version compatibility
|
|
254
254
|
tracking
|
|
255
255
|
|
|
256
256
|
### Developer Documentation
|
|
257
257
|
|
|
258
|
-
- **[Architecture](docs/
|
|
258
|
+
- **[Architecture](docs/architecture.md)** - Complete system architecture and
|
|
259
259
|
design patterns
|
|
260
260
|
- **[Contributing Guide](docs/CONTRIBUTING.md)** - Development workflow,
|
|
261
261
|
standards, and contribution guidelines
|
|
262
|
-
- **[Helper Functions](docs/
|
|
262
|
+
- **[Helper Functions](docs/helpers.md)** - Complete reference for template
|
|
263
263
|
helpers and functions
|
|
264
264
|
- **[Development Guide](docs/DEVELOPMENT-GUIDE.md)** - Complete developer setup
|
|
265
265
|
and workflow
|
package/dist/browser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser-Specific Entry Point for Legal Markdown Processing
|
|
3
3
|
*
|
|
4
4
|
* This module provides a browser-compatible version of the Legal Markdown
|
|
5
5
|
* processing library that excludes Node.js-specific features like file system
|
|
@@ -29,9 +29,11 @@
|
|
|
29
29
|
* console.log(result.content); // Processed markdown
|
|
30
30
|
* console.log(result.metadata); // YAML front matter
|
|
31
31
|
* ```
|
|
32
|
+
*
|
|
33
|
+
* @module
|
|
32
34
|
*/
|
|
33
|
-
import { fieldTracker } from '
|
|
34
|
-
import { LegalMarkdownOptions } from '
|
|
35
|
+
import { fieldTracker } from './extensions/tracking/field-tracker';
|
|
36
|
+
import { LegalMarkdownOptions } from './types';
|
|
35
37
|
/**
|
|
36
38
|
* Browser-compatible version of Legal Markdown processing
|
|
37
39
|
*
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
package/dist/browser.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* Browser-Specific Entry Point for Legal Markdown Processing
|
|
4
3
|
*
|
|
5
4
|
* This module provides a browser-compatible version of the Legal Markdown
|
|
6
5
|
* processing library that excludes Node.js-specific features like file system
|
|
@@ -30,38 +29,52 @@
|
|
|
30
29
|
* console.log(result.content); // Processed markdown
|
|
31
30
|
* console.log(result.metadata); // YAML front matter
|
|
32
31
|
* ```
|
|
32
|
+
*
|
|
33
|
+
* @module
|
|
33
34
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const reference_processor_1 = require("./core/processors/reference-processor");
|
|
41
|
-
const mixin_processor_1 = require("./core/processors/mixin-processor");
|
|
35
|
+
import { parseYamlFrontMatter } from './core/parsers/yaml-parser.js';
|
|
36
|
+
import { processHeaders } from './core/processors/header-processor.js';
|
|
37
|
+
import { processOptionalClauses } from './core/processors/clause-processor.js';
|
|
38
|
+
import { processCrossReferences } from './core/processors/reference-processor.js';
|
|
39
|
+
import { processMixins } from './extensions/ast-mixin-processor.js';
|
|
40
|
+
import { processTemplateLoops } from './extensions/template-loops.js';
|
|
42
41
|
// Import with fallback for browser environments
|
|
43
42
|
let convertRstToLegalMarkdownSync;
|
|
44
43
|
let convertLatexToLegalMarkdownSync;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
44
|
+
// Browser-safe fallback implementations
|
|
45
|
+
// These are set as fallbacks since pandoc-wasm may not be available in all browser environments
|
|
46
|
+
convertRstToLegalMarkdownSync = (content) => {
|
|
47
|
+
// In browser environments, RST parsing requires pandoc-wasm which may not be available
|
|
48
|
+
// Return content unchanged as fallback
|
|
49
|
+
return content;
|
|
50
|
+
};
|
|
51
|
+
convertLatexToLegalMarkdownSync = (content) => {
|
|
52
|
+
// In browser environments, LaTeX parsing requires pandoc-wasm which may not be available
|
|
53
|
+
// Return content unchanged as fallback
|
|
54
|
+
return content;
|
|
55
|
+
};
|
|
56
|
+
// Try to load parsers if available (Node.js or bundled environments)
|
|
57
|
+
if (typeof window === 'undefined') {
|
|
58
|
+
// Node.js environment - try to load actual parsers
|
|
59
|
+
try {
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
61
|
+
const rstParser = require('./extensions/rst-parser');
|
|
62
|
+
convertRstToLegalMarkdownSync = rstParser.convertRstToLegalMarkdownSync;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
// Keep fallback
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
69
|
+
const latexParser = require('./extensions/latex-parser');
|
|
70
|
+
convertLatexToLegalMarkdownSync = latexParser.convertLatexToLegalMarkdownSync;
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
// Keep fallback
|
|
74
|
+
}
|
|
62
75
|
}
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
import { fieldTracker } from './extensions/tracking/field-tracker.js';
|
|
77
|
+
import { logger } from './utils/logger.js';
|
|
65
78
|
/**
|
|
66
79
|
* Browser-compatible version of Legal Markdown processing
|
|
67
80
|
*
|
|
@@ -89,76 +102,79 @@ const logger_1 = require("./utils/logger");
|
|
|
89
102
|
* console.log(result.fieldReport); // Field usage report
|
|
90
103
|
* ```
|
|
91
104
|
*/
|
|
92
|
-
function processLegalMarkdown(content, options = {}) {
|
|
105
|
+
export function processLegalMarkdown(content, options = {}) {
|
|
93
106
|
// Configure debug logging
|
|
94
107
|
if (options.debug) {
|
|
95
|
-
|
|
96
|
-
|
|
108
|
+
logger.setDebugEnabled(true);
|
|
109
|
+
logger.debug('Debug mode enabled for Legal Markdown processing', { options });
|
|
97
110
|
}
|
|
98
111
|
else {
|
|
99
|
-
|
|
112
|
+
logger.setDebugEnabled(false);
|
|
100
113
|
}
|
|
101
114
|
// Clear field tracker for new document
|
|
102
|
-
|
|
115
|
+
fieldTracker.clear();
|
|
103
116
|
// Convert RST or LaTeX to legal markdown if needed (before YAML parsing)
|
|
104
117
|
let preprocessedContent = convertRstToLegalMarkdownSync(content);
|
|
105
118
|
preprocessedContent = convertLatexToLegalMarkdownSync(preprocessedContent);
|
|
106
119
|
// Parse YAML Front Matter
|
|
107
|
-
const { content: contentWithoutYaml, metadata } =
|
|
108
|
-
|
|
120
|
+
const { content: contentWithoutYaml, metadata } = parseYamlFrontMatter(preprocessedContent, options.throwOnYamlError);
|
|
121
|
+
logger.debug('YAML front matter parsed', {
|
|
109
122
|
metadata,
|
|
110
123
|
yamlVariables: Object.keys(metadata || {}).length,
|
|
111
124
|
});
|
|
112
125
|
// If only processing YAML, return early
|
|
113
126
|
if (options.yamlOnly) {
|
|
114
|
-
|
|
127
|
+
logger.debug('YAML-only processing mode: returning content without variable substitution');
|
|
115
128
|
return { content: contentWithoutYaml, metadata };
|
|
116
129
|
}
|
|
117
130
|
let processedContent = contentWithoutYaml;
|
|
118
|
-
|
|
131
|
+
logger.debug('Starting content processing', { contentLength: processedContent.length });
|
|
119
132
|
// Process optional clauses
|
|
120
133
|
if (!options.noClauses) {
|
|
121
|
-
|
|
122
|
-
processedContent =
|
|
134
|
+
logger.debug('Processing optional clauses');
|
|
135
|
+
processedContent = processOptionalClauses(processedContent, metadata);
|
|
123
136
|
}
|
|
124
137
|
else {
|
|
125
|
-
|
|
138
|
+
logger.debug('Skipping optional clauses processing');
|
|
126
139
|
}
|
|
127
140
|
// Process cross references
|
|
128
141
|
if (!options.noReferences) {
|
|
129
|
-
|
|
130
|
-
processedContent =
|
|
142
|
+
logger.debug('Processing cross references');
|
|
143
|
+
processedContent = processCrossReferences(processedContent, metadata);
|
|
131
144
|
}
|
|
132
145
|
else {
|
|
133
|
-
|
|
146
|
+
logger.debug('Skipping cross references processing');
|
|
134
147
|
}
|
|
135
|
-
// Process mixins
|
|
148
|
+
// Process mixins (using improved AST-based processor)
|
|
136
149
|
if (!options.noMixins) {
|
|
137
|
-
|
|
138
|
-
processedContent =
|
|
150
|
+
logger.debug('Processing mixins and template variables with AST-based processor');
|
|
151
|
+
processedContent = processMixins(processedContent, metadata, options);
|
|
139
152
|
}
|
|
140
153
|
else {
|
|
141
|
-
|
|
154
|
+
logger.debug('Skipping mixins processing');
|
|
142
155
|
}
|
|
156
|
+
// Process template loops (using improved processor)
|
|
157
|
+
logger.debug('Processing template loops');
|
|
158
|
+
processedContent = processTemplateLoops(processedContent, metadata, undefined, options.enableFieldTrackingInMarkdown || false);
|
|
143
159
|
// Process headers (numbering, etc)
|
|
144
160
|
if (!options.noHeaders) {
|
|
145
|
-
|
|
146
|
-
processedContent =
|
|
161
|
+
logger.debug('Processing headers and numbering');
|
|
162
|
+
processedContent = processHeaders(processedContent, metadata, {
|
|
147
163
|
noReset: options.noReset,
|
|
148
164
|
noIndent: options.noIndent,
|
|
149
165
|
enableFieldTrackingInMarkdown: options.enableFieldTrackingInMarkdown,
|
|
150
166
|
});
|
|
151
167
|
}
|
|
152
168
|
else {
|
|
153
|
-
|
|
169
|
+
logger.debug('Skipping headers processing');
|
|
154
170
|
}
|
|
155
171
|
// Apply field tracking to content if highlighting is enabled
|
|
156
172
|
if (options.enableFieldTracking) {
|
|
157
|
-
|
|
158
|
-
processedContent =
|
|
173
|
+
logger.debug('Applying field tracking to content');
|
|
174
|
+
processedContent = fieldTracker.applyFieldTracking(processedContent);
|
|
159
175
|
}
|
|
160
|
-
const fieldReport = options.enableFieldTracking ?
|
|
161
|
-
|
|
176
|
+
const fieldReport = options.enableFieldTracking ? fieldTracker.generateReport() : undefined;
|
|
177
|
+
logger.debug('Legal Markdown processing completed', {
|
|
162
178
|
outputLength: processedContent.length,
|
|
163
179
|
fieldsTracked: fieldReport?.total || 0,
|
|
164
180
|
yamlVariables: Object.keys(metadata || {}).length,
|
|
@@ -186,12 +202,12 @@ function processLegalMarkdown(content, options = {}) {
|
|
|
186
202
|
* const result = window.LegalMarkdown.processLegalMarkdown(content);
|
|
187
203
|
* ```
|
|
188
204
|
*/
|
|
189
|
-
|
|
205
|
+
export const LegalMarkdown = {
|
|
190
206
|
processLegalMarkdown,
|
|
191
207
|
};
|
|
192
208
|
// Create global window object for script tag usage
|
|
193
209
|
if (typeof window !== 'undefined') {
|
|
194
210
|
// eslint-disable-next-line no-undef
|
|
195
|
-
window.LegalMarkdown =
|
|
211
|
+
window.LegalMarkdown = LegalMarkdown;
|
|
196
212
|
}
|
|
197
213
|
//# sourceMappingURL=browser.js.map
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Command Line Interface for Legal Markdown Processing
|
|
4
4
|
*
|
|
5
5
|
* This module provides a comprehensive CLI tool for processing Legal Markdown
|
|
6
6
|
* documents with support for various output formats, processing options, and
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
* # Export metadata
|
|
32
32
|
* legal-md input.md --export-yaml --output-path metadata.yaml
|
|
33
33
|
* ```
|
|
34
|
+
*
|
|
35
|
+
* @module
|
|
34
36
|
*/
|
|
35
37
|
export {};
|
|
36
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
3
|
+
* Command Line Interface for Legal Markdown Processing
|
|
5
4
|
*
|
|
6
5
|
* This module provides a comprehensive CLI tool for processing Legal Markdown
|
|
7
6
|
* documents with support for various output formats, processing options, and
|
|
@@ -32,50 +31,15 @@
|
|
|
32
31
|
* # Export metadata
|
|
33
32
|
* legal-md input.md --export-yaml --output-path metadata.yaml
|
|
34
33
|
* ```
|
|
34
|
+
*
|
|
35
|
+
* @module
|
|
35
36
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Object.defineProperty(o, k2, desc);
|
|
43
|
-
}) : (function(o, m, k, k2) {
|
|
44
|
-
if (k2 === undefined) k2 = k;
|
|
45
|
-
o[k2] = m[k];
|
|
46
|
-
}));
|
|
47
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
48
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
49
|
-
}) : function(o, v) {
|
|
50
|
-
o["default"] = v;
|
|
51
|
-
});
|
|
52
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
53
|
-
var ownKeys = function(o) {
|
|
54
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
55
|
-
var ar = [];
|
|
56
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
57
|
-
return ar;
|
|
58
|
-
};
|
|
59
|
-
return ownKeys(o);
|
|
60
|
-
};
|
|
61
|
-
return function (mod) {
|
|
62
|
-
if (mod && mod.__esModule) return mod;
|
|
63
|
-
var result = {};
|
|
64
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
65
|
-
__setModuleDefault(result, mod);
|
|
66
|
-
return result;
|
|
67
|
-
};
|
|
68
|
-
})();
|
|
69
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
70
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
71
|
-
};
|
|
72
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
73
|
-
const commander_1 = require("commander");
|
|
74
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
75
|
-
const fs = __importStar(require("fs"));
|
|
76
|
-
const service_1 = require("./service");
|
|
77
|
-
const _errors_1 = require("../errors/index.js");
|
|
78
|
-
const _constants_1 = require("../constants/index.js");
|
|
37
|
+
import { Command } from 'commander';
|
|
38
|
+
import chalk from 'chalk';
|
|
39
|
+
import * as fs from 'fs';
|
|
40
|
+
import { CliService } from './service.js';
|
|
41
|
+
import { FileNotFoundError } from '../errors/index.js';
|
|
42
|
+
import { RESOLVED_PATHS } from '../constants/index.js';
|
|
79
43
|
/**
|
|
80
44
|
* Helper function to read content from standard input
|
|
81
45
|
*
|
|
@@ -98,7 +62,7 @@ async function readStdin() {
|
|
|
98
62
|
});
|
|
99
63
|
}
|
|
100
64
|
// Create program
|
|
101
|
-
const program = new
|
|
65
|
+
const program = new Command();
|
|
102
66
|
// Setup CLI information
|
|
103
67
|
program
|
|
104
68
|
.name('legal-md')
|
|
@@ -156,7 +120,7 @@ program
|
|
|
156
120
|
exportMetadata: options.exportYaml || options.exportJson,
|
|
157
121
|
exportFormat: options.exportYaml ? 'yaml' : 'json',
|
|
158
122
|
exportPath: options.outputPath,
|
|
159
|
-
basePath:
|
|
123
|
+
basePath: RESOLVED_PATHS.DEFAULT_INPUT_DIR,
|
|
160
124
|
verbose: options.debug,
|
|
161
125
|
pdf: options.pdf,
|
|
162
126
|
html: options.html,
|
|
@@ -170,7 +134,7 @@ program
|
|
|
170
134
|
title: options.title,
|
|
171
135
|
archiveSource: options.archiveSource,
|
|
172
136
|
};
|
|
173
|
-
const cliService = new
|
|
137
|
+
const cliService = new CliService(cliOptions);
|
|
174
138
|
const result = await cliService.processContent(stdinContent);
|
|
175
139
|
// When using stdin, first argument is the output file
|
|
176
140
|
const outputFile = input;
|
|
@@ -185,17 +149,17 @@ program
|
|
|
185
149
|
}
|
|
186
150
|
// Handle input file
|
|
187
151
|
if (!input) {
|
|
188
|
-
console.error(
|
|
189
|
-
console.error(
|
|
190
|
-
console.error(
|
|
191
|
-
console.error(
|
|
192
|
-
console.error(
|
|
193
|
-
console.error(
|
|
152
|
+
console.error(chalk.red('Error: Input file is required\n'));
|
|
153
|
+
console.error(chalk.yellow('Usage examples:'));
|
|
154
|
+
console.error(chalk.cyan(' legal-md document.md output.md ') + '# Process file to file');
|
|
155
|
+
console.error(chalk.cyan(' legal-md document.md --stdout ') + '# Process file to stdout');
|
|
156
|
+
console.error(chalk.cyan(' legal-md document.md --pdf --title "Doc" ') + '# Generate PDF');
|
|
157
|
+
console.error(chalk.cyan(' legal-md document.md --html --highlight ') +
|
|
194
158
|
'# Generate HTML with highlighting');
|
|
195
|
-
console.error(
|
|
159
|
+
console.error(chalk.cyan(' legal-md doc.md --disable-frontmatter-merge') +
|
|
196
160
|
'# Disable imported frontmatter merging');
|
|
197
|
-
console.error(
|
|
198
|
-
console.error(
|
|
161
|
+
console.error(chalk.cyan(' cat document.md | legal-md --stdin ') + '# Process from stdin');
|
|
162
|
+
console.error(chalk.cyan(' legal-md --help ') + '# Show all options\n');
|
|
199
163
|
process.exit(1);
|
|
200
164
|
}
|
|
201
165
|
const cliOptions = {
|
|
@@ -213,7 +177,7 @@ program
|
|
|
213
177
|
exportMetadata: options.exportYaml || options.exportJson,
|
|
214
178
|
exportFormat: options.exportYaml ? 'yaml' : 'json',
|
|
215
179
|
exportPath: options.outputPath,
|
|
216
|
-
basePath:
|
|
180
|
+
basePath: RESOLVED_PATHS.DEFAULT_INPUT_DIR,
|
|
217
181
|
verbose: options.debug,
|
|
218
182
|
pdf: options.pdf,
|
|
219
183
|
html: options.html,
|
|
@@ -227,7 +191,7 @@ program
|
|
|
227
191
|
title: options.title,
|
|
228
192
|
archiveSource: options.archiveSource,
|
|
229
193
|
};
|
|
230
|
-
const cliService = new
|
|
194
|
+
const cliService = new CliService(cliOptions);
|
|
231
195
|
// Force stdout if --stdout flag is used
|
|
232
196
|
if (options.stdout) {
|
|
233
197
|
await cliService.processFile(input);
|
|
@@ -237,11 +201,11 @@ program
|
|
|
237
201
|
}
|
|
238
202
|
}
|
|
239
203
|
catch (error) {
|
|
240
|
-
if (error instanceof
|
|
241
|
-
console.error(
|
|
204
|
+
if (error instanceof FileNotFoundError) {
|
|
205
|
+
console.error(chalk.red('Error: Input file not found'));
|
|
242
206
|
process.exit(1);
|
|
243
207
|
}
|
|
244
|
-
console.error(
|
|
208
|
+
console.error(chalk.red('Error processing document:'));
|
|
245
209
|
console.error(error);
|
|
246
210
|
process.exit(1);
|
|
247
211
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
/**
|
|
4
3
|
* Interactive CLI for Legal Markdown Processing
|
|
5
4
|
*
|
|
@@ -21,21 +20,17 @@
|
|
|
21
20
|
* legal-md-ui
|
|
22
21
|
* ```
|
|
23
22
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const archive_options_1 = require("./prompts/archive-options");
|
|
36
|
-
const confirmation_1 = require("./prompts/confirmation");
|
|
37
|
-
const service_1 = require("./service");
|
|
38
|
-
const format_helpers_1 = require("./utils/format-helpers");
|
|
23
|
+
import { Command } from 'commander';
|
|
24
|
+
import chalk from 'chalk';
|
|
25
|
+
import { selectInputFile } from './prompts/file-selector.js';
|
|
26
|
+
import { selectOutputFormats } from './prompts/output-format.js';
|
|
27
|
+
import { promptProcessingOptions } from './prompts/processing-options.js';
|
|
28
|
+
import { selectCssFile } from './prompts/css-selector.js';
|
|
29
|
+
import { promptOutputFilename } from './prompts/filename.js';
|
|
30
|
+
import { promptArchiveOptions } from './prompts/archive-options.js';
|
|
31
|
+
import { confirmConfiguration } from './prompts/confirmation.js';
|
|
32
|
+
import { InteractiveService } from './service.js';
|
|
33
|
+
import { formatSuccessMessage, formatErrorMessage } from './utils/format-helpers.js';
|
|
39
34
|
/**
|
|
40
35
|
* Main interactive flow that guides users through the complete Legal Markdown processing workflow
|
|
41
36
|
*
|
|
@@ -54,20 +49,20 @@ const format_helpers_1 = require("./utils/format-helpers");
|
|
|
54
49
|
*/
|
|
55
50
|
async function runInteractiveMode() {
|
|
56
51
|
try {
|
|
57
|
-
console.log(
|
|
58
|
-
console.log(
|
|
52
|
+
console.log(chalk.bold.blue('\nšÆ Legal Markdown Interactive CLI\n'));
|
|
53
|
+
console.log(chalk.gray('Follow the prompts to configure your document processing.\n'));
|
|
59
54
|
// Step 1: Select input file
|
|
60
|
-
const inputFile = await
|
|
55
|
+
const inputFile = await selectInputFile();
|
|
61
56
|
// Step 2: Select output formats
|
|
62
|
-
const outputFormats = await
|
|
57
|
+
const outputFormats = await selectOutputFormats();
|
|
63
58
|
// Step 3: Configure processing options
|
|
64
|
-
const processingOptions = await
|
|
59
|
+
const processingOptions = await promptProcessingOptions(outputFormats);
|
|
65
60
|
// Step 4: Select CSS file (if needed)
|
|
66
|
-
const cssFile = await
|
|
61
|
+
const cssFile = await selectCssFile(outputFormats);
|
|
67
62
|
// Step 5: Enter output filename
|
|
68
|
-
const outputFilename = await
|
|
63
|
+
const outputFilename = await promptOutputFilename(inputFile);
|
|
69
64
|
// Step 6: Configure archive options
|
|
70
|
-
const archiveResult = await
|
|
65
|
+
const archiveResult = await promptArchiveOptions();
|
|
71
66
|
const archiveOptions = {
|
|
72
67
|
enabled: archiveResult.enableArchiving,
|
|
73
68
|
directory: archiveResult.archiveDirectory,
|
|
@@ -82,28 +77,28 @@ async function runInteractiveMode() {
|
|
|
82
77
|
cssFile,
|
|
83
78
|
};
|
|
84
79
|
// Step 7: Confirm configuration
|
|
85
|
-
const confirmed = await
|
|
80
|
+
const confirmed = await confirmConfiguration(config);
|
|
86
81
|
if (!confirmed) {
|
|
87
|
-
console.log(
|
|
82
|
+
console.log(chalk.yellow('\nā Operation cancelled.\n'));
|
|
88
83
|
return;
|
|
89
84
|
}
|
|
90
85
|
// Step 8: Process files
|
|
91
|
-
const service = new
|
|
86
|
+
const service = new InteractiveService(config);
|
|
92
87
|
const result = await service.processFile(inputFile);
|
|
93
88
|
// Step 9: Show results
|
|
94
|
-
console.log(
|
|
89
|
+
console.log(formatSuccessMessage(result.outputFiles, result.archiveResult));
|
|
95
90
|
}
|
|
96
91
|
catch (error) {
|
|
97
92
|
if (error instanceof Error && error.message.includes('User force closed')) {
|
|
98
|
-
console.log(
|
|
93
|
+
console.log(chalk.yellow('\nš Goodbye!\n'));
|
|
99
94
|
return;
|
|
100
95
|
}
|
|
101
|
-
console.log(
|
|
96
|
+
console.log(formatErrorMessage(error instanceof Error ? error.message : String(error)));
|
|
102
97
|
process.exit(1);
|
|
103
98
|
}
|
|
104
99
|
}
|
|
105
100
|
// Create program
|
|
106
|
-
const program = new
|
|
101
|
+
const program = new Command();
|
|
107
102
|
// Setup CLI information
|
|
108
103
|
program
|
|
109
104
|
.name('legal-md-ui')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":"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"}
|