@usejunior/docx-core
v0.6.0
Published
OOXML (.docx) core library: primitives, comparison, and track changes
Downloads
1,023
Maintainers
Readme
@usejunior/docx-core
Core Safe Docx library for brownfield editing and comparison of existing .docx files.
What This Package Is
@usejunior/docx-core is the production engine behind Safe Docx. It is designed for surgical operations on existing Word documents where formatting fidelity and deterministic behavior matter.
Primary capabilities:
- tracked-change comparison output for review workflows
- revision extraction and OOXML-safe document primitives
- formatting-preserving text and paragraph operations
- comment and footnote primitive support
Default comparison is pure TypeScript atomizer (engine: "auto" -> atomizer).
What This Package Is Not
- Not a hosted service
- Not a document-generation framework for creating new files from scratch
- Not dependent on .NET for supported runtime APIs
Internal benchmark code exists for maintainer analysis, but benchmarking is not a user-facing feature.
Install
npm install @usejunior/docx-coreQuickstart: Compare Two DOCX Files
import { readFile, writeFile } from 'node:fs/promises';
import { compareDocuments } from '@usejunior/docx-core';
const original = await readFile('./original.docx');
const revised = await readFile('./revised.docx');
const result = await compareDocuments(original, revised, {
author: 'Comparison',
// engine defaults to "auto" (atomizer)
});
await writeFile('./output.redline.docx', result.document);
console.log(result.engine, result.stats);Engine Model
atomizer(default viaauto): primary production pathwmlcomparer: not available through supported programmatic API usage
Dependency Footprint
Runtime dependencies are intentionally small:
@xmldom/xmldomfor XML DOM handlingjszipfor DOCX zip container handling
No native binaries, and no .NET prerequisite for supported runtime API usage.
Automated Fixture Coverage
In-repo automated fixtures currently include:
- Common Paper style mutual NDA variants
- Bonterms mutual NDA fixture
- Letter of Intent fixture
- ILPA limited partnership agreement redline fixtures
Designed for Complex DOCX Classes
@usejunior/docx-core is designed to support complex legal/business document classes such as:
- NVCA financing forms
- YC SAFEs
- Offering memoranda
- Order forms and services agreements
- Limited partnership agreements
From-Scratch Generation
If your primary use case is generating new documents from scratch, use a generation-oriented package such as docx.
Development
npm run build -w @usejunior/docx-core
npm run test:run -w @usejunior/docx-core
npm run lint -w @usejunior/docx-coreLicense
MIT
