@nowline/cli 0.0.0-dev.20261013000451.g8cec577 → 0.0.0-dev.20261013002534.ga8141f1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -109,7 +109,7 @@ nowline roadmap.nowline --headless # bundled DejaVu fonts (determi
109
109
  | `--no-links` | (off) | Omit link icons from items. |
110
110
  | `-s, --scale <n>` | `1` | Raster scale (PNG only). |
111
111
  | `--strict` | (off) | Promote asset / sanitizer warnings to errors. |
112
- | `-w, --width <px>` | `1280` | Canvas width. |
112
+ | `-w, --width <px>` | fit content | Maximum canvas width. The timeline shrinks to fit (down to 1 px/day); spilled captions can still overflow. |
113
113
  | `--non-working <mode>` | (file key, else `hide`) | `hide` \| `show`. How a business calendar's non-working days appear: collapsed, or drawn as shaded bands. Overrides the file's `default roadmap non-working:` key; omit it to let the key apply. Also accepted by `--serve`. |
114
114
  | `--asset-root <dir>` | input dir | Root for `logo:` / image refs. |
115
115
 
@@ -1,3 +1,4 @@
1
+ import type { LogLevel } from '../io/log.js';
1
2
  export type ModeKind = 'render' | 'serve' | 'init' | 'mcp' | 'help' | 'version';
