podlite 0.0.52 → 0.0.54

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/CHANGELOG.podlite CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  =head1 Upcoming
4
4
 
5
+ =head1 0.0.54
6
+
7
+ =item add C<< podlite lint <files...> >> subcommand (stub; rules land in upcoming releases)
8
+
5
9
  =head1 0.0.47
6
10
 
7
11
  =item added CLI entrypoint C<bin/podlite.js>
package/esm/cli.js CHANGED
@@ -1,16 +1,20 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import { parse, toMarkdown, toHtml } from '@podlite/schema';
4
+ import { runLint } from './lint';
4
5
  const FORMATS = {
5
6
  md: '.md',
6
7
  markdown: '.md',
7
8
  html: '.html',
8
9
  };
9
10
  function usage() {
10
- console.log(`Usage: podlite convert <files...> --to <format> [-o <output>]
11
+ console.log(`Usage:
12
+ podlite convert <files...> --to <format> [-o <output>]
13
+ podlite lint <files...>
11
14
 
12
15
  Commands:
13
16
  convert Convert Podlite files to another format
17
+ lint Check Podlite/Markdown files for issues (work in progress)
14
18
 
15
19
  Options:
16
20
  --to Output format: md (markdown), html
@@ -20,7 +24,8 @@ Options:
20
24
  Examples:
21
25
  podlite convert doc.pod6 --to md
22
26
  podlite convert *.pod6 --to md -o output/
23
- podlite convert README.pod6 --to md -o README.md`);
27
+ podlite convert README.pod6 --to md -o README.md
28
+ podlite lint docs/*.podlite`);
24
29
  }
