podlite 0.0.79 → 0.0.80
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 +28 -0
- package/esm/cli.js +79 -11
- package/esm/cli.js.map +1 -1
- package/esm/lint/config.d.ts +2 -0
- package/esm/lint/config.js +46 -0
- package/esm/lint/config.js.map +1 -1
- package/esm/lint/grammar/lint.js +7 -4
- package/esm/lint/grammar/lint.js.map +1 -1
- package/esm/lint/grammar/scan.d.ts +1 -1
- package/esm/lint/grammar/scan.js +12 -2
- package/esm/lint/grammar/scan.js.map +1 -1
- package/esm/lint/index.d.ts +11 -0
- package/esm/lint/index.js +29 -17
- package/esm/lint/index.js.map +1 -1
- package/esm/lint/parallel.d.ts +4 -0
- package/esm/lint/parallel.js +57 -0
- package/esm/lint/parallel.js.map +1 -0
- package/esm/lint/rules/abbreviated-attrs.d.ts +4 -0
- package/esm/lint/rules/abbreviated-attrs.js +67 -0
- package/esm/lint/rules/abbreviated-attrs.js.map +1 -0
- package/esm/lint/rules/dead-definitions.d.ts +3 -0
- package/esm/lint/rules/dead-definitions.js +80 -0
- package/esm/lint/rules/dead-definitions.js.map +1 -0
- package/esm/lint/rules/index.js +2 -0
- package/esm/lint/rules/index.js.map +1 -1
- package/esm/lint/rules/markdown-in-pod.d.ts +4 -0
- package/esm/lint/rules/markdown-in-pod.js +67 -0
- package/esm/lint/rules/markdown-in-pod.js.map +1 -0
- package/esm/lint/rules/table-column-width.js +10 -6
- package/esm/lint/rules/table-column-width.js.map +1 -1
- package/esm/lint/types.d.ts +1 -0
- package/esm/lint/worker.d.ts +5 -0
- package/esm/lint/worker.js +15 -0
- package/esm/lint/worker.js.map +1 -0
- package/esm/query.js +4 -1
- package/esm/query.js.map +1 -1
- package/esm/resolve-includes.js +56 -7
- package/esm/resolve-includes.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/lib/cli.js +78 -10
- package/lib/cli.js.map +1 -1
- package/lib/lint/config.d.ts +2 -0
- package/lib/lint/config.js +48 -0
- package/lib/lint/config.js.map +1 -1
- package/lib/lint/grammar/lint.js +7 -4
- package/lib/lint/grammar/lint.js.map +1 -1
- package/lib/lint/grammar/scan.d.ts +1 -1
- package/lib/lint/grammar/scan.js +11 -1
- package/lib/lint/grammar/scan.js.map +1 -1
- package/lib/lint/index.d.ts +11 -0
- package/lib/lint/index.js +67 -15
- package/lib/lint/index.js.map +1 -1
- package/lib/lint/parallel.d.ts +4 -0
- package/lib/lint/parallel.js +95 -0
- package/lib/lint/parallel.js.map +1 -0
- package/lib/lint/rules/abbreviated-attrs.d.ts +4 -0
- package/lib/lint/rules/abbreviated-attrs.js +71 -0
- package/lib/lint/rules/abbreviated-attrs.js.map +1 -0
- package/lib/lint/rules/dead-definitions.d.ts +3 -0
- package/lib/lint/rules/dead-definitions.js +83 -0
- package/lib/lint/rules/dead-definitions.js.map +1 -0
- package/lib/lint/rules/index.js +2 -0
- package/lib/lint/rules/index.js.map +1 -1
- package/lib/lint/rules/markdown-in-pod.d.ts +4 -0
- package/lib/lint/rules/markdown-in-pod.js +71 -0
- package/lib/lint/rules/markdown-in-pod.js.map +1 -0
- package/lib/lint/rules/table-column-width.js +9 -5
- package/lib/lint/rules/table-column-width.js.map +1 -1
- package/lib/lint/types.d.ts +1 -0
- package/lib/lint/worker.d.ts +5 -0
- package/lib/lint/worker.js +17 -0
- package/lib/lint/worker.js.map +1 -0
- package/lib/query.js +4 -1
- package/lib/query.js.map +1 -1
- package/lib/resolve-includes.js +55 -6
- package/lib/resolve-includes.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +13 -7
package/esm/resolve-includes.js
CHANGED
|
@@ -1,7 +1,46 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
-
import { getTextContentFromNode, parseSelector, runSelector } from '@podlite/schema';
|
|
3
|
+
import { filePathMatches, getTextContentFromNode, parseSelector, runSelector, } from '@podlite/schema';
|
|
4
4
|
const isIncludeBlock = (node) => node && typeof node === 'object' && node.type === 'block' && node.name === 'include';
|
|
5
|
+
const hasMask = (target) => /[*?]/.test(target);
|
|
6
|
+
const reachesSubdirs = (target) => target.includes('**');
|
|
7
|
+
// A mask that crosses directories could otherwise walk a whole disk from a
|
|
8
|
+
// short prefix.
|
|
9
|
+
const maxDepth = 32;
|
|
10
|
+
// Everything up to the last separator that carries no mask; the rest is matched
|
|
11
|
+
// by the selector itself, which already knows the pattern language.
|
|
12
|
+
const fixedPrefix = (target) => {
|
|
13
|
+
const parts = target.split('/');
|
|
14
|
+
const upto = parts.findIndex(hasMask);
|
|
15
|
+
return parts.slice(0, upto === -1 ? parts.length : upto).join('/');
|
|
16
|
+
};
|
|
17
|
+
const listDir = (dir, deep, depth = 0) => {
|
|
18
|
+
let entries;
|
|
19
|
+
try {
|
|
20
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
const named = entries.filter(e => !e.name.startsWith('.')).sort((a, b) => (a.name < b.name ? -1 : 1));
|
|
26
|
+
const files = named.filter(e => e.isFile()).map(e => e.name);
|
|
27
|
+
if (!deep || depth >= maxDepth)
|
|
28
|
+
return files;
|
|
29
|
+
const nested = named
|
|
30
|
+
.filter(e => e.isDirectory())
|
|
31
|
+
.flatMap(e => listDir(path.join(dir, e.name), deep, depth + 1).map(inner => `${e.name}/${inner}`));
|
|
32
|
+
return [...files, ...nested];
|
|
33
|
+
};
|
|
34
|
+
// Candidate paths for a masked target, written the way the target is written so
|
|
35
|
+
// the selector matches them back. Matching runs before the file is read: the
|
|
36
|
+
// directory may hold anything, and a mask that does not name it must not send
|
|
37
|
+
// it through the parser.
|
|
38
|
+
const expandMask = (target, baseDir) => {
|
|
39
|
+
const prefix = fixedPrefix(target);
|
|
40
|
+
return listDir(path.resolve(baseDir, prefix), reachesSubdirs(target))
|
|
41
|
+
.map(name => (prefix ? `${prefix}/${name}` : name))
|
|
42
|
+
.filter(file => filePathMatches(file, target));
|
|
43
|
+
};
|
|
5
44
|
const keepBlocks = (items) => items.filter(item => item && typeof item === 'object' && !('file' in item));
|
|
6
45
|
const unwrapRoot = (blocks) => blocks.flatMap((b) => b && b.type === 'block' && b.name === 'root' && Array.isArray(b.content) ? b.content : [b]);
|
|
7
46
|
export const resolveIncludes = (tree, opts) => {
|
|
@@ -14,14 +53,24 @@ export const resolveIncludes = (tree, opts) => {
|
|
|
14
53
|
const parsed = selector ? parseSelector(selector) : undefined;
|
|
15
54
|
if (!selector || !parsed || parsed.scheme !== 'file' || !parsed.document)
|
|
16
55
|
return node;
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (!fs.existsSync(target)) {
|
|
56
|
+
const masked = hasMask(parsed.document);
|
|
57
|
+
const written = masked ? expandMask(parsed.document, baseDir) : [parsed.document];
|
|
58
|
+
if (!masked && !fs.existsSync(path.resolve(baseDir, parsed.document))) {
|
|
21
59
|
throw new Error(`include target not found: ${parsed.document}`);
|
|
22
60
|
}
|
|
23
|
-
const
|
|
24
|
-
|
|
61
|
+
const docs = [];
|
|
62
|
+
for (const file of written) {
|
|
63
|
+
const target = path.resolve(baseDir, file);
|
|
64
|
+
if (stack.includes(target))
|
|
65
|
+
continue;
|
|
66
|
+
docs.push({
|
|
67
|
+
file,
|
|
68
|
+
node: walkNode(opts.parse(fs.readFileSync(target, 'utf-8')), path.dirname(target), [...stack, target]),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (docs.length === 0)
|
|
72
|
+
return [];
|
|
73
|
+
return unwrapRoot(keepBlocks(runSelector(selector, docs)));
|
|
25
74
|
}
|
|
26
75
|
if (Array.isArray(node.content))
|
|
27
76
|
return { ...node, content: walkList(node.content, baseDir, stack) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-includes.js","sourceRoot":"","sources":["../src/resolve-includes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-includes.js","sourceRoot":"","sources":["../src/resolve-includes.ts"],"names":[],"mappings":"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"}
|
package/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.80";
|
package/esm/version.js
CHANGED
package/lib/cli.js
CHANGED
|
@@ -36,10 +36,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
const fs = __importStar(require("fs"));
|
|
37
37
|
const path = __importStar(require("path"));
|
|
38
38
|
const schema_1 = require("@podlite/schema");
|
|
39
|
-
const index_1 = require("./index");
|
|
40
39
|
const lint_1 = require("./lint");
|
|
40
|
+
const config_1 = require("./lint/config");
|
|
41
|
+
const parallel_1 = require("./lint/parallel");
|
|
41
42
|
const query_1 = require("./query");
|
|
42
43
|
const resolve_includes_1 = require("./resolve-includes");
|
|
44
|
+
// The plugin registry brings the diagram renderer, and with it mermaid and
|
|
45
|
+
// React. Only conversion renders anything, so the registry is raised there and
|
|
46
|
+
// not at startup — a check or a query used to pay for it, and on a runtime that
|
|
47
|
+
// forbids loading an ESM package through require the command died before it
|
|
48
|
+
// had read its arguments.
|
|
49
|
+
const parserWithPlugins = () => {
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
51
|
+
const { podlite } = require('./index');
|
|
52
|
+
return podlite({ importPlugins: true });
|
|
53
|
+
};
|
|
43
54
|
const FORMATS = {
|
|
44
55
|
md: '.md',
|
|
45
56
|
markdown: '.md',
|
|
@@ -48,10 +59,12 @@ const FORMATS = {
|
|
|
48
59
|
const QUERY_FORMATS = ['podlite', 'md', 'html', 'json'];
|
|
49
60
|
const LINT_FORMATS = ['text', 'json'];
|
|
50
61
|
const STDIN_MARKER = '-';
|
|
62
|
+
const RENDER_MODES = ['production', 'draft'];
|
|
51
63
|
function usage() {
|
|
52
64
|
console.log(`Usage:
|
|
53
|
-
podlite convert <files...|-> --to <format> [-o <output|->]
|
|
65
|
+
podlite convert <files...|-> --to <format> [-o <output|->] [--render-mode <production|draft>]
|
|
54
66
|
podlite lint <files...|-> [--strict] [--format <text|json>] [--config <path>]
|
|
67
|
+
[--enable <rule>] [--disable <rule>]
|
|
55
68
|
podlite query <selector> <files...> [--to <format>] [--fail-on-empty] [--quiet]
|
|
56
69
|
|
|
57
70
|
Commands:
|
|
@@ -65,8 +78,14 @@ Options:
|
|
|
65
78
|
query: podlite (default), md, html, json
|
|
66
79
|
--format lint output format: text (default), json
|
|
67
80
|
--strict lint: promote warnings to errors
|
|
68
|
-
--config lint: path to .podlitelintrc.{json,js}
|
|
81
|
+
--config lint: path to .podlitelintrc.{json,js}; without it the nearest one
|
|
82
|
+
at or above the first checked file is used
|
|
83
|
+
--enable lint: run a rule the config turned off (repeatable)
|
|
84
|
+
--disable lint: turn a rule off for this run (repeatable)
|
|
69
85
|
--base convert: prefix for relative file: image paths (or env PODLITE_BASE)
|
|
86
|
+
--render-mode
|
|
87
|
+
convert: production (default, covered content is masked) or draft
|
|
88
|
+
(covered content is shown); or env PODLITE_RENDER_MODE
|
|
70
89
|
-o Output file or directory, or - for stdout (default: same dir, new extension)
|
|
71
90
|
--fail-on-empty query: exit 1 if no blocks matched
|
|
72
91
|
--quiet query: suppress match count on stderr
|
|
@@ -98,6 +117,9 @@ function parseArgs(argv) {
|
|
|
98
117
|
format: '',
|
|
99
118
|
configPath: '',
|
|
100
119
|
base: '',
|
|
120
|
+
renderMode: '',
|
|
121
|
+
enable: [],
|
|
122
|
+
disable: [],
|
|
101
123
|
};
|
|
102
124
|
if (argv.length === 0 || argv[0] === '--help' || argv[0] === '-h') {
|
|
103
125
|
return null;
|
|
@@ -130,6 +152,19 @@ function parseArgs(argv) {
|
|
|
130
152
|
else if (arg === '--base') {
|
|
131
153
|
args.base = argv[++i] || '';
|
|
132
154
|
}
|
|
155
|
+
else if (arg === '--render-mode') {
|
|
156
|
+
args.renderMode = argv[++i] || '';
|
|
157
|
+
}
|
|
158
|
+
else if (arg === '--enable') {
|
|
159
|
+
const rule = argv[++i];
|
|
160
|
+
if (rule)
|
|
161
|
+
args.enable.push(rule);
|
|
162
|
+
}
|
|
163
|
+
else if (arg === '--disable') {
|
|
164
|
+
const rule = argv[++i];
|
|
165
|
+
if (rule)
|
|
166
|
+
args.disable.push(rule);
|
|
167
|
+
}
|
|
133
168
|
else if (arg === '--help' || arg === '-h') {
|
|
134
169
|
return null;
|
|
135
170
|
}
|
|
@@ -140,7 +175,7 @@ function parseArgs(argv) {
|
|
|
140
175
|
}
|
|
141
176
|
return args;
|
|
142
177
|
}
|
|
143
|
-
function convertFile(inputPath, format, outputPath, base) {
|
|
178
|
+
function convertFile(inputPath, format, outputPath, base, renderMode = 'production') {
|
|
144
179
|
const ext = FORMATS[format];
|
|
145
180
|
if (!ext) {
|
|
146
181
|
console.error(`Unknown format: ${format}. Supported: ${Object.keys(FORMATS).join(', ')}`);
|
|
@@ -148,7 +183,7 @@ function convertFile(inputPath, format, outputPath, base) {
|
|
|
148
183
|
}
|
|
149
184
|
const fromStdin = inputPath === STDIN_MARKER;
|
|
150
185
|
const content = fromStdin ? readStdinSync() : fs.readFileSync(inputPath, 'utf-8');
|
|
151
|
-
const p = (
|
|
186
|
+
const p = parserWithPlugins();
|
|
152
187
|
const parseToAst = (source) => p.toAst(p.parse(source, { podMode: 1 }));
|
|
153
188
|
let tree = parseToAst(content);
|
|
154
189
|
try {
|
|
@@ -160,10 +195,10 @@ function convertFile(inputPath, format, outputPath, base) {
|
|
|
160
195
|
}
|
|
161
196
|
let result;
|
|
162
197
|
if (format === 'md' || format === 'markdown') {
|
|
163
|
-
result = (0, schema_1.toMarkdown)({ base }).run(tree).toString();
|
|
198
|
+
result = (0, schema_1.toMarkdown)({ base, renderMode }).run(tree).toString();
|
|
164
199
|
}
|
|
165
200
|
else if (format === 'html') {
|
|
166
|
-
result = (0, schema_1.toHtml)({ base }).run(tree).toString();
|
|
201
|
+
result = (0, schema_1.toHtml)({ base, renderMode }).run(tree).toString();
|
|
167
202
|
}
|
|
168
203
|
else {
|
|
169
204
|
console.error(`Format "${format}" not implemented yet`);
|
|
@@ -261,6 +296,27 @@ function runQueryCommand(args) {
|
|
|
261
296
|
process.exitCode = 1;
|
|
262
297
|
}
|
|
263
298
|
}
|
|
299
|
+
function runLintOnThreads(files, options) {
|
|
300
|
+
let config;
|
|
301
|
+
try {
|
|
302
|
+
config = (0, lint_1.resolveConfig)(files, options);
|
|
303
|
+
}
|
|
304
|
+
catch (e) {
|
|
305
|
+
if (!(e instanceof config_1.ConfigError))
|
|
306
|
+
throw e;
|
|
307
|
+
console.error(`podlite lint: ${e.message}`);
|
|
308
|
+
process.exitCode = 2;
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
(0, parallel_1.lintFilesInParallel)(files, config)
|
|
312
|
+
.then(reports => {
|
|
313
|
+
process.exitCode = (0, lint_1.reportLint)(reports, options);
|
|
314
|
+
})
|
|
315
|
+
.catch(e => {
|
|
316
|
+
console.error(`podlite lint: ${e.message}`);
|
|
317
|
+
process.exitCode = 2;
|
|
318
|
+
});
|
|
319
|
+
}
|
|
264
320
|
function main() {
|
|
265
321
|
process.stdout.on('error', (err) => {
|
|
266
322
|
if (err.code !== 'EPIPE') {
|
|
@@ -290,12 +346,19 @@ function main() {
|
|
|
290
346
|
console.error(`podlite lint: unknown --format "${format}". Supported: ${LINT_FORMATS.join(', ')}`);
|
|
291
347
|
process.exit(2);
|
|
292
348
|
}
|
|
293
|
-
|
|
349
|
+
const lintOptions = {
|
|
294
350
|
strict: args.strict,
|
|
295
351
|
format,
|
|
296
352
|
configPath: args.configPath || undefined,
|
|
297
353
|
stdinContent,
|
|
298
|
-
|
|
354
|
+
enable: args.enable,
|
|
355
|
+
disable: args.disable,
|
|
356
|
+
};
|
|
357
|
+
if (stdinContent === undefined && (0, parallel_1.worthThreads)(files)) {
|
|
358
|
+
runLintOnThreads(files, lintOptions);
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
process.exitCode = (0, lint_1.runLint)(files, lintOptions);
|
|
299
362
|
return;
|
|
300
363
|
}
|
|
301
364
|
if (args.command !== 'convert') {
|
|
@@ -316,6 +379,11 @@ function main() {
|
|
|
316
379
|
usage();
|
|
317
380
|
process.exit(1);
|
|
318
381
|
}
|
|
382
|
+
const renderMode = (args.renderMode || process.env.PODLITE_RENDER_MODE || 'production');
|
|
383
|
+
if (!RENDER_MODES.includes(renderMode)) {
|
|
384
|
+
console.error(`Unknown render mode: ${renderMode}. Supported: ${RENDER_MODES.join(', ')}`);
|
|
385
|
+
process.exit(1);
|
|
386
|
+
}
|
|
319
387
|
const toStdout = args.output === STDIN_MARKER;
|
|
320
388
|
if (sources.length > 1 && args.output && !toStdout && !fs.existsSync(args.output)) {
|
|
321
389
|
fs.mkdirSync(args.output, { recursive: true });
|
|
@@ -325,7 +393,7 @@ function main() {
|
|
|
325
393
|
console.error(`File not found: ${file}`);
|
|
326
394
|
process.exit(1);
|
|
327
395
|
}
|
|
328
|
-
convertFile(file, args.to, args.output || undefined, args.base || process.env.PODLITE_BASE);
|
|
396
|
+
convertFile(file, args.to, args.output || undefined, args.base || process.env.PODLITE_BASE, renderMode);
|
|
329
397
|
}
|
|
330
398
|
}
|
|
331
399
|
main();
|
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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"}
|
package/lib/lint/config.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { LintConfig, Violation } from './types';
|
|
2
2
|
export declare class ConfigError extends Error {
|
|
3
3
|
}
|
|
4
|
+
export declare function findConfig(startDir: string): string | undefined;
|
|
4
5
|
export declare function readConfig(configPath?: string): LintConfig;
|
|
6
|
+
export declare function applyRuleFlags(config: LintConfig, enable: string[], disable: string[]): LintConfig;
|
|
5
7
|
export declare const isRuleOff: (config: LintConfig, ruleId: string) => boolean;
|
|
6
8
|
export declare function applyConfig(violations: Violation[], config: LintConfig): Violation[];
|
package/lib/lint/config.js
CHANGED
|
@@ -34,16 +34,38 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.isRuleOff = exports.ConfigError = void 0;
|
|
37
|
+
exports.findConfig = findConfig;
|
|
37
38
|
exports.readConfig = readConfig;
|
|
39
|
+
exports.applyRuleFlags = applyRuleFlags;
|
|
38
40
|
exports.applyConfig = applyConfig;
|
|
39
41
|
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
40
43
|
const SETTINGS = ['off', 'error', 'warning', 'info'];
|
|
44
|
+
const CONFIG_NAMES = ['.podlitelintrc.json', '.podlitelintrc.js'];
|
|
41
45
|
class ConfigError extends Error {
|
|
42
46
|
}
|
|
43
47
|
exports.ConfigError = ConfigError;
|
|
48
|
+
// Nearest config at or above the given directory. The first name of CONFIG_NAMES
|
|
49
|
+
// present in a directory wins; a directory closer to the file wins over one above.
|
|
50
|
+
function findConfig(startDir) {
|
|
51
|
+
let dir = path.resolve(startDir);
|
|
52
|
+
for (;;) {
|
|
53
|
+
for (const name of CONFIG_NAMES) {
|
|
54
|
+
const candidate = path.join(dir, name);
|
|
55
|
+
if (fs.existsSync(candidate))
|
|
56
|
+
return candidate;
|
|
57
|
+
}
|
|
58
|
+
const up = path.dirname(dir);
|
|
59
|
+
if (up === dir)
|
|
60
|
+
return undefined;
|
|
61
|
+
dir = up;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
44
64
|
function readConfig(configPath) {
|
|
45
65
|
if (!configPath)
|
|
46
66
|
return {};
|
|
67
|
+
if (configPath.endsWith('.js'))
|
|
68
|
+
return readJsConfig(configPath);
|
|
47
69
|
let raw;
|
|
48
70
|
try {
|
|
49
71
|
raw = fs.readFileSync(configPath, 'utf-8');
|
|
@@ -58,6 +80,21 @@ function readConfig(configPath) {
|
|
|
58
80
|
catch (e) {
|
|
59
81
|
throw new ConfigError(`cannot read config ${configPath}: ${e.message}`);
|
|
60
82
|
}
|
|
83
|
+
return checkConfigShape(parsed, configPath);
|
|
84
|
+
}
|
|
85
|
+
function readJsConfig(configPath) {
|
|
86
|
+
let loaded;
|
|
87
|
+
try {
|
|
88
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
89
|
+
loaded = require(path.resolve(configPath));
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
throw new ConfigError(`cannot read config ${configPath}: ${e.message}`);
|
|
93
|
+
}
|
|
94
|
+
const value = loaded?.default ?? loaded;
|
|
95
|
+
return checkConfigShape(value, configPath);
|
|
96
|
+
}
|
|
97
|
+
function checkConfigShape(parsed, configPath) {
|
|
61
98
|
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
62
99
|
throw new ConfigError(`config ${configPath} must hold an object`);
|
|
63
100
|
}
|
|
@@ -77,6 +114,17 @@ function readConfig(configPath) {
|
|
|
77
114
|
}
|
|
78
115
|
return { rules: checked };
|
|
79
116
|
}
|
|
117
|
+
// Flags stand above the file: they are typed for this run and mean it.
|
|
118
|
+
function applyRuleFlags(config, enable, disable) {
|
|
119
|
+
if (enable.length === 0 && disable.length === 0)
|
|
120
|
+
return config;
|
|
121
|
+
const rules = { ...(config.rules || {}) };
|
|
122
|
+
for (const id of disable)
|
|
123
|
+
rules[id] = 'off';
|
|
124
|
+
for (const id of enable)
|
|
125
|
+
delete rules[id];
|
|
126
|
+
return { ...config, rules };
|
|
127
|
+
}
|
|
80
128
|
const isRuleOff = (config, ruleId) => config.rules?.[ruleId] === 'off';
|
|
81
129
|
exports.isRuleOff = isRuleOff;
|
|
82
130
|
function applyConfig(violations, config) {
|
package/lib/lint/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lint/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lint/config.ts"],"names":[],"mappings":"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"}
|
package/lib/lint/grammar/lint.js
CHANGED
|
@@ -119,7 +119,7 @@ function peg$parse(input, options) {
|
|
|
119
119
|
var peg$FAILED = {}, peg$startRuleFunctions = { start: peg$parsestart }, peg$startRuleFunction = peg$parsestart, peg$c0 = peg$anyExpectation(), peg$c1 = ':', peg$c2 = peg$literalExpectation(':', false), peg$c3 = '<', peg$c4 = peg$literalExpectation('<', false), peg$c5 = /^[^>]/, peg$c6 = peg$classExpectation(['>'], true, false), peg$c7 = '>', peg$c8 = peg$literalExpectation('>', false), peg$c9 = function (name, value) {
|
|
120
120
|
// only a real attribute list is checked: `<` and `>` in running text or in
|
|
121
121
|
// a verbatim block are not markup
|
|
122
|
-
const verbatim = options._blockStack.some(b => options.
|
|
122
|
+
const verbatim = options._blockStack.some(b => options.isVerbatim(b.name));
|
|
123
123
|
if (!options._inDirective || verbatim)
|
|
124
124
|
return null;
|
|
125
125
|
const advice = 'use a non-conflicting delimiter ("...", (...), <<...>>) or plain text';
|
|
@@ -146,7 +146,7 @@ function peg$parse(input, options) {
|
|
|
146
146
|
return null;
|
|
147
147
|
}, peg$c10 = '=begin', peg$c11 = peg$literalExpectation('=begin', false), peg$c12 = function (name) {
|
|
148
148
|
const top = options._blockStack[options._blockStack.length - 1];
|
|
149
|
-
const verbatim = top && options.
|
|
149
|
+
const verbatim = top && options.isVerbatim(top.name);
|
|
150
150
|
if (verbatim) {
|
|
151
151
|
// the same name closes the enclosing block early and orphans the marker after it
|
|
152
152
|
if (top.name === name) {
|
|
@@ -172,7 +172,7 @@ function peg$parse(input, options) {
|
|
|
172
172
|
}, peg$c13 = '=end', peg$c14 = peg$literalExpectation('=end', false), peg$c15 = function (name) {
|
|
173
173
|
const top = options._blockStack[options._blockStack.length - 1];
|
|
174
174
|
// a verbatim block runs to its own =end, so any other marker inside it is content
|
|
175
|
-
if (top && top.name !== name && options.
|
|
175
|
+
if (top && top.name !== name && options.isVerbatim(top.name)) {
|
|
176
176
|
options._inDirective = false;
|
|
177
177
|
return null;
|
|
178
178
|
}
|
|
@@ -204,7 +204,7 @@ function peg$parse(input, options) {
|
|
|
204
204
|
}, peg$c19 = '!', peg$c20 = peg$literalExpectation('!', false), peg$c21 = function (name) {
|
|
205
205
|
// any verbatim block on the stack makes this line content: markers written
|
|
206
206
|
// inside such a block are an example, not structure
|
|
207
|
-
const verbatim = options._blockStack.some(b => options.
|
|
207
|
+
const verbatim = options._blockStack.some(b => options.isVerbatim(b.name));
|
|
208
208
|
if (options._inDirective && !verbatim) {
|
|
209
209
|
options.diagnostics.push({
|
|
210
210
|
rule: 'attr-continuation-dropped',
|
|
@@ -1086,6 +1086,9 @@ function peg$parse(input, options) {
|
|
|
1086
1086
|
options.diagnostics = options.diagnostics || [];
|
|
1087
1087
|
options._blockStack = options._blockStack || [];
|
|
1088
1088
|
options.verbatimBlocks = options.verbatimBlocks || [];
|
|
1089
|
+
// a predicate, not a list: a named block is spelled by its case, so its names
|
|
1090
|
+
// cannot be enumerated ahead of time
|
|
1091
|
+
options.isVerbatim = options.isVerbatim || (name => options.verbatimBlocks.indexOf(name) !== -1);
|
|
1089
1092
|
if (typeof options._inDirective !== 'boolean')
|
|
1090
1093
|
options._inDirective = false;
|
|
1091
1094
|
peg$result = peg$startRuleFunction();
|