docbridge 0.13.1 → 0.14.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/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.14.0] - 2026-10-08
11
+
12
+ ### Changed
13
+
14
+ - A heading anchor keeps `_`, as GitHub's heading slugs do. Before, `_` became
15
+ `-`, so `### title_definitions` gave `#title-definitions`; it now gives
16
+ `#title_definitions`. A link written with the old `-` form now produces
17
+ `doc_anchor_not_found`; change it to match the heading, such as
18
+ `#title_definitions`.
19
+
10
20
  ## [0.13.1] - 2026-10-06
11
21
 
12
22
  ### Fixed
@@ -558,7 +568,8 @@ Initial release of the SpecLink CLI.
558
568
  - `speclink check` command with `--root`, `--json`, and `--audit` options.
559
569
  - `speclink --version` (alias `-v`) and `speclink --help` (alias `-h`).
560
570
 
561
- [Unreleased]: https://github.com/salan70/docbridge/compare/v0.13.1...HEAD
571
+ [Unreleased]: https://github.com/salan70/docbridge/compare/v0.14.0...HEAD
572
+ [0.14.0]: https://github.com/salan70/docbridge/releases/tag/v0.14.0
562
573
  [0.13.1]: https://github.com/salan70/docbridge/releases/tag/v0.13.1
563
574
  [0.13.0]: https://github.com/salan70/docbridge/releases/tag/v0.13.0
564
575
  [0.12.0]: https://github.com/salan70/docbridge/releases/tag/v0.12.0
@@ -1,4 +1,4 @@
1
- 41027ff70b494c96a27c0a4e373a070b47222323d0fb8941f4e694eeaa2f2ad9 docbridge-swift-scanner
2
- 42e6858926db804a07efc8b370b0744e9b23c691b8a363461e5286115c7950ef docbridge_dart_scanner
1
+ 2db42ddea8060f988cea4933696e73d652ae5b807a8e8ff00249375faf2b0be4 docbridge-swift-scanner
2
+ f3da86ea5a0c1c92fa1e1f077251bec490e294d257b09cd03a46c8ce382aad19 docbridge_dart_scanner
3
3
  7fc3e6842b3e1bf425b8fd63e241eee7e64875f16be7ba8d1ae4a25baa7f2338 docbridge-rust-scanner
4
- 720b5a88fda4a2ffd10660bae19dd5070989fbe5c9463421a180f17bb50b7915 docbridge-go-scanner
4
+ 1646b06856b0420acdcb82d1692b7afea83fe2b7666adeb6412c99782dfc8cae docbridge-go-scanner
@@ -1,4 +1,4 @@
1
- 3f2005f4df20fcf6001111724eac5a9ece412edb5457e3450bd67420e85ba8e3 docbridge-swift-scanner
1
+ 0c023cfacede26a217a62420f9da1206b93c228122a3685469685a3db89f7735 docbridge-swift-scanner
2
2
  b75b14006ca792ed3ca8faf7ceee9e4d33c895f27dd416b640818cf8a4bdd9c8 docbridge_dart_scanner
3
3
  e0da7b8cc6ee23704f5fe8514cc309f0bb60380c77b55e3bc5ed113abd1f3478 docbridge-rust-scanner
4
- 2b8820630246507cdaca9de288dc8a0eb5d870db36287cf8ffd6ec31ce13b328 docbridge-go-scanner
4
+ 5b8aee5b85a38679875c473b2dc32f021f022cba242785bb0fd94ee6fda0a6bf docbridge-go-scanner
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/dist/bin/linux-x64/docbridge-swift-scanner
3
3
  size: 40932352 bytes
4
- sha256: 3f2005f4df20fcf6001111724eac5a9ece412edb5457e3450bd67420e85ba8e3
4
+ sha256: 0c023cfacede26a217a62420f9da1206b93c228122a3685469685a3db89f7735
package/dist/index.js CHANGED
@@ -175581,7 +175581,7 @@ import { join as join15, resolve as resolve5 } from "node:path";
175581
175581
  // package.json
175582
175582
  var package_default = {
175583
175583
  name: "docbridge",
175584
- version: "0.13.1",
175584
+ version: "0.14.0",
175585
175585
  description: "A CLI that links Markdown specifications and code declarations. Runs on Node.js and Bun.",
175586
175586
  keywords: [
175587
175587
  "bun",
@@ -177597,24 +177597,13 @@ function manifestLink(source, target, entry, side) {
177597
177597
  }
177598
177598
 
177599
177599
  // src/shared/cancelable.ts
177600
- function deferred() {
177601
- let settle;
177602
- const promise = new Promise((resolve2, reject) => {
177603
- settle = { resolve: resolve2, reject };
177604
- });
177605
- return {
177606
- promise,
177607
- resolve: (value) => settle?.resolve(value),
177608
- reject: (error) => settle?.reject(error)
177609
- };
177610
- }
177611
177600
  function settledCancelable(value) {
177612
177601
  return { promise: Promise.resolve(value), cancel: () => {
177613
177602
  return;
177614
177603
  } };
177615
177604
  }
177616
177605
  function mapCancelable(task, map) {
177617
- const mapped = deferred();
177606
+ const mapped = Promise.withResolvers();
177618
177607
  let cancelled = false;
177619
177608
  task.promise.then((value) => {
177620
177609
  if (cancelled) {
@@ -177640,7 +177629,7 @@ function isAbortError(error) {
177640
177629
  return error instanceof Error && error.name === "AbortError";
177641
177630
  }
177642
177631
  function cancelableSequence(body) {
177643
- const outcome = deferred();
177632
+ const outcome = Promise.withResolvers();
177644
177633
  let cancelled = false;
177645
177634
  let running;
177646
177635
  const step = async (next) => {
@@ -178539,7 +178528,7 @@ function workerTimeoutMs(fileCount) {
178539
178528
  return 30000 + 1000 * fileCount;
178540
178529
  }
178541
178530
  function runScannerWorkerProcess(input) {
178542
- const run = deferred();
178531
+ const run = Promise.withResolvers();
178543
178532
  let settled = false;
178544
178533
  let timer;
178545
178534
  let grace;
@@ -179495,7 +179484,7 @@ function stripClosingHashes(text) {
179495
179484
  }
179496
179485
  function toAnchor(headingText) {
179497
179486
  const lowered = headingText.toLowerCase();
179498
- const replaced = lowered.replace(/[^\p{L}\p{N}]+/gu, "-");
179487
+ const replaced = lowered.replace(/[^\p{L}\p{N}_]+/gu, "-");
179499
179488
  return replaced.replace(/^-+/, "").replace(/-+$/, "");
179500
179489
  }
179501
179490
  function matchCodeComment(line, filePath, lineNumber) {
@@ -255,8 +255,9 @@ Use the scanner-produced canonical symbol ID exactly.
255
255
  ## Heading anchors and reciprocity
256
256
 
257
257
  DocBridge creates anchors from ATX headings only. It lowercases the heading,
258
- collapses runs of whitespace and punctuation to `-`, preserves Unicode letters
259
- and numbers, and removes leading and trailing hyphens. `## Login Spec (v2)` is
258
+ collapses runs of whitespace and punctuation other than `_` to `-`, keeps `_`
259
+ as GitHub's heading slugs do, preserves Unicode letters and numbers, and removes
260
+ leading and trailing hyphens. `## Login Spec (v2)` is
260
261
  `#login-spec-v2`.
261
262
 
262
263
  Empty headings have no anchor; a `@code` annotation attached to an empty
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "docbridge",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "description": "A CLI that links Markdown specifications and code declarations. Runs on Node.js and Bun.",
5
5
  "keywords": [
6
6
  "bun",