@openuji/speculator-lint 0.2.0 → 0.2.1

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.
@@ -169,7 +169,7 @@ describe('Speculator Lint Rules', () => {
169
169
  {
170
170
  type: 'paragraph',
171
171
  children: [
172
- { type: 'link', url: '#target-id', children: [{ type: 'text', value: 'internal link' }] },
172
+ { type: 'link', url: '#target-id', children: [{ type: 'text', value: 'internal link' }], sourcePos: { file: 'pkg-a/index.md', line: 49, column: 1 } },
173
173
  {
174
174
  type: 'workspaceDfnReference',
175
175
  targetTerm: 'Term',
@@ -195,7 +195,7 @@ describe('Speculator Lint Rules', () => {
195
195
  const diagnostics = result.diagnostics.filter(d => d.code === 'no-id-reference');
196
196
  expect(diagnostics).toHaveLength(2);
197
197
  expect(diagnostics[0].message).toContain('Reference to ID "target-id" is discouraged (defined at pkg-a/index.md:50)');
198
- expect(diagnostics[1].message).toContain('Internal link to ID "#target-id" found (defined at pkg-a/index.md:50)');
198
+ expect(diagnostics[1].message).toContain('Internal link to ID "#target-id" found (defined at pkg-a/index.md:49)');
199
199
  });
200
200
  });
201
201
  describe('workspace/no-redefinition', () => {
@@ -275,5 +275,136 @@ describe('Speculator Lint Rules', () => {
275
275
  expect(diagnostics[0].message).toContain('Higher-level spec "doc-a.md" (level 0) depends on lower-level spec "doc-b.md" (level 1)');
276
276
  });
277
277
  });
278
+ describe('reference/no-unresolved-reference', () => {
279
+ it('reports error for workspace references with empty targetId or targetDocumentId', async () => {
280
+ const doc = {
281
+ type: 'document',
282
+ id: 'doc-1',
283
+ sourcePos: { file: 'doc-1.md', line: 1, column: 1 },
284
+ children: [
285
+ {
286
+ type: 'paragraph',
287
+ children: [
288
+ {
289
+ type: 'workspaceDfnReference',
290
+ targetTerm: 'UnresolvedTerm',
291
+ targetId: '',
292
+ targetDocumentId: 'other-doc',
293
+ children: []
294
+ },
295
+ {
296
+ type: 'workspaceDfnReference',
297
+ targetTerm: 'UnresolvedDoc',
298
+ targetId: 'some-id',
299
+ targetDocumentId: '',
300
+ children: []
301
+ }
302
+ ]
303
+ }
304
+ ]
305
+ };
306
+ const workspace = createMockWorkspace([doc]);
307
+ const documentLevels = new Map([['doc-1.md', 0]]);
308
+ const result = await linter.lint({
309
+ workspace,
310
+ documentLevels,
311
+ config: recommendedConfig
312
+ });
313
+ const diagnostics = result.diagnostics.filter(d => d.code === 'no-unresolved-reference');
314
+ expect(diagnostics).toHaveLength(2);
315
+ expect(diagnostics[0].message).toContain('Unresolved workspace reference to "UnresolvedTerm"');
316
+ expect(diagnostics[1].message).toContain('Unresolved workspace reference to "UnresolvedDoc"');
317
+ });
318
+ it('reports error for external references with empty targetId', async () => {
319
+ const doc = {
320
+ type: 'document',
321
+ id: 'doc-1',
322
+ sourcePos: { file: 'doc-1.md', line: 1, column: 1 },
323
+ children: [
324
+ {
325
+ type: 'paragraph',
326
+ children: [
327
+ {
328
+ type: 'externalDfnReference',
329
+ targetTerm: 'ExternalTerm',
330
+ xrefSpec: 'some-spec',
331
+ targetId: '',
332
+ children: []
333
+ }
334
+ ]
335
+ }
336
+ ]
337
+ };
338
+ const workspace = createMockWorkspace([doc]);
339
+ const documentLevels = new Map([['doc-1.md', 0]]);
340
+ const result = await linter.lint({
341
+ workspace,
342
+ documentLevels,
343
+ config: recommendedConfig
344
+ });
345
+ const diagnostics = result.diagnostics.filter(d => d.code === 'no-unresolved-reference');
346
+ expect(diagnostics).toHaveLength(1);
347
+ expect(diagnostics[0].message).toContain('Unresolved external reference to "ExternalTerm"');
348
+ });
349
+ it('reports error for unresolved citations with empty targetId', async () => {
350
+ const doc = {
351
+ type: 'document',
352
+ id: 'doc-1',
353
+ sourcePos: { file: 'doc-1.md', line: 1, column: 1 },
354
+ children: [
355
+ {
356
+ type: 'paragraph',
357
+ children: [
358
+ {
359
+ type: 'cite',
360
+ key: 'MISSING-BIB',
361
+ targetId: '',
362
+ children: []
363
+ }
364
+ ]
365
+ }
366
+ ]
367
+ };
368
+ const workspace = createMockWorkspace([doc]);
369
+ const documentLevels = new Map([['doc-1.md', 0]]);
370
+ const result = await linter.lint({
371
+ workspace,
372
+ documentLevels,
373
+ config: recommendedConfig
374
+ });
375
+ const diagnostics = result.diagnostics.filter(d => d.code === 'no-unresolved-reference');
376
+ expect(diagnostics).toHaveLength(1);
377
+ expect(diagnostics[0].message).toContain('Unresolved citation for key "MISSING-BIB"');
378
+ });
379
+ it('reports error for unresolved section references with empty targetId', async () => {
380
+ const doc = {
381
+ type: 'document',
382
+ id: 'doc-1',
383
+ sourcePos: { file: 'doc-1.md', line: 1, column: 1 },
384
+ children: [
385
+ {
386
+ type: 'paragraph',
387
+ children: [
388
+ {
389
+ type: 'sectionReference',
390
+ targetId: '',
391
+ children: []
392
+ }
393
+ ]
394
+ }
395
+ ]
396
+ };
397
+ const workspace = createMockWorkspace([doc]);
398
+ const documentLevels = new Map([['doc-1.md', 0]]);
399
+ const result = await linter.lint({
400
+ workspace,
401
+ documentLevels,
402
+ config: recommendedConfig
403
+ });
404
+ const diagnostics = result.diagnostics.filter(d => d.code === 'no-unresolved-reference');
405
+ expect(diagnostics).toHaveLength(1);
406
+ expect(diagnostics[0].message).toContain('Unresolved section reference');
407
+ });
408
+ });
278
409
  });
279
410
  //# sourceMappingURL=rules.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rules.test.js","sourceRoot":"","sources":["../../src/__tests__/rules.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,SAAS,mBAAmB,CAAC,IAAgB;IACzC,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,OAAO;KACzB,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAElD,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvF,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC3F;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1G,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC9G;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBAClH,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACtH;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAGH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YAClG,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAiC;yBAC1G;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACtH;iBACJ;aACJ,CAAC;YAEF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACtH;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;YACxF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,0DAA0D,CAAC,CAAC;YACrG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAiC;yBACrI;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC9I,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACjJ;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;YACxF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAgB;4BACvG;gCACI,IAAI,EAAE,uBAAuB;gCAC7B,UAAU,EAAE,MAAM;gCAClB,QAAQ,EAAE,WAAW;gCACrB,QAAQ,EAAE,EAAE;6BACgB;yBACnC;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACrH;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;YACjF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2EAA2E,CAAC,CAAC;YACtH,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uEAAuE,CAAC,CAAC;QACtH,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC5F;iBACJ;aACJ,CAAC;YAEF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAClG;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;YACjF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,8EAA8E,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAiC;yBACjI;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE,EAAE;iBAClB;aACJ,CAAC;YAEF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC9F;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC;YACvF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yFAAyF,CAAC,CAAC;QACxI,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"rules.test.js","sourceRoot":"","sources":["../../src/__tests__/rules.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYjD,SAAS,mBAAmB,CAAC,IAAgB;IACzC,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,OAAO;KACzB,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAElD,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvF,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC3F;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1G,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC9G;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBAClH,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACtH;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAGH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YAClG,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAiC;yBAC1G;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACtH;iBACJ;aACJ,CAAC;YAEF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACtH;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;YACxF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,0DAA0D,CAAC,CAAC;YACrG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAiC;yBACrI;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC9I,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACjJ;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;YACxF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAgB;4BACnK;gCACI,IAAI,EAAE,uBAAuB;gCAC7B,UAAU,EAAE,MAAM;gCAClB,QAAQ,EAAE,WAAW;gCACrB,QAAQ,EAAE,EAAE;6BACgB;yBACnC;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBACrH;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;YACjF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2EAA2E,CAAC,CAAC;YACtH,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uEAAuE,CAAC,CAAC;QACtH,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC5F;iBACJ;aACJ,CAAC;YAEF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAClG;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;YACjF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,8EAA8E,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAiC;yBACjI;qBACc;iBACtB;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE,EAAE;iBAClB;aACJ,CAAC;YAEF,MAAM,IAAI,GAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE;oBACL,WAAW,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;qBAC9F;iBACJ;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC;YACvF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yFAAyF,CAAC,CAAC;QACxI,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN;gCACI,IAAI,EAAE,uBAAuB;gCAC7B,UAAU,EAAE,gBAAgB;gCAC5B,QAAQ,EAAE,EAAE;gCACZ,gBAAgB,EAAE,WAAW;gCAC7B,QAAQ,EAAE,EAAE;6BACgB;4BAChC;gCACI,IAAI,EAAE,uBAAuB;gCAC7B,UAAU,EAAE,eAAe;gCAC3B,QAAQ,EAAE,SAAS;gCACnB,gBAAgB,EAAE,EAAE;gCACpB,QAAQ,EAAE,EAAE;6BACgB;yBACnC;qBACc;iBACtB;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC;YAC/F,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN;gCACI,IAAI,EAAE,sBAAsB;gCAC5B,UAAU,EAAE,cAAc;gCAC1B,QAAQ,EAAE,WAAW;gCACrB,QAAQ,EAAE,EAAE;gCACZ,QAAQ,EAAE,EAAE;6BACe;yBAClC;qBACc;iBACtB;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN;gCACI,IAAI,EAAE,MAAM;gCACZ,GAAG,EAAE,aAAa;gCAClB,QAAQ,EAAE,EAAE;gCACZ,QAAQ,EAAE,EAAE;6BACD;yBAClB;qBACc;iBACtB;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,GAAG,GAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBACnD,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACN;gCACI,IAAI,EAAE,kBAAkB;gCACxB,QAAQ,EAAE,EAAE;gCACZ,QAAQ,EAAE,EAAE;6BACW;yBAC9B;qBACc;iBACtB;aACJ,CAAC;YAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,SAAS;gBACT,cAAc;gBACd,MAAM,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACzF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAE3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAQ/B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAWzD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAsB,GAAG,UAAU,GAAG,IAAI,CAerF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAmB9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAU5G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG3E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAE3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAS/B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAWzD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAsB,GAAG,UAAU,GAAG,IAAI,CAerF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAmB9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAU5G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG3E"}
package/dist/config.js CHANGED
@@ -18,7 +18,8 @@ export const recommendedConfig = {
18
18
  'workspace/no-reverse-dependency': 'error',
19
19
  'document/no-duplicate-definition': 'error',
20
20
  'reference/no-ambiguous-reference': 'warning',
21
- 'reference/no-id-reference': 'warning'
21
+ 'reference/no-id-reference': 'warning',
22
+ 'reference/no-unresolved-reference': 'error'
22
23
  }
23
24
  };
