Skip to content

deps: bump the dev-dependencies group with 4 updates#31

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/dev-dependencies-a9e04cc72d
Open

deps: bump the dev-dependencies group with 4 updates#31
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/dev-dependencies-a9e04cc72d

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 13, 2026

Copy link
Copy Markdown
Contributor

Bumps the dev-dependencies group with 4 updates: @types/node, docxodus, typescript and typescript-eslint.

Updates @types/node from 25.9.5 to 26.1.1

Commits

Updates docxodus from 7.0.1 to 7.1.0

Release notes

Sourced from docxodus's releases.

v7.1.0

Minor release. Full details in CHANGELOG.md.

Added

  • DocxSession: header / footer / page-number authoring (#236, #274). Three new methods close the header/footer gap in the mutation API: SetHeaderText(anchorId, HeaderFooterKind, markdown) / SetFooterText(...) create or replace a section's header/footer story (Default / First / Even, wiring w:titlePg / w:evenAndOddHeaders as needed), and InsertPageNumberField(anchorId, PageNumberField) appends a native Word PAGE / NUMPAGES complex field. Undo/redo reconciles header/footer part creation. Rippled through every layer: WASM DocxSessionBridge, npm DocxSession.{setHeaderText,setFooterText,insertPageNumberField}, stdio host, and docx-scalpel DocxSession.{set_header_text,set_footer_text,insert_page_number_field}.
  • docx2html CLI: tracked-changes and story rendering flags (#269). New --track-changes, --no-render-moves, --render-comments, --render-footnotes, and --render-headers-footers flags map straight onto the existing WmlToHtmlConverterSettings, so a redline document can be previewed in a browser instead of being silently accepted. Defaults unchanged.

Changed

  • DocxDiff.Consolidate: a contested relocation now honors the conflict policy on the placement (#233, #273). When reviewers move the same base block to different destinations, BaseWins keeps the block at its base position, FirstReviewerWins applies only the first reviewer's destination, and StackAll keeps the both-placements behavior. No content loss, reject ≡ base holds, and the conflict is still recorded.

Fixed

  • Setting w:evenAndOddHeaders no longer corrupts word/settings.xml on documents whose settings part carries children the ordering table didn't know (w:hdrShapeDefaults / w:shapeDefaults); both call sites now share WordprocessingMLUtil.EnsureEvenAndOddHeaders, which never moves unknown settings children.
  • DocxDiff: a single w:hyperlink whose entire anchor is replaced no longer fragments into per-token link elements (#232, #272). The coalescer now merges same-source-link fragments by their resolved target, while still keeping whole-anchor retargets split for the r:id remap.
  • GetDocumentMetadata now detects section breaks nested inside tables and correctly ignores section properties inside text boxes (#51, #271).
Changelog

Sourced from docxodus's changelog.

[7.1.0] - 2026-07-12

Changed

  • DocxDiff.Consolidate: a contested relocation now honors the conflict policy on the PLACEMENT (issue #233). When two (or more) reviewers move the SAME base block to DIFFERENT destinations, the reviewers agree the block leaves its origin but disagree on where it lands. Previously the merger recorded a placement conflict but let every reviewer's relocating insert land on accept regardless of policy — so the moved block appeared at both destinations under BaseWins, FirstReviewerWins, and StackAll alike. The placement is now resolved by the ConflictResolution policy: BaseWins keeps the block at its base position (neither move applied → accept ≡ base); FirstReviewerWins applies only the first reviewer's (list-order) destination; StackAll keeps the both-placements behavior. In every case there is no content loss, reject ≡ base holds, and the conflict is still recorded for human resolution. Implemented in IrCompositeMerger: the lowered move DESTINATION now retains its (reviewer, MoveGroupId) marker (symmetric to the source-delete, stripped before emission) so PlanContestedRelocationSuppression can suppress the losing destination(s) in lockstep with MergeOneBaseBlock's base-keep-vs-consensus-removal choice (both keyed off the single IsContestedRelocation predicate). The consensus removal is emitted at most once, so a delete both reviewers made is never duplicated. Confined to the IR-based DiffDocx engine — WmlComparer is unchanged. StackAll output is byte-identical to before. Proof: IrCompositeMoveTests.Contested_relocation_{BaseWins,FirstReviewerWins,StackAll}_* plus the unchanged composite fuzzer, the 84/84 consolidate parity scoreboard, and the 179/179 two-way parity floor.

Added

  • DocxSession: header / footer / page-number authoring (issue #236). The mutation API could inspect a section's header/footer parts (SectionInfo.HeaderPartUris/FooterPartUris) but had no surface to create or edit them — blocking faithful reproduction of real filings (the S-1 smoke test's running footer + centered page number could not be authored). Three new methods close the gap, rippled through every layer (core → DocxSessionOps → WASM/npm → stdio/docx-scalpel):
    • SetHeaderText(anchorId, HeaderFooterKind, markdown) / SetFooterText(...) — set the running header/footer story for the section that owns anchorId (any body block in that section; the governing w:sectPr is resolved exactly as GetSectionInfo resolves it, synthesizing a trailing w:sectPr if the body has none). Creates the HeaderPart/FooterPart + relationship + w:headerReference/w:footerReference when the story of that kind is absent, else replaces its content. The content is the same markdown subset as InsertParagraph, styled with the built-in Header/Footer paragraph style so it inherits Word's centre/right tab stops. HeaderFooterKind = Default/First/Even; First sets the section's w:titlePg, Even sets w:evenAndOddHeaders in the settings part, so Word actually shows the story. The created header/footer paragraph anchors (scope hdr{N}/ftr{N}) come back in EditResult.Created.
    • InsertPageNumberField(anchorId, PageNumberField = CurrentPage) — append a native Word complex page-number field (fldChar/instrText with a cached "1") to the paragraph anchorId (typically a footer paragraph from SetFooterText). CurrentPagePAGE, TotalPagesNUMPAGES. Returns the paragraph anchor in EditResult.Modified. Compose SetFooterText + SetParagraphFormat(center) + InsertPageNumberField to reproduce the S-1's "Last Updated … / page N" footer.
    • Undo/redo of the part creation. The session's snapshot/restore was extended to reconcile header/footer part create/delete (previously only the annotations custom-XML part was reconciled — see the resolved TODO in RestoreSnapshot): the snapshot records each header/footer part's relationship id, and restore deletes parts the snapshot lacks and re-creates the ones it has with their original relationship id so the restored sectPr reference resolves. reject/content round-trips are proven by DocxSessionTests DS250DS262 (create/reuse/compose/First/Even/undo-redo/no-sectPr/wrong-kind/round-trip). (One documented edge: the w:evenAndOddHeaders settings flag — only set for Even — is not reverted by undo; it is idempotent and has no visual effect without an even story.)
    • Surfaces. WASM DocxSessionBridge.{SetHeaderText,SetFooterText,InsertPageNumberField} + npm DocxSession.{setHeaderText,setFooterText,insertPageNumberField} (new HeaderFooterKind/PageNumberField string-union types); stdio set_header_text/set_footer_text/insert_page_number_field + docx-scalpel DocxSession.{set_header_text,set_footer_text,insert_page_number_field} (new HeaderFooterKind/PageNumberField enums). The editor's visual header/footer editing region is intentionally deferred (the parts live outside the body); this ships the engine + wire the editor will drive.
  • docx2html CLI: tracked-changes and story rendering flags. The docx2html tool previously always accepted revisions before converting, so a redline document rendered as if every change had been applied — there was no way to preview a redline in a browser. New flags map straight onto the existing WmlToHtmlConverterSettings: --track-changes (render revisions as ins/del/move markup instead of accepting them — RenderTrackedChanges), --no-render-moves (lower move markup to plain ins/del — RenderMoveOperations), --render-comments, --render-footnotes, and --render-headers-footersJSv4/Python-Redlines#12.docx files with the redline CLI and uses docx2html --track-changes to publish browser-viewable previews.

Fixed

  • Setting w:evenAndOddHeaders no longer corrupts word/settings.xml on documents whose settings part carries children the ordering table doesn't know. Both the DocxDiff header/footer renderer (shipped with CompareHeadersFooters) and the new DocxSession.SetHeaderText(…, Even, …) inserted the flag by routing the whole settings root through WmlOrderElementsPerStandard, whose Order_settings table lacked w:hdrShapeDefaults/w:shapeDefaults — elements real Word documents (e.g. TestFiles/DB006-Source2.docx) carry — so those children were sorted to the end, out of their CT_Settings schema slots (OpenXmlValidator: "unexpected child element 'hdrShapeDefaults'"). The two missing entries are now in the table, and both call sites share one WordprocessingMLUtil.EnsureEvenAndOddHeaders that inserts the flag at its own schema slot and leaves every other settings child untouched (unknown children are never moved). Regression coverage: DocxSessionTests DS263 (synthetic settings with hdrShapeDefaults/shapeDefaults) + DS264 (the real Word-authored fixture that caught it).
  • DocxDiff: a single w:hyperlink whose entire anchor is replaced no longer fragments into per-token link elements (issue #232). When a hyperlink-wrapped run was involved in a redline and its anchor text was fully rewritten with no shared token (e.g. our website → completely different words, same href), the IR markup renderer emitted the base's single w:hyperlink as two elements sharing the same r:id — a pure w:del-link of the old text followed by a pure w:ins-link of the new text. The visible text, link target, and accept/reject round-trip were all correct (valid OOXML), but the raw markup diverged from the source's link structure (1 → N), churning any tool that diffs the XML or counts w:hyperlink elements. This was the residual normalization left by the B1 fix (#228), whose coalescer merged link fragments only when at least one carried a plain (Equal) run — a proxy for "same target" that missed the no-shared-token case. The coalescer now stamps each fragment with its resolved target (external URI, or #anchor for an internal link — resolved exactly as IrReader does, via the part annotation on the retained source tree) and additively merges a same-source-link run when every fragment resolves to the same target. This keys on the resolved target, not the r:id string, so it still keeps the WC019 whole-anchor retarget (text and href change → the del/ins fragments carry the same r:id string at coalesce time but different resolved targets) split into two links for the post-assembly r:id remap. Scope: the base two-way IrMarkupRenderer (Docxodus/Ir/Diff/IrMarkupRenderer.cs); WmlComparer is untouched. B1 invariants (accept ≡ right, reject ≡ left) and the adjacent-distinct-same-target-links case are preserved; base two-way parity stays 179/179. Regression coverage: IrMarkupRendererTests.Hyperlink_fully_replaced_same_target_renders_as_one_hyperlink, Hyperlink_whole_anchor_retarget_stays_two_links, and an updated Hyperlink_single_token_anchor_no_equal_run_replaced_round_trips (now asserts one link).
  • GetDocumentMetadata now detects section breaks nested inside tables, and correctly ignores section properties inside text boxes (issue #51). CollectSectionData previously scanned only the body's direct children (body.Elements()), so a w:sectPr carried by a paragraph inside a table cell was invisible — the document reported one section instead of two, and the per-section page dimensions and paragraph/table index ranges used for lazy-loading pagination were wrong. It now walks the body as a single main story in document order, descending into tables (w:tbl → w:tr → w:tc) so an in-cell section break is counted and attributed to the section it starts in. Each w:p is treated as a leaf (only its direct w:pPr/w:sectPr is inspected, never its runs), so a w:sectPr inside a text box — a separate story that does not paginate the main document — is excluded automatically (as are text-box paragraphs); counting it would have invented a phantom section. Only body-level tables count toward the table total, preserving the previous counts for the common case. Regression coverage: DM022 (in-cell break detected) and DM023 (text-box section properties ignored) in DocumentMetadataTests.cs; the separate-story rule is documented in docs/ooxml_corner_cases.md.
Commits
  • 26f22ac docs(changelog): cut v7.1.0 release notes
  • ffe5e0c feat(session): header/footer + page-number authoring (DocxSession → editor) (...
  • c1f57e1 fix(diff): resolve contested-relocation placement by conflict policy (#233) (...
  • c25851e fix(diff): coalesce a fully-replaced single hyperlink into one w:hyperlink (#...
  • 751d956 fix(metadata): detect sectPr nested in tables; ignore text-box sections (#51)...
  • 7bf5876 test(diff): pin endnote-scope N-way composition; fix stale note-merge comment...
  • cb1679e feat(docx2html): add tracked-changes and story rendering flags (#269)
  • 25f9341 ci(publish): set deployment URLs on the Publisher environment jobs (#268)
  • See full diff in compare view

Updates typescript from 6.0.3 to 7.0.2

Commits
Maintainer changes

This version was pushed to npm by microsoft1es, a new releaser for typescript since your current version.


Updates typescript-eslint from 8.63.0 to 8.64.0

Release notes

Sourced from typescript-eslint's releases.

v8.64.0

8.64.0 (2026-07-13)

🚀 Features

  • support parsing import defer (#12513)
  • eslint-plugin: [no-loop-func] support using / await using declarations and deprecate the rule (#12500)
  • typescript-estree: throw for invalid definite assignment in class properties (#12543)

🩹 Fixes

  • eslint-plugin: [require-array-sort-compare] handle constrained arrays (#12512)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

Changelog

Sourced from typescript-eslint's changelog.

8.64.0 (2026-07-13)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the dev-dependencies group with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [docxodus](https://github.com/JSv4/Docxodus), [typescript](https://github.com/microsoft/TypeScript) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@types/node` from 25.9.5 to 26.1.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `docxodus` from 7.0.1 to 7.1.0
- [Release notes](https://github.com/JSv4/Docxodus/releases)
- [Changelog](https://github.com/JSv4/Docxodus/blob/main/CHANGELOG.md)
- [Commits](JSv4/Docxodus@v7.0.1...v7.1.0)

Updates `typescript` from 6.0.3 to 7.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/commits)

Updates `typescript-eslint` from 8.63.0 to 8.64.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.64.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.1.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: docxodus
  dependency-version: 7.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: typescript-eslint
  dependency-version: 8.64.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants