@gcunharodrigues/wrxn 0.18.2 → 0.18.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcunharodrigues/wrxn",
3
- "version": "0.18.2",
3
+ "version": "0.18.3",
4
4
  "description": "WRXN Kernel — installable AI operating system. Two profiles (project | workspace), pull-based updates, managed/seeded/state file classes.",
5
5
  "bin": {
6
6
  "wrxn": "bin/wrxn.cjs"
@@ -95,7 +95,11 @@ function wikilinkTargets(body) {
95
95
  const out = new Set();
96
96
  const re = /\[\[([^\]\[]+)\]\]/g;
97
97
  let m;
98
- const scannable = stripFencedCode(body); // code-block [[slug]] is illustrative, not navigable (#28)
98
+ // Strip fenced regions, THEN inline code spans (`…`): a [[slug]] in either is illustrative example syntax,
99
+ // not a navigable link, so it must not be checked for a dead target (#28). The inline pass uses disjoint
100
+ // adjacent classes (`+ / [^`\n] / `+) so it stays linear — no backtracking, per this file's ReDoS discipline;
101
+ // `\n` in the class keeps a span single-line so a stray backtick can't swallow real prose links below it.
102
+ const scannable = stripFencedCode(body).replace(/`+[^`\n]*`+/g, '');
99
103
  while ((m = re.exec(scannable))) {
100
104
  const slug = m[1].split('|')[0].split('#')[0].trim();
101
105
  if (slug) out.add(slug);