docrev 0.9.13 → 0.9.15
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/.claude/settings.local.json +9 -9
- package/.gitattributes +1 -1
- package/CHANGELOG.md +149 -149
- package/PLAN-tables-and-postprocess.md +850 -850
- package/README.md +411 -391
- package/bin/rev.js +11 -11
- package/bin/rev.ts +145 -145
- package/completions/rev.bash +127 -127
- package/completions/rev.ps1 +210 -210
- package/completions/rev.zsh +207 -207
- package/dev_notes/stress2/build_adversarial.ts +186 -186
- package/dev_notes/stress2/drift_matcher.ts +62 -62
- package/dev_notes/stress2/probe_anchors.ts +35 -35
- package/dev_notes/stress2/project/discussion.before.md +3 -3
- package/dev_notes/stress2/project/discussion.md +3 -3
- package/dev_notes/stress2/project/methods.before.md +20 -20
- package/dev_notes/stress2/project/methods.md +20 -20
- package/dev_notes/stress2/project/rev.yaml +5 -5
- package/dev_notes/stress2/project/sections.yaml +4 -4
- package/dev_notes/stress2/sections.yaml +5 -5
- package/dev_notes/stress2/trace_placement.ts +50 -50
- package/dev_notes/stresstest_boundaries.ts +27 -27
- package/dev_notes/stresstest_drift_apply.ts +43 -43
- package/dev_notes/stresstest_drift_compare.ts +43 -43
- package/dev_notes/stresstest_drift_v2.ts +54 -54
- package/dev_notes/stresstest_inspect.ts +54 -54
- package/dev_notes/stresstest_pstyle.ts +55 -55
- package/dev_notes/stresstest_section_debug.ts +23 -23
- package/dev_notes/stresstest_split.ts +70 -70
- package/dev_notes/stresstest_trace.ts +19 -19
- package/dev_notes/stresstest_verify_no_overwrite.ts +40 -40
- package/dist/lib/build.d.ts +38 -1
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +68 -30
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/commands/build.d.ts.map +1 -1
- package/dist/lib/commands/build.js +38 -5
- package/dist/lib/commands/build.js.map +1 -1
- package/dist/lib/commands/utilities.js +164 -164
- package/dist/lib/commands/word-tools.js +8 -8
- package/dist/lib/grammar.js +3 -3
- package/dist/lib/pdf-comments.js +44 -44
- package/dist/lib/plugins.js +57 -57
- package/dist/lib/pptx-themes.js +115 -115
- package/dist/lib/spelling.js +2 -2
- package/dist/lib/templates.js +387 -387
- package/dist/lib/themes.js +51 -51
- package/eslint.config.js +27 -27
- package/lib/anchor-match.ts +276 -276
- package/lib/annotations.ts +644 -644
- package/lib/build.ts +1300 -1251
- package/lib/citations.ts +160 -160
- package/lib/commands/build.ts +833 -801
- package/lib/commands/citations.ts +515 -515
- package/lib/commands/comments.ts +1050 -1050
- package/lib/commands/context.ts +174 -174
- package/lib/commands/core.ts +309 -309
- package/lib/commands/doi.ts +435 -435
- package/lib/commands/file-ops.ts +372 -372
- package/lib/commands/history.ts +320 -320
- package/lib/commands/index.ts +87 -87
- package/lib/commands/init.ts +259 -259
- package/lib/commands/merge-resolve.ts +378 -378
- package/lib/commands/preview.ts +178 -178
- package/lib/commands/project-info.ts +244 -244
- package/lib/commands/quality.ts +517 -517
- package/lib/commands/response.ts +454 -454
- package/lib/commands/section-boundaries.ts +82 -82
- package/lib/commands/sections.ts +451 -451
- package/lib/commands/sync.ts +706 -706
- package/lib/commands/text-ops.ts +449 -449
- package/lib/commands/utilities.ts +448 -448
- package/lib/commands/verify-anchors.ts +272 -272
- package/lib/commands/word-tools.ts +340 -340
- package/lib/comment-realign.ts +517 -517
- package/lib/config.ts +84 -84
- package/lib/crossref.ts +781 -781
- package/lib/csl.ts +191 -191
- package/lib/dependencies.ts +98 -98
- package/lib/diff-engine.ts +465 -465
- package/lib/doi-cache.ts +115 -115
- package/lib/doi.ts +897 -897
- package/lib/equations.ts +506 -506
- package/lib/errors.ts +346 -346
- package/lib/format.ts +541 -541
- package/lib/git.ts +326 -326
- package/lib/grammar.ts +303 -303
- package/lib/image-registry.ts +180 -180
- package/lib/import.ts +911 -911
- package/lib/journals.ts +543 -543
- package/lib/merge.ts +633 -633
- package/lib/orcid.ts +144 -144
- package/lib/pdf-comments.ts +263 -263
- package/lib/pdf-import.ts +524 -524
- package/lib/plugins.ts +362 -362
- package/lib/postprocess.ts +188 -188
- package/lib/pptx-color-filter.lua +37 -37
- package/lib/pptx-template.ts +469 -469
- package/lib/pptx-themes.ts +483 -483
- package/lib/protect-restore.ts +520 -520
- package/lib/rate-limiter.ts +94 -94
- package/lib/response.ts +197 -197
- package/lib/restore-references.ts +240 -240
- package/lib/review.ts +327 -327
- package/lib/schema.ts +417 -417
- package/lib/scientific-words.ts +73 -73
- package/lib/sections.ts +335 -335
- package/lib/slides.ts +756 -756
- package/lib/spelling.ts +334 -334
- package/lib/templates.ts +526 -526
- package/lib/themes.ts +742 -742
- package/lib/trackchanges.ts +247 -247
- package/lib/tui.ts +450 -450
- package/lib/types.ts +550 -550
- package/lib/undo.ts +250 -250
- package/lib/utils.ts +69 -69
- package/lib/variables.ts +179 -179
- package/lib/word-extraction.ts +806 -806
- package/lib/word.ts +643 -643
- package/lib/wordcomments.ts +817 -817
- package/package.json +137 -137
- package/scripts/postbuild.js +28 -28
- package/skill/REFERENCE.md +473 -431
- package/skill/SKILL.md +274 -258
- package/tsconfig.json +26 -26
- package/types/index.d.ts +525 -525
package/package.json
CHANGED
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "docrev",
|
|
3
|
-
"version": "0.9.
|
|
4
|
-
"description": "Academic paper revision workflow: Word ↔ Markdown round-trips, DOI validation, reviewer comments",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"types": "dist/lib/types.d.ts",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/lib/annotations.d.ts",
|
|
10
|
-
"import": "./dist/lib/annotations.js"
|
|
11
|
-
},
|
|
12
|
-
"./annotations": {
|
|
13
|
-
"types": "./dist/lib/annotations.d.ts",
|
|
14
|
-
"import": "./dist/lib/annotations.js"
|
|
15
|
-
},
|
|
16
|
-
"./build": {
|
|
17
|
-
"types": "./dist/lib/build.d.ts",
|
|
18
|
-
"import": "./dist/lib/build.js"
|
|
19
|
-
},
|
|
20
|
-
"./citations": {
|
|
21
|
-
"types": "./dist/lib/citations.d.ts",
|
|
22
|
-
"import": "./dist/lib/citations.js"
|
|
23
|
-
},
|
|
24
|
-
"./crossref": {
|
|
25
|
-
"types": "./dist/lib/crossref.d.ts",
|
|
26
|
-
"import": "./dist/lib/crossref.js"
|
|
27
|
-
},
|
|
28
|
-
"./doi": {
|
|
29
|
-
"types": "./dist/lib/doi.d.ts",
|
|
30
|
-
"import": "./dist/lib/doi.js"
|
|
31
|
-
},
|
|
32
|
-
"./equations": {
|
|
33
|
-
"types": "./dist/lib/equations.d.ts",
|
|
34
|
-
"import": "./dist/lib/equations.js"
|
|
35
|
-
},
|
|
36
|
-
"./git": {
|
|
37
|
-
"types": "./dist/lib/git.d.ts",
|
|
38
|
-
"import": "./dist/lib/git.js"
|
|
39
|
-
},
|
|
40
|
-
"./journals": {
|
|
41
|
-
"types": "./dist/lib/journals.d.ts",
|
|
42
|
-
"import": "./dist/lib/journals.js"
|
|
43
|
-
},
|
|
44
|
-
"./merge": {
|
|
45
|
-
"types": "./dist/lib/merge.d.ts",
|
|
46
|
-
"import": "./dist/lib/merge.js"
|
|
47
|
-
},
|
|
48
|
-
"./sections": {
|
|
49
|
-
"types": "./dist/lib/sections.d.ts",
|
|
50
|
-
"import": "./dist/lib/sections.js"
|
|
51
|
-
},
|
|
52
|
-
"./word": {
|
|
53
|
-
"types": "./dist/lib/word.d.ts",
|
|
54
|
-
"import": "./dist/lib/word.js"
|
|
55
|
-
},
|
|
56
|
-
"./variables": {
|
|
57
|
-
"types": "./dist/lib/variables.d.ts",
|
|
58
|
-
"import": "./dist/lib/variables.js"
|
|
59
|
-
},
|
|
60
|
-
"./grammar": {
|
|
61
|
-
"types": "./dist/lib/grammar.d.ts",
|
|
62
|
-
"import": "./dist/lib/grammar.js"
|
|
63
|
-
},
|
|
64
|
-
"./trackchanges": {
|
|
65
|
-
"types": "./dist/lib/trackchanges.d.ts",
|
|
66
|
-
"import": "./dist/lib/trackchanges.js"
|
|
67
|
-
},
|
|
68
|
-
"./spelling": {
|
|
69
|
-
"types": "./dist/lib/spelling.d.ts",
|
|
70
|
-
"import": "./dist/lib/spelling.js"
|
|
71
|
-
},
|
|
72
|
-
"./wordcomments": {
|
|
73
|
-
"types": "./dist/lib/wordcomments.d.ts",
|
|
74
|
-
"import": "./dist/lib/wordcomments.js"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
"engines": {
|
|
78
|
-
"node": ">=18.0.0"
|
|
79
|
-
},
|
|
80
|
-
"bin": {
|
|
81
|
-
"rev": "bin/rev.js"
|
|
82
|
-
},
|
|
83
|
-
"scripts": {
|
|
84
|
-
"build": "tsc && node scripts/postbuild.js",
|
|
85
|
-
"build:watch": "tsc --watch",
|
|
86
|
-
"dev": "tsx bin/rev.ts",
|
|
87
|
-
"test": "tsx --test test/*.test.js",
|
|
88
|
-
"test:ts": "tsx --test test/*.test.ts",
|
|
89
|
-
"test:watch": "node --test --watch test/*.test.js",
|
|
90
|
-
"test:coverage": "c8 --reporter=text --reporter=lcov node --test test/*.test.js",
|
|
91
|
-
"typecheck": "tsc --noEmit",
|
|
92
|
-
"prepublishOnly": "npm run build"
|
|
93
|
-
},
|
|
94
|
-
"repository": {
|
|
95
|
-
"type": "git",
|
|
96
|
-
"url": "git+https://github.com/gcol33/docrev.git"
|
|
97
|
-
},
|
|
98
|
-
"bugs": {
|
|
99
|
-
"url": "https://github.com/gcol33/docrev/issues"
|
|
100
|
-
},
|
|
101
|
-
"homepage": "https://github.com/gcol33/docrev#readme",
|
|
102
|
-
"keywords": [
|
|
103
|
-
"markdown",
|
|
104
|
-
"word",
|
|
105
|
-
"docx",
|
|
106
|
-
"track-changes",
|
|
107
|
-
"comments",
|
|
108
|
-
"academic",
|
|
109
|
-
"writing",
|
|
110
|
-
"pandoc",
|
|
111
|
-
"criticmarkup"
|
|
112
|
-
],
|
|
113
|
-
"author": "Gilles Colling",
|
|
114
|
-
"license": "MIT",
|
|
115
|
-
"dependencies": {
|
|
116
|
-
"adm-zip": "^0.5.16",
|
|
117
|
-
"chalk": "^5.3.0",
|
|
118
|
-
"commander": "^12.0.0",
|
|
119
|
-
"dictionary-en": "^4.0.0",
|
|
120
|
-
"dictionary-en-gb": "^3.0.0",
|
|
121
|
-
"diff": "^8.0.2",
|
|
122
|
-
"mathml-to-latex": "^1.5.0",
|
|
123
|
-
"nspell": "^2.1.5",
|
|
124
|
-
"pdf-lib": "^1.17.1",
|
|
125
|
-
"pdfjs-dist": "^5.4.530",
|
|
126
|
-
"tsx": "^4.21.0",
|
|
127
|
-
"xml2js": "^0.6.2",
|
|
128
|
-
"yaml": "^2.8.2"
|
|
129
|
-
},
|
|
130
|
-
"devDependencies": {
|
|
131
|
-
"@types/adm-zip": "^0.5.7",
|
|
132
|
-
"@types/node": "^25.2.0",
|
|
133
|
-
"@types/xml2js": "^0.4.14",
|
|
134
|
-
"c8": "^10.1.2",
|
|
135
|
-
"typescript": "^5.9.3"
|
|
136
|
-
}
|
|
137
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "docrev",
|
|
3
|
+
"version": "0.9.15",
|
|
4
|
+
"description": "Academic paper revision workflow: Word ↔ Markdown round-trips, DOI validation, reviewer comments",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"types": "dist/lib/types.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/lib/annotations.d.ts",
|
|
10
|
+
"import": "./dist/lib/annotations.js"
|
|
11
|
+
},
|
|
12
|
+
"./annotations": {
|
|
13
|
+
"types": "./dist/lib/annotations.d.ts",
|
|
14
|
+
"import": "./dist/lib/annotations.js"
|
|
15
|
+
},
|
|
16
|
+
"./build": {
|
|
17
|
+
"types": "./dist/lib/build.d.ts",
|
|
18
|
+
"import": "./dist/lib/build.js"
|
|
19
|
+
},
|
|
20
|
+
"./citations": {
|
|
21
|
+
"types": "./dist/lib/citations.d.ts",
|
|
22
|
+
"import": "./dist/lib/citations.js"
|
|
23
|
+
},
|
|
24
|
+
"./crossref": {
|
|
25
|
+
"types": "./dist/lib/crossref.d.ts",
|
|
26
|
+
"import": "./dist/lib/crossref.js"
|
|
27
|
+
},
|
|
28
|
+
"./doi": {
|
|
29
|
+
"types": "./dist/lib/doi.d.ts",
|
|
30
|
+
"import": "./dist/lib/doi.js"
|
|
31
|
+
},
|
|
32
|
+
"./equations": {
|
|
33
|
+
"types": "./dist/lib/equations.d.ts",
|
|
34
|
+
"import": "./dist/lib/equations.js"
|
|
35
|
+
},
|
|
36
|
+
"./git": {
|
|
37
|
+
"types": "./dist/lib/git.d.ts",
|
|
38
|
+
"import": "./dist/lib/git.js"
|
|
39
|
+
},
|
|
40
|
+
"./journals": {
|
|
41
|
+
"types": "./dist/lib/journals.d.ts",
|
|
42
|
+
"import": "./dist/lib/journals.js"
|
|
43
|
+
},
|
|
44
|
+
"./merge": {
|
|
45
|
+
"types": "./dist/lib/merge.d.ts",
|
|
46
|
+
"import": "./dist/lib/merge.js"
|
|
47
|
+
},
|
|
48
|
+
"./sections": {
|
|
49
|
+
"types": "./dist/lib/sections.d.ts",
|
|
50
|
+
"import": "./dist/lib/sections.js"
|
|
51
|
+
},
|
|
52
|
+
"./word": {
|
|
53
|
+
"types": "./dist/lib/word.d.ts",
|
|
54
|
+
"import": "./dist/lib/word.js"
|
|
55
|
+
},
|
|
56
|
+
"./variables": {
|
|
57
|
+
"types": "./dist/lib/variables.d.ts",
|
|
58
|
+
"import": "./dist/lib/variables.js"
|
|
59
|
+
},
|
|
60
|
+
"./grammar": {
|
|
61
|
+
"types": "./dist/lib/grammar.d.ts",
|
|
62
|
+
"import": "./dist/lib/grammar.js"
|
|
63
|
+
},
|
|
64
|
+
"./trackchanges": {
|
|
65
|
+
"types": "./dist/lib/trackchanges.d.ts",
|
|
66
|
+
"import": "./dist/lib/trackchanges.js"
|
|
67
|
+
},
|
|
68
|
+
"./spelling": {
|
|
69
|
+
"types": "./dist/lib/spelling.d.ts",
|
|
70
|
+
"import": "./dist/lib/spelling.js"
|
|
71
|
+
},
|
|
72
|
+
"./wordcomments": {
|
|
73
|
+
"types": "./dist/lib/wordcomments.d.ts",
|
|
74
|
+
"import": "./dist/lib/wordcomments.js"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"engines": {
|
|
78
|
+
"node": ">=18.0.0"
|
|
79
|
+
},
|
|
80
|
+
"bin": {
|
|
81
|
+
"rev": "bin/rev.js"
|
|
82
|
+
},
|
|
83
|
+
"scripts": {
|
|
84
|
+
"build": "tsc && node scripts/postbuild.js",
|
|
85
|
+
"build:watch": "tsc --watch",
|
|
86
|
+
"dev": "tsx bin/rev.ts",
|
|
87
|
+
"test": "tsx --test test/*.test.js",
|
|
88
|
+
"test:ts": "tsx --test test/*.test.ts",
|
|
89
|
+
"test:watch": "node --test --watch test/*.test.js",
|
|
90
|
+
"test:coverage": "c8 --reporter=text --reporter=lcov node --test test/*.test.js",
|
|
91
|
+
"typecheck": "tsc --noEmit",
|
|
92
|
+
"prepublishOnly": "npm run build"
|
|
93
|
+
},
|
|
94
|
+
"repository": {
|
|
95
|
+
"type": "git",
|
|
96
|
+
"url": "git+https://github.com/gcol33/docrev.git"
|
|
97
|
+
},
|
|
98
|
+
"bugs": {
|
|
99
|
+
"url": "https://github.com/gcol33/docrev/issues"
|
|
100
|
+
},
|
|
101
|
+
"homepage": "https://github.com/gcol33/docrev#readme",
|
|
102
|
+
"keywords": [
|
|
103
|
+
"markdown",
|
|
104
|
+
"word",
|
|
105
|
+
"docx",
|
|
106
|
+
"track-changes",
|
|
107
|
+
"comments",
|
|
108
|
+
"academic",
|
|
109
|
+
"writing",
|
|
110
|
+
"pandoc",
|
|
111
|
+
"criticmarkup"
|
|
112
|
+
],
|
|
113
|
+
"author": "Gilles Colling",
|
|
114
|
+
"license": "MIT",
|
|
115
|
+
"dependencies": {
|
|
116
|
+
"adm-zip": "^0.5.16",
|
|
117
|
+
"chalk": "^5.3.0",
|
|
118
|
+
"commander": "^12.0.0",
|
|
119
|
+
"dictionary-en": "^4.0.0",
|
|
120
|
+
"dictionary-en-gb": "^3.0.0",
|
|
121
|
+
"diff": "^8.0.2",
|
|
122
|
+
"mathml-to-latex": "^1.5.0",
|
|
123
|
+
"nspell": "^2.1.5",
|
|
124
|
+
"pdf-lib": "^1.17.1",
|
|
125
|
+
"pdfjs-dist": "^5.4.530",
|
|
126
|
+
"tsx": "^4.21.0",
|
|
127
|
+
"xml2js": "^0.6.2",
|
|
128
|
+
"yaml": "^2.8.2"
|
|
129
|
+
},
|
|
130
|
+
"devDependencies": {
|
|
131
|
+
"@types/adm-zip": "^0.5.7",
|
|
132
|
+
"@types/node": "^25.2.0",
|
|
133
|
+
"@types/xml2js": "^0.4.14",
|
|
134
|
+
"c8": "^10.1.2",
|
|
135
|
+
"typescript": "^5.9.3"
|
|
136
|
+
}
|
|
137
|
+
}
|
package/scripts/postbuild.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Post-build fixups for compiled TypeScript output.
|
|
5
|
-
*
|
|
6
|
-
* tsc compiles bin/rev.ts → dist/bin/rev.js but:
|
|
7
|
-
* 1. Preserves the #!/usr/bin/env tsx shebang (needs to be node)
|
|
8
|
-
* 2. Relative paths like '../package.json' break (bin/ → dist/bin/ adds a level)
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { readFileSync, writeFileSync } from 'fs';
|
|
12
|
-
import { join, dirname } from 'path';
|
|
13
|
-
import { fileURLToPath } from 'url';
|
|
14
|
-
|
|
15
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
16
|
-
const revPath = join(__dirname, '..', 'dist', 'bin', 'rev.js');
|
|
17
|
-
|
|
18
|
-
let content = readFileSync(revPath, 'utf-8');
|
|
19
|
-
|
|
20
|
-
// Fix shebang: tsx → node
|
|
21
|
-
content = content.replace('#!/usr/bin/env tsx', '#!/usr/bin/env node');
|
|
22
|
-
|
|
23
|
-
// Fix package.json path: ../package.json → ../../package.json
|
|
24
|
-
// (bin/rev.ts uses ../package.json which is correct from bin/, but from dist/bin/ needs one more level)
|
|
25
|
-
content = content.replace("'../package.json'", "'../../package.json'");
|
|
26
|
-
|
|
27
|
-
writeFileSync(revPath, content, 'utf-8');
|
|
28
|
-
console.log('postbuild: fixed dist/bin/rev.js (shebang + paths)');
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Post-build fixups for compiled TypeScript output.
|
|
5
|
+
*
|
|
6
|
+
* tsc compiles bin/rev.ts → dist/bin/rev.js but:
|
|
7
|
+
* 1. Preserves the #!/usr/bin/env tsx shebang (needs to be node)
|
|
8
|
+
* 2. Relative paths like '../package.json' break (bin/ → dist/bin/ adds a level)
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { readFileSync, writeFileSync } from 'fs';
|
|
12
|
+
import { join, dirname } from 'path';
|
|
13
|
+
import { fileURLToPath } from 'url';
|
|
14
|
+
|
|
15
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
const revPath = join(__dirname, '..', 'dist', 'bin', 'rev.js');
|
|
17
|
+
|
|
18
|
+
let content = readFileSync(revPath, 'utf-8');
|
|
19
|
+
|
|
20
|
+
// Fix shebang: tsx → node
|
|
21
|
+
content = content.replace('#!/usr/bin/env tsx', '#!/usr/bin/env node');
|
|
22
|
+
|
|
23
|
+
// Fix package.json path: ../package.json → ../../package.json
|
|
24
|
+
// (bin/rev.ts uses ../package.json which is correct from bin/, but from dist/bin/ needs one more level)
|
|
25
|
+
content = content.replace("'../package.json'", "'../../package.json'");
|
|
26
|
+
|
|
27
|
+
writeFileSync(revPath, content, 'utf-8');
|
|
28
|
+
console.log('postbuild: fixed dist/bin/rev.js (shebang + paths)');
|