@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.
@@ -1 +1 @@
1
- {"version":3,"file":"sourceTrace.d.ts","sourceRoot":"","sources":["../src/sourceTrace.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAwB,kBAAkB,EAA8B,MAAM,YAAY,CAAA;AAmDtG;;;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;AAoOD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,kBAAuB,GAC/B,eAAe,CAgLjB"}
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"}
@@ -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 a variable declarator parent.
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
- * Creates a span name using effect.{combinator} format.
102
+ * Formats span name based on the nameFormat option.
83
103
  */
84
- function createSpanName(combinatorName, fileName, line) {
85
- return `effect.${combinatorName} (${fileName}:${line})`;
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 functionName = variableName ?? `effect.${methodName}`;
208
- const spanName = createSpanName(methodName, fileName, loc.start.line);
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,
@@ -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.
@@ -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;CACnE;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"}
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.8",
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",
@@ -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 a variable declarator parent.
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
- * Creates a span name using effect.{combinator} format.
212
+ * Formats span name based on the nameFormat option.
188
213
  */
189
- function createSpanName(
190
- combinatorName: string,
191
- fileName: string,
192
- line: number
214
+ function formatSpanName(
215
+ combinator: string,
216
+ functionName: string | null,
217
+ filename: string,
218
+ line: number,
219
+ format: SpanNameFormat
193
220
  ): string {
194
- return `effect.${combinatorName} (${fileName}:${line})`
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 functionName = variableName ?? `effect.${methodName}`
356
- const spanName = createSpanName(methodName, fileName, loc.start.line)
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
  /**