paperlint 2.0.0 → 2.1.0

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.
Files changed (207) hide show
  1. package/.github/workflows/ci.yml +4 -4
  2. package/CLAUDE.md +3 -3
  3. package/CONTRIBUTING.md +21 -0
  4. package/LICENSE +1 -1
  5. package/README.md +81 -24
  6. package/action.harness.mjs +10 -10
  7. package/action.mutations.mjs +3 -3
  8. package/action.yml +11 -11
  9. package/bin/{rpp.mjs → paperlint.mjs} +2 -2
  10. package/dist/adapters/banal/invocation.js +3 -3
  11. package/dist/adapters/banal/invocation.js.map +1 -1
  12. package/dist/adapters/banal/run.d.ts +1 -1
  13. package/dist/adapters/banal/run.js +1 -1
  14. package/dist/adapters/banal/run.js.map +1 -1
  15. package/dist/adapters/banal/settings.d.ts +4 -4
  16. package/dist/adapters/banal/settings.d.ts.map +1 -1
  17. package/dist/adapters/banal/settings.js +4 -4
  18. package/dist/adapters/banal/settings.js.map +1 -1
  19. package/dist/adapters/banal/xml.js +1 -1
  20. package/dist/adapters/banal/xml.js.map +1 -1
  21. package/dist/adapters/curl/download.io.d.ts.map +1 -1
  22. package/dist/adapters/curl/download.io.js +2 -2
  23. package/dist/adapters/curl/download.io.js.map +1 -1
  24. package/dist/build-engine.d.ts +1 -1
  25. package/dist/build-engine.d.ts.map +1 -1
  26. package/dist/build-engine.js +6 -3
  27. package/dist/build-engine.js.map +1 -1
  28. package/dist/build.d.ts +1 -1
  29. package/dist/build.d.ts.map +1 -1
  30. package/dist/build.js +5 -4
  31. package/dist/build.js.map +1 -1
  32. package/dist/cli.d.ts +29 -30
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +174 -98
  35. package/dist/cli.js.map +1 -1
  36. package/dist/doctor.d.ts.map +1 -1
  37. package/dist/doctor.js +21 -6
  38. package/dist/doctor.js.map +1 -1
  39. package/dist/engine.d.ts +2 -2
  40. package/dist/engine.d.ts.map +1 -1
  41. package/dist/engine.js +1 -1
  42. package/dist/facts-file.d.ts +33 -9
  43. package/dist/facts-file.d.ts.map +1 -1
  44. package/dist/facts-file.js +117 -17
  45. package/dist/facts-file.js.map +1 -1
  46. package/dist/hooks-settings.d.ts +0 -18
  47. package/dist/hooks-settings.d.ts.map +1 -1
  48. package/dist/hooks-settings.js +70 -42
  49. package/dist/hooks-settings.js.map +1 -1
  50. package/dist/init.d.ts +13 -10
  51. package/dist/init.d.ts.map +1 -1
  52. package/dist/init.js +74 -42
  53. package/dist/init.js.map +1 -1
  54. package/dist/link-skills.js +2 -2
  55. package/dist/link-skills.js.map +1 -1
  56. package/dist/new-paper.d.ts +2 -2
  57. package/dist/new-paper.d.ts.map +1 -1
  58. package/dist/new-paper.js +17 -2
  59. package/dist/new-paper.js.map +1 -1
  60. package/dist/paper-settings.d.ts +68 -0
  61. package/dist/paper-settings.d.ts.map +1 -0
  62. package/dist/paper-settings.js +144 -0
  63. package/dist/paper-settings.js.map +1 -0
  64. package/dist/presets.d.ts +84 -0
  65. package/dist/presets.d.ts.map +1 -0
  66. package/dist/presets.js +186 -0
  67. package/dist/presets.js.map +1 -0
  68. package/dist/rules-config.d.ts +8 -1
  69. package/dist/rules-config.d.ts.map +1 -1
  70. package/dist/rules-config.js +13 -8
  71. package/dist/rules-config.js.map +1 -1
  72. package/dist/structure.d.ts.map +1 -1
  73. package/dist/structure.js +2 -1
  74. package/dist/structure.js.map +1 -1
  75. package/dist/tex-requirements.d.ts +63 -7
  76. package/dist/tex-requirements.d.ts.map +1 -1
  77. package/dist/tex-requirements.js +91 -24
  78. package/dist/tex-requirements.js.map +1 -1
  79. package/dist/toolchain.d.ts +2 -2
  80. package/dist/toolchain.d.ts.map +1 -1
  81. package/dist/toolchain.js +8 -8
  82. package/dist/toolchain.js.map +1 -1
  83. package/dist/types.d.ts +4 -4
  84. package/dist/types.d.ts.map +1 -1
  85. package/dist/venue-rules.d.ts +109 -0
  86. package/dist/venue-rules.d.ts.map +1 -0
  87. package/dist/venue-rules.js +387 -0
  88. package/dist/venue-rules.js.map +1 -0
  89. package/docs/configuration.md +73 -17
  90. package/docs/e2e.md +3 -4
  91. package/docs/install.md +11 -3
  92. package/docs/optional-rules.md +26 -25
  93. package/docs/rules.md +132 -3
  94. package/docs/toolchain.md +5 -5
  95. package/eslint-rules/paper-typography.mjs +1 -1
  96. package/eslint-rules/paper-typography.mutations.mjs +1 -1
  97. package/eslint-rules/papers.mjs +6 -2
  98. package/eslint-rules/pdf-last-page-balance.harness.mjs +5 -3
  99. package/eslint-rules/pdf-last-page-balance.mjs +23 -2
  100. package/fixtures/build-e2e/acmart/paperlint.json +1 -0
  101. package/fixtures/build-e2e/guards/paper.tex +1 -1
  102. package/fixtures/pdf-facts/README.md +1 -1
  103. package/fixtures/real-markdown-paper/baseline.json +1 -1
  104. package/fixtures/real-markdown-paper/baseline.mjs +2 -2
  105. package/fixtures/toolchain-mirror/install-tl +2 -2
  106. package/fixtures/toolchain-mirror/stub-pdflatex +1 -1
  107. package/fixtures/toolchain-mirror/stub-tlmgr +1 -1
  108. package/hooks/hooks.harness.mjs +1 -1
  109. package/lib/paper-config.d.mts +7 -0
  110. package/lib/paper-config.harness.mjs +3 -3
  111. package/lib/paper-config.mjs +34 -3
  112. package/lib/skill-trigger-cases.harness.mjs +1 -1
  113. package/package.json +4 -4
  114. package/plugin/hooks/hooks.json +3 -3
  115. package/scripts/check.mjs +1 -1
  116. package/scripts/harness-api.frozen.json +1 -1
  117. package/scripts/harness-api.test.ts +2 -2
  118. package/scripts/layer-legacy.frozen.json +1 -1
  119. package/scripts/mutation-batteries-frozen.harness.mjs +1 -1
  120. package/scripts/mutation-batteries.frozen.json +2 -2
  121. package/scripts/release-config.test.ts +1 -1
  122. package/skills/find-venue/SKILL.md +5 -1
  123. package/skills/find-venue/SKILL.md.spec.ts +4 -0
  124. package/skills/paper-pipeline/PIPELINE-MAP.md +14 -4
  125. package/skills/paper-pipeline/SKILL.md +4 -3
  126. package/skills/paper-pipeline/SKILL.md.spec.ts +3 -2
  127. package/skills/paper-pipeline/description-language.eval.mjs +1 -1
  128. package/skills/paper-pipeline/framing-vs-vocabulary.eval.mjs +1 -1
  129. package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +2 -2
  130. package/skills/paper-pipeline/pipeline-firing.eval.mjs +1 -1
  131. package/skills/paper-pipeline/pipeline-language.eval.mjs +1 -1
  132. package/skills/paper-pipeline/scripts/consumer.d.mts +1 -0
  133. package/skills/paper-pipeline/scripts/consumer.harness.mjs +10 -4
  134. package/skills/paper-pipeline/scripts/consumer.mjs +8 -1
  135. package/skills/paper-pipeline/scripts/consumer.mutations.mjs +1 -1
  136. package/skills/render-paper/SKILL.md +3 -3
  137. package/skills/render-paper/SKILL.md.spec.ts +2 -2
  138. package/skills/render-paper/extract-pdf-facts.harness.mjs +6 -6
  139. package/skills/render-paper/extract-pdf-facts.mjs +4 -4
  140. package/skills/study-accepted-papers/SKILL.md +2 -1
  141. package/skills/study-accepted-papers/SKILL.md.spec.ts +1 -0
  142. package/skills/submit-paper/SKILL.md +9 -1
  143. package/skills/submit-paper/SKILL.md.spec.ts +8 -0
  144. package/skills/submit-paper/references/venues/acm-sigconf.jsonc +86 -0
  145. package/skills/submit-paper/references/venues/agenticdev.jsonc +34 -102
  146. package/skills/submit-paper/references/venues/aisec.jsonc +21 -82
  147. package/skills/submit-paper/references/venues/realm.jsonc +45 -43
  148. package/skills/submit-paper/references/venues/tex-base.jsonc +1 -1
  149. package/skills/submit-paper/references/venues/venue-profile.schema.json +120 -30
  150. package/src/adapters/banal/index.test.ts +1 -1
  151. package/src/adapters/banal/invocation.test.ts +3 -3
  152. package/src/adapters/banal/invocation.ts +3 -3
  153. package/src/adapters/banal/locate.test.ts +4 -4
  154. package/src/adapters/banal/run.ts +2 -2
  155. package/src/adapters/banal/settings.test.ts +12 -6
  156. package/src/adapters/banal/settings.ts +9 -5
  157. package/src/adapters/banal/xml.test.ts +1 -1
  158. package/src/adapters/banal/xml.ts +1 -1
  159. package/src/adapters/curl/download.io.ts +4 -2
  160. package/src/adapters/curl/download.test.ts +3 -1
  161. package/src/adapters/node/files.test.ts +1 -1
  162. package/src/adapters/node/process.test.ts +2 -2
  163. package/src/adapters/node/workspace.test.ts +4 -4
  164. package/src/build-engine.harness.mjs +2 -2
  165. package/src/build-engine.ts +11 -3
  166. package/src/build.harness.mjs +27 -22
  167. package/src/build.mutations.mjs +3 -2
  168. package/src/build.ts +6 -5
  169. package/src/cli.harness.mjs +72 -131
  170. package/src/cli.mutations.mjs +7 -32
  171. package/src/cli.ts +204 -121
  172. package/src/doctor.harness.mjs +9 -25
  173. package/src/doctor.ts +28 -5
  174. package/src/engine.harness.mjs +4 -2
  175. package/src/engine.ts +2 -2
  176. package/src/facts-file.test.ts +54 -7
  177. package/src/facts-file.ts +145 -24
  178. package/src/hooks-settings.harness.mjs +24 -15
  179. package/src/hooks-settings.mutations.mjs +2 -4
  180. package/src/hooks-settings.ts +92 -49
  181. package/src/init.ts +88 -52
  182. package/src/latex-log.harness.mjs +1 -1
  183. package/src/link-skills.harness.mjs +3 -1
  184. package/src/link-skills.mutations.mjs +1 -1
  185. package/src/link-skills.ts +2 -2
  186. package/src/new-paper.harness.mjs +10 -7
  187. package/src/new-paper.test.ts +145 -0
  188. package/src/new-paper.ts +22 -2
  189. package/src/paper-settings-commands.test.ts +311 -0
  190. package/src/paper-settings.test.ts +220 -0
  191. package/src/paper-settings.ts +206 -0
  192. package/src/pdf-facts.harness.mjs +1 -1
  193. package/src/presets.test.ts +236 -0
  194. package/src/presets.ts +307 -0
  195. package/src/rules-config.ts +14 -9
  196. package/src/structure.harness.mjs +4 -4
  197. package/src/structure.ts +2 -1
  198. package/src/tex-requirements.harness.mjs +12 -18
  199. package/src/tex-requirements.ts +179 -29
  200. package/src/toolchain.harness.mjs +34 -25
  201. package/src/toolchain.ts +14 -8
  202. package/src/types.ts +4 -4
  203. package/src/venue-rules.test.ts +545 -0
  204. package/src/venue-rules.ts +573 -0
  205. package/templates/paper/paperlint.json +4 -0
  206. package/fixtures/build-e2e/acmart/venue.json +0 -1
  207. package/plugin/.claude-plugin/plugin.json +0 -8
package/dist/cli.js CHANGED
@@ -10,13 +10,13 @@
10
10
  *
11
11
  * Two entry points into the tool, and both are whole now:
12
12
  * npx paperlint lint ← here
13
- * uses: zernie/research-paper-pipeline@<sha> ← action.yml
13
+ * uses: zernie/paperlint@<sha> ← action.yml
14
14
  *
15
15
  * ⚠️ THE BOUNDARY THIS UTILITY HAS NO RIGHT TO ERASE: the consumer's data stays with the consumer.
16
16
  * The typography debt, the marker of the author-list check run, the field dictionary — all of that
17
17
  * is about ONE corpus, and wiring it into the package would repeat the defect that put the path
18
18
  * `.claude/skills/verify-citations/...` into a rule's message. So they live in the consumer's
19
- * `rpp.json`.
19
+ * `package.json`, under the `paperlint` key.
20
20
  *
21
21
  * 🔴 WHY THE COMMAND IS CALLED `lint` AND NOT `check`. It does exactly what everyone else calls by
22
22
  * that word: reads files, changes nothing, prints findings, exits non-zero. `check` is taken in the
@@ -33,23 +33,26 @@ import { fileURLToPath } from "node:url";
33
33
  import { join, dirname, resolve, relative, basename, sep } from "node:path";
