paperlint 2.0.1 → 3.0.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.
- package/CLAUDE.md +6 -1
- package/CONTRIBUTING.md +21 -0
- package/README.md +231 -180
- package/action.yml +4 -6
- package/dist/adapters/references/index.d.ts +13 -0
- package/dist/adapters/references/index.d.ts.map +1 -0
- package/dist/adapters/references/index.js +55 -0
- package/dist/adapters/references/index.js.map +1 -0
- package/dist/adapters/references/reach.io.d.ts +3 -0
- package/dist/adapters/references/reach.io.d.ts.map +1 -0
- package/dist/adapters/references/reach.io.js +14 -0
- package/dist/adapters/references/reach.io.js.map +1 -0
- package/dist/build-engine.d.ts.map +1 -1
- package/dist/build-engine.js +5 -2
- package/dist/build-engine.js.map +1 -1
- package/dist/build.d.ts +16 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +40 -5
- package/dist/build.js.map +1 -1
- package/dist/cli.d.ts +37 -20
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +377 -251
- package/dist/cli.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +37 -52
- package/dist/doctor.js.map +1 -1
- package/dist/facts-file.d.ts +33 -9
- package/dist/facts-file.d.ts.map +1 -1
- package/dist/facts-file.js +117 -17
- package/dist/facts-file.js.map +1 -1
- package/dist/hooks-settings.d.ts +0 -21
- package/dist/hooks-settings.d.ts.map +1 -1
- package/dist/hooks-settings.js +17 -135
- package/dist/hooks-settings.js.map +1 -1
- package/dist/init.d.ts +40 -19
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +144 -109
- package/dist/init.js.map +1 -1
- package/dist/link-skills.d.ts +1 -1
- package/dist/link-skills.d.ts.map +1 -1
- package/dist/link-skills.js +11 -29
- package/dist/link-skills.js.map +1 -1
- package/dist/new-paper.d.ts +2 -2
- package/dist/new-paper.d.ts.map +1 -1
- package/dist/new-paper.js +6 -2
- package/dist/new-paper.js.map +1 -1
- package/dist/paper-files.d.ts +63 -0
- package/dist/paper-files.d.ts.map +1 -0
- package/dist/paper-files.js +69 -0
- package/dist/paper-files.js.map +1 -0
- package/dist/paper-settings.d.ts +40 -0
- package/dist/paper-settings.d.ts.map +1 -0
- package/dist/paper-settings.js +144 -0
- package/dist/paper-settings.js.map +1 -0
- package/dist/ports/check-references.d.ts +31 -0
- package/dist/ports/check-references.d.ts.map +1 -0
- package/dist/ports/check-references.js +7 -0
- package/dist/ports/check-references.js.map +1 -0
- package/dist/presets.d.ts +84 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +184 -0
- package/dist/presets.js.map +1 -0
- package/dist/reference-rules.d.ts +47 -0
- package/dist/reference-rules.d.ts.map +1 -0
- package/dist/reference-rules.js +156 -0
- package/dist/reference-rules.js.map +1 -0
- package/dist/references.d.ts +36 -0
- package/dist/references.d.ts.map +1 -0
- package/dist/references.js +91 -0
- package/dist/references.js.map +1 -0
- package/dist/rules-config.d.ts +11 -2
- package/dist/rules-config.d.ts.map +1 -1
- package/dist/rules-config.js +25 -11
- package/dist/rules-config.js.map +1 -1
- package/dist/structure.d.ts.map +1 -1
- package/dist/structure.js +3 -2
- package/dist/structure.js.map +1 -1
- package/dist/tex-requirements.d.ts +63 -7
- package/dist/tex-requirements.d.ts.map +1 -1
- package/dist/tex-requirements.js +91 -24
- package/dist/tex-requirements.js.map +1 -1
- package/dist/types.d.ts +20 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/venue-rules.d.ts +109 -0
- package/dist/venue-rules.d.ts.map +1 -0
- package/dist/venue-rules.js +389 -0
- package/dist/venue-rules.js.map +1 -0
- package/docs/configuration.md +152 -77
- package/docs/e2e.md +1 -1
- package/docs/install.md +25 -40
- package/docs/optional-rules.md +26 -24
- package/docs/rules.md +181 -15
- package/eslint-rules/bib-reachable-entry.mjs +75 -0
- package/eslint-rules/latex-language.mjs +29 -1
- package/eslint-rules/paper-stages.harness.mjs +1 -117
- package/eslint-rules/paper-stages.mjs +0 -120
- package/eslint-rules/paper-stages.mutations.mjs +0 -76
- package/eslint-rules/paper-typography.mjs +267 -192
- package/eslint-rules/paper-typography.test.mjs +297 -0
- package/eslint-rules/papers.harness.mjs +8 -12
- package/eslint-rules/papers.mjs +17 -27
- package/eslint-rules/pdf-last-page-balance.mjs +23 -5
- package/eslint-rules/review-frontmatter.mjs +118 -0
- package/eslint-rules/review-frontmatter.schema.json +36 -0
- package/eslint-rules/review-frontmatter.test.mjs +118 -0
- package/eslint-rules/sibling-frontmatter.mjs +19 -0
- package/eslint-rules/sibling-frontmatter.schema.json +14 -0
- package/eslint.config.mjs +0 -15
- package/fixtures/build-e2e/acmart/paperlint.json +1 -0
- package/fixtures/real-markdown-paper/baseline.json +6 -7
- package/hooks/hooks.harness.mjs +39 -98
- package/hooks/hooks.mutations.mjs +6 -6
- package/hooks/paper-edit-guard.hook.d.mts +2 -3
- package/hooks/paper-edit-guard.hook.mjs +31 -42
- package/hooks/paper-skills-nudge.hook.mjs +21 -19
- package/hooks/paper-status-gates.hook.mjs +21 -19
- package/hooks/paper-status-gates.sh +8 -13
- package/lib/paper-config.d.mts +15 -18
- package/lib/paper-config.harness.mjs +18 -35
- package/lib/paper-config.mjs +90 -81
- package/lib/paper-config.mutations.mjs +2 -2
- package/lib/skill-checks.mjs +1 -1
- package/lib/skill-trigger-cases.harness.mjs +9 -8
- package/lib/skill-trigger-cases.mjs +7 -15
- package/package.json +1 -1
- package/scripts/eslint-report-guard.mjs +1 -1
- package/scripts/harness-api.frozen.json +0 -3
- package/scripts/mutation-batteries.frozen.json +4 -13
- package/skills/analyze-sibling-paper/SKILL.md +16 -12
- package/skills/analyze-sibling-paper/SKILL.md.spec.ts +15 -11
- package/skills/cold-read-diff/SKILL.md +20 -1
- package/skills/cold-read-diff/SKILL.md.spec.ts +19 -0
- package/skills/find-venue/SKILL.md +5 -1
- package/skills/find-venue/SKILL.md.spec.ts +4 -0
- package/skills/grade-paper-writing/SKILL.md +20 -1
- package/skills/grade-paper-writing/SKILL.md.spec.ts +19 -0
- package/skills/paper-pipeline/PIPELINE-MAP.md +14 -4
- package/skills/paper-pipeline/SKILL.md +4 -3
- package/skills/paper-pipeline/SKILL.md.spec.ts +3 -2
- package/skills/paper-pipeline/scripts/consumer.d.mts +0 -1
- package/skills/paper-pipeline/scripts/consumer.harness.mjs +8 -12
- package/skills/paper-pipeline/scripts/consumer.mjs +19 -33
- package/skills/paper-pipeline/scripts/extract-ref-facts.harness.mjs +6 -4
- package/skills/paper-pipeline/scripts/run-mechanical.mjs +2 -11
- package/skills/plan-paper-timeline/SKILL.md +2 -2
- package/skills/plan-paper-timeline/SKILL.md.spec.ts +1 -1
- package/skills/plan-paper-timeline/plan-paper-timeline.effects.harness.mjs +1 -1
- package/skills/plan-paper-timeline/plan-paper-timeline.effects.mutations.mjs +2 -2
- package/skills/render-paper/check-render.sh +2 -3
- package/skills/render-paper/extract-pdf-facts.harness.mjs +5 -5
- package/skills/render-paper/extract-pdf-facts.mjs +4 -4
- package/skills/render-paper/render-paper.harness.mjs +2 -2
- package/skills/study-accepted-papers/SKILL.md +2 -1
- package/skills/study-accepted-papers/SKILL.md.spec.ts +1 -0
- package/skills/submit-paper/SKILL.md +9 -1
- package/skills/submit-paper/SKILL.md.spec.ts +8 -0
- package/skills/submit-paper/references/venues/acm-sigconf.jsonc +86 -0
- package/skills/submit-paper/references/venues/agenticdev.jsonc +34 -102
- package/skills/submit-paper/references/venues/aisec.jsonc +21 -82
- package/skills/submit-paper/references/venues/realm.jsonc +45 -43
- package/skills/submit-paper/references/venues/tex-base.jsonc +1 -1
- package/skills/submit-paper/references/venues/venue-profile.schema.json +119 -29
- package/skills/verify-citations/SKILL.md +10 -1
- package/skills/verify-citations/SKILL.md.spec.ts +9 -0
- package/skills/verify-citations/scripts/bib-authors.mjs +48 -26
- package/src/adapters/references/index.ts +102 -0
- package/src/adapters/references/reach.io.ts +12 -0
- package/src/build-engine.ts +10 -2
- package/src/build.harness.mjs +31 -22
- package/src/build.ts +65 -8
- package/src/cli.harness.mjs +151 -294
- package/src/cli.mutations.mjs +35 -44
- package/src/cli.ts +457 -288
- package/src/doctor.harness.mjs +41 -84
- package/src/doctor.mutations.mjs +9 -9
- package/src/doctor.ts +41 -61
- package/src/facts-file.test.ts +47 -7
- package/src/facts-file.ts +145 -24
- package/src/hooks-settings.harness.mjs +7 -92
- package/src/hooks-settings.mutations.mjs +2 -17
- package/src/hooks-settings.ts +18 -162
- package/src/init.test.ts +206 -0
- package/src/init.ts +193 -159
- package/src/link-skills.harness.mjs +1 -38
- package/src/link-skills.mutations.mjs +9 -5
- package/src/link-skills.ts +10 -34
- package/src/lint-fix.test.ts +120 -0
- package/src/new-paper.harness.mjs +9 -6
- package/src/new-paper.test.ts +133 -0
- package/src/new-paper.ts +7 -2
- package/src/paper-files.test.ts +290 -0
- package/src/paper-files.ts +144 -0
- package/src/paper-settings-commands.test.ts +274 -0
- package/src/paper-settings.test.ts +249 -0
- package/src/paper-settings.ts +208 -0
- package/src/ports/check-references.ts +28 -0
- package/src/presets.test.ts +236 -0
- package/src/presets.ts +297 -0
- package/src/reference-rules.ts +229 -0
- package/src/references.test.ts +209 -0
- package/src/references.ts +138 -0
- package/src/rules-config.harness.mjs +24 -8
- package/src/rules-config.ts +30 -13
- package/src/structure.harness.mjs +6 -4
- package/src/structure.ts +3 -2
- package/src/tex-requirements.harness.mjs +11 -17
- package/src/tex-requirements.ts +179 -29
- package/src/types.ts +30 -18
- package/src/venue-rules.test.ts +554 -0
- package/src/venue-rules.ts +571 -0
- package/templates/paper/paperlint.json +4 -0
- package/eslint-rules/doc-fields.harness.mjs +0 -336
- package/eslint-rules/doc-fields.mjs +0 -186
- package/eslint-rules/doc-fields.mutations.mjs +0 -96
- package/eslint-rules/paper-typography.harness.mjs +0 -291
- package/eslint-rules/paper-typography.mutations.mjs +0 -131
- package/eslint-rules/review-findings-cause.harness.mjs +0 -228
- package/eslint-rules/review-findings-cause.mjs +0 -135
- package/eslint-rules/review-findings-cause.mutations.mjs +0 -72
- package/fixtures/build-e2e/acmart/venue.json +0 -1
- package/fixtures/paper-stages/authors-ran/PIPELINE-STATUS.md +0 -16
- package/fixtures/paper-stages/marker-in-prose/PIPELINE-STATUS.md +0 -17
- package/fixtures/review-findings-cause/clean.md +0 -17
- package/fixtures/review-findings-cause/defect.md +0 -14
- package/fixtures/review-findings-cause/old-debt.md +0 -14
- package/fixtures/review-findings-cause/quiet-in-fence.md +0 -16
package/dist/init.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `paperlint init` — the whole install, in the terminal it was typed in.
|
|
3
3
|
*
|
|
4
|
-
* 🔴
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* watching nothing is byte-identical, from outside, to a guard that is working (issue #33).
|
|
4
|
+
* 🔴 THE HOOKS, THE RULES AND THE CLI READ THE PAPERS DIRECTORY FROM ONE PLACE — the root
|
|
5
|
+
* `paperlint.json`, or its default `papers` when the file is absent. An install that wrote it
|
|
6
|
+
* anywhere else would give a `paper-edit-guard` watching a directory that does not exist — and a
|
|
7
|
+
* guard watching nothing is byte-identical, from outside, to a guard that is working (issue #33).
|
|
9
8
|
*
|
|
10
9
|
* The yardstick is how many actions happen between "I want this" and "it works": two, `npm i` and
|
|
11
10
|
* this command (`docs/install.md`). Nothing is left to edit by hand.
|
|
@@ -13,9 +12,9 @@
|
|
|
13
12
|
* ── THE DECISIONS, AND HOW EACH ONE IS MADE ─────────────────────────────────
|
|
14
13
|
* papers directory MEASURED — `detectPapers` walks the repo for a directory whose CHILDREN
|
|
15
14
|
* carry a paper marker. Several hits is the only case a human is asked about.
|
|
16
|
-
* declaration WRITTEN into `
|
|
17
|
-
*
|
|
18
|
-
*
|
|
15
|
+
* declaration WRITTEN into the root `paperlint.json` only when it differs from the
|
|
16
|
+
* default `papers`; merged, never overwriting a value that is already there.
|
|
17
|
+
* A project on the defaults gets no config file at all.
|
|
19
18
|
* skills LINKED — one relative symlink per shipped skill into `.claude/skills/`, the
|
|
20
19
|
* only place Claude Code looks for project skills (`link-skills.ts`). An
|
|
21
20
|
* entry of the same name that paperlint did not make is reported, never replaced.
|
|
@@ -27,7 +26,9 @@
|
|
|
27
26
|
* Without a human: NO.
|
|
28
27
|
* first paper OFFERED only to a human and only when the papers directory holds none;
|
|
29
28
|
* without a human only `--paper <name>` creates one (`new-paper.ts`).
|
|
30
|
-
*
|
|
29
|
+
* TeX Live OFFERED to a human, with its size in the question and NO as the default;
|
|
30
|
+
* without a human only named as the next step (`offerTexLive`).
|
|
31
|
+
* other programs REPORTED, never installed. npm's own rule, quoted in husky's write-up:
|
|
31
32
|
* "The only valid use of install or preinstall scripts is for compilation."
|
|
32
33
|
*
|
|
33
34
|
* 🔴 NOTHING IS ASKED WITHOUT A HUMAN — stdin AND stdout a terminal, `CI` unset, no `--yes`
|
|
@@ -35,8 +36,9 @@
|
|
|
35
36
|
* an answer nobody gave. So the non-interactive path takes the stated default and SAYS which
|
|
36
37
|
* default it took and why nothing was asked, rather than pretending it asked.
|
|
37
38
|
*/
|
|
39
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync,
|
|
38
40
|
// eslint-disable-next-line boundaries/dependencies -- legacy I/O, moves behind a port in #76
|
|
39
|
-
|
|
41
|
+
} from "node:fs";
|
|
40
42
|
// eslint-disable-next-line boundaries/dependencies -- legacy I/O, moves behind a port in #76
|
|
41
43
|
import { spawnSync } from "node:child_process";
|
|
42
44
|
import { dirname, join, relative, resolve } from "node:path";
|
|
@@ -44,12 +46,11 @@ import { doctor, detectPapers, found, PROGRAMS } from "./doctor.js";
|
|
|
44
46
|
import { PAPER_MARKERS, papersIn } from "./build.js";
|
|
45
47
|
import { linkSkills, SKILLS_HOME } from "./link-skills.js";
|
|
46
48
|
import { actionRef } from "./action-ref.js";
|
|
47
|
-
import {
|
|
48
|
-
import { FRESH_CLONE_NOTE, SETTINGS_PATH, UNINSTALL_PLUGIN, shippedWiring, wireHooks, } from "./hooks-settings.js";
|
|
49
|
+
import { FRESH_CLONE_NOTE, SETTINGS_PATH, shippedWiring, wireHooks, } from "./hooks-settings.js";
|
|
49
50
|
import { DEFAULT_FORMAT, isFormat, nameProblem, } from "./new-paper.js";
|
|
50
51
|
// The one source for the consumer's config key lives in the .mjs half of the package (the ESLint
|
|
51
52
|
// rules and the skill scripts import it too); its types are in lib/paper-config.d.mts.
|
|
52
|
-
import {
|
|
53
|
+
import { CONFIG_FILE, DEFAULT_PAPERS_ROOT, PAPERS_DIR_FIELD, } from "../lib/paper-config.mjs";
|
|
53
54
|
/**
|
|
54
55
|
* 🔴 A QUESTION CAN FAIL, AND ITS FAILURE MUST NOT BE THE COMMAND'S. Measured 2026-09-18 on a
|
|
55
56
|
* real pseudo-terminal: `readline`'s `question()` REJECTS with `AbortError: Aborted with Ctrl+D`
|
|
@@ -98,7 +99,8 @@ export const processInteractivity = (yes) => interactivity({
|
|
|
98
99
|
/**
|
|
99
100
|
* One hit is used, several are asked about, none falls back to the documented default — and the
|
|
100
101
|
* fallback is labelled a guess in the same breath, because the whole class of defect this command
|
|
101
|
-
* exists to close is a guess that later reads as a measurement.
|
|
102
|
+
* exists to close is a guess that later reads as a measurement. Called only when no
|
|
103
|
+
* `paperlint.json` declares a directory yet (`declarePapers`).
|
|
102
104
|
*/
|
|
103
105
|
export async function choosePapers(root, { ask, interactive, }) {
|
|
104
106
|
const candidates = detectPapers(root);
|
|
@@ -119,57 +121,38 @@ export async function choosePapers(root, { ask, interactive, }) {
|
|
|
119
121
|
: { papers: picked, how: "chosen", candidates };
|
|
120
122
|
}
|
|
121
123
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* it is able to spell, and the only path it can always spell is the project's own `package.json`.
|
|
126
|
-
* That asymmetry is the whole reason the declaration lives here rather than in a file of its own:
|
|
127
|
-
* many readers against one (`docs/install.md`, "One declaration").
|
|
124
|
+
* Declares the papers directory in the root `paperlint.json` — the one file the hooks, the rules
|
|
125
|
+
* and the CLI all read — and only when it is not the default: a project whose papers are in
|
|
126
|
+
* `papers/` needs no config file.
|
|
128
127
|
*
|
|
129
128
|
* ⚠️ Merged, not rewritten, and never over a value the consumer set — an `init` that silently
|
|
130
129
|
* replaces a setting is worse than an `init` that does nothing, because the consumer keeps
|
|
131
130
|
* believing the old value.
|
|
132
131
|
*/
|
|
133
|
-
export function declarePapers(root,
|
|
134
|
-
const path = join(root,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
132
|
+
export async function declarePapers(root, choose) {
|
|
133
|
+
const path = join(root, CONFIG_FILE);
|
|
134
|
+
const raw = existsSync(path) ? readFileSync(path, "utf8") : null;
|
|
135
|
+
let settings = {};
|
|
136
|
+
if (raw !== null) {
|
|
137
|
+
try {
|
|
138
|
+
settings = JSON.parse(raw);
|
|
139
|
+
}
|
|
140
|
+
catch (e) {
|
|
141
|
+
return { status: "unparsable", path, reason: e.message };
|
|
142
|
+
}
|
|
143
|
+
const existing = settings[PAPERS_DIR_FIELD];
|
|
144
|
+
if (existing !== undefined)
|
|
145
|
+
return { status: "kept", path, papers: existing };
|
|
145
146
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return { status: "renamed", path, message };
|
|
152
|
-
// Settings under the old key move to the new one, in the same position in the file.
|
|
153
|
-
const migrated = found.legacy;
|
|
154
|
-
if (migrated)
|
|
155
|
-
pkg = renameKey(pkg, LEGACY_CONFIG_KEY, CONFIG_KEY);
|
|
156
|
-
const write = () =>
|
|
147
|
+
// 🔴 ONLY NOW is the directory measured (or asked about). A declared one is the answer, and a
|
|
148
|
+
// candidate measured beside it is a decision nobody takes.
|
|
149
|
+
const choice = await choose();
|
|
150
|
+
if (choice.papers === DEFAULT_PAPERS_ROOT)
|
|
151
|
+
return { status: "default", path, papers: choice.papers, choice };
|
|
157
152
|
// Two-space indent and the file's own trailing newline: a declaration is not a licence to
|
|
158
153
|
// reformat somebody else's file, and a one-line diff is a diff a consumer will actually read.
|
|
159
|
-
writeFileSync(path, JSON.stringify(
|
|
160
|
-
|
|
161
|
-
if (existing !== undefined) {
|
|
162
|
-
if (migrated)
|
|
163
|
-
write();
|
|
164
|
-
return { status: "kept", path, papers: existing, migrated };
|
|
165
|
-
}
|
|
166
|
-
pkg[CONFIG_KEY] = { ...(pkg[CONFIG_KEY] ?? {}), [PAPERS_DIR_FIELD]: papers };
|
|
167
|
-
write();
|
|
168
|
-
return { status: "written", path, papers, migrated };
|
|
169
|
-
}
|
|
170
|
-
/** `obj` with `from` renamed to `to`, keeping the key's position. */
|
|
171
|
-
function renameKey(obj, from, to) {
|
|
172
|
-
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k === from ? to : k, v]));
|
|
154
|
+
writeFileSync(path, JSON.stringify({ ...settings, [PAPERS_DIR_FIELD]: choice.papers }, null, 2) + (raw === null || raw.endsWith("\n") ? "\n" : ""), "utf8");
|
|
155
|
+
return { status: "written", path, papers: choice.papers, choice };
|
|
173
156
|
}
|
|
174
157
|
export const WORKFLOW_PATH = join(".github", "workflows", "papers.yml");
|
|
175
158
|
/** Where the action is pinned when no release tag is known — obviously a placeholder. */
|
|
@@ -248,10 +231,15 @@ export function missingPrograms(run = spawnSync) {
|
|
|
248
231
|
* session at all. `init` now writes the same three hook commands into `.claude/settings.json`
|
|
249
232
|
* itself (`hooks-settings.ts`), so there is nothing left to type anywhere but here.
|
|
250
233
|
*/
|
|
251
|
-
export function nextSteps(papersDir = DEFAULT_PAPERS_ROOT) {
|
|
234
|
+
export function nextSteps(papersDir = DEFAULT_PAPERS_ROOT, { toolchain = false } = {}) {
|
|
252
235
|
return [
|
|
253
236
|
``,
|
|
254
237
|
`next: npx paperlint new <name> # start a paper in ${papersDir}/ from the template`,
|
|
238
|
+
...(toolchain
|
|
239
|
+
? [
|
|
240
|
+
` npx paperlint toolchain # TeX Live for building (${TOOLCHAIN_COST})`,
|
|
241
|
+
]
|
|
242
|
+
: []),
|
|
255
243
|
` npx paperlint lint # runs every rule over ${papersDir}`,
|
|
256
244
|
``,
|
|
257
245
|
].join("\n");
|
|
@@ -321,12 +309,8 @@ export function reportHooks(outcome, { how, here }) {
|
|
|
321
309
|
? ` ✓ wired ${outcome.names.join(", ")} into ${here(outcome.path)}`
|
|
322
310
|
: ` ✓ already wired in ${here(outcome.path)} — nothing changed`);
|
|
323
311
|
out.push(` ${how}`);
|
|
324
|
-
if (outcome.status === "written" && outcome.replaced > 0)
|
|
325
|
-
out.push(` replaced ${String(outcome.replaced)} command(s) that pointed into ${LEGACY_PACKAGE_NAME}, the package's old name`);
|
|
326
312
|
out.push(` ${FRESH_CLONE_NOTE}`);
|
|
327
313
|
}
|
|
328
|
-
if (outcome.plugin.length > 0)
|
|
329
|
-
out.push(` ⚠ this project also enables the plugin (${outcome.plugin.join(", ")}) — with it every hook runs twice.`, ` the plugin no longer carries the hooks: ${UNINSTALL_PLUGIN}`, ` and remove it from "enabledPlugins" in ${SETTINGS_PATH}`);
|
|
330
314
|
return out;
|
|
331
315
|
}
|
|
332
316
|
/**
|
|
@@ -345,8 +329,7 @@ export function reportSkillLinks(report, here) {
|
|
|
345
329
|
return out;
|
|
346
330
|
}
|
|
347
331
|
const by = (s) => report.links.filter((l) => l.status === s);
|
|
348
|
-
const
|
|
349
|
-
const created = [...by("created"), ...replaced];
|
|
332
|
+
const created = by("created");
|
|
350
333
|
const present = by("present");
|
|
351
334
|
const skipped = by("foreign");
|
|
352
335
|
// Only a read-only call leaves anything `missing`; counted anyway, so the sum always adds up.
|
|
@@ -357,8 +340,6 @@ export function reportSkillLinks(report, here) {
|
|
|
357
340
|
(missing.length ? `, ${String(missing.length)} NOT linked` : ``));
|
|
358
341
|
if (report.example !== null)
|
|
359
342
|
out.push(` ${join(here(report.home), "<name>")} → ${join(dirname(report.example), "<name>")}`);
|
|
360
|
-
if (replaced.length)
|
|
361
|
-
out.push(` ${String(replaced.length)} of them replaced a link into ${LEGACY_PACKAGE_NAME}, the package's old name`);
|
|
362
343
|
if (skipped.length) {
|
|
363
344
|
out.push(` left untouched — the name is taken by something paperlint did not make:`);
|
|
364
345
|
for (const l of skipped)
|
|
@@ -380,6 +361,80 @@ export async function askOnTerminal(question) {
|
|
|
380
361
|
rl.close();
|
|
381
362
|
}
|
|
382
363
|
}
|
|
364
|
+
/** What `paperlint toolchain` costs, said wherever it is offered. */
|
|
365
|
+
export const TOOLCHAIN_COST = "~270 MB, ~3 min, once";
|
|
366
|
+
/**
|
|
367
|
+
* TeX Live, for `paperlint build` — `paperlint lint` needs none. OFFERED to a human with its cost
|
|
368
|
+
* in the question, default NO (270 MB is not a default anyone should get by pressing Enter);
|
|
369
|
+
* without a human only named as the next step. Nothing is ever installed unasked.
|
|
370
|
+
*/
|
|
371
|
+
export async function offerTexLive(tex, { ask, interactive, }) {
|
|
372
|
+
if (tex?.installed())
|
|
373
|
+
return "was-installed";
|
|
374
|
+
if (!interactive || !ask || !tex?.install)
|
|
375
|
+
return "not-asked";
|
|
376
|
+
const answer = (await askOrDefault(ask, ` install TeX Live now, for \`paperlint build\`? (${TOOLCHAIN_COST}) [y/N] `))
|
|
377
|
+
?.trim()
|
|
378
|
+
.toLowerCase();
|
|
379
|
+
if (answer !== "y" && answer !== "yes")
|
|
380
|
+
return "declined";
|
|
381
|
+
return tex.install() === 0 ? "installed" : "failed";
|
|
382
|
+
}
|
|
383
|
+
/** What `init` says about TeX Live. */
|
|
384
|
+
export function reportTexLive(t, why) {
|
|
385
|
+
const cmd = `npx paperlint toolchain # ${TOOLCHAIN_COST}`;
|
|
386
|
+
if (t === "was-installed")
|
|
387
|
+
return [` ✓ paperlint's TeX Live is installed`];
|
|
388
|
+
if (t === "installed")
|
|
389
|
+
return [` ✓ installed`];
|
|
390
|
+
if (t === "failed")
|
|
391
|
+
return [
|
|
392
|
+
` ✗ the install failed — see above. Run it again:`,
|
|
393
|
+
` ${cmd}`,
|
|
394
|
+
];
|
|
395
|
+
return [
|
|
396
|
+
t === "declined"
|
|
397
|
+
? ` · declined — nothing installed. When you want to build:`
|
|
398
|
+
: ` · not installed — ${why}, so nothing was asked. To build, run once:`,
|
|
399
|
+
` ${cmd}`,
|
|
400
|
+
];
|
|
401
|
+
}
|
|
402
|
+
/** The "papers directory" section of init's report: how the directory was arrived at. */
|
|
403
|
+
function papersLines(decl, why) {
|
|
404
|
+
const out = [``, `papers directory`];
|
|
405
|
+
if (decl.status === "kept" && typeof decl.papers === "string")
|
|
406
|
+
return [
|
|
407
|
+
...out,
|
|
408
|
+
` ✓ ${decl.papers} — declared in ${CONFIG_FILE} → "${PAPERS_DIR_FIELD}"; nothing measured`,
|
|
409
|
+
];
|
|
410
|
+
if (decl.status !== "written" && decl.status !== "default")
|
|
411
|
+
return [];
|
|
412
|
+
const { choice } = decl;
|
|
413
|
+
if (choice.how === "detected")
|
|
414
|
+
return [
|
|
415
|
+
...out,
|
|
416
|
+
` ✓ ${choice.papers} — measured: its subdirectories carry ${PAPER_MARKERS.join(" / ")}`,
|
|
417
|
+
];
|
|
418
|
+
if (choice.how === "chosen")
|
|
419
|
+
return [
|
|
420
|
+
...out,
|
|
421
|
+
` ✓ ${choice.papers} — you picked it out of ${String(choice.candidates.length)} candidates`,
|
|
422
|
+
];
|
|
423
|
+
if (choice.how === "not-asked" || choice.how === "no-answer")
|
|
424
|
+
return [
|
|
425
|
+
...out,
|
|
426
|
+
` ✓ ${choice.papers} — ${String(choice.candidates.length)} candidates, ` +
|
|
427
|
+
(choice.how === "not-asked"
|
|
428
|
+
? `${why} so nothing was asked`
|
|
429
|
+
: `no answer was given, so the first one was taken`),
|
|
430
|
+
` the others: ${choice.candidates.slice(1).join(", ")} — set "${PAPERS_DIR_FIELD}" in ${CONFIG_FILE} if this is the wrong one`,
|
|
431
|
+
];
|
|
432
|
+
return [
|
|
433
|
+
...out,
|
|
434
|
+
` · ${choice.papers} — the default. Nothing here looks like a papers directory yet;`,
|
|
435
|
+
` \`npx paperlint new <name>\` creates the first paper there.`,
|
|
436
|
+
];
|
|
437
|
+
}
|
|
383
438
|
// Documented in README.md#install-and-set-up — update it when this changes.
|
|
384
439
|
export async function init(dir, opts = {}) {
|
|
385
440
|
const { log = console.log, err = console.error,
|
|
@@ -398,31 +453,17 @@ export async function init(dir, opts = {}) {
|
|
|
398
453
|
const here = (p) => relative(cwd, p) || p;
|
|
399
454
|
log(``);
|
|
400
455
|
log(`paperlint init — each decision below says HOW it was decided`);
|
|
401
|
-
// ── 1. where the papers are
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
log(` ✓ ${choice.papers} — measured: its subdirectories carry ${PAPER_MARKERS.join(" / ")}`);
|
|
407
|
-
else if (choice.how === "chosen")
|
|
408
|
-
log(` ✓ ${choice.papers} — you picked it out of ${String(choice.candidates.length)} candidates`);
|
|
409
|
-
else if (choice.how === "not-asked" || choice.how === "no-answer") {
|
|
410
|
-
log(` ✓ ${choice.papers} — ${String(choice.candidates.length)} candidates, ` +
|
|
411
|
-
(choice.how === "not-asked"
|
|
412
|
-
? `${why} so nothing was asked`
|
|
413
|
-
: `no answer was given, so the first one was taken`));
|
|
414
|
-
log(` the others: ${choice.candidates.slice(1).join(", ")} — change it in package.json if this is the wrong one`);
|
|
415
|
-
}
|
|
416
|
-
else {
|
|
417
|
-
log(` ⚠ ${choice.papers} — A GUESS. Nothing here looks like a papers directory yet.`);
|
|
418
|
-
log(` Nothing on disk was measured, so this is the documented default and not a finding.`);
|
|
419
|
-
}
|
|
420
|
-
// ── 2. one declaration, in package.json ───────────────────────────────────────────────
|
|
456
|
+
// ── 1. where the papers are, and 2. the declaration, in paperlint.json when not the default ─
|
|
457
|
+
// The declaration is read FIRST: the directory is measured only when none is declared.
|
|
458
|
+
const decl = await declarePapers(root, () => choosePapers(root, { ask, interactive }));
|
|
459
|
+
for (const line of papersLines(decl, why))
|
|
460
|
+
log(line);
|
|
421
461
|
log(``);
|
|
422
|
-
log(`
|
|
423
|
-
const decl = declarePapers(root, choice.papers);
|
|
462
|
+
log(`settings`);
|
|
424
463
|
if (decl.status === "written")
|
|
425
|
-
log(` ✓ ${here(decl.path)} →
|
|
464
|
+
log(` ✓ ${here(decl.path)} → { "${PAPERS_DIR_FIELD}": ${JSON.stringify(decl.papers)} }`);
|
|
465
|
+
else if (decl.status === "default")
|
|
466
|
+
log(` ✓ nothing to write — "${decl.papers}" is the default, so no ${CONFIG_FILE} is needed`);
|
|
426
467
|
else if (decl.status === "kept") {
|
|
427
468
|
if (typeof decl.papers !== "string") {
|
|
428
469
|
err(` ✗ ${here(decl.path)} declares ${PAPERS_DIR_FIELD} = ${JSON.stringify(decl.papers)} — it must be a directory path (a string)`);
|
|
@@ -430,30 +471,16 @@ export async function init(dir, opts = {}) {
|
|
|
430
471
|
}
|
|
431
472
|
log(` ✓ ${here(decl.path)} already declares ${PAPERS_DIR_FIELD} = ${JSON.stringify(decl.papers)} — kept, nothing overwritten`);
|
|
432
473
|
}
|
|
433
|
-
else
|
|
434
|
-
err(` ✗ ${decl.message}`);
|
|
435
|
-
err(` nothing was written. Fix it in ${here(decl.path)}, then run init again.`);
|
|
436
|
-
return 2;
|
|
437
|
-
}
|
|
438
|
-
else if (decl.status === "unparsable") {
|
|
474
|
+
else {
|
|
439
475
|
err(` ✗ ${here(decl.path)} is not valid JSON: ${decl.reason}`);
|
|
440
476
|
err(` nothing was written. The hooks read their papers directory from this file and`);
|
|
441
477
|
err(` refuse every Bash command while it cannot be parsed — fix the JSON first.`);
|
|
442
478
|
return 2;
|
|
443
479
|
}
|
|
444
|
-
else {
|
|
445
|
-
err(` ✗ no package.json at ${here(root)} — there is nowhere to put the declaration.`);
|
|
446
|
-
err(` The hooks can only read a path they are able to name, and that path is`);
|
|
447
|
-
err(` package.json. Run \`npm init -y\` here, then \`npx paperlint init\` again.`);
|
|
448
|
-
return 2;
|
|
449
|
-
}
|
|
450
|
-
if (decl.migrated)
|
|
451
|
-
log(` ✓ moved the settings from "${LEGACY_CONFIG_KEY}" (the old key) to "${CONFIG_KEY}"`);
|
|
452
|
-
log(` one declaration — the hooks, the rules and the CLI all read this one key`);
|
|
453
480
|
// Every step below uses the DECLARED directory. A kept declaration outranks what init
|
|
454
481
|
// measured or guessed: otherwise the first paper and the workflow would land in the
|
|
455
482
|
// guessed directory while lint and the hooks keep reading the declared one.
|
|
456
|
-
const papersDir = decl.
|
|
483
|
+
const papersDir = decl.papers;
|
|
457
484
|
// ── 3. the skills, linked where Claude Code looks for them ─────────────────────────────
|
|
458
485
|
for (const line of reportSkillLinks(link(root), here))
|
|
459
486
|
log(line);
|
|
@@ -515,7 +542,13 @@ export async function init(dir, opts = {}) {
|
|
|
515
542
|
log(` ✓ ${papersDir} already holds a paper`);
|
|
516
543
|
else
|
|
517
544
|
log(` · none yet${interactive ? "" : ` — ${why}, so nothing was asked`}. \`npx paperlint new <name>\` or \`--paper <name>\` creates one`);
|
|
518
|
-
// ── 7.
|
|
545
|
+
// ── 7. TeX Live — offered to a human with its cost, never installed unasked ─────────────
|
|
546
|
+
log(``);
|
|
547
|
+
log(`TeX Live (for \`paperlint build\`; \`paperlint lint\` needs none)`);
|
|
548
|
+
const texOutcome = await offerTexLive(opts.tex, { ask, interactive });
|
|
549
|
+
for (const line of reportTexLive(texOutcome, why))
|
|
550
|
+
log(line);
|
|
551
|
+
// ── 8. the other programs are reported, never installed ────────────────────────────────
|
|
519
552
|
log(``);
|
|
520
553
|
log(`external programs (the skills shell out to these; \`paperlint lint\` needs none of them)`);
|
|
521
554
|
const missing = missingPrograms(run);
|
|
@@ -534,14 +567,16 @@ export async function init(dir, opts = {}) {
|
|
|
534
567
|
for (const cmd of [...new Set(missing.map((p) => p.install))])
|
|
535
568
|
log(` ${cmd}`);
|
|
536
569
|
}
|
|
537
|
-
log(nextSteps(papersDir
|
|
538
|
-
|
|
570
|
+
log(nextSteps(papersDir, {
|
|
571
|
+
toolchain: texOutcome !== "was-installed" && texOutcome !== "installed",
|
|
572
|
+
}));
|
|
573
|
+
// ── 9. the install states its own condition ───────────────────────────────────────────
|
|
539
574
|
log(`── paperlint doctor ${"─".repeat(56)}`);
|
|
540
575
|
const cliPapers = resolveCliPapers ? resolveCliPapers(root) : papersDir;
|
|
541
576
|
const code = doctor({ log, cwd: root, projectDir: root, run, cliPapers });
|
|
542
577
|
if (code !== 0)
|
|
543
578
|
log(`doctor exits ${String(code)} — the install is NOT finished. The lines marked ✗ above say what is\n` +
|
|
544
579
|
`left; re-run \`npx paperlint doctor\` once you have done them.`);
|
|
545
|
-
return paperCode
|
|
580
|
+
return paperCode || code;
|
|
546
581
|
}
|
|
547
582
|
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/dist/link-skills.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare function shippedSkills(pkgDir: string): {
|
|
|
23
23
|
} | {
|
|
24
24
|
readonly error: string;
|
|
25
25
|
};
|
|
26
|
-
export type LinkStatus = "created" | "
|
|
26
|
+
export type LinkStatus = "created" | "present" | "missing" | "foreign";
|
|
27
27
|
export interface SkillLink {
|
|
28
28
|
readonly name: string;
|
|
29
29
|
readonly status: LinkStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-skills.d.ts","sourceRoot":"","sources":["../src/link-skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link-skills.d.ts","sourceRoot":"","sources":["../src/link-skills.ts"],"names":[],"mappings":"AAyCA,OAAO,EAEL,YAAY,EAEb,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,gFAAgF;AAChF,eAAO,MAAM,WAAW,QAA4B,CAAC;AAErD,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/B;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyBtD;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,GAEZ;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAa7B;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAClB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA0DnD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,EACE,KAAY,EACZ,MAAsB,GACvB,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GAC3D,UAAU,CAuCZ"}
|
package/dist/link-skills.js
CHANGED
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
* elsewhere, a dangling link — is someone else's, and is reported, not replaced.
|
|
28
28
|
*/
|
|
29
29
|
/* eslint-disable boundaries/dependencies -- legacy I/O, moves behind a port in #76 */
|
|
30
|
-
import { existsSync, lstatSync, mkdirSync, readlinkSync, realpathSync, symlinkSync,
|
|
30
|
+
import { existsSync, lstatSync, mkdirSync, readlinkSync, realpathSync, symlinkSync, } from "node:fs";
|
|
31
31
|
/* eslint-enable boundaries/dependencies */
|
|
32
32
|
import { createRequire } from "node:module";
|
|
33
|
-
import { dirname, join, relative, resolve
|
|
33
|
+
import { dirname, join, relative, resolve } from "node:path";
|
|
34
34
|
import { pathToFileURL } from "node:url";
|
|
35
|
-
import { installedSkills,
|
|
35
|
+
import { installedSkills, PACKAGE_NAME, SHIPPED_SKILLS_DIR, } from "../skills/paper-pipeline/scripts/consumer.mjs";
|
|
36
36
|
export { PACKAGE_NAME };
|
|
37
37
|
/** Where Claude Code looks for project skills, relative to the project root. */
|
|
38
38
|
export const SKILLS_HOME = join(".claude", "skills");
|
|
@@ -87,12 +87,8 @@ export function shippedSkills(pkgDir) {
|
|
|
87
87
|
return { error: e.message };
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
/**
|
|
91
|
-
|
|
92
|
-
* an install under the package's old name wrote it (`legacyTarget`) is `stale`: ours, from before
|
|
93
|
-
* the rename, and replaced on the next `init`.
|
|
94
|
-
*/
|
|
95
|
-
function inspect(entry, want, legacyTarget) {
|
|
90
|
+
/** What occupies `entry`, judged against the directory it should lead to. */
|
|
91
|
+
function inspect(entry, want) {
|
|
96
92
|
let st;
|
|
97
93
|
try {
|
|
98
94
|
st = lstatSync(entry);
|
|
@@ -100,11 +96,6 @@ function inspect(entry, want, legacyTarget) {
|
|
|
100
96
|
catch {
|
|
101
97
|
return { status: "missing" };
|
|
102
98
|
}
|
|
103
|
-
if (st.isSymbolicLink() && readlinkSync(entry) === legacyTarget)
|
|
104
|
-
return {
|
|
105
|
-
status: "stale",
|
|
106
|
-
reason: `a link into ${LEGACY_PACKAGE_NAME}, the package's old name — \`npx ${PACKAGE_NAME} init\` replaces it`,
|
|
107
|
-
};
|
|
108
99
|
try {
|
|
109
100
|
if (realpathSync(entry) === want)
|
|
110
101
|
return { status: "present" };
|
|
@@ -124,25 +115,16 @@ function inspect(entry, want, legacyTarget) {
|
|
|
124
115
|
reason: st.isDirectory() ? "a directory" : "a file",
|
|
125
116
|
};
|
|
126
117
|
}
|
|
127
|
-
/**
|
|
128
|
-
* One skill: inspect its entry and, when writing, create the link — or replace one an install
|
|
129
|
-
* under the package's old name made.
|
|
130
|
-
*/
|
|
118
|
+
/** One skill: inspect its entry and, when writing, create the link. */
|
|
131
119
|
function linkOne(name, { entry, target, want, write, }) {
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
const fixable = seen.status === "missing" || seen.status === "stale";
|
|
135
|
-
if (!write || !fixable) {
|
|
136
|
-
const status = seen.status === "stale" ? "foreign" : seen.status;
|
|
120
|
+
const seen = inspect(entry, want);
|
|
121
|
+
if (!write || seen.status !== "missing")
|
|
137
122
|
return seen.reason
|
|
138
|
-
? { name, status, reason: seen.reason }
|
|
139
|
-
: { name, status };
|
|
140
|
-
}
|
|
123
|
+
? { name, status: seen.status, reason: seen.reason }
|
|
124
|
+
: { name, status: seen.status };
|
|
141
125
|
try {
|
|
142
|
-
if (seen.status === "stale")
|
|
143
|
-
unlinkSync(entry);
|
|
144
126
|
symlinkSync(target, entry, "dir");
|
|
145
|
-
return { name, status:
|
|
127
|
+
return { name, status: "created" };
|
|
146
128
|
}
|
|
147
129
|
catch (e) {
|
|
148
130
|
return {
|
package/dist/link-skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-skills.js","sourceRoot":"","sources":["../src/link-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,sFAAsF;AACtF,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,
|
|
1
|
+
{"version":3,"file":"link-skills.js","sourceRoot":"","sources":["../src/link-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/new-paper.d.ts
CHANGED
|
@@ -36,8 +36,8 @@ export type NewPaperResult = {
|
|
|
36
36
|
readonly reason: string;
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
39
|
-
* The files a paper folder must end up with: the scorecard,
|
|
40
|
-
*
|
|
39
|
+
* The files a paper folder must end up with: the scorecard, a source in `format` — unless it
|
|
40
|
+
* already has a source in EITHER format, in which case that one stands — and `paperlint.json`.
|
|
41
41
|
*/
|
|
42
42
|
export declare function wantedFiles(dir: string, format: PaperFormat): string[];
|
|
43
43
|
export declare function newPaper(papersRoot: string, name: string, format: PaperFormat, { packageTemplates }?: {
|