punctilio 5.4.8 → 5.4.10

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 (62) hide show
  1. package/README.md +12 -2
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +156 -48
  5. package/dist/cli.js.map +1 -1
  6. package/dist/constants.d.ts +2 -0
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +3 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/dashes.d.ts.map +1 -1
  11. package/dist/dashes.js +3 -3
  12. package/dist/dashes.js.map +1 -1
  13. package/dist/html.d.ts +4 -3
  14. package/dist/html.d.ts.map +1 -1
  15. package/dist/html.js +55 -17
  16. package/dist/html.js.map +1 -1
  17. package/dist/markdown.d.ts +1 -2
  18. package/dist/markdown.d.ts.map +1 -1
  19. package/dist/markdown.js +52 -5
  20. package/dist/markdown.js.map +1 -1
  21. package/dist/nbsp.d.ts.map +1 -1
  22. package/dist/nbsp.js +26 -39
  23. package/dist/nbsp.js.map +1 -1
  24. package/dist/peer-dependencies.d.ts +21 -0
  25. package/dist/peer-dependencies.d.ts.map +1 -0
  26. package/dist/peer-dependencies.js +40 -0
  27. package/dist/peer-dependencies.js.map +1 -0
  28. package/dist/prettier-plugin.d.ts.map +1 -1
  29. package/dist/prettier-plugin.js +1 -2
  30. package/dist/prettier-plugin.js.map +1 -1
  31. package/dist/prose-view.d.ts +7 -0
  32. package/dist/prose-view.d.ts.map +1 -1
  33. package/dist/prose-view.js +11 -1
  34. package/dist/prose-view.js.map +1 -1
  35. package/dist/quote-classifier.d.ts.map +1 -1
  36. package/dist/quote-classifier.js +67 -20
  37. package/dist/quote-classifier.js.map +1 -1
  38. package/dist/symbols.d.ts.map +1 -1
  39. package/dist/symbols.js +7 -3
  40. package/dist/symbols.js.map +1 -1
  41. package/dist/transform-options.d.ts +3 -2
  42. package/dist/transform-options.d.ts.map +1 -1
  43. package/dist/transform-options.js +6 -0
  44. package/dist/transform-options.js.map +1 -1
  45. package/dist/utils.d.ts +5 -0
  46. package/dist/utils.d.ts.map +1 -1
  47. package/dist/utils.js +10 -0
  48. package/dist/utils.js.map +1 -1
  49. package/package.json +4 -2
  50. package/src/cli.ts +180 -48
  51. package/src/constants.ts +4 -1
  52. package/src/dashes.ts +3 -2
  53. package/src/html.ts +60 -19
  54. package/src/markdown.ts +58 -9
  55. package/src/nbsp.ts +26 -40
  56. package/src/peer-dependencies.ts +58 -0
  57. package/src/prettier-plugin.ts +1 -2
  58. package/src/prose-view.ts +12 -1
  59. package/src/quote-classifier.ts +68 -19
  60. package/src/symbols.ts +8 -4
  61. package/src/transform-options.ts +11 -2
  62. package/src/utils.ts +14 -0
package/README.md CHANGED
@@ -225,6 +225,16 @@ Two caveats before pointing the CLI (or the [pre-commit hook](#pre-commit) below
225
225
 
226
226
  Second, non-breaking spaces (U+00A0) are invisible in source files: they render fine, but they aren’t regular spaces, so Ctrl+F and `grep` matches against the source can miss. Markdown files therefore default to `nbsp` off; pass `--nbsp` (or set `nbsp: true` in config) to opt in. HTML files keep the default of `nbsp` on; pass `--no-nbsp` to keep them ASCII-spaced.
227
227
 
228
+ File handling follows a few rules:
229
+
230
+ - Globs skip `node_modules` and `.git`, and `.punctilioignore` (gitignore syntax) applies to files named explicitly as well as to glob matches, so a hook that passes every staged file by name still honors it.
231
+ - Every glob must match at least one file: a glob that matches nothing is a usage error (exit 2) in every mode, even when another glob matches, so a typo in one pattern can't hide behind the rest; so is an unsupported file extension, which is detected before any file is rewritten. `--stdin-filepath` cannot be combined with file arguments.
232
+ - `--write` follows symlinks and rewrites the target, keeps its permissions, and leaves no temporary file behind on failure.
233
+ - A leading UTF-8 byte order mark is preserved. Markdown front matter (YAML between `---` fences, or TOML between `+++` fences) is passed through untouched.
234
+ - HTML input that begins with `<!doctype` or `<html` is parsed as a complete document, so the doctype, `<head>`, and `<body>` survive; anything else is parsed as a fragment. `--no-fragment` (or `fragment: false`) forces the document parse, and `fragment: true` forces the fragment parse.
235
+ - Config values are type-checked, so a wrong type such as `"nbsp": "false"` or `"skipTags": "code"` exits 2 with a message naming the key.
236
+ - `unified` and the `remark-*` or `rehype-*` packages are optional peers, loaded only for the file type being processed. When one is missing, the CLI exits 2 with the package names and the `npm install` command to run.
237
+
228
238
  ### pre-commit
229
239
 
230
240
  A `.pre-commit-hooks.yaml` ships in the package, so [pre-commit](https://pre-commit.com) users can wire `punctilio` in directly:
@@ -233,7 +243,7 @@ A `.pre-commit-hooks.yaml` ships in the package, so [pre-commit](https://pre-com
233
243
  # .pre-commit-config.yaml
234
244
  repos:
235
245
  - repo: https://github.com/AlexanderMattTurner/punctilio
236
- rev: v5.4.7
246
+ rev: v5.4.8
237
247
  hooks:
238
248
  - id: punctilio # rewrites *.md / *.html in place
239
249
  - id: punctilio-check # or: fail without writing (CI-friendly)
@@ -254,7 +264,7 @@ repos:
254
264
  - The `french` style uses guillemets padded with a narrow no-break space (U+202F), per Unicode CLDR's `fr` locale and the Imprimerie nationale's *Lexique des règles typographiques*: « Bonjour ».
255
265
  - Single quotes remain as curly quotes
256
266
  - Punctuation outside quotes
257
- - Setting either style to `none` skips the entire transform category: `punctuationStyle: 'none'` preserves straight quotes, apostrophes, and prime marks; `dashStyle: 'none'` preserves all hyphens, number ranges, date ranges, and minus signs.
267
+ - Setting either style to `none` skips the entire transform category: `punctuationStyle: 'none'` preserves straight quotes, apostrophes, and prime marks (a U+02BC modifier-letter apostrophe is still normalized to U+2019); `dashStyle: 'none'` preserves all hyphens, number ranges, date ranges, and minus signs.
258
268
  - `punctilio` is idempotent by design: `transform(transform(text))` always equals `transform(text)`. The test suite verifies the fixed point on every case plus fuzzed mixed content.
259
269
  - Use `classifyApostrophes(text)` to distinguish apostrophes from closing single quotes. It returns text with apostrophes as U+02BC (MODIFIER LETTER APOSTROPHE) and closing quotes as U+2019 (RIGHT SINGLE QUOTATION MARK). Per the [Unicode Standard](https://www.unicode.org/versions/Unicode16.0.0/core-spec/chapter-6/#G30602), `transform()` and `niceQuotes()` use U+2019 for both in their output.
260
270
 
package/dist/cli.d.ts CHANGED
@@ -1,10 +1,15 @@
1
1
  #!/usr/bin/env node
2
+ import { type PeerImporter } from "./peer-dependencies.js";
2
3
  interface CliIO {
3
4
  stdin: AsyncIterable<string | Buffer>;
4
5
  stdout: NodeJS.WritableStream;
5
6
  stderr: NodeJS.WritableStream;
7
+ /** Overrides how optional peer dependencies are imported; tests use it to simulate one being absent. */
8
+ importPeer?: PeerImporter;
6
9
  }
10
+ export declare function atomicWriteFile(path: string, contents: string): Promise<void>;
7
11
  /** Returns exit code: 0 success, 1 `--check` saw changes, 2 usage error. */
8
12
  export declare function runCli(args: string[], io: CliIO): Promise<number>;
13
+ export declare function isMainModule(moduleUrl: string, entryPath: string | undefined): boolean;
9
14
  export {};
10
15
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAuBA,UAAU,KAAK;IACb,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;CAC9B;AAkZD,4EAA4E;AAC5E,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBvE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAiD,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAQzG,UAAU,KAAK;IACb,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;IAC7B,wGAAwG;IACxG,UAAU,CAAC,EAAE,YAAY,CAAA;CAC1B;AA8ZD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnF;AAwFD,4EAA4E;AAC5E,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBvE;AA8GD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQtF"}
package/dist/cli.js CHANGED
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createHash } from "node:crypto";
3
3
  import { existsSync, mkdirSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
4
- import { readFile, rename, writeFile } from "node:fs/promises";
4
+ import { chmod, readFile, realpath, rename, rm, stat, writeFile } from "node:fs/promises";
5
5
  import { dirname, extname, isAbsolute, join, relative, resolve } from "node:path";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import { parseArgs } from "node:util";
8
8
  import { cosmiconfig } from "cosmiconfig";
9
9
  import ignore from "ignore";
10
10
  import { glob } from "tinyglobby";
11
- import { HTML_ONLY_OPTION_KEYS, HTML_OPTION_KEYS, MARKDOWN_ONLY_OPTION_KEYS, MARKDOWN_OPTION_KEYS } from "./sink-option-keys.js";
11
+ import { HTML_ONLY_OPTION_KEYS, MARKDOWN_ONLY_OPTION_KEYS } from "./sink-option-keys.js";
12
+ import { loadSinkTransform, MissingPeerDependencyError } from "./peer-dependencies.js";
12
13
  import { PUNCTUATION_STYLES } from "./quotes.js";
13
14
  import { DASH_STYLES } from "./dashes.js";
14
15
  import { assertKnownOptionKeys, omitKeys, stableStringify } from "./utils.js";
@@ -86,7 +87,7 @@ Options:
86
87
  --rule-marker <char> markdown thematic break character (choices: ${RULE_MARKERS.join(", ")})
87
88
  --skip-tag <tag> HTML tag whose contents are left alone (repeatable)
88
89
  --skip-class <class> HTML class name whose elements are skipped (repeatable)
89
- --no-fragment parse input as a full HTML document
90
+ --no-fragment always parse HTML as a full document (default: a full document is detected from a leading <!doctype> or <html>)
90
91
  -h, --help display help for command
91
92
  `;
92
93
  function parseRawArgs(args) {
@@ -173,11 +174,64 @@ function inferFileType(path, override) {
173
174
  return "html";
174
175
  throw new UsageError(`Cannot infer file type from extension "${ext}" for ${path}. Pass --type md|html.`);
175
176
  }
177
+ const BOOLEAN_RULE = {
178
+ expected: "a boolean",
179
+ isValid: (value) => typeof value === "boolean",
180
+ };
181
+ const STRING_ARRAY_RULE = {
182
+ expected: "an array of strings",
183
+ isValid: (value) => Array.isArray(value) && value.every((item) => typeof item === "string"),
184
+ };
185
+ const FUNCTION_RULE = {
186
+ expected: "a function",
187
+ isValid: (value) => typeof value === "function",
188
+ };
189
+ function oneOfRule(choices) {
190
+ return {
191
+ expected: `one of ${choices.join(", ")}`,
192
+ isValid: (value) => typeof value === "string" && choices.includes(value),
193
+ };
194
+ }
195
+ // `satisfies` makes the compiler flag any option key that lacks a rule.
196
+ const CONFIG_VALUE_RULES = {
197
+ symbols: BOOLEAN_RULE,
198
+ collapseSpaces: BOOLEAN_RULE,
199
+ includeArrows: BOOLEAN_RULE,
200
+ fractions: BOOLEAN_RULE,
201
+ degrees: BOOLEAN_RULE,
202
+ superscript: BOOLEAN_RULE,
203
+ ligatures: BOOLEAN_RULE,
204
+ nbsp: BOOLEAN_RULE,
205
+ fragment: BOOLEAN_RULE,
206
+ transformAllElements: BOOLEAN_RULE,
207
+ punctuationStyle: oneOfRule(PUNCTUATION_STYLES),
208
+ dashStyle: oneOfRule(DASH_STYLES),
209
+ emphasisMarker: oneOfRule(EMPHASIS_MARKERS),
210
+ strongMarker: oneOfRule(EMPHASIS_MARKERS),
211
+ bulletMarker: oneOfRule(BULLET_MARKERS),
212
+ ruleMarker: oneOfRule(RULE_MARKERS),
213
+ skipTags: STRING_ARRAY_RULE,
214
+ skipClasses: STRING_ARRAY_RULE,
215
+ shouldSkipText: FUNCTION_RULE,
216
+ };
176
217
  // A config file may legitimately mix markdown-only and HTML-only keys for use
177
218
  // across file types; transformContent strips the keys the sink doesn't accept.
178
- const CLI_CONFIG_KEYS = [
179
- ...new Set([...MARKDOWN_OPTION_KEYS, ...HTML_OPTION_KEYS]),
180
- ];
219
+ const CLI_CONFIG_KEYS = Object.keys(CONFIG_VALUE_RULES);
220
+ // Keys are checked first, so every key present has a rule.
221
+ function assertValidConfig(config, source) {
222
+ if (typeof config !== "object" || config === null || Array.isArray(config)) {
223
+ throw new UsageError(`${source} must contain an object of options.`);
224
+ }
225
+ assertKnownOptionKeys(config, CLI_CONFIG_KEYS, source);
226
+ for (const [key, value] of Object.entries(config)) {
227
+ if (value === undefined)
228
+ continue;
229
+ const rule = CONFIG_VALUE_RULES[key];
230
+ if (!rule.isValid(value)) {
231
+ throw new UsageError(`Invalid value for "${key}" in ${source}: expected ${rule.expected}, got ${JSON.stringify(value)}.`);
232
+ }
233
+ }
234
+ }
181
235
  // Config keys must match library option names (punctuationStyle, skipTags, …),
182
236
  // not the kebab-cased CLI flag names.
183
237
  async function loadConfig(cwd, configPath, disabled) {
@@ -188,10 +242,10 @@ async function loadConfig(cwd, configPath, disabled) {
188
242
  if (!result || result.isEmpty)
189
243
  return {};
190
244
  try {
191
- assertKnownOptionKeys(result.config, CLI_CONFIG_KEYS, `config file ${result.filepath}`);
245
+ assertValidConfig(result.config, `config file ${result.filepath}`);
192
246
  }
193
247
  catch (err) {
194
- throw new UsageError(err.message);
248
+ throw err instanceof UsageError ? err : new UsageError(err.message);
195
249
  }
196
250
  return result.config;
197
251
  }
@@ -211,23 +265,47 @@ function hasGlobMetacharacters(pattern) {
211
265
  function isLiteralPath(pattern, cwd) {
212
266
  return !hasGlobMetacharacters(pattern) || existsSync(resolve(cwd, pattern));
213
267
  }
214
- // Literal positionals pass through untouched so they error loudly if missing and
215
- // bypass ignore rules (naming a file explicitly is an intent to format it).
216
- // Ignore rules and the zero-match warning apply only to glob-expanded paths.
268
+ // Dependency and VCS trees are never project sources; glob expansion skips them.
269
+ const DEFAULT_GLOB_IGNORES = ["**/node_modules/**", "**/.git/**"];
270
+ function isIgnored(file, cwd, ig) {
271
+ const rel = relative(cwd, file);
272
+ return !rel.startsWith("..") && ig.ignores(rel);
273
+ }
274
+ // Literal positionals pass through to the read step so a missing file errors
275
+ // loudly. Ignore rules apply to literals and glob expansions alike, because
276
+ // tools like pre-commit pass every staged file by name. Each glob is expanded
277
+ // on its own, so one that matches nothing is a usage error even when another
278
+ // glob matches; one whose matches are all ignored only warns. Negated globs
279
+ // (`!pattern`) exclude from every other glob rather than matching on their own.
217
280
  async function discoverFiles(patterns, cwd, ig, stderr) {
218
281
  const literals = patterns.filter((p) => isLiteralPath(p, cwd));
219
282
  const globs = patterns.filter((p) => !isLiteralPath(p, cwd));
220
- const expanded = globs.length > 0
221
- ? await glob(globs, { cwd, absolute: true, onlyFiles: true })
222
- : [];
223
- const kept = expanded.filter((file) => {
224
- const rel = relative(cwd, file);
225
- return rel.startsWith("..") || !ig.ignores(rel);
226
- });
227
- if (globs.length > 0 && kept.length === 0) {
228
- stderr.write(`Warning: no files matched: ${globs.join(" ")}\n`);
283
+ const negatedGlobs = globs.filter((pattern) => pattern.startsWith("!"));
284
+ const positiveGlobs = globs.filter((pattern) => !pattern.startsWith("!"));
285
+ const expansions = await Promise.all(positiveGlobs.map(async (pattern) => ({
286
+ pattern,
287
+ files: await glob([pattern, ...negatedGlobs], {
288
+ cwd,
289
+ absolute: true,
290
+ onlyFiles: true,
291
+ ignore: DEFAULT_GLOB_IGNORES,
292
+ }),
293
+ })));
294
+ const unmatched = positiveGlobs.length === 0
295
+ ? globs
296
+ : expansions.filter(({ files }) => files.length === 0).map(({ pattern }) => pattern);
297
+ if (unmatched.length > 0) {
298
+ throw new UsageError(`no files matched: ${unmatched.join(" ")}`);
229
299
  }
230
- return [...new Set([...literals.map((p) => resolve(cwd, p)), ...kept])];
300
+ const keptExpanded = [];
301
+ for (const { pattern, files } of expansions) {
302
+ const kept = files.filter((file) => !isIgnored(file, cwd, ig));
303
+ if (kept.length === 0)
304
+ stderr.write(`Warning: every file matched by ${pattern} is ignored\n`);
305
+ keptExpanded.push(...kept);
306
+ }
307
+ const keptLiterals = literals.map((p) => resolve(cwd, p)).filter((file) => !isIgnored(file, cwd, ig));
308
+ return [...new Set([...keptLiterals, ...keptExpanded])];
231
309
  }
232
310
  const DEFAULT_CACHE_LOCATION = join("node_modules", ".cache", "punctilio", "cache.json");
233
311
  function hashString(s) {
@@ -266,10 +344,21 @@ function saveCache(location, cache) {
266
344
  }
267
345
  // Replace a file's contents atomically: write a sibling temp file, then rename
268
346
  // it over the target so an interrupted run can never leave a half-written file.
269
- async function atomicWriteFile(path, contents) {
270
- const tmpPath = `${path}.${process.pid}.tmp`;
271
- await writeFile(tmpPath, contents);
272
- await rename(tmpPath, path);
347
+ // The temp file replaces the symlink's target (not the link itself) and takes
348
+ // over the original file's permission bits; it is removed if anything fails.
349
+ export async function atomicWriteFile(path, contents) {
350
+ const targetPath = await realpath(path);
351
+ const { mode } = await stat(targetPath);
352
+ const tmpPath = `${targetPath}.${process.pid}.tmp`;
353
+ try {
354
+ await writeFile(tmpPath, contents, { mode: mode & 0o7777 });
355
+ await chmod(tmpPath, mode & 0o7777);
356
+ await rename(tmpPath, targetPath);
357
+ }
358
+ catch (err) {
359
+ await rm(tmpPath, { force: true });
360
+ throw err;
361
+ }
273
362
  }
274
363
  // cwd-relative so the cache survives directory moves and cross-machine syncs.
275
364
  function cacheKey(filePath, cwd) {
@@ -315,30 +404,31 @@ function buildOptions(flags) {
315
404
  }
316
405
  // The merged options may carry keys for the other sink (e.g. emphasisMarker
317
406
  // alongside skipTags from one shared config); strip the inapplicable ones so
318
- // each sink's strict key validation only sees keys it understands. The sinks
319
- // load lazily because they import the optional unified peers, which --help,
320
- // --version and usage errors must not need.
321
- async function transformContent(input, type, opts) {
407
+ // each sink's strict key validation only sees keys it understands.
408
+ async function transformContent(input, type, opts, importPeer) {
322
409
  if (type === "md") {
323
- const { transformMarkdown } = await import("./markdown.js");
410
+ const transformMarkdown = await loadSinkTransform("md", importPeer);
324
411
  return transformMarkdown(input, omitKeys(opts, HTML_ONLY_OPTION_KEYS));
325
412
  }
326
- const { transformHtml } = await import("./html.js");
413
+ const transformHtml = await loadSinkTransform("html", importPeer);
327
414
  return transformHtml(input, omitKeys(opts, MARKDOWN_ONLY_OPTION_KEYS));
328
415
  }
329
- // The unified pipelines emit LF-only output and unconditionally append a
330
- // trailing newline. Restore the source's line-ending style and trailing-newline
331
- // presence so a CRLF file doesn't gain mixed endings (which would make --check
332
- // report a change forever and --write churn on every run).
416
+ async function formatDocument(original, type, opts, importPeer) {
417
+ return matchLineEndings(original, await transformContent(original, type, opts, importPeer));
418
+ }
419
+ // The unified pipelines emit LF-only output. Markdown always ends in a newline;
420
+ // a full HTML document may end without one (its final newline can be dropped
421
+ // or sit inside <body>). Restore the source's line-ending style and
422
+ // trailing-newline presence so a CRLF file doesn't gain mixed endings (which
423
+ // would make --check report a change forever and --write churn on every run).
333
424
  function matchLineEndings(original, formatted) {
334
- // Normalize the LF output back to CRLF when the source used it.
335
- let out = original.includes("\r\n")
425
+ const lineEnding = original.includes("\r\n") ? "\r\n" : "\n";
426
+ const out = lineEnding === "\r\n"
336
427
  ? formatted.replace(/\r\n/g, "\n").replace(/\n/g, "\r\n")
337
428
  : formatted;
338
- // Drop the appended trailing newline if the original had none.
339
- if (!/\n$/.test(original))
340
- out = out.replace(/\r?\n$/, "");
341
- return out;
429
+ if (!original.endsWith("\n"))
430
+ return out.replace(/\r?\n$/, "");
431
+ return out.endsWith("\n") ? out : out + lineEnding;
342
432
  }
343
433
  async function readStdin(stdin) {
344
434
  const chunks = [];
@@ -374,7 +464,7 @@ export async function runCli(args, io) {
374
464
  return await runValidated(buildFlags(values, tokens), positionals, io, version);
375
465
  }
376
466
  catch (err) {
377
- if (err instanceof UsageError) {
467
+ if (err instanceof UsageError || err instanceof MissingPeerDependencyError) {
378
468
  io.stderr.write(`Error: ${err.message}\n`);
379
469
  return 2;
380
470
  }
@@ -395,6 +485,9 @@ async function runValidated(flags, positionals, io, version) {
395
485
  if (check && write) {
396
486
  throw new UsageError("--write and --check are mutually exclusive.");
397
487
  }
488
+ if (flags.stdinFilepath !== undefined && positionals.some((p) => p !== "-")) {
489
+ throw new UsageError("--stdin-filepath cannot be combined with file arguments.");
490
+ }
398
491
  if (readsStdin(positionals, flags)) {
399
492
  if (write) {
400
493
  throw new UsageError("--write cannot be used when reading from stdin.");
@@ -408,7 +501,7 @@ async function runValidated(flags, positionals, io, version) {
408
501
  throw new UsageError("Reading from stdin requires --type md|html or --stdin-filepath <path>.");
409
502
  }
410
503
  const input = await readStdin(io.stdin);
411
- const output = matchLineEndings(input, await transformContent(input, type, opts));
504
+ const output = await formatDocument(input, type, opts, io.importPeer);
412
505
  if (check)
413
506
  return input === output ? 0 : 1;
414
507
  io.stdout.write(output);
@@ -420,6 +513,9 @@ async function runValidated(flags, positionals, io, version) {
420
513
  }
421
514
  const ig = loadIgnore(cwd, flags.ignorePath);
422
515
  const files = await discoverFiles(positionals, cwd, ig, io.stderr);
516
+ // Resolve every file's type up front so an unsupported extension fails
517
+ // before any file has been rewritten.
518
+ const types = files.map((file) => inferFileType(file, flags.type));
423
519
  // In stdout mode every file's content must be produced, so a cache hit
424
520
  // could never skip work; only --write and --check use the cache.
425
521
  const cacheLocation = flags.cache === false || (!write && !check)
@@ -428,8 +524,8 @@ async function runValidated(flags, positionals, io, version) {
428
524
  const cache = cacheLocation ? loadCache(cacheLocation, io.stderr) : undefined;
429
525
  const optionsHash = cache ? hashOptions(opts) : "";
430
526
  let anyChanged = false;
431
- for (const path of files) {
432
- const type = inferFileType(path, flags.type);
527
+ for (const [index, path] of files.entries()) {
528
+ const type = types[index];
433
529
  const original = await readFile(path, "utf8");
434
530
  const key = cache ? cacheKey(path, cwd) : "";
435
531
  if (cache) {
@@ -441,7 +537,7 @@ async function runValidated(flags, positionals, io, version) {
441
537
  entry.version === version)
442
538
  continue;
443
539
  }
444
- const formatted = matchLineEndings(original, await transformContent(original, type, opts));
540
+ const formatted = await formatDocument(original, type, opts, io.importPeer);
445
541
  if (!write && !check) {
446
542
  io.stdout.write(formatted);
447
543
  continue;
@@ -465,9 +561,21 @@ async function runValidated(flags, positionals, io, version) {
465
561
  saveCache(cacheLocation, cache);
466
562
  return check && anyChanged ? 1 : 0;
467
563
  }
564
+ // npm links bins through symlinks, so argv[1] is the link, not the module file.
565
+ export function isMainModule(moduleUrl, entryPath) {
566
+ if (entryPath === undefined)
567
+ return false;
568
+ try {
569
+ return realpathSync(fileURLToPath(moduleUrl)) === realpathSync(entryPath);
570
+ }
571
+ catch (err) {
572
+ if (err.code === "ENOENT")
573
+ return false;
574
+ throw err;
575
+ }
576
+ }
468
577
  /* istanbul ignore next -- entry-point bootstrap; logic is covered via runCli */
469
- // npm runs the bin through a node_modules/.bin symlink, so compare real paths.
470
- if (process.argv[1] && fileURLToPath(import.meta.url) === realpathSync(process.argv[1])) {
578
+ if (isMainModule(import.meta.url, process.argv[1])) {
471
579
  runCli(process.argv.slice(2), {
472
580
  stdin: process.stdin,
473
581
  stdout: process.stdout,
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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"}
@@ -86,6 +86,8 @@ export declare const UNICODE_SYMBOLS: {
86
86
  };
87
87
  /** All terminal punctuation chars for regex character classes (ASCII through CJK/Arabic/Greek). */
88
88
  export declare const TERMINAL_PUNCTUATION: readonly ["!", "?", ".", ",", ";", ":", "…", "⁇", "⁈", "⁉", "‼", "‽", "!", "?", ".", ",", ";", ":", "。", "、", "؟", "؛", ";"];
89
+ /** Opening brackets, the counterparts of {@link CLOSING_BRACKETS}. */
90
+ export declare const OPENING_BRACKETS: readonly string[];
89
91
  /**
90
92
  * Punctuation that opens a construct and so binds rightward, to the text after
91
93
  * it rather than the text before: brackets, the Spanish inverted marks, and the
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FlB,CAAA;AAEV,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,8HAYvB,CAAA;AAqBV;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAShD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAgD,CAAA;AAE9F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,qGAAqG,CAAA;AAE/H;;;;;GAKG;AACH,eAAO,MAAM,cAAc,wGAAwB,CAAA;AAEnD,sEAAsE;AACtE,eAAO,MAAM,WAAW,QAAuD,CAAA;AAE/E,qEAAqE;AACrE,eAAO,MAAM,UAAU,QAAoD,CAAA;AAE3E,6FAA6F;AAC7F,eAAO,MAAM,eAAe,QAAwC,CAAA;AAEpE,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,QAAyC,CAAA;AAEvE,+DAA+D;AAC/D,eAAO,MAAM,OAAO,QAAO,CAAA;AAE3B,gFAAgF;AAChF,eAAO,MAAM,aAAa,QAAiC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,aAI5B,CAAA;AAEF,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,OAAO,CAAA;AAEvC,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAGxC,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED,gBAAgB;AAChB,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FlB,CAAA;AAEV,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,8HAYvB,CAAA;AAqBV,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA8C,CAAA;AAE5F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAShD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAgD,CAAA;AAE9F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,qGAAqG,CAAA;AAE/H;;;;;GAKG;AACH,eAAO,MAAM,cAAc,wGAAwB,CAAA;AAEnD,sEAAsE;AACtE,eAAO,MAAM,WAAW,QAAuD,CAAA;AAE/E,qEAAqE;AACrE,eAAO,MAAM,UAAU,QAAoD,CAAA;AAE3E,6FAA6F;AAC7F,eAAO,MAAM,eAAe,QAAwC,CAAA;AAEpE,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,QAAyC,CAAA;AAEvE,+DAA+D;AAC/D,eAAO,MAAM,OAAO,QAAO,CAAA;AAE3B,gFAAgF;AAChF,eAAO,MAAM,aAAa,QAAiC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,aAI5B,CAAA;AAEF,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,OAAO,CAAA;AAEvC,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAGxC,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED,gBAAgB;AAChB,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
package/dist/constants.js CHANGED
@@ -126,6 +126,8 @@ const BRACKET_PAIRS = [
126
126
  [UNICODE_SYMBOLS.LEFT_WHITE_CORNER_BRACKET, UNICODE_SYMBOLS.RIGHT_WHITE_CORNER_BRACKET],
127
127
  [UNICODE_SYMBOLS.LEFT_LENTICULAR_BRACKET, UNICODE_SYMBOLS.RIGHT_LENTICULAR_BRACKET],
128
128
  ];
129
+ /** Opening brackets, the counterparts of {@link CLOSING_BRACKETS}. */
130
+ export const OPENING_BRACKETS = BRACKET_PAIRS.map(([opening]) => opening);
129
131
  /**
130
132
  * Punctuation that opens a construct and so binds rightward, to the text after
131
133
  * it rather than the text before: brackets, the Spanish inverted marks, and the
@@ -138,7 +140,7 @@ const BRACKET_PAIRS = [
138
140
  * settle, so a consumer that wants to treat one as an opener owns that call.
139
141
  */
140
142
  export const OPENING_PUNCTUATION = [
141
- ...BRACKET_PAIRS.map(([opening]) => opening),
143
+ ...OPENING_BRACKETS,
142
144
  UNICODE_SYMBOLS.INVERTED_EXCLAMATION,
143
145
  UNICODE_SYMBOLS.INVERTED_QUESTION,
144
146
  UNICODE_SYMBOLS.LEFT_DOUBLE_QUOTE,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashes.d.ts","sourceRoot":"","sources":["../src/dashes.ts"],"names":[],"mappings":"AACA,OAAO,EAA+G,KAAK,SAAS,EAA4C,MAAM,iBAAiB,CAAA;AAEvM,eAAO,MAAM,WAAW,0CAA2C,CAAA;AACnE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,MAAM,WAAW,WAAW;IAC1B,mFAAmF;IACnF,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAQD,eAAO,MAAM,6BAA6B,+BAA0C,CAAA;AA0JpF,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,qCAG5B,CAAA;AAsdF,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;AAC7E,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;AAoE9E,8EAA8E;AAC9E,eAAO,MAAM,YAAY,qCAIvB,CAAA;AA4hBF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;AAe5E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,qCAGzB,CAAA"}
1
+ {"version":3,"file":"dashes.d.ts","sourceRoot":"","sources":["../src/dashes.ts"],"names":[],"mappings":"AACA,OAAO,EAA+G,KAAK,SAAS,EAA4C,MAAM,iBAAiB,CAAA;AAEvM,eAAO,MAAM,WAAW,0CAA2C,CAAA;AACnE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,MAAM,WAAW,WAAW;IAC1B,mFAAmF;IACnF,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AASD,eAAO,MAAM,6BAA6B,+BAA0C,CAAA;AA0JpF,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,qCAG5B,CAAA;AAsdF,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;AAC7E,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;AAoE9E,8EAA8E;AAC9E,eAAO,MAAM,YAAY,qCAIvB,CAAA;AA4hBF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;AAe5E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,qCAGzB,CAAA"}
package/dist/dashes.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { cachedRegExp, FOLDED_WORD_CHARS, isWordLike, LATIN_LETTER_RE, LATIN_LETTERS, LATIN_OR_DIGIT, LATIN_OR_DIGIT_RE, MAX_BOUNDARY_SEPARATORS, NBSP_CHARS, SPACE_CHAR_RE, UNICODE_SYMBOLS } from "./constants.js";
2
2
  import { boundaryCountAt, exceedsSingleBoundary, firstInteriorBoundary, lastBoundaryBefore, makeProsePass, overInput, replaceAllInView } from "./prose-view.js";
3
3
  export const DASH_STYLES = ["american", "british", "none"];
4
- const { EN_DASH, EM_DASH, MINUS, MULTIPLICATION, PLUS_MINUS, LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, LEFT_SINGLE_QUOTE, RIGHT_SINGLE_QUOTE, } = UNICODE_SYMBOLS;
4
+ const { EN_DASH, EM_DASH, MINUS, MULTIPLICATION, PLUS_MINUS, LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, LEFT_SINGLE_QUOTE, RIGHT_SINGLE_QUOTE, MODIFIER_LETTER_APOSTROPHE, LEFT_GUILLEMET, } = UNICODE_SYMBOLS;
5
5
  // Prevents false-positive ranges in model names like "Llama-2-7B".
6
6
  export const numberRangeDisallowedPrefixes = ["-", EN_DASH, EM_DASH, MINUS];
7
7
  // Non-ASCII dashes escaped to \uXXXX for safe embedding in [...] classes.
@@ -722,7 +722,7 @@ function minusSubtractionPrefixOk(match, view, prefixLen) {
722
722
  const truncatedEnd = interior >= 0 ? interior : numEnd;
723
723
  return NUM_BODY_RE.test(view.text.slice(numStart, truncatedEnd));
724
724
  }
725
- const MINUS_BEFORE_CLASS_RE = new RegExp(`[\\s("'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}]`);
725
+ const MINUS_BEFORE_CLASS_RE = new RegExp(`[\\s("'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}${LEFT_GUILLEMET}]`);
726
726
  // The folded word glyphs block like the word chars they fold from ("1x|-0"
727
727
  // and "1×|-0" must agree), the folded math operators block like the operator
728
728
  // chars they fold from (the `!=` → `≠` fold consumes the `=` that blocked
@@ -796,7 +796,7 @@ function convertParentheticalDashes(view, style) {
796
796
  if (style === "british")
797
797
  convertUnspacedEmDashes(view, rendered);
798
798
  }
799
- const QUOTE_CHARS = `"'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}`;
799
+ const QUOTE_CHARS = `"'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}${MODIFIER_LETTER_APOSTROPHE}`;
800
800
  const DASH_RUN_CHARS = new Set(["-", EN_DASH, EM_DASH]);
801
801
  function isDashChar(ch) {
802
802
  return ch !== undefined && DASH_RUN_CHARS.has(ch);