@caretcms/caretize 0.1.0 → 0.1.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 +41 -5
- package/dist/bind-collection.js +1 -1
- package/dist/bind-collection.js.map +1 -1
- package/dist/bind-route.d.ts.map +1 -1
- package/dist/bind-route.js +9 -4
- package/dist/bind-route.js.map +1 -1
- package/dist/cli-args.d.ts +16 -1
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +39 -3
- package/dist/cli-args.js.map +1 -1
- package/dist/cli.js +390 -27
- package/dist/cli.js.map +1 -1
- package/dist/detect.d.ts +17 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +61 -22
- package/dist/detect.js.map +1 -1
- package/dist/diff.d.ts +20 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +75 -0
- package/dist/diff.js.map +1 -0
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +8 -2
- package/dist/discover.js.map +1 -1
- package/dist/escalation.d.ts +47 -0
- package/dist/escalation.d.ts.map +1 -0
- package/dist/escalation.js +112 -0
- package/dist/escalation.js.map +1 -0
- package/dist/frontmatter.d.ts +41 -4
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +122 -12
- package/dist/frontmatter.js.map +1 -1
- package/dist/import-wrap.d.ts +30 -0
- package/dist/import-wrap.d.ts.map +1 -1
- package/dist/import-wrap.js +101 -7
- package/dist/import-wrap.js.map +1 -1
- package/dist/init.d.ts +70 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +198 -0
- package/dist/init.js.map +1 -0
- package/dist/keys.d.ts +55 -0
- package/dist/keys.d.ts.map +1 -0
- package/dist/keys.js +84 -0
- package/dist/keys.js.map +1 -0
- package/dist/output.d.ts +63 -10
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +190 -22
- package/dist/output.js.map +1 -1
- package/dist/plan.d.ts +7 -0
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +17 -4
- package/dist/plan.js.map +1 -1
- package/dist/preflight.d.ts +2 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +18 -3
- package/dist/preflight.js.map +1 -1
- package/dist/run.js +6 -4
- package/dist/run.js.map +1 -1
- package/dist/select-policy.d.ts +38 -0
- package/dist/select-policy.d.ts.map +1 -0
- package/dist/select-policy.js +44 -0
- package/dist/select-policy.js.map +1 -0
- package/dist/tiers.d.ts +42 -0
- package/dist/tiers.d.ts.map +1 -0
- package/dist/tiers.js +67 -0
- package/dist/tiers.js.map +1 -0
- package/dist/wrap.d.ts +9 -4
- package/dist/wrap.d.ts.map +1 -1
- package/dist/wrap.js +3 -2
- package/dist/wrap.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,20 +1,38 @@
|
|
|
1
1
|
# @caretcms/caretize
|
|
2
2
|
|
|
3
|
-
Make an existing Astro site editable with [CaretCMS](https://github.com/web-stacked/caretcms): `caretize` scans your `.astro` templates and
|
|
3
|
+
Make an existing Astro site editable with [CaretCMS](https://github.com/web-stacked/caretcms): `caretize` scans your `.astro` templates and inserts `data-caret` attributes (plus `editable()` wraps for data arrays), turning static markup into inline-editable content — no schema or config rewrite required.
|
|
4
4
|
|
|
5
5
|
The static HTML you already have *is* the seed content: CaretCMS renders the original text until an editor saves an override, so caretize only has to mark what's editable.
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
|
-
# in your Astro project root —
|
|
8
|
+
# in your Astro project root — set CaretCMS up first (deps + astro.config + .env)
|
|
9
|
+
npx @caretcms/caretize init
|
|
10
|
+
|
|
11
|
+
# preview what would be tagged, write nothing
|
|
9
12
|
npx @caretcms/caretize --dry-run
|
|
13
|
+
npx @caretcms/caretize --diff
|
|
10
14
|
|
|
11
|
-
#
|
|
15
|
+
# default: apply safe edits, show a diff you can --restore
|
|
12
16
|
npx @caretcms/caretize
|
|
17
|
+
|
|
18
|
+
# approve each change before writing
|
|
19
|
+
npx @caretcms/caretize --review
|
|
13
20
|
```
|
|
14
21
|
|
|
22
|
+
`init` is optional but is the fastest path on a project that hasn't wired
|
|
23
|
+
CaretCMS yet: it installs `@caretcms/core`, wires `caret()` into `astro.config`, and
|
|
24
|
+
scaffolds a `.env` with a generated `CARET_SESSION_SECRET`.
|
|
25
|
+
|
|
26
|
+
- **Static Astro projects** (default): `caret({ delivery: "static" })` — no SSR adapter.
|
|
27
|
+
- **Server projects** (`output: "server"` already): keeps or adds adapter + `caret()`.
|
|
28
|
+
|
|
29
|
+
An existing config is only edited via verified pure insertions (shown as a diff you
|
|
30
|
+
confirm, backed up first); when its shape isn't safe to touch automatically it prints
|
|
31
|
+
a snippet to paste instead.
|
|
32
|
+
|
|
15
33
|
## What it does
|
|
16
34
|
|
|
17
|
-
|
|
35
|
+
By default caretize **optimistically applies** high-confidence candidates, then shows a before→after diff. Use `--review` to approve each binding interactively:
|
|
18
36
|
|
|
19
37
|
```
|
|
20
38
|
src/pages/index.astro
|
|
@@ -30,7 +48,7 @@ src/pages/index.astro
|
|
|
30
48
|
|
|
31
49
|
## Safety model
|
|
32
50
|
|
|
33
|
-
- **Nothing is written
|
|
51
|
+
- **Nothing unsafe is written.** Every output is verified in memory first: it must re-parse as valid Astro and be a pure insertion of the original (your bytes survive untouched, in order).
|
|
34
52
|
- **All-or-nothing:** if any file fails verification, the run aborts having written nothing.
|
|
35
53
|
- **Backups:** every written file is first copied to `.caret/.caretize-bak/`; `caretize --restore` reverts the most recent run. Git is the real undo — caretize warns when your tree is dirty.
|
|
36
54
|
- Multibyte-safe: offsets are computed and spliced on UTF-8 buffers (emoji/em-dashes can't corrupt a tag).
|
|
@@ -39,9 +57,16 @@ src/pages/index.astro
|
|
|
39
57
|
|
|
40
58
|
```
|
|
41
59
|
caretize [path] [options]
|
|
60
|
+
caretize init wire CaretCMS into the project, then tag
|
|
42
61
|
|
|
62
|
+
init set up CaretCMS first: install @caretcms/core, wire
|
|
63
|
+
caret() into astro.config (static delivery by default;
|
|
64
|
+
server projects get SSR adapter wiring), scaffold .env
|
|
43
65
|
path file or directory to scan (default: src/)
|
|
66
|
+
--review approve each change before writing; richer tiers still
|
|
67
|
+
offered at the end
|
|
44
68
|
--dry-run print the plan, write nothing
|
|
69
|
+
--diff preview exact before→after, write nothing
|
|
45
70
|
-y, --yes auto-accept all suggestions at/above min-confidence
|
|
46
71
|
--min-confidence <lvl> high (default) | medium | low
|
|
47
72
|
--no-images skip <img> elements
|
|
@@ -53,6 +78,12 @@ caretize [path] [options]
|
|
|
53
78
|
to its current entry via getStaticPaths props
|
|
54
79
|
--rich also tag mixed-content blocks whose markup is
|
|
55
80
|
sanitizer-safe inline formatting (data-caret-rich)
|
|
81
|
+
--rich-class also tag rich blocks whose inline children carry a
|
|
82
|
+
class — implies --rich; class round-trips once blessed
|
|
83
|
+
via caret({ allowedClasses }) (hint names which)
|
|
84
|
+
--all every opt-in tier at once: --bind-collections,
|
|
85
|
+
--bind-routes, --rich, --rich-class, AND
|
|
86
|
+
--min-confidence low
|
|
56
87
|
--scope <collection::id> override the inferred scope (validated against the
|
|
57
88
|
runtime grammar: ^[a-z][a-z0-9_-]*$ :: ^[a-z0-9][a-z0-9_-]*$)
|
|
58
89
|
--report <file> write a JSON report
|
|
@@ -64,7 +95,12 @@ caretize [path] [options]
|
|
|
64
95
|
1. `npm run dev`
|
|
65
96
|
2. Sign in at `/admin` — with no `CARET_EDIT_PASSWORD` set, a temporary dev password is printed in your terminal
|
|
66
97
|
3. Click any tagged element to edit it in place; the Studio lives at `/admin/cms`
|
|
98
|
+
4. Use Preview / Publish / Discard in the editor toolbar for draft workflow
|
|
67
99
|
|
|
68
100
|
Requires [`@caretcms/core`](https://www.npmjs.com/package/@caretcms/core) wired into `astro.config.mjs` (caretize's preflight checks this and tells you if it isn't).
|
|
69
101
|
|
|
102
|
+
**Static Astro sites:** use `caret({ delivery: "static" })` (caretize `init` does this by default). Edit locally in dev; after Publish, rebuild so CaretCMS bakes stored content into static HTML. See [static delivery docs](https://github.com/web-stacked/caretcms/blob/main/docs/static-delivery.md).
|
|
103
|
+
|
|
104
|
+
**Server sites:** use `output: "server"` with an SSR adapter and `caret()` for per-request rewriting in production.
|
|
105
|
+
|
|
70
106
|
MIT © CaretCMS contributors
|
package/dist/bind-collection.js
CHANGED
|
@@ -67,7 +67,7 @@ export function soleDataField(el, param) {
|
|
|
67
67
|
if (child.type === "expression") {
|
|
68
68
|
if (field)
|
|
69
69
|
return null; // more than one expression
|
|
70
|
-
const m = new RegExp(`^${param}\\.data\\.([A-Za-z_$][\\w$]*)$`).exec(expressionJs(child).trim());
|
|
70
|
+
const m = new RegExp(`^${escapeRe(param)}\\.data\\.([A-Za-z_$][\\w$]*)$`).exec(expressionJs(child).trim());
|
|
71
71
|
if (!m)
|
|
72
72
|
return null;
|
|
73
73
|
field = m[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-collection.js","sourceRoot":"","sources":["../src/bind-collection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,SAAS,EAAgC,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAmB5C,uEAAuE;AACvE,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,yEAAyE;AACzE,+EAA+E;AAC/E,yEAAyE;AACzE,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAC5B,uHAAuH,CAAC;AAE1H,kEAAkE;AAClE,MAAM,MAAM,GAAG,+DAA+D,CAAC;AAE/E,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,IAAK,KAA4B,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAC/D,IAAI,KAAK,CAAC;AACb,CAAC;AAED;;;oEAGoE;AACpE,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,IAAY;IAC3D,OAAO,IAAI,MAAM,CACf,kEAAkE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAC7F,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED;;;2EAG2E;AAC3E,MAAM,UAAU,aAAa,CAAC,EAAW,EAAE,KAAa;IACtD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAK,KAA4B,CAAC,KAAK,EAAE,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC,CAAC,qBAAqB;YACnF,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,IAAI,KAAK;gBAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;YACnD,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,gCAAgC,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"bind-collection.js","sourceRoot":"","sources":["../src/bind-collection.ts"],"names":[],"mappings":"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"}
|
package/dist/bind-route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-route.d.ts","sourceRoot":"","sources":["../src/bind-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EACL,KAAK,oBAAoB,EAM1B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"bind-route.d.ts","sourceRoot":"","sources":["../src/bind-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EACL,KAAK,oBAAoB,EAM1B,MAAM,sBAAsB,CAAC;AAwE9B;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GACb,oBAAoB,EAAE,CA6CxB"}
|
package/dist/bind-route.js
CHANGED
|
@@ -33,11 +33,14 @@ import { isTagNode } from "./parse.js";
|
|
|
33
33
|
import { frontmatterRange } from "./frontmatter.js";
|
|
34
34
|
import { GET_COLLECTION_RE, expressionJs, hasCaretAttr, iteratorParamShadows, soleDataField, } from "./bind-collection.js";
|
|
35
35
|
import { isRewritableTextTag } from "./detect.js";
|
|
36
|
+
import { escapeRe } from "./identifiers.js";
|
|
36
37
|
// `posts.map((post) => ...` — receiver + the iteration parameter.
|
|
37
38
|
const MAP_PARAM_RE = /([A-Za-z_$][\w$]*)\s*\.\s*map\s*\(\s*\(?\s*([A-Za-z_$][\w$]*)/g;
|
|
38
|
-
/** A standalone identifier inside an object/destructure body (shorthand key).
|
|
39
|
+
/** A standalone identifier inside an object/destructure body (shorthand key).
|
|
40
|
+
* Identifiers are escaped — `$post` is a legal name whose `$` would otherwise
|
|
41
|
+
* anchor mid-pattern and silently never match. */
|
|
39
42
|
function shorthand(name) {
|
|
40
|
-
return new RegExp(`(?:^|[{,\\s])${name}(?:\\s*[,}]|\\s*$)`);
|
|
43
|
+
return new RegExp(`(?:^|[{,\\s])${escapeRe(name)}(?:\\s*[,}]|\\s*$)`);
|
|
41
44
|
}
|
|
42
45
|
/**
|
|
43
46
|
* Resolve the template's current-entry variable and its collection from the
|
|
@@ -74,7 +77,9 @@ function resolveEntryBinding(fmText) {
|
|
|
74
77
|
if (!propsObj)
|
|
75
78
|
return null;
|
|
76
79
|
const propsInner = propsObj[1];
|
|
77
|
-
|
|
80
|
+
// (?![\w$]) instead of \b: \b sits between word/non-word chars, so it never
|
|
81
|
+
// closes an identifier that ENDS in `$` (post$ followed by "," has no \b).
|
|
82
|
+
const explicit = new RegExp(`([A-Za-z_$][\\w$]*)\\s*:\\s*${escapeRe(param)}(?![\\w$])`).exec(propsInner);
|
|
78
83
|
const propKey = explicit
|
|
79
84
|
? explicit[1]
|
|
80
85
|
: shorthand(param).test(propsInner)
|
|
@@ -87,7 +92,7 @@ function resolveEntryBinding(fmText) {
|
|
|
87
92
|
if (!destruct)
|
|
88
93
|
return null;
|
|
89
94
|
const dInner = destruct[1];
|
|
90
|
-
const rename = new RegExp(
|
|
95
|
+
const rename = new RegExp(`(?<![\\w$])${escapeRe(propKey)}\\s*:\\s*([A-Za-z_$][\\w$]*)`).exec(dInner);
|
|
91
96
|
const entryVar = rename
|
|
92
97
|
? rename[1]
|
|
93
98
|
: shorthand(propKey).test(dInner)
|
package/dist/bind-route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-route.js","sourceRoot":"","sources":["../src/bind-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAE,SAAS,EAAkB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAEL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bind-route.js","sourceRoot":"","sources":["../src/bind-route.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-args.d.ts
CHANGED
|
@@ -9,22 +9,37 @@ import { type Scope } from "./name.js";
|
|
|
9
9
|
export interface Args {
|
|
10
10
|
target?: string;
|
|
11
11
|
dryRun: boolean;
|
|
12
|
+
diff: boolean;
|
|
12
13
|
yes: boolean;
|
|
14
|
+
/** Approve each change before it's written (opt back into the per-file review).
|
|
15
|
+
* Without it, the default is optimistic: apply the safe tier, then show a diff
|
|
16
|
+
* you can --restore. */
|
|
17
|
+
review: boolean;
|
|
13
18
|
minConfidence: Confidence;
|
|
14
19
|
noImages: boolean;
|
|
15
20
|
rich: boolean;
|
|
21
|
+
/** Also tag styled-span headings (rich blocks whose inline children carry a
|
|
22
|
+
* class). Implies --rich. The class round-trips only once blessed via
|
|
23
|
+
* caret({ allowedClasses }); the hint names which. Included in --all. */
|
|
24
|
+
richClass: boolean;
|
|
16
25
|
noProps: boolean;
|
|
17
26
|
bindCollections: boolean;
|
|
18
27
|
bindRoutes: boolean;
|
|
28
|
+
/** Turn on EVERY opt-in tier at once (collections + routes + rich + low
|
|
29
|
+
* confidence) — the one flag that replaces the four-flag incantation. */
|
|
30
|
+
all: boolean;
|
|
19
31
|
scope?: Scope;
|
|
20
32
|
report?: string;
|
|
21
33
|
restore: boolean;
|
|
34
|
+
/** `caretize init` — wire CaretCMS into the project (deps + astro.config +
|
|
35
|
+
* .env) before tagging, instead of just warning that it isn't set up. */
|
|
36
|
+
init: boolean;
|
|
22
37
|
help: boolean;
|
|
23
38
|
version: boolean;
|
|
24
39
|
}
|
|
25
40
|
/** Thrown on an invalid invocation; cli.ts maps it to a stderr message + exit 2. */
|
|
26
41
|
export declare class CliUsageError extends Error {
|
|
27
42
|
}
|
|
28
|
-
export declare const HELP = "caretize \u00B7 make an Astro project editable (data-caret + editable())\n\nUsage: caretize [path] [options]\n\n path file or directory to scan (default: src/)\n --dry-run print the plan, write nothing\n -y, --yes auto-accept all suggestions at/above min-confidence\n --min-confidence <lvl> high (default) | medium | low\n --no-images skip <img> elements\n --no-props skip hoisting static component-prop strings to editable()\n --bind-collections bind getCollection().map() loops in place \u2014 a leaf\n element rendering {item.data.field} gets a per-row\n data-caret (direct-render only; props stay flagged)\n --bind-routes bind a dynamic collection-detail route to the current\n entry \u2014 a leaf rendering {entry.data.field} (entry from\n getStaticPaths props) gets a data-caret instead of the\n page being skipped as a dynamic route\n --rich also tag mixed-content blocks whose markup is\n sanitizer-safe inline formatting (data-caret-rich)\n --scope <collection::id> override the inferred scope\n --report <file> write a JSON report\n --restore restore the most recent backup, then exit\n -h, --help show this help\n -v, --version print version\n";
|
|
43
|
+
export declare const HELP = "caretize \u00B7 make an Astro project editable (data-caret + editable())\n\nUsage: caretize [path] [options]\n caretize init wire CaretCMS into the project, then tag\n\nBy default caretize applies the safe edits, then shows a diff you can undo with\n--restore. Use --review to approve each change first, or --diff to preview only.\n\n init set up CaretCMS first: install @caretcms/core, wire\n caret() into astro.config, and scaffold .env. Static\n Astro projects use static delivery by default; server\n projects keep SSR adapter wiring\n path file or directory to scan (default: src/)\n --review approve each default change before writing; the richer\n tiers are still offered (decline with n)\n --dry-run print the plan, write nothing\n --diff preview the exact before\u2192after changes, write nothing\n -y, --yes auto-accept all suggestions at/above min-confidence\n --min-confidence <lvl> high (default) | medium | low\n --no-images skip <img> elements\n --no-props skip hoisting static component-prop strings to editable()\n --bind-collections bind getCollection().map() loops in place \u2014 a leaf\n element rendering {item.data.field} gets a per-row\n data-caret (direct-render only; props stay flagged)\n --bind-routes bind a dynamic collection-detail route to the current\n entry \u2014 a leaf rendering {entry.data.field} (entry from\n getStaticPaths props) gets a data-caret instead of the\n page being skipped as a dynamic route\n --rich also tag mixed-content blocks whose markup is\n sanitizer-safe inline formatting (data-caret-rich)\n --rich-class also tag rich blocks whose inline children carry a\n class (e.g. <h1>\u2026<span class=\"gold\">\u2026</span>\u2026). Implies\n --rich. The class is kept only once you add it to\n caret({ allowedClasses }) \u2014 the hint names which.\n --all turn on every opt-in tier at once: --bind-collections,\n --bind-routes, --rich, --rich-class, AND\n --min-confidence low. The one-flag \"make as much\n editable as possible\" \u2014 includes the low-confidence\n spots, so review the result\n --scope <collection::id> override the inferred scope\n --report <file> write a JSON report\n --restore restore the most recent backup, then exit\n -h, --help show this help\n -v, --version print version\n";
|
|
29
44
|
export declare function parseArgs(argv: string[]): Args;
|
|
30
45
|
//# sourceMappingURL=cli-args.d.ts.map
|
package/dist/cli-args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AAErE,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,EAAE,UAAU,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oFAAoF;AACpF,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AAErE,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb;;6BAEyB;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,UAAU,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd;;8EAE0E;IAC1E,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB;8EAC0E;IAC1E,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB;8EAC0E;IAC1E,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oFAAoF;AACpF,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C,eAAO,MAAM,IAAI,s6FA4ChB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAgE9C"}
|
package/dist/cli-args.js
CHANGED
|
@@ -11,9 +11,20 @@ export class CliUsageError extends Error {
|
|
|
11
11
|
export const HELP = `caretize · make an Astro project editable (data-caret + editable())
|
|
12
12
|
|
|
13
13
|
Usage: caretize [path] [options]
|
|
14
|
+
caretize init wire CaretCMS into the project, then tag
|
|
14
15
|
|
|
16
|
+
By default caretize applies the safe edits, then shows a diff you can undo with
|
|
17
|
+
--restore. Use --review to approve each change first, or --diff to preview only.
|
|
18
|
+
|
|
19
|
+
init set up CaretCMS first: install @caretcms/core, wire
|
|
20
|
+
caret() into astro.config, and scaffold .env. Static
|
|
21
|
+
Astro projects use static delivery by default; server
|
|
22
|
+
projects keep SSR adapter wiring
|
|
15
23
|
path file or directory to scan (default: src/)
|
|
24
|
+
--review approve each default change before writing; the richer
|
|
25
|
+
tiers are still offered (decline with n)
|
|
16
26
|
--dry-run print the plan, write nothing
|
|
27
|
+
--diff preview the exact before→after changes, write nothing
|
|
17
28
|
-y, --yes auto-accept all suggestions at/above min-confidence
|
|
18
29
|
--min-confidence <lvl> high (default) | medium | low
|
|
19
30
|
--no-images skip <img> elements
|
|
@@ -27,6 +38,15 @@ Usage: caretize [path] [options]
|
|
|
27
38
|
page being skipped as a dynamic route
|
|
28
39
|
--rich also tag mixed-content blocks whose markup is
|
|
29
40
|
sanitizer-safe inline formatting (data-caret-rich)
|
|
41
|
+
--rich-class also tag rich blocks whose inline children carry a
|
|
42
|
+
class (e.g. <h1>…<span class="gold">…</span>…). Implies
|
|
43
|
+
--rich. The class is kept only once you add it to
|
|
44
|
+
caret({ allowedClasses }) — the hint names which.
|
|
45
|
+
--all turn on every opt-in tier at once: --bind-collections,
|
|
46
|
+
--bind-routes, --rich, --rich-class, AND
|
|
47
|
+
--min-confidence low. The one-flag "make as much
|
|
48
|
+
editable as possible" — includes the low-confidence
|
|
49
|
+
spots, so review the result
|
|
30
50
|
--scope <collection::id> override the inferred scope
|
|
31
51
|
--report <file> write a JSON report
|
|
32
52
|
--restore restore the most recent backup, then exit
|
|
@@ -35,9 +55,9 @@ Usage: caretize [path] [options]
|
|
|
35
55
|
`;
|
|
36
56
|
export function parseArgs(argv) {
|
|
37
57
|
const a = {
|
|
38
|
-
dryRun: false, yes: false, minConfidence: "high",
|
|
39
|
-
noImages: false, rich: false, noProps: false, bindCollections: false,
|
|
40
|
-
bindRoutes: false, restore: false, help: false, version: false,
|
|
58
|
+
dryRun: false, diff: false, yes: false, review: false, minConfidence: "high",
|
|
59
|
+
noImages: false, rich: false, richClass: false, noProps: false, bindCollections: false,
|
|
60
|
+
bindRoutes: false, all: false, restore: false, init: false, help: false, version: false,
|
|
41
61
|
};
|
|
42
62
|
for (let i = 0; i < argv.length; i++) {
|
|
43
63
|
const arg = argv[i];
|
|
@@ -45,6 +65,12 @@ export function parseArgs(argv) {
|
|
|
45
65
|
case "--dry-run":
|
|
46
66
|
a.dryRun = true;
|
|
47
67
|
break;
|
|
68
|
+
case "--diff":
|
|
69
|
+
a.diff = true;
|
|
70
|
+
break;
|
|
71
|
+
case "--review":
|
|
72
|
+
a.review = true;
|
|
73
|
+
break;
|
|
48
74
|
case "-y":
|
|
49
75
|
case "--yes":
|
|
50
76
|
a.yes = true;
|
|
@@ -64,9 +90,19 @@ export function parseArgs(argv) {
|
|
|
64
90
|
case "--rich":
|
|
65
91
|
a.rich = true;
|
|
66
92
|
break;
|
|
93
|
+
case "--rich-class":
|
|
94
|
+
a.richClass = true;
|
|
95
|
+
break;
|
|
96
|
+
case "--all":
|
|
97
|
+
case "--everything":
|
|
98
|
+
a.all = true;
|
|
99
|
+
break;
|
|
67
100
|
case "--restore":
|
|
68
101
|
a.restore = true;
|
|
69
102
|
break;
|
|
103
|
+
case "init":
|
|
104
|
+
a.init = true;
|
|
105
|
+
break;
|
|
70
106
|
case "--help":
|
|
71
107
|
case "-h":
|
|
72
108
|
a.help = true;
|
package/dist/cli-args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"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"}
|