Skip to main content

Recipes with Data Tables

This doc contains all of the recipes with unique data tables that have been explicitly added by the recipe author. If a recipe contains only the default data tables, it won't be included in this list.

Find colliding source files

org.openrewrite.FindCollidingSourceFiles

Finds source files which share a path with another source file. There should always be exactly one source file per path within a repository. This is a diagnostic for finding problems in OpenRewrite parsers/build plugins.

Data tables:

  • org.openrewrite.table.CollidingSourceFiles: Source files that have the same relative path.

Find deserialization errors

org.openrewrite.FindDeserializationErrors

Produces a data table collecting all deserialization errors of serialized LSTs.

Data tables:

  • org.openrewrite.table.DeserializationErrorTable: Table collecting any LST deserialization errors.

Show Git source control metadata

org.openrewrite.FindGitProvenance

List out the contents of each unique GitProvenance marker in the set of source files. When everything is working correctly, exactly one such marker should be printed as all source files are expected to come from the same repository / branch / commit hash.

Data tables:

  • org.openrewrite.table.DistinctGitProvenance: List out the contents of each unique GitProvenance marker in the set of source files. When everything is working correctly, exactly one such marker should be printed as all source files are expected to come from the same repository / branch / commit hash.

Find LST provenance

org.openrewrite.FindLstProvenance

Produces a data table showing what versions of OpenRewrite/Moderne tooling was used to produce a given LST.

Data tables:

  • org.openrewrite.table.LstProvenanceTable: Table showing which tools were used to produce LSTs.

Find source files with ParseExceptionResult markers

org.openrewrite.FindParseFailures

This recipe explores parse failures after an LST is produced for classifying the types of failures that can occur and prioritizing fixes according to the most common problems.

Data tables:

  • org.openrewrite.table.ParseFailures: A list of files that failed to parse along with stack traces of their failures.

Find files

org.openrewrite.FindSourceFiles

Find files by source path.

Data tables:

  • org.openrewrite.table.SourcesFiles: Source files that matched some criteria.

List runtime classpath

org.openrewrite.ListRuntimeClasspath

A diagnostic utility which emits the runtime classpath to a data table.

Data tables:

  • org.openrewrite.table.ClasspathReport: Contains a report of the runtime classpath and any other jars found inside each classpath entry.

Find committers on repositories

org.openrewrite.search.FindCommitters

List the committers on a repository.

Data tables:

  • org.openrewrite.table.DistinctCommitters: The distinct set of committers per repository.
  • org.openrewrite.table.CommitsByDay: The commit activity by day by committer.

Find parse to print inequality

org.openrewrite.search.FindParseToPrintInequality

OpenRewrite Parser implementations should produce SourceFile objects whose printAll() method should be byte-for-byte equivalent with the original source file. When this isn't true, recipes can still run on the SourceFile and even produce diffs, but the diffs would fail to apply as a patch to the original source file. Most Parser use Parser#requirePrintEqualsInput to produce a ParseError when they fail to produce a SourceFile that is print idempotent.

Data tables:

  • org.openrewrite.table.ParseToPrintInequalities: A list of files that parsers produced SourceFile which, when printed, didn't match the original source code.

Find text

org.openrewrite.text.Find

Textual search, optionally using Regular Expression (regex) to query.

Data tables:

  • org.openrewrite.table.TextMatches: Lines matching simple text search.

Upgrade transitive Gradle dependencies

org.openrewrite.gradle.UpgradeTransitiveDependencyVersion

Upgrades the version of a transitive dependency in a Gradle build file. There are many ways to do this in Gradle, so the mechanism for upgrading a transitive dependency must be considered carefully depending on your style of dependency management.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Add the Develocity Gradle plugin

org.openrewrite.gradle.plugins.AddDevelocityGradlePlugin

Add the Develocity Gradle plugin to settings.gradle files.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Gradle dependency insight

org.openrewrite.gradle.search.DependencyInsight

Find direct and transitive dependencies matching a group, artifact, and optionally a configuration name. Results include dependencies that either directly match or transitively include a matching dependency.

Data tables:

  • org.openrewrite.maven.table.DependenciesInUse: Direct and transitive dependencies in use.

Find Gradle wrappers

org.openrewrite.gradle.search.FindGradleWrapper

Find Gradle wrappers.

Data tables:

  • org.openrewrite.gradle.table.GradleWrappersInUse: Gradle wrappers in use.

Add Gradle dependency

org.openrewrite.gradle.AddDependency

