serverless-plugin-datadog 3.5.2 → 3.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/package.json +9 -8
  2. package/dist/src/forwarder.d.ts +1 -1
  3. package/dist/src/forwarder.d.ts.map +1 -1
  4. package/dist/src/helpers/apikey.d.ts +1 -1
  5. package/dist/src/helpers/apikey.d.ts.map +1 -1
  6. package/dist/src/helpers/apikey.js.map +1 -1
  7. package/dist/src/helpers/utils.js.map +1 -1
  8. package/dist/src/index.js +0 -0
  9. package/dist/src/monitor-api-requests.d.ts +1 -1
  10. package/dist/src/monitor-api-requests.d.ts.map +1 -1
  11. package/dist/src/monitor-api-requests.js.map +1 -1
  12. package/dist/src/output.d.ts +1 -1
  13. package/dist/src/output.d.ts.map +1 -1
  14. package/dist/src/tracing.d.ts +1 -1
  15. package/dist/src/tracing.d.ts.map +1 -1
  16. package/package.json +9 -8
  17. package/dist/src/git-metadata/__tests__/git.test.d.ts +0 -2
  18. package/dist/src/git-metadata/__tests__/git.test.d.ts.map +0 -1
  19. package/dist/src/git-metadata/__tests__/git.test.js +0 -106
  20. package/dist/src/git-metadata/__tests__/git.test.js.map +0 -1
  21. package/dist/src/git-metadata/api.d.ts +0 -4
  22. package/dist/src/git-metadata/api.d.ts.map +0 -1
  23. package/dist/src/git-metadata/api.js +0 -13
  24. package/dist/src/git-metadata/api.js.map +0 -1
  25. package/dist/src/git-metadata/renderer.d.ts +0 -9
  26. package/dist/src/git-metadata/renderer.d.ts.map +0 -1
  27. package/dist/src/git-metadata/renderer.js +0 -32
  28. package/dist/src/git-metadata/renderer.js.map +0 -1
  29. package/dist/src/helpers/__tests__/ci.test.d.ts +0 -2
  30. package/dist/src/helpers/__tests__/ci.test.d.ts.map +0 -1
  31. package/dist/src/helpers/__tests__/ci.test.js +0 -147
  32. package/dist/src/helpers/__tests__/ci.test.js.map +0 -1
  33. package/dist/src/helpers/__tests__/git.test.d.ts +0 -2
  34. package/dist/src/helpers/__tests__/git.test.d.ts.map +0 -1
  35. package/dist/src/helpers/__tests__/git.test.js +0 -65
  36. package/dist/src/helpers/__tests__/git.test.js.map +0 -1
  37. package/dist/src/helpers/__tests__/retry.test.d.ts +0 -2
  38. package/dist/src/helpers/__tests__/retry.test.d.ts.map +0 -1
  39. package/dist/src/helpers/__tests__/retry.test.js +0 -99
  40. package/dist/src/helpers/__tests__/retry.test.js.map +0 -1
  41. package/dist/src/helpers/__tests__/tags.test.d.ts +0 -2
  42. package/dist/src/helpers/__tests__/tags.test.d.ts.map +0 -1
  43. package/dist/src/helpers/__tests__/tags.test.js +0 -17
  44. package/dist/src/helpers/__tests__/tags.test.js.map +0 -1
  45. package/dist/src/helpers/__tests__/upload.test.d.ts +0 -2
  46. package/dist/src/helpers/__tests__/upload.test.d.ts.map +0 -1
  47. package/dist/src/helpers/__tests__/upload.test.js +0 -185
  48. package/dist/src/helpers/__tests__/upload.test.js.map +0 -1
  49. package/dist/src/helpers/__tests__/user-provided-git.test.d.ts +0 -2
  50. package/dist/src/helpers/__tests__/user-provided-git.test.d.ts.map +0 -1
  51. package/dist/src/helpers/__tests__/user-provided-git.test.js +0 -64
  52. package/dist/src/helpers/__tests__/user-provided-git.test.js.map +0 -1
  53. package/dist/src/helpers/__tests__/utils.test.d.ts +0 -2
  54. package/dist/src/helpers/__tests__/utils.test.d.ts.map +0 -1
  55. package/dist/src/helpers/__tests__/utils.test.js +0 -345
  56. package/dist/src/helpers/__tests__/utils.test.js.map +0 -1
  57. package/dist/src/helpers/ci.d.ts +0 -16
  58. package/dist/src/helpers/ci.d.ts.map +0 -1
  59. package/dist/src/helpers/ci.js +0 -378
  60. package/dist/src/helpers/ci.js.map +0 -1
  61. package/dist/src/helpers/formatting.d.ts +0 -6
  62. package/dist/src/helpers/formatting.d.ts.map +0 -1
  63. package/dist/src/helpers/formatting.js +0 -13
  64. package/dist/src/helpers/formatting.js.map +0 -1
  65. package/dist/src/helpers/git.d.ts +0 -3
  66. package/dist/src/helpers/git.d.ts.map +0 -1
  67. package/dist/src/helpers/git.js +0 -52
  68. package/dist/src/helpers/git.js.map +0 -1
  69. package/dist/src/helpers/metrics.d.ts +0 -12
  70. package/dist/src/helpers/metrics.d.ts.map +0 -1
  71. package/dist/src/helpers/metrics.js +0 -36
  72. package/dist/src/helpers/metrics.js.map +0 -1
  73. package/dist/src/helpers/user-provided-git.d.ts +0 -2
  74. package/dist/src/helpers/user-provided-git.d.ts.map +0 -1
  75. package/dist/src/helpers/user-provided-git.js +0 -23
  76. package/dist/src/helpers/user-provided-git.js.map +0 -1
