@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.
- package/_mjs/transformer.mjs +16 -1
- package/_mjs/transformer.mjs.map +1 -1
- package/package.json +1 -1
- package/transformer.d.ts +5 -1
- package/transformer.d.ts.map +1 -1
- package/transformer.js +17 -2
- package/transformer.js.map +1 -1
package/_mjs/transformer.mjs
CHANGED
|
@@ -13,9 +13,10 @@ class RefCounted {
|
|
|
13
13
|
return this.counter;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
export default function
|
|
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
|
}
|
package/_mjs/transformer.mjs.map
CHANGED
|
@@ -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
package/transformer.d.ts
CHANGED
|
@@ -7,11 +7,15 @@ declare module "typescript" {
|
|
|
7
7
|
used?: number;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
export default function
|
|
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>;
|
package/transformer.d.ts.map
CHANGED
|
@@ -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,
|
|
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 =
|
|
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
|
|
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
|
}
|
package/transformer.js.map
CHANGED
|
@@ -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]}
|