25
30
  function parseArgs(argv) {
26
31
  const args = {
@@ -97,6 +102,14 @@ function main() {
97
102
  usage();
98
103
  process.exit(0);
99
104
  }
105
+ if (args.command === 'lint') {
106
+ if (args.files.length === 0) {
107
+ console.error('No input files specified');
108
+ usage();
109
+ process.exit(1);
110
+ }
111
+ process.exit(runLint(args.files));
112
+ }
100
113
  if (args.command !== 'convert') {
101
114
  console.error(`Unknown command: ${args.command}`);
102
115
  usage();
package/esm/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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"}
@@ -0,0 +1,3 @@
1
+ import type { PodliteDocument } from '@podlite/schema';
2
+ import type { Rule, LintContext, Violation } from './types';
3
+ export declare function runRules(ast: PodliteDocument, rules: Rule[], ctx: LintContext): Violation[];
@@ -0,0 +1,4 @@
1
+ export function runRules(ast, rules, ctx) {
2
+ return rules.flatMap(rule => rule.check(ast, ctx));
3
+ }
4
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/lint/engine.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,QAAQ,CAAC,GAAoB,EAAE,KAAa,EAAE,GAAgB;IAC5E,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACpD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function runLint(files: string[]): number;
@@ -0,0 +1,13 @@
1
+ /* =begin pod
2
+ =head2 C<runLint>
3
+
4
+ Stub entry point for the C<podlite lint> subcommand. Returns the exit code
5
+ the CLI should propagate. Until rules land (Track 7 phase 2), it logs a
6
+ placeholder and exits cleanly.
7
+
8
+ =end pod */
9
+ export function runLint(files) {
10
+ console.log(`lint: stub — received ${files.length} file(s); rules not yet implemented`);
11
+ return 0;
12
+ }
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;WAOW;AACX,MAAM,UAAU,OAAO,CAAC,KAAe;IACrC,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAA;IACvF,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Location, PodliteDocument } from '@podlite/schema';
2
+ export declare type Severity = 'error' | 'warning' | 'info';
3
+ export declare type FileType = 'md' | 'podlite';
4
+ export declare type LintConfig = Record<string, never>;
5
+ export declare type LintContext = {
6
+ filePath: string;
7
+ fileType: FileType;
8
+ config: LintConfig;
9
+ };
10
+ export declare type Violation = {
11
+ rule: string;
12
+ severity: Severity;
13
+ message: string;
14
+ location?: Location;
15
+ };
16
+ export declare type Rule = {
17
+ id: string;
18
+ severity: Severity;
19
+ check: (ast: PodliteDocument, ctx: LintContext) => Violation[];
20
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lint/types.ts"],"names":[],"mappings":""}
package/lib/cli.js CHANGED
@@ -22,16 +22,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  const fs = __importStar(require("fs"));
23
23
  const path = __importStar(require("path"));
24
24
  const schema_1 = require("@podlite/schema");
25
+ const lint_1 = require("./lint");
25
26
  const FORMATS = {
26
27
  md: '.md',
27
28
  markdown: '.md',
28
29
  html: '.html',
29
30
  };
30
31
  function usage() {
31
- console.log(`Usage: podlite convert <files...> --to <format> [-o <output>]
32
+ console.log(`Usage:
33
+ podlite convert <files...> --to <format> [-o <output>]
34
+ podlite lint <files...>
32
35
 
33
36
  Commands:
34
37
  convert Convert Podlite files to another format
38
+ lint Check Podlite/Markdown files for issues (work in progress)
35
39
 
36
40
  Options:
37
41
  --to Output format: md (markdown), html
@@ -41,7 +45,8 @@ Options:
41
45
  Examples:
42
46
  podlite convert doc.pod6 --to md
43
47
  podlite convert *.pod6 --to md -o output/
44
- podlite convert README.pod6 --to md -o README.md`);
48
+ podlite convert README.pod6 --to md -o README.md
49
+ podlite lint docs/*.podlite`);
45
50
  }
46
51
  function parseArgs(argv) {
47
52
  const args = {
@@ -118,6 +123,14 @@ function main() {
118
123
  usage();
119
124
  process.exit(0);
120
125
  }
126
+ if (args.command === 'lint') {
127
+ if (args.files.length === 0) {
128
+ console.error('No input files specified');
129
+ usage();
130
+ process.exit(1);
131
+ }
132
+ process.exit((0, lint_1.runLint)(args.files));
133
+ }
121
134
  if (args.command !== 'convert') {
122
135
  console.error(`Unknown command: ${args.command}`);
123
136
  usage();
package/lib/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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"}
@@ -0,0 +1,3 @@
1
+ import type { PodliteDocument } from '@podlite/schema';
2
+ import type { Rule, LintContext, Violation } from './types';
3
+ export declare function runRules(ast: PodliteDocument, rules: Rule[], ctx: LintContext): Violation[];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runRules = void 0;
4
+ function runRules(ast, rules, ctx) {
5
+ return rules.flatMap(rule => rule.check(ast, ctx));
6
+ }
7
+ exports.runRules = runRules;
8
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/lint/engine.ts"],"names":[],"mappings":";;;AAGA,SAAgB,QAAQ,CAAC,GAAoB,EAAE,KAAa,EAAE,GAAgB;IAC5E,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACpD,CAAC;AAFD,4BAEC"}
@@ -0,0 +1 @@
1
+ export declare function runLint(files: string[]): number;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runLint = void 0;
4
+ /* =begin pod
5
+ =head2 C<runLint>
6
+
7
+ Stub entry point for the C<podlite lint> subcommand. Returns the exit code
8
+ the CLI should propagate. Until rules land (Track 7 phase 2), it logs a
9
+ placeholder and exits cleanly.
10
+
11
+ =end pod */
12
+ function runLint(files) {
13
+ console.log(`lint: stub — received ${files.length} file(s); rules not yet implemented`);
14
+ return 0;
15
+ }
16
+ exports.runLint = runLint;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lint/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;WAOW;AACX,SAAgB,OAAO,CAAC,KAAe;IACrC,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAA;IACvF,OAAO,CAAC,CAAA;AACV,CAAC;AAHD,0BAGC"}
@@ -0,0 +1,20 @@
1
+ import type { Location, PodliteDocument } from '@podlite/schema';
2
+ export declare type Severity = 'error' | 'warning' | 'info';
3
+ export declare type FileType = 'md' | 'podlite';
4
+ export declare type LintConfig = Record<string, never>;
5
+ export declare type LintContext = {
6
+ filePath: string;
7
+ fileType: FileType;
8
+ config: LintConfig;
9
+ };
10
+ export declare type Violation = {
11
+ rule: string;
12
+ severity: Severity;
13
+ message: string;
14
+ location?: Location;
15
+ };
16
+ export declare type Rule = {
17
+ id: string;
18
+ severity: Severity;
19
+ check: (ast: PodliteDocument, ctx: LintContext) => Violation[];
20
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lint/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "podlite",
3
- "version": "0.0.52",
3
+ "version": "0.0.54",
4
4
  "description": "Podlite markup language parser — Markdown-compatible, with native support for diagrams, formulas, and custom blocks",
5
5
  "homepage": "https://podlite.org",
6
6
  "repository": {
@@ -16,6 +16,7 @@
16
16
  "scripts": {
17
17
  "test": "yarn g:jest --passWithNoTests",
18
18
  "build": "yarn g:build",
19
+ "typecheck:lint": "tsc -p src/lint/tsconfig.json --noEmit",
19
20
  "watch": "run-p -r watch:*",
20
21
  "watch:ts": "tsc -w --pretty",
21
22
  "watch:tests": "jest --watch -t \"test\""
@@ -49,12 +50,12 @@
49
50
  "url": "https://github.com/podlite/podlite/issues"
50
51
  },
51
52
  "dependencies": {
52
- "@podlite/diagram": "^0.0.43",
53
- "@podlite/formula": "0.0.21",
54
- "@podlite/image": "^0.0.38",
55
- "@podlite/markdown": "0.0.32",
56
- "@podlite/schema": "^0.0.39",
57
- "@podlite/toc": "0.0.32",
53
+ "@podlite/diagram": "^0.0.45",
54
+ "@podlite/formula": "0.0.23",
55
+ "@podlite/image": "^0.0.40",
56
+ "@podlite/markdown": "0.0.34",
57
+ "@podlite/schema": "^0.0.41",
58
+ "@podlite/toc": "0.0.34",
58
59
  "nanoid": "3.1.30"
59
60
  },
60
61
  "devDependencies": {