2
3
  export interface ParsedArgs {
3
4
  /** Resolved mode after dispatch (mutual-exclusivity already checked). */
@@ -7,7 +8,7 @@ export interface ParsedArgs {
7
8
  /** True if `--dry-run` / `-n` was passed (only valid for render mode). */
8
9
  dryRun: boolean;
9
10
  /** Logging level. Verbose and quiet are mutually exclusive. */
10
- logLevel: 'verbose' | 'quiet' | 'normal';
11
+ logLevel: LogLevel;
11
12
  output?: string;
12
13
  format?: string;
13
14
  inputFormat?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,UAAU;IACvB,yEAAyE;IACzE,IAAI,EAAE,QAAQ,CAAC;IACf,uGAAuG;IACvG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAGzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;kFAI8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IAKd,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CA+L7D"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,UAAU;IACvB,yEAAyE;IACzE,IAAI,EAAE,QAAQ,CAAC;IACf,uGAAuG;IACvG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,EAAE,QAAQ,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;kFAI8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IAKd,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CA+L7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAsFzD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,KAAK;SACxB,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAoB;QAC5B,IAAI,EAAE,IAAgB;QACtB,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE;YACL,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACxC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACxC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YAEtC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACtC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACtC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAElC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACxB,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YAE1C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,kEAAkE;YAClE,0DAA0D;YAC1D,+DAA+D;YAC/D,yBAAyB;YACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,kEAAkE;YAClE,oEAAoE;YACpE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAEhC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACpC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAEzB,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAEvC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAE5B,MAAM;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAExB,wBAAwB;YACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAEzB,yBAAyB;YACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7B;KACJ,CAAC;IAEF,IAAI,MAAoC,CAAC;IACzC,IAAI,CAAC;QACD,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAiC,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAEvC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,KAAK;SACxB,CAAC;IACN,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACH,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,KAAK;SACxB,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,wDAAwD,CAC3D,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,cAAc,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,0BAA0B,CACrE,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC1C,MAAM,IAAI,GAAa,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE5C,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,gDAAgD,IAAI,GAAG,CAC1D,CAAC;IACN,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,WAAW;aACrB,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,wCAAwC,MAAM,GAAG,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC3E,IAAI,mBAAmB,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,yCAAyC,mBAAmB,iDAAiD,CAChH,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GACV,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErF,OAAO;QACH,IAAI;QACJ,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtD,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,GAAG,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI;QACpC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;QAC9B,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACpD,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI;QAC1B,gBAAgB,EAAE,mBAAmB;QACrC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC;QAClD,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI;QAClC,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,IAAI;QACnD,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;KACvC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACrC,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO,YAAY,OAAO,yBAAyB,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,OAAO,yBAAyB,CAAC;IACxD,CAAC;IACD,OAAO,YAAY,OAAO,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAyIA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AA2IA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
package/dist/cli/help.js CHANGED
@@ -65,7 +65,9 @@ RENDER OPTIONS
65
65
  --no-links Omit link icons from rendered items.
66
66
  -s, --scale <n> Raster scale factor (PNG only; default 1).
67
67
  --strict Promote asset / sanitizer warnings to errors.
68
- -w, --width <px> Canvas width in pixels (default: 1280).
68
+ -w, --width <px> Maximum canvas width in pixels. Default: fit the
69
+ content. A wider roadmap shrinks its timeline to
70
+ fit; long captions can still overflow it.
69
71
  --non-working <hide|show>
70
72
  How a business calendar's non-working days appear:
71
73
  hide collapses them (the default), show draws them
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,sEAAsE;AACtE,oEAAoE;AACpE,2DAA2D;AAC3D,MAAM,SAAS,GAAG,WAAW,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkI/C,CAAC;AAEF,MAAM,UAAU,UAAU;IACtB,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa;IACzB,OAAO,GAAG,iBAAiB,EAAE,IAAI,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,sEAAsE;AACtE,oEAAoE;AACpE,2DAA2D;AAC3D,MAAM,SAAS,GAAG,WAAW,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoI/C,CAAC;AAEF,MAAM,UAAU,UAAU;IACtB,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa;IACzB,OAAO,GAAG,iBAAiB,EAAE,IAAI,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B5E;AA6BD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU5E"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAOjD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B5E;AA6BD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU5E"}
@@ -1,6 +1,7 @@
1
1
  import { defaultInitOutputPath, initNameHasIncompatibleExtension } from '../cli/output-path.js';
2
2
  import { TEMPLATE_NAMES, TEMPLATES } from '../generated/templates.js';
3
3
  import { CliError, ExitCode } from '../io/exit-codes.js';
4
+ import { createLog } from '../io/log.js';
4
5
  import { writeOutput } from '../io/write.js';
5
6
  /**
6
7
  * `--init` mode handler. Scaffolds a starter `.nowline` file in cwd.
@@ -29,9 +30,7 @@ export async function initHandler(options) {
29
30
  const rendered = applyName(templateText, titleName);
30
31
  const outputPath = args.output ?? defaultInitOutputPath({ name: projectName, cwd });
31
32
  await writeOutput(outputPath, rendered, 'text', { cwd });
32
- if (args.logLevel === 'verbose') {
33
- process.stderr.write(`nowline: wrote ${outputPath}\n`);
34
- }
33
+ createLog(args.logLevel).verbose(`nowline: wrote ${outputPath}`);
35
34
  }
36
35
  function parseTemplateName(raw) {
37
36
  const value = (raw ?? '').toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC9E"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC9E"}
@@ -2,6 +2,7 @@ import { createServer } from 'node:http';
2
2
  import { NodeStreamableHTTPServerTransport } from '@modelcontextprotocol/node';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/server/stdio';
4
4
  import { createMcpServer } from '@nowline/mcp/server';
5
+ import { createLog } from '../io/log.js';
5
6
  /**
6
7
  * `nowline --mcp` handler.
7
8
  *
@@ -32,7 +33,7 @@ export async function mcpHandler({ args }) {
32
33
  });
33
34
  await new Promise((resolve) => {
34
35
  httpServer.listen(port, '127.0.0.1', () => {
35
- process.stderr.write(`nowline: MCP Streamable HTTP listening on http://127.0.0.1:${port}\n`);
36
+ createLog(args.logLevel).notice(`nowline: MCP Streamable HTTP listening on http://127.0.0.1:${port}`);
36
37
  });
37
38
  httpServer.on('close', resolve);
38
39
  process.on('SIGINT', () => httpServer.close());
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAwB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACX,6DAA6D,OAAO,IAAI,CAC3E,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,iCAAiC,CAAC;YACpD,kBAAkB,EAAE,SAAS;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/C,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,8DAA8D,IAAI,IAAI,CACzE,CAAC;YACN,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAwB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACX,6DAA6D,OAAO,IAAI,CAC3E,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,iCAAiC,CAAC;YACpD,kBAAkB,EAAE,SAAS;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/C,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACtC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC3B,8DAA8D,IAAI,EAAE,CACvE,CAAC;YACN,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { AssetResolver } from '@nowline/renderer';
2
2
  import type { ParsedArgs } from '../cli/args.js';
3
3
  import { type NowlineRc } from '../io/config.js';
4
+ import { type Log } from '../io/log.js';
4
5
  export interface RenderHandlerOptions {
5
6
  args: ParsedArgs;
6
7
  /** Test seam: cwd override. Defaults to `process.cwd()`. */
@@ -13,5 +14,9 @@ export interface RenderHandlerOptions {
13
14
  */
14
15
  export declare function renderHandler(options: RenderHandlerOptions): Promise<void>;
15
16
  export declare function loadConfigFor(inputArg: string, cwd: string): Promise<NowlineRc | null>;
17
+ /** Under `-q`, text-mode diagnostics keep only errors. Shared with serve. */
18
+ export declare function errorsOnlyWhenQuiet<T extends {
19
+ severity: string;
20
+ }>(diagnostics: T[], log: Log): T[];
16
21
  export declare function createAssetResolver(assetRoot: string): AssetResolver;
17
22
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA2BjD,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK7D,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgGhF;AAgWD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAa5F;AA8JD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAWpE"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA2BjD,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,cAAc,CAAC;AAInD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FhF;AA+VD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAa5F;AA+JD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9D,WAAW,EAAE,CAAC,EAAE,EAChB,GAAG,EAAE,GAAG,GACT,CAAC,EAAE,CAEL;AAID,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAWpE"}
@@ -16,6 +16,7 @@ import { adaptResolveDiagnostic, formatDiagnostics, } from '../diagnostics/index
16
16
  import { describeContentLocaleSource, operatorLocale, readDirectiveLocale, resolveLocaleOverride, } from '../i18n/locale.js';
17
17
  import { loadConfig } from '../io/config.js';
18
18
  import { CliError, ExitCode } from '../io/exit-codes.js';
19
+ import { createLog } from '../io/log.js';
19
20
  import { readInput } from '../io/read.js';
20
21
  import { writeOutput } from '../io/write.js';
21
22
  /**
@@ -30,6 +31,7 @@ export async function renderHandler(options) {
30
31
  throw new CliError(ExitCode.InputError, 'nowline: missing input file. Pass a path, "-" for stdin, or run `nowline --help`.');
31
32
  }
32
33
  const isStdoutOutput = args.output === '-';
34
+ const log = createLog(args.logLevel);
33
35
  const config = await loadConfigFor(args.positional, cwd);
34
36
  const format = resolveFormatOrThrow({
35
37
  flag: args.format,
@@ -37,9 +39,7 @@ export async function renderHandler(options) {
37
39
  configFormat: typeof config?.defaultFormat === 'string' ? config.defaultFormat : undefined,
38
40
  isStdout: isStdoutOutput,
39
41
  });
40
- if (args.logLevel === 'verbose') {
41
- process.stderr.write(`nowline: format=${format} (resolved)\n`);
42
- }
42
+ log.verbose(`nowline: format=${format} (resolved)`);
43
43
  const resolvedOutput = resolveRenderOutputPath({
44
44
  outputArg: args.output,
45
45
  isStdout: isStdoutOutput,
@@ -86,18 +86,16 @@ export async function renderHandler(options) {
86
86
  locale,
87
87
  operatorLocale: opLocale,
88
88
  resolvedLocale: resolved,
89
- verbose: args.logLevel === 'verbose',
89
+ log,
90
90
  diagnosticFormat: resolveDiagnosticFormat(args),
91
91
  });
92
92
  if (args.dryRun) {
93
- if (args.logLevel === 'verbose') {
94
- process.stderr.write('nowline: --dry-run; skipping write\n');
95
- }
93
+ log.verbose('nowline: --dry-run; skipping write');
96
94
  return;
97
95
  }
98
96
  await writeOutput(resolvedOutput.isStdout ? '-' : resolvedOutput.path, rendered, isBinary ? 'binary' : 'text', { cwd });
99
- if (args.logLevel === 'verbose' && !resolvedOutput.isStdout) {
100
- process.stderr.write(`nowline: wrote ${resolvedOutput.path}\n`);
97
+ if (!resolvedOutput.isStdout) {
98
+ log.verbose(`nowline: wrote ${resolvedOutput.path}`);
101
99
  }
102
100
  }
103
101
  function resolveFormatOrThrow(inputs) {
@@ -172,6 +170,7 @@ async function produce(args) {
172
170
  marginPt: parseMargin(args.margin),
173
171
  pngScale: parseScale(args.scale),
174
172
  msprojStart: args.start,
173
+ onNotice: (message) => args.log.notice(message),
175
174
  };
176
175
  try {
177
176
  const bytes = await exportDocument(sourceText, args.format, kernelInputs, host);
@@ -260,16 +259,16 @@ async function resolveNodeFonts(args) {
260
259
  if (args.strict) {
261
260
  throw new CliError(ExitCode.InputError, `nowline: ${message}`);
262
261
  }
263
- process.stderr.write(`warning: ${message}\n`);
262
+ args.log.notice(`warning: ${message}`);
264
263
  }
265
264
  // Bundled fallback after an opted-in probe found no usable system font.
266
265
  // Only meaningful when --use-system-fonts is set; warn under --strict.
267
266
  if (args.strict) {
268
267
  if (result.sansFellBackToBundled) {
269
- process.stderr.write('warning: sans font fell back to bundled DejaVu (no platform font found)\n');
268
+ args.log.notice('warning: sans font fell back to bundled DejaVu (no platform font found)');
270
269
  }
271
270
  if (result.monoFellBackToBundled) {
272
- process.stderr.write('warning: mono font fell back to bundled DejaVu (no platform font found)\n');
271
+ args.log.notice('warning: mono font fell back to bundled DejaVu (no platform font found)');
273
272
  }
274
273
  }
275
274
  return { sans: result.sans, mono: result.mono };
@@ -318,16 +317,14 @@ async function parseAndValidate(contents, args, options = {}) {
318
317
  // whenever any diagnostic exists, warnings included, so a warnings-only
319
318
  // run still exits 0 with the document on stderr.
320
319
  if (failed || (args.diagnosticFormat === 'json' && diagnostics.length > 0)) {
321
- emitDiagnostics(diagnostics, sources, args.operatorLocale, args.diagnosticFormat);
320
+ emitDiagnostics(diagnostics, sources, args.operatorLocale, args.diagnosticFormat, args.log);
322
321
  }
323
322
  if (failed) {
324
323
  throw new CliError(ExitCode.ValidationError, '');
325
324
  }
326
- if (args.verbose) {
327
- const directive = readDirectiveLocale(result.ast);
328
- const { tag, source } = describeContentLocaleSource(directive, args.resolvedLocale);
329
- process.stderr.write(`nowline: locale=${tag} (${source})\n`);
330
- }
325
+ const directive = readDirectiveLocale(result.ast);
326
+ const { tag, source } = describeContentLocaleSource(directive, args.resolvedLocale);
327
+ args.log.verbose(`nowline: locale=${tag} (${source})`);
331
328
  return result;
332
329
  }
333
330
  /**
@@ -481,14 +478,20 @@ function resolveDiagnosticFormat(args) {
481
478
  return 'json';
482
479
  return 'text';
483
480
  }
484
- function emitDiagnostics(diagnostics, sources, operatorLocale, format) {
485
- const rendered = formatDiagnostics(diagnostics, format, sources, {
481
+ function emitDiagnostics(diagnostics, sources, operatorLocale, format, log) {
482
+ // JSON is machine output and always prints whole; text drops warnings under -q.
483
+ const shown = format === 'text' ? errorsOnlyWhenQuiet(diagnostics, log) : diagnostics;
484
+ const rendered = formatDiagnostics(shown, format, sources, {
486
485
  color: process.stderr.isTTY === true,
487
486
  operatorLocale,
488
487
  });
489
488
  if (rendered)
490
489
  process.stderr.write(`${rendered}\n`);
491
490
  }
491
+ /** Under `-q`, text-mode diagnostics keep only errors. Shared with serve. */
492
+ export function errorsOnlyWhenQuiet(diagnostics, log) {
493
+ return log.quiet ? diagnostics.filter((d) => d.severity === 'error') : diagnostics;
494
+ }
492
495
  // ---- Asset resolver (still used by serve.ts) --------------------------------
493
496
  export function createAssetResolver(assetRoot) {
494
497
  const root = path.resolve(assetRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkBjD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiN9E"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAmBjD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiN9E"}
@@ -10,7 +10,8 @@ import { getServices, parseSource } from '../core/parse.js';
10
10
  import { adaptResolveDiagnostic, formatDiagnostics, } from '../diagnostics/index.js';
11
11
  import { describeContentLocaleSource, operatorLocale, readDirectiveLocale, resolveLocaleOverride, } from '../i18n/locale.js';
12
12
  import { CliError, ExitCode } from '../io/exit-codes.js';
13
- import { createAssetResolver, loadConfigFor } from './render.js';
13
+ import { createLog } from '../io/log.js';
14
+ import { createAssetResolver, errorsOnlyWhenQuiet, loadConfigFor } from './render.js';
14
15
  /**
15
16
  * `--serve` mode handler. Starts a local HTTP server that watches the input
16
17
  * file and live-reloads the rendered SVG via Server-Sent Events.
@@ -31,6 +32,7 @@ export async function serveHandler(options) {
31
32
  if (args.output === '-') {
32
33
  throw new CliError(ExitCode.InputError, 'nowline: --serve does not support -o - (stdout). Use a file path or omit -o.');
33
34
  }
35
+ const log = createLog(args.logLevel);
34
36
  const port = parsePort(args.port);
35
37
  const host = args.host ?? '127.0.0.1';
36
38
  const config = await loadConfigFor(args.positional, cwd);
@@ -64,20 +66,20 @@ export async function serveHandler(options) {
64
66
  const parse = await parseSource(text, inputPath, { validate: true });
65
67
  if (parse.hasErrors) {
66
68
  const sources = new Map([[inputPath, parse.source]]);
67
- const rendered = formatDiagnostics(parse.diagnostics, 'text', sources, {
69
+ const format = (diagnostics) => formatDiagnostics(diagnostics, 'text', sources, {
68
70
  color: false,
69
71
  operatorLocale: opLocale,
70
72
  });
73
+ // The browser always gets the full report; stderr honors -q.
74
+ const rendered = format(parse.diagnostics);
71
75
  lastPayload = { kind: 'error', body: rendered };
72
- process.stderr.write(`${rendered}\n`);
76
+ process.stderr.write(`${format(errorsOnlyWhenQuiet(parse.diagnostics, log))}\n`);
73
77
  broadcast(clients, 'error', rendered);
74
78
  return;
75
79
  }
76
- if (args.logLevel === 'verbose') {
77
- const directive = readDirectiveLocale(parse.ast);
78
- const { tag, source } = describeContentLocaleSource(directive, resolvedLocale);
79
- process.stderr.write(`nowline: locale=${tag} (${source})\n`);
80
- }
80
+ const directive = readDirectiveLocale(parse.ast);
81
+ const { tag, source } = describeContentLocaleSource(directive, resolvedLocale);
82
+ log.verbose(`nowline: locale=${tag} (${source})`);
81
83
  // Included files' text, kept for the code frames of routed diagnostics.
82
84
  const sources = new Map([[inputPath, parse.source]]);
83
85
  const resolved = await resolveIncludes(parse.ast, inputPath, {
@@ -101,12 +103,16 @@ export async function serveHandler(options) {
101
103
  let msg = legacy;
102
104
  const routed = resolved.diagnostics.filter(isRoutedResolveDiagnostic);
103
105
  if (!legacy && routed.some((d) => d.severity === 'error')) {
104
- const rendered = formatDiagnostics([
106
+ const diagnostics = [
105
107
  ...parse.diagnostics,
106
108
  ...routed.map((d) => adaptResolveDiagnostic(d, d.sourcePath, sources.get(d.sourcePath)?.contents)),
107
- ], 'text', sources, { color: false, operatorLocale: opLocale });
108
- process.stderr.write(`${rendered}\n`);
109
- msg = rendered;
109
+ ];
110
+ const format = (shown) => formatDiagnostics(shown, 'text', sources, {
111
+ color: false,
112
+ operatorLocale: opLocale,
113
+ });
114
+ process.stderr.write(`${format(errorsOnlyWhenQuiet(diagnostics, log))}\n`);
115
+ msg = format(diagnostics);
110
116
  }
111
117
  lastPayload = { kind: 'error', body: msg };
112
118
  broadcast(clients, 'error', msg);
@@ -115,15 +121,13 @@ export async function serveHandler(options) {
115
121
  const model = layoutRoadmap(parse.ast, resolved, { theme, today, locale, nonWorking });
116
122
  const svg = await renderSvg(model, {
117
123
  assetResolver: createAssetResolver(assetRoot),
118
- warn: (m) => process.stderr.write(`warning: ${m}\n`),
124
+ warn: (m) => log.notice(`warning: ${m}`),
119
125
  });
120
126
  lastPayload = { kind: 'svg', body: svg };
121
127
  if (fileSink) {
122
128
  try {
123
129
  await fs.writeFile(fileSink, svg);
124
- if (args.logLevel === 'verbose') {
125
- process.stderr.write(`nowline: wrote ${fileSink}\n`);
126
- }
130
+ log.verbose(`nowline: wrote ${fileSink}`);
127
131
  }
128
132
  catch (err) {
129
133
  const msg = err instanceof Error ? err.message : String(err);
@@ -176,7 +180,7 @@ export async function serveHandler(options) {
176
180
  });
177
181
  process.stdout.write(`nowline serve: http://${host}:${port}\n`);
178
182
  if (args.open) {
179
- await openBrowser(`http://${host}:${port}`);
183
+ await openBrowser(`http://${host}:${port}`, log);
180
184
  }
181
185
  const shutdown = async () => {
182
186
  watcher.close();
@@ -257,7 +261,7 @@ function watchFile(target, onChange) {
257
261
  });
258
262
  return w;
259
263
  }
260
- async function openBrowser(url) {
264
+ async function openBrowser(url, log) {
261
265
  const { spawn } = await import('node:child_process');
262
266
  const platform = process.platform;
263
267
  const command = platform === 'darwin' ? 'open' : platform === 'win32' ? 'cmd' : 'xdg-open';
@@ -267,7 +271,7 @@ async function openBrowser(url) {
267
271
  child.unref();
268
272
  }
269
273
  catch {
270
- process.stderr.write(`nowline: warning — failed to open browser; visit ${url} manually.\n`);
274
+ log.notice(`nowline: warning — failed to open browser; visit ${url} manually.`);
271
275
  }
272
276
  }
273
277
  const emptySvg = '<svg xmlns="http://www.w3.org/2000/svg" width="400" height="60"><text x="10" y="30" font-family="system-ui" font-size="14" fill="#999">no output yet</text></svg>';
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,IAAI,EAAE,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACH,aAAa,EAEb,aAAa,EACb,YAAY,EAEZ,aAAa,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACH,sBAAsB,EAEtB,iBAAiB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,2BAA2B,EAC3B,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,+EAA+E,CAClF,CAAC;IACN,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,4DAA4D,CAC/D,CAAC;IACN,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,8EAA8E,CACjF,CAAC;IACN,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,qBAAqB,CAAC;QACzC,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,EAAE,EAAE,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACrE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,4BAA4B,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,IAAI,WAAW,GAAoE;QAC/E,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,EAAE;KACX,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACtC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,IAAI,GAAG,CAA2B,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;oBACnE,KAAK,EAAE,KAAK;oBACZ,cAAc,EAAE,QAAQ;iBAC3B,CAAC,CAAC;gBACH,WAAW,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;gBACtC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtC,OAAO;YACX,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,2BAA2B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,KAAK,MAAM,KAAK,CAAC,CAAC;YACjE,CAAC;YACD,wEAAwE;YACxE,MAAM,OAAO,GAAG,IAAI,GAAG,CAA2B,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE;gBACzD,QAAQ,EAAE,WAAW,EAAE,CAAC,OAAO;gBAC/B,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBACxB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAClD,OAAO,QAAQ,CAAC;gBACpB,CAAC;aACJ,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;gBAC3D,6DAA6D;gBAC7D,yDAAyD;gBACzD,wDAAwD;gBACxD,sDAAsD;gBACtD,yBAAyB;gBACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW;qBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;qBACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;qBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,GAAG,GAAG,MAAM,CAAC;gBACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;oBACxD,MAAM,QAAQ,GAAG,iBAAiB,CAC9B;wBACI,GAAG,KAAK,CAAC,WAAW;wBACpB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,sBAAsB,CAClB,CAAC,EACD,CAAC,CAAC,UAAU,EACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CACtC,CACJ;qBACJ,EACD,MAAM,EACN,OAAO,EACP,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAC7C,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;oBACtC,GAAG,GAAG,QAAQ,CAAC;gBACnB,CAAC;gBACD,WAAW,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBAC3C,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACjC,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACvF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE;gBAC/B,aAAa,EAAE,mBAAmB,CAAC,SAAS,CAAC;gBAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;aACvD,CAAC,CAAC;YACH,WAAW,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC;oBACD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,IAAI,CAAC,CAAC;oBACzD,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;YACD,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,WAAW,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;YACxC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC3B,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,8BAA8B,EAAE,CAAC,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClE,OAAO;QACX,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACf,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,wBAAwB;gBACzC,UAAU,EAAE,YAAY;aAC3B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YACrE,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC;IAEhE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,WAAW,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;QACvC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,CAAC,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACL,YAAY;YAChB,CAAC;QACL,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,GAAuB;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACvD,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,4BAA4B,GAAG,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,mEAAmE;AACnE,qFAAqF;AACrF,SAAS,aAAa,CAAC,IAAyC;IAC5D,IAAI,IAAgC,CAAC;IACrC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC;YACD,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBAC/B,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACrE,MAAM,IAAI,QAAQ,CACd,QAAQ,CAAC,UAAU,EACnB,2BAA2B,IAAI,CAAC,GAAG,KAAK;YACpC,6DAA6D,CACpE,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,GAAwB,EAAE,KAAa,EAAE,IAAY;IACpE,MAAM,KAAK,GAAG,IAAI;SACb,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;SACxB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,KAAK,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,OAAiC,EAAE,KAAa,EAAE,IAAY;IAC7E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACD,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,QAA6B;IAC5D,IAAI,KAAiC,CAAC;IACtC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;QACjD,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,KAAK,QAAQ,EAAE,CAAC;QACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,CAAC;AACb,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IAClC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3F,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,GAAG,cAAc,CAAC,CAAC;IAChG,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GACV,mKAAmK,CAAC;AAExK,SAAS,SAAS,CAAC,KAAgB;IAC/B,iEAAiE;IACjE,MAAM,EAAE,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,MAAM,EAAE,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,OAAO;;;;;;kEAMuD,EAAE,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCjF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const CLI_VERSION = "0.0.0-dev.20261013000451.g8cec577";
1
+ export declare const CLI_VERSION = "0.0.0-dev.20261013002534.ga8141f1";
2
2
  export interface CliBuild {
3
3
  /** Short git SHA at build time, or empty when not in a git checkout. */
4
4
  readonly sha: string;
@@ -1,7 +1,7 @@
1
1
  // Auto-generated by scripts/bundle-templates.mjs. Do not edit by hand.
2
- export const CLI_VERSION = "0.0.0-dev.20261013000451.g8cec577";
2
+ export const CLI_VERSION = "0.0.0-dev.20261013002534.ga8141f1";
3
3
  export const CLI_BUILD = {
4
- "sha": "8cec577",
4
+ "sha": "a8141f1",
5
5
  "isRelease": false,
6
6
  "isDirty": true
7
7
  };
@@ -0,0 +1,17 @@
1
+ export type LogLevel = 'verbose' | 'quiet' | 'normal';
2
+ /**
3
+ * The one place `-v` / `-q` decide what reaches stderr. Errors (usage errors,
4
+ * failed writes, validation errors) and machine output (JSON diagnostics)
5
+ * bypass this and always print; everything else goes through here so every
6
+ * command honors the flags the same way.
7
+ */
8
+ export interface Log {
9
+ /** `-v` only: progress lines such as `nowline: wrote <path>`. */
10
+ verbose(line: string): void;
11
+ /** Non-error notices (warnings, lossy summaries, banners). Dropped under `-q`. */
12
+ notice(line: string): void;
13
+ /** True under `-q`; callers that filter mixed output (diagnostics) check it. */
14
+ readonly quiet: boolean;
15
+ }
16
+ export declare function createLog(level: LogLevel, write?: (chunk: string) => void): Log;
17
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/io/log.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,GAAG;IAChB,iEAAiE;IACjE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kFAAkF;IAClF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,SAAS,CACrB,KAAK,EAAE,QAAQ,EACf,KAAK,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAEzB,GACF,GAAG,CAUL"}
package/dist/io/log.js ADDED
@@ -0,0 +1,16 @@
1
+ export function createLog(level, write = (chunk) => {
2
+ process.stderr.write(chunk);
3
+ }) {
4
+ return {
5
+ verbose: (line) => {
6
+ if (level === 'verbose')
7
+ write(`${line}\n`);
8
+ },
9
+ notice: (line) => {
10
+ if (level !== 'quiet')
11
+ write(`${line}\n`);
12
+ },
13
+ quiet: level === 'quiet',
14
+ };
15
+ }
16
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/io/log.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,SAAS,CACrB,KAAe,EACf,KAAK,GAA4B,CAAC,KAAK,EAAE,EAAE;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;IAED,OAAO;QACH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,KAAK,KAAK,OAAO;gBAAE,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,EAAE,KAAK,KAAK,OAAO;KAC3B,CAAC;AACN,CAAC"}
package/man/fr/nowline.1 CHANGED
@@ -5,7 +5,7 @@
5
5
  .\" Empreinte de la page anglaise relue pour cette traduction. Après avoir
6
6
  .\" reporté une modification de la page anglaise, remplacez-la par la ligne
7
7
  .\" qu'affiche packages/cli/test/man/translation-parity.test.ts.
8
- .\" translated-from: nowline.1 sha256:99c7bf54b42d489323e6929c91bb37a137022d041b3e093b70baae290bf7e5ad
8
+ .\" translated-from: nowline.1 sha256:acac95410a996ad8377859b4a92cb1787e2f45ff53f5a447fffe250e692ad0e4
9
9
  .Dd $Mdocdate$
10
10
  .Dt NOWLINE 1
11
11
  .Os
@@ -300,11 +300,14 @@ Facteur d'échelle pour le rendu raster (PNG uniquement\ ; 1 par défaut).
300
300
  .It Fl -strict
301
301
  Promeut les avertissements (assets, sanitiseur) en erreurs.
302
302
  .It Fl w , -width Ar px
303
- Largeur du canevas en pixels.
303
+ Largeur maximale du canevas en pixels.
304
304
  Par défaut\ :
305
305
  .Pa .nowlinerc
306
306
  .Sy width ,
307
- sinon 1280.
307
+ sinon aucune, et le canevas s'ajuste au contenu.
308
+ Une feuille de route plus large resserre sa frise pour tenir, jusqu'à un pixel
309
+ par jour\ ; les légendes qui débordent de leurs barres peuvent encore élargir le
310
+ canevas.
308
311
  .It Fl -non-working Ar mode
309
312
  Façon dont un calendrier ouvré affiche ses jours non travaillés sur le
310
313
  graphique\ :
@@ -389,7 +392,10 @@ Affiche des diagnostics supplémentaires sur la sortie d'erreur standard
389
392
  décisions de repli).
390
393
  .It Fl q , -quiet
391
394
  Supprime les messages non liés aux erreurs sur la sortie d'erreur
392
- standard.
395
+ standard : avertissements, notices et avertissements du rapport de
396
+ diagnostics d'une exécution en échec.
397
+ Les erreurs et les diagnostics JSON restent affichés, et le code de
398
+ sortie ne change pas.
393
399
  .El
394
400
  .Sh OPTIONS STANDARD
395
401
  .Bl -tag -width Fl
package/man/nowline.1 CHANGED
@@ -283,11 +283,13 @@ Raster scale factor (PNG only; default 1).
283
283
  .It Fl -strict
284
284
  Promote asset / sanitizer warnings to errors.
285
285
  .It Fl w , -width Ar px
286
- Canvas width in pixels.
286
+ Maximum canvas width in pixels.
287
287
  Default:
288
288
  .Pa .nowlinerc
289
289
  .Sy width ,
290
- else 1280.
290
+ else unset, so the canvas fits its content.
291
+ A wider roadmap shrinks its timeline to fit, down to one pixel per day;
292
+ captions that spill past their bars can still make the canvas wider.
291
293
  .It Fl -non-working Ar mode
292
294
  How a business calendar's non-working days appear on the chart:
293
295
  .Sy hide
@@ -368,7 +370,9 @@ The logging flags are mutually exclusive.
368
370
  Print extra diagnostics to standard error (config path, pipeline
369
371
  timings, font resolution, fallback decisions).
370
372
  .It Fl q , -quiet
371
- Suppress non-error standard error.
373
+ Suppress non-error standard error: warnings, notices, and the warnings
374
+ in a failed run's diagnostic report.
375
+ Errors and JSON diagnostics still print, and the exit code is unchanged.
372
376
  .El
373
377
  .Sh STANDARD OPTIONS
374
378
  .Bl -tag -width Fl
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nowline/cli",
3
- "version": "0.0.0-dev.20261013000451.g8cec577",
3
+ "version": "0.0.0-dev.20261013002534.ga8141f1",
4
4
  "description": "Command-line tool to check, convert, and create Nowline roadmaps.",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -34,19 +34,19 @@
34
34
  "@clack/prompts": "^1.8.1",
35
35
  "@modelcontextprotocol/node": "^2.1.0",
36
36
  "@modelcontextprotocol/server": "^2.2.0",
37
- "@nowline/config": "0.0.0-dev.20261013000451.g8cec577",
38
- "@nowline/core": "0.0.0-dev.20261013000451.g8cec577",
39
- "@nowline/export": "0.0.0-dev.20261013000451.g8cec577",
40
- "@nowline/export-core": "0.0.0-dev.20261013000451.g8cec577",
41
- "@nowline/export-html": "0.0.0-dev.20261013000451.g8cec577",
42
- "@nowline/export-mermaid": "0.0.0-dev.20261013000451.g8cec577",
43
- "@nowline/export-msproj": "0.0.0-dev.20261013000451.g8cec577",
44
- "@nowline/export-pdf": "0.0.0-dev.20261013000451.g8cec577",
45
- "@nowline/export-png": "0.0.0-dev.20261013000451.g8cec577",
46
- "@nowline/export-xlsx": "0.0.0-dev.20261013000451.g8cec577",
47
- "@nowline/layout": "0.0.0-dev.20261013000451.g8cec577",
48
- "@nowline/mcp": "0.0.0-dev.20261013000451.g8cec577",
49
- "@nowline/renderer": "0.0.0-dev.20261013000451.g8cec577",
37
+ "@nowline/config": "0.0.0-dev.20261013002534.ga8141f1",
38
+ "@nowline/core": "0.0.0-dev.20261013002534.ga8141f1",
39
+ "@nowline/export": "0.0.0-dev.20261013002534.ga8141f1",
40
+ "@nowline/export-core": "0.0.0-dev.20261013002534.ga8141f1",
41
+ "@nowline/export-html": "0.0.0-dev.20261013002534.ga8141f1",
42
+ "@nowline/export-mermaid": "0.0.0-dev.20261013002534.ga8141f1",
43
+ "@nowline/export-msproj": "0.0.0-dev.20261013002534.ga8141f1",
44
+ "@nowline/export-pdf": "0.0.0-dev.20261013002534.ga8141f1",
45
+ "@nowline/export-png": "0.0.0-dev.20261013002534.ga8141f1",
46
+ "@nowline/export-xlsx": "0.0.0-dev.20261013002534.ga8141f1",
47
+ "@nowline/layout": "0.0.0-dev.20261013002534.ga8141f1",
48
+ "@nowline/mcp": "0.0.0-dev.20261013002534.ga8141f1",
49
+ "@nowline/renderer": "0.0.0-dev.20261013002534.ga8141f1",
50
50
  "chalk": "^6.0.1",
51
51
  "citty": "^0.2.2",
52
52
  "consola": "^3.4.2",
package/src/cli/args.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type ParseArgsConfig, parseArgs } from 'node:util';
2
2
  import { isDiagnosticFormat } from '../diagnostics/format.js';