24
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAe;IACrC,KAAK,EAAE,EAAE;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAe;IACzC,KAAK,EAAE;QACH,2BAA2B,EAAE,OAAO;QACpC,iCAAiC,EAAE,OAAO;QAC1C,kCAAkC,EAAE,OAAO;QAC3C,kCAAkC,EAAE,SAAS;QAC7C,2BAA2B,EAAE,SAAS;KACzC;CACJ,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;IAEjD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC9D,MAAM,UAAU,GAAG;QACf,wBAAwB;QACxB,mBAAmB;QACnB,6BAA6B;KAChC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAC9C,MAAM,UAAU,GAAe;QAC3B,GAAG,MAAM;QACT,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;KAC7B,CAAC;IAEF,iBAAiB;IACjB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC3B,UAAU,CAAC,KAAK,GAAG;oBACf,GAAG,iBAAiB,CAAC,KAAK;oBAC1B,GAAG,UAAU,CAAC,KAAK;iBACtB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAuC;IACnE,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC1C,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAkB,EAAE,QAAgB;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAe;IACrC,KAAK,EAAE,EAAE;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAe;IACzC,KAAK,EAAE;QACH,2BAA2B,EAAE,OAAO;QACpC,iCAAiC,EAAE,OAAO;QAC1C,kCAAkC,EAAE,OAAO;QAC3C,kCAAkC,EAAE,SAAS;QAC7C,2BAA2B,EAAE,SAAS;QACtC,mCAAmC,EAAE,OAAO;KAC/C;CACJ,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;IAEjD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC9D,MAAM,UAAU,GAAG;QACf,wBAAwB;QACxB,mBAAmB;QACnB,6BAA6B;KAChC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAC9C,MAAM,UAAU,GAAe;QAC3B,GAAG,MAAM;QACT,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;KAC7B,CAAC;IAEF,iBAAiB;IACjB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC3B,UAAU,CAAC,KAAK,GAAG;oBACf,GAAG,iBAAiB,CAAC,KAAK;oBAC1B,GAAG,UAAU,CAAC,KAAK;iBACtB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAuC;IACnE,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC1C,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAkB,EAAE,QAAgB;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;AAChD,CAAC"}
@@ -6,6 +6,7 @@ export { noReverseDependencyRule } from './workspace/no-reverse-dependency.js';
6
6
  export { noDuplicateDefinitionRule } from './document/no-duplicate-definition.js';
