diff --git a/README.md b/README.md index da0ed014..714976b7 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ const webpackConfig = { new ElasticAPMSourceMapPlugin({ serviceName: 'SERVICE_NAME', serviceVersion: 'SERVICE_VERSION', - serverURL: 'https://ELASTIC_APM_SERVER_URL', + serverURL: 'http://127.0.0.1:8200/assets/v1/sourcemaps', publicPath: PUBLIC_PATH, secret: 'SECRET', logLevel: 'debug' diff --git a/package.json b/package.json index 241c0bb9..155b69f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "elastic-apm-sourcemap-webpack-plugin", - "version": "1.3.1", + "version": "1.3.2", "description": "ElasticAPMSourceMapPlugin is a Webpack plugin that uploads sourcemaps generated by Webpack to a Elastic APM server.", "keywords": [ "elastic", diff --git a/src/elastic-apm-sourcemap-webpack-plugin.ts b/src/elastic-apm-sourcemap-webpack-plugin.ts index 92f1d9d6..94675143 100644 --- a/src/elastic-apm-sourcemap-webpack-plugin.ts +++ b/src/elastic-apm-sourcemap-webpack-plugin.ts @@ -42,7 +42,10 @@ export default class ElasticAPMSourceMapPlugin implements webpack.Plugin { const formData = new FormData(); const bundleFilePath = `${this.config.publicPath}/${sourceFile}`; - formData.append('sourcemap', compilation.assets[sourceMap].source()); + formData.append('sourcemap', compilation.assets[sourceMap].source(), { + filename: sourceMap, + contentType: 'application/json' + }); formData.append('service_version', this.config.serviceVersion); formData.append('bundle_filepath', bundleFilePath); formData.append('service_name', this.config.serviceName); @@ -51,6 +54,10 @@ export default class ElasticAPMSourceMapPlugin implements webpack.Plugin { ? { Authorization: `Bearer ${this.config.secret}` } : undefined; + logger.debug( + `uploading ${sourceMap} to Elastic APM with bundle_filepath: ${bundleFilePath}.` + ); + return fetch(this.config.serverURL, { method: 'POST', body: formData, @@ -59,10 +66,7 @@ export default class ElasticAPMSourceMapPlugin implements webpack.Plugin { .then(response => Promise.all([response.ok, response.text()])) .then(([ok, responseText]) => { if (ok) { - logger.debug(`APM server response: ${responseText}`); - logger.debug( - `uploaded ${sourceMap} to Elastic APM with bundle_filepath: ${bundleFilePath}.` - ); + logger.debug(`uploaded ${sourceMap}.`); } else { logger.error(`APM server response: ${responseText}`); throw new Error(`error while uploading ${sourceMap} to Elastic APM`);