flowlint 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +45 -355
  2. package/dist/cli.js +163 -21
  3. package/dist/cli.js.map +1 -1
  4. package/package.json +52 -57
  5. package/dist/cli.d.ts +0 -8
  6. package/dist/commands/init.d.ts +0 -8
  7. package/dist/commands/init.js +0 -34
  8. package/dist/commands/init.js.map +0 -1
  9. package/dist/commands/scan.d.ts +0 -11
  10. package/dist/commands/scan.js +0 -104
  11. package/dist/commands/scan.js.map +0 -1
  12. package/dist/packages/config/flowlint-config.d.ts +0 -73
  13. package/dist/packages/config/flowlint-config.js +0 -120
  14. package/dist/packages/config/flowlint-config.js.map +0 -1
  15. package/dist/packages/config/index.d.ts +0 -4
  16. package/dist/packages/config/index.js +0 -21
  17. package/dist/packages/config/index.js.map +0 -1
  18. package/dist/packages/github/client.d.ts +0 -2
  19. package/dist/packages/github/client.js +0 -94
  20. package/dist/packages/github/client.js.map +0 -1
  21. package/dist/packages/logger/index.d.ts +0 -11
  22. package/dist/packages/logger/index.js +0 -40
  23. package/dist/packages/logger/index.js.map +0 -1
  24. package/dist/packages/observability/collectors.d.ts +0 -40
  25. package/dist/packages/observability/collectors.js +0 -75
  26. package/dist/packages/observability/collectors.js.map +0 -1
  27. package/dist/packages/observability/index.d.ts +0 -10
  28. package/dist/packages/observability/index.js +0 -35
  29. package/dist/packages/observability/index.js.map +0 -1
  30. package/dist/packages/observability/metrics.d.ts +0 -119
  31. package/dist/packages/observability/metrics.js +0 -194
  32. package/dist/packages/observability/metrics.js.map +0 -1
  33. package/dist/packages/observability/middleware.d.ts +0 -32
  34. package/dist/packages/observability/middleware.js +0 -58
  35. package/dist/packages/observability/middleware.js.map +0 -1
  36. package/dist/packages/review/analysis-engine.d.ts +0 -19
  37. package/dist/packages/review/analysis-engine.js +0 -111
  38. package/dist/packages/review/analysis-engine.js.map +0 -1
  39. package/dist/packages/review/index.d.ts +0 -12
  40. package/dist/packages/review/index.js +0 -29
  41. package/dist/packages/review/index.js.map +0 -1
  42. package/dist/packages/review/parser-n8n.d.ts +0 -2
  43. package/dist/packages/review/parser-n8n.js +0 -122
  44. package/dist/packages/review/parser-n8n.js.map +0 -1
  45. package/dist/packages/review/providers/github.d.ts +0 -62
  46. package/dist/packages/review/providers/github.js +0 -275
  47. package/dist/packages/review/providers/github.js.map +0 -1
  48. package/dist/packages/review/providers.d.ts +0 -106
  49. package/dist/packages/review/providers.js +0 -12
  50. package/dist/packages/review/providers.js.map +0 -1
  51. package/dist/packages/review/reporter.d.ts +0 -17
  52. package/dist/packages/review/reporter.js +0 -59
  53. package/dist/packages/review/reporter.js.map +0 -1
  54. package/dist/packages/review/rules/index.d.ts +0 -9
  55. package/dist/packages/review/rules/index.js +0 -415
  56. package/dist/packages/review/rules/index.js.map +0 -1
  57. package/dist/packages/review/rules/rule-utils.d.ts +0 -36
  58. package/dist/packages/review/rules/rule-utils.js +0 -75
  59. package/dist/packages/review/rules/rule-utils.js.map +0 -1
  60. package/dist/packages/review/schemas/index.d.ts +0 -17
  61. package/dist/packages/review/schemas/index.js +0 -167
  62. package/dist/packages/review/schemas/index.js.map +0 -1
  63. package/dist/packages/review/schemas/n8n-workflow.schema.json +0 -177
  64. package/dist/packages/review/sniffer.d.ts +0 -15
  65. package/dist/packages/review/sniffer.js +0 -47
  66. package/dist/packages/review/sniffer.js.map +0 -1
  67. package/dist/packages/review/types.d.ts +0 -40
  68. package/dist/packages/review/types.js +0 -3
  69. package/dist/packages/review/types.js.map +0 -1
  70. package/dist/packages/review/utils/findings.d.ts +0 -23
  71. package/dist/packages/review/utils/findings.js +0 -34
  72. package/dist/packages/review/utils/findings.js.map +0 -1
  73. package/dist/packages/review/utils/merge.d.ts +0 -12
  74. package/dist/packages/review/utils/merge.js +0 -40
  75. package/dist/packages/review/utils/merge.js.map +0 -1
  76. package/dist/packages/review/utils.d.ts +0 -60
  77. package/dist/packages/review/utils.js +0 -214
  78. package/dist/packages/review/utils.js.map +0 -1
  79. package/dist/packages/tracing/github-tracer.d.ts +0 -38
  80. package/dist/packages/tracing/github-tracer.js +0 -79
  81. package/dist/packages/tracing/github-tracer.js.map +0 -1
  82. package/dist/packages/tracing/index.d.ts +0 -81
  83. package/dist/packages/tracing/index.js +0 -240
  84. package/dist/packages/tracing/index.js.map +0 -1
  85. package/dist/packages/tracing/tracer.d.ts +0 -30
  86. package/dist/packages/tracing/tracer.js +0 -141
  87. package/dist/packages/tracing/tracer.js.map +0 -1
  88. package/dist/providers/local-config-provider.d.ts +0 -11
  89. package/dist/providers/local-config-provider.js +0 -39
  90. package/dist/providers/local-config-provider.js.map +0 -1
  91. package/dist/providers/local-file-source.d.ts +0 -13
  92. package/dist/providers/local-file-source.js +0 -47
  93. package/dist/providers/local-file-source.js.map +0 -1
  94. package/dist/reporters/console-reporter.d.ts +0 -8
  95. package/dist/reporters/console-reporter.js +0 -75
  96. package/dist/reporters/console-reporter.js.map +0 -1
  97. package/dist/reporters/github-actions-reporter.d.ts +0 -30
  98. package/dist/reporters/github-actions-reporter.js +0 -104
  99. package/dist/reporters/github-actions-reporter.js.map +0 -1
  100. package/dist/reporters/json-reporter.d.ts +0 -14
  101. package/dist/reporters/json-reporter.js +0 -57
  102. package/dist/reporters/json-reporter.js.map +0 -1
  103. package/dist/reporters/junit-reporter.d.ts +0 -25
  104. package/dist/reporters/junit-reporter.js +0 -142
  105. package/dist/reporters/junit-reporter.js.map +0 -1
  106. package/dist/reporters/sarif-reporter.d.ts +0 -21
  107. package/dist/reporters/sarif-reporter.js +0 -125
  108. package/dist/reporters/sarif-reporter.js.map +0 -1