7
7
  export { noAmbiguousReferenceRule } from './reference/no-ambiguous-reference.js';
8
8
  export { noIdReferenceRule } from './reference/no-id-reference.js';
9
+ export { noUnresolvedReferenceRule } from './reference/no-unresolved-reference.js';
9
10
  import type { LintRule } from '../types.js';
10
11
  /**
11
12
  * All built-in rules
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAOnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,QAAQ,EAMlC,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAQnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,QAAQ,EAOlC,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEhE"}
@@ -6,11 +6,13 @@ export { noReverseDependencyRule } from './workspace/no-reverse-dependency.js';
6
6
  export { noDuplicateDefinitionRule } from './document/no-duplicate-definition.js';
7
7
  export { noAmbiguousReferenceRule } from './reference/no-ambiguous-reference.js';
8
8
  export { noIdReferenceRule } from './reference/no-id-reference.js';
9
+ export { noUnresolvedReferenceRule } from './reference/no-unresolved-reference.js';
9
10
  import { noRedefinitionRule } from './workspace/no-redefinition.js';
10
11
  import { noReverseDependencyRule } from './workspace/no-reverse-dependency.js';
11
12
  import { noDuplicateDefinitionRule } from './document/no-duplicate-definition.js';
12
13
  import { noAmbiguousReferenceRule } from './reference/no-ambiguous-reference.js';
13
14
  import { noIdReferenceRule } from './reference/no-id-reference.js';
15
+ import { noUnresolvedReferenceRule } from './reference/no-unresolved-reference.js';
14
16
  /**
15
17
  * All built-in rules
16
18
  */
