@datadog/datadog-ci 3.3.1 → 3.4.0

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 (77) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +2 -0
  4. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +1 -1
  5. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +4 -0
  6. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +1 -1
  7. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +3 -0
  8. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +1 -1
  9. package/dist/commands/lambda/__tests__/instrument.test.js +7 -0
  10. package/dist/commands/lambda/__tests__/instrument.test.js.map +1 -1
  11. package/dist/commands/lambda/__tests__/uninstrument.test.js +3 -0
  12. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +1 -1
  13. package/dist/commands/lambda/constants.d.ts +3 -0
  14. package/dist/commands/lambda/constants.js +5 -2
  15. package/dist/commands/lambda/constants.js.map +1 -1
  16. package/dist/commands/lambda/functions/instrument.js +10 -0
  17. package/dist/commands/lambda/functions/instrument.js.map +1 -1
  18. package/dist/commands/lambda/functions/uninstrument.js +3 -0
  19. package/dist/commands/lambda/functions/uninstrument.js.map +1 -1
  20. package/dist/commands/lambda/instrument.d.ts +1 -0
  21. package/dist/commands/lambda/instrument.js +5 -2
  22. package/dist/commands/lambda/instrument.js.map +1 -1
  23. package/dist/commands/lambda/interfaces.d.ts +3 -0
  24. package/dist/commands/react-native/__tests__/codepush.test.js +35 -0
  25. package/dist/commands/react-native/__tests__/codepush.test.js.map +1 -1
  26. package/dist/commands/react-native/__tests__/utils.test.js +42 -0
  27. package/dist/commands/react-native/__tests__/utils.test.js.map +1 -1
  28. package/dist/commands/react-native/codepush.js +7 -2
  29. package/dist/commands/react-native/codepush.js.map +1 -1
  30. package/dist/commands/react-native/utils.d.ts +1 -0
  31. package/dist/commands/react-native/utils.js +5 -1
  32. package/dist/commands/react-native/utils.js.map +1 -1
  33. package/dist/commands/sbom/__tests__/payload.test.js +31 -0
  34. package/dist/commands/sbom/__tests__/payload.test.js.map +1 -1
  35. package/dist/commands/sbom/__tests__/validation.test.js +4 -0
  36. package/dist/commands/sbom/__tests__/validation.test.js.map +1 -1
  37. package/dist/commands/sbom/constants.d.ts +1 -0
  38. package/dist/commands/sbom/constants.js +2 -1
  39. package/dist/commands/sbom/constants.js.map +1 -1
  40. package/dist/commands/sbom/payload.js +66 -0
  41. package/dist/commands/sbom/payload.js.map +1 -1
  42. package/dist/commands/sbom/types.d.ts +13 -0
  43. package/dist/commands/span/__tests__/span.test.d.ts +1 -0
  44. package/dist/commands/span/__tests__/span.test.js +108 -0
  45. package/dist/commands/span/__tests__/span.test.js.map +1 -0
  46. package/dist/commands/span/cli.d.ts +1 -0
  47. package/dist/commands/span/cli.js +5 -0
  48. package/dist/commands/span/cli.js.map +1 -0
  49. package/dist/commands/span/span.d.ts +10 -0
  50. package/dist/commands/span/span.js +112 -0
  51. package/dist/commands/span/span.js.map +1 -0
  52. package/dist/commands/synthetics/__tests__/build-and-test.test.js +63 -105
  53. package/dist/commands/synthetics/__tests__/build-and-test.test.js.map +1 -1
  54. package/dist/commands/synthetics/build-and-test.d.ts +20 -3
  55. package/dist/commands/synthetics/build-and-test.js +180 -66
  56. package/dist/commands/synthetics/build-and-test.js.map +1 -1
  57. package/dist/commands/synthetics/run-tests-command.js +5 -2
  58. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  59. package/dist/commands/synthetics/utils/internal.d.ts +0 -2
  60. package/dist/commands/synthetics/utils/internal.js +1 -15
  61. package/dist/commands/synthetics/utils/internal.js.map +1 -1
  62. package/dist/commands/trace/__tests__/trace.test.js +3 -100
  63. package/dist/commands/trace/__tests__/trace.test.js.map +1 -1
  64. package/dist/commands/trace/helper.d.ts +16 -0
  65. package/dist/commands/trace/helper.js +123 -0
  66. package/dist/commands/trace/helper.js.map +1 -0
  67. package/dist/commands/trace/test-utils.d.ts +1 -0
  68. package/dist/commands/trace/test-utils.js +119 -0
  69. package/dist/commands/trace/test-utils.js.map +1 -0
  70. package/dist/commands/trace/trace.d.ts +2 -12
  71. package/dist/commands/trace/trace.js +14 -93
  72. package/dist/commands/trace/trace.js.map +1 -1
  73. package/dist/helpers/__tests__/flare.test.js +2 -1
  74. package/dist/helpers/__tests__/flare.test.js.map +1 -1
  75. package/dist/helpers/flare.js +2 -1
  76. package/dist/helpers/flare.js.map +1 -1
  77. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.test.js","sourceRoot":"","sources":["../../../../src/commands/span/__tests__/span.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const span_1 = require("./span");