Add a gradle dependency to a build.gradle file in the correct configuration based on where it is used.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Upgrade Gradle dependency versions

org.openrewrite.gradle.UpgradeDependencyVersion

Upgrade the version of a dependency in a build.gradle file. Supports updating dependency declarations of various forms:

  • String notation: "group:artifact:version"
  • Map notation: group: 'group', name: 'artifact', version: 'version' Can update version numbers which are defined earlier in the same file in variable declarations.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Calculate token length of classes

org.openrewrite.java.ai.ClassDefinitionLength

Locates class definitions and predicts the number of token in each.

Data tables:

  • org.openrewrite.java.table.TokenCount: The number of tokens from a code snippet

Calculate token length of method definitions

org.openrewrite.java.ai.MethodDefinitionLength

Locates method definitions and predicts the number of token in each.

Data tables:

  • org.openrewrite.java.table.TokenCount: The number of tokens from a code snippet

Find OpenRewrite recipes

org.openrewrite.java.recipes.FindRecipes

This recipe finds all OpenRewrite recipes, primarily to produce a data table that is being used to experiment with fine-tuning a large language model to produce more recipes.

Data tables:

  • org.openrewrite.table.RewriteRecipeSource: This table contains the source code of recipes along with their metadata for use in an experiment fine-tuning large language models to produce more recipes.

Find class hierarchy

org.openrewrite.java.search.FindClassHierarchy

Discovers all class declarations within a project, recording which files they appear in, their superclasses, and interfaces. That information is then recorded in a data table.

Data tables:

  • org.openrewrite.java.table.ClassHierarchy: Record the classes

Find uses of deprecated methods

org.openrewrite.java.search.FindDeprecatedMethods

Find uses of deprecated methods in any API.

Data tables:

  • org.openrewrite.java.table.MethodCalls: The text of matching method invocations.

Find method usages

org.openrewrite.java.search.FindMethods

Find method calls by pattern.

Data tables:

  • org.openrewrite.java.table.MethodCalls: The text of matching method invocations.

Find types

org.openrewrite.java.search.FindTypes

Find type references by name.

Data tables:

  • org.openrewrite.java.table.TypeUses: The source code of matching type uses.

Study the size of the classpath by source set

org.openrewrite.java.search.ClasspathTypeCounts

Emit one data table row per source set in a project, with the number of types in the source set.

Data tables:

  • org.openrewrite.java.table.ClasspathTypeCount: The number of types in each source set in a project's classpath.

Find type mappings

org.openrewrite.java.search.FindTypeMappings

Study the frequency of J types and their JavaType type attribution.

Data tables:

  • org.openrewrite.java.table.TypeMappings: The types mapped to J trees.

Add Maven parent

org.openrewrite.maven.AddParentPom

Add a parent pom to a Maven pom.xml. Does nothing if a parent pom is already present.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Change Maven dependency

org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId

Change a Maven dependency coordinates. The newGroupId or newArtifactId MUST be different from before. Matching <dependencyManagement> coordinates are also updated if a newVersion or versionPattern is provided.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Change Maven managed dependency groupId, artifactId and optionally the version

org.openrewrite.maven.ChangeManagedDependencyGroupIdAndArtifactId

Change the groupId, artifactId and optionally the version of a specified Maven managed dependency.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Change Maven parent

org.openrewrite.maven.ChangeParentPom

Change the parent pom of a Maven pom.xml. Identifies the parent pom to be changed by its groupId and artifactId.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Change Maven plugin group and artifact ID

org.openrewrite.maven.ChangePluginGroupIdAndArtifactId

Change the groupId and/or the artifactId of a specified Maven plugin.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Upgrade Maven plugin version

org.openrewrite.maven.UpgradePluginVersion

Upgrade the version of a plugin using Node Semver advanced range selectors, allowing more precise control over version updates to patch or minor releases.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Maven dependency insight

org.openrewrite.maven.search.DependencyInsight

Find direct and transitive dependencies matching a group, artifact, and scope. Results include dependencies that either directly match or transitively include a matching dependency.

Data tables:

  • org.openrewrite.maven.table.DependenciesInUse: Direct and transitive dependencies in use.

Effective dependencies

org.openrewrite.maven.search.EffectiveDependencies

Emit the data of binary dependency relationships.

Data tables:

  • org.openrewrite.maven.table.DependenciesInUse: Relationships between dependencies.

Effective managed dependencies

org.openrewrite.maven.search.EffectiveManagedDependencies

Emit the data of binary dependency relationships.

Data tables:

  • org.openrewrite.maven.table.DependenciesInUse: Relationships between POMs and their ancestors that define managed dependencies.

List effective Maven repositories

org.openrewrite.maven.search.EffectiveMavenRepositories

Lists the Maven repositories that would be used for dependency resolution, in order of precedence. This includes Maven repositories defined in the Maven settings file (and those contributed by active profiles) as determined when the LST was produced.

Data tables:

  • org.openrewrite.maven.search.EffectiveMavenRepositoriesTable: Table showing which Maven repositories were used in dependency resolution for this POM.

Find effective maven settings

org.openrewrite.maven.search.FindMavenSettings

List the effective maven settings file for the current project.

Data tables:

  • org.openrewrite.maven.table.EffectiveMavenSettings: The maven settings file used by each pom.

Find Maven project properties

org.openrewrite.maven.search.FindProperties

Finds the specified Maven project properties within a pom.xml.

Data tables:

  • org.openrewrite.maven.table.MavenProperties: Property and value.

Maven repository order

org.openrewrite.maven.search.FindRepositoryOrder

Determine the order in which dependencies will be resolved for each pom.xml based on its defined repositories and effective settings.xml.

Data tables:

  • org.openrewrite.maven.table.MavenRepositoryOrder: The order in which dependencies will be resolved for each pom.xml based on its defined repositories and effective settings.xml.

Maven parent insight

org.openrewrite.maven.search.ParentPomInsight

Find Maven parents matching a groupId and artifactId.

Data tables:

  • org.openrewrite.maven.table.ParentPomsInUse: Projects, GAVs and relativePaths for Maven parent POMs in use.

Add Maven dependency

org.openrewrite.maven.AddDependency

Add a Maven dependency to a pom.xml file in the correct scope based on where it is used.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Add managed Maven dependency

org.openrewrite.maven.AddManagedDependency

Add a managed Maven dependency to a pom.xml file.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Upgrade Maven dependency version

org.openrewrite.maven.UpgradeDependencyVersion

Upgrade the version of a dependency by specifying a group and (optionally) an artifact using Node Semver advanced range selectors, allowing more precise control over version updates to patch or minor releases.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Upgrade transitive Maven dependencies

org.openrewrite.maven.UpgradeTransitiveDependencyVersion

Upgrades the version of a transitive dependency in a Maven pom file. Leaves direct dependencies unmodified. Can be paired with the regular Upgrade Dependency Version recipe to upgrade a dependency everywhere, regardless of whether it is direct or transitive.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

XML style Auto-detection debug

org.openrewrite.xml.style.AutodetectDebug

Runs XML Autodetect and records the results in data tables and search markers. A debugging tool for figuring out why XML documents get styled the way they do.

Data tables:

  • org.openrewrite.xml.table.XmlStyleReport: Records style information about XML documents. Used for debugging style auto-detection issues.

Find Kotlin sources and collect data metrics

org.openrewrite.kotlin.FindKotlinSources

Use data table to collect source files types and counts of files with extensions .kt.

Data tables:

  • org.openrewrite.kotlin.table.KotlinSourceFile: Kotlin sources present in LSTs on the SAAS.

Find method usages

org.openrewrite.analysis.search.FindMethods

Find method usages by pattern.

Data tables:

  • org.openrewrite.java.table.MethodCalls: The text of matching method invocations.

Find comments' language distribution

io.moderne.ai.FindCommentsLanguage

Finds all comments and uses AI to predict which language the comment is in.

Data tables:

  • io.moderne.ai.table.LanguageDistribution: Shows the distribution of language in comments

List all methods used

io.moderne.ai.ListAllMethodsUsed

List all methods used in any Java source file.

Data tables:

  • io.moderne.ai.table.MethodInUse: Methods used in any Java source file.

Get embeddings for code snippets in code

io.moderne.ai.research.GetCodeEmbedding

This recipe calls an AI model to get an embedding for either classes or methods which can then be used for downstream tasks.

Data tables:

  • io.moderne.ai.table.Embeddings: Collects the embeddings for either each classes or methods.

Find method invocations that resemble a pattern

io.moderne.ai.research.FindCodeThatResembles

This recipe uses two phase AI approach to find a method invocation that resembles a search string.

Data tables:

  • io.moderne.ai.table.CodeSearch: Searches for method invocations that resemble a natural language query.
  • io.moderne.ai.table.TopKMethodMatcher: Result from the scanning recipe for top-k method patterns that match the query.
  • io.moderne.ai.table.EmbeddingPerformance: Latency characteristics of uses of embedding models.
  • io.moderne.ai.table.GenerativeModelPerformance: Latency characteristics of uses of generative models.
  • io.moderne.ai.table.SuggestedMethodPatterns: As the next step after the AI-based searching for method invocations, you may want to do rule-based method searching using the recommended method patterns.

Get recommendations

io.moderne.ai.research.GetRecommendations

This recipe calls an AI model to get recommendations for modernizing the code base by looking at a sample of method declarations.

Data tables:

  • io.moderne.ai.table.Recommendations: Collects the recommendations based on sampled methods.

Find call graph

org.openrewrite.FindCallGraph

Produces a data table where each row represents a method call.

Data tables:

  • org.openrewrite.table.CallGraph: Records method callers and the methods they invoke.

Find duplicate source files

org.openrewrite.FindDuplicateSourceFiles

Record the presence of LSTs with duplicate paths, indicating that the same file was parsed more than once.

Data tables:

  • org.openrewrite.table.DuplicateSourceFiles: A list of source files that occur more than once in an LST.

Language composition report

org.openrewrite.LanguageComposition

Counts the number of lines of the various kinds of source code and data formats parsed by OpenRewrite. Comments are not included in line counts. This recipe emits its results as two data tables, making no changes to any source file. One data table is per-file, the other is per-repository.

Data tables:

  • org.openrewrite.table.LanguageCompositionPerRepository: Counts the number of files and lines of source code in the various formats OpenRewrite knows how to parse.
  • org.openrewrite.table.LanguageCompositionPerFolder: A list of folders and the language composition and line counts of their contents.
  • org.openrewrite.table.LanguageCompositionPerFile: A list of individual files and their language composition.

Lint source code with ESLint

org.openrewrite.codemods.ESLint

Run ESLint across the code to fix common static analysis issues in the code.

This requires the code to have an existing ESLint configuration.

Data tables:

  • org.openrewrite.codemods.ESLintMessages: Errors and warnings as reported by ESLint.

Find uses of docker base images

org.openrewrite.docker.search.FindDockerImageUses

Produce an impact analysis of base images used in Dockerfiles.

Data tables:

  • org.openrewrite.docker.table.DockerBaseImages: Records the FROM block of Dockerfiles.

Analyze a .NET project using upgrade-assistant

org.openrewrite.dotnet.UpgradeAssistantAnalyze

Run upgrade-assistant analyze across a repository to analyze changes required to upgrade projects to a newer version of .NET.This recipe will generate an org.openrewrite.dotnet.UpgradeAssistantAnalysis data table containing the report details.

Data tables:

  • org.openrewrite.dotnet.UpgradeAssistantAnalysis: .NET project upgrade analysis report generated by upgrade-assistant.

Dependency insight for C#

org.openrewrite.csharp.dependencies.DependencyInsight

Finds dependencies in *.csproj and packages.config.

Data tables:

  • org.openrewrite.maven.table.DependenciesInUse: Direct and transitive dependencies in use.

Dependency insight for Gradle and Maven

org.openrewrite.java.dependencies.DependencyInsight

Finds dependencies, including transitive dependencies, in both Gradle and Maven projects. Matches within all Gradle dependency configurations and Maven scopes.

Data tables:

  • org.openrewrite.maven.table.DependenciesInUse: Direct and transitive dependencies in use.

Dependency report

org.openrewrite.java.dependencies.DependencyList

Emits a data table detailing all Gradle and Maven dependencies.This recipe makes no changes to any source file.

Data tables:

  • org.openrewrite.java.dependencies.table.DependencyListReport: Lists all Gradle and Maven dependencies

Find and fix vulnerable Nuget dependencies

org.openrewrite.csharp.dependencies.DependencyVulnerabilityCheck

This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe only upgrades to the latest patch version. If a minor or major upgrade is required to reach the fixed version, this recipe will not make any changes. Vulnerability information comes from the GitHub Security Advisory Database, which aggregates vulnerability data from several public databases, including the National Vulnerability Database maintained by the United States government. Dependencies following Semantic Versioning will see their patch version updated where applicable.

Data tables:

  • org.openrewrite.csharp.dependencies.table.VulnerabilityReport: A vulnerability report that includes detailed information about the affected artifact and the corresponding CVEs.

Find licenses in use in third-party dependencies

org.openrewrite.java.dependencies.DependencyLicenseCheck

Locates and reports on all licenses in use.

Data tables:

  • org.openrewrite.java.dependencies.table.LicenseReport: Contains a license report of third-party dependencies.

Dependency resolution diagnostic

org.openrewrite.java.dependencies.DependencyResolutionDiagnostic

Recipes which manipulate dependencies must be able to successfully access the artifact repositories and resolve dependencies from them. This recipe produces two data tables used to understand the state of dependency resolution.

The Repository accessibility report lists all the artifact repositories known to the project and whether respond to network access. The network access is attempted while the recipe is run and so is representative of current conditions.

The Gradle dependency configuration errors lists all the dependency configurations that failed to resolve one or more dependencies when the project was parsed. This is representative of conditions at the time the LST was parsed.

Data tables:

  • org.openrewrite.java.dependencies.table.RepositoryAccessibilityReport: Listing of all dependency repositories and whether they are accessible.
  • org.openrewrite.java.dependencies.table.GradleDependencyConfigurationErrors: Records Gradle dependency configurations which failed to resolve during parsing. Partial success/failure is common, a failure in this list does not mean that every dependency failed to resolve.

Find and fix vulnerable dependencies

org.openrewrite.java.dependencies.DependencyVulnerabilityCheck

This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe only upgrades to the latest patch version. If a minor or major upgrade is required to reach the fixed version, this recipe will not make any changes. Vulnerability information comes from the GitHub Security Advisory Database, which aggregates vulnerability data from several public databases, including the National Vulnerability Database maintained by the United States government. Dependencies following Semantic Versioning will see their patch version updated where applicable.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.
  • org.openrewrite.java.dependencies.table.VulnerabilityReport: A vulnerability report that includes detailed information about the affected artifact and the corresponding CVEs.

Find relocated dependencies

org.openrewrite.java.dependencies.RelocatedDependencyCheck

Find Maven and Gradle dependencies and Maven plugins that have relocated to a new groupId or artifactId. Relocation information comes from the oga-maven-plugin maintained by Jonathan Lermitage, Filipe Roque and others.

This recipe makes no changes to any source file by default. Add changeDependencies=true to change dependencies, but note that you might need to run additional recipes to update imports and adopt other breaking changes.

Data tables:

  • org.openrewrite.java.dependencies.table.RelocatedDependencyReport: A list of dependencies in use that have relocated.

Find the oldest matching dependency version in use

org.openrewrite.java.dependencies.search.FindMinimumDependencyVersion

The oldest dependency version in use is the lowest dependency version in use in any source set of any subproject of a repository. It is possible that, for example, the main source set of a project uses Jackson 2.11, but a test source set uses Jackson 2.16. In this case, the oldest Jackson version in use is Java 2.11.

Data tables:

  • org.openrewrite.maven.table.DependenciesInUse: Direct and transitive dependencies in use.

Find sensitive API endpoints

org.openrewrite.java.security.search.FindSensitiveApiEndpoints

Find data models exposed by REST APIs that contain sensitive information like PII and secrets.

Data tables:

  • org.openrewrite.java.security.table.SensitiveApiEndpoints: The API endpoints that expose sensitive data.

Find Dropwizard metrics

org.openrewrite.micrometer.dropwizard.FindDropwizardMetrics

Find uses of Dropwizard metrics that could be converted to a more modern metrics instrumentation library.

Data tables:

  • org.openrewrite.micrometer.table.DropwizardMetricsInUse: These metrics should be converted to a more moderne metrics instrumentation library.

Find which Java version is in use

org.openrewrite.java.migrate.search.AboutJavaVersion

A diagnostic for studying the distribution of Java language version levels (both source and target compatibility across files and source sets).

Data tables:

  • org.openrewrite.java.migrate.table.JavaVersionPerSourceSet: A per-source set view of Java version in use.

Find data used on DTOs

org.openrewrite.java.migrate.search.FindDataUsedOnDto

Find data elements used on DTOs. This is useful to provide information where data over-fetching may be a problem.

Data tables:

  • org.openrewrite.java.migrate.table.DtoDataUses: The use of the data elements of a DTO by the method declaration using it.

Find uses of internal javax APIs

org.openrewrite.java.migrate.search.FindInternalJavaxApis

The libraries that define these APIs will have to be migrated before any of the repositories that use them.

Data tables:

  • org.openrewrite.java.table.MethodCalls: The text of matching method invocations.

Find Java versions in use

org.openrewrite.java.migrate.search.FindJavaVersion

Finds Java versions in use.

Data tables:

  • org.openrewrite.java.migrate.table.JavaVersionTable: Records versions of Java in use

Plan a Java version migration

org.openrewrite.java.migrate.search.PlanJavaMigration

Study the set of Java versions and associated tools in use across many repositories.

Data tables:

  • org.openrewrite.java.migrate.table.JavaVersionMigrationPlan: A per-repository view of the current state of Java versions and associated build tools

Find and fix vulnerable npm dependencies

org.openrewrite.nodejs.DependencyVulnerabilityCheck

This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe only upgrades to the latest patch version. If a minor or major upgrade is required to reach the fixed version, this recipe will not make any changes. Vulnerability information comes from the GitHub Security Advisory Database, which aggregates vulnerability data from several public databases, including the National Vulnerability Database maintained by the United States government. Dependencies following Semantic Versioning will see their patch version updated where applicable.

Data tables:

  • org.openrewrite.nodejs.table.VulnerabilityReport: A vulnerability report that includes detailed information about the affected artifact and the corresponding CVEs.

Node.js dependency insight

org.openrewrite.nodejs.search.DependencyInsight

Identify the direct and transitive Node.js dependencies used in a project.

Data tables:

  • org.openrewrite.nodejs.table.DependenciesInUse: Direct and transitive dependencies in use.

Find Node.js projects

org.openrewrite.nodejs.search.FindNodeProjects

Find Node.js projects and summarize data about them.

Data tables:

  • org.openrewrite.nodejs.table.NodeProjects: Summary information about Node.js projects.

Find HTTP API calls via RestTemplate

org.openrewrite.java.spring.search.FindApiCalls

Find outbound HTTP API calls made via Spring's RestTemplate class.

Data tables:

  • org.openrewrite.java.spring.table.ApiCalls: The API endpoints that applications expose.

Find Spring API endpoints

org.openrewrite.java.spring.search.FindApiEndpoints

Find all HTTP API endpoints exposed by Spring applications. More specifically, this marks method declarations annotated with @RequestMapping, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, and @PatchMapping as search results.

Data tables:

  • org.openrewrite.java.spring.table.ApiEndpoints: The API endpoints that applications expose.

Find Spring components

org.openrewrite.java.spring.search.FindSpringComponents

Find Spring components, including controllers, services, repositories, return types of @Bean annotated methods, etc.

Data tables:

  • org.openrewrite.java.spring.table.SpringComponents: Classes defined with a form of a Spring @Component stereotype and types returned from @Bean annotated methods.
  • org.openrewrite.java.spring.table.SpringComponentRelationships: A table of relationships between Spring components.

Change a SQL function name

org.openrewrite.sql.ChangeFunctionName

When migrating between dialects, often one name can be substituted for another. For example, Oracle's NVL function can be replaced with Postgres COALESCE.

Data tables:

  • org.openrewrite.sql.table.DatabaseQueries: Shows matching SQL queries.
  • org.openrewrite.sql.table.DatabaseFunctions: Shows matching SQL functions and the queries that contain them.

Find SQL in code and resource files

org.openrewrite.sql.FindSql

Find SQL in code (e.g. in string literals) and in resources like those ending with .sql.

Data tables:

  • org.openrewrite.sql.table.DatabaseColumnsUsed: Shows which database columns are read/written by a SQL statement.

Find SQL function

org.openrewrite.sql.search.FindFunction

Find SQL functions by name.

Data tables:

  • org.openrewrite.sql.table.DatabaseQueries: Shows matching SQL queries.
  • org.openrewrite.sql.table.DatabaseFunctions: Shows matching SQL functions and the queries that contain them.

Find Struts actions

org.openrewrite.java.struts.search.FindStrutsActions

Find actions and their associated definitions.

Data tables:

  • org.openrewrite.java.struts.table.StrutsActions: Definition of struts action.

Change Maven Compiler plugin annotation processor groupId, artifactId and/or the version

io.quarkus.updates.core.quarkus37.ChangeMavenCompilerAnnotationProcessorGroupIdAndArtifactId

Change the groupId, artifactId and/or the version of a specified Maven Compiler plugin annotation processor.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.

Sync Maven Compiler plugin annotation processor version with the one provided by the BOM

io.quarkus.updates.core.quarkus37.SyncMavenCompilerAnnotationProcessorVersion

Sync Maven Compiler plugin annotation processor version with the one provided by the BOM.

Data tables:

  • org.openrewrite.maven.table.MavenMetadataFailures: Attempts to resolve maven metadata that failed.