@effect/language-service 0.0.4 → 0.0.6

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,17 @@ 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.isFunctionDeclaration(visited)) {
49
+ return ctx.factory.updateFunctionDeclaration(visited, visited.modifiers, visited.asteriskToken, visited.name, visited.typeParameters, visited.parameters, visited.type, visited.body ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : visited.body);
50
+ } else if (ts.isFunctionExpression(visited)) {
51
+ return ctx.factory.updateFunctionExpression(visited, visited.modifiers, visited.asteriskToken, visited.name, visited.typeParameters, visited.parameters, visited.type, visited.body ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : visited.body);
52
+ } else if (ts.isArrowFunction(visited)) {
53
+ 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)]));
54
+ }
55
+ return ts.visitEachChild(node, debugVisitor, ctx);
56
+ };
45
57
  const traceVisitor = node => {
46
58
  const visited = ts.visitEachChild(node, traceVisitor, ctx);
47
59
  if (ts.isCallExpression(visited)) {
@@ -111,6 +123,9 @@ export default function transformer(program, options) {
111
123
  if (traceFilter(sourceFile.fileName)) {
112
124
  visited = ts.visitNode(visited, traceVisitor);
113
125
  }
126
+ if (debugFilter(sourceFile.fileName)) {
127
+ visited = ts.visitNode(visited, debugVisitor);
128
+ }
114
129
  if (removeUnusedImports) {
115
130
  visited = ts.visitNode(visited, usedImportsVisitor);
116
131
  }
@@ -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","isFunctionDeclaration","updateFunctionDeclaration","modifiers","asteriskToken","name","typeParameters","parameters","type","body","updateBlock","createDebuggerStatement","statements","isFunctionExpression","updateFunctionExpression","isArrowFunction","updateArrowFunction","equalsGreaterThanToken","isBlock","createBlock","createReturnStatement","traceVisitor","isCallExpression","shouldEmbedTrace","signature","getResolvedSignature","declaration","getAllJSDocTags","tag","tagName","text","comment","length","getSymbolAtLocation","expression","getJsDocTags","filter","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.6",
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;EA4QtC"}
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,17 @@ 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.isFunctionDeclaration(visited)) {
56
+ return ctx.factory.updateFunctionDeclaration(visited, visited.modifiers, visited.asteriskToken, visited.name, visited.typeParameters, visited.parameters, visited.type, visited.body ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : visited.body);
57
+ } else if (_typescript.default.isFunctionExpression(visited)) {
58
+ return ctx.factory.updateFunctionExpression(visited, visited.modifiers, visited.asteriskToken, visited.name, visited.typeParameters, visited.parameters, visited.type, visited.body ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : visited.body);
59
+ } else if (_typescript.default.isArrowFunction(visited)) {
60
+ 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)]));
61
+ }
62
+ return _typescript.default.visitEachChild(node, debugVisitor, ctx);
63
+ };
52
64
  const traceVisitor = node => {
53
65
  const visited = _typescript.default.visitEachChild(node, traceVisitor, ctx);
54
66
  if (_typescript.default.isCallExpression(visited)) {
@@ -118,6 +130,9 @@ function transformer(program, options) {
118
130
  if (traceFilter(sourceFile.fileName)) {
119
131
  visited = _typescript.default.visitNode(visited, traceVisitor);
120
132
  }
133
+ if (debugFilter(sourceFile.fileName)) {
134
+ visited = _typescript.default.visitNode(visited, debugVisitor);
135
+ }
121
136
  if (removeUnusedImports) {
122
137
  visited = _typescript.default.visitNode(visited, usedImportsVisitor);
123
138
  }
@@ -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","isFunctionDeclaration","updateFunctionDeclaration","modifiers","asteriskToken","name","typeParameters","parameters","type","body","updateBlock","createDebuggerStatement","statements","isFunctionExpression","updateFunctionExpression","isArrowFunction","updateArrowFunction","equalsGreaterThanToken","isBlock","createBlock","createReturnStatement","traceVisitor","isCallExpression","shouldEmbedTrace","signature","getResolvedSignature","declaration","getAllJSDocTags","tag","tagName","text","comment","length","getSymbolAtLocation","expression","getJsDocTags","filter","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]}