4
+ module.exports = [span_1.SpanCommand];
5
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/span/cli.ts"],"names":[],"mappings":";;AAAA,iCAAkC;AAElC,MAAM,CAAC,OAAO,GAAG,CAAC,kBAAW,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { CustomSpanCommand } from '../trace/helper';
2
+ export declare class SpanCommand extends CustomSpanCommand {
3
+ static paths: string[][];
4
+ static usage: import("clipanion").Usage;
5
+ private name;
6
+ private durationInMs;
7
+ private startTimeInMs;
8
+ private endTimeInMs;
9
+ execute(): Promise<number>;
10
+ }
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.SpanCommand = void 0;
36
+ const clipanion_1 = require("clipanion");
37
+ const validation = __importStar(require("../../helpers/validation"));
38
+ const helper_1 = require("../trace/helper");
39
+ class SpanCommand extends helper_1.CustomSpanCommand {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.name = clipanion_1.Option.String('--name');
43
+ this.durationInMs = clipanion_1.Option.String('--duration', {
44
+ validator: validation.isInteger(),
45
+ });
46
+ this.startTimeInMs = clipanion_1.Option.String('--start-time', {
47
+ validator: validation.isInteger(),
48
+ });
49
+ this.endTimeInMs = clipanion_1.Option.String('--end-time', {
50
+ validator: validation.isInteger(),
51
+ });
52
+ }
53
+ execute() {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ this.tryEnableFips();
56
+ if (!this.name) {
57
+ this.context.stdout.write(`The span name must be provided.\n`);
58
+ return 1;
59
+ }
60
+ if ((this.startTimeInMs && !this.endTimeInMs) ||
61
+ (!this.startTimeInMs && this.endTimeInMs) ||
62
+ (this.durationInMs && (this.startTimeInMs || this.endTimeInMs))) {
63
+ this.context.stdout.write(`Either duration or start and end time must be provided.\n`);
64
+ return 1;
65
+ }
66
+ if (this.startTimeInMs && this.endTimeInMs) {
67
+ this.durationInMs = this.endTimeInMs - this.startTimeInMs;
68
+ }
69
+ if (!this.durationInMs) {
70
+ this.context.stdout.write(`The span duration must be provided or start-time and end-time.\n`);
71
+ return 1;
72
+ }
73
+ if (this.durationInMs < 0) {
74
+ this.context.stdout.write(`The span duration must be positive / end time must be after start time.\n`);
75
+ return 1;
76
+ }
77
+ const endTime = this.endTimeInMs ? new Date(this.endTimeInMs) : new Date();
78
+ const startTime = new Date(endTime.getTime() - this.durationInMs);
79
+ return this.executeReportCustomSpan(this.generateSpanId(), startTime, endTime, {
80
+ name: this.name,
81
+ error_message: '',
82
+ exit_code: 0,
83
+ command: 'datadog-ci trace span',
84
+ });
85
+ });
86
+ }
87
+ }
88
+ exports.SpanCommand = SpanCommand;
89
+ SpanCommand.paths = [['trace', 'span']];
90
+ SpanCommand.usage = clipanion_1.Command.Usage({
91
+ category: 'CI Visibility',
92
+ description: 'Report a custom span to Datadog with name, start / end time or duration, tags and measures.',
93
+ details: `
94
+ This command reports a span with custom name and custom duration to Datadog.\n
95
+ See README for details.
96
+ `,
97
+ examples: [
98
+ [
99
+ 'Create span with name "Get Dependencies" and duration of 10s and report to Datadog',
100
+ 'datadog-ci trace span --name "Get Dependencies" --duration 10000',
101
+ ],
102
+ [
103
+ 'Create span with name "Build" and duration of 10s using timestamps and report to Datadog',
104
+ 'datadog-ci trace span --name "Build" --start-time 1744357891967 --end-time 1744357901967',
105
+ ],
106
+ [
107
+ 'Create span with name "Get Dependencies" and duration of 10s and report to Datadog with tags and measures',
108
+ 'datadog-ci trace span --name "Get Dependencies" --duration 10000 --tags "dependency-set:notify" --measures "n-dependencies:42"',
109
+ ],
110
+ ],
111
+ });
112
+ //# sourceMappingURL=span.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.js","sourceRoot":"","sources":["../../../src/commands/span/span.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31,103 +8,84 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
9
  });