3
3
  import { CliError, ExitCode } from '../io/exit-codes.js';
4
+ import type { LogLevel } from '../io/log.js';
4
5
 
5
6
  export type ModeKind = 'render' | 'serve' | 'init' | 'mcp' | 'help' | 'version';
6
7
 
@@ -12,7 +13,7 @@ export interface ParsedArgs {
12
13
  /** True if `--dry-run` / `-n` was passed (only valid for render mode). */
13
14
  dryRun: boolean;
14
15
  /** Logging level. Verbose and quiet are mutually exclusive. */
15
- logLevel: 'verbose' | 'quiet' | 'normal';
16
+ logLevel: LogLevel;
16
17
 
17
18
  // I/O
18
19
  output?: string;
@@ -248,7 +249,7 @@ export function parseArgv(argv: readonly string[]): ParsedArgs {
248
249
  );
249
250
  }
250
251
 
251
- const logLevel: ParsedArgs['logLevel'] =
252
+ const logLevel: LogLevel =
252
253
  values.verbose === true ? 'verbose' : values.quiet === true ? 'quiet' : 'normal';
253
254
 
254
255
  return {
package/src/cli/help.ts CHANGED
@@ -66,7 +66,9 @@ RENDER OPTIONS
66
66
  --no-links Omit link icons from rendered items.
67
67
  -s, --scale <n> Raster scale factor (PNG only; default 1).
68
68
  --strict Promote asset / sanitizer warnings to errors.
69
- -w, --width <px> Canvas width in pixels (default: 1280).
69
+ -w, --width <px> Maximum canvas width in pixels. Default: fit the
70
+ content. A wider roadmap shrinks its timeline to
71
+ fit; long captions can still overflow it.
70
72
  --non-working <hide|show>
71
73
  How a business calendar's non-working days appear:
72
74
  hide collapses them (the default), show draws them
@@ -2,6 +2,7 @@ import type { ParsedArgs } from '../cli/args.js';
2
2
  import { defaultInitOutputPath, initNameHasIncompatibleExtension } from '../cli/output-path.js';
3
3
  import { TEMPLATE_NAMES, TEMPLATES, type TemplateName } from '../generated/templates.js';
4
4
  import { CliError, ExitCode } from '../io/exit-codes.js';
5
+ import { createLog } from '../io/log.js';
5
6
  import { writeOutput } from '../io/write.js';
6
7
 
7
8
  export interface InitHandlerOptions {
@@ -47,9 +48,7 @@ export async function initHandler(options: InitHandlerOptions): Promise<void> {
47
48
 
48
49
  await writeOutput(outputPath, rendered, 'text', { cwd });
49
50
 
50
- if (args.logLevel === 'verbose') {
51
- process.stderr.write(`nowline: wrote ${outputPath}\n`);
52
- }
51
+ createLog(args.logLevel).verbose(`nowline: wrote ${outputPath}`);
53
52
  }
54
53
 
55
54
  function parseTemplateName(raw: string | undefined): TemplateName {
@@ -3,6 +3,7 @@ import { NodeStreamableHTTPServerTransport } from '@modelcontextprotocol/node';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/server/stdio';
4
4
  import { createMcpServer } from '@nowline/mcp/server';
5
5
  import type { ParsedArgs } from '../cli/args.js';
6
+ import { createLog } from '../io/log.js';
6
7
 
7
8
  /**
8
9
  * `nowline --mcp` handler.
@@ -40,8 +41,8 @@ export async function mcpHandler({ args }: { args: ParsedArgs }): Promise<void>
40
41
 
41
42
  await new Promise<void>((resolve) => {
42
43
  httpServer.listen(port, '127.0.0.1', () => {
43
- process.stderr.write(
44
- `nowline: MCP Streamable HTTP listening on http://127.0.0.1:${port}\n`,
44
+ createLog(args.logLevel).notice(
45
+ `nowline: MCP Streamable HTTP listening on http://127.0.0.1:${port}`,
45
46
  );
46
47
  });
47
48
  httpServer.on('close', resolve);
@@ -51,6 +51,7 @@ import {
51
51
  } from '../i18n/locale.js';
52
52
  import { loadConfig, type NowlineRc } from '../io/config.js';
53
53
  import { CliError, ExitCode } from '../io/exit-codes.js';
54
+ import { createLog, type Log } from '../io/log.js';
54
55
  import { readInput } from '../io/read.js';
55
56
  import { writeOutput } from '../io/write.js';
56
57
 
@@ -77,6 +78,7 @@ export async function renderHandler(options: RenderHandlerOptions): Promise<void
77
78
  }
78
79
 
79
80
  const isStdoutOutput = args.output === '-';
81
+ const log = createLog(args.logLevel);
80
82
  const config = await loadConfigFor(args.positional, cwd);
81
83
 
82
84
  const format = resolveFormatOrThrow({
@@ -86,9 +88,7 @@ export async function renderHandler(options: RenderHandlerOptions): Promise<void
86
88
  isStdout: isStdoutOutput,
87
89
  });
88
90
 
89
- if (args.logLevel === 'verbose') {
90
- process.stderr.write(`nowline: format=${format} (resolved)\n`);
91
- }
91
+ log.verbose(`nowline: format=${format} (resolved)`);
92
92
 
93
93
  const resolvedOutput = resolveRenderOutputPath({
94
94
  outputArg: args.output,
@@ -140,14 +140,12 @@ export async function renderHandler(options: RenderHandlerOptions): Promise<void
140
140
  locale,
141
141
  operatorLocale: opLocale,
142
142
  resolvedLocale: resolved,
143
- verbose: args.logLevel === 'verbose',
143
+ log,
144
144
  diagnosticFormat: resolveDiagnosticFormat(args),
145
145
  });
146
146
 
147
147
  if (args.dryRun) {
148
- if (args.logLevel === 'verbose') {
149
- process.stderr.write('nowline: --dry-run; skipping write\n');
150
- }
148
+ log.verbose('nowline: --dry-run; skipping write');
151
149
  return;
152
150
  }
153
151
 
@@ -158,8 +156,8 @@ export async function renderHandler(options: RenderHandlerOptions): Promise<void
158
156
  { cwd },
159
157
  );
160
158
 
161
- if (args.logLevel === 'verbose' && !resolvedOutput.isStdout) {
162
- process.stderr.write(`nowline: wrote ${resolvedOutput.path}\n`);
159
+ if (!resolvedOutput.isStdout) {
160
+ log.verbose(`nowline: wrote ${resolvedOutput.path}`);
163
161
  }
164
162
  }
165
163
 
@@ -233,8 +231,8 @@ interface ProduceArgs {
233
231
  operatorLocale: string;
234
232
  /** Resolved locale override metadata, used for the verbose-mode source line. */
235
233
  resolvedLocale: import('../i18n/locale.js').ResolvedLocale;
236
- /** True for `--verbose`. Gates the `nowline: locale=...` source-line emission. */
237
- verbose: boolean;
234
+ /** `-v` / `-q` gate: verbose lines, warnings, and text-mode warning diagnostics. */
235
+ log: Log;
238
236
  /** How diagnostics are written to stderr. See `resolveDiagnosticFormat`. */
239
237
  diagnosticFormat: DiagnosticFormat;
240
238
  }
@@ -293,6 +291,7 @@ async function produce(args: ProduceArgs): Promise<ProduceResult> {
293
291
  marginPt: parseMargin(args.margin),
294
292
  pngScale: parseScale(args.scale),
295
293
  msprojStart: args.start,
294
+ onNotice: (message) => args.log.notice(message),
296
295
  };
297
296
 
298
297
  try {
@@ -399,20 +398,20 @@ async function resolveNodeFonts(
399
398
  if (args.strict) {
400
399
  throw new CliError(ExitCode.InputError, `nowline: ${message}`);
401
400
  }
402
- process.stderr.write(`warning: ${message}\n`);
401
+ args.log.notice(`warning: ${message}`);
403
402
  }
404
403
 
405
404
  // Bundled fallback after an opted-in probe found no usable system font.
406
405
  // Only meaningful when --use-system-fonts is set; warn under --strict.
407
406
  if (args.strict) {
408
407
  if (result.sansFellBackToBundled) {
409
- process.stderr.write(
410
- 'warning: sans font fell back to bundled DejaVu (no platform font found)\n',
408
+ args.log.notice(
409
+ 'warning: sans font fell back to bundled DejaVu (no platform font found)',
411
410
  );
412
411
  }
413
412
  if (result.monoFellBackToBundled) {
414
- process.stderr.write(
415
- 'warning: mono font fell back to bundled DejaVu (no platform font found)\n',
413
+ args.log.notice(
414
+ 'warning: mono font fell back to bundled DejaVu (no platform font found)',
416
415
  );
417
416
  }
418
417
  }
@@ -469,16 +468,14 @@ async function parseAndValidate(
469
468
  // whenever any diagnostic exists, warnings included, so a warnings-only
470
469
  // run still exits 0 with the document on stderr.
471
470
  if (failed || (args.diagnosticFormat === 'json' && diagnostics.length > 0)) {
472
- emitDiagnostics(diagnostics, sources, args.operatorLocale, args.diagnosticFormat);
471
+ emitDiagnostics(diagnostics, sources, args.operatorLocale, args.diagnosticFormat, args.log);
473
472
  }
474
473
  if (failed) {
475
474
  throw new CliError(ExitCode.ValidationError, '');
476
475
  }
477
- if (args.verbose) {
478
- const directive = readDirectiveLocale(result.ast);
479
- const { tag, source } = describeContentLocaleSource(directive, args.resolvedLocale);
480
- process.stderr.write(`nowline: locale=${tag} (${source})\n`);
481
- }
476
+ const directive = readDirectiveLocale(result.ast);
477
+ const { tag, source } = describeContentLocaleSource(directive, args.resolvedLocale);
478
+ args.log.verbose(`nowline: locale=${tag} (${source})`);
482
479
  return result;
483
480
  }
484
481
 
@@ -674,14 +671,25 @@ function emitDiagnostics(
674
671
  sources: Map<string, DiagnosticSource>,
675
672
  operatorLocale: string,
676
673
  format: DiagnosticFormat,
674
+ log: Log,
677
675
  ): void {
678
- const rendered = formatDiagnostics(diagnostics, format, sources, {
676
+ // JSON is machine output and always prints whole; text drops warnings under -q.
677
+ const shown = format === 'text' ? errorsOnlyWhenQuiet(diagnostics, log) : diagnostics;
678
+ const rendered = formatDiagnostics(shown, format, sources, {
679
679
  color: process.stderr.isTTY === true,
680
680
  operatorLocale,
681
681
  });
682
682
  if (rendered) process.stderr.write(`${rendered}\n`);
683
683
  }
684
684
 
685
+ /** Under `-q`, text-mode diagnostics keep only errors. Shared with serve. */
686
+ export function errorsOnlyWhenQuiet<T extends { severity: string }>(
687
+ diagnostics: T[],
688
+ log: Log,
689
+ ): T[] {
690
+ return log.quiet ? diagnostics.filter((d) => d.severity === 'error') : diagnostics;
691
+ }
692
+
685
693
  // ---- Asset resolver (still used by serve.ts) --------------------------------
686
694
 
687
695
  export function createAssetResolver(assetRoot: string): AssetResolver {
@@ -27,7 +27,8 @@ import {
27
27
  resolveLocaleOverride,
28
28
  } from '../i18n/locale.js';
29
29
  import { CliError, ExitCode } from '../io/exit-codes.js';
30
- import { createAssetResolver, loadConfigFor } from './render.js';
30
+ import { createLog, type Log } from '../io/log.js';
31
+ import { createAssetResolver, errorsOnlyWhenQuiet, loadConfigFor } from './render.js';
31
32
 
32
33
  export interface ServeHandlerOptions {
33
34
  args: ParsedArgs;
@@ -66,6 +67,7 @@ export async function serveHandler(options: ServeHandlerOptions): Promise<void>
66
67
  );
67
68
  }
68
69
 
70
+ const log = createLog(args.logLevel);
69
71
  const port = parsePort(args.port);
70
72
  const host = args.host ?? '127.0.0.1';
71
73
  const config = await loadConfigFor(args.positional, cwd);
@@ -103,20 +105,21 @@ export async function serveHandler(options: ServeHandlerOptions): Promise<void>
103
105
  const parse = await parseSource(text, inputPath, { validate: true });
104
106
  if (parse.hasErrors) {
105
107
  const sources = new Map<string, DiagnosticSource>([[inputPath, parse.source]]);
106
- const rendered = formatDiagnostics(parse.diagnostics, 'text', sources, {
107
- color: false,
108
- operatorLocale: opLocale,
109
- });
108
+ const format = (diagnostics: typeof parse.diagnostics): string =>
109
+ formatDiagnostics(diagnostics, 'text', sources, {
110
+ color: false,
111
+ operatorLocale: opLocale,
112
+ });
113
+ // The browser always gets the full report; stderr honors -q.
114
+ const rendered = format(parse.diagnostics);
110
115
  lastPayload = { kind: 'error', body: rendered };
111
- process.stderr.write(`${rendered}\n`);
116
+ process.stderr.write(`${format(errorsOnlyWhenQuiet(parse.diagnostics, log))}\n`);
112
117
  broadcast(clients, 'error', rendered);
113
118
  return;
114
119
  }
115
- if (args.logLevel === 'verbose') {
116
- const directive = readDirectiveLocale(parse.ast);
117
- const { tag, source } = describeContentLocaleSource(directive, resolvedLocale);
118
- process.stderr.write(`nowline: locale=${tag} (${source})\n`);
119
- }
120
+ const directive = readDirectiveLocale(parse.ast);
121
+ const { tag, source } = describeContentLocaleSource(directive, resolvedLocale);
122
+ log.verbose(`nowline: locale=${tag} (${source})`);
120
123
  // Included files' text, kept for the code frames of routed diagnostics.
121
124
  const sources = new Map<string, DiagnosticSource>([[inputPath, parse.source]]);
122
125
  const resolved = await resolveIncludes(parse.ast, inputPath, {
@@ -140,23 +143,23 @@ export async function serveHandler(options: ServeHandlerOptions): Promise<void>
140
143
  let msg = legacy;
141
144
  const routed = resolved.diagnostics.filter(isRoutedResolveDiagnostic);
142
145
  if (!legacy && routed.some((d) => d.severity === 'error')) {
143
- const rendered = formatDiagnostics(
144
- [
145
- ...parse.diagnostics,
146
- ...routed.map((d) =>
147
- adaptResolveDiagnostic(
148
- d,
149
- d.sourcePath,
150
- sources.get(d.sourcePath)?.contents,
151
- ),
146
+ const diagnostics = [
147
+ ...parse.diagnostics,
148
+ ...routed.map((d) =>
149
+ adaptResolveDiagnostic(
150
+ d,
151
+ d.sourcePath,
152
+ sources.get(d.sourcePath)?.contents,
152
153
  ),
153
- ],
154
- 'text',
155
- sources,
156
- { color: false, operatorLocale: opLocale },
157
- );
158
- process.stderr.write(`${rendered}\n`);
159
- msg = rendered;
154
+ ),
155
+ ];
156
+ const format = (shown: typeof diagnostics): string =>
157
+ formatDiagnostics(shown, 'text', sources, {
158
+ color: false,
159
+ operatorLocale: opLocale,
160
+ });
161
+ process.stderr.write(`${format(errorsOnlyWhenQuiet(diagnostics, log))}\n`);
162
+ msg = format(diagnostics);
160
163
  }
161
164
  lastPayload = { kind: 'error', body: msg };
162
165
  broadcast(clients, 'error', msg);
@@ -165,15 +168,13 @@ export async function serveHandler(options: ServeHandlerOptions): Promise<void>
165
168
  const model = layoutRoadmap(parse.ast, resolved, { theme, today, locale, nonWorking });
166
169
  const svg = await renderSvg(model, {
167
170
  assetResolver: createAssetResolver(assetRoot),
168
- warn: (m) => process.stderr.write(`warning: ${m}\n`),
171
+ warn: (m) => log.notice(`warning: ${m}`),
169
172
  });
170
173
  lastPayload = { kind: 'svg', body: svg };
171
174
  if (fileSink) {
172
175
  try {
173
176
  await fs.writeFile(fileSink, svg);
174
- if (args.logLevel === 'verbose') {
175
- process.stderr.write(`nowline: wrote ${fileSink}\n`);
176
- }
177
+ log.verbose(`nowline: wrote ${fileSink}`);
177
178
  } catch (err) {
178
179
  const msg = err instanceof Error ? err.message : String(err);
179
180
  process.stderr.write(`nowline: failed to write ${fileSink}: ${msg}\n`);
@@ -228,7 +229,7 @@ export async function serveHandler(options: ServeHandlerOptions): Promise<void>
228
229
  process.stdout.write(`nowline serve: http://${host}:${port}\n`);
229
230
 
230
231
  if (args.open) {
231
- await openBrowser(`http://${host}:${port}`);
232
+ await openBrowser(`http://${host}:${port}`, log);
232
233
  }
233
234
 
234
235
  const shutdown = async (): Promise<void> => {
@@ -316,7 +317,7 @@ function watchFile(target: string, onChange: () => Promise<void>): FSWatcher {
316
317
  return w;
317
318
  }
318
319
 
319
- async function openBrowser(url: string): Promise<void> {
320
+ async function openBrowser(url: string, log: Log): Promise<void> {
320
321
  const { spawn } = await import('node:child_process');
321
322
  const platform = process.platform;
322
323
  const command = platform === 'darwin' ? 'open' : platform === 'win32' ? 'cmd' : 'xdg-open';
@@ -325,7 +326,7 @@ async function openBrowser(url: string): Promise<void> {
325
326
  const child = spawn(command, argList, { stdio: 'ignore', detached: true });
326
327
  child.unref();
327
328
  } catch {
328
- process.stderr.write(`nowline: warning — failed to open browser; visit ${url} manually.\n`);
329
+ log.notice(`nowline: warning — failed to open browser; visit ${url} manually.`);
329
330
  }
330
331
  }
331
332
 
@@ -1,6 +1,6 @@
1
1
  // Auto-generated by scripts/bundle-templates.mjs. Do not edit by hand.
2
2
 
3
- export const CLI_VERSION = "0.0.0-dev.20261013000451.g8cec577";
3
+ export const CLI_VERSION = "0.0.0-dev.20261013002534.ga8141f1";
4
4
 
5
5
  export interface CliBuild {
6
6
  /** Short git SHA at build time, or empty when not in a git checkout. */
@@ -12,7 +12,7 @@ export interface CliBuild {
12
12
  }
13
13
 
14
14
  export const CLI_BUILD: CliBuild = {
15
- "sha": "8cec577",
15
+ "sha": "a8141f1",
16
16
  "isRelease": false,
17
17
  "isDirty": true
18
18
  };
package/src/io/log.ts ADDED
@@ -0,0 +1,33 @@
1
+ export type LogLevel = 'verbose' | 'quiet' | 'normal';
2
+
3
+ /**
4
+ * The one place `-v` / `-q` decide what reaches stderr. Errors (usage errors,
5
+ * failed writes, validation errors) and machine output (JSON diagnostics)
6
+ * bypass this and always print; everything else goes through here so every
7
+ * command honors the flags the same way.
8
+ */
9
+ export interface Log {
10
+ /** `-v` only: progress lines such as `nowline: wrote <path>`. */
11
+ verbose(line: string): void;
12
+ /** Non-error notices (warnings, lossy summaries, banners). Dropped under `-q`. */
13
+ notice(line: string): void;
14
+ /** True under `-q`; callers that filter mixed output (diagnostics) check it. */
15
+ readonly quiet: boolean;
16
+ }
17
+
18
+ export function createLog(
19
+ level: LogLevel,
20
+ write: (chunk: string) => void = (chunk) => {
21
+ process.stderr.write(chunk);
22
+ },
23
+ ): Log {
24
+ return {
25
+ verbose: (line) => {
26
+ if (level === 'verbose') write(`${line}\n`);
27
+ },
28
+ notice: (line) => {
29
+ if (level !== 'quiet') write(`${line}\n`);
30
+ },
31
+ quiet: level === 'quiet',
32
+ };
33
+ }