gutterpress 0.11.23-alpha.1 → 0.11.23-alpha.2
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 +21 -22
- package/dist/api/index.d.ts +4 -4
- package/dist/api/index.js +16 -22
- package/dist/{build-09cd1n7s.js → build-encgnv0c.js} +9 -10
- package/dist/{cli-habkc5ng.js → cli-a35w7wzg.js} +5 -4
- package/dist/{cli-b0vyjvmt.js → cli-aqh6brew.js} +1 -1
- package/dist/{cli-ccp7sxz3.js → cli-evg8sbht.js} +1 -1
- package/dist/{cli-nr6j6300.js → cli-kh8v4vvw.js} +1 -1
- package/dist/{cli-h17e3mtz.js → cli-pwwfxdgb.js} +385 -10
- package/dist/{cli-dtckwda1.js → cli-pz4bn98t.js} +185 -9
- package/dist/{cli-dd115fa8.js → cli-sdmv4bba.js} +47 -123
- package/dist/{cli-5hkmp2wy.js → cli-xq6djqbj.js} +55 -88
- package/dist/{index-r7jcsk6h.js → cli-y28j019d.js} +19 -10
- package/dist/cli.js +12 -12
- package/dist/{doctor-nddspx4n.js → doctor-5gtpgpd1.js} +3 -3
- package/dist/{engine-892swzzc.js → engine-mc5br8g8.js} +1 -2
- package/dist/{engine-yjzknt0g.js → engine-tn13gk0b.js} +3 -3
- package/dist/{ext-zjpen4yx.js → ext-wn2a5afq.js} +18 -33
- package/dist/{extension-restore-w8xt4kbq.js → extension-restore-g8jnmmzq.js} +5 -6
- package/dist/{extension-restore-jvs60x9b.js → extension-restore-s3x1618g.js} +4 -4
- package/dist/{index-apc8w9w8.js → index-0skhjx3e.js} +180 -1
- package/dist/{index-2jpk25en.js → index-2bjcghze.js} +385 -10
- package/dist/index-46ycxe6r.js +18 -0
- package/dist/{index-0w2azsk1.js → index-4x6y8krm.js} +2 -4
- package/dist/{cli-h3phdstf.js → index-5x42amh8.js} +19 -10
- package/dist/{index-93pqkvty.js → index-h6yk5tjx.js} +5 -4
- package/dist/{index-zrhyb967.js → index-j5z86r4a.js} +335 -349
- package/dist/{index-m4hhzg3c.js → index-x3ema2w3.js} +59 -134
- package/dist/index.js +17 -23
- package/dist/lib/extension-manager.d.ts +16 -43
- package/dist/lib/extension-scaffold.d.ts +3 -3
- package/dist/lib/extension-specifier.d.ts +23 -6
- package/dist/lib/markdown/math.d.ts +1 -1
- package/dist/lib/npm-plugin-installer.d.ts +1 -1
- package/dist/lib/plugin-vendor.d.ts +11 -3
- package/dist/lib/project-gitignore.d.ts +2 -2
- package/dist/lib/project-scaffold.d.ts +5 -7
- package/dist/lib/project-templates.d.ts +0 -3
- package/dist/lib/snippets.d.ts +2 -1
- package/dist/lib/style-resolver.d.ts +1 -2
- package/dist/{manifest-8f10dr4f.yaml → manifest-eagfhba6.yaml} +2 -0
- package/dist/{manifest.schema-9aeaered.json → manifest.schema-t7nx2stg.json} +5 -5
- package/dist/{new-xhq8wczn.js → new-mhs46pw3.js} +22 -21
- package/dist/{plugins-9en8m9y0.js → plugins-1sxe0dkz.js} +4 -4
- package/dist/{plugins-gf0gkjmv.js → plugins-2cek4mz1.js} +2 -2
- package/dist/{preflight-negnxg7b.js → preflight-3k2b1x8e.js} +9 -10
- package/dist/{preview-cep2s9cg.js → preview-6p9v6rht.js} +9 -10
- package/dist/{publish-xery6qc6.js → publish-qgsngy8s.js} +9 -10
- package/dist/{source-provider-qbfknhyy.js → source-provider-98k5deda.js} +2 -2
- package/dist/{source-provider-2r74a7wp.js → source-provider-knmcam50.js} +2 -2
- package/dist/{validate-3d0sgf4g.js → validate-0v7xw6wa.js} +9 -10
- package/package.json +1 -1
- package/dist/cli-fe43evmf.js +0 -212
- package/dist/index-dsvk7q6s.js +0 -229
- package/dist/package-97gm31sg.json +0 -10
- package/dist/package-gag6ykwn.json +0 -10
- package/dist/package-nrhkwf2m.json +0 -10
- package/dist/package-zttkgydq.json +0 -10
- package/dist/theme-9c58td2d.css +0 -76
- package/dist/theme-h5recz6c.css +0 -61
- package/dist/theme-j2bagrfx.css +0 -59
- package/dist/theme-nn6d53zy.css +0 -71
package/README.md
CHANGED
|
@@ -143,19 +143,19 @@ source.
|
|
|
143
143
|
|
|
144
144
|
### `gutterpress new`
|
|
145
145
|
|
|
146
|
-
Scaffold a new book, plugin or
|
|
146
|
+
Scaffold a new book, plugin or look from an embedded starter template — the fastest way to start (see [Quick start](#quick-start)).
|
|
147
147
|
|
|
148
|
-
`--kind book` is the default. Every new book
|
|
148
|
+
`--kind book` is the default. Every new book has the preset it's designed for, the template's unless you choose: `dtrpg` (DriveThruRPG print-on-demand), `book` (neutral 6x9in trade book), or `custom` (you supply the trim size in points).
|
|
149
149
|
|
|
150
|
-
`--kind plugin` and `--kind
|
|
150
|
+
`--kind plugin` and `--kind look` scaffold an **extension package** instead — a folder with a `package.json` a book can load. The plugin starter carries a declarative marker table, a hand-written markdown-it rule, component CSS and a `bun test` fixture suite; the look starter carries the six-file layered CSS architecture (tokens / base / components / page-templates / page-rules / book), each sheet opening with its own OWNS / MUST NOT CONTAIN contract header. Both include a README explaining which conventions are load-bearing. An extension needs no preset, trim size or publish target, so the book-only flags below are rejected rather than ignored when `--kind` names one — and `--prefix`/`--description` are likewise rejected for a book.
|
|
151
151
|
|
|
152
152
|
```sh
|
|
153
153
|
gutterpress new <name> [--kind <id>] [options]
|
|
154
154
|
|
|
155
|
-
--kind <id> What to create: book (default), plugin,
|
|
156
|
-
--prefix <str> Class/custom-property prefix an extension claims (default: its slug, e.g. "field-notes-"); --kind plugin|
|
|
157
|
-
--description <text> One-line description recorded in the extension's metadata; --kind plugin|
|
|
158
|
-
--preset <id>
|
|
155
|
+
--kind <id> What to create: book (default), plugin, look
|
|
156
|
+
--prefix <str> Class/custom-property prefix an extension claims (default: its slug, e.g. "field-notes-"); --kind plugin|look only
|
|
157
|
+
--description <text> One-line description recorded in the extension's metadata; --kind plugin|look only
|
|
158
|
+
--preset <id> Preset the book is designed for: dtrpg, book, custom (default: the template's)
|
|
159
159
|
--author <name> Author name to record in the project
|
|
160
160
|
--dir <path> Parent directory to create the project in (default: current directory)
|
|
161
161
|
--folder <name> Folder name to create (default: a slug of the project name)
|
|
@@ -392,32 +392,32 @@ Add an extension. What `SOURCE` is decides what happens:
|
|
|
392
392
|
|
|
393
393
|
- an **npm package** (`name` or `name@version`) is downloaded straight from
|
|
394
394
|
the registry along with its runtime dependencies, hash-verified, vendored
|
|
395
|
-
into the project under `
|
|
395
|
+
into the project under `extensions/npm/`, load-tested, and written back pinned
|
|
396
396
|
as `name@<exact version>`. This does not invoke npm, Bun, Node.js tooling,
|
|
397
397
|
or package install scripts;
|
|
398
|
-
- a **bundled
|
|
399
|
-
`markdown-it-
|
|
400
|
-
`gutterpress-math`)
|
|
398
|
+
- a **bundled name** — a markdown feature (`markdown-it-mark`,
|
|
399
|
+
`markdown-it-sub`, `markdown-it-sup`, `markdown-it-abbr`,
|
|
400
|
+
`gutterpress-gfm-alerts`, `gutterpress-math`) or a built-in look
|
|
401
|
+
(`clean-book`, `zine`, `technical-doc`, `academic`) — is simply listed:
|
|
402
|
+
nothing to install, works offline;
|
|
401
403
|
- a **folder or plugin-file path** is load-tested and listed as a
|
|
402
404
|
manifest-relative path, referenced in place — never copied;
|
|
403
405
|
- a **`.zip` or `.css` file**, or an **http(s) URL**, is validated (every
|
|
404
406
|
declared sheet must exist and parse; print-safety findings are warnings)
|
|
405
|
-
and landed in `extensions/<id>/`, then listed as `./extensions/<id
|
|
406
|
-
- with `--look`, `SOURCE` is a built-in look id, copied into
|
|
407
|
-
`extensions/<id>/` as the author's own editable files and listed.
|
|
407
|
+
and landed in `extensions/<id>/`, then listed as `./extensions/<id>`.
|
|
408
408
|
|
|
409
409
|
Adding something already listed re-pins or updates that entry instead of
|
|
410
410
|
adding a second one.
|
|
411
411
|
|
|
412
|
-
An npm install also makes sure the book's `.gitignore` ignores `
|
|
413
|
-
(append-only; an author's own `!
|
|
412
|
+
An npm install also makes sure the book's `.gitignore` ignores `extensions/npm/`
|
|
413
|
+
(append-only; an author's own `!extensions/npm/` re-include is respected and the
|
|
414
414
|
install warns that downloaded extensions shouldn't be committed). The manifest
|
|
415
415
|
pin is what travels with the book; the downloaded copy does not.
|
|
416
416
|
|
|
417
417
|
##### Restoring pinned extensions
|
|
418
418
|
|
|
419
419
|
A fresh clone has `manifest.yaml`'s `name@version` pins but not the downloaded
|
|
420
|
-
copies under `
|
|
420
|
+
copies under `extensions/npm/`. `build`, `validate`, `preflight` and `preview`
|
|
421
421
|
download any missing (or incomplete) pinned version before they load plugins —
|
|
422
422
|
exactly the pinned version, through the same registry-resolved, hash-verified,
|
|
423
423
|
load-tested install as `ext add`, without touching the manifest. Builds and
|
|
@@ -429,7 +429,7 @@ paths and bundled features are never touched. The plugin loader itself stays
|
|
|
429
429
|
offline. The desktop app does the same when it opens a book.
|
|
430
430
|
|
|
431
431
|
Once a package's pinned version is installed (by `ext add` or a restore), its
|
|
432
|
-
other downloaded versions under `
|
|
432
|
+
other downloaded versions under `extensions/npm/<name>/` are deleted — a cache
|
|
433
433
|
that a pulled pin or branch switch would otherwise leave to pile up — except a
|
|
434
434
|
version another enabled manifest entry still pins. A failed install removes the
|
|
435
435
|
folders it created and nothing else.
|
|
@@ -438,7 +438,6 @@ folders it created and nothing else.
|
|
|
438
438
|
gutterpress ext add <source> [dir] [options]
|
|
439
439
|
|
|
440
440
|
--export <name> Named module export to use as the plugin function (npm and path extensions only)
|
|
441
|
-
--look Treat SOURCE as a built-in look id (clean-book, zine, technical-doc, academic): copy it into extensions/ and add it
|
|
442
441
|
```
|
|
443
442
|
|
|
444
443
|
```sh
|
|
@@ -447,7 +446,7 @@ gutterpress ext add markdown-it-highlightjs@4.3.0 ./my-book
|
|
|
447
446
|
gutterpress ext add markdown-it-emoji@3.0.0 ./my-book --export full
|
|
448
447
|
gutterpress ext add markdown-it-mark ./my-book
|
|
449
448
|
gutterpress ext add ./plugins/field-notes ./my-book
|
|
450
|
-
gutterpress ext add zine ./my-book
|
|
449
|
+
gutterpress ext add zine ./my-book
|
|
451
450
|
gutterpress ext add ./parchment.zip ./my-book
|
|
452
451
|
gutterpress ext add https://example.com/looks/cool/ ./my-book
|
|
453
452
|
```
|
|
@@ -456,7 +455,7 @@ gutterpress ext add https://example.com/looks/cool/ ./my-book
|
|
|
456
455
|
|
|
457
456
|
Remove an extension from the manifest, by the specifier as written there (for
|
|
458
457
|
an npm package the bare name is enough). An npm extension's vendored copy
|
|
459
|
-
under `
|
|
458
|
+
under `extensions/npm/` is deleted too; a path extension's folder is yours and is
|
|
460
459
|
never touched.
|
|
461
460
|
|
|
462
461
|
```sh
|
|
@@ -558,7 +557,7 @@ An extension folder (or npm package) describes itself in its **`package.json`**
|
|
|
558
557
|
|
|
559
558
|
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:`).
|
|
560
559
|
|
|
561
|
-
Pinned npm packages and their runtime dependencies live under `
|
|
560
|
+
Pinned npm packages and their runtime dependencies live under `extensions/npm/`
|
|
562
561
|
as a plain nested `node_modules` tree, which Node's own module resolution loads.
|
|
563
562
|
The pin travels with the project; the downloaded copy is gitignored, and
|
|
564
563
|
`build`, `validate`, `preflight` and `preview` download a missing pinned version first
|
package/dist/api/index.d.ts
CHANGED
|
@@ -34,10 +34,10 @@ export { listBuiltInTemplates, listCustomTemplates, saveProjectAsTemplate, impor
|
|
|
34
34
|
export type { TemplateInfo, SaveProjectAsTemplateOptions, } from "../lib/project-templates.ts";
|
|
35
35
|
export { extractVariables, substituteVariables, listSnippets, saveSnippet, deleteSnippet, listMergedSnippets, listMarkerComponents, listLocationVariants, SNIPPETS_DIR, } from "../lib/snippets.ts";
|
|
36
36
|
export type { LocationVariant, MarkerComponent, SnippetEntry, SnippetSource } from "../lib/snippets.ts";
|
|
37
|
-
export { listProjectExtensions, describeExtension, addExtension, checkExtensionUpdates, listNpmVersions, updateExtensions, removeExtension, setExtensionEnabled, reorderExtensions, validateProjectExtensions, readExtensionCss,
|
|
38
|
-
export type { ProjectExtensionEntry, ExtensionValidationResult,
|
|
39
|
-
export { BUNDLED_EXTENSIONS, isBundledExtension, isPathSpecifier, parseExtensionSpecifier, } from "../lib/extension-specifier.ts";
|
|
40
|
-
export type { ParsedExtensionSpecifier } from "../lib/extension-specifier.ts";
|
|
37
|
+
export { listProjectExtensions, describeExtension, addExtension, checkExtensionUpdates, listNpmVersions, updateExtensions, removeExtension, setExtensionEnabled, reorderExtensions, validateProjectExtensions, readExtensionCss, listBundledExtensions, sameExtension, EXTENSIONS_DIR, } from "../lib/extension-manager.ts";
|
|
38
|
+
export type { ProjectExtensionEntry, ExtensionValidationResult, BundledExtensionInfo, ExtensionSourceKind, AddExtensionOptions, ExtensionUpdateCheck, ExtensionUpdateResult, CheckExtensionUpdatesOptions, UpdateExtensionsOptions, } from "../lib/extension-manager.ts";
|
|
39
|
+
export { BUNDLED_EXTENSIONS, bundledExtension, isBundledExtension, isPathSpecifier, parseExtensionSpecifier, } from "../lib/extension-specifier.ts";
|
|
40
|
+
export type { BundledExtension, ParsedExtensionSpecifier } from "../lib/extension-specifier.ts";
|
|
41
41
|
export { restorePinnedExtensions, restoreFailureMessage } from "../lib/extension-restore.ts";
|
|
42
42
|
export type { RestorePinnedOptions, RestoreResult, RestoreFailure, RestoreProgress } from "../lib/extension-restore.ts";
|
|
43
43
|
export { importExtensionFromFile, importExtensionFromUrl } from "../lib/extension-import.ts";
|
package/dist/api/index.js
CHANGED
|
@@ -101,32 +101,24 @@ import {
|
|
|
101
101
|
substituteVariables,
|
|
102
102
|
syncProject,
|
|
103
103
|
testRemoteAccess
|
|
104
|
-
} from "../index-
|
|
104
|
+
} from "../index-j5z86r4a.js";
|
|
105
105
|
import {
|
|
106
|
-
BUILT_IN_STYLE_SET_IDS,
|
|
107
|
-
BUNDLED_EXTENSIONS,
|
|
108
106
|
DEFAULT_NPM_REGISTRY,
|
|
109
|
-
EXTENSIONS_DIR,
|
|
110
107
|
MANIFEST_FILENAMES,
|
|
111
108
|
PRESETS,
|
|
112
109
|
PRESET_IDS,
|
|
113
|
-
RECOMMENDED_EXTENSIONS,
|
|
114
110
|
TARGETS,
|
|
115
111
|
TARGET_IDS,
|
|
116
|
-
addBuiltInStyleSet,
|
|
117
112
|
addExtension,
|
|
118
113
|
checkExtensionUpdates,
|
|
119
114
|
describeExtension,
|
|
120
115
|
ensureProjectGitignore,
|
|
121
116
|
hasProjectManifest,
|
|
122
|
-
|
|
123
|
-
isPathSpecifier,
|
|
124
|
-
listBuiltInStyleSets,
|
|
117
|
+
listBundledExtensions,
|
|
125
118
|
listNpmVersions,
|
|
126
119
|
listProjectExtensions,
|
|
127
120
|
loadManifestWithPath,
|
|
128
121
|
npmRegistryUrl,
|
|
129
|
-
parseExtensionSpecifier,
|
|
130
122
|
publishTargetFor,
|
|
131
123
|
readExtensionCss,
|
|
132
124
|
removeExtension,
|
|
@@ -138,22 +130,27 @@ import {
|
|
|
138
130
|
setExtensionEnabled,
|
|
139
131
|
updateExtensions,
|
|
140
132
|
validateProjectExtensions
|
|
141
|
-
} from "../index-
|
|
133
|
+
} from "../index-x3ema2w3.js";
|
|
142
134
|
import {
|
|
135
|
+
BUNDLED_EXTENSIONS,
|
|
143
136
|
EXTENSION_MANIFEST_FILENAME,
|
|
144
137
|
assertExtensionContained,
|
|
138
|
+
bundledExtension,
|
|
145
139
|
extensionCarries,
|
|
146
140
|
extensionEntry,
|
|
147
141
|
extensionStyleList,
|
|
142
|
+
isBundledExtension,
|
|
143
|
+
isPathSpecifier,
|
|
144
|
+
parseExtensionSpecifier,
|
|
148
145
|
pathEscapesFolder,
|
|
149
146
|
readExtensionMeta,
|
|
150
147
|
resolveExtension
|
|
151
|
-
} from "../index-
|
|
148
|
+
} from "../index-2bjcghze.js";
|
|
152
149
|
import"../index-ht1bcqdd.js";
|
|
153
|
-
import"../index-
|
|
150
|
+
import"../index-0skhjx3e.js";
|
|
154
151
|
import {
|
|
155
152
|
BuildError
|
|
156
|
-
} from "../index-
|
|
153
|
+
} from "../index-46ycxe6r.js";
|
|
157
154
|
import"../index-2ppw6q9v.js";
|
|
158
155
|
import {
|
|
159
156
|
DEFAULT_PRINT_OPTS,
|
|
@@ -173,10 +170,10 @@ import {
|
|
|
173
170
|
restoreVersionWithBackup,
|
|
174
171
|
switchBranch,
|
|
175
172
|
whenGitIdle
|
|
176
|
-
} from "../index-
|
|
173
|
+
} from "../index-h6yk5tjx.js";
|
|
177
174
|
import {
|
|
178
|
-
|
|
179
|
-
} from "../index-
|
|
175
|
+
EXTENSIONS_DIR
|
|
176
|
+
} from "../index-5x42amh8.js";
|
|
180
177
|
import {
|
|
181
178
|
capabilitiesFor,
|
|
182
179
|
detectProjectSource,
|
|
@@ -266,8 +263,8 @@ export {
|
|
|
266
263
|
listGitHubRepositories,
|
|
267
264
|
listGitHubBranches,
|
|
268
265
|
listCustomTemplates,
|
|
266
|
+
listBundledExtensions,
|
|
269
267
|
listBuiltInTemplates,
|
|
270
|
-
listBuiltInStyleSets,
|
|
271
268
|
listBookPublishProviders,
|
|
272
269
|
knownForgeTokenUrl,
|
|
273
270
|
isValidRepositoryName,
|
|
@@ -307,13 +304,13 @@ export {
|
|
|
307
304
|
checkRemoteUpdates,
|
|
308
305
|
checkExtensionUpdates,
|
|
309
306
|
capabilitiesFor,
|
|
307
|
+
bundledExtension,
|
|
310
308
|
autoSyncDelayMs,
|
|
311
309
|
autoSnapshotDelayMs,
|
|
312
310
|
assertMilestone,
|
|
313
311
|
assertExtensionContained,
|
|
314
312
|
adoptFolder,
|
|
315
313
|
addExtension,
|
|
316
|
-
addBuiltInStyleSet,
|
|
317
314
|
VERSION_CHANGES_SHOWN,
|
|
318
315
|
TARGET_IDS,
|
|
319
316
|
TARGETS,
|
|
@@ -324,11 +321,9 @@ export {
|
|
|
324
321
|
RESTORE_BACKUP_MESSAGE,
|
|
325
322
|
RESERVED_PREFIX,
|
|
326
323
|
REPAIR_SNAPSHOT_MESSAGE,
|
|
327
|
-
RECOMMENDED_EXTENSIONS,
|
|
328
324
|
PublishSelectionsStore,
|
|
329
325
|
PRESET_IDS,
|
|
330
326
|
PRESETS,
|
|
331
|
-
PLUGINS_DIR,
|
|
332
327
|
MAX_SEARCH_BYTES,
|
|
333
328
|
MANIFEST_FILENAMES,
|
|
334
329
|
HISTORY_PAGE_LIMIT,
|
|
@@ -346,7 +341,6 @@ export {
|
|
|
346
341
|
BuildError,
|
|
347
342
|
BUNDLED_EXTENSIONS,
|
|
348
343
|
BUILT_IN_TEMPLATE_IDS,
|
|
349
|
-
BUILT_IN_STYLE_SET_IDS,
|
|
350
344
|
AUTO_SYNC_PUSH_INTERVAL_MINUTES,
|
|
351
345
|
AUTO_SYNC_MIN_MINUTES,
|
|
352
346
|
AUTO_SYNC_MAX_MINUTES,
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runBuild,
|
|
3
3
|
splitOutPath
|
|
4
|
-
} from "./cli-
|
|
5
|
-
import"./cli-
|
|
4
|
+
} from "./cli-xq6djqbj.js";
|
|
5
|
+
import"./cli-evg8sbht.js";
|
|
6
6
|
import"./cli-ht1bcqdd.js";
|
|
7
|
-
import"./cli-
|
|
7
|
+
import"./cli-pz4bn98t.js";
|
|
8
8
|
import"./cli-2ppw6q9v.js";
|
|
9
9
|
import"./cli-eyyggect.js";
|
|
10
10
|
import"./cli-asap4t1z.js";
|
|
11
|
-
import"./cli-
|
|
11
|
+
import"./cli-a35w7wzg.js";
|
|
12
12
|
import"./cli-v5mp7a6q.js";
|
|
13
|
-
import"./cli-
|
|
14
|
-
import"./cli-
|
|
13
|
+
import"./cli-sdmv4bba.js";
|
|
14
|
+
import"./cli-pwwfxdgb.js";
|
|
15
15
|
import {
|
|
16
16
|
log
|
|
17
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-aqh6brew.js";
|
|
18
18
|
import {
|
|
19
19
|
UsageError,
|
|
20
20
|
parseFormat,
|
|
@@ -22,12 +22,11 @@ import {
|
|
|
22
22
|
rejectExtraPositionals,
|
|
23
23
|
rejectUnknownFlags
|
|
24
24
|
} from "./cli-d8xjns66.js";
|
|
25
|
-
import"./cli-
|
|
26
|
-
import"./cli-fe43evmf.js";
|
|
25
|
+
import"./cli-kh8v4vvw.js";
|
|
27
26
|
import {
|
|
28
27
|
BuildError
|
|
29
28
|
} from "./cli-46ycxe6r.js";
|
|
30
|
-
import"./cli-
|
|
29
|
+
import"./cli-y28j019d.js";
|
|
31
30
|
import"./cli-37x76zdn.js";
|
|
32
31
|
|
|
33
32
|
// src/commands/build.ts
|
|
@@ -4,9 +4,10 @@ import {
|
|
|
4
4
|
findEnclosingRepoDir
|
|
5
5
|
} from "./cli-v5mp7a6q.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
7
|
+
EXTENSIONS_DIR,
|
|
8
|
+
LEGACY_PLUGINS_DIR,
|
|
8
9
|
VENDORED_NPM_DIR
|
|
9
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-y28j019d.js";
|
|
10
11
|
|
|
11
12
|
// src/lib/git-fs.ts
|
|
12
13
|
import * as nodeFs from "node:fs";
|
|
@@ -511,10 +512,10 @@ async function countUnversionedChanges(projectDir) {
|
|
|
511
512
|
return null;
|
|
512
513
|
const dir = gitScopeFor(source);
|
|
513
514
|
const bookPrefix = source.subPath ? `${source.subPath.replace(/\/+$/, "")}/` : "";
|
|
514
|
-
const appWritten = `${bookPrefix}${
|
|
515
|
+
const appWritten = [EXTENSIONS_DIR, LEGACY_PLUGINS_DIR].map((d) => `${bookPrefix}${d}/${VENDORED_NPM_DIR}/`);
|
|
515
516
|
return withRepoLock(dir, async () => {
|
|
516
517
|
const { adds, removes } = await listWorkdirChanges(dir);
|
|
517
|
-
const mine = new Set([...adds, ...removes].filter((f) => f.startsWith(bookPrefix) && !f.startsWith(
|
|
518
|
+
const mine = new Set([...adds, ...removes].filter((f) => f.startsWith(bookPrefix) && !appWritten.some((p) => f.startsWith(p))));
|
|
518
519
|
return { changedFiles: mine.size, stale: gitFs.existsSync(snapshotStagingMarkerPath(dir)) };
|
|
519
520
|
});
|
|
520
521
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var package_default = {
|
|
3
3
|
name: "gutterpress",
|
|
4
|
-
version: "0.11.23-alpha.
|
|
4
|
+
version: "0.11.23-alpha.2",
|
|
5
5
|
description: "Markdown-to-PDF converter for professional print layout using a native Chromium print engine and Ghostscript.",
|
|
6
6
|
author: "itlackey",
|
|
7
7
|
license: "MPL-2.0",
|