33
10
  };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
11
  Object.defineProperty(exports, "__esModule", { value: true });
38
- const http = __importStar(require("http"));
39
- const axios_1 = __importDefault(require("axios"));
40
12
  const build_and_test_1 = require("../build-and-test");
41
13
  const fixtures_1 = require("./fixtures");
42
14
  const NODE_COMMAND = process.execPath;
43
- describe('build-and-test - spawnBuildPluginDevServer', () => {
44
- beforeEach(() => {
45
- jest.resetAllMocks();
46
- jest.restoreAllMocks();
47
- });
15
+ describe('build-and-test - buildAssets', () => {
16
+ const tearDowns = [];
17
+ afterEach(() => __awaiter(void 0, void 0, void 0, function* () {
18
+ for (let tearDown; (tearDown = tearDowns.pop());) {
19
+ yield tearDown();
20
+ }
21
+ }));
22
+ // This httpClient function should be self-contained, as its body will be injected as a string in the build command.
23
+ const httpClient = () => {
24
+ const url = process.env.DATADOG_SYNTHETICS_REPORT_BUILD_URL;
25
+ if (!url) {
26
+ throw new Error('DATADOG_SYNTHETICS_REPORT_BUILD_URL is not set');
27
+ }
28
+ void fetch(url, {
29
+ method: 'POST',
30
+ headers: {
31
+ 'Content-Type': 'application/json',
32
+ },
33
+ body: JSON.stringify({
34
+ outputDirectory: 'output-directory',
35
+ publicPath: 'prefix/',
36
+ }),
37
+ });
38
+ };
48
39
  test('alert when the build-plugin is not configured', () => __awaiter(void 0, void 0, void 0, function* () {
49
40
  // Given a build command without the build plugin configured
50
41
  const MOCKED_BUILD_COMMAND_NOT_CONFIGURED = `${NODE_COMMAND} -e "console.log('build successful')"`;
51
42
  // When calling spawnBuildPluginDevServer
52
- const commandPromise = (0, build_and_test_1.spawnBuildPluginDevServer)(MOCKED_BUILD_COMMAND_NOT_CONFIGURED, fixtures_1.mockReporter);
43
+ const commandPromise = (0, build_and_test_1.buildAssets)(MOCKED_BUILD_COMMAND_NOT_CONFIGURED, fixtures_1.mockReporter);
53
44
  // Then it should throw when the command exits.
54
45
  yield expect(commandPromise).rejects.toThrow(build_and_test_1.UnconfiguredBuildPluginError);
55
46
  }));
56
- test('wait for the dev server and return expected readiness and status even with delayed server startup', () => __awaiter(void 0, void 0, void 0, function* () {
57
- // Given a dev server which listen on the port provided in the environment variable BUILD_PLUGINS_S8S_PORT.
58
- // The implementation of this server is written as a function, and stringified into a single line,
59
- // to be used in a node -e command.
60
- const httpDevServer = () => {
61
- setTimeout(() => {
62
- http
63
- .createServer((_, res) => res
64
- .writeHead(200, {
65
- 'Content-Type': 'application/json',
66
- })
67
- .end(JSON.stringify({
68
- status: 'success',
69
- publicPrefix: 'prefix2/',
70
- })))
71
- .listen(process.env.BUILD_PLUGINS_S8S_PORT);
72
- }, 500);
73
- };
74
- const SERVER_IMPLEMENTATION = httpDevServer.toString().replace(/\n\s+/g, '');
75
- const MOCKED_BUILD_COMMAND = `${NODE_COMMAND} -e "(${SERVER_IMPLEMENTATION})()"`;
47
+ test('advertise the right URL and returns the reported builds', () => __awaiter(void 0, void 0, void 0, function* () {
48
+ // Given a build command which reports a build with a publicPath and an outputDirectory to the url advertised by DATADOG_SYNTHETICS_REPORT_BUILD_URL
49
+ const CLIENT_IMPLEMENTATION = httpClient.toString().replace(/\n\s+/g, '');
50
+ const MOCKED_BUILD_COMMAND = `${NODE_COMMAND} -e "(${CLIENT_IMPLEMENTATION})()"`;
76
51
  // When calling spawnBuildPluginDevServer
77
- const start = Date.now();
78
- const command = yield (0, build_and_test_1.spawnBuildPluginDevServer)(MOCKED_BUILD_COMMAND, fixtures_1.mockReporter);
79
- const end = Date.now();
80
- // Then it should send requests to the dev server until it's ready to serve,
81
- // and return the devServerUrl and the path prefix.
82
- expect(command.devServerUrl).toBe('http://localhost:4000');
83
- expect(command.publicPrefix).toBe('prefix2/');
84
- // The server should resolve the promise at maximum 1 second after the server is ready
85
- expect(end - start).toBeLessThanOrEqual(500 + 1000);
86
- // Stop the command at the end of the test.
87
- yield command.stop();
88
- }));
89
- test('should wait for dev server even if the build fails', () => __awaiter(void 0, void 0, void 0, function* () {
90
- // Set up axios response sequence
91
- jest
92
- .spyOn(axios_1.default, 'get')
93
- .mockRejectedValueOnce({ code: 'ECONNREFUSED' }) // First attempt: connection refused
94
- .mockResolvedValueOnce({ data: { status: 'fail' } }) // Second attempt: build failed
95
- .mockResolvedValueOnce({ data: { status: 'success', publicPrefix: 'prefix3/' } }); // Third attempt: success
96
- // Setup isAxiosError for ECONNREFUSED error
97
- jest.spyOn(axios_1.default, 'isAxiosError').mockImplementation((error) => {
98
- return error && error.code === 'ECONNREFUSED';
99
- });
100
- // When calling spawnBuildPluginDevServer with any command
101
- const MOCKED_BUILD_COMMAND = `${NODE_COMMAND} -e "setTimeout(() => {}, 100000)"`;
102
- const command = yield (0, build_and_test_1.spawnBuildPluginDevServer)(MOCKED_BUILD_COMMAND, fixtures_1.mockReporter);
103
- // Then it should wait until the build succeeds
104
- expect(command.devServerUrl).toBe('http://localhost:4000');
105
- expect(command.publicPrefix).toBe('prefix3/');
106
- // Verify the axios GET was called multiple times
107
- expect(axios_1.default.get).toHaveBeenCalledTimes(3);
108
- // Stop the command at the end of the test.
109
- yield command.stop();
52
+ const { builds, devServerUrl, stop } = yield (0, build_and_test_1.buildAssets)(MOCKED_BUILD_COMMAND, fixtures_1.mockReporter);
53
+ tearDowns.push(stop);
54
+ // Then it should return the devServerUrl and the path prefix.
55
+ expect(devServerUrl).toMatch(/\/_datadog-ci_\/build$/);
56
+ expect(builds).toEqual([
57
+ {
58
+ outputDirectory: 'output-directory',
59
+ publicPath: 'prefix/',
60
+ },
61
+ ]);
110
62
  }));
111
- test('should handle non-OK status code from dev server', () => __awaiter(void 0, void 0, void 0, function* () {
112
- // Set up axios error response
113
- const axiosError = {
114
- isAxiosError: true,
115
- code: 'ERR_BAD_RESPONSE',
116
- response: {
117
- status: 500,
118
- statusText: 'Internal Server Error',
63
+ test('rejects malformed builds', () => __awaiter(void 0, void 0, void 0, function* () {
64
+ // Given the devServer to which to report builds
65
+ const CLIENT_IMPLEMENTATION = httpClient.toString().replace(/\n\s+/g, '');
66
+ const MOCKED_BUILD_COMMAND = `${NODE_COMMAND} -e "(${CLIENT_IMPLEMENTATION})()"`;
67
+ const { devServerUrl, stop } = yield (0, build_and_test_1.buildAssets)(MOCKED_BUILD_COMMAND, fixtures_1.mockReporter);
68
+ tearDowns.push(stop);
69
+ // When sending a malformed build
70
+ const correctPayload = {
71
+ method: 'POST',
72
+ headers: {
73
+ 'Content-Type': 'application/json',
74
+ },
75
+ body: {
76
+ outputDirectory: 'output-directory',
77
+ publicPath: 'prefix/',
119
78
  },
120
79
  };
121
- jest.spyOn(axios_1.default, 'get').mockRejectedValueOnce(axiosError);
122
- // Setup isAxiosError for the specific error
123
- jest.spyOn(axios_1.default, 'isAxiosError').mockImplementation((error) => {
124
- return error === axiosError;
125
- });
126
- // When calling spawnBuildPluginDevServer with any command
127
- const MOCKED_BUILD_COMMAND = `${NODE_COMMAND} -e "setTimeout(() => {}, 100000)"`;
128
- const commandPromise = (0, build_and_test_1.spawnBuildPluginDevServer)(MOCKED_BUILD_COMMAND, fixtures_1.mockReporter);
129
- // Then it should throw with the server error
130
- yield expect(commandPromise).rejects.toThrow('Dev server returned error: 500 Internal Server Error');
80
+ const [missingOutputDirectory, missingPublicPath] = yield Promise.all([
81
+ fetch(devServerUrl, Object.assign(Object.assign({}, correctPayload), { body: JSON.stringify(Object.assign(Object.assign({}, correctPayload.body), { outputDirectory: undefined })) })),
82
+ fetch(devServerUrl, Object.assign(Object.assign({}, correctPayload), { body: JSON.stringify(Object.assign(Object.assign({}, correctPayload.body), { publicPath: undefined })) })),
83
+ ]);
84
+ // Then it should reject the malformed builds reported.
85
+ expect(missingOutputDirectory.status).toBe(500);
86
+ expect(yield missingOutputDirectory.text()).toBe(`Internal Server Error: ${build_and_test_1.MalformedBuildError.message}`);
87
+ expect(missingPublicPath.status).toBe(500);
88
+ expect(yield missingPublicPath.text()).toBe(`Internal Server Error: ${build_and_test_1.MalformedBuildError.message}`);
131
89
  }));
132
90
  });
133
91
  //# sourceMappingURL=build-and-test.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-and-test.test.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/__tests__/build-and-test.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-and-test.test.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/__tests__/build-and-test.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,25 @@
1
+ /// <reference types="node" />
2
+ import * as http from 'http';
1
3
  import { MainReporter } from './interfaces';
2
- export declare const DEFAULT_BUILD_PLUGIN_PORT = 4000;
4
+ interface ReportedBuild {
5
+ outputDirectory: string;
6
+ publicPath: string;
7
+ }
3
8
  export declare const UnconfiguredBuildPluginError: Error;
4
- export declare const spawnBuildPluginDevServer: (buildCommand: string, reporter: MainReporter) => Promise<{
9
+ export declare const MalformedBuildError: Error;
10
+ declare const routeVerbs: readonly ["get", "post", "put", "patch", "delete"];
11
+ type RouteVerb = typeof routeVerbs[number];
12
+ export type Routes = Record<string, {
13
+ [key in RouteVerb]?: (req: http.IncomingMessage, res: http.ServerResponse) => Promise<void>;
14
+ }>;
15
+ export type RequestHandlerOptions = {
16
+ builds: ReportedBuild[];
17
+ root?: string;
18
+ routes?: Routes;
19
+ };
20
+ export declare const buildAssets: (buildCommand: string, reporter: MainReporter) => Promise<{
21
+ builds: ReportedBuild[];
5
22
  devServerUrl: string;
6
- publicPrefix: string;
7
23
  stop: () => Promise<void>;
8
24
  }>;
25
+ export {};