Skip to content

v2.3.0

Compare
Choose a tag to compare
@yoannmoinet yoannmoinet released this 18 Sep 15:24
· 211 commits to master since this release
ec7121c

What's Changed

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;
                  };
            },
        }),
    ]
};