@@ -1,111 +0,0 @@
1
- "use strict";
2
- /**
3
- * FlowLint Analysis Engine
4
- *
5
- * Orchestrates the linting workflow:
6
- * 1. Load configuration
7
- * 2. Fetch files to analyze
8
- * 3. Parse each file into a graph
9
- * 4. Run rules against the graph
10
- * 5. Report results
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.DefaultAnalysisEngine = void 0;
14
- const parser_n8n_1 = require("./parser-n8n");
15
- const rules_1 = require("./rules");
16
- const schemas_1 = require("./schemas");
17
- const logger_1 = require("../logger");
18
- const findings_1 = require("./utils/findings");
19
- const utils_1 = require("./utils");
20
- class DefaultAnalysisEngine {
21
- constructor(fileSource, configProvider, reporter) {
22
- this.fileSource = fileSource;
23
- this.configProvider = configProvider;
24
- this.reporter = reporter;
25
- }
26
- async analyze() {
27
- // 1. Load configuration
28
- const cfg = await this.configProvider.load();
29
- logger_1.logger.debug({ rules: Object.keys(cfg.rules) }, 'loaded configuration');
30
- // 2. Fetch files to analyze
31
- const files = await this.fileSource.getFiles(cfg.files);
32
- logger_1.logger.info({ count: files.length }, 'fetched files for analysis');
33
- // 3. Analyze each file
34
- const results = [];
35
- let errorCount = 0;
36
- for (const file of files) {
37
- try {
38
- // Parse file to graph
39
- const graph = (0, parser_n8n_1.parseN8n)(file.content);
40
- logger_1.logger.debug({ file: file.path, nodes: graph.nodes.length }, 'parsed file');
41
- // Run all rules
42
- const findings = (0, rules_1.runAllRules)(graph, {
43
- path: file.path,
44
- cfg,
45
- nodeLines: graph.meta.nodeLines,
46
- });
47
- // Inject documentation URLs into findings
48
- findings.forEach((f) => {
49
- f.documentationUrl = (0, utils_1.getExampleLink)(f.rule);
50
- });
51
- results.push({
52
- file,
53
- graph,
54
- findings,
55
- });
56
- }
57
- catch (error) {
58
- errorCount++;
59
- const message = error instanceof Error ? error.message : String(error);
60
- const raw_details = this.formatParseError(error);
61
- logger_1.logger.warn({ file: file.path, error: message }, 'failed to parse file');
62
- // Add error finding
63
- const errorFinding = {
64
- rule: 'PARSE',
65
- severity: 'must',
66
- path: file.path,
67
- message,
68
- raw_details,
69
- line: 1,
70
- };
71
- results.push({
72
- file,
73
- graph: { nodes: [], edges: [], meta: {} },
74
- findings: [errorFinding],
75
- errors: [{ error: message, details: raw_details }],
76
- });
77
- }
78
- }
79
- // 4. Calculate summary
80
- const allFindings = results.flatMap((r) => r.findings);
81
- const summary = (0, findings_1.countFindingsBySeverity)(allFindings);
82
- // 5. Report results
83
- logger_1.logger.info({ totalResults: results.length, totalFindings: summary.total }, 'reporting results');
84
- await this.reporter.report(results);
85
- // 6. Return summary
86
- return {
87
- totalFiles: files.length,
88
- totalFindings: summary.total,
89
- findingsBySeverity: { must: summary.must, should: summary.should, nit: summary.nit },
90
- errors: errorCount,
91
- hasBlockingIssues: summary.must > 0,
92
- };
93
- }
94
- formatParseError(error) {
95
- if (error instanceof schemas_1.ValidationError && Array.isArray(error.errors) && error.errors.length > 0) {
96
- return error.errors
97
- .map((err) => {
98
- const suggestion = err.suggestion ? ` (suggestion: ${err.suggestion})` : '';
99
- return `- ${err.path}: ${err.message}${suggestion}`;
100
- })
101
- .join('\n')
102
- .slice(0, 64000);
103
- }
104
- if (error instanceof Error && error.stack) {
105
- return error.stack.slice(0, 64000);
106
- }
107
- return undefined;
108
- }
109
- }
110
- exports.DefaultAnalysisEngine = DefaultAnalysisEngine;
111
- //# sourceMappingURL=analysis-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analysis-engine.js","sourceRoot":"","sources":["../../../packages/review/analysis-engine.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Main exports from packages/review
3
- */
4
- export * from './types';
5
- export * from './providers';
6
- export * from './analysis-engine';
7
- export * from './parser-n8n';
8
- export * from './rules';
9
- export * from './reporter';
10
- export * from './sniffer';
11
- export * from './schemas';
12
- export * from './providers/github';
@@ -1,29 +0,0 @@
1
- "use strict";
2
- /**
3
- * Main exports from packages/review
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- __exportStar(require("./types"), exports);
21
- __exportStar(require("./providers"), exports);
22
- __exportStar(require("./analysis-engine"), exports);
23
- __exportStar(require("./parser-n8n"), exports);
24
- __exportStar(require("./rules"), exports);
25
- __exportStar(require("./reporter"), exports);
26
- __exportStar(require("./sniffer"), exports);
27
- __exportStar(require("./schemas"), exports);
28
- __exportStar(require("./providers/github"), exports);
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/review/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,8CAA4B;AAC5B,oDAAkC;AAClC,+CAA6B;AAC7B,0CAAwB;AACxB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,qDAAmC"}
@@ -1,2 +0,0 @@
1
- import type { Graph } from './types';
2
- export declare function parseN8n(doc: string): Graph;
@@ -1,122 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseN8n = parseN8n;
7
- const yaml_1 = __importDefault(require("yaml"));
8
- const schemas_1 = require("./schemas");
9
- const utils_1 = require("./utils");
10
- function parseN8n(doc) {
11
- let parsed;
12
- try {
13
- parsed = JSON.parse(doc);
14
- }
15
- catch {
16
- parsed = yaml_1.default.parse(doc);
17
- }
18
- // Validate workflow structure before parsing
19
- (0, schemas_1.validateN8nWorkflow)(parsed);
20
- const nodes = parsed.nodes.map((node, idx) => {
21
- const nodeId = node.id || node.name || `node-${idx}`;
22
- const flags = {
23
- continueOnFail: node.continueOnFail,
24
- retryOnFail: node.retryOnFail ?? node.settings?.retryOnFail,
25
- waitBetweenTries: node.waitBetweenTries ?? node.settings?.waitBetweenTries,
26
- maxTries: node.maxTries ?? node.settings?.maxTries,
27
- };
28
- const hasFlags = flags.continueOnFail !== undefined ||
29
- flags.retryOnFail !== undefined ||
30
- flags.waitBetweenTries !== undefined;
31
- return {
32
- id: nodeId,
33
- type: node.type,
34
- name: node.name,
35
- params: node.parameters,
36
- cred: node.credentials,
37
- flags: hasFlags ? flags : undefined,
38
- };
39
- });
40
- const nameToId = new Map();
41
- for (const node of nodes) {
42
- if (node.id)
43
- nameToId.set(node.id, node.id);
44
- if (node.name)
45
- nameToId.set(node.name, node.id);
46
- }
47
- const lines = doc.split(/\r?\n/);
48
- const idLine = new Map();
49
- const nameLine = new Map();
50
- lines.forEach((line, idx) => {
51
- const idMatch = line.match(/"id":\s*"([^"]+)"/);
52
- if (idMatch)
53
- idLine.set(idMatch[1], idx + 1);
54
- const nameMatch = line.match(/"name":\s*"([^"]+)"/);
55
- if (nameMatch)
56
- nameLine.set(nameMatch[1], idx + 1);
57
- });
58
- const nodeLines = new Map();
59
- for (const node of nodes) {
60
- const lineNumber = (node.name && nameLine.get(node.name)) || idLine.get(node.id);
61
- if (lineNumber) {
62
- nodeLines.set(node.id, lineNumber);
63
- }
64
- }
65
- const nodeById = new Map();
66
- for (const node of nodes) {
67
- nodeById.set(node.id, node);
68
- }
69
- const resolveEdgeType = (connectionType, outputIndex, sourceType) => {
70
- if (connectionType === 'error')
71
- return 'error';
72
- if (connectionType === 'timeout')
73
- return 'timeout';
74
- if (connectionType === 'main') {
75
- if (typeof outputIndex === 'number' &&
76
- outputIndex > 0 &&
77
- sourceType &&
78
- (0, utils_1.isErrorProneNode)(sourceType)) {
79
- return 'error';
80
- }
81
- return 'success';
82
- }
83
- return 'success';
84
- };
85
- const edges = [];
86
- Object.entries(parsed.connections || {}).forEach(([from, exits]) => {
87
- if (!exits) {
88
- return;
89
- }
90
- const exitChannels = exits;
91
- Object.entries(exitChannels).forEach(([exitType, conn]) => {
92
- const sourceId = nameToId.get(from) ?? from;
93
- const sourceNode = nodeById.get(sourceId);
94
- const enqueueEdges = (value, outputIndex) => {
95
- (0, utils_1.flattenConnections)(value).forEach((link) => {
96
- if (!link || typeof link !== 'object')
97
- return;
98
- const targetId = nameToId.get(link.node) ?? link.node;
99
- if (!targetId)
100
- return;
101
- const edgeType = resolveEdgeType(exitType, outputIndex, sourceNode?.type);
102
- edges.push({ from: sourceId, to: targetId, on: edgeType });
103
- });
104
- };
105
- if (Array.isArray(conn)) {
106
- conn.forEach((entry, index) => enqueueEdges(entry, index));
107
- }
108
- else {
109
- enqueueEdges(conn);
110
- }
111
- });
112
- });
113
- return {
114
- nodes,
115
- edges,
116
- meta: {
117
- credentials: !!parsed.credentials,
118
- nodeLines: Object.fromEntries(nodeLines),
119
- },
120
- };
121
- }
122
- //# sourceMappingURL=parser-n8n.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser-n8n.js","sourceRoot":"","sources":["../../../packages/review/parser-n8n.ts"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- /**
2
- * GitHub-specific provider implementations.
3
- * These are used by the existing GitHub App workflow.
4
- */
5
- import type { Octokit } from 'octokit';
6
- import type { FileSource, LintableFile, ConfigProvider, Reporter, AnalysisResult } from '../providers';
7
- import type { FlowLintConfig } from '../../config/flowlint-config';
8
- /**
9
- * GitHub PR FileSource
10
- * Fetches changed files from a GitHub Pull Request
11
- */
12
- export declare class GitHubPrFileSource implements FileSource {
13
- private gh;
14
- private repo;
15
- private prNumber;
16
- constructor(gh: Octokit, repo: string, prNumber: number);
17
- getFiles(patterns: {
18
- include: string[];
19
- ignore: string[];
20
- }): Promise<LintableFile[]>;
21
- /**
22
- * Filter PR files based on glob patterns
23
- */
24
- private pickTargets;
25
- /**
26
- * Fetch raw file content from GitHub
27
- */
28
- private fetchRawFiles;
29
- }
30
- /**
31
- * GitHub Remote ConfigProvider
32
- * Loads .flowlint.yml from a GitHub repository
33
- */
34
- export declare class GitHubConfigProvider implements ConfigProvider {
35
- private gh;
36
- private repo;
37
- private sha;
38
- constructor(gh: Octokit, repo: string, sha: string);
39
- load(): Promise<FlowLintConfig>;
40
- /**
41
- * Deep merge default config with overrides
42
- */
43
- private deepMerge;
44
- private mergeInto;
45
- }
46
- /**
47
- * GitHub Check Run Reporter
48
- * Sends results to GitHub Checks API
49
- */
50
- export declare class GitHubCheckReporter implements Reporter {
51
- private gh;
52
- private repo;
53
- private checkRunId;
54
- private cfg;
55
- private readonly BATCH_SIZE;
56
- constructor(gh: Octokit, repo: string, checkRunId: number, cfg: FlowLintConfig);
57
- report(results: AnalysisResult[]): Promise<void>;
58
- private buildAnnotations;
59
- private inferConclusion;
60
- private summarize;
61
- private mapSeverity;
62
- }
@@ -1,275 +0,0 @@
1
- "use strict";
2
- /**
3
- * GitHub-specific provider implementations.
4
- * These are used by the existing GitHub App workflow.
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- var __importDefault = (this && this.__importDefault) || function (mod) {
40
- return (mod && mod.__esModule) ? mod : { "default": mod };
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.GitHubCheckReporter = exports.GitHubConfigProvider = exports.GitHubPrFileSource = void 0;
44
- const logger_1 = require("../../logger");
45
- const micromatch_1 = __importDefault(require("micromatch"));
46
- /**
47
- * GitHub PR FileSource
48
- * Fetches changed files from a GitHub Pull Request
49
- */
50
- class GitHubPrFileSource {
51
- constructor(gh, repo, prNumber) {
52
- this.gh = gh;
53
- this.repo = repo;
54
- this.prNumber = prNumber;
55
- }
56
- async getFiles(patterns) {
57
- const [owner, repoName] = this.repo.split('/');
58
- const paginate = this.gh.paginate;
59
- if (typeof paginate !== 'function') {
60
- throw new Error('Octokit client is missing paginate(); ensure @octokit/plugin-paginate-rest is registered.');
61
- }
62
- // 1. List all files in the PR
63
- const allFiles = await paginate.call(this.gh, 'GET /repos/{owner}/{repo}/pulls/{pull_number}/files', {
64
- owner,
65
- repo: repoName,
66
- pull_number: this.prNumber,
67
- per_page: 100,
68
- });
69
- // 2. Filter for target files using globs
70
- const targets = this.pickTargets(allFiles, patterns);
71
- // 3. Fetch raw content
72
- const { contents } = await this.fetchRawFiles(targets);
73
- return Array.from(contents.entries()).map(([path, content]) => ({
74
- path,
75
- content,
76
- }));
77
- }
78
- /**
79
- * Filter PR files based on glob patterns
80
- */
81
- pickTargets(files, globs) {
82
- return files
83
- .filter((file) => file.status !== 'removed')
84
- .filter((file) => {
85
- const normalized = file.filename.replace(/\\/g, '/');
86
- const included = micromatch_1.default.isMatch(normalized, globs.include, { dot: true });
87
- const ignored = micromatch_1.default.isMatch(normalized, globs.ignore, { dot: true });
88
- return included && !ignored;
89
- });
90
- }
91
- /**
92
- * Fetch raw file content from GitHub
93
- */
94
- async fetchRawFiles(targets) {
95
- const [owner, repoName] = this.repo.split('/');
96
- const contents = new Map();
97
- const errors = [];
98
- for (const file of targets) {
99
- if (!file.sha) {
100
- errors.push({ filename: file.filename, error: 'Missing SHA (file may be removed)' });
101
- continue;
102
- }
103
- try {
104
- const { data: blob } = await this.gh.request('GET /repos/{owner}/{repo}/git/blobs/{file_sha}', {
105
- owner,
106
- repo: repoName,
107
- file_sha: file.sha,
108
- });
109
- const raw = Buffer.from(blob.content, 'base64').toString('utf8');
110
- contents.set(file.filename, raw);
111
- }
112
- catch (error) {
113
- const errorMsg = error instanceof Error ? error.message : String(error);
114
- logger_1.logger.warn({ filename: file.filename, error: errorMsg }, 'failed to fetch file');
115
- errors.push({ filename: file.filename, error: errorMsg });
116
- }
117
- }
118
- return { contents, errors };
119
- }
120
- }
121
- exports.GitHubPrFileSource = GitHubPrFileSource;
122
- /**
123
- * GitHub Remote ConfigProvider
124
- * Loads .flowlint.yml from a GitHub repository
125
- */
126
- class GitHubConfigProvider {
127
- constructor(gh, repo, sha) {
128
- this.gh = gh;
129
- this.repo = repo;
130
- this.sha = sha;
131
- }
132
- async load() {
133
- const { defaultConfig } = await Promise.resolve().then(() => __importStar(require('../../config/flowlint-config')));
134
- const YAML = (await Promise.resolve().then(() => __importStar(require('yaml')))).default;
135
- const [owner, repoName] = this.repo.split('/');
136
- try {
137
- const { data } = await this.gh.request('GET /repos/{owner}/{repo}/contents/{path}', {
138
- owner,
139
- repo: repoName,
140
- path: '.flowlint.yml',
141
- ref: this.sha,
142
- });
143
- if (!('content' in data))
144
- return defaultConfig;
145
- const content = Buffer.from(data.content, 'base64').toString('utf8');
146
- const parsed = YAML.parse(content) || {};
147
- return this.deepMerge(defaultConfig, parsed);
148
- }
149
- catch {
150
- return defaultConfig;
151
- }
152
- }
153
- /**
154
- * Deep merge default config with overrides
155
- */
156
- deepMerge(base, override) {
157
- const baseCopy = JSON.parse(JSON.stringify(base));
158
- if (!override)
159
- return baseCopy;
160
- return this.mergeInto(baseCopy, override);
161
- }
162
- mergeInto(target, source) {
163
- for (const [key, value] of Object.entries(source)) {
164
- if (value === undefined || value === null)
165
- continue;
166
- if (Array.isArray(value)) {
167
- target[key] = value;
168
- }
169
- else if (typeof value === 'object') {
170
- if (typeof target[key] !== 'object' || target[key] === null) {
171
- target[key] = {};
172
- }
173
- this.mergeInto(target[key], value);
174
- }
175
- else {
176
- target[key] = value;
177
- }
178
- }
179
- return target;
180
- }
181
- }
182
- exports.GitHubConfigProvider = GitHubConfigProvider;
183
- /**
184
- * GitHub Check Run Reporter
185
- * Sends results to GitHub Checks API
186
- */
187
- class GitHubCheckReporter {
188
- constructor(gh, repo, checkRunId, cfg) {
189
- this.gh = gh;
190
- this.repo = repo;
191
- this.checkRunId = checkRunId;
192
- this.cfg = cfg;
193
- this.BATCH_SIZE = 50;
194
- }
195
- async report(results) {
196
- const [owner, repoName] = this.repo.split('/');
197
- // Collect all findings
198
- const allFindings = results.flatMap((r) => r.findings);
199
- // Build output
200
- const summary = this.summarize(allFindings);
201
- const conclusion = this.inferConclusion(allFindings);
202
- // Send annotations if enabled
203
- if (this.cfg.report.annotations) {
204
- const annotations = this.buildAnnotations(allFindings);
205
- const limitedAnnotations = this.cfg.report.summary_limit > 0 && annotations.length > this.cfg.report.summary_limit
206
- ? annotations.slice(0, this.cfg.report.summary_limit)
207
- : annotations;
208
- for (let i = 0; i < limitedAnnotations.length; i += this.BATCH_SIZE) {
209
- const batch = limitedAnnotations.slice(i, i + this.BATCH_SIZE);
210
- await this.gh.request('PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}', {
211
- owner,
212
- repo: repoName,
213
- check_run_id: this.checkRunId,
214
- output: {
215
- title: process.env.CHECK_TITLE || 'FlowLint findings',
216
- summary,
217
- annotations: batch,
218
- },
219
- });
220
- }
221
- }
222
- // Finalize check run
223
- await this.gh.request('PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}', {
224
- owner,
225
- repo: repoName,
226
- check_run_id: this.checkRunId,
227
- status: 'completed',
228
- conclusion,
229
- completed_at: new Date().toISOString(),
230
- output: {
231
- title: process.env.CHECK_TITLE || 'FlowLint findings',
232
- summary,
233
- },
234
- });
235
- }
236
- buildAnnotations(findings) {
237
- const severityOrder = ['must', 'should', 'nit'];
238
- const ordered = [...findings].sort((a, b) => severityOrder.indexOf(a.severity) - severityOrder.indexOf(b.severity));
239
- return ordered.map((finding) => {
240
- const line = finding.line ?? 1;
241
- return {
242
- path: finding.path,
243
- start_line: line,
244
- end_line: line,
245
- annotation_level: this.mapSeverity(finding.severity),
246
- message: `${finding.rule}: ${finding.message}`,
247
- raw_details: finding.raw_details?.slice(0, 64000),
248
- };
249
- });
250
- }
251
- inferConclusion(findings) {
252
- if (findings.some((f) => f.severity === 'must'))
253
- return 'failure';
254
- if (findings.some((f) => f.severity === 'should'))
255
- return 'neutral';
256
- return 'success';
257
- }
258
- summarize(findings) {
259
- if (findings.length === 0)
260
- return 'No issues found.';
261
- const must = findings.filter((f) => f.severity === 'must').length;
262
- const should = findings.filter((f) => f.severity === 'should').length;
263
- const nit = findings.filter((f) => f.severity === 'nit').length;
264
- return `${must} must-fix, ${should} should-fix, ${nit} nit.`;
265
- }
266
- mapSeverity(severity) {
267
- if (severity === 'must')
268
- return 'failure';
269
- if (severity === 'should')
270
- return 'warning';
271
- return 'notice';
272
- }
273
- }
274
- exports.GitHubCheckReporter = GitHubCheckReporter;
275
- //# sourceMappingURL=github.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../packages/review/providers/github.ts"],"names":[],"mappings":"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"}