sca-tool
Version:
Universal static code analysis tool for calculating API operation costs across multiple frameworks (NestJS, Express, Fastify)
82 lines • 4.57 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigLoader = exports.EditorDetector = exports.createConfig = exports.mergeConfigs = exports.getFrameworkConfig = exports.FRAMEWORK_PRESETS = exports.DEFAULT_CONFIG = exports.ReportGenerator = exports.analyzeExpressProject = exports.analyzeNestJSProject = exports.analyzeNestJSFile = exports.ApiCostAnalyzer = exports.CLI = void 0;
exports.analyze = analyze;
exports.analyzeProject = analyzeProject;
exports.createAnalyzer = createAnalyzer;
// Main entry point for the API Cost Analyzer library
__exportStar(require("./types"), exports);
__exportStar(require("./config"), exports);
__exportStar(require("./analyzer"), exports);
__exportStar(require("./reports"), exports);
var cli_1 = require("./cli");
Object.defineProperty(exports, "CLI", { enumerable: true, get: function () { return cli_1.program; } });
// Re-export main classes for easy access
var analyzer_1 = require("./analyzer");
Object.defineProperty(exports, "ApiCostAnalyzer", { enumerable: true, get: function () { return analyzer_1.ApiCostAnalyzer; } });
Object.defineProperty(exports, "analyzeNestJSFile", { enumerable: true, get: function () { return analyzer_1.analyzeNestJSFile; } });
Object.defineProperty(exports, "analyzeNestJSProject", { enumerable: true, get: function () { return analyzer_1.analyzeNestJSProject; } });
Object.defineProperty(exports, "analyzeExpressProject", { enumerable: true, get: function () { return analyzer_1.analyzeExpressProject; } });
var reports_1 = require("./reports");
Object.defineProperty(exports, "ReportGenerator", { enumerable: true, get: function () { return reports_1.ReportGenerator; } });
var config_1 = require("./config");
Object.defineProperty(exports, "DEFAULT_CONFIG", { enumerable: true, get: function () { return config_1.DEFAULT_CONFIG; } });
Object.defineProperty(exports, "FRAMEWORK_PRESETS", { enumerable: true, get: function () { return config_1.FRAMEWORK_PRESETS; } });
Object.defineProperty(exports, "getFrameworkConfig", { enumerable: true, get: function () { return config_1.getFrameworkConfig; } });
Object.defineProperty(exports, "mergeConfigs", { enumerable: true, get: function () { return config_1.mergeConfigs; } });
Object.defineProperty(exports, "createConfig", { enumerable: true, get: function () { return config_1.createConfig; } });
var editor_detector_1 = require("./editor-detector");
Object.defineProperty(exports, "EditorDetector", { enumerable: true, get: function () { return editor_detector_1.EditorDetector; } });
var config_loader_1 = require("./config-loader");
Object.defineProperty(exports, "ConfigLoader", { enumerable: true, get: function () { return config_loader_1.ConfigLoader; } });
// Convenience exports for quick usage
const analyzer_2 = require("./analyzer");
const config_2 = require("./config");
const reports_2 = require("./reports");
/**
* Quick analyze function for any framework
*/
function analyze(filePath, framework = 'nestjs') {
const analyzer = new analyzer_2.ApiCostAnalyzer();
analyzer.setFramework(framework);
return analyzer.analyzeFile(filePath);
}
/**
* Quick project analysis function
*/
function analyzeProject(projectPath, framework = 'nestjs') {
const analyzer = new analyzer_2.ApiCostAnalyzer();
analyzer.setFramework(framework);
return analyzer.analyzeProject(projectPath);
}
/**
* Create analyzer with custom config
*/
function createAnalyzer(config = config_2.DEFAULT_CONFIG) {
return new analyzer_2.ApiCostAnalyzer(config);
}
// Default export for CommonJS compatibility
exports.default = {
ApiCostAnalyzer: analyzer_2.ApiCostAnalyzer,
ReportGenerator: reports_2.ReportGenerator,
analyze,
analyzeProject,
createAnalyzer,
FRAMEWORK_PRESETS: config_2.FRAMEWORK_PRESETS,
getFrameworkConfig: config_2.getFrameworkConfig
};
//# sourceMappingURL=index.js.map