@living-architecture/riviere-extract-ts 0.2.10 → 0.2.12
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/dist/features/extraction/domain/connection-detection/async-detection/detect-publish-connections.d.ts +1 -2
- package/dist/features/extraction/domain/connection-detection/async-detection/detect-publish-connections.d.ts.map +1 -1
- package/dist/features/extraction/domain/connection-detection/async-detection/detect-publish-connections.js +34 -37
- package/dist/features/extraction/domain/connection-detection/detect-connections.d.ts +28 -0
- package/dist/features/extraction/domain/connection-detection/detect-connections.d.ts.map +1 -1
- package/dist/features/extraction/domain/connection-detection/detect-connections.js +62 -17
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { Project } from 'ts-morph';
|
|
2
1
|
import type { EnrichedComponent } from '../../value-extraction/enrich-components';
|
|
3
2
|
import type { ExtractedLink } from '../extracted-link';
|
|
4
3
|
import type { AsyncDetectionOptions } from './detect-subscribe-connections';
|
|
5
|
-
export declare function detectPublishConnections(
|
|
4
|
+
export declare function detectPublishConnections(components: readonly EnrichedComponent[], options: AsyncDetectionOptions): ExtractedLink[];
|
|
6
5
|
//# sourceMappingURL=detect-publish-connections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-publish-connections.d.ts","sourceRoot":"","sources":["../../../../../../src/features/extraction/domain/connection-detection/async-detection/detect-publish-connections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detect-publish-connections.d.ts","sourceRoot":"","sources":["../../../../../../src/features/extraction/domain/connection-detection/async-detection/detect-publish-connections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAI3E,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,OAAO,EAAE,qBAAqB,GAC7B,aAAa,EAAE,CAmBjB"}
|
|
@@ -1,50 +1,47 @@
|
|
|
1
1
|
import { ConnectionDetectionError } from '../connection-detection-error';
|
|
2
|
-
import { componentIdentity
|
|
3
|
-
|
|
4
|
-
export function detectPublishConnections(project, components, options) {
|
|
2
|
+
import { componentIdentity } from '../call-graph/call-graph-types';
|
|
3
|
+
export function detectPublishConnections(components, options) {
|
|
5
4
|
const publishers = components.filter((c) => c.type === 'eventPublisher');
|
|
6
5
|
const events = components.filter((c) => c.type === 'event');
|
|
7
6
|
const repository = options.repository;
|
|
8
|
-
return publishers.flatMap((publisher) =>
|
|
9
|
-
|
|
10
|
-
function extractPublisherLinks(project, publisher, events, options, repository) {
|
|
11
|
-
const publishedEventType = publisher.metadata['publishedEventType'];
|
|
12
|
-
if (typeof publishedEventType === 'string') {
|
|
7
|
+
return publishers.flatMap((publisher) => {
|
|
8
|
+
const publishedEventType = publisher.metadata['publishedEventType'];
|
|
13
9
|
const sourceLocation = {
|
|
14
10
|
repository,
|
|
15
11
|
filePath: publisher.location.file,
|
|
16
12
|
lineNumber: publisher.location.line,
|
|
17
13
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const classDecl = findClassInProject(project, publisher);
|
|
21
|
-
if (classDecl === undefined) {
|
|
22
|
-
return [];
|
|
23
|
-
}
|
|
24
|
-
const methods = classDecl.getMethods();
|
|
25
|
-
return methods.flatMap((method) => {
|
|
26
|
-
const firstParam = method.getParameters()[0];
|
|
27
|
-
if (firstParam === undefined) {
|
|
28
|
-
return [];
|
|
14
|
+
if (typeof publishedEventType !== 'string') {
|
|
15
|
+
return [handleMissingMetadata(publisher, options, sourceLocation)];
|
|
29
16
|
}
|
|
30
|
-
|
|
31
|
-
const paramTypeName = stripGenericArgs(paramType.getText(firstParam));
|
|
32
|
-
const sourceLocation = {
|
|
33
|
-
repository,
|
|
34
|
-
filePath: publisher.location.file,
|
|
35
|
-
lineNumber: method.getStartLineNumber(),
|
|
36
|
-
};
|
|
37
|
-
return resolvePublishTarget(publisher, paramTypeName, events, options, sourceLocation);
|
|
17
|
+
return resolvePublishTarget(publisher, publishedEventType, events, options, sourceLocation);
|
|
38
18
|
});
|
|
39
19
|
}
|
|
40
|
-
function
|
|
41
|
-
|
|
20
|
+
function handleMissingMetadata(publisher, options, sourceLocation) {
|
|
21
|
+
if (options.strict) {
|
|
22
|
+
throw new ConnectionDetectionError({
|
|
23
|
+
file: sourceLocation.filePath,
|
|
24
|
+
line: sourceLocation.lineNumber,
|
|
25
|
+
typeName: publisher.name,
|
|
26
|
+
reason: 'eventPublisher is missing required "publishedEventType" metadata',
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
source: componentIdentity(publisher),
|
|
31
|
+
target: '_unresolved',
|
|
32
|
+
type: 'async',
|
|
33
|
+
sourceLocation,
|
|
34
|
+
_uncertain: `eventPublisher "${publisher.name}" is missing required "publishedEventType" metadata`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function resolvePublishTarget(publisher, publishedEventType, events, options, sourceLocation) {
|
|
38
|
+
const matchingEvents = events.filter((e) => e.metadata['eventName'] === publishedEventType);
|
|
42
39
|
if (matchingEvents.length === 0) {
|
|
43
|
-
return [handleNoMatch(publisher,
|
|
40
|
+
return [handleNoMatch(publisher, publishedEventType, options, sourceLocation)];
|
|
44
41
|
}
|
|
45
42
|
if (matchingEvents.length > 1) {
|
|
46
43
|
return [
|
|
47
|
-
handleAmbiguousMatch(publisher,
|
|
44
|
+
handleAmbiguousMatch(publisher, publishedEventType, matchingEvents.length, options, sourceLocation),
|
|
48
45
|
];
|
|
49
46
|
}
|
|
50
47
|
return matchingEvents.map((event) => ({
|
|
@@ -54,13 +51,13 @@ function resolvePublishTarget(publisher, paramTypeName, events, options, sourceL
|
|
|
54
51
|
sourceLocation,
|
|
55
52
|
}));
|
|
56
53
|
}
|
|
57
|
-
function handleAmbiguousMatch(publisher,
|
|
54
|
+
function handleAmbiguousMatch(publisher, publishedEventType, matchCount, options, sourceLocation) {
|
|
58
55
|
if (options.strict) {
|
|
59
56
|
throw new ConnectionDetectionError({
|
|
60
57
|
file: sourceLocation.filePath,
|
|
61
58
|
line: sourceLocation.lineNumber,
|
|
62
59
|
typeName: publisher.name,
|
|
63
|
-
reason: `
|
|
60
|
+
reason: `publishedEventType "${publishedEventType}" matches ${matchCount} Event components (ambiguous)`,
|
|
64
61
|
});
|
|
65
62
|
}
|
|
66
63
|
return {
|
|
@@ -68,16 +65,16 @@ function handleAmbiguousMatch(publisher, paramTypeName, matchCount, options, sou
|
|
|
68
65
|
target: '_unresolved',
|
|
69
66
|
type: 'async',
|
|
70
67
|
sourceLocation,
|
|
71
|
-
_uncertain: `ambiguous: ${matchCount} events match
|
|
68
|
+
_uncertain: `ambiguous: ${matchCount} events match publishedEventType: ${publishedEventType}`,
|
|
72
69
|
};
|
|
73
70
|
}
|
|
74
|
-
function handleNoMatch(publisher,
|
|
71
|
+
function handleNoMatch(publisher, publishedEventType, options, sourceLocation) {
|
|
75
72
|
if (options.strict) {
|
|
76
73
|
throw new ConnectionDetectionError({
|
|
77
74
|
file: sourceLocation.filePath,
|
|
78
75
|
line: sourceLocation.lineNumber,
|
|
79
76
|
typeName: publisher.name,
|
|
80
|
-
reason: `
|
|
77
|
+
reason: `publishedEventType "${publishedEventType}" does not match any Event component`,
|
|
81
78
|
});
|
|
82
79
|
}
|
|
83
80
|
return {
|
|
@@ -85,6 +82,6 @@ function handleNoMatch(publisher, paramTypeName, options, sourceLocation) {
|
|
|
85
82
|
target: '_unresolved',
|
|
86
83
|
type: 'async',
|
|
87
84
|
sourceLocation,
|
|
88
|
-
_uncertain: `no event found for
|
|
85
|
+
_uncertain: `no event found for publishedEventType: ${publishedEventType}`,
|
|
89
86
|
};
|
|
90
87
|
}
|
|
@@ -21,5 +21,33 @@ export interface ConnectionDetectionResult {
|
|
|
21
21
|
timings: ConnectionTimings;
|
|
22
22
|
}
|
|
23
23
|
export declare function deduplicateCrossStrategy(links: ExtractedLink[]): ExtractedLink[];
|
|
24
|
+
export interface PerModuleConnectionOptions {
|
|
25
|
+
allowIncomplete?: boolean;
|
|
26
|
+
moduleGlobs: string[];
|
|
27
|
+
patterns?: ConnectionPattern[];
|
|
28
|
+
repository: string;
|
|
29
|
+
}
|
|
30
|
+
export interface PerModuleTimings {
|
|
31
|
+
callGraphMs: number;
|
|
32
|
+
configurableMs: number;
|
|
33
|
+
setupMs: number;
|
|
34
|
+
}
|
|
35
|
+
export interface PerModuleDetectionResult {
|
|
36
|
+
links: ExtractedLink[];
|
|
37
|
+
timings: PerModuleTimings;
|
|
38
|
+
}
|
|
39
|
+
export declare function detectPerModuleConnections(project: Project, components: readonly EnrichedComponent[], options: PerModuleConnectionOptions, globMatcher: GlobMatcher): PerModuleDetectionResult;
|
|
40
|
+
export interface CrossModuleConnectionOptions {
|
|
41
|
+
allowIncomplete?: boolean;
|
|
42
|
+
repository: string;
|
|
43
|
+
}
|
|
44
|
+
export interface CrossModuleTimings {
|
|
45
|
+
asyncDetectionMs: number;
|
|
46
|
+
}
|
|
47
|
+
export interface CrossModuleDetectionResult {
|
|
48
|
+
links: ExtractedLink[];
|
|
49
|
+
timings: CrossModuleTimings;
|
|
50
|
+
}
|
|
51
|
+
export declare function detectCrossModuleConnections(allComponents: readonly EnrichedComponent[], options: CrossModuleConnectionOptions): CrossModuleDetectionResult;
|
|
24
52
|
export declare function detectConnections(project: Project, components: readonly EnrichedComponent[], options: ConnectionDetectionOptions, globMatcher: GlobMatcher): ConnectionDetectionResult;
|
|
25
53
|
//# sourceMappingURL=detect-connections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-connections.d.ts","sourceRoot":"","sources":["../../../../../src/features/extraction/domain/connection-detection/detect-connections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAOrD,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAaD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAchF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,OAAO,EAAE,0BAA0B,EACnC,WAAW,EAAE,WAAW,GACvB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"detect-connections.d.ts","sourceRoot":"","sources":["../../../../../src/features/extraction/domain/connection-detection/detect-connections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAOrD,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAaD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAchF;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;CAC1B;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,OAAO,EAAE,0BAA0B,EACnC,WAAW,EAAE,WAAW,GACvB,wBAAwB,CAqC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,SAAS,iBAAiB,EAAE,EAC3C,OAAO,EAAE,4BAA4B,GACpC,0BAA0B,CAmB5B;AA8BD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,OAAO,EAAE,0BAA0B,EACnC,WAAW,EAAE,WAAW,GACvB,yBAAyB,CAyD3B"}
|
|
@@ -25,6 +25,66 @@ export function deduplicateCrossStrategy(links) {
|
|
|
25
25
|
}
|
|
26
26
|
return [...seen.values()];
|
|
27
27
|
}
|
|
28
|
+
export function detectPerModuleConnections(project, components, options, globMatcher) {
|
|
29
|
+
const setupStart = performance.now();
|
|
30
|
+
const componentIndex = new ComponentIndex(components);
|
|
31
|
+
const sourceFilePaths = computeFilteredFilePaths(project, options.moduleGlobs, globMatcher);
|
|
32
|
+
const setupMs = performance.now() - setupStart;
|
|
33
|
+
const strict = options.allowIncomplete !== true;
|
|
34
|
+
const repository = options.repository;
|
|
35
|
+
const callGraphStart = performance.now();
|
|
36
|
+
const syncLinks = buildCallGraph(project, components, componentIndex, {
|
|
37
|
+
strict,
|
|
38
|
+
sourceFilePaths,
|
|
39
|
+
repository,
|
|
40
|
+
});
|
|
41
|
+
const callGraphMs = performance.now() - callGraphStart;
|
|
42
|
+
const patterns = options.patterns ?? [];
|
|
43
|
+
const { configurableLinks, configurableMs } = runConfigurableDetection(project, patterns, components, componentIndex, strict, repository);
|
|
44
|
+
return {
|
|
45
|
+
links: [...syncLinks, ...configurableLinks],
|
|
46
|
+
timings: {
|
|
47
|
+
callGraphMs,
|
|
48
|
+
configurableMs,
|
|
49
|
+
setupMs,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export function detectCrossModuleConnections(allComponents, options) {
|
|
54
|
+
const strict = options.allowIncomplete !== true;
|
|
55
|
+
const repository = options.repository;
|
|
56
|
+
const asyncStart = performance.now();
|
|
57
|
+
const publishLinks = detectPublishConnections(allComponents, {
|
|
58
|
+
strict,
|
|
59
|
+
repository,
|
|
60
|
+
});
|
|
61
|
+
const subscribeLinks = detectSubscribeConnections(allComponents, {
|
|
62
|
+
strict,
|
|
63
|
+
repository,
|
|
64
|
+
});
|
|
65
|
+
const asyncDetectionMs = performance.now() - asyncStart;
|
|
66
|
+
return {
|
|
67
|
+
links: [...publishLinks, ...subscribeLinks],
|
|
68
|
+
timings: { asyncDetectionMs },
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function runConfigurableDetection(project, patterns, components, componentIndex, strict, repository) {
|
|
72
|
+
if (patterns.length === 0) {
|
|
73
|
+
return {
|
|
74
|
+
configurableLinks: [],
|
|
75
|
+
configurableMs: 0,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const configurableStart = performance.now();
|
|
79
|
+
const links = detectConfigurableConnections(project, patterns, components, componentIndex, {
|
|
80
|
+
strict,
|
|
81
|
+
repository,
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
configurableLinks: links,
|
|
85
|
+
configurableMs: performance.now() - configurableStart,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
28
88
|
export function detectConnections(project, components, options, globMatcher) {
|
|
29
89
|
const totalStart = performance.now();
|
|
30
90
|
const setupStart = performance.now();
|
|
@@ -41,7 +101,7 @@ export function detectConnections(project, components, options, globMatcher) {
|
|
|
41
101
|
});
|
|
42
102
|
const callGraphMs = performance.now() - callGraphStart;
|
|
43
103
|
const asyncStart = performance.now();
|
|
44
|
-
const publishLinks = detectPublishConnections(
|
|
104
|
+
const publishLinks = detectPublishConnections(components, {
|
|
45
105
|
strict,
|
|
46
106
|
repository,
|
|
47
107
|
});
|
|
@@ -51,22 +111,7 @@ export function detectConnections(project, components, options, globMatcher) {
|
|
|
51
111
|
});
|
|
52
112
|
const asyncDetectionMs = performance.now() - asyncStart;
|
|
53
113
|
const patterns = options.patterns ?? [];
|
|
54
|
-
const { configurableLinks, configurableMs } = patterns
|
|
55
|
-
? (() => {
|
|
56
|
-
const configurableStart = performance.now();
|
|
57
|
-
const links = detectConfigurableConnections(project, patterns, components, componentIndex, {
|
|
58
|
-
strict,
|
|
59
|
-
repository,
|
|
60
|
-
});
|
|
61
|
-
return {
|
|
62
|
-
configurableLinks: links,
|
|
63
|
-
configurableMs: performance.now() - configurableStart,
|
|
64
|
-
};
|
|
65
|
-
})()
|
|
66
|
-
: {
|
|
67
|
-
configurableLinks: [],
|
|
68
|
-
configurableMs: 0,
|
|
69
|
-
};
|
|
114
|
+
const { configurableLinks, configurableMs } = runConfigurableDetection(project, patterns, components, componentIndex, strict, repository);
|
|
70
115
|
const totalMs = performance.now() - totalStart;
|
|
71
116
|
const allLinks = [...syncLinks, ...publishLinks, ...subscribeLinks, ...configurableLinks];
|
|
72
117
|
const deduplicatedLinks = deduplicateCrossStrategy(allLinks);
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { resolveConfig, type ConfigLoader, } from './features/extraction/domain/
|
|
|
4
4
|
export { ConfigLoaderRequiredError, MissingComponentRuleError, } from './features/extraction/domain/config-resolution/config-resolution-errors';
|
|
5
5
|
export { applyTransforms, ExtractionError, type ExtractionContext, type ExtractionResult, type ParameterInfo, type MethodSignature, } from './features/extraction/domain/value-extraction';
|
|
6
6
|
export { matchesGlob } from './platform/infra/glob-matching/minimatch-glob';
|
|
7
|
-
export { detectConnections, type ConnectionDetectionOptions, type ConnectionDetectionResult, type ConnectionTimings, } from './features/extraction/domain/connection-detection/detect-connections';
|
|
7
|
+
export { detectConnections, detectPerModuleConnections, detectCrossModuleConnections, deduplicateCrossStrategy, type ConnectionDetectionOptions, type ConnectionDetectionResult, type ConnectionTimings, type PerModuleConnectionOptions, type PerModuleDetectionResult, type PerModuleTimings, type CrossModuleConnectionOptions, type CrossModuleDetectionResult, type CrossModuleTimings, } from './features/extraction/domain/connection-detection/detect-connections';
|
|
8
8
|
export type { ExtractedLink } from './features/extraction/domain/connection-detection/extracted-link';
|
|
9
9
|
export { ComponentIndex } from './features/extraction/domain/connection-detection/component-index';
|
|
10
10
|
export { ConnectionDetectionError } from './features/extraction/domain/connection-detection/connection-detection-error';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,6DAA6D,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sEAAsE,CAAA;AACxG,OAAO,EACL,aAAa,EACb,KAAK,YAAY,GAClB,MAAM,+DAA+D,CAAA;AACtE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,yEAAyE,CAAA;AAChF,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,6DAA6D,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sEAAsE,CAAA;AACxG,OAAO,EACL,aAAa,EACb,KAAK,YAAY,GAClB,MAAM,+DAA+D,CAAA;AACtE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,yEAAyE,CAAA;AAChF,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,sEAAsE,CAAA;AAC7E,YAAY,EAAE,aAAa,EAAE,MAAM,kEAAkE,CAAA;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,mEAAmE,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,8EAA8E,CAAA;AACvH,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,iEAAiE,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { resolveConfig, } from './features/extraction/domain/config-resolution/r
|
|
|
4
4
|
export { ConfigLoaderRequiredError, MissingComponentRuleError, } from './features/extraction/domain/config-resolution/config-resolution-errors';
|
|
5
5
|
export { applyTransforms, ExtractionError, } from './features/extraction/domain/value-extraction';
|
|
6
6
|
export { matchesGlob } from './platform/infra/glob-matching/minimatch-glob';
|
|
7
|
-
export { detectConnections, } from './features/extraction/domain/connection-detection/detect-connections';
|
|
7
|
+
export { detectConnections, detectPerModuleConnections, detectCrossModuleConnections, deduplicateCrossStrategy, } from './features/extraction/domain/connection-detection/detect-connections';
|
|
8
8
|
export { ComponentIndex } from './features/extraction/domain/connection-detection/component-index';
|
|
9
9
|
export { ConnectionDetectionError } from './features/extraction/domain/connection-detection/connection-detection-error';
|
|
10
10
|
export { enrichComponents, } from './features/extraction/domain/value-extraction/enrich-components';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@living-architecture/riviere-extract-ts",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"minimatch": "^10.0.1",
|
|
26
26
|
"ts-morph": "^24.0.0",
|
|
27
|
-
"@living-architecture/riviere-
|
|
28
|
-
"@living-architecture/riviere-
|
|
27
|
+
"@living-architecture/riviere-extract-config": "0.4.6",
|
|
28
|
+
"@living-architecture/riviere-schema": "0.5.6"
|
|
29
29
|
}
|
|
30
30
|
}
|