@@ -19,7 +21,8 @@ export const builtInRules = [
19
21
  noReverseDependencyRule,
20
22
  noDuplicateDefinitionRule,
21
23
  noAmbiguousReferenceRule,
22
- noIdReferenceRule
24
+ noIdReferenceRule,
25
+ noUnresolvedReferenceRule
23
26
  ];
24
27
  /**
25
28
  * Get a rule by name
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACpC,kBAAkB;IAClB,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,iBAAiB;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAGnF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACpC,kBAAkB;IAClB,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,iBAAiB;IACjB,yBAAyB;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-ambiguous-reference.d.ts","sourceRoot":"","sources":["../../../src/rules/reference/no-ambiguous-reference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,wBAAwB,EAAE,QA+DtC,CAAC"}
1
+ {"version":3,"file":"no-ambiguous-reference.d.ts","sourceRoot":"","sources":["../../../src/rules/reference/no-ambiguous-reference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,wBAAwB,EAAE,QAiEtC,CAAC"}
@@ -44,8 +44,9 @@ export const noAmbiguousReferenceRule = {
44
44
  .slice(0, 3)
45
45
  .join(', ');
46
46
  const suffix = uniqueCandidates.length > 3 ? '...' : '';
47
+ const targetTerm = 'targetTerm' in ref ? ref.targetTerm : ('key' in ref ? ref.key : 'unknown');
47
48
  context.report({
48
- message: `Ambiguous reference to "${ref.targetTerm}" matches ${uniqueCandidates.length} definitions at: ${locations}${suffix}`,
49
+ message: `Ambiguous reference to "${targetTerm}" matches ${uniqueCandidates.length} definitions at: ${locations}${suffix}`,
49
50
  file: ref.sourcePos?.file || doc.sourcePos?.file || '<unknown>',
50
51
  sourcePos: ref.sourcePos
51
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"no-ambiguous-reference.js","sourceRoot":"","sources":["../../../src/rules/reference/no-ambiguous-reference.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAErG,MAAM,CAAC,MAAM,wBAAwB,GAAa;IAC9C,IAAI,EAAE;QACF,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,WAAW;KACxB;IAED,MAAM,CAAC,OAAoB;QACvB,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEtD,OAAO;YACH,UAAU,CAAC,GAAG;gBACV,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC3B,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAEnD,2DAA2D;oBAC3D,oEAAoE;oBACpE,gEAAgE;oBAChE,qEAAqE;oBACrE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAgC,CAAC;oBACpE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;wBAC5B,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;wBACvD,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpC,CAAC;oBACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElE,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC;wBAAE,SAAS;oBAE3C,wCAAwC;oBACxC,MAAM,WAAW,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5E,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;oBAE7E,IAAI,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAE5C,IAAI,kBAAkB,EAAE,CAAC;wBACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;4BACvC,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BACxF,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAY,CAAC,CAAC,CAAC;wBACxE,CAAC,CAAC,CAAC;wBACH,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;oBACnC,CAAC;oBAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACpB,MAAM,SAAS,GAAG,gBAAgB;6BAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;6BACrD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;6BACX,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChB,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAExD,OAAO,CAAC,MAAM,CAAC;4BACX,OAAO,EAAE,2BAA2B,GAAG,CAAC,UAAU,aAAa,gBAAgB,CAAC,MAAM,oBAAoB,SAAS,GAAG,MAAM,EAAE;4BAC9H,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,WAAW;4BAC/D,SAAS,EAAE,GAAG,CAAC,SAAS;yBAC3B,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"no-ambiguous-reference.js","sourceRoot":"","sources":["../../../src/rules/reference/no-ambiguous-reference.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-id-reference.d.ts","sourceRoot":"","sources":["../../../src/rules/reference/no-id-reference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,iBAAiB,EAAE,QAgE/B,CAAC"}
1
+ {"version":3,"file":"no-id-reference.d.ts","sourceRoot":"","sources":["../../../src/rules/reference/no-id-reference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,iBAAiB,EAAE,QAsE/B,CAAC"}
@@ -13,6 +13,10 @@ export const noIdReferenceRule = {
13
13
  onDocument(doc) {
14
14
  const references = collectReferences(doc);
15
15
  for (const ref of references) {
16
+ // Ignore section references and citations as they currently require IDs/keys
17
+ if (ref.type === 'sectionReference' || ref.type === 'cite') {
18
+ continue;
19
+ }
16
20
  const targetId = ref.targetId;
17
21
  const isWorkspaceRef = 'targetDocumentId' in ref;
18
22
  if (targetId && !isWorkspaceRef) {
@@ -32,8 +36,7 @@ export const noIdReferenceRule = {
32
36
  if (nodeRecord.type === 'link') {
33
37
  const url = nodeRecord.url || '';
34
38
  if (url.startsWith('#')) {
35
- const id = url.slice(1);
36
- const target = idIndex.get(id);
39
+ const target = nodeRecord;
37
40
  const loc = target ? ` (defined at ${target.sourcePos?.file}:${target.sourcePos?.line})` : '';
38
41
  context.report({
39
42
  message: `Internal link to ID "${url}" found${loc}. Use semantic <xref> or <a> with data-link-type instead.`,
@@ -1 +1 @@
1
- {"version":3,"file":"no-id-reference.js","sourceRoot":"","sources":["../../../src/rules/reference/no-id-reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-id-reference.js","sourceRoot":"","sources":["../../../src/rules/reference/no-id-reference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { LintRule } from '../../types.js';
2
+ /**
3
+ * Rule: reference/no-unresolved-reference
4
+ *
5
+ * Ensures that all semantic references have been successfully resolved.
6
+ * A reference is considered unresolved if its targetId or targetDocumentId (for workspace refs)
7
+ * is missing or empty.
8
+ */
9
+ export declare const noUnresolvedReferenceRule: LintRule;
10
+ //# sourceMappingURL=no-unresolved-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-unresolved-reference.d.ts","sourceRoot":"","sources":["../../../src/rules/reference/no-unresolved-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAG5D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAmEvC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { collectReferences } from '../speculator-helpers.js';
2
+ /**
3
+ * Rule: reference/no-unresolved-reference
4
+ *
5
+ * Ensures that all semantic references have been successfully resolved.
6
+ * A reference is considered unresolved if its targetId or targetDocumentId (for workspace refs)
7
+ * is missing or empty.
8
+ */
9
+ export const noUnresolvedReferenceRule = {
10
+ meta: {
11
+ name: 'reference/no-unresolved-reference',
12
+ code: 'no-unresolved-reference',
13
+ severity: 'error',
14
+ description: 'References must be resolved; targetId and targetDocumentId must not be empty.',
15
+ category: 'reference'
16
+ },
17
+ create(context) {
18
+ return {
19
+ onDocument(doc) {
20
+ const references = collectReferences(doc);
21
+ for (const ref of references) {
22
+ switch (ref.type) {
23
+ case 'workspaceDfnReference':
24
+ case 'workspaceIdlReference':
25
+ case 'workspaceElementReference':
26
+ // Workspace references must have both targetId and targetDocumentId
27
+ if (!ref.targetId || !ref.targetDocumentId) {
28
+ context.report({
29
+ message: `Unresolved workspace reference to "${ref.targetTerm || 'unknown'}". Both targetId and targetDocumentId must be populated.`,
30
+ file: ref.sourcePos?.file || doc.sourcePos?.file || '<unknown>',
31
+ sourcePos: ref.sourcePos
32
+ });
33
+ }
34
+ break;
35
+ case 'externalDfnReference':
36
+ case 'externalIdlReference':
37
+ case 'externalElementReference':
38
+ // External references must have targetId
39
+ if (!ref.targetId) {
40
+ context.report({
41
+ message: `Unresolved external reference to "${ref.targetTerm || 'unknown'}". targetId is missing or empty.`,
42
+ file: ref.sourcePos?.file || doc.sourcePos?.file || '<unknown>',
43
+ sourcePos: ref.sourcePos
44
+ });
45
+ }
46
+ break;
47
+ case 'cite':
48
+ // Citations must have targetId (resolved biblio key)
49
+ if (!ref.targetId) {
50
+ context.report({
51
+ message: `Unresolved citation for key "${ref.key || 'unknown'}". targetId is missing or empty.`,
52
+ file: ref.sourcePos?.file || doc.sourcePos?.file || '<unknown>',
53
+ sourcePos: ref.sourcePos
54
+ });
55
+ }
56
+ break;
57
+ case 'sectionReference':
58
+ // Section references must have targetId
59
+ if (!ref.targetId) {
60
+ context.report({
61
+ message: `Unresolved section reference. targetId is missing or empty.`,
62
+ file: ref.sourcePos?.file || doc.sourcePos?.file || '<unknown>',
63
+ sourcePos: ref.sourcePos
64
+ });
65
+ }
66
+ break;
67
+ }
68
+ }
69
+ }
70
+ };
71
+ }
72
+ };
73
+ //# sourceMappingURL=no-unresolved-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-unresolved-reference.js","sourceRoot":"","sources":["../../../src/rules/reference/no-unresolved-reference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAa;IAC/C,IAAI,EAAE;QACF,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,+EAA+E;QAC5F,QAAQ,EAAE,WAAW;KACxB;IAED,MAAM,CAAC,OAAoB;QACvB,OAAO;YACH,UAAU,CAAC,GAAG;gBACV,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC3B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;wBACf,KAAK,uBAAuB,CAAC;wBAC7B,KAAK,uBAAuB,CAAC;wBAC7B,KAAK,2BAA2B;4BAC5B,oEAAoE;4BACpE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gCACzC,OAAO,CAAC,MAAM,CAAC;oCACX,OAAO,EAAE,sCAAsC,GAAG,CAAC,UAAU,IAAI,SAAS,0DAA0D;oCACpI,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,WAAW;oCAC/D,SAAS,EAAE,GAAG,CAAC,SAAS;iCAC3B,CAAC,CAAC;4BACP,CAAC;4BACD,MAAM;wBAEV,KAAK,sBAAsB,CAAC;wBAC5B,KAAK,sBAAsB,CAAC;wBAC5B,KAAK,0BAA0B;4BAC3B,yCAAyC;4BACzC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gCAChB,OAAO,CAAC,MAAM,CAAC;oCACX,OAAO,EAAE,qCAAqC,GAAG,CAAC,UAAU,IAAI,SAAS,kCAAkC;oCAC3G,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,WAAW;oCAC/D,SAAS,EAAE,GAAG,CAAC,SAAS;iCAC3B,CAAC,CAAC;4BACP,CAAC;4BACD,MAAM;wBAEV,KAAK,MAAM;4BACP,qDAAqD;4BACrD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gCAChB,OAAO,CAAC,MAAM,CAAC;oCACX,OAAO,EAAE,gCAAgC,GAAG,CAAC,GAAG,IAAI,SAAS,kCAAkC;oCAC/F,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,WAAW;oCAC/D,SAAS,EAAE,GAAG,CAAC,SAAS;iCAC3B,CAAC,CAAC;4BACP,CAAC;4BACD,MAAM;wBAEV,KAAK,kBAAkB;4BACnB,wCAAwC;4BACxC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gCAChB,OAAO,CAAC,MAAM,CAAC;oCACX,OAAO,EAAE,6DAA6D;oCACtE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,WAAW;oCAC/D,SAAS,EAAE,GAAG,CAAC,SAAS;iCAC3B,CAAC,CAAC;4BACP,CAAC;4BACD,MAAM;oBACd,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"speculator-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/speculator-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,eAAO,MAAM,eAAe,aAO1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAoB9F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAapF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,CAyBvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GAC3C,oBAAoB,EAAE,CA+BxB"}
1
+ {"version":3,"file":"speculator-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/speculator-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,eAAO,MAAM,eAAe,aAS1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAoB9F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAapF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,CAyBvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GAC3C,oBAAoB,EAAE,CAoCxB"}
@@ -8,7 +8,9 @@ export const REFERENCE_TYPES = new Set([
8
8
  'workspaceElementReference',
9
9
  'externalDfnReference',
10
10
  'externalIdlReference',
11
- 'externalElementReference'
11
+ 'externalElementReference',
12
+ 'cite',
13
+ 'sectionReference'
12
14
  ]);
