v2.3.0
What's Changed
- Fix README TOC generation by @yoannmoinet in #95
- [Internal] Build report internal plugin by @yoannmoinet in #92
- [Telemetry] Refactor telemetry with build report by @yoannmoinet in #93
- Custom Plugins by @yoannmoinet in #96
- Performance improvements for the build report by @yoannmoinet in #97
Full Changelog: v2.2.1...v2.3.0
Breaking changes
auth.endPoint
has moved
endPoint
was only used by our Telemetry module and had no impact anywhere else. It was natural to move it under telemetry.endPoint
.
const config = {
plugins: [
datadogEsbuildPlugin({
auth: {
- endPoint: 'app.datadoghq.com',
},
telemetry: {
+ endPoint: 'app.datadoghq.com',
},
}),
]
};
Telemetry
- chunks.*
metrics are no more
chunks.*
metrics are very much webpack specific, and are now merged into modules.*
metrics.
- loaders.*
and plugins.*
metrics are now behind enableTracing: true
There is now two lists of metrics generated by the Telemetry module.
Some of them were very impactful on the performances of the plugin and created a massive overhead on the user's build.
They are now parked behind the enableTracing
configuration which is false
by default.
This configuration only has an impact on esbuild
and webpack
, as they are the only bundlers supported by this (for now).
The metrics impacted by this are loaders.*
and plugins.*
.
const config = {
plugins: [
datadogEsbuildPlugin({
telemetry: {
+ enableTracing: false,
}
}),
]
};
Note
We will eventually merge loaders.*
and plugins.*
together when we'll widen the support of enableTracing
to other bundlers, as "loaders" are only separately reported by webpack.
- telemetry.output
files
The telemetry module won't produce dependencies.json
or bundler.json
files anymore.
This will be addressed in a follow up feature where we can better configure what files we want to output from the plugin.
const config = {
plugins: [
datadogEsbuildPlugin({
telemetry: {
output?: boolean
| string
| {
destination: string;
timings?: boolean;
- dependencies?: boolean;
- bundler?: boolean;
metrics?: boolean;
};
},
}),
]
};
- Log report has changed
The report we show in the logs has be refined and is now tied to the logLevel
configuration.
It will only show if you have at least a level of info
:
const config = {
plugins: [
datadogEsbuildPlugin({
+ logLevel: 'info',
telemetry: {
output?: boolean
| string
| {
destination: string;
timings?: boolean;
metrics?: boolean;
- logs?: boolean;
};
},
}),
]
};