34
34
  import markdown from "@eslint/markdown";
35
35
  // Types come from consumer.d.mts beside it, the same arrangement as lib/paper-config.d.mts.
36
- import { isMain } from "../skills/paper-pipeline/scripts/consumer.mjs";
36
+ import { isMain, packageVenuesDir, } from "../skills/paper-pipeline/scripts/consumer.mjs";
37
37
  export { isMain };
38
38
  import { checkStructure, formatStructure, asEslintResults, } from "./structure.js";
39
- import { buildPapers, papersIn, anyFailed, remedyFor, readFacts, MAIN, } from "./build.js";
39
+ import { buildPapers, papersIn, anyFailed, remedyFor, MAIN } from "./build.js";
40
40
  import { prepareEngine } from "./build-engine.js";
41
41
  import { runToolchain } from "./toolchain.js";
42
42
  import { banalInstaller, parseBanalSettings } from "./adapters/banal/index.js";
43
43
  import { curlDownload } from "./adapters/curl/index.js";
44
- import { hostDirs, nodeAdapters } from "./adapters/node/index.js";
45
- import { mergeRequirements, requirementsFor, NO_REQUIREMENTS, } from "./tex-requirements.js";
44
+ import { hostDirs, nodeAdapters, nodeFiles } from "./adapters/node/index.js";
45
+ import { VENUE_RULE_LEVELS, venueRules } from "./venue-rules.js";
46
+ import { paperRules } from "./paper-settings.js";
47
+ import { paperPreset, paperPresetProblem, } from "./presets.js";
48
+ import { mergeRequirements, declaredUnion, requirementsFor, NO_REQUIREMENTS, } from "./tex-requirements.js";
46
49
  import { doctor } from "./doctor.js";
47
50
  import { init, processInteractivity, askOnTerminal } from "./init.js";
48
51
  import { DEFAULT_FORMAT, FORMATS, isFormat, newPaper, reportNewPaper, } from "./new-paper.js";
49
52
  // The one source for the consumer's config key lives in the .mjs half of the package (the ESLint
50
53
  // rules and the skill scripts import it too); its types are in lib/paper-config.d.mts.
51
54
  import { CONFIG_KEY, LEGACY_CONFIG_KEY, LEGACY_KEY_MESSAGE, PAPERS_DIR_FIELD, SETTINGS_KEYS, declaredSettings, renamedFieldMessage, } from "../lib/paper-config.mjs";
52
- import { parseRuleBlocks, shippedRuleIds, unknownKeys, } from "./rules-config.js";
55
+ import { parseRuleBlocks, parseRuleEntries, shippedRuleIds, unknownKeys, } from "./rules-config.js";
53
56
  export { init };
54
57
  export { nextSteps } from "./init.js";
55
58
  // @ts-expect-error — an ESLint rule in .mjs, it has no types
@@ -82,8 +85,8 @@ const USAGE = `paperlint — machine-checkable gates for a paper kept in git
82
85
  Compiles with paperlint's TeX Live, else one on PATH that has every
83
86
  package the venue declares; on a terminal it offers to install
84
87
  one, without a terminal it stops and names \`npx paperlint toolchain\`
85
- npx paperlint toolchain [--check] install TeX Live with every package the venue profiles declare
86
- into ~/.cache/rpp/texlive (RPP_TEXLIVE_DIR overrides); a second
88
+ npx paperlint toolchain [--check] install TeX Live with every package the venue presets declare
89
+ into ~/.cache/paperlint/texlive (PAPERLINT_TEXLIVE_DIR overrides); a second
87
90
  run does nothing. --check: report what is missing, change nothing
88
91
  npx paperlint doctor say what is actually wired — and what only LOOKS wired
89
92
  npx paperlint hook <name> run an editor hook (.claude/settings.json calls this)
@@ -109,8 +112,8 @@ lint:
109
112
  most findings here are advisory and a gate that fails on advice gets muted
110
113
 
111
114
  settings — the \`paperlint\` key of your package.json, found by walking up from the
112
- current directory, the way every other tool in the stack finds its config. \`rpp.json\` is still
113
- read as a deprecated fallback and the run says so. \`papersDir\` is required; the rest is optional:
115
+ current directory, the way every other tool in the stack finds its config. \`--config\` names
116
+ another file of the same shape. \`papersDir\` is required; the rest is optional:
114
117
 
115
118
  "paperlint": {
116
119
  "papersDir": "papers",
@@ -124,9 +127,21 @@ read as a deprecated fallback and the run says so. \`papersDir\` is required; th
124
127
  "rules": { "pdf/last-page-balance": "error" } } ]
125
128
  }
126
129
 
127
- "rules" takes ESLint flat-config blocks (files, ignores, rules), appended after rpp's own, with
130
+ "rules" takes ESLint flat-config blocks (files, ignores, rules), appended after paperlint's own, with
128
131
  files relative to the file holding the settings. Optional rules (off unless turned on there):
129
- pdf/last-page-balance. An unknown key, anywhere in the settings, is an error.
132
+ pdf/last-page-balance. The venue rules (pdf/fresh, pdf/profile, pdf/fonts, pdf/geometry,
133
+ pdf/limits, pdf/body-size, pdf/measured) are on for every paper whose paperlint.json names a venue;
134
+ set one to "off" there to skip it.
135
+
136
+ per paper — <paper>/paperlint.json (it was venue.json before 2.1.0; \`npx paperlint init\` moves it):
137
+
138
+ { "extends": "paperlint:aisec", "kind": "research", "rules": { "pdf/last-page-balance": "error" } }
139
+
140
+ "extends" names a venue preset: paperlint:<name> (shipped: acm-sigconf, agenticdev, aisec, realm)
141
+ or ./path.jsonc, relative to the paperlint.json. npm presets are not supported yet.
142
+
143
+ "rules" there applies to that paper alone, after its preset's rules and before the project's. An unknown key,
144
+ anywhere in the settings or in a paperlint.json, is an error.
130
145
  `;
131
146
  /** The config the user would otherwise write by hand. The data comes from `opts`, the mechanism is here. */
