flowlint 0.3.2 → 0.3.3

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 (77) hide show
  1. package/dist/packages/config/flowlint-config.d.ts +64 -0
  2. package/dist/packages/config/flowlint-config.js +103 -0
  3. package/dist/packages/config/flowlint-config.js.map +1 -0
  4. package/dist/packages/config/index.d.ts +4 -0
  5. package/dist/packages/config/index.js +21 -0
  6. package/dist/packages/config/index.js.map +1 -0
  7. package/dist/packages/github/client.d.ts +2 -0
  8. package/dist/packages/github/client.js +94 -0
  9. package/dist/packages/github/client.js.map +1 -0
  10. package/dist/packages/logger/index.d.ts +11 -0
  11. package/dist/packages/logger/index.js +40 -0
  12. package/dist/packages/logger/index.js.map +1 -0
  13. package/dist/packages/observability/collectors.d.ts +40 -0
  14. package/dist/packages/observability/collectors.js +75 -0
  15. package/dist/packages/observability/collectors.js.map +1 -0
  16. package/dist/packages/observability/index.d.ts +10 -0
  17. package/dist/packages/observability/index.js +35 -0
  18. package/dist/packages/observability/index.js.map +1 -0
  19. package/dist/packages/observability/metrics.d.ts +119 -0
  20. package/dist/packages/observability/metrics.js +194 -0
  21. package/dist/packages/observability/metrics.js.map +1 -0
  22. package/dist/packages/observability/middleware.d.ts +32 -0
  23. package/dist/packages/observability/middleware.js +58 -0
  24. package/dist/packages/observability/middleware.js.map +1 -0
  25. package/dist/packages/review/analysis-engine.d.ts +19 -0
  26. package/dist/packages/review/analysis-engine.js +111 -0
  27. package/dist/packages/review/analysis-engine.js.map +1 -0
  28. package/dist/packages/review/index.d.ts +12 -0
  29. package/dist/packages/review/index.js +29 -0
  30. package/dist/packages/review/index.js.map +1 -0
  31. package/dist/packages/review/parser-n8n.d.ts +2 -0
  32. package/dist/packages/review/parser-n8n.js +118 -0
  33. package/dist/packages/review/parser-n8n.js.map +1 -0
  34. package/dist/packages/review/providers/github.d.ts +62 -0
  35. package/dist/packages/review/providers/github.js +275 -0
  36. package/dist/packages/review/providers/github.js.map +1 -0
  37. package/dist/packages/review/providers.d.ts +106 -0
  38. package/dist/packages/review/providers.js +12 -0
  39. package/dist/packages/review/providers.js.map +1 -0
  40. package/dist/packages/review/reporter.d.ts +17 -0
  41. package/dist/packages/review/reporter.js +62 -0
  42. package/dist/packages/review/reporter.js.map +1 -0
  43. package/dist/packages/review/rules/index.d.ts +9 -0
  44. package/dist/packages/review/rules/index.js +313 -0
  45. package/dist/packages/review/rules/index.js.map +1 -0
  46. package/dist/packages/review/rules/rule-utils.d.ts +36 -0
  47. package/dist/packages/review/rules/rule-utils.js +75 -0
  48. package/dist/packages/review/rules/rule-utils.js.map +1 -0
  49. package/dist/packages/review/schemas/index.d.ts +17 -0
  50. package/dist/packages/review/schemas/index.js +139 -0
  51. package/dist/packages/review/schemas/index.js.map +1 -0
  52. package/dist/packages/review/schemas/n8n-workflow.schema.json +177 -0
  53. package/dist/packages/review/sniffer.d.ts +15 -0
  54. package/dist/packages/review/sniffer.js +47 -0
  55. package/dist/packages/review/sniffer.js.map +1 -0
  56. package/dist/packages/review/types.d.ts +38 -0
  57. package/dist/packages/review/types.js +3 -0
  58. package/dist/packages/review/types.js.map +1 -0
  59. package/dist/packages/review/utils/findings.d.ts +23 -0
  60. package/dist/packages/review/utils/findings.js +34 -0
  61. package/dist/packages/review/utils/findings.js.map +1 -0
  62. package/dist/packages/review/utils/merge.d.ts +12 -0
  63. package/dist/packages/review/utils/merge.js +40 -0
  64. package/dist/packages/review/utils/merge.js.map +1 -0
  65. package/dist/packages/review/utils.d.ts +60 -0
  66. package/dist/packages/review/utils.js +214 -0
  67. package/dist/packages/review/utils.js.map +1 -0
  68. package/dist/packages/tracing/github-tracer.d.ts +38 -0
  69. package/dist/packages/tracing/github-tracer.js +79 -0
  70. package/dist/packages/tracing/github-tracer.js.map +1 -0
  71. package/dist/packages/tracing/index.d.ts +81 -0
  72. package/dist/packages/tracing/index.js +240 -0
  73. package/dist/packages/tracing/index.js.map +1 -0
  74. package/dist/packages/tracing/tracer.d.ts +30 -0
  75. package/dist/packages/tracing/tracer.js +141 -0
  76. package/dist/packages/tracing/tracer.js.map +1 -0
  77. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/tracing/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { Span } from '@opentelemetry/api';
2
+ import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
3
+ type AutoInstrumentationOptions = Parameters<typeof getNodeAutoInstrumentations>[0];
4
+ /**
5
+ * Initialize OpenTelemetry tracing for FlowLint
6
+ */
7
+ export declare function initTracing(options: {
8
+ serviceName: string;
9
+ serviceNamespace?: string;
10
+ serviceVersion?: string;
11
+ environment?: string;
12
+ exporter?: 'otlp-http' | 'otlp-grpc' | 'console' | 'none';
13
+ otlpEndpoint?: string;
14
+ otlpHeaders?: Record<string, string>;
15
+ otlpTimeoutMs?: number;
16
+ instrumentationOptions?: AutoInstrumentationOptions;
17
+ }): Promise<void>;
18
+ /**
19
+ * Shutdown OpenTelemetry
20
+ */
21
+ export declare function shutdownTracing(): Promise<void>;
22
+ /**
23
+ * Get tracer instance
24
+ */
25
+ export declare function getTracer(): import("@opentelemetry/api").Tracer;
26
+ /**
27
+ * Set custom span attributes (helper)
28
+ */
29
+ export declare function setSpanAttributes(span: Span | undefined, attributes: Record<string, string | number | boolean>): void;
30
+ export {};
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initTracing = initTracing;
4
+ exports.shutdownTracing = shutdownTracing;
5
+ exports.getTracer = getTracer;
6
+ exports.setSpanAttributes = setSpanAttributes;
7
+ const api_1 = require("@opentelemetry/api");
8
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
9
+ const resources_1 = require("@opentelemetry/resources");
10
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
11
+ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
12
+ const exporter_trace_otlp_grpc_1 = require("@opentelemetry/exporter-trace-otlp-grpc");
13
+ const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
14
+ const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
15
+ const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
16
+ const logger_1 = require("../logger");
17
+ let sdk;
18
+ let initPromise;
19
+ const DEFAULT_SERVICE_VERSION = process.env.npm_package_version || '0.0.0';
20
+ const DEFAULT_ENVIRONMENT = process.env.NODE_ENV || 'development';
21
+ /**
22
+ * Initialize OpenTelemetry tracing for FlowLint
23
+ */
24
+ function initTracing(options) {
25
+ if (initPromise) {
26
+ return initPromise;
27
+ }
28
+ api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.ERROR);
29
+ const { serviceName, serviceNamespace, serviceVersion = DEFAULT_SERVICE_VERSION, environment = DEFAULT_ENVIRONMENT, exporter = process.env.OTEL_EXPORTER || 'otlp-http', otlpEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT, otlpHeaders = parseHeaders(process.env.OTEL_EXPORTER_OTLP_HEADERS), otlpTimeoutMs = process.env.OTEL_EXPORTER_OTLP_TIMEOUT ? Number(process.env.OTEL_EXPORTER_OTLP_TIMEOUT) : undefined, instrumentationOptions = {}, } = options;
30
+ const resource = (0, resources_1.resourceFromAttributes)({
31
+ [semantic_conventions_1.ATTR_SERVICE_NAME]: serviceName,
32
+ [semantic_conventions_1.ATTR_SERVICE_VERSION]: serviceVersion,
33
+ 'service.namespace': serviceNamespace || 'flowlint',
34
+ 'deployment.environment': environment,
35
+ });
36
+ const instrumentations = [
37
+ new instrumentation_http_1.HttpInstrumentation({
38
+ ignoreIncomingRequestHook: (req) => {
39
+ const path = req.url || '';
40
+ return ['/metrics', '/livez', '/readyz', '/healthz', '/openapi.json', '/api-docs'].some((ignorePath) => path.startsWith(ignorePath));
41
+ },
42
+ }),
43
+ new instrumentation_express_1.ExpressInstrumentation(),
44
+ ];
45
+ const autoInstrumentations = (0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
46
+ '@opentelemetry/instrumentation-fs': { enabled: false },
47
+ ...instrumentationOptions,
48
+ });
49
+ const exporters = createExporter({ exporter, otlpEndpoint, otlpHeaders, otlpTimeoutMs });
50
+ sdk = new sdk_node_1.NodeSDK({
51
+ resource,
52
+ traceExporter: exporters.traceExporter,
53
+ instrumentations: [...instrumentations, ...Object.values(autoInstrumentations)],
54
+ });
55
+ initPromise = (async () => {
56
+ await sdk.start();
57
+ logger_1.logger.info({ serviceName }, 'OpenTelemetry tracing initialized');
58
+ })().catch((error) => {
59
+ logger_1.logger.error({ error }, 'failed to initialize OpenTelemetry tracing');
60
+ });
61
+ return initPromise;
62
+ }
63
+ /**
64
+ * Shutdown OpenTelemetry
65
+ */
66
+ async function shutdownTracing() {
67
+ if (!sdk) {
68
+ return;
69
+ }
70
+ try {
71
+ await sdk.shutdown();
72
+ logger_1.logger.info('OpenTelemetry tracing shut down');
73
+ }
74
+ catch (error) {
75
+ logger_1.logger.error({ error }, 'failed to shut down OpenTelemetry');
76
+ }
77
+ finally {
78
+ sdk = undefined;
79
+ initPromise = undefined;
80
+ }
81
+ }
82
+ /**
83
+ * Get tracer instance
84
+ */
85
+ function getTracer() {
86
+ return api_1.trace.getTracer('flowlint');
87
+ }
88
+ /**
89
+ * Set custom span attributes (helper)
90
+ */
91
+ function setSpanAttributes(span, attributes) {
92
+ if (!span) {
93
+ return;
94
+ }
95
+ span.setAttributes(attributes);
96
+ }
97
+ function parseHeaders(headersInput) {
98
+ if (!headersInput) {
99
+ return {};
100
+ }
101
+ try {
102
+ const entries = headersInput.split(',').map((entry) => {
103
+ const [key, value] = entry.split('=').map((item) => item.trim());
104
+ return [key, value];
105
+ });
106
+ return Object.fromEntries(entries);
107
+ }
108
+ catch (error) {
109
+ logger_1.logger.warn({ error }, 'failed to parse OTLP headers');
110
+ return {};
111
+ }
112
+ }
113
+ function createExporter(options) {
114
+ const { exporter, otlpEndpoint, otlpHeaders, otlpTimeoutMs } = options;
115
+ switch (exporter) {
116
+ case 'otlp-http':
117
+ return {
118
+ traceExporter: new exporter_trace_otlp_http_1.OTLPTraceExporter({
119
+ url: otlpEndpoint,
120
+ headers: otlpHeaders,
121
+ timeoutMillis: otlpTimeoutMs,
122
+ }),
123
+ };
124
+ case 'otlp-grpc':
125
+ return {
126
+ traceExporter: new exporter_trace_otlp_grpc_1.OTLPTraceExporter({
127
+ url: otlpEndpoint,
128
+ }),
129
+ };
130
+ case 'console':
131
+ return {
132
+ traceExporter: undefined,
133
+ };
134
+ case 'none':
135
+ default:
136
+ return {
137
+ traceExporter: undefined,
138
+ };
139
+ }
140
+ }
141
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../packages/tracing/tracer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowlint",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Static analysis tool for n8n workflows - detect issues early, fix them faster",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",