13
15
  /**
14
16
  * Build a global definition index from workspace
@@ -78,7 +80,11 @@ export function collectReferences(document) {
78
80
  export function resolveReference(ref, index) {
79
81
  const candidateTerms = 'candidateTerms' in ref && Array.isArray(ref.candidateTerms)
80
82
  ? ref.candidateTerms
81
- : [ref.targetTerm];
83
+ : 'targetTerm' in ref
84
+ ? [ref.targetTerm]
85
+ : [];
86
+ if (candidateTerms.length === 0)
87
+ return [];
82
88
  let allCandidates = [];
83
89
  for (const term of candidateTerms) {
84
90
  const key = normalizeTerm(term);
@@ -88,7 +94,8 @@ export function resolveReference(ref, index) {
88
94
  }
89
95
  }
90
96
  // Filter by forContext if specified in the reference
91
- const refForContexts = (ref.forContexts || []).filter((fc) => fc !== null);
97
+ const contexts = 'forContexts' in ref ? ref.forContexts : [];
98
+ const refForContexts = (contexts || []).filter((fc) => fc !== null);
92
99
  if (refForContexts.length > 0) {
93
100
  const filtered = allCandidates.filter(c => (c.forContexts || [null]).some(cfc => cfc !== null && refForContexts.some((rfc) => normalizeTerm(cfc) === normalizeTerm(rfc))));
94
101
  // Only narrow if we found matches for the context
@@ -1 +1 @@
1
- {"version":3,"file":"speculator-helpers.js","sourceRoot":"","sources":["../../src/rules/speculator-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speculator-helpers.js","sourceRoot":"","sources":["../../src/rules/speculator-helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openuji/speculator-lint",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Standalone linter for Speculator workspace AST with configurable validation rules",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "vitest": "^1.0.0"
21
21
  },
22
22
  "dependencies": {
23
- "@openuji/speculator": "0.6.0"
23
+ "@openuji/speculator": "0.6.2"
24
24
  },
25
25
  "files": [
26
26
  "dist",
@@ -34,12 +34,19 @@
34
34
  "speculator"
35
35
  ],
36
36
  "license": "MIT",
37
+ "lint-staged": {
38
+ "src/**/!(*.generated).ts": [
39
+ "eslint --fix --max-warnings 0",
40
+ "bash -c 'pnpm typecheck'",
41
+ "bash -c 'pnpm test --run'"
42
+ ]
43
+ },
37
44
  "scripts": {
38
45
  "build": "tsc",
39
46
  "dev": "tsc --watch",
40
47
  "test": "vitest run",
41
48
  "test:watch": "vitest",
42
- "lint": "eslint src --ext .ts",
49
+ "lint": "eslint src --ext .ts --max-warnings 0",
43
50
  "lint:fix": "eslint src --ext .ts --fix",
44
51
  "typecheck": "tsc --noEmit"
45
52
  }