gutterpress 0.10.9-beta.1 → 0.10.9

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/README.md CHANGED
@@ -269,9 +269,11 @@ gutterpress lint [files] [options]
269
269
 
270
270
  Common findings include remote `url(...)` references, effects that rasterize
271
271
  print text, and declarations on core page wrappers that could clip or trap
272
- out-of-flow art. The source-level containment check is an early signal; the
273
- build-time `engine.layer.trapped` diagnostic inspects the authoritative live
274
- ancestor chain.
272
+ out-of-flow art. Each finding is listed with its file and `line:col`, so you
273
+ can see exactly which selectors rasterize text; a property at its initial value
274
+ (`filter: none`, `will-change: auto`) is not a finding. The source-level
275
+ containment check is an early signal; the build-time `engine.layer.trapped`
276
+ diagnostic inspects the authoritative live ancestor chain.
275
277
 
276
278
  ### `gutterpress validate`
277
279
 
package/dist/api/index.js CHANGED
@@ -121,7 +121,7 @@ import {
121
121
  syncProject,
122
122
  testRemoteAccess,
123
123
  validateProjectExtensions
124
- } from "../index-erwh3bww.js";
124
+ } from "../index-mey5vraz.js";
125
125
  import {
126
126
  BuildError,
127
127
  DEFAULT_PRINT_OPTS,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  executeAndReport
3
- } from "./cli-vhdvkqdd.js";
3
+ } from "./cli-8pg731p5.js";
4
4
  import {
5
5
  log
6
- } from "./cli-fwh6rkev.js";
6
+ } from "./cli-ypfvnhag.js";
7
7
  import {
8
8
  UsageError,
9
9
  rejectExtraPositionals,
10
10
  rejectUnknownFlags
11
- } from "./cli-0tgbgwnj.js";
11
+ } from "./cli-rh05byck.js";
12
12
  import"./cli-bx950tb4.js";
13
13
  import"./cli-c41yr7he.js";
14
14
  import {
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runBuild,
3
3
  splitOutPath
4
- } from "./cli-vhdvkqdd.js";
4
+ } from "./cli-8pg731p5.js";
5
5
  import {
6
6
  log
7
- } from "./cli-fwh6rkev.js";
7
+ } from "./cli-ypfvnhag.js";
8
8
  import {
9
9
  UsageError,
10
10
  parseFormat,
11
11
  parsePdfxFlavor,
12
12
  rejectExtraPositionals,
13
13
  rejectUnknownFlags
14
- } from "./cli-0tgbgwnj.js";
14
+ } from "./cli-rh05byck.js";
15
15
  import"./cli-bx950tb4.js";
16
16
  import"./cli-c41yr7he.js";
17
17
  import {
@@ -0,0 +1,18 @@
1
+ import type { Check } from "../types";
2
+ /**
3
+ * A relative link — `[text](docs/x.md)`, `[next](./02.md)`, even one to an
4
+ * image the build copies — cannot be opened from the printed book: a PDF has
5
+ * no files beside it, and every chapter is concatenated into one document at
6
+ * the staging root, so the browser resolved the href to the build machine's
7
+ * temp dir and baked that into the PDF (#263). The build now drops such an
8
+ * href before print (lib/build-staging.ts `dropRelativeLinkHrefs`); this
9
+ * check tells the author which links that affects, at the source line, so
10
+ * they can choose `#anchor`, an absolute URL, or plain text instead.
11
+ *
12
+ * `source.links.local-refs` answers a different question — does the target
13
+ * exist on disk — and a link can pass that while still being unopenable from
14
+ * a PDF, which is why this is its own check (and can be switched off for an
15
+ * HTML-only book via `validate.checks`).
16
+ */
17
+ declare const check: Check;
18
+ export default check;
@@ -3,6 +3,7 @@ import "./htmlhint";
3
3
  import "./stylelint";
4
4
  import "./css-ownership";
5
5
  import "./local-refs";
6
+ import "./dangling-links";
6
7
  import "./accessibility-alt-text";
7
8
  import "./accessibility-heading-order";
8
9
  import "./layout-markers";
@@ -1,4 +1,5 @@
1
1
  import type { LoadedPlugin } from "../../lib/markdown/renderer";
2
+ import type { CheckContext, CheckResult } from "../types";
2
3
  export type RenderedRefKind = "image" | "link";
3
4
  export interface RenderedLocalRef {
4
5
  ref: string;
@@ -26,3 +27,15 @@ export type RenderedLocalRefCollector = (content: string) => RenderedLocalRef[];
26
27
  * source files avoids loading/applying a project plugin once per chapter.
27
28
  */
28
29
  export declare function createRenderedLocalRefCollector(customPlugins?: LoadedPlugin[]): RenderedLocalRefCollector;
30
+ /**
31
+ * Every rendered link/image of every source file, with the scaffolding the
32
+ * link checks share: the book's plugins loaded degrade-and-report (a plugin
33
+ * that will not load is pushed to `results` as an inspection failure and the
34
+ * rest is still checked — the loader's path-module cache avoids repeating
35
+ * module-level plugin side effects when another check or the build already
36
+ * loaded the same unchanged plugin), one parser reused for every chapter, and
37
+ * a file that cannot be read or parsed reported rather than thrown.
38
+ */
39
+ export declare function renderedLocalRefs(ctx: CheckContext, checkId: string, results: CheckResult[]): AsyncGenerator<RenderedLocalRef & {
40
+ file: string;
41
+ }>;