optiprune 2.1.4 → 2.1.7
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/README.md +52 -22
- package/bin/runner.js +26 -0
- package/package.json +10 -37
- package/dist/ast-utils.d.ts +0 -149
- package/dist/ast-utils.js +0 -36
- package/dist/ast-utils.js.map +0 -1
- package/dist/cache.d.ts +0 -14
- package/dist/cache.js +0 -36
- package/dist/cache.js.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.js +0 -68
- package/dist/cli.js.map +0 -1
- package/dist/config-loader.d.ts +0 -4
- package/dist/config-loader.js +0 -84
- package/dist/config-loader.js.map +0 -1
- package/dist/coverage-tracker.d.ts +0 -39
- package/dist/coverage-tracker.js +0 -61
- package/dist/coverage-tracker.js.map +0 -1
- package/dist/engine.d.ts +0 -17
- package/dist/engine.js +0 -215
- package/dist/engine.js.map +0 -1
- package/dist/framework-plugins.d.ts +0 -16
- package/dist/framework-plugins.js +0 -127
- package/dist/framework-plugins.js.map +0 -1
- package/dist/fs-utils.d.ts +0 -32
- package/dist/fs-utils.js +0 -415
- package/dist/fs-utils.js.map +0 -1
- package/dist/graph.d.ts +0 -42
- package/dist/graph.js +0 -583
- package/dist/graph.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -451
- package/dist/index.js.map +0 -1
- package/dist/instrument.d.ts +0 -5
- package/dist/instrument.js +0 -108
- package/dist/instrument.js.map +0 -1
- package/dist/layer2.d.ts +0 -6
- package/dist/layer2.js +0 -224
- package/dist/layer2.js.map +0 -1
- package/dist/layer3.d.ts +0 -7
- package/dist/layer3.js +0 -346
- package/dist/layer3.js.map +0 -1
- package/dist/layer4.d.ts +0 -8
- package/dist/layer4.js +0 -627
- package/dist/layer4.js.map +0 -1
- package/dist/layer5.d.ts +0 -6
- package/dist/layer5.js +0 -141
- package/dist/layer5.js.map +0 -1
- package/dist/layer6.d.ts +0 -26
- package/dist/layer6.js +0 -268
- package/dist/layer6.js.map +0 -1
- package/dist/layer7.d.ts +0 -28
- package/dist/layer7.js +0 -267
- package/dist/layer7.js.map +0 -1
- package/dist/parser.d.ts +0 -20
- package/dist/parser.js +0 -832
- package/dist/parser.js.map +0 -1
- package/dist/plugins/angular-plugin.d.ts +0 -7
- package/dist/plugins/angular-plugin.js +0 -60
- package/dist/plugins/angular-plugin.js.map +0 -1
- package/dist/plugins/astro-plugin.d.ts +0 -7
- package/dist/plugins/astro-plugin.js +0 -88
- package/dist/plugins/astro-plugin.js.map +0 -1
- package/dist/plugins/babel-plugin.d.ts +0 -8
- package/dist/plugins/babel-plugin.js +0 -132
- package/dist/plugins/babel-plugin.js.map +0 -1
- package/dist/plugins/esbuild-plugin.d.ts +0 -8
- package/dist/plugins/esbuild-plugin.js +0 -121
- package/dist/plugins/esbuild-plugin.js.map +0 -1
- package/dist/plugins/nestjs-plugin.d.ts +0 -7
- package/dist/plugins/nestjs-plugin.js +0 -69
- package/dist/plugins/nestjs-plugin.js.map +0 -1
- package/dist/plugins/nextjs-plugin.d.ts +0 -7
- package/dist/plugins/nextjs-plugin.js +0 -66
- package/dist/plugins/nextjs-plugin.js.map +0 -1
- package/dist/plugins/nuxtjs-plugin.d.ts +0 -7
- package/dist/plugins/nuxtjs-plugin.js +0 -80
- package/dist/plugins/nuxtjs-plugin.js.map +0 -1
- package/dist/plugins/svelte-plugin.d.ts +0 -7
- package/dist/plugins/svelte-plugin.js +0 -38
- package/dist/plugins/svelte-plugin.js.map +0 -1
- package/dist/plugins/vuejs-plugin.d.ts +0 -7
- package/dist/plugins/vuejs-plugin.js +0 -63
- package/dist/plugins/vuejs-plugin.js.map +0 -1
- package/dist/reporters.d.ts +0 -3
- package/dist/reporters.js +0 -75
- package/dist/reporters.js.map +0 -1
- package/dist/semantic-graph.d.ts +0 -44
- package/dist/semantic-graph.js +0 -88
- package/dist/semantic-graph.js.map +0 -1
- package/dist/symbolic-engine.d.ts +0 -19
- package/dist/symbolic-engine.js +0 -51
- package/dist/symbolic-engine.js.map +0 -1
- package/dist/topology-manager.d.ts +0 -23
- package/dist/topology-manager.js +0 -144
- package/dist/topology-manager.js.map +0 -1
- package/dist/types.d.ts +0 -265
- package/dist/types.js +0 -11
- package/dist/types.js.map +0 -1
- package/dist/workspace.d.ts +0 -6
- package/dist/workspace.js +0 -105
- package/dist/workspace.js.map +0 -1
package/dist/parser.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { t } from "../ast-utils.js";
|
|
2
|
-
/**
|
|
3
|
-
* Angular Plugin
|
|
4
|
-
* Handles Angular-specific decorators and patterns.
|
|
5
|
-
*/
|
|
6
|
-
export const AngularPlugin = {
|
|
7
|
-
name: "angular-plugin",
|
|
8
|
-
version: "1.0.0",
|
|
9
|
-
detect: async (adapter) => {
|
|
10
|
-
const pkg = await adapter.readJson('package.json');
|
|
11
|
-
if (pkg) {
|
|
12
|
-
const hasDep = !!(pkg.dependencies?.['@angular/core'] || pkg.devDependencies?.['@angular/core']);
|
|
13
|
-
if (hasDep)
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
// Fallback: If we see Angular-like files, enable it
|
|
17
|
-
const angularJson = await adapter.readFile('angular.json');
|
|
18
|
-
return !!angularJson;
|
|
19
|
-
},
|
|
20
|
-
lifecycle: {
|
|
21
|
-
onFileStart: (fileId, adapter) => {
|
|
22
|
-
if (fileId.endsWith('component.ts') || fileId.endsWith('module.ts') || fileId.endsWith('service.ts')) {
|
|
23
|
-
adapter.markAsUsed(fileId);
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
onASTNode: (node, fileId, adapter) => {
|
|
27
|
-
// Angular Decorators (Babel parser might put them in 'decorators' or 'modifiers')
|
|
28
|
-
const decorators = node.decorators || node.modifiers?.filter((m) => m.type === 'Decorator');
|
|
29
|
-
if ((t.isClassDeclaration(node) || t.isClassExpression(node)) && decorators) {
|
|
30
|
-
const hasAngularDecorator = decorators.some((dec) => {
|
|
31
|
-
const expr = dec.expression;
|
|
32
|
-
const callee = t.isCallExpression(expr) ? expr.callee : expr;
|
|
33
|
-
const name = t.isIdentifier(callee) ? callee.name : (t.isMemberExpression(callee) && t.isIdentifier(callee.property) ? callee.property.name : null);
|
|
34
|
-
return name && ['Component', 'Directive', 'Injectable', 'NgModule', 'Pipe'].includes(name);
|
|
35
|
-
});
|
|
36
|
-
if (hasAngularDecorator) {
|
|
37
|
-
adapter.markAsUsed(fileId, node.id?.name);
|
|
38
|
-
adapter.markAsUsed(fileId); // Mark the whole file as reachable
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
// Input/Output Decorators
|
|
42
|
-
if ((t.isClassProperty(node) || t.isClassMethod(node) || t.isPropertyDefinition?.(node)) && decorators) {
|
|
43
|
-
const isAngularIo = decorators.some((dec) => {
|
|
44
|
-
const expr = dec.expression;
|
|
45
|
-
const callee = t.isCallExpression(expr) ? expr.callee : expr;
|
|
46
|
-
const name = t.isIdentifier(callee) ? callee.name : (t.isMemberExpression(callee) && t.isIdentifier(callee.property) ? callee.property.name : null);
|
|
47
|
-
return name && ['Input', 'Output', 'ViewChild', 'ContentChild', 'HostListener', 'HostBinding'].includes(name);
|
|
48
|
-
});
|
|
49
|
-
if (isAngularIo) {
|
|
50
|
-
const key = node.key || node.id;
|
|
51
|
-
if (t.isIdentifier(key)) {
|
|
52
|
-
adapter.markAsUsed(fileId, key.name);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
export default AngularPlugin;
|
|
60
|
-
//# sourceMappingURL=angular-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"angular-plugin.js","sourceRoot":"","sources":["../../src/plugins/angular-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { t } from "../ast-utils.js";
|
|
2
|
-
/**
|
|
3
|
-
* Astro Plugin
|
|
4
|
-
* Handles Astro-specific patterns: .astro components, API routes, layouts, etc.
|
|
5
|
-
*/
|
|
6
|
-
export const AstroPlugin = {
|
|
7
|
-
name: "astro-plugin",
|
|
8
|
-
version: "1.0.0",
|
|
9
|
-
detect: async (adapter) => {
|
|
10
|
-
const pkg = await adapter.readJson('package.json');
|
|
11
|
-
if (pkg) {
|
|
12
|
-
const hasDep = !!(pkg.dependencies?.['astro'] || pkg.devDependencies?.['astro']);
|
|
13
|
-
if (hasDep)
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
// Fallback: If we see astro.config.mjs, enable it
|
|
17
|
-
const astroConfig = await adapter.readFile('astro.config.mjs');
|
|
18
|
-
return !!astroConfig;
|
|
19
|
-
},
|
|
20
|
-
lifecycle: {
|
|
21
|
-
onFileStart: (fileId, adapter) => {
|
|
22
|
-
// Mark Astro conventional files as entry points
|
|
23
|
-
const astroPatterns = [
|
|
24
|
-
'.astro',
|
|
25
|
-
'pages/', 'layouts/', 'components/', 'api/'
|
|
26
|
-
];
|
|
27
|
-
if (astroPatterns.some(pattern => fileId.includes(pattern) || fileId.endsWith(pattern))) {
|
|
28
|
-
adapter.markAsUsed(fileId);
|
|
29
|
-
}
|
|
30
|
-
// Mark .astro files
|
|
31
|
-
if (fileId.endsWith('.astro')) {
|
|
32
|
-
adapter.markAsUsed(fileId);
|
|
33
|
-
}
|
|
34
|
-
// Mark API route files
|
|
35
|
-
if (fileId.includes('pages/api/') || fileId.includes('api/')) {
|
|
36
|
-
adapter.markAsUsed(fileId);
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
onASTNode: (node, fileId, adapter) => {
|
|
40
|
-
// Astro API exports (GET, POST, PUT, DELETE, PATCH, etc.)
|
|
41
|
-
if (t.isExportNamedDeclaration(node)) {
|
|
42
|
-
if (t.isFunctionDeclaration(node.declaration) || t.isFunctionExpression(node.declaration)) {
|
|
43
|
-
const funcName = node.declaration.id?.name;
|
|
44
|
-
if (funcName && ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'].includes(funcName)) {
|
|
45
|
-
adapter.markAsUsed(fileId, funcName);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// Astro getStaticPaths
|
|
50
|
-
if (t.isExportNamedDeclaration(node)) {
|
|
51
|
-
if (t.isFunctionDeclaration(node.declaration) || t.isFunctionExpression(node.declaration)) {
|
|
52
|
-
const funcName = node.declaration.id?.name;
|
|
53
|
-
if (funcName === 'getStaticPaths') {
|
|
54
|
-
adapter.markAsUsed(fileId, funcName);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// Astro.props, Astro.redirect, Astro.response
|
|
59
|
-
if (t.isIdentifier(node) && node.name === 'Astro') {
|
|
60
|
-
adapter.markAsUsed(fileId);
|
|
61
|
-
}
|
|
62
|
-
// Astro client-side directives (client:load, client:idle, etc.)
|
|
63
|
-
if (t.isJSXAttribute(node)) {
|
|
64
|
-
const attrName = node.name.name;
|
|
65
|
-
if (attrName && attrName.startsWith('client:')) {
|
|
66
|
-
adapter.markAsUsed(fileId);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Astro slots
|
|
70
|
-
if (t.isJSXElement(node) && t.isJSXIdentifier(node.openingElement.name)) {
|
|
71
|
-
const tagName = node.openingElement.name.name;
|
|
72
|
-
if (tagName === 'slot') {
|
|
73
|
-
adapter.markAsUsed(fileId);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// Astro.glob() for dynamic imports
|
|
77
|
-
if (t.isCallExpression(node) && t.isMemberExpression(node.callee)) {
|
|
78
|
-
const obj = node.callee.object;
|
|
79
|
-
const prop = node.callee.property;
|
|
80
|
-
if (t.isIdentifier(obj) && obj.name === 'Astro' && t.isIdentifier(prop) && prop.name === 'glob') {
|
|
81
|
-
adapter.markAsUsed(fileId);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
export default AstroPlugin;
|
|
88
|
-
//# sourceMappingURL=astro-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"astro-plugin.js","sourceRoot":"","sources":["../../src/plugins/astro-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AnalyzerPlugin } from "../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Babel Plugin
|
|
4
|
-
* Handles Babel-specific patterns: babel.config.js, .babelrc, CLI usage, and preset/plugin references
|
|
5
|
-
* This plugin detects Babel packages used via configuration files and build scripts
|
|
6
|
-
*/
|
|
7
|
-
export declare const BabelPlugin: AnalyzerPlugin;
|
|
8
|
-
export default BabelPlugin;
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { t } from "../ast-utils.js";
|
|
2
|
-
/**
|
|
3
|
-
* Babel Plugin
|
|
4
|
-
* Handles Babel-specific patterns: babel.config.js, .babelrc, CLI usage, and preset/plugin references
|
|
5
|
-
* This plugin detects Babel packages used via configuration files and build scripts
|
|
6
|
-
*/
|
|
7
|
-
export const BabelPlugin = {
|
|
8
|
-
name: "babel-plugin",
|
|
9
|
-
version: "1.0.0",
|
|
10
|
-
detect: async (adapter) => {
|
|
11
|
-
const pkg = await adapter.readJson('package.json');
|
|
12
|
-
if (pkg) {
|
|
13
|
-
const hasDep = !!(pkg.dependencies?.['@babel/core'] ||
|
|
14
|
-
pkg.dependencies?.['@babel/cli'] ||
|
|
15
|
-
pkg.devDependencies?.['@babel/core'] ||
|
|
16
|
-
pkg.devDependencies?.['@babel/cli']);
|
|
17
|
-
if (hasDep)
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
// Fallback: Check for Babel config files
|
|
21
|
-
const babelConfig = await adapter.readFile('babel.config.js') ||
|
|
22
|
-
await adapter.readFile('babel.config.cjs') ||
|
|
23
|
-
await adapter.readFile('.babelrc') ||
|
|
24
|
-
await adapter.readFile('.babelrc.js') ||
|
|
25
|
-
await adapter.readFile('.babelrc.cjs');
|
|
26
|
-
return !!babelConfig;
|
|
27
|
-
},
|
|
28
|
-
lifecycle: {
|
|
29
|
-
onFileStart: (fileId, adapter) => {
|
|
30
|
-
// Mark Babel config files as entry points
|
|
31
|
-
const babelConfigFiles = [
|
|
32
|
-
'babel.config.js',
|
|
33
|
-
'babel.config.cjs',
|
|
34
|
-
'babel.config.mjs',
|
|
35
|
-
'.babelrc',
|
|
36
|
-
'.babelrc.js',
|
|
37
|
-
'.babelrc.cjs',
|
|
38
|
-
'.babelrc.json'
|
|
39
|
-
];
|
|
40
|
-
if (babelConfigFiles.some(pattern => fileId.endsWith(pattern))) {
|
|
41
|
-
adapter.markAsUsed(fileId);
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
onASTNode: (node, fileId, adapter) => {
|
|
45
|
-
// Detect Babel preset/plugin usage in config files
|
|
46
|
-
if (fileId.includes('babel.config') || fileId.includes('.babelrc')) {
|
|
47
|
-
// Mark @babel/preset-* and @babel/plugin-* as used
|
|
48
|
-
if (t.isStringLiteral(node)) {
|
|
49
|
-
const value = node.value;
|
|
50
|
-
if (value.includes('@babel/preset-') || value.includes('@babel/plugin-')) {
|
|
51
|
-
adapter.markAsUsed(fileId);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// Detect preset/plugin object references
|
|
55
|
-
if (t.isObjectProperty(node) || t.isObjectMethod(node)) {
|
|
56
|
-
const key = node.key;
|
|
57
|
-
if (t.isIdentifier(key) && ['presets', 'plugins'].includes(key.name)) {
|
|
58
|
-
adapter.markAsUsed(fileId);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// Detect Babel API usage in source files
|
|
63
|
-
if (t.isCallExpression(node)) {
|
|
64
|
-
// @babel/core API: transformFileSync, transformSync, parseSync, etc.
|
|
65
|
-
if (t.isMemberExpression(node.callee)) {
|
|
66
|
-
const obj = node.callee.object;
|
|
67
|
-
const prop = node.callee.property;
|
|
68
|
-
if (t.isIdentifier(obj) && t.isIdentifier(prop)) {
|
|
69
|
-
const babelMethods = [
|
|
70
|
-
'transformFileSync',
|
|
71
|
-
'transformSync',
|
|
72
|
-
'parseSync',
|
|
73
|
-
'transformFile',
|
|
74
|
-
'transform',
|
|
75
|
-
'parse'
|
|
76
|
-
];
|
|
77
|
-
if (babelMethods.includes(prop.name)) {
|
|
78
|
-
adapter.markAsUsed(fileId);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// Direct Babel function calls
|
|
83
|
-
if (t.isIdentifier(node.callee)) {
|
|
84
|
-
const funcName = node.callee.name;
|
|
85
|
-
if (['transformFileSync', 'transformSync', 'parseSync', 'transform', 'parse'].includes(funcName)) {
|
|
86
|
-
adapter.markAsUsed(fileId);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
// Detect @babel/traverse usage
|
|
91
|
-
if (t.isCallExpression(node) && t.isIdentifier(node.callee)) {
|
|
92
|
-
if (node.callee.name === 'traverse') {
|
|
93
|
-
adapter.markAsUsed(fileId);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// Detect @babel/types usage (t.isXxx, t.createXxx patterns)
|
|
97
|
-
if (t.isMemberExpression(node)) {
|
|
98
|
-
const obj = node.object;
|
|
99
|
-
const prop = node.property;
|
|
100
|
-
if (t.isIdentifier(obj) && obj.name === 't' && t.isIdentifier(prop)) {
|
|
101
|
-
const typeMethods = ['is', 'create', 'clone', 'removeProperties', 'removePropertiesDeep'];
|
|
102
|
-
if (typeMethods.some(method => prop.name.startsWith(method))) {
|
|
103
|
-
adapter.markAsUsed(fileId);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// Detect @babel/helper-* usage
|
|
108
|
-
if (t.isImportDeclaration(node)) {
|
|
109
|
-
const source = node.source.value;
|
|
110
|
-
if (source.includes('@babel/helper-')) {
|
|
111
|
-
adapter.markAsUsed(fileId);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Detect @babel/plugin-proposal-* and @babel/plugin-transform-* usage
|
|
115
|
-
if (t.isImportDeclaration(node)) {
|
|
116
|
-
const source = node.source.value;
|
|
117
|
-
if (source.includes('@babel/plugin-')) {
|
|
118
|
-
adapter.markAsUsed(fileId);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
// Detect @babel/preset-* usage
|
|
122
|
-
if (t.isImportDeclaration(node)) {
|
|
123
|
-
const source = node.source.value;
|
|
124
|
-
if (source.includes('@babel/preset-')) {
|
|
125
|
-
adapter.markAsUsed(fileId);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
export default BabelPlugin;
|
|
132
|
-
//# sourceMappingURL=babel-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"babel-plugin.js","sourceRoot":"","sources":["../../src/plugins/babel-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AnalyzerPlugin } from "../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* ESBuild Plugin
|
|
4
|
-
* Handles ESBuild-specific patterns: esbuild.config.js, CLI usage, and build script references
|
|
5
|
-
* This plugin detects esbuild packages used via configuration files and build scripts
|
|
6
|
-
*/
|
|
7
|
-
export declare const ESBuildPlugin: AnalyzerPlugin;
|
|
8
|
-
export default ESBuildPlugin;
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { t } from "../ast-utils.js";
|
|
2
|
-
/**
|
|
3
|
-
* ESBuild Plugin
|
|
4
|
-
* Handles ESBuild-specific patterns: esbuild.config.js, CLI usage, and build script references
|
|
5
|
-
* This plugin detects esbuild packages used via configuration files and build scripts
|
|
6
|
-
*/
|
|
7
|
-
export const ESBuildPlugin = {
|
|
8
|
-
name: "esbuild-plugin",
|
|
9
|
-
version: "1.0.0",
|
|
10
|
-
detect: async (adapter) => {
|
|
11
|
-
const pkg = await adapter.readJson('package.json');
|
|
12
|
-
if (pkg) {
|
|
13
|
-
const hasDep = !!(pkg.dependencies?.['esbuild'] || pkg.devDependencies?.['esbuild']);
|
|
14
|
-
if (hasDep)
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
// Fallback: Check for esbuild config files
|
|
18
|
-
const esbuildConfig = await adapter.readFile('esbuild.config.js') ||
|
|
19
|
-
await adapter.readFile('esbuild.config.mjs') ||
|
|
20
|
-
await adapter.readFile('esbuild.config.ts');
|
|
21
|
-
return !!esbuildConfig;
|
|
22
|
-
},
|
|
23
|
-
lifecycle: {
|
|
24
|
-
onFileStart: (fileId, adapter) => {
|
|
25
|
-
// Mark esbuild config files as entry points
|
|
26
|
-
const esbuildConfigFiles = [
|
|
27
|
-
'esbuild.config.js',
|
|
28
|
-
'esbuild.config.mjs',
|
|
29
|
-
'esbuild.config.ts',
|
|
30
|
-
'esbuild.config.cjs'
|
|
31
|
-
];
|
|
32
|
-
if (esbuildConfigFiles.some(pattern => fileId.endsWith(pattern))) {
|
|
33
|
-
adapter.markAsUsed(fileId);
|
|
34
|
-
}
|
|
35
|
-
// Mark build script files that use esbuild
|
|
36
|
-
if (fileId.endsWith('build.js') || fileId.endsWith('build.ts') || fileId.endsWith('build.mjs')) {
|
|
37
|
-
adapter.markAsUsed(fileId);
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
onASTNode: (node, fileId, adapter) => {
|
|
41
|
-
// Detect esbuild API usage: build(), buildSync(), transform(), transformSync()
|
|
42
|
-
if (t.isCallExpression(node)) {
|
|
43
|
-
// esbuild.build(), esbuild.buildSync(), etc.
|
|
44
|
-
if (t.isMemberExpression(node.callee)) {
|
|
45
|
-
const obj = node.callee.object;
|
|
46
|
-
const prop = node.callee.property;
|
|
47
|
-
if (t.isIdentifier(obj) && t.isIdentifier(prop)) {
|
|
48
|
-
const esbuildMethods = [
|
|
49
|
-
'build',
|
|
50
|
-
'buildSync',
|
|
51
|
-
'transform',
|
|
52
|
-
'transformSync',
|
|
53
|
-
'serve',
|
|
54
|
-
'analyzeMetafile',
|
|
55
|
-
'formatMessages',
|
|
56
|
-
'initialize'
|
|
57
|
-
];
|
|
58
|
-
if (esbuildMethods.includes(prop.name)) {
|
|
59
|
-
adapter.markAsUsed(fileId);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// Direct esbuild function calls
|
|
64
|
-
if (t.isIdentifier(node.callee)) {
|
|
65
|
-
const funcName = node.callee.name;
|
|
66
|
-
if (['build', 'buildSync', 'transform', 'transformSync', 'serve'].includes(funcName)) {
|
|
67
|
-
adapter.markAsUsed(fileId);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Detect esbuild import statements
|
|
72
|
-
if (t.isImportDeclaration(node)) {
|
|
73
|
-
const source = node.source.value;
|
|
74
|
-
if (source === 'esbuild') {
|
|
75
|
-
adapter.markAsUsed(fileId);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Detect esbuild require statements
|
|
79
|
-
if (t.isCallExpression(node) && t.isIdentifier(node.callee)) {
|
|
80
|
-
if (node.callee.name === 'require') {
|
|
81
|
-
const arg = node.arguments[0];
|
|
82
|
-
if (t.isStringLiteral(arg) && arg.value === 'esbuild') {
|
|
83
|
-
adapter.markAsUsed(fileId);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
// Detect esbuild plugin definitions
|
|
88
|
-
if (t.isObjectProperty(node)) {
|
|
89
|
-
const key = node.key;
|
|
90
|
-
if (t.isIdentifier(key) && ['plugins', 'loader', 'format', 'target'].includes(key.name)) {
|
|
91
|
-
adapter.markAsUsed(fileId);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// Detect esbuild configuration object
|
|
95
|
-
if (t.isObjectExpression(node)) {
|
|
96
|
-
const properties = node.properties;
|
|
97
|
-
const esbuildConfigKeys = ['entryPoints', 'outfile', 'outdir', 'bundle', 'minify', 'sourcemap', 'target', 'format', 'loader', 'plugins', 'external', 'define', 'inject', 'banner', 'footer', 'globalName', 'assetNames', 'chunkNames', 'entryNames'];
|
|
98
|
-
const hasEsbuildConfig = properties?.some((prop) => {
|
|
99
|
-
const key = prop.key?.name;
|
|
100
|
-
return esbuildConfigKeys.includes(key);
|
|
101
|
-
});
|
|
102
|
-
if (hasEsbuildConfig) {
|
|
103
|
-
adapter.markAsUsed(fileId);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// Detect esbuild plugin object pattern
|
|
107
|
-
if (t.isObjectExpression(node)) {
|
|
108
|
-
const properties = node.properties;
|
|
109
|
-
const hasPluginPattern = properties?.some((prop) => {
|
|
110
|
-
const key = prop.key?.name;
|
|
111
|
-
return ['setup', 'name'].includes(key);
|
|
112
|
-
});
|
|
113
|
-
if (hasPluginPattern) {
|
|
114
|
-
adapter.markAsUsed(fileId);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
export default ESBuildPlugin;
|
|
121
|
-
//# sourceMappingURL=esbuild-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-plugin.js","sourceRoot":"","sources":["../../src/plugins/esbuild-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { t } from "../ast-utils.js";
|
|
2
|
-
/**
|
|
3
|
-
* NestJS Plugin
|
|
4
|
-
* Handles NestJS-specific decorators: @Controller, @Injectable, @Module, @Guard, @Interceptor, etc.
|
|
5
|
-
*/
|
|
6
|
-
export const NestJsPlugin = {
|
|
7
|
-
name: "nestjs-plugin",
|
|
8
|
-
version: "1.0.0",
|
|
9
|
-
detect: async (adapter) => {
|
|
10
|
-
const pkg = await adapter.readJson('package.json');
|
|
11
|
-
if (pkg) {
|
|
12
|
-
const hasDep = !!(pkg.dependencies?.['@nestjs/core'] || pkg.devDependencies?.['@nestjs/core']);
|
|
13
|
-
if (hasDep)
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
// Fallback: If we see nest-cli.json, enable it
|
|
17
|
-
const nestCli = await adapter.readFile('nest-cli.json');
|
|
18
|
-
return !!nestCli;
|
|
19
|
-
},
|
|
20
|
-
lifecycle: {
|
|
21
|
-
onFileStart: (fileId, adapter) => {
|
|
22
|
-
// Mark NestJS module files as entry points
|
|
23
|
-
if (fileId.endsWith('.module.ts') || fileId.endsWith('.controller.ts') || fileId.endsWith('.service.ts')) {
|
|
24
|
-
adapter.markAsUsed(fileId);
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
onASTNode: (node, fileId, adapter) => {
|
|
28
|
-
// NestJS Decorators (Babel parser might put them in 'decorators' or 'modifiers')
|
|
29
|
-
const decorators = node.decorators || node.modifiers?.filter((m) => m.type === 'Decorator');
|
|
30
|
-
if ((t.isClassDeclaration(node) || t.isClassExpression(node)) && decorators) {
|
|
31
|
-
const hasNestJsDecorator = decorators.some((dec) => {
|
|
32
|
-
const expr = dec.expression;
|
|
33
|
-
const callee = t.isCallExpression(expr) ? expr.callee : expr;
|
|
34
|
-
const name = t.isIdentifier(callee) ? callee.name : (t.isMemberExpression(callee) && t.isIdentifier(callee.property) ? callee.property.name : null);
|
|
35
|
-
return name && ['Controller', 'Injectable', 'Module', 'Guard', 'Interceptor', 'Pipe', 'Filter', 'Middleware'].includes(name);
|
|
36
|
-
});
|
|
37
|
-
if (hasNestJsDecorator) {
|
|
38
|
-
adapter.markAsUsed(fileId, node.id?.name);
|
|
39
|
-
adapter.markAsUsed(fileId);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// NestJS method decorators (@Get, @Post, @Put, @Delete, @Patch, etc.)
|
|
43
|
-
if (t.isClassMethod(node) && decorators) {
|
|
44
|
-
const hasRouteDecorator = decorators.some((dec) => {
|
|
45
|
-
const expr = dec.expression;
|
|
46
|
-
const callee = t.isCallExpression(expr) ? expr.callee : expr;
|
|
47
|
-
const name = t.isIdentifier(callee) ? callee.name : null;
|
|
48
|
-
return name && ['Get', 'Post', 'Put', 'Delete', 'Patch', 'Options', 'Head'].includes(name);
|
|
49
|
-
});
|
|
50
|
-
if (hasRouteDecorator) {
|
|
51
|
-
adapter.markAsUsed(fileId, node.key?.name);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// NestJS dependency injection via @Inject decorator
|
|
55
|
-
if (t.isClassProperty(node) && decorators) {
|
|
56
|
-
const hasInjectDecorator = decorators.some((dec) => {
|
|
57
|
-
const expr = dec.expression;
|
|
58
|
-
const name = t.isIdentifier(expr) ? expr.name : (t.isCallExpression(expr) && t.isIdentifier(expr.callee) ? expr.callee.name : null);
|
|
59
|
-
return name === 'Inject';
|
|
60
|
-
});
|
|
61
|
-
if (hasInjectDecorator) {
|
|
62
|
-
adapter.markAsUsed(fileId, node.key?.name);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
export default NestJsPlugin;
|
|
69
|
-
//# sourceMappingURL=nestjs-plugin.js.map
|