You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to support different types of projects such as Babel and TypeScript projects, the way we generate mutants and decide which code should be placed in the Sandbox changes.
The MutatorOrchestrator in Stryker will be replaced using a Transpiler interface that can transpile code to the format required for the Sandbox and that can mutate code. A regular JavaScript transpiler won't actually change to code during the transpilation phase while a TypeScript transpiler would change the code (from TypeScript to JavaScript).
Make the SourceFile interface extend the InputFile interface so it has the mutated property that is already present in the InputFile interface. The new interface will look like this:
The Mutant class has no way to tell a difference between the code that was mutated and the code that should be placed in the sandbox. The code that was mutated may be TypeScript code, while the code for the sandbox could be JavaScript. The TypeScript code would be interesting to save in a Mutant for reporting purposes.
Note:This post will be updated to always show the latest info.
The text was updated successfully, but these errors were encountered:
In order to support different types of projects such as Babel and TypeScript projects, the way we generate mutants and decide which code should be placed in the Sandbox changes.
The MutatorOrchestrator in Stryker will be replaced using a Transpiler interface that can transpile code to the format required for the Sandbox and that can mutate code. A regular JavaScript transpiler won't actually change to code during the transpilation phase while a TypeScript transpiler would change the code (from TypeScript to JavaScript).
Suggested API change
Remove the Mutator interface because it specifically targets JavaScript code
Remove the MutatorFactory class
Remove the IdentifiedNode interface
Move the Mutant to the stryker-api because Transpilers will have to return it
Add the Transpiler interface:
Make the SourceFile interface extend the InputFile interface so it has the
mutated
property that is already present in the InputFile interface. The new interface will look like this:Open issues
Mutant
class has no way to tell a difference between the code that was mutated and the code that should be placed in the sandbox. The code that was mutated may be TypeScript code, while the code for the sandbox could be JavaScript. The TypeScript code would be interesting to save in a Mutant for reporting purposes.Note: This post will be updated to always show the latest info.
The text was updated successfully, but these errors were encountered: