@clsx524/nx-buf v1.0.29
nx-buf
An Nx plugin for performing codegen from Protobuf/gRPC projects using Buf.
Installation
To install this plugin, run the following command:
npm install @clsx524/nx-bufAnd add it to the list of plugins in nx.json:
{
// ...
"plugins": [
// ...
"@clsx524/nx-buf"
]
}Features
This plugin assumes that you have a separate Nx project in your workspace that contains your .proto files, as well as buf.yaml and buf.gen.yaml in that project root.
Linting
To enable linting a buf project, use the @clsx524/nx-buf:lint executor in that project's project.json:
{
// ...
"targets": {
"lint": {
"executor": "@clsx524/nx-buf:lint"
}
}
}Codegen
To generate source files from a buf project into another project, use the @clsx524/nx-buf:generate executor in the destination project:
{
// ...
"targets": {
"proto-gen": {
"executor": "@clsx524/nx-buf:generate",
"outputs": ["{projectRoot}/{options.copyTo}"],
"options": {
"srcProject": "proto",
"copyFrom": ["gen/*"],
"copyTo": "src/gen",
"options": "--include-imports"
}
},
"build": {
"dependsOn": ["proto-gen"],
// ...
}
}
}The options are as follows:
srcProject: the project from where to grab the generated sources after runningbuf generate.copyFrom: a list of glob patterns to copy from that project, relative to its root.copyTo: the destination folder, relative to the target project.options: (optional) additional command-line arguments to pass tobuf generate.
Dependency graph
This plugin will automatically establish a dependency between any project that contain a @clsx524/nx-buf:generate target and the respective project specified in options.srcProject.
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago