@effect/language-service 0.0.4 → 0.0.5

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.
@@ -13,9 +13,10 @@ class RefCounted {
13
13
  return this.counter;
14
14
  }
15
15
  }
16
- export default function transformer(program, options) {
16
+ export default function effectPlugin(program, options) {
17
17
  const checker = program.getTypeChecker();
18
18
  const traceFilter = createFilter(options?.trace?.include, options?.trace?.exclude);
19
+ const debugFilter = createFilter(options?.debug?.include ?? [], options?.debug?.exclude ?? (options?.debug?.include ? [] : ["**/*"]));
19
20
  const optimizeFilter = createFilter(options?.optimize?.include, options?.optimize?.exclude);
20
21
  const removeUnusedImports = options?.removeUnusedImports ?? true;
21
22
  return {
@@ -42,6 +43,13 @@ export default function transformer(program, options) {
42
43
  return undefined;
43
44
  }
44
45
  }
46
+ const debugVisitor = node => {
47
+ const visited = ts.visitEachChild(node, debugVisitor, ctx);
48
+ if (ts.isArrowFunction(visited)) {
49
+ return ctx.factory.updateArrowFunction(visited, visited.modifiers, visited.typeParameters, visited.parameters, visited.type, visited.equalsGreaterThanToken, ts.isBlock(visited.body) ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : ctx.factory.createBlock([ctx.factory.createDebuggerStatement(), ctx.factory.createReturnStatement(visited.body)]));
50
+ }
51
+ return ts.visitEachChild(node, debugVisitor, ctx);
52
+ };
45
53
  const traceVisitor = node => {
46
54
  const visited = ts.visitEachChild(node, traceVisitor, ctx);
47
55
  if (ts.isCallExpression(visited)) {
@@ -111,6 +119,9 @@ export default function transformer(program, options) {
111
119
  if (traceFilter(sourceFile.fileName)) {
112
120
  visited = ts.visitNode(visited, traceVisitor);
113
121
  }
122
+ if (debugFilter(sourceFile.fileName)) {
123
+ visited = ts.visitNode(visited, debugVisitor);
124
+ }
114
125
  if (removeUnusedImports) {
115
126
  visited = ts.visitNode(visited, usedImportsVisitor);
116
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.mjs","mappings":"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","names":["createFilter","ts","RefCounted","constructor","ref","get","counter","count","transformer","program","options","checker","getTypeChecker","traceFilter","trace","include","exclude","optimizeFilter","optimize","removeUnusedImports","before","ctx","sourceFile","isDeclarationFile","tracer","factory","createUniqueName","fileName","getOriginal","node","current","getTrace","pos","getStart","nodeEnd","getLineAndCharacterOfPosition","createBinaryExpression","createToken","SyntaxKind","PlusToken","createStringLiteral","line","character","e","undefined","traceVisitor","visited","visitEachChild","isCallExpression","shouldEmbedTrace","signature","getResolvedSignature","declaration","getAllJSDocTags","tag","tagName","text","comment","length","getSymbolAtLocation","expression","getJsDocTags","filter","name","map","d","join","isPropertyAccessExpression","createCallExpression","createPropertyAccessExpression","findSource","isSourceFile","parent","optimizeVisitor","arguments","isJSDocSignature","includes","getText","expr","visitNode","i","usedImportsVisitor","isImportDeclaration","importClause","namedBindings","isNamedImports","elements","forEach","specifier","used","isNamespaceImport","isIdentifier","isImportSpecifier","declarations","statements","push","createImportDeclaration","createImportClause","createNamespaceImport","createVariableStatement","createVariableDeclarationList","createVariableDeclaration","NodeFlags","Const","statement","updateSourceFile","every","referencedFiles","typeReferenceDirectives","hasNoDefaultLib","libReferenceDirectives"],"sourceRoot":"","sources":["../../src/transformer.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"transformer.mjs","mappings":"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","names":["createFilter","ts","RefCounted","constructor","ref","get","counter","count","effectPlugin","program","options","checker","getTypeChecker","traceFilter","trace","include","exclude","debugFilter","debug","optimizeFilter","optimize","removeUnusedImports","before","ctx","sourceFile","isDeclarationFile","tracer","factory","createUniqueName","fileName","getOriginal","node","current","getTrace","pos","getStart","nodeEnd","getLineAndCharacterOfPosition","createBinaryExpression","createToken","SyntaxKind","PlusToken","createStringLiteral","line","character","e","undefined","debugVisitor","visited","visitEachChild","isArrowFunction","updateArrowFunction","modifiers","typeParameters","parameters","type","equalsGreaterThanToken","isBlock","body","updateBlock","createDebuggerStatement","statements","createBlock","createReturnStatement","traceVisitor","isCallExpression","shouldEmbedTrace","signature","getResolvedSignature","declaration","getAllJSDocTags","tag","tagName","text","comment","length","getSymbolAtLocation","expression","getJsDocTags","filter","name","map","d","join","isPropertyAccessExpression","createCallExpression","createPropertyAccessExpression","findSource","isSourceFile","parent","optimizeVisitor","arguments","isJSDocSignature","includes","getText","expr","visitNode","i","usedImportsVisitor","isImportDeclaration","importClause","namedBindings","isNamedImports","elements","forEach","specifier","used","isNamespaceImport","isIdentifier","isImportSpecifier","declarations","push","createImportDeclaration","createImportClause","createNamespaceImport","createVariableStatement","createVariableDeclarationList","createVariableDeclaration","NodeFlags","Const","statement","updateSourceFile","every","referencedFiles","typeReferenceDirectives","hasNoDefaultLib","libReferenceDirectives"],"sourceRoot":"","sources":["../../src/transformer.ts"],"sourcesContent":[null]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/language-service",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
package/transformer.d.ts CHANGED
@@ -7,11 +7,15 @@ declare module "typescript" {
7
7
  used?: number;
8
8
  }
9
9
  }
10
- export default function transformer(program: ts.Program, options?: {
10
+ export default function effectPlugin(program: ts.Program, options?: {
11
11
  trace?: {
12
12
  include?: Array<string>;
13
13
  exclude?: Array<string>;
14
14
  };
15
+ debug?: {
16
+ include?: Array<string>;
17
+ exclude?: Array<string>;
18
+ };
15
19
  optimize?: {
16
20
  include?: Array<string>;
17
21
  exclude?: Array<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAA;AAc3B,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAiB,eAAe;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;KACd;IACD,UAAiB,eAAe;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;KACd;CACF;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IAC5D,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IAC/D,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;gBAOa,GAAG,qBAAqB,gBACd,GAAG,UAAU;EAgNtC"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAA;AAc3B,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAiB,eAAe;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;KACd;IACD,UAAiB,eAAe;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;KACd;CACF;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IAC5D,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IAC5D,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IAC/D,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;gBAWa,GAAG,qBAAqB,gBACd,GAAG,UAAU;EA4OtC"}
package/transformer.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = transformer;
6
+ exports.default = effectPlugin;
7
7
  var _pluginutils = /*#__PURE__*/require("@rollup/pluginutils");
8
8
  var _typescript = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("typescript"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -20,9 +20,10 @@ class RefCounted {
20
20
  return this.counter;
21
21
  }
22
22
  }
23
- function transformer(program, options) {
23
+ function effectPlugin(program, options) {
24
24
  const checker = program.getTypeChecker();
25
25
  const traceFilter = (0, _pluginutils.createFilter)(options?.trace?.include, options?.trace?.exclude);
26
+ const debugFilter = (0, _pluginutils.createFilter)(options?.debug?.include ?? [], options?.debug?.exclude ?? (options?.debug?.include ? [] : ["**/*"]));
26
27
  const optimizeFilter = (0, _pluginutils.createFilter)(options?.optimize?.include, options?.optimize?.exclude);
27
28
  const removeUnusedImports = options?.removeUnusedImports ?? true;
28
29
  return {
@@ -49,6 +50,13 @@ function transformer(program, options) {
49
50
  return undefined;
50
51
  }
51
52
  }
53
+ const debugVisitor = node => {
54
+ const visited = _typescript.default.visitEachChild(node, debugVisitor, ctx);
55
+ if (_typescript.default.isArrowFunction(visited)) {
56
+ return ctx.factory.updateArrowFunction(visited, visited.modifiers, visited.typeParameters, visited.parameters, visited.type, visited.equalsGreaterThanToken, _typescript.default.isBlock(visited.body) ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : ctx.factory.createBlock([ctx.factory.createDebuggerStatement(), ctx.factory.createReturnStatement(visited.body)]));
57
+ }
58
+ return _typescript.default.visitEachChild(node, debugVisitor, ctx);
59
+ };
52
60
  const traceVisitor = node => {
53
61
  const visited = _typescript.default.visitEachChild(node, traceVisitor, ctx);
54
62
  if (_typescript.default.isCallExpression(visited)) {
@@ -118,6 +126,9 @@ function transformer(program, options) {
118
126
  if (traceFilter(sourceFile.fileName)) {
119
127
  visited = _typescript.default.visitNode(visited, traceVisitor);
120
128
  }
129
+ if (debugFilter(sourceFile.fileName)) {
130
+ visited = _typescript.default.visitNode(visited, debugVisitor);
131
+ }
121
132
  if (removeUnusedImports) {
122
133
  visited = _typescript.default.visitNode(visited, usedImportsVisitor);
123
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","mappings":"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","names":["RefCounted","constructor","ref","get","counter","count","transformer","program","options","checker","getTypeChecker","traceFilter","trace","include","exclude","optimizeFilter","optimize","removeUnusedImports","before","ctx","sourceFile","isDeclarationFile","tracer","factory","createUniqueName","fileName","getOriginal","node","current","getTrace","pos","getStart","nodeEnd","getLineAndCharacterOfPosition","createBinaryExpression","createToken","ts","SyntaxKind","PlusToken","createStringLiteral","line","character","e","undefined","traceVisitor","visited","visitEachChild","isCallExpression","shouldEmbedTrace","signature","getResolvedSignature","declaration","getAllJSDocTags","tag","tagName","text","comment","length","getSymbolAtLocation","expression","getJsDocTags","filter","name","map","d","join","isPropertyAccessExpression","createCallExpression","createPropertyAccessExpression","findSource","isSourceFile","parent","optimizeVisitor","arguments","isJSDocSignature","includes","getText","expr","visitNode","i","usedImportsVisitor","isImportDeclaration","importClause","namedBindings","isNamedImports","elements","forEach","specifier","used","isNamespaceImport","isIdentifier","isImportSpecifier","declarations","statements","push","createImportDeclaration","createImportClause","createNamespaceImport","createVariableStatement","createVariableDeclarationList","createVariableDeclaration","NodeFlags","Const","statement","updateSourceFile","every","referencedFiles","typeReferenceDirectives","hasNoDefaultLib","libReferenceDirectives"],"sourceRoot":"","sources":["../../src/transformer.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"transformer.js","mappings":"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","names":["RefCounted","constructor","ref","get","counter","count","effectPlugin","program","options","checker","getTypeChecker","traceFilter","trace","include","exclude","debugFilter","debug","optimizeFilter","optimize","removeUnusedImports","before","ctx","sourceFile","isDeclarationFile","tracer","factory","createUniqueName","fileName","getOriginal","node","current","getTrace","pos","getStart","nodeEnd","getLineAndCharacterOfPosition","createBinaryExpression","createToken","ts","SyntaxKind","PlusToken","createStringLiteral","line","character","e","undefined","debugVisitor","visited","visitEachChild","isArrowFunction","updateArrowFunction","modifiers","typeParameters","parameters","type","equalsGreaterThanToken","isBlock","body","updateBlock","createDebuggerStatement","statements","createBlock","createReturnStatement","traceVisitor","isCallExpression","shouldEmbedTrace","signature","getResolvedSignature","declaration","getAllJSDocTags","tag","tagName","text","comment","length","getSymbolAtLocation","expression","getJsDocTags","filter","name","map","d","join","isPropertyAccessExpression","createCallExpression","createPropertyAccessExpression","findSource","isSourceFile","parent","optimizeVisitor","arguments","isJSDocSignature","includes","getText","expr","visitNode","i","usedImportsVisitor","isImportDeclaration","importClause","namedBindings","isNamedImports","elements","forEach","specifier","used","isNamespaceImport","isIdentifier","isImportSpecifier","declarations","push","createImportDeclaration","createImportClause","createNamespaceImport","createVariableStatement","createVariableDeclarationList","createVariableDeclaration","NodeFlags","Const","statement","updateSourceFile","every","referencedFiles","typeReferenceDirectives","hasNoDefaultLib","libReferenceDirectives"],"sourceRoot":"","sources":["../../src/transformer.ts"],"sourcesContent":[null]}