@clayroach/effect-unplugin 4.0.0-source-tracing.8 → 4.0.0-source-tracing.10
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/sourceTrace.d.ts.map +1 -1
- package/dist/sourceTrace.js +35 -6
- package/dist/sourceTrace.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/sourceTrace.ts +52 -10
- package/src/types.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceTrace.d.ts","sourceRoot":"","sources":["../src/sourceTrace.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAwB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"sourceTrace.d.ts","sourceRoot":"","sources":["../src/sourceTrace.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAwB,kBAAkB,EAA8C,MAAM,YAAY,CAAA;AAmDtH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B;AA4QD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,kBAAuB,GAC/B,eAAe,CAkLjB"}
|
package/dist/sourceTrace.js
CHANGED
|
@@ -69,20 +69,47 @@ function wrapWithUpdateService(argument, frameVarName, effectImportName, referen
|
|
|
69
69
|
return t.callExpression(t.memberExpression(t.identifier(effectImportName), t.identifier("updateService")), [argument, t.memberExpression(t.identifier(referencesImportName), t.identifier("CurrentStackFrame")), t.arrowFunctionExpression([t.identifier("parent")], t.objectExpression([t.spreadElement(t.identifier(frameVarName)), t.objectProperty(t.identifier("parent"), t.identifier("parent"))]))]);
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
|
-
* Gets the variable name from
|
|
72
|
+
* Gets the variable/function name from the AST context.
|
|
73
|
+
* Handles multiple patterns: direct assignment, arrow functions, object properties, function declarations.
|
|
73
74
|
*/
|
|
74
75
|
function getAssignedVariableName(path) {
|
|
75
76
|
const parent = path.parent;
|
|
77
|
+
// Case 1: const program = Effect.gen(...)
|
|
76
78
|
if (t.isVariableDeclarator(parent) && t.isIdentifier(parent.id)) {
|
|
77
79
|
return parent.id.name;
|
|
78
80
|
}
|
|
81
|
+
// Case 2: const fetchUser = (id) => Effect.gen(...)
|
|
82
|
+
if (t.isArrowFunctionExpression(parent)) {
|
|
83
|
+
const grandparent = path.parentPath?.parent;
|
|
84
|
+
if (t.isVariableDeclarator(grandparent) && t.isIdentifier(grandparent.id)) {
|
|
85
|
+
return grandparent.id.name;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Case 3: { fetchUser: Effect.gen(...) }
|
|
89
|
+
if (t.isObjectProperty(parent) && t.isIdentifier(parent.key)) {
|
|
90
|
+
return parent.key.name;
|
|
91
|
+
}
|
|
92
|
+
// Case 4: function fetchUser() { return Effect.gen(...) }
|
|
93
|
+
if (t.isReturnStatement(parent)) {
|
|
94
|
+
const funcParent = path.parentPath?.parentPath?.parent;
|
|
95
|
+
if (t.isFunctionDeclaration(funcParent) && funcParent.id) {
|
|
96
|
+
return funcParent.id.name;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
79
99
|
return null;
|
|
80
100
|
}
|
|
81
101
|
/**
|
|
82
|
-
*
|
|
102
|
+
* Formats span name based on the nameFormat option.
|
|
83
103
|
*/
|
|
84
|
-
function
|
|
85
|
-
|
|
104
|
+
function formatSpanName(combinator, functionName, filename, line, format) {
|
|
105
|
+
switch (format) {
|
|
106
|
+
case "function":
|
|
107
|
+
return functionName ? `${combinator} (${functionName})` : combinator;
|
|
108
|
+
case "location":
|
|
109
|
+
return `${combinator} (${filename}:${line})`;
|
|
110
|
+
case "full":
|
|
111
|
+
return functionName ? `${combinator} (${functionName} @ ${filename}:${line})` : `${combinator} (${filename}:${line})`;
|
|
112
|
+
}
|
|
86
113
|
}
|
|
87
114
|
/**
|
|
88
115
|
* Wraps an expression with Effect.withSpan() and attributes.
|
|
@@ -191,6 +218,7 @@ export function transform(code, id, options = {}) {
|
|
|
191
218
|
// Span instrumentation pass
|
|
192
219
|
if (enableSpans && effectName) {
|
|
193
220
|
const instrumentable = resolveInstrumentable(spanOptions);
|
|
221
|
+
const nameFormat = spanOptions.nameFormat ?? "function";
|
|
194
222
|
const wrappedNodes = new WeakSet();
|
|
195
223
|
traverse(ast, {
|
|
196
224
|
CallExpression(path) {
|
|
@@ -204,8 +232,9 @@ export function transform(code, id, options = {}) {
|
|
|
204
232
|
const loc = path.node.loc;
|
|
205
233
|
if (!loc) return;
|
|
206
234
|
const variableName = getAssignedVariableName(path);
|
|
207
|
-
const
|
|
208
|
-
const
|
|
235
|
+
const combinator = `effect.${methodName}`;
|
|
236
|
+
const functionName = variableName ?? combinator;
|
|
237
|
+
const spanName = formatSpanName(combinator, variableName, fileName, loc.start.line, nameFormat);
|
|
209
238
|
const attrs = {
|
|
210
239
|
filepath: id,
|
|
211
240
|
line: loc.start.line,
|
package/dist/sourceTrace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceTrace.js","names":["parse","_traverse","_generate","t","traverseModule","traverse","default","generateModule","generate","ALL_INSTRUMENTABLE","resolveInstrumentable","options","include","exclude","Set","filter","name","has","isEffectGenCall","node","effectImportName","genImportName","callee","isMemberExpression","isIdentifier","object","property","extractFunctionName","isCallExpression","createStackFrameDeclaration","info","variableDeclaration","variableDeclarator","identifier","varName","objectExpression","objectProperty","stringLiteral","arrowFunctionExpression","location","wrapWithUpdateService","argument","frameVarName","referencesImportName","callExpression","memberExpression","spreadElement","getAssignedVariableName","path","parent","isVariableDeclarator","id","createSpanName","combinatorName","fileName","line","wrapWithSpan","expr","spanName","attrs","attributesObject","filepath","numericLiteral","column","functionName","optionsObject","findOrGetEffectImport","ast","effectName","genName","program","body","isImportDeclaration","source","value","specifier","specifiers","isImportNamespaceSpecifier","local","isImportSpecifier","imported","ensureReferencesImport","push","importSpecifier","importDecl","importDeclaration","unshift","getFileName","filePath","parts","split","length","transform","code","enableSourceTrace","sourceTrace","extractFnName","spanOptions","spans","enableSpans","enabled","sourceType","plugins","sourceFilename","transformed","hasTransformed","instrumentable","wrappedNodes","WeakSet","CallExpression","methodName","loc","variableName","start","wrapped","add","replaceWith","framesByLocation","Map","frameCounter","generatorArg","arguments","isFunctionExpression","generator","nestedPath","skip","YieldExpression","yieldPath","delegate","set","size","referencesName","frame","get","frameDeclarations","Array","from","values","map","insertIndex","i","splice","result","sourceMaps","sourceFileName"],"sources":["../src/sourceTrace.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"sourceTrace.js","names":["parse","_traverse","_generate","t","traverseModule","traverse","default","generateModule","generate","ALL_INSTRUMENTABLE","resolveInstrumentable","options","include","exclude","Set","filter","name","has","isEffectGenCall","node","effectImportName","genImportName","callee","isMemberExpression","isIdentifier","object","property","extractFunctionName","isCallExpression","createStackFrameDeclaration","info","variableDeclaration","variableDeclarator","identifier","varName","objectExpression","objectProperty","stringLiteral","arrowFunctionExpression","location","wrapWithUpdateService","argument","frameVarName","referencesImportName","callExpression","memberExpression","spreadElement","getAssignedVariableName","path","parent","isVariableDeclarator","id","isArrowFunctionExpression","grandparent","parentPath","isObjectProperty","key","isReturnStatement","funcParent","isFunctionDeclaration","formatSpanName","combinator","functionName","filename","line","format","wrapWithSpan","expr","spanName","attrs","attributesObject","filepath","numericLiteral","column","optionsObject","findOrGetEffectImport","ast","effectName","genName","program","body","isImportDeclaration","source","value","specifier","specifiers","isImportNamespaceSpecifier","local","isImportSpecifier","imported","ensureReferencesImport","push","importSpecifier","importDecl","importDeclaration","unshift","getFileName","filePath","parts","split","length","transform","code","enableSourceTrace","sourceTrace","extractFnName","spanOptions","spans","enableSpans","enabled","sourceType","plugins","sourceFilename","transformed","hasTransformed","fileName","instrumentable","nameFormat","wrappedNodes","WeakSet","CallExpression","methodName","loc","variableName","start","wrapped","add","replaceWith","framesByLocation","Map","frameCounter","generatorArg","arguments","isFunctionExpression","generator","nestedPath","skip","YieldExpression","yieldPath","delegate","set","size","referencesName","frame","get","frameDeclarations","Array","from","values","map","insertIndex","i","splice","result","sourceMaps","sourceFileName"],"sources":["../src/sourceTrace.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,6 +15,13 @@ export type FilterPattern = string | RegExp | ReadonlyArray<string | RegExp>;
|
|
|
15
15
|
* @category models
|
|
16
16
|
*/
|
|
17
17
|
export type InstrumentableEffect = "gen" | "fork" | "forkDaemon" | "forkScoped" | "all" | "forEach" | "filter" | "reduce" | "iterate" | "loop";
|
|
18
|
+
/**
|
|
19
|
+
* Span name format options.
|
|
20
|
+
*
|
|
21
|
+
* @since 0.0.1
|
|
22
|
+
* @category models
|
|
23
|
+
*/
|
|
24
|
+
export type SpanNameFormat = "function" | "location" | "full";
|
|
18
25
|
/**
|
|
19
26
|
* Options for auto-instrumentation with withSpan.
|
|
20
27
|
*
|
|
@@ -35,6 +42,14 @@ export interface SpanInstrumentationOptions {
|
|
|
35
42
|
* Effect combinators to exclude from instrumentation.
|
|
36
43
|
*/
|
|
37
44
|
readonly exclude?: ReadonlyArray<InstrumentableEffect> | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Span name format.
|
|
47
|
+
* - "function": `effect.gen (fetchUser)` - combinator + function name (DEFAULT)
|
|
48
|
+
* - "location": `effect.gen (index.ts:23)` - combinator + file:line
|
|
49
|
+
* - "full": `effect.gen (fetchUser @ index.ts:23)` - all info
|
|
50
|
+
* @default "function"
|
|
51
|
+
*/
|
|
52
|
+
readonly nameFormat?: SpanNameFormat | undefined;
|
|
38
53
|
}
|
|
39
54
|
/**
|
|
40
55
|
* Options for the source trace transformer plugin.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,KAAK,GACL,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,KAAK,GACL,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,CAAA;AAEV;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;IAClE;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,KAAK,GACL,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,KAAK,GACL,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,CAAA;AAEV;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;IAClE;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;IAClE;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC5C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAClD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1C;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAA;IACvD;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/C"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clayroach/effect-unplugin",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.0-source-tracing.
|
|
4
|
+
"version": "4.0.0-source-tracing.10",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Build-time AST transformer for Effect source location tracing",
|
|
7
7
|
"homepage": "https://github.com/clayroach/effect",
|
package/src/sourceTrace.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { parse } from "@babel/parser"
|
|
|
7
7
|
import * as _traverse from "@babel/traverse"
|
|
8
8
|
import * as _generate from "@babel/generator"
|
|
9
9
|
import * as t from "@babel/types"
|
|
10
|
-
import type { InstrumentableEffect, SourceTraceOptions, SpanInstrumentationOptions } from "./types.ts"
|
|
10
|
+
import type { InstrumentableEffect, SourceTraceOptions, SpanInstrumentationOptions, SpanNameFormat } from "./types.ts"
|
|
11
11
|
|
|
12
12
|
type NodePath<T = t.Node> = _traverse.NodePath<T>
|
|
13
13
|
|
|
@@ -173,25 +173,65 @@ function wrapWithUpdateService(
|
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
/**
|
|
176
|
-
* Gets the variable name from
|
|
176
|
+
* Gets the variable/function name from the AST context.
|
|
177
|
+
* Handles multiple patterns: direct assignment, arrow functions, object properties, function declarations.
|
|
177
178
|
*/
|
|
178
179
|
function getAssignedVariableName(path: NodePath<t.CallExpression>): string | null {
|
|
179
180
|
const parent = path.parent
|
|
181
|
+
|
|
182
|
+
// Case 1: const program = Effect.gen(...)
|
|
180
183
|
if (t.isVariableDeclarator(parent) && t.isIdentifier(parent.id)) {
|
|
181
184
|
return parent.id.name
|
|
182
185
|
}
|
|
186
|
+
|
|
187
|
+
// Case 2: const fetchUser = (id) => Effect.gen(...)
|
|
188
|
+
if (t.isArrowFunctionExpression(parent)) {
|
|
189
|
+
const grandparent = path.parentPath?.parent
|
|
190
|
+
if (t.isVariableDeclarator(grandparent) && t.isIdentifier(grandparent.id)) {
|
|
191
|
+
return grandparent.id.name
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Case 3: { fetchUser: Effect.gen(...) }
|
|
196
|
+
if (t.isObjectProperty(parent) && t.isIdentifier(parent.key)) {
|
|
197
|
+
return parent.key.name
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// Case 4: function fetchUser() { return Effect.gen(...) }
|
|
201
|
+
if (t.isReturnStatement(parent)) {
|
|
202
|
+
const funcParent = path.parentPath?.parentPath?.parent
|
|
203
|
+
if (t.isFunctionDeclaration(funcParent) && funcParent.id) {
|
|
204
|
+
return funcParent.id.name
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
183
208
|
return null
|
|
184
209
|
}
|
|
185
210
|
|
|
186
211
|
/**
|
|
187
|
-
*
|
|
212
|
+
* Formats span name based on the nameFormat option.
|
|
188
213
|
*/
|
|
189
|
-
function
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
214
|
+
function formatSpanName(
|
|
215
|
+
combinator: string,
|
|
216
|
+
functionName: string | null,
|
|
217
|
+
filename: string,
|
|
218
|
+
line: number,
|
|
219
|
+
format: SpanNameFormat
|
|
193
220
|
): string {
|
|
194
|
-
|
|
221
|
+
switch (format) {
|
|
222
|
+
case "function":
|
|
223
|
+
return functionName
|
|
224
|
+
? `${combinator} (${functionName})`
|
|
225
|
+
: combinator
|
|
226
|
+
|
|
227
|
+
case "location":
|
|
228
|
+
return `${combinator} (${filename}:${line})`
|
|
229
|
+
|
|
230
|
+
case "full":
|
|
231
|
+
return functionName
|
|
232
|
+
? `${combinator} (${functionName} @ ${filename}:${line})`
|
|
233
|
+
: `${combinator} (${filename}:${line})`
|
|
234
|
+
}
|
|
195
235
|
}
|
|
196
236
|
|
|
197
237
|
/**
|
|
@@ -334,6 +374,7 @@ export function transform(
|
|
|
334
374
|
// Span instrumentation pass
|
|
335
375
|
if (enableSpans && effectName) {
|
|
336
376
|
const instrumentable = resolveInstrumentable(spanOptions!)
|
|
377
|
+
const nameFormat = spanOptions!.nameFormat ?? "function"
|
|
337
378
|
const wrappedNodes = new WeakSet<t.CallExpression>()
|
|
338
379
|
|
|
339
380
|
traverse(ast, {
|
|
@@ -352,8 +393,9 @@ export function transform(
|
|
|
352
393
|
if (!loc) return
|
|
353
394
|
|
|
354
395
|
const variableName = getAssignedVariableName(path)
|
|
355
|
-
const
|
|
356
|
-
const
|
|
396
|
+
const combinator = `effect.${methodName}`
|
|
397
|
+
const functionName = variableName ?? combinator
|
|
398
|
+
const spanName = formatSpanName(combinator, variableName, fileName, loc.start.line, nameFormat)
|
|
357
399
|
const attrs: SpanAttributes = {
|
|
358
400
|
filepath: id,
|
|
359
401
|
line: loc.start.line,
|
package/src/types.ts
CHANGED
|
@@ -28,6 +28,14 @@ export type InstrumentableEffect =
|
|
|
28
28
|
| "iterate"
|
|
29
29
|
| "loop"
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Span name format options.
|
|
33
|
+
*
|
|
34
|
+
* @since 0.0.1
|
|
35
|
+
* @category models
|
|
36
|
+
*/
|
|
37
|
+
export type SpanNameFormat = "function" | "location" | "full"
|
|
38
|
+
|
|
31
39
|
/**
|
|
32
40
|
* Options for auto-instrumentation with withSpan.
|
|
33
41
|
*
|
|
@@ -48,6 +56,14 @@ export interface SpanInstrumentationOptions {
|
|
|
48
56
|
* Effect combinators to exclude from instrumentation.
|
|
49
57
|
*/
|
|
50
58
|
readonly exclude?: ReadonlyArray<InstrumentableEffect> | undefined
|
|
59
|
+
/**
|
|
60
|
+
* Span name format.
|
|
61
|
+
* - "function": `effect.gen (fetchUser)` - combinator + function name (DEFAULT)
|
|
62
|
+
* - "location": `effect.gen (index.ts:23)` - combinator + file:line
|
|
63
|
+
* - "full": `effect.gen (fetchUser @ index.ts:23)` - all info
|
|
64
|
+
* @default "function"
|
|
65
|
+
*/
|
|
66
|
+
readonly nameFormat?: SpanNameFormat | undefined
|
|
51
67
|
}
|
|
52
68
|
|
|
53
69
|
/**
|