@@ -1,345 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __importDefault = (this && this.__importDefault) || function (mod) {
31
- return (mod && mod.__esModule) ? mod : { "default": mod };
32
- };
33
- Object.defineProperty(exports, "__esModule", { value: true });
34
- jest.mock("fs");
35
- const axios_1 = __importDefault(require("axios"));
36
- const http_1 = __importDefault(require("http"));
37
- // @ts-ignore
38
- const proxy_1 = __importDefault(require("proxy"));
39
- const proxy_agent_1 = __importDefault(require("proxy-agent"));
40
- const ciUtils = __importStar(require("../utils"));
41
- jest.useFakeTimers();
42
- describe("utils", () => {
43
- beforeEach(() => {
44
- jest.restoreAllMocks();
45
- });
46
- test("Test pick", () => {
47
- const initialHash = { a: 1, b: 2 };
48
- let resultHash = ciUtils.pick(initialHash, ["a"]);
49
- expect(Object.keys(resultHash).indexOf("b")).toBe(-1);
50
- expect(resultHash.a).toBe(1);
51
- resultHash = ciUtils.pick(initialHash, ["c"]);
52
- expect(Object.keys(resultHash).length).toBe(0);
53
- });
54
- describe("getRequestBuilder", () => {
55
- const fakeEndpointBuilder = (request) => () => __awaiter(void 0, void 0, void 0, function* () { return request({}); });
56
- test("should add api key header", () => __awaiter(void 0, void 0, void 0, function* () {
57
- jest.spyOn(axios_1.default, "create").mockImplementation((() => (args) => args.headers));
58
- const requestOptions = {
59
- apiKey: "apiKey",
60
- baseUrl: "http://fake-base.url/",
61
- };
62
- const request = ciUtils.getRequestBuilder(requestOptions);
63
- const fakeEndpoint = fakeEndpointBuilder(request);
64
- expect(yield fakeEndpoint()).toStrictEqual({ "DD-API-KEY": "apiKey" });
65
- }));
66
- test("should add api and application key header", () => __awaiter(void 0, void 0, void 0, function* () {
67
- jest.spyOn(axios_1.default, "create").mockImplementation((() => (args) => args.headers));
68
- const requestOptions = {
69
- apiKey: "apiKey",
70
- appKey: "applicationKey",
71
- baseUrl: "http://fake-base.url/",
72
- };
73
- const request = ciUtils.getRequestBuilder(requestOptions);
74
- const fakeEndpoint = fakeEndpointBuilder(request);
75
- expect(yield fakeEndpoint()).toStrictEqual({ "DD-API-KEY": "apiKey", "DD-APPLICATION-KEY": "applicationKey" });
76
- }));
77
- describe("proxy configuration", () => {
78
- test("should have a ProxyAgent by default", () => __awaiter(void 0, void 0, void 0, function* () {
79
- jest.spyOn(axios_1.default, "create").mockImplementation((() => (args) => args.httpsAgent));
80
- const requestOptions = {
81
- apiKey: "apiKey",
82
- appKey: "applicationKey",
83
- baseUrl: "http://fake-base.url/",
84
- };
85
- const request = ciUtils.getRequestBuilder(requestOptions);
86
- const fakeEndpoint = fakeEndpointBuilder(request);
87
- const httpsAgent = yield fakeEndpoint();
88
- expect(httpsAgent).toBeDefined();
89
- expect(httpsAgent).toBeInstanceOf(proxy_agent_1.default);
90
- }));
91
- test("should add proxy configuration when explicitly defined", () => __awaiter(void 0, void 0, void 0, function* () {
92
- jest.spyOn(axios_1.default, "create").mockImplementation((() => (args) => args.httpsAgent));
93
- const proxyOpts = { protocol: "http", host: "1.2.3.4", port: 1234 };
94
- const requestOptions = {
95
- apiKey: "apiKey",
96
- appKey: "applicationKey",
97
- baseUrl: "http://fake-base.url/",
98
- proxyOpts,
99
- };
100
- const request = ciUtils.getRequestBuilder(requestOptions);
101
- const fakeEndpoint = fakeEndpointBuilder(request);
102
- const httpsAgent = yield fakeEndpoint();
103
- expect(httpsAgent).toBeDefined();
104
- expect(httpsAgent.proxyUri).toBe("http://1.2.3.4:1234");
105
- }));
106
- });
107
- test("should accept overrideUrl", () => __awaiter(void 0, void 0, void 0, function* () {
108
- jest.spyOn(axios_1.default, "create").mockImplementation((() => (args) => args.url));
109
- const requestOptions = {
110
- apiKey: "apiKey",
111
- appKey: "applicationKey",
112
- baseUrl: "http://fake-base.url/",
113
- overrideUrl: "override/url",
114
- };
115
- const request = ciUtils.getRequestBuilder(requestOptions);
116
- const fakeEndpoint = fakeEndpointBuilder(request);
117
- expect(yield fakeEndpoint()).toStrictEqual("override/url");
118
- }));
119
- test("should accept additional headers", () => __awaiter(void 0, void 0, void 0, function* () {
120
- jest.spyOn(axios_1.default, "create").mockImplementation((() => (args) => args.headers));
121
- const requestOptions = {
122
- apiKey: "apiKey",
123
- appKey: "applicationKey",
124
- baseUrl: "http://fake-base.url/",
125
- headers: new Map([
126
- ["HEADER1", "value1"],
127
- ["HEADER2", "value2"],
128
- ]),
129
- overrideUrl: "override/url",
130
- };
131
- const request = ciUtils.getRequestBuilder(requestOptions);
132
- const fakeEndpoint = fakeEndpointBuilder(request);
133
- expect(yield fakeEndpoint()).toStrictEqual({
134
- "DD-API-KEY": "apiKey",
135
- "DD-APPLICATION-KEY": "applicationKey",
136
- HEADER1: "value1",
137
- HEADER2: "value2",
138
- });
139
- }));
140
- });
141
- describe("getApiHostForSite", () => {
142
- it.each([
143
- ["datad0g.com", "app.datad0g.com"],
144
- ["datadoghq.com", "api.datadoghq.com"],
145
- ["datadoghq.eu", "api.datadoghq.eu"],
146
- ["whitelabel.com", "api.whitelabel.com"],
147
- ])("for site = %p, returns api host = %p ", (site, expectedApiHost) => {
148
- expect(ciUtils.getApiHostForSite(site)).toEqual(expectedApiHost);
149
- });
150
- });
151
- describe("buildPath", () => {
152
- test("should return correct path", () => {
153
- const pathWithNoTrailingSlash = "sourcemaps/js";
154
- const pathWithTrailingSlash = "sourcemaps/js/";
155
- const fileName = "file1.min.js";
156
- expect(ciUtils.buildPath(pathWithNoTrailingSlash, fileName)).toBe("sourcemaps/js/file1.min.js");
157
- expect(ciUtils.buildPath(pathWithTrailingSlash, fileName)).toBe("sourcemaps/js/file1.min.js");
158
- });
159
- });
160
- describe("getProxyUrl", () => {
161
- test("should return correct proxy URI", () => {
162
- expect(ciUtils.getProxyUrl()).toBe("");
163
- expect(ciUtils.getProxyUrl({ protocol: "http" })).toBe("");
164
- expect(ciUtils.getProxyUrl({ host: "127.0.0.1", protocol: "http" })).toBe("");
165
- expect(ciUtils.getProxyUrl({ host: "127.0.0.1", port: 1234, protocol: "http" })).toBe("http://127.0.0.1:1234");
166
- const auth = { password: "pwd", username: "john" };
167
- expect(ciUtils.getProxyUrl({ auth, host: "127.0.0.1", port: 1234, protocol: "http" })).toBe("http://john:pwd@127.0.0.1:1234");
168
- expect(ciUtils.getProxyUrl({ auth, protocol: "http" })).toBe("");
169
- });
170
- });
171
- // Test the different possibilities of proxy configuration of getRequestHelper.
172
- // All the calls to getRequestHelpers should be https calls, but to keep the test suite
173
- // simple tests are using http calls (testing with https would require us to add tls certs
174
- // and configure axios to trust these tls certs, which requires an agent config, which
175
- // interferes a bit with how the proxies are configured since they are configured through an
176
- // agent themselves.
177
- // Proxy of https requests is still tested in the proxy-agent library itself.
178
- describe("Proxy configuration", () => {
179
- let initialHttpProxyEnv;
180
- beforeAll(() => {
181
- initialHttpProxyEnv = process.env.HTTP_PROXY;
182
- });
183
- afterAll(() => {
184
- if (initialHttpProxyEnv !== undefined) {
185
- process.env.HTTP_PROXY = initialHttpProxyEnv;
186
- }
187
- else {
188
- delete process.env.HTTP_PROXY;
189
- }
190
- });
191
- beforeEach(() => {
192
- delete process.env.HTTP_PROXY;
193
- });
194
- // Start a target http server and a proxy server listening on localhost,
195
- // returns the ports they listen to, a spy method allowing us to check if they've been
196
- // handling any requests, and a function to close them.
197
- const setupServer = () => __awaiter(void 0, void 0, void 0, function* () {
198
- // Create target http server
199
- const mockCallback = jest.fn((_, res) => {
200
- res.end("response from target http server");
201
- });
202
- const targetHttpServer = http_1.default.createServer(mockCallback);
203
- yield new Promise((resolve, reject) => {
204
- targetHttpServer.listen((err) => {
205
- if (err) {
206
- reject(err);
207
- }
208
- resolve();
209
- });
210
- });
211
- // Create proxy
212
- const proxyHttpServer = http_1.default.createServer();
213
- const proxyServer = (0, proxy_1.default)(proxyHttpServer);
214
- const spyProxy = jest.fn();
215
- proxyHttpServer.on("request", spyProxy);
216
- yield new Promise((resolve, reject) => {
217
- proxyServer.listen((err) => {
218
- if (err) {
219
- reject(err);
220
- }
221
- resolve();
222
- });
223
- });
224
- return {
225
- proxyServer: {
226
- close: () => __awaiter(void 0, void 0, void 0, function* () {
227
- return new Promise((resolve, reject) => {
228
- proxyServer.close((err) => {
229
- if (err) {
230
- reject(err);
231
- }
232
- resolve();
233
- });
234
- });
235
- }),
236
- port: proxyHttpServer.address().port,
237
- spy: spyProxy,
238
- },
239
- targetServer: {
240
- close: () => __awaiter(void 0, void 0, void 0, function* () {
241
- return new Promise((resolve, reject) => {
242
- targetHttpServer.close((err) => {
243
- if (err) {
244
- reject(err);
245
- }
246
- resolve();
247
- });
248
- });
249
- }),
250
- port: targetHttpServer.address().port,
251
- spy: mockCallback,
252
- },
253
- };
254
- });
255
- test("Work without a proxy defined", () => __awaiter(void 0, void 0, void 0, function* () {
256
- const { proxyServer, targetServer } = yield setupServer();
257
- try {
258
- const requestBuilder = ciUtils.getRequestBuilder({
259
- apiKey: "abc",
260
- baseUrl: `http://localhost:${targetServer.port}`,
261
- });
262
- yield requestBuilder({
263
- method: "GET",
264
- url: "test-from-proxy",
265
- });
266
- expect(targetServer.spy.mock.calls.length).toBe(1);
267
- expect(proxyServer.spy.mock.calls.length).toBe(0);
268
- }
269
- finally {
270
- yield targetServer.close();
271
- yield proxyServer.close();
272
- }
273
- }));
274
- test("Proxy configured explicitly", () => __awaiter(void 0, void 0, void 0, function* () {
275
- const { proxyServer, targetServer } = yield setupServer();
276
- try {
277
- const requestBuilder = ciUtils.getRequestBuilder({
278
- apiKey: "abc",
279
- baseUrl: `http://localhost:${targetServer.port}`,
280
- proxyOpts: {
281
- host: "localhost",
282
- port: proxyServer.port,
283
- protocol: "http",
284
- },
285
- });
286
- yield requestBuilder({
287
- method: "GET",
288
- url: "test-from-proxy",
289
- });
290
- expect(targetServer.spy.mock.calls.length).toBe(1);
291
- expect(proxyServer.spy.mock.calls.length).toBe(1);
292
- }
293
- finally {
294
- yield targetServer.close();
295
- yield proxyServer.close();
296
- }
297
- }));
298
- test("Proxy configured through env var", () => __awaiter(void 0, void 0, void 0, function* () {
299
- const { proxyServer, targetServer } = yield setupServer();
300
- try {
301
- process.env.HTTP_PROXY = `http://localhost:${proxyServer.port}`;
302
- const requestBuilder = ciUtils.getRequestBuilder({
303
- apiKey: "abc",
304
- baseUrl: `http://localhost:${targetServer.port}`,
305
- });
306
- yield requestBuilder({
307
- method: "GET",
308
- url: "test-from-proxy",
309
- });
310
- expect(targetServer.spy.mock.calls.length).toBe(1);
311
- expect(proxyServer.spy.mock.calls.length).toBe(1);
312
- }
313
- finally {
314
- yield targetServer.close();
315
- yield proxyServer.close();
316
- }
317
- }));
318
- test("Proxy configured explicitly takes precedence over env var", () => __awaiter(void 0, void 0, void 0, function* () {
319
- const { proxyServer, targetServer } = yield setupServer();
320
- try {
321
- process.env.HTTP_PROXY = `http://incorrecthost:${proxyServer.port}`;
322
- const requestBuilder = ciUtils.getRequestBuilder({
323
- apiKey: "abc",
324
- baseUrl: `http://localhost:${targetServer.port}`,
325
- proxyOpts: {
326
- host: "localhost",
327
- port: proxyServer.port,
328
- protocol: "http",
329
- },
330
- });
331
- yield requestBuilder({
332
- method: "GET",
333
- url: "test-from-proxy",
334
- });
335
- expect(targetServer.spy.mock.calls.length).toBe(1);
336
- expect(proxyServer.spy.mock.calls.length).toBe(1);
337
- }
338
- finally {
339
- yield targetServer.close();
340
- yield proxyServer.close();
341
- }
342
- }));
343
- });
344
- });
345
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../src/helpers/__tests__/utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { Metadata, SpanTags } from "./interfaces";
2
- export declare const CI_ENGINES: {
3
- APPVEYOR: string;
4
- AZURE: string;
5
- BITBUCKET: string;
6
- BITRISE: string;
7
- BUILDKITE: string;
8
- CIRCLECI: string;
9
- GITHUB: string;
10
- GITLAB: string;
11
- JENKINS: string;
12
- TRAVIS: string;
13
- };
14
- export declare const getCISpanTags: () => SpanTags | undefined;
15
- export declare const getCIMetadata: () => Metadata | undefined;
16
- //# sourceMappingURL=ci.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../../src/helpers/ci.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAsBlD,eAAO,MAAM,UAAU;;;;;;;;;;;CAWtB,CAAC;AAuDF,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SAuY3C,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SA6F3C,CAAC"}