132
147
  export function buildConfig(opts = {}, texLanguage) {
@@ -143,11 +158,21 @@ export function buildConfig(opts = {}, texLanguage) {
143
158
  // default (only `node_modules/` and `.git/`), so without this block `paperlint lint` would lint the
144
159
  // template as a paper — and a richer template with placeholder stages would fail the run.
145
160
  { ignores: ["**/.template/"] },
146
- // The `pdf` plugin is registered for EVERY file, and its rule is on for none. A consumer's
147
- // block (`rules`, appended below) turns it on for a glob that also matches markdown files;
148
- // with the plugin defined only beside `paper.tex`, ESLint would refuse those files with
149
- // "could not find plugin". The rule itself acts on `paper.tex` only.
150
- { plugins: { pdf: pdfRules } },
161
+ // The `pdf` plugin is registered for EVERY file. A consumer's block (`rules`, appended below)
162
+ // may name its rules for a glob that also matches markdown files; with the plugin defined only
163
+ // beside `paper.tex`, ESLint would refuse those files with "could not find plugin". Every rule
164
+ // in it acts on `paper.tex` only. `last-page-balance` is on for no file (optional); the venue
165
+ // rules are on for every `paper.tex`, in the block below.
166
+ {
167
+ plugins: {
168
+ pdf: {
169
+ rules: {
170
+ ...pdfRules.rules,
171
+ ...venueRules({ files: nodeFiles, venuesDir: packageVenuesDir() }),
172
+ },
173
+ },
174
+ },
175
+ },
151
176
  {
152
177
  files: ["**/PIPELINE-STATUS.md"],
153
178
  plugins: { markdown, paper: paperStages },
@@ -217,6 +242,8 @@ export function buildConfig(opts = {}, texLanguage) {
217
242
  "paper/typography": typographyOpt,
218
243
  "tex/future-promise": "warn",
219
244
  "tex/acm-frontmatter-override": "error",
245
+ // Silent for a paper whose paperlint.json names no venue (src/venue-rules.ts).
246
+ ...VENUE_RULE_LEVELS,
220
247
  },
221
248
  });
222
249
  // The consumer's own blocks, LAST, so a later block wins — ESLint's rule. Parsed by
@@ -225,8 +252,8 @@ export function buildConfig(opts = {}, texLanguage) {
225
252
  return cfg;
226
253
  }
227
254
  /**
228
- * The rule ids a consumer may name in `rules`: every rule rpp's own config defines, read off that
229
- * config rather than listed again. `@eslint/markdown` is a dependency's plugin, not rpp's.
255
+ * The rule ids a consumer may name in `rules`: every rule paperlint's own config defines, read off that
256
+ * config rather than listed again. `@eslint/markdown` is a dependency's plugin, not paperlint's.
230
257
  */
231
258
  export const SHIPPED_RULES = shippedRuleIds(buildConfig({}, { sentinel: "tex language" }), [markdown]);
232
259
  /** Whether a rule entry (`"error"`, `2`, `["warn", {…}]`) turns the rule on. */
@@ -236,7 +263,7 @@ const isOn = (entry) => {
236
263
  };
237
264
  /**
238
265
  * Rules paperlint ships and turns on for no file itself — the ones a consumer opts into with `rules`.
239
- * Derived: every shipped rule that no block of rpp's own config names.
266
+ * Derived: every shipped rule that no block of paperlint's own config names.
240
267
  */
241
268
  export const OPTIONAL_RULES = new Set([...SHIPPED_RULES].filter((id) => !buildConfig({}, { sentinel: "tex language" }).some((b) => isOn(b.rules?.[id]))));
242
269
  /**
@@ -259,6 +286,59 @@ export async function silentOptionalRules(eslint, lintedFiles, opts) {
259
286
  }
260
287
  return [...turnedOn].filter((id) => !reached.has(id));
261
288
  }
289
+ /**
290
+ * Every linted paper's `rules` from its `paperlint.json`, as ESLint blocks scoped to that paper.
291
+ * A file that does not parse, or names a rule paperlint does not ship, stops the run with one line
292
+ * naming the file — the same strictness as the project's own `rules`. A leftover `venue.json` is
293
+ * not read here; `pdf/profile` and `paperlint doctor` name it.
294
+ */
295
+ export function paperRuleBlocks(paths) {
296
+ const papers = [...new Set(paths.flatMap((p) => [p, ...papersIn(p)]))];
297
+ const out = [];
298
+ for (const dir of papers) {
299
+ const p = paperPreset(dir, PRESET_DEPS);
300
+ if (p.kind === "settings-problem" && p.problem.kind === "broken")
301
+ return { ok: false, error: paperPresetProblem(dir, p) ?? dir };
302
+ const block = rulesOfPaper(dir, p);
303
+ if (!block.ok)
304
+ return block;
305
+ if (block.value)
306
+ out.push(block.value);
307
+ }
308
+ return { ok: true, value: out };
309
+ }
310
+ /**
311
+ * One paper's block: its preset chain's `rules`, then its own — later wins per rule id. A preset
312
+ * that does not resolve contributes nothing here; `pdf/profile` reports it on the paper.
313
+ */
314
+ function rulesOfPaper(dir, p) {
315
+ const settings = "settings" in p ? p.settings : null;
316
+ if (settings === null)
317
+ return { ok: true, value: null };
318
+ const own = paperRules(dir, settings, SHIPPED_RULES);
319
+ if (!own.ok)
320
+ return own;
321
+ const fromPreset = p.kind === "resolved"
322
+ ? parseRuleEntries(p.preset.rules, `the venue preset ${p.preset.chain.join(" → ")} → "rules"`, SHIPPED_RULES)
323
+ : { ok: true, value: {} };
324
+ if (!fromPreset.ok)
325
+ return fromPreset;
326
+ const rules = { ...fromPreset.value, ...(own.value ?? {}) };
327
+ return {
328
+ ok: true,
329
+ value: Object.keys(rules).length
330
+ ? { basePath: dir, files: PAPER_FILE_PATTERNS, rules }
331
+ : null,
332
+ };
333
+ }
334
+ /**
335
+ * The files a paper's block may reach: exactly the ones paperlint's own blocks lint, read off its
336
+ * config. A wider glob (everything under the paper) would make ESLint lint files no block gives a
337
+ * language — `paperlint.json` itself would be parsed as JavaScript.
338
+ */
339
+ const PAPER_FILE_PATTERNS = [
340
+ ...new Set(buildConfig({}, { sentinel: "tex language" }).flatMap((b) => b.files ?? [])),
341
+ ];
262
342
  /**
263
343
  * The settings after the boundary: an unknown key is refused by name, and `rules` becomes parsed
264
344
  * config blocks. Nothing after this sees the raw object.
@@ -364,7 +444,6 @@ export function parseArgs(argv) {
364
444
  }
365
445
  return out;
366
446
  }
367
- export const CONFIG_NAME = "rpp.json";
368
447
  export const PKG_NAME = "package.json";
369
448
  /**
370
449
  * This package's own version, from the `package.json` beside `src/` and `dist/` alike. `init` pins
@@ -381,30 +460,20 @@ function ownVersion() {
381
460
  }
382
461
  }
383
462
  /**
384
- * 🔴 THE CLI HAD TO LEARN TO READ `package.json`, AND THAT IS NOT A SIDE ERRAND. `paperlint init` now
385
- * writes ONE declaration, into the `package.json` key that the three hooks and `eslint-rules`
386
- * already read. Without this walker the install it produces would not work at all: `paperlint lint`
387
- * would find no `rpp.json`, report "nothing to lint", and the consumer would be back to
388
- * declaring the same directory twice — the defect the single declaration removes (issue #33,
463
+ * 🔴 THE CLI READS `package.json`, THE ONE DECLARATION. `paperlint init` writes the settings under
464
+ * the `package.json` key that the three hooks and `eslint-rules` already read; the CLI reads the
465
+ * same file, so the install and the check cannot look at different files (issue #33,
389
466
  * `docs/install.md`).
390
467
  *
391
- * `rpp.json` stays readable as a DEPRECATED fallback, and the read says so out loud. Silently
392
- * dropping a file this command used to write would break working setups on upgrade.
393
- *
394
468
  * The walk goes up to the filesystem root, the way eslint, prettier and tsc find theirs, so a run
395
- * from inside one paper sees the same settings as a run from the repository root. At each level
396
- * `package.json` wins over `rpp.json`: it is the carrier every other reader uses, so preferring
397
- * it is what keeps "one declaration" true rather than merely intended.
469
+ * from inside one paper sees the same settings as a run from the repository root.
398
470
  */
399
- export function findDeclaration(startDir) {
471
+ export function findConfig(startDir) {
400
472
  let dir = resolve(startDir);
401
473
  for (;;) {
402
474
  const pkg = join(dir, PKG_NAME);
403
475
  if (existsSync(pkg) && declaresSettings(pkg))
404
- return { path: pkg, kind: "package.json" };
405
- const rpp = join(dir, CONFIG_NAME);
406
- if (existsSync(rpp))
407
- return { path: rpp, kind: "rpp.json" };
476
+ return pkg;
408
477
  const up = dirname(dir);
409
478
  if (up === dir)
410
479
  return null;
@@ -425,10 +494,6 @@ const declaresSettings = (pkgPath) => {
425
494
  return false;
426
495
  }
427
496
  };
428
- /** Kept as the one-line question "which file holds the settings" — callers that only need a path. */
429
- export function findConfig(startDir) {
430
- return findDeclaration(startDir)?.path ?? null;
431
- }
432
497
  /**
433
498
  * Reading the config, ONE reader for all commands. Pulled out of `run()` the moment a second
434
499
  * command needed the same config (`build`): two copies of this block would have drifted apart on
@@ -438,23 +503,16 @@ export function findConfig(startDir) {
438
503
  */
439
504
  export function readConfig(a, { log = console.log, err = console.error, cwd = process.cwd(), } = {}) {
440
505
  // 🔴 THE CONFIG FINDS ITSELF. An explicit `--config` beats the discovered one — it was named out
441
- // loud, and a substitution is never silent. For an explicit path the FILE NAME decides the
442
- // carrier: the path here is a value, not a text to make guesses about, and `package.json` holds
443
- // the settings under a key.
444
- const decl = a.config
445
- ? {
446
- path: a.config,
447
- kind: basename(a.config) === PKG_NAME ? "package.json" : "rpp.json",
448
- }
449
- : findDeclaration(cwd);
450
- const configPath = decl?.path ?? null;
506
+ // loud, and a substitution is never silent. Either way the file has the shape of a
507
+ // `package.json`: the settings sit under the key.
508
+ const configPath = a.config ?? findConfig(cwd);
451
509
  if (a.config && !existsSync(a.config)) {
452
510
  err(`config file not found: ${a.config}`);
453
511
  return { code: 2 };
454
512
  }
455
513
  let opts = {};
456
514
  let legacyKey = false;
457
- if (decl && configPath) {
515
+ if (configPath) {
458
516
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- #49: replace with a real type
459
517
  let parsed;
460
518
  try {
@@ -464,17 +522,13 @@ export function readConfig(a, { log = console.log, err = console.error, cwd = pr
464
522
  err(`${configPath} is not valid JSON: ${e.message}`);
465
523
  return { code: 2 };
466
524
  }
467
- if (decl.kind === "package.json") {
468
- const d = declaredSettings(parsed);
469
- if (d.conflict !== null) {
470
- err(d.conflict);
471
- return { code: 2 };
472
- }
473
- opts = (d.settings ?? {});
474
- legacyKey = d.legacy;
525
+ const d = declaredSettings(parsed);
526
+ if (d.conflict !== null) {
527
+ err(d.conflict);
528
+ return { code: 2 };
475
529
  }
476
- else
477
- opts = parsed;
530
+ opts = (d.settings ?? {});
531
+ legacyKey = d.legacy;
478
532
  // The discovered config is NAMED out loud. Otherwise a run from someone else's directory picks
479
533
  // up someone else's file and does not say so — and a typography-debt mismatch looks like a finding.
480
534
  //
@@ -483,27 +537,19 @@ export function readConfig(a, { log = console.log, err = console.error, cwd = pr
483
537
  // test but by an attempt to wire our own action to this output; in the harness I first WORKED
484
538
  // AROUND this line (stripped the first line before JSON.parse) — that is, the workaround hid
485
539
  // the defect exactly where it should have been shouting.
486
- (a.json ? err : log)(`config: ${relative(cwd, configPath) || CONFIG_NAME}`);
487
- // 🔴 THE DEPRECATED CARRIER IS NAMED OUT LOUD, IT DOES NOT STOP BEING READ. The hooks read ONLY
488
- // package.json, so a consumer whose settings stayed in rpp.json lints one directory and guards
489
- // another — and both states look equally green.
490
- if (decl.kind === "rpp.json")
491
- (a.json ? err : log)(` ⚠ ${CONFIG_NAME} is deprecated — move these keys under "${CONFIG_KEY}" in ${PKG_NAME}; ` +
492
- `the hooks read only that file. \`npx paperlint init\` does it for you.`);
540
+ (a.json ? err : log)(`config: ${relative(cwd, configPath) || PKG_NAME}`);
493
541
  if (legacyKey)
494
542
  (a.json ? err : log)(` ⚠ ${LEGACY_KEY_MESSAGE}`);
495
543
  }
496
544
  // The old field name is refused before anything else is read from the settings: falling back
497
545
  // to it would keep it working forever, and this package has no released users to migrate.
498
- const where = decl?.kind === "package.json"
499
- ? `${PKG_NAME} → "${legacyKey ? LEGACY_CONFIG_KEY : CONFIG_KEY}"`
500
- : (decl?.path ?? CONFIG_NAME);
501
- const renamed = decl ? renamedFieldMessage(opts, where) : null;
546
+ const where = `${configPath ? basename(configPath) : PKG_NAME} → "${legacyKey ? LEGACY_CONFIG_KEY : CONFIG_KEY}"`;
547
+ const renamed = configPath ? renamedFieldMessage(opts, where) : null;
502
548
  if (renamed) {
503
549
  err(renamed);
504
550
  return { code: 2 };
505
551
  }
506
- if (decl && configPath) {
552
+ if (configPath) {
507
553
  const parsed = parseSettings(opts, where, dirname(resolve(cwd, configPath)));
508
554
  if (!parsed.ok) {
509
555
  err(parsed.error);
@@ -514,14 +560,10 @@ export function readConfig(a, { log = console.log, err = console.error, cwd = pr
514
560
  // 🔴 THE PAPERS DIRECTORY IS A REQUIRED FIELD. The papers directory is the one thing without which the tool
515
561
  // does not know what it works on, and the one thing that cannot be guessed: a default of "." runs
516
562
  // the rules over the whole checkout and exits green over a scope nobody chose.
517
- if (decl && !hasPapers(opts)) {
518
- err(decl.kind === "package.json"
519
- ? `${decl.path} must declare \`${PAPERS_DIR_FIELD}\` — the directory your papers live in, e.g.\n` +
520
- ` { "${CONFIG_KEY}": { "${PAPERS_DIR_FIELD}": "papers" } }\n` +
521
- `It is the one thing this tool cannot guess. \`npx paperlint init\` writes it for you.`
522
- : `${decl.path} must declare \`${PAPERS_DIR_FIELD}\` — the directory your papers live in, e.g.\n` +
523
- ` { "${PAPERS_DIR_FIELD}": "papers" }\n` +
524
- `It is the one thing this tool cannot guess.`);
563
+ if (configPath && !hasPapers(opts)) {
564
+ err(`${configPath} must declare \`${PAPERS_DIR_FIELD}\` — the directory your papers live in, e.g.\n` +
565
+ ` { "${CONFIG_KEY}": { "${PAPERS_DIR_FIELD}": "papers" } }\n` +
566
+ `It is the one thing this tool cannot guess. \`npx paperlint init\` writes it for you.`);
525
567
  return { code: 2 };
526
568
  }
527
569
  return { opts, configPath };
@@ -591,7 +633,7 @@ resolve = (spec) => createRequire(import.meta.url).resolve(spec), } = {}) {
591
633
  throw new Error(`resolved vigiles, but no cli.js beside it: ${runtime}`);
592
634
  }
593
635
  catch {
594
- err(`rpp: the hook runtime (vigiles) is not resolvable from ${fileURLToPath(new URL(".", import.meta.url))}.\n` +
636
+ err(`paperlint: the hook runtime (vigiles) is not resolvable from ${fileURLToPath(new URL(".", import.meta.url))}.\n` +
595
637
  `The \`${name}\` hook is NOT running. Everything else — \`paperlint lint\`, CI — is unaffected.\n` +
596
638
  `Reinstall this package so its dependencies are present.`);
597
639
  return 0;
@@ -702,16 +744,35 @@ async function runBuild(a, { log, err, cwd, }) {
702
744
  err(remedy);
703
745
  return anyFailed(out.results) ? 1 : 0;
704
746
  }
705
- /** What one paper needs from TeX Live; a venue.json that does not parse is the build's to report. */
747
+ /** The presets' deps, wired to the disk and the package's own venues directory. */
748
+ const PRESET_DEPS = { files: nodeFiles, venuesDir: packageVenuesDir() };
749
+ /**
750
+ * What one paper needs from TeX Live: the base set plus its preset chain's `tex`. A paper whose
751
+ * settings or preset do not resolve gets the base set; the build reports why at its facts step.
752
+ */
706
753
  function paperRequirements(dir) {
707
- let venue = null;
708
- try {
709
- venue = readFacts(dir).venue;
710
- }
711
- catch {
712
- venue = null;
713
- }
714
- return requirementsFor(venue).tex;
754
+ const p = paperPreset(dir, PRESET_DEPS);
755
+ return requirementsFor(p.kind === "resolved" ? p.preset : null).tex;
756
+ }
757
+ /**
758
+ * What `paperlint toolchain` installs: every shipped preset's packages, plus the resolved chain of
759
+ * every paper under the project's papers directory — a project's own preset lives outside the
760
+ * package, so the shipped union alone would not see it.
761
+ */
762
+ export function toolchainTex(cwd) {
763
+ const cfg = readConfig(parseArgs(["toolchain"]), {
764
+ log: () => { },
765
+ err: () => { },
766
+ cwd,
767
+ });
768
+ const roots = cfg.code === undefined
769
+ ? toPaths(papersDirOf(cfg.opts)).map((rel) => resolve(dirname(cfg.configPath ?? cwd), rel))
770
+ : [];
771
+ const chains = roots
772
+ .flatMap((r) => papersIn(r))
773
+ .map((dir) => paperPreset(dir, PRESET_DEPS))
774
+ .flatMap((p) => (p.kind === "resolved" ? [p.preset.tex] : []));
775
+ return declaredUnion(undefined, chains).tex;
715
776
  }
716
777
  /**
717
778
  * The environment the builds run in — PATH led by a TeX Live that has every package the targeted
@@ -740,7 +801,13 @@ const SIMPLE = {
740
801
  hook: (a, { err }) => runHook(a.paths[0], { err }),
741
802
  new: (a, io) => runNew(a, io),
742
803
  build: (a, io) => runBuild(a, io),
743
- toolchain: (a, { log, err }) => runToolchain({ check: a.check, log, err, banal: hostBanalInstaller() }),
804
+ toolchain: (a, { log, err, cwd }) => runToolchain({
805
+ check: a.check,
806
+ log,
807
+ err,
808
+ banal: hostBanalInstaller(),
809
+ tex: toolchainTex(cwd),
810
+ }),
744
811
  };
745
812
  /** banal's installer, wired from this process's environment: the composition root's work. */
746
813
  function hostBanalInstaller() {
@@ -843,7 +910,7 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
843
910
  ? a.paths.map((p) => resolve(cwd, p))
844
911
  : toPaths(papersDirOf(opts)).map((rel) => resolve(dirname(configPath ?? cwd), rel));
845
912
  if (paths.length === 0) {
846
- err(`nothing to lint: no path was given and no ${CONFIG_NAME} was found.\n` +
913
+ err(`nothing to lint: no path was given and no "${CONFIG_KEY}" key was found in a ${PKG_NAME}.\n` +
847
914
  `Run \`npx paperlint init\` here, or pass the directory: \`paperlint lint papers\`.`);
848
915
  return 2;
849
916
  }
@@ -852,6 +919,15 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
852
919
  // a directory without `PIPELINE-STATUS.md` simply gets not a single rule and reports clean. The
853
920
  // analysis of why a structure plugin for ESLint does not cure this is in `structure.mjs`.
854
921
  const structure = checkStructure(paths, opts.structure, { cwd });
922
+ // Each paper's own `rules` (its paperlint.json) go after paperlint's blocks and BEFORE the
923
+ // project's, so the project's package.json still has the last word.
924
+ const papers = paperRuleBlocks(paths);
925
+ if (!papers.ok)
926
+ return (err(papers.error), 2);
927
+ const withPapers = {
928
+ ...opts,
929
+ rules: [...papers.value, ...(opts.rules ?? [])],
930
+ };
855
931
  let texLanguage = null;
856
932
  try {
857
933
  // @ts-expect-error — the module is .mjs and has no types; a missing LaTeX parser is a normal
@@ -864,7 +940,7 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
864
940
  const eslint = new ESLint({
865
941
  cwd: lintRoot(configPath ? dirname(resolve(cwd, configPath)) : cwd, paths),
866
942
  overrideConfigFile: true,
867
- overrideConfig: buildConfig(opts, texLanguage),
943
+ overrideConfig: buildConfig(withPapers, texLanguage),
868
944
  });
869
945
  // 🔴 ESLint THROWS on an empty set (`NoFilesFoundError`) — the guard below simply never got
870
946
  // reached, which is what the very first run over an empty directory showed: instead of a clear
@@ -896,7 +972,7 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
896
972
  log,
897
973
  err,
898
974
  where: relative(cwd, dirname(resolve(cwd, configPath ?? "."))) || ".",
899
- opts,
975
+ opts: withPapers,
900
976
  });
901
977
  }
902
978
  /**
@@ -940,7 +1016,7 @@ results, structure, { a, log, err, where, opts, }) {
940
1016
  }
941
1017
  // 🔴 `isMain`, NOT A STRING COMPARISON. The first version wrote
942
1018
  // if (import.meta.url === `file://${process.argv[1]}`)
943
- // and the utility, launched via `node_modules/.bin/rpp`, SILENTLY EXITED WITH ZERO: npm puts a
1019
+ // and the utility, launched via `node_modules/.bin/paperlint`, SILENTLY EXITED WITH ZERO: npm puts a
944
1020
  // SYMLINK there, `process.argv[1]` stays the symlink's path while `import.meta.url` is the real
945
1021
  // path, and the condition is false. That is, the only way a real consumer launches the utility did
946
1022
  // not work at all — and it looked like a clean run.
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgB/C,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,WAAW,gHACuF,CAAC;AAEhH,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAuCtC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,sBAAe,KAAG,OACuB,CAAC;AAE7E,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAmC7D;AA0FD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,SAAS,CAAC;IACvB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAiB,EAEjB,GAAmB,EACnB,UAAU,EACV,GAAe,EACf,SAAgB,EAChB,UAA2D,GAC5D,GAAE,aAAkB,GAAG,MAAM,CA8F7B"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAkB/C,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,WAAW,gHACuF,CAAC;AAEhH,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAuCtC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,sBAAe,KAAG,OACuB,CAAC;AAE7E,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAmC7D;AAgHD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,SAAS,CAAC;IACvB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAiB,EAEjB,GAAmB,EACnB,UAAU,EACV,GAAe,EACf,SAAgB,EAChB,UAA2D,GAC5D,GAAE,aAAkB,GAAG,MAAM,CA6F7B"}