You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@rehearsal/plugins

Package Overview
Dependencies
Maintainers
3
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rehearsal/plugins - npm Package Compare versions

Comparing version

to
1.0.7-beta

9

dist/src/plugins/diagnostic-fix.plugin.d.ts

@@ -1,2 +0,2 @@

import { type DiagnosticWithLocation } from 'typescript';
import { CodeFixAction, type DiagnosticWithLocation } from 'typescript';
import { type DiagnosticWithContext } from '@rehearsal/codefixes';

@@ -14,2 +14,3 @@ import { Plugin, PluginOptions, type PluginResult, PluginsRunnerContext, RehearsalService } from '@rehearsal/service';

prioritizedCodes: number[];
attemptedToFix: string[];
run(fileName: string, context: PluginsRunnerContext, options: DiagnosticFixPluginOptions): PluginResult;

@@ -27,3 +28,9 @@ /**

sort(diagnostics: DiagnosticWithLocation[], prioritizedCodes: number[]): void;
/**
* Returns a code fix that expected to fix provided diagnostic
*/
getCodeFix(diagnostic: DiagnosticWithContext, options: DiagnosticFixPluginOptions): CodeFixAction | undefined;
private resetAttemptedToFix;
private wasAttemptedToFix;
}
//# sourceMappingURL=diagnostic-fix.plugin.d.ts.map
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DiagnosticFixPlugin = void 0;
const debug_1 = require("debug");
const object_hash_1 = __importDefault(require("object-hash"));
const codefixes_1 = require("@rehearsal/codefixes");

@@ -29,2 +33,3 @@ const utils_1 = require("@rehearsal/utils");

];
this.attemptedToFix = [];
}

@@ -38,2 +43,3 @@ async run(fileName, context, options) {

const allFixedFiles = new Set();
this.resetAttemptedToFix();
while (diagnostics.length > 0) {

@@ -45,12 +51,7 @@ const diagnostic = diagnostics.shift();

}
const fixes = codefixes_1.codefixes.getCodeFixes(diagnostic, {
safeFixes: options.safeFixes,
strictTyping: options.strictTyping,
});
if (fixes.length === 0) {
const fix = this.getCodeFix(diagnostic, options);
if (!fix) {
DEBUG_CALLBACK(` - TS${diagnostic.code} at ${diagnostic.start}:\t didn't fix`);
continue;
}
// Use the first available codefix in automatic mode,
// TODO: User should be able to choose one of the fixes form this list in interactive mode
const fix = fixes.shift();
if ((0, codefixes_1.isInstallPackageCommand)(fix)) {

@@ -130,4 +131,37 @@ await this.applyCommandAction(fix.commands, context);

}
/**
* Returns a code fix that expected to fix provided diagnostic
*/
getCodeFix(diagnostic, options) {
const fixes = codefixes_1.codefixes.getCodeFixes(diagnostic, {
safeFixes: options.safeFixes,
strictTyping: options.strictTyping,
});
if (fixes.length === 0) {
return undefined;
}
// Use the first available codefix in automatic mode
let fix = fixes.shift();
while (fix && this.wasAttemptedToFix(diagnostic, fix)) {
// Try the next fix if we already tried the first one
fix = fixes.shift();
}
if (fix === undefined) {
DEBUG_CALLBACK(` - TS${diagnostic.code} at ${diagnostic.start}:\t fixes didn't work`);
}
return fix;
}
resetAttemptedToFix() {
this.attemptedToFix = [];
}
wasAttemptedToFix(diagnostic, fix) {
const diagnosticFixHash = (0, object_hash_1.default)([diagnostic.code, diagnostic.start, fix]);
if (!this.attemptedToFix.includes(diagnosticFixHash)) {
this.attemptedToFix.push(diagnosticFixHash);
return false;
}
return true;
}
}
exports.DiagnosticFixPlugin = DiagnosticFixPlugin;
//# sourceMappingURL=diagnostic-fix.plugin.js.map

14

package.json
{
"name": "@rehearsal/plugins",
"version": "1.0.6-beta",
"version": "1.0.7-beta",
"description": "Rehearsal JavaScript to TypeScript Shared Libraries",

@@ -23,8 +23,10 @@ "keywords": [

"dependencies": {
"@rehearsal/codefixes": "1.0.6-beta",
"@rehearsal/reporter": "1.0.6-beta",
"@rehearsal/service": "1.0.6-beta",
"@rehearsal/utils": "1.0.6-beta",
"@types/object-hash": "^3.0.2",
"debug": "^4.3.4",
"eslint": "^8.33.0"
"eslint": "^8.33.0",
"object-hash": "^3.0.0",
"@rehearsal/codefixes": "1.0.7-beta",
"@rehearsal/reporter": "1.0.7-beta",
"@rehearsal/utils": "1.0.7-beta",
"@rehearsal/service": "1.0.7-beta"
},

@@ -31,0 +33,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet