In under 10 minutes.
Stay up to date
Effortlessly upgrade your codebase
It is dull and painful to migrate an existing codebase to follow new patterns and use new syntax - and it can take weeks and months.
P42 automates migrations by providing high-quality suggestions for you to review. Once you are sure about the changes, you can create a pull request with a single click.
Speed up development
P42 helps you keep your codebase modern and consistent. It makes it easy to onboard new developers, allows you to leverage new tooling for the current syntax, and prevents slowdowns caused by inconsistencies.
Analyze your code
No more guesswork and manual checks. P42 scans the code in your GitHub repositories for improvements on every commit.
Open pull requests
Create pull requests for the suggested changes with a single click. Your GitHub actions can test and verify the pull request.
Automatic code reviews
Don't let outdated code patterns come back to life. P42 automatically reviews your pull requests and commits and flags any changes that would need modernization.
Try our refactorings in the playground!
Convert variable declarations with multiple variables into separate declarations that declare one variable each.
The == null check is a concise expression to identify nullish values (null and undefined).
Arrow functions are a concise syntax that can often replace the regular function syntax.
Default parameters allow providing default values for function parameters.
for...of loops over iterable objects, for example arrays or strings.
let and const are block-scope variable declarations that can replace 'var' declarations in many cases.
The nullish coalescing operator (??) returns its right side when its left side is nullish (null or undefined), and its left side otherwise.
The optional chaining operator returns the value of an object property when the object is available and undefined otherwise.
The spread syntax (...) allows iterables like array expressions to be expanded in place where arguments are expected.
Template literals are string templates that can include variables and expressions.