gutterpress 0.11.10-alpha.3 → 0.11.10-alpha.7
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 +24 -46
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +10 -6
- package/dist/{build-wvm8haf3.js → build-v8gn687b.js} +7 -6
- package/dist/cdp-jg95s674.js +15 -0
- package/dist/cdp-smdx6mr3.js +16 -0
- package/dist/{cli-w3khh6re.js → cli-2frrxgf3.js} +283 -1142
- package/dist/{cli-xk7qfz4m.js → cli-2k72f0ww.js} +1 -4
- package/dist/{cli-d8rdk1y7.js → cli-30j93gzt.js} +11 -335
- package/dist/{cli-pfczdbyd.js → cli-5qr3z0qa.js} +10 -404
- package/dist/{cli-c41yr7he.js → cli-7fkhgtfn.js} +3 -1
- package/dist/cli-kkzka31p.js +261 -0
- package/dist/{cli-m3jt4tw6.js → cli-wyry8qbw.js} +2 -2
- package/dist/cli.js +12 -14
- package/dist/{doctor-py6xbmbf.js → doctor-abftekky.js} +3 -3
- package/dist/engine/shared/cdp.d.ts +23 -19
- package/dist/engine-3gwctsty.js +24 -0
- package/dist/engine-mwshptgf.js +25 -0
- package/dist/{ext-tg7ntd0y.js → ext-wr3by4tx.js} +7 -6
- package/dist/{index-kqftehgy.js → index-dzp0hc2c.js} +4 -2
- package/dist/{index-cgbxryk0.js → index-ns8gav3w.js} +344 -1130
- package/dist/{index-fnhak0nh.js → index-qf7y4d85.js} +10 -404
- package/dist/index-r4wvy5v3.js +267 -0
- package/dist/{index-t43k5rq1.js → index-rzm1phg0.js} +23 -356
- package/dist/index.d.ts +0 -1
- package/dist/index.js +12 -87
- package/dist/lib/build-error.d.ts +4 -5
- package/dist/lib/build-preflight.d.ts +1 -35
- package/dist/lib/build-runner.d.ts +27 -44
- package/dist/lib/chromium.d.ts +5 -1
- package/dist/lib/engine.d.ts +3 -18
- package/dist/lib/extension-manager.d.ts +2 -2
- package/dist/lib/extension-manifest.d.ts +1 -1
- package/dist/lib/markdown/assemble.d.ts +2 -9
- package/dist/lib/markdown/index.d.ts +2 -4
- package/dist/lib/markdown/plugins.d.ts +0 -3
- package/dist/lib/npm-plugin-installer.d.ts +6 -1
- package/dist/lib/plugin-vendor.d.ts +10 -78
- package/dist/lib/source-provider.d.ts +1 -1
- package/dist/lib/validation-exec.d.ts +5 -6
- package/dist/{new-gbjq78y0.js → new-t0m2yyh6.js} +9 -8
- package/dist/{preflight-w78jrtm9.js → preflight-tsy2rmyw.js} +7 -6
- package/dist/preview/file-watcher.d.ts +4 -43
- package/dist/preview/http-server.d.ts +1 -3
- package/dist/{preview-bg93vsz1.js → preview-0bqz31w2.js} +7 -6
- package/dist/{preview-shell-gqnc5xxe.js → preview-shell-tqndvhbx.js} +5 -7
- package/dist/{publish-we0m2hsn.js → publish-38spy866.js} +7 -6
- package/dist/render.d.ts +1 -1
- package/dist/render.js +1 -9
- package/dist/{source-provider-ta09wegv.js → source-provider-pzmz0br9.js} +1 -1
- package/dist/{source-provider-7c2ww3bz.js → source-provider-qbthnmqw.js} +1 -1
- package/dist/{validate-1tp3nr50.js → validate-k9yge2rh.js} +7 -6
- package/package.json +1 -4
- package/dist/audit-gw44spqb.js +0 -69
- package/dist/engine-qtfrfbpk.js +0 -41
- package/dist/engine-trte2tg2.js +0 -40
- package/dist/lib/browser-pool.d.ts +0 -35
- package/dist/lib/lint-runner.d.ts +0 -29
- package/dist/lint-krdp1yec.js +0 -68
package/README.md
CHANGED
|
@@ -133,9 +133,9 @@ The full configuration cascade is `CLI flags > manifest.yaml > preset defaults`.
|
|
|
133
133
|
|
|
134
134
|
## Commands
|
|
135
135
|
|
|
136
|
-
Gutterpress has
|
|
137
|
-
primary author commands; `
|
|
138
|
-
|
|
136
|
+
Gutterpress has 8 subcommands. `new`, `preview`, `build`, and `publish` are the
|
|
137
|
+
primary author commands; `validate` and `preflight` are CI / advanced
|
|
138
|
+
checks; `doctor` reports system readiness; and `ext` manages the
|
|
139
139
|
project's extensions (plugins, looks, component libraries). Every
|
|
140
140
|
command also accepts `--help` for the authoritative, always-current flag list
|
|
141
141
|
(`gutterpress <command> --help`) — this section is regenerated from the same
|
|
@@ -268,28 +268,6 @@ gutterpress publish --provider gdrive --connect
|
|
|
268
268
|
gutterpress publish --provider gdrive ./my-book
|
|
269
269
|
```
|
|
270
270
|
|
|
271
|
-
### `gutterpress lint`
|
|
272
|
-
|
|
273
|
-
Run Gutterpress's PostCSS-based print-safety checks, including remote URLs,
|
|
274
|
-
rasterizing effects, and source-level page-containment risks, against the
|
|
275
|
-
project's CSS files.
|
|
276
|
-
|
|
277
|
-
```sh
|
|
278
|
-
gutterpress lint [files] [options]
|
|
279
|
-
|
|
280
|
-
--manifest <path> Path to manifest.yaml
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
`files` is a positional: either a project directory containing `manifest.yaml` (its configured stylesheets are linted), or a glob pattern for CSS files to lint directly. There is no `--files` flag — pass the directory/glob as the positional.
|
|
284
|
-
|
|
285
|
-
Common findings include remote `url(...)` references, effects that rasterize
|
|
286
|
-
print text, and declarations on core page wrappers that could clip or trap
|
|
287
|
-
out-of-flow art. Each finding is listed with its file and `line:col`, so you
|
|
288
|
-
can see exactly which selectors rasterize text; a property at its initial value
|
|
289
|
-
(`filter: none`, `will-change: auto`) is not a finding. The source-level
|
|
290
|
-
containment check is an early signal; the build-time `engine.layer.trapped`
|
|
291
|
-
diagnostic inspects the authoritative live ancestor chain.
|
|
292
|
-
|
|
293
271
|
### `gutterpress validate`
|
|
294
272
|
|
|
295
273
|
Run the validation pipeline (pre-build source checks and/or post-build PDF checks). Tools that aren't installed are skipped with a warning — they don't fail the run. See [User Guide: Chapter 6 — Validation](https://github.com/dimm-city/gutterpress/blob/main/examples/gutterpress-user-guide/06-validation.md) for the full check list and [User Guide: Chapter 7 — System Setup](https://github.com/dimm-city/gutterpress/blob/main/examples/gutterpress-user-guide/07-system-setup.md) for which external tools each check needs.
|
|
@@ -324,18 +302,17 @@ It writes only when `source.markdownlint` is actually part of the run, so
|
|
|
324
302
|
markdown untouched — `--fix` can never rewrite a file for a check the report
|
|
325
303
|
does not mention.
|
|
326
304
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
Run asset-only validation checks (image DPI/format/color-space, print-readiness) without the rest of the validation pipeline.
|
|
305
|
+
Two narrowed runs replace the former `lint` and `audit` commands (removed in
|
|
306
|
+
0.11.10 — each was a thin alias over this same pipeline):
|
|
330
307
|
|
|
331
308
|
```sh
|
|
332
|
-
|
|
309
|
+
# CSS print-safety only — remote url(), rasterizing effects, page containment
|
|
310
|
+
# (the check `gutterpress lint <dir>` used to run; findings list file and line:col)
|
|
311
|
+
gutterpress validate my-book --only source.stylelint
|
|
333
312
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
--skip <ids> Skip these check IDs/selectors (comma-separated)
|
|
338
|
-
--format <fmt> text (default) | json
|
|
313
|
+
# Asset checks only — image DPI / format / color space, fonts
|
|
314
|
+
# (what `gutterpress audit <dir>` used to run)
|
|
315
|
+
gutterpress validate my-book --category asset --phase pre
|
|
339
316
|
```
|
|
340
317
|
|
|
341
318
|
### `gutterpress preflight`
|
|
@@ -398,9 +375,9 @@ Add an extension. What `SOURCE` is decides what happens:
|
|
|
398
375
|
|
|
399
376
|
- an **npm package** (`name` or `name@version`) is downloaded straight from
|
|
400
377
|
the registry along with its runtime dependencies, hash-verified, vendored
|
|
401
|
-
into the project under `plugins/npm
|
|
402
|
-
|
|
403
|
-
|
|
378
|
+
into the project under `plugins/npm/`, load-tested, and written back pinned
|
|
379
|
+
as `name@<exact version>`. This does not invoke npm, Bun, Node.js tooling,
|
|
380
|
+
or package install scripts;
|
|
404
381
|
- a **bundled feature** (`markdown-it-mark`, `markdown-it-sub`,
|
|
405
382
|
`markdown-it-sup`, `markdown-it-abbr`, `gutterpress-gfm-alerts`) is simply
|
|
406
383
|
listed — nothing to install, works offline;
|
|
@@ -488,11 +465,11 @@ Every command follows the same exit-code contract, so CI can branch on the resul
|
|
|
488
465
|
| Code | Meaning |
|
|
489
466
|
|---|---|
|
|
490
467
|
| `0` | Clean — no findings, nothing to fix. |
|
|
491
|
-
| `1` | Findings — the command ran fine but reported findings/validation failures (`
|
|
468
|
+
| `1` | Findings — the command ran fine but reported findings/validation failures (`validate`/`preflight` findings, a `build` quality-gate rejection). |
|
|
492
469
|
| `2` | Usage — the invocation itself was wrong: a bad flag, positional argument, preset, or value. |
|
|
493
470
|
| `3` | Pipeline — the build/render/export pipeline itself failed for a reason unrelated to usage or findings (I/O error, missing tool, renderer crash). |
|
|
494
471
|
|
|
495
|
-
This applies uniformly across `build`, `preview`, `
|
|
472
|
+
This applies uniformly across `build`, `preview`, `validate`, `preflight`, `publish`, `ext`, `new`, and `doctor`.
|
|
496
473
|
|
|
497
474
|
## Extensions
|
|
498
475
|
|
|
@@ -539,13 +516,14 @@ An extension folder (or npm package) describes itself in its **`package.json`**
|
|
|
539
516
|
|
|
540
517
|
Order is load order: a later entry's markdown runs after earlier entries' (and sees their output) and its CSS wins ties — each extension's stylesheets are wrapped in their own cascade layer (`@layer ext.<name>`), declared in list order, so this holds however an extension writes its CSS; the project's own `styles:` stay unlayered and load after every extension, beating all of them at any specificity. There is no `priority` and no `path:`/`name:` wrapper — a manifest still carrying `plugins:` fails with a message that prints the same entries rewritten as `extensions:`. The `engine:` and `engineStyles:` keys are gone too (there is one engine; move any `engineStyles` entries to the end of `styles:`).
|
|
541
518
|
|
|
542
|
-
Pinned npm packages and their runtime dependencies live under `plugins/npm
|
|
543
|
-
|
|
544
|
-
travel with the project and builds never fetch from the registry
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
519
|
+
Pinned npm packages and their runtime dependencies live under `plugins/npm/`
|
|
520
|
+
as a plain nested `node_modules` tree, which Node's own module resolution loads.
|
|
521
|
+
They travel with the project and builds never fetch from the registry; each
|
|
522
|
+
tarball's integrity is checked against the registry's hash when it is
|
|
523
|
+
installed. Install/build scripts, native addon compilation, bundled
|
|
524
|
+
`node_modules`, and non-registry dependency selectors are intentionally
|
|
525
|
+
unsupported. Only install packages you trust: extensions run unsandboxed with
|
|
526
|
+
the process's full filesystem and network privileges.
|
|
549
527
|
|
|
550
528
|
Use the entry's `export` field, or `ext add --export <name>`, for packages
|
|
551
529
|
that expose a named plugin function instead of a default export.
|
package/dist/api/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* await runBuild({ inputDir: "./book", format: "pdf", outDir: "./out", rawArgs: {} });
|
|
12
12
|
*/
|
|
13
13
|
export { runBuild, splitOutPath, BuildError, type BuildFormat, type PdfxFlavor, type BuildRunnerOptions, type BuildRunnerResult, type SplitOutPath, type EngineBrowser, type EngineSession, } from "../lib/build-runner";
|
|
14
|
-
export { DEFAULT_PRINT_OPTS, readyProbeExpr } from "../engine/shared/cdp";
|
|
14
|
+
export { DEFAULT_PRINT_OPTS, readyProbeExpr, assertMilestone } from "../engine/shared/cdp";
|
|
15
15
|
export { startPreviewServer, type PreviewServerHandle, type StartPreviewServerOptions, } from "../server";
|
|
16
16
|
export type { PreviewServerOptions } from "../types";
|
|
17
17
|
export { loadManifestWithPath, resolveConfig, MANIFEST_FILENAMES, hasProjectManifest, } from "../lib/manifest";
|
package/dist/api/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
BUILT_IN_STYLE_SET_IDS,
|
|
8
8
|
BUILT_IN_TEMPLATE_IDS,
|
|
9
9
|
BUNDLED_EXTENSIONS,
|
|
10
|
+
DEFAULT_NPM_REGISTRY,
|
|
10
11
|
EXTENSIONS_DIR,
|
|
11
12
|
EXTENSION_KINDS,
|
|
12
13
|
EXTENSION_MANIFEST_FILENAME,
|
|
@@ -75,6 +76,7 @@ import {
|
|
|
75
76
|
listRepoBooks,
|
|
76
77
|
listSnippets,
|
|
77
78
|
loadManifestWithPath,
|
|
79
|
+
npmRegistryUrl,
|
|
78
80
|
parseExtensionSpecifier,
|
|
79
81
|
parseRemoteOrigin,
|
|
80
82
|
pathEscapesFolder,
|
|
@@ -125,15 +127,17 @@ import {
|
|
|
125
127
|
syncProject,
|
|
126
128
|
testRemoteAccess,
|
|
127
129
|
validateProjectExtensions
|
|
128
|
-
} from "../index-
|
|
130
|
+
} from "../index-ns8gav3w.js";
|
|
131
|
+
import {
|
|
132
|
+
BuildError
|
|
133
|
+
} from "../index-r4wvy5v3.js";
|
|
129
134
|
import {
|
|
130
|
-
BuildError,
|
|
131
135
|
DEFAULT_PRINT_OPTS,
|
|
136
|
+
assertMilestone,
|
|
132
137
|
readyProbeExpr
|
|
133
|
-
} from "../index-
|
|
138
|
+
} from "../index-rzm1phg0.js";
|
|
134
139
|
import {
|
|
135
140
|
AUTO_SNAPSHOT_MESSAGE,
|
|
136
|
-
DEFAULT_NPM_REGISTRY,
|
|
137
141
|
HISTORY_PAGE_LIMIT,
|
|
138
142
|
PLUGINS_DIR,
|
|
139
143
|
RESTORE_BACKUP_MESSAGE,
|
|
@@ -141,13 +145,12 @@ import {
|
|
|
141
145
|
countUnversionedChanges,
|
|
142
146
|
isNoChangesError,
|
|
143
147
|
listLocalBranches,
|
|
144
|
-
npmRegistryUrl,
|
|
145
148
|
providerFor,
|
|
146
149
|
resolveLogger,
|
|
147
150
|
restoreVersionWithBackup,
|
|
148
151
|
switchBranch,
|
|
149
152
|
whenGitIdle
|
|
150
|
-
} from "../index-
|
|
153
|
+
} from "../index-qf7y4d85.js";
|
|
151
154
|
import {
|
|
152
155
|
capabilitiesFor,
|
|
153
156
|
detectProjectSource,
|
|
@@ -264,6 +267,7 @@ export {
|
|
|
264
267
|
capabilitiesFor,
|
|
265
268
|
autoSyncDelayMs,
|
|
266
269
|
autoSnapshotDelayMs,
|
|
270
|
+
assertMilestone,
|
|
267
271
|
assertExtensionContained,
|
|
268
272
|
adoptFolder,
|
|
269
273
|
addExtension,
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runBuild,
|
|
3
3
|
splitOutPath
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-2frrxgf3.js";
|
|
5
5
|
import {
|
|
6
6
|
log
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-wyry8qbw.js";
|
|
8
8
|
import {
|
|
9
9
|
UsageError,
|
|
10
10
|
parseFormat,
|
|
11
11
|
parsePdfxFlavor,
|
|
12
12
|
rejectExtraPositionals,
|
|
13
13
|
rejectUnknownFlags
|
|
14
|
-
} from "./cli-
|
|
15
|
-
import"./cli-
|
|
16
|
-
import"./cli-c41yr7he.js";
|
|
14
|
+
} from "./cli-2k72f0ww.js";
|
|
15
|
+
import"./cli-30j93gzt.js";
|
|
17
16
|
import {
|
|
18
17
|
BuildError
|
|
19
18
|
} from "./cli-46ycxe6r.js";
|
|
20
|
-
import"./cli-
|
|
19
|
+
import"./cli-kkzka31p.js";
|
|
20
|
+
import"./cli-7fkhgtfn.js";
|
|
21
|
+
import"./cli-5qr3z0qa.js";
|
|
21
22
|
import"./cli-v5mp7a6q.js";
|
|
22
23
|
import"./cli-37x76zdn.js";
|
|
23
24
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_PRINT_OPTS,
|
|
3
|
+
REQUIRED_MILESTONE,
|
|
4
|
+
assertMilestone,
|
|
5
|
+
launchChromium,
|
|
6
|
+
readyProbeExpr
|
|
7
|
+
} from "./index-rzm1phg0.js";
|
|
8
|
+
import"./index-37x76zdn.js";
|
|
9
|
+
export {
|
|
10
|
+
readyProbeExpr,
|
|
11
|
+
launchChromium,
|
|
12
|
+
assertMilestone,
|
|
13
|
+
REQUIRED_MILESTONE,
|
|
14
|
+
DEFAULT_PRINT_OPTS
|
|
15
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_PRINT_OPTS,
|
|
3
|
+
REQUIRED_MILESTONE,
|
|
4
|
+
assertMilestone,
|
|
5
|
+
launchChromium,
|
|
6
|
+
readyProbeExpr
|
|
7
|
+
} from "./cli-kkzka31p.js";
|
|
8
|
+
import"./cli-7fkhgtfn.js";
|
|
9
|
+
import"./cli-37x76zdn.js";
|
|
10
|
+
export {
|
|
11
|
+
readyProbeExpr,
|
|
12
|
+
launchChromium,
|
|
13
|
+
assertMilestone,
|
|
14
|
+
REQUIRED_MILESTONE,
|
|
15
|
+
DEFAULT_PRINT_OPTS
|
|
16
|
+
};
|