@datadog/datadog-ci 2.4.0 → 2.5.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 (203) hide show
  1. package/LICENSE-3rdparty.csv +1 -0
  2. package/dist/commands/dsyms/upload.js +2 -1
  3. package/dist/commands/dsyms/upload.js.map +1 -1
  4. package/dist/commands/flutter-symbols/helpers.js +1 -1
  5. package/dist/commands/flutter-symbols/helpers.js.map +1 -1
  6. package/dist/commands/flutter-symbols/upload.js +1 -1
  7. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  8. package/dist/commands/lambda/functions/commons.d.ts +4 -2
  9. package/dist/commands/lambda/functions/commons.js +71 -12
  10. package/dist/commands/lambda/functions/commons.js.map +1 -1
  11. package/dist/commands/lambda/instrument.d.ts +2 -0
  12. package/dist/commands/lambda/instrument.js +28 -13
  13. package/dist/commands/lambda/instrument.js.map +1 -1
  14. package/dist/commands/lambda/interfaces.d.ts +6 -0
  15. package/dist/commands/lambda/loggroup.js +7 -1
  16. package/dist/commands/lambda/loggroup.js.map +1 -1
  17. package/dist/commands/lambda/renderer.d.ts +74 -2
  18. package/dist/commands/lambda/renderer.js +98 -5
  19. package/dist/commands/lambda/renderer.js.map +1 -1
  20. package/dist/commands/lambda/uninstrument.js +14 -18
  21. package/dist/commands/lambda/uninstrument.js.map +1 -1
  22. package/dist/commands/react-native/upload.js +2 -2
  23. package/dist/commands/react-native/upload.js.map +1 -1
  24. package/dist/commands/react-native/xcode.js +5 -0
  25. package/dist/commands/react-native/xcode.js.map +1 -1
  26. package/dist/commands/synthetics/api.d.ts +2 -1
  27. package/dist/commands/synthetics/api.js +7 -0
  28. package/dist/commands/synthetics/api.js.map +1 -1
  29. package/dist/commands/synthetics/command.js +11 -2
  30. package/dist/commands/synthetics/command.js.map +1 -1
  31. package/dist/commands/synthetics/index.d.ts +1 -0
  32. package/dist/commands/synthetics/index.js +3 -1
  33. package/dist/commands/synthetics/index.js.map +1 -1
  34. package/dist/commands/synthetics/interfaces.d.ts +4 -1
  35. package/dist/commands/synthetics/reporters/default.d.ts +3 -2
  36. package/dist/commands/synthetics/reporters/default.js +19 -5
  37. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  38. package/dist/commands/synthetics/reporters/junit.d.ts +2 -2
  39. package/dist/commands/synthetics/reporters/junit.js +1 -1
  40. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  41. package/dist/commands/synthetics/run-test.js +9 -1
  42. package/dist/commands/synthetics/run-test.js.map +1 -1
  43. package/dist/commands/synthetics/utils.d.ts +4 -2
  44. package/dist/commands/synthetics/utils.js +14 -5
  45. package/dist/commands/synthetics/utils.js.map +1 -1
  46. package/dist/helpers/ci.js +27 -29
  47. package/dist/helpers/ci.js.map +1 -1
  48. package/dist/helpers/user-provided-git.js +0 -3
  49. package/dist/helpers/user-provided-git.js.map +1 -1
  50. package/dist/helpers/utils.d.ts +3 -3
  51. package/dist/helpers/utils.js +10 -6
  52. package/dist/helpers/utils.js.map +1 -1
  53. package/package.json +7 -5
  54. package/dist/commands/dsyms/__tests__/upload.test.d.ts +0 -1
  55. package/dist/commands/dsyms/__tests__/upload.test.js +0 -297
  56. package/dist/commands/dsyms/__tests__/upload.test.js.map +0 -1
  57. package/dist/commands/dsyms/__tests__/utils.test.d.ts +0 -1
  58. package/dist/commands/dsyms/__tests__/utils.test.js +0 -99
  59. package/dist/commands/dsyms/__tests__/utils.test.js.map +0 -1
  60. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +0 -1
  61. package/dist/commands/flutter-symbols/__tests__/upload.test.js +0 -538
  62. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +0 -1
  63. package/dist/commands/git-metadata/__tests__/git.test.d.ts +0 -1
  64. package/dist/commands/git-metadata/__tests__/git.test.js +0 -148
  65. package/dist/commands/git-metadata/__tests__/git.test.js.map +0 -1
  66. package/dist/commands/git-metadata/__tests__/library.test.d.ts +0 -1
  67. package/dist/commands/git-metadata/__tests__/library.test.js +0 -103
  68. package/dist/commands/git-metadata/__tests__/library.test.js.map +0 -1
  69. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +0 -1
  70. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -60
  71. package/dist/commands/git-metadata/__tests__/upload.test.js.map +0 -1
  72. package/dist/commands/junit/__tests__/api.test.d.ts +0 -1
  73. package/dist/commands/junit/__tests__/api.test.js +0 -9
  74. package/dist/commands/junit/__tests__/api.test.js.map +0 -1
  75. package/dist/commands/junit/__tests__/upload.test.d.ts +0 -1
  76. package/dist/commands/junit/__tests__/upload.test.js +0 -283
  77. package/dist/commands/junit/__tests__/upload.test.js.map +0 -1
  78. package/dist/commands/lambda/__tests__/fixtures.d.ts +0 -49
  79. package/dist/commands/lambda/__tests__/fixtures.js +0 -88
  80. package/dist/commands/lambda/__tests__/fixtures.js.map +0 -1
  81. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +0 -1
  82. package/dist/commands/lambda/__tests__/functions/commons.test.js +0 -621
  83. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +0 -1
  84. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +0 -1
  85. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +0 -350
  86. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +0 -1
  87. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +0 -1
  88. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +0 -583
  89. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +0 -1
  90. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +0 -1
  91. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +0 -477
  92. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +0 -1
  93. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +0 -1
  94. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +0 -33
  95. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +0 -1
  96. package/dist/commands/lambda/__tests__/instrument.test.d.ts +0 -1
  97. package/dist/commands/lambda/__tests__/instrument.test.js +0 -1698
  98. package/dist/commands/lambda/__tests__/instrument.test.js.map +0 -1
  99. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +0 -1
  100. package/dist/commands/lambda/__tests__/loggroup.test.js +0 -266
  101. package/dist/commands/lambda/__tests__/loggroup.test.js.map +0 -1
  102. package/dist/commands/lambda/__tests__/prompt.test.d.ts +0 -1
  103. package/dist/commands/lambda/__tests__/prompt.test.js +0 -235
  104. package/dist/commands/lambda/__tests__/prompt.test.js.map +0 -1
  105. package/dist/commands/lambda/__tests__/tags.test.d.ts +0 -1
  106. package/dist/commands/lambda/__tests__/tags.test.js +0 -253
  107. package/dist/commands/lambda/__tests__/tags.test.js.map +0 -1
  108. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +0 -1
  109. package/dist/commands/lambda/__tests__/uninstrument.test.js +0 -615
  110. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +0 -1
  111. package/dist/commands/metric/__tests__/metric.test.d.ts +0 -1
  112. package/dist/commands/metric/__tests__/metric.test.js +0 -97
  113. package/dist/commands/metric/__tests__/metric.test.js.map +0 -1
  114. package/dist/commands/react-native/__tests__/codepush.test.d.ts +0 -1
  115. package/dist/commands/react-native/__tests__/codepush.test.js +0 -153
  116. package/dist/commands/react-native/__tests__/codepush.test.js.map +0 -1
  117. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +0 -1
  118. package/dist/commands/react-native/__tests__/interfaces.test.js +0 -52
  119. package/dist/commands/react-native/__tests__/interfaces.test.js.map +0 -1
  120. package/dist/commands/react-native/__tests__/upload.test.d.ts +0 -1
  121. package/dist/commands/react-native/__tests__/upload.test.js +0 -176
  122. package/dist/commands/react-native/__tests__/upload.test.js.map +0 -1
  123. package/dist/commands/react-native/__tests__/xcode.test.d.ts +0 -1
  124. package/dist/commands/react-native/__tests__/xcode.test.js +0 -417
  125. package/dist/commands/react-native/__tests__/xcode.test.js.map +0 -1
  126. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +0 -1
  127. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -270
  128. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +0 -1
  129. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +0 -1
  130. package/dist/commands/sourcemaps/__tests__/utils.test.js +0 -31
  131. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +0 -1
  132. package/dist/commands/synthetics/__tests__/api.test.d.ts +0 -1
  133. package/dist/commands/synthetics/__tests__/api.test.js +0 -273
  134. package/dist/commands/synthetics/__tests__/api.test.js.map +0 -1
  135. package/dist/commands/synthetics/__tests__/cli.test.d.ts +0 -1
  136. package/dist/commands/synthetics/__tests__/cli.test.js +0 -391
  137. package/dist/commands/synthetics/__tests__/cli.test.js.map +0 -1
  138. package/dist/commands/synthetics/__tests__/fixtures.d.ts +0 -119
  139. package/dist/commands/synthetics/__tests__/fixtures.js +0 -386
  140. package/dist/commands/synthetics/__tests__/fixtures.js.map +0 -1
  141. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +0 -1
  142. package/dist/commands/synthetics/__tests__/mobile.test.js +0 -228
  143. package/dist/commands/synthetics/__tests__/mobile.test.js.map +0 -1
  144. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +0 -1
  145. package/dist/commands/synthetics/__tests__/reporters/default.test.js +0 -202
  146. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +0 -1
  147. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +0 -1
  148. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -339
  149. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +0 -1
  150. package/dist/commands/synthetics/__tests__/run-test.test.d.ts +0 -1
  151. package/dist/commands/synthetics/__tests__/run-test.test.js +0 -419
  152. package/dist/commands/synthetics/__tests__/run-test.test.js.map +0 -1
  153. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +0 -1
  154. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +0 -21
  155. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +0 -1
  156. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +0 -1
  157. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +0 -80
  158. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +0 -1
  159. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +0 -1
  160. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +0 -111
  161. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +0 -1
  162. package/dist/commands/synthetics/__tests__/utils.test.d.ts +0 -1
  163. package/dist/commands/synthetics/__tests__/utils.test.js +0 -933
  164. package/dist/commands/synthetics/__tests__/utils.test.js.map +0 -1
  165. package/dist/commands/tag/__tests__/tag.test.d.ts +0 -1
  166. package/dist/commands/tag/__tests__/tag.test.js +0 -77
  167. package/dist/commands/tag/__tests__/tag.test.js.map +0 -1
  168. package/dist/commands/trace/__tests__/trace.test.d.ts +0 -1
  169. package/dist/commands/trace/__tests__/trace.test.js +0 -64
  170. package/dist/commands/trace/__tests__/trace.test.js.map +0 -1
  171. package/dist/helpers/__tests__/ci.test.d.ts +0 -1
  172. package/dist/helpers/__tests__/ci.test.js +0 -197
  173. package/dist/helpers/__tests__/ci.test.js.map +0 -1
  174. package/dist/helpers/__tests__/plist.test.d.ts +0 -1
  175. package/dist/helpers/__tests__/plist.test.js +0 -31
  176. package/dist/helpers/__tests__/plist.test.js.map +0 -1
  177. package/dist/helpers/__tests__/retry.test.d.ts +0 -1
  178. package/dist/helpers/__tests__/retry.test.js +0 -99
  179. package/dist/helpers/__tests__/retry.test.js.map +0 -1
  180. package/dist/helpers/__tests__/tags.test.d.ts +0 -1
  181. package/dist/helpers/__tests__/tags.test.js +0 -17
  182. package/dist/helpers/__tests__/tags.test.js.map +0 -1
  183. package/dist/helpers/__tests__/upload.test.d.ts +0 -1
  184. package/dist/helpers/__tests__/upload.test.js +0 -185
  185. package/dist/helpers/__tests__/upload.test.js.map +0 -1
  186. package/dist/helpers/__tests__/user-provided-git.test.d.ts +0 -1
  187. package/dist/helpers/__tests__/user-provided-git.test.js +0 -118
  188. package/dist/helpers/__tests__/user-provided-git.test.js.map +0 -1
  189. package/dist/helpers/__tests__/utils.test.d.ts +0 -1
  190. package/dist/helpers/__tests__/utils.test.js +0 -382
  191. package/dist/helpers/__tests__/utils.test.js.map +0 -1
  192. package/dist/helpers/__tests__/validation.test.d.ts +0 -1
  193. package/dist/helpers/__tests__/validation.test.js +0 -21
  194. package/dist/helpers/__tests__/validation.test.js.map +0 -1
  195. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +0 -1
  196. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +0 -106
  197. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +0 -1
  198. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +0 -1
  199. package/dist/helpers/git/__tests__/format-git-span-data.test.js +0 -67
  200. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +0 -1
  201. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +0 -1
  202. package/dist/helpers/git/__tests__/get-git-data.test.js +0 -60
  203. package/dist/helpers/git/__tests__/get-git-data.test.js.map +0 -1
@@ -1,417 +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
- Object.defineProperty(exports, "__esModule", { value: true });
31
- const advanced_1 = require("clipanion/lib/advanced");
32
- const formatGitSourcemapsData = __importStar(require("../../../helpers/git/format-git-sourcemaps-data"));
33
- const utils = __importStar(require("../utils"));
34
- const xcode_1 = require("../xcode");
35
- beforeEach(() => {
36
- delete process.env.CONFIGURATION;
37
- delete process.env.CONFIGURATION_BUILD_DIR;
38
- delete process.env.CURRENT_PROJECT_VERSION;
39
- delete process.env.DATADOG_API_KEY;
40
- delete process.env.EXTRA_PACKAGER_ARGS;
41
- delete process.env.INFOPLIST_FILE;
42
- delete process.env.MARKETING_VERSION;
43
- delete process.env.PODS_PODFILE_DIR_PATH;
44
- delete process.env.PRODUCT_BUNDLE_IDENTIFIER;
45
- delete process.env.PROJECT_DIR;
46
- delete process.env.SERVICE_NAME_IOS;
47
- delete process.env.SOURCEMAP_FILE;
48
- delete process.env.UNLOCALIZED_RESOURCES_FOLDER_PATH;
49
- delete process.env.USE_HERMES;
50
- reactNativeVersionSpy.mockClear();
51
- });
52
- const makeCli = () => {
53
- const cli = new advanced_1.Cli();
54
- cli.register(xcode_1.XCodeCommand);
55
- return cli;
56
- };
57
- const reactNativeVersionSpy = jest.spyOn(utils, 'getReactNativeVersion').mockReturnValue(undefined);
58
- const createMockContext = () => {
59
- let data = '';
60
- let errorData = '';
61
- return {
62
- stderr: {
63
- toString: () => errorData,
64
- write: (input) => {
65
- errorData += input;
66
- },
67
- },
68
- stdout: {
69
- toString: () => data,
70
- write: (input) => {
71
- data += input;
72
- },
73
- },
74
- };
75
- };
76
- const basicEnvironment = {
77
- CONFIGURATION: 'Release',
78
- CONFIGURATION_BUILD_DIR: './src/commands/react-native/__tests__/fixtures/basic-ios',
79
- CURRENT_PROJECT_VERSION: '000020',
80
- MARKETING_VERSION: '0.0.2',
81
- PRODUCT_BUNDLE_IDENTIFIER: 'com.myapp.test',
82
- SOURCEMAP_FILE: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
83
- };
84
- const runCLI = (script, options) => __awaiter(void 0, void 0, void 0, function* () {
85
- const cli = makeCli();
86
- const context = createMockContext();
87
- process.env = Object.assign(Object.assign({}, process.env), { DATADOG_API_KEY: 'PLACEHOLDER' });
88
- const command = ['react-native', 'xcode', script, '--dry-run'];
89
- if (options === null || options === void 0 ? void 0 : options.force) {
90
- command.push('--force');
91
- }
92
- if (options === null || options === void 0 ? void 0 : options.disableGit) {
93
- command.push('--disable-git');
94
- }
95
- if (options === null || options === void 0 ? void 0 : options.configPath) {
96
- command.push('--config', options.configPath);
97
- }
98
- if (options === null || options === void 0 ? void 0 : options.repositoryURL) {
99
- command.push('--repository-url', options.repositoryURL);
100
- }
101
- if (options === null || options === void 0 ? void 0 : options.infoPlistPath) {
102
- command.push('--info-plist-path', options.infoPlistPath);
103
- }
104
- if (options === null || options === void 0 ? void 0 : options.service) {
105
- command.push('--service');
106
- command.push(options.service);
107
- }
108
- if (options === null || options === void 0 ? void 0 : options.composeSourcemapsPath) {
109
- command.push('--compose-sourcemaps-path');
110
- command.push(options.composeSourcemapsPath);
111
- }
112
- const code = yield cli.run(command, context);
113
- return { context, code };
114
- });
115
- describe('xcode', () => {
116
- describe('getBundleLocation', () => {
117
- test('should return the location from CONFIGURATION_BUILD_DIR', () => {
118
- process.env.CONFIGURATION_BUILD_DIR = './src/commands/react-native/__tests__/fixtures/basic-ios';
119
- const command = new xcode_1.XCodeCommand();
120
- expect(command['getBundleLocation']()).toBe('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
121
- });
122
- test('should return null if no CONFIGURATION_BUILD_DIR is specified', () => {
123
- const command = new xcode_1.XCodeCommand();
124
- expect(command['getBundleLocation']()).toBeNull();
125
- });
126
- });
127
- describe('getSourcemapsLocation', () => {
128
- test('should return the location from SOURCEMAP_FILE', () => {
129
- process.env.SOURCEMAP_FILE = './main.jsbundle.map';
130
- const command = new xcode_1.XCodeCommand();
131
- expect(command['getSourcemapsLocation']()).toMatch('./main.jsbundle.map');
132
- });
133
- test('should return the location from EXTRA_PACKAGER_ARGS', () => {
134
- process.env.EXTRA_PACKAGER_ARGS = '--bundle-output ./main.jsbundle --sourcemap-output ./main.jsbundle.map';
135
- const command = new xcode_1.XCodeCommand();
136
- expect(command['getSourcemapsLocation']()).toBe('./main.jsbundle.map');
137
- });
138
- test('should return null if no location is in EXTRA_PACKAGER_ARGS and SOURCEMAP_FILE is undefined', () => {
139
- process.env.EXTRA_PACKAGER_ARGS = '--bundle-output ./main.jsbundle';
140
- const command = new xcode_1.XCodeCommand();
141
- expect(command['getSourcemapsLocation']()).toBeNull();
142
- });
143
- test('should return null if EXTRA_PACKAGER_ARGS and SOURCEMAP_FILE are undefined', () => {
144
- const command = new xcode_1.XCodeCommand();
145
- expect(command['getSourcemapsLocation']()).toBeNull();
146
- });
147
- });
148
- describe('execute', () => {
149
- test('should run the provided script and upload sourcemaps', () => __awaiter(void 0, void 0, void 0, function* () {
150
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
151
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
152
- // Uncomment these lines for debugging failing script
153
- // console.log(context.stdout.toString())
154
- // console.log(context.stderr.toString())
155
- expect(code).toBe(0);
156
- const output = context.stdout.toString();
157
- expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle on platform ios');
158
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
159
- }));
160
- test('should run the provided script, compose and upload sourcemaps when using hermes', () => __awaiter(void 0, void 0, void 0, function* () {
161
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION_BUILD_DIR: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps', UNLOCALIZED_RESOURCES_FOLDER_PATH: 'MyApp.app', USE_HERMES: 'true' });
162
- reactNativeVersionSpy.mockReturnValue('0.69.0');
163
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh', {
164
- composeSourcemapsPath: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps/compose-sourcemaps.js',
165
- });
166
- // Uncomment these lines for debugging failing script
167
- // console.log(context.stdout.toString())
168
- // console.log(context.stderr.toString())
169
- expect(code).toBe(0);
170
- const output = context.stdout.toString();
171
- expect(output).toContain('Hermes detected, composing sourcemaps');
172
- expect(output).toContain('Successfully ran the compose script for ./src/commands/react-native/__tests__/fixtures/compose-sourcemaps/main.jsbundle.map ./src/commands/react-native/__tests__/fixtures/compose-sourcemaps/MyApp.app/main.jsbundle.map ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map');
173
- expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle ./src/commands/react-native/__tests__/fixtures/compose-sourcemaps/main.jsbundle on platform ios');
174
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
175
- }));
176
- test('should set the USE_HERMES env variable for RN 0.70 projects using hermes', () => __awaiter(void 0, void 0, void 0, function* () {
177
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION_BUILD_DIR: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps', UNLOCALIZED_RESOURCES_FOLDER_PATH: 'MyApp.app', PODS_PODFILE_DIR_PATH: './src/commands/react-native/__tests__/fixtures/podfile-lock/with-hermes' });
178
- reactNativeVersionSpy.mockReturnValue('0.70.0');
179
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/echo_env_script.sh', {
180
- composeSourcemapsPath: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps/compose-sourcemaps.js',
181
- });
182
- // Uncomment these lines for debugging failing script
183
- // console.log(context.stdout.toString())
184
- // console.log(context.stderr.toString())
185
- expect(code).toBe(0);
186
- const output = context.stdout.toString();
187
- expect(output).toContain('USE_HERMES=true');
188
- expect(output).toContain('Hermes detected, composing sourcemaps');
189
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
190
- }));
191
- test('should not set the USE_HERMES env variable for RN 0.70 projects not using hermes', () => __awaiter(void 0, void 0, void 0, function* () {
192
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION_BUILD_DIR: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps', UNLOCALIZED_RESOURCES_FOLDER_PATH: 'MyApp.app', PODS_PODFILE_DIR_PATH: './src/commands/react-native/__tests__/fixtures/podfile-lock/without-hermes' });
193
- reactNativeVersionSpy.mockReturnValue('0.70.0');
194
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/echo_env_script.sh', {
195
- composeSourcemapsPath: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps/compose-sourcemaps.js',
196
- });
197
- // Uncomment these lines for debugging failing script
198
- // console.log(context.stdout.toString())
199
- // console.log(context.stderr.toString())
200
- expect(code).toBe(0);
201
- const output = context.stdout.toString();
202
- expect(output).not.toContain('USE_HERMES=true');
203
- expect(output).not.toContain('Hermes detected, composing sourcemaps');
204
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
205
- }));
206
- test('should not compose hermes sourcemaps for RN 0.71 projects', () => __awaiter(void 0, void 0, void 0, function* () {
207
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION_BUILD_DIR: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps', UNLOCALIZED_RESOURCES_FOLDER_PATH: 'MyApp.app', PODS_PODFILE_DIR_PATH: './src/commands/react-native/__tests__/fixtures/podfile-lock/with-hermes' });
208
- reactNativeVersionSpy.mockReturnValue('0.71.0');
209
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/echo_env_script.sh', {
210
- composeSourcemapsPath: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps/compose-sourcemaps.js',
211
- });
212
- // Uncomment these lines for debugging failing script
213
- // console.log(context.stdout.toString())
214
- // console.log(context.stderr.toString())
215
- expect(code).toBe(0);
216
- const output = context.stdout.toString();
217
- expect(output).not.toContain('Hermes detected, composing sourcemaps');
218
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
219
- }));
220
- test('should not compose sourcemaps when using hermes and source maps are not uploaded', () => __awaiter(void 0, void 0, void 0, function* () {
221
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION_BUILD_DIR: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps', UNLOCALIZED_RESOURCES_FOLDER_PATH: 'MyApp.app', USE_HERMES: 'true', CONFIGURATION: 'Debug' });
222
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh', {
223
- composeSourcemapsPath: './src/commands/react-native/__tests__/fixtures/compose-sourcemaps/compose-sourcemaps.js',
224
- });
225
- // Uncomment these lines for debugging failing script
226
- // console.log(context.stdout.toString())
227
- // console.log(context.stderr.toString())
228
- expect(code).toBe(0);
229
- const output = context.stdout.toString();
230
- expect(output).toContain('Build configuration Debug is not Release, skipping sourcemaps upload');
231
- expect(output).not.toContain('Hermes detected, composing sourcemaps');
232
- }));
233
- test('should not bundle nor upload sourcemaps when the build configuration is Debug', () => __awaiter(void 0, void 0, void 0, function* () {
234
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION: 'Debug' });
235
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
236
- // Uncomment these lines for debugging failing script
237
- // console.log(context.stdout.toString())
238
- // console.log(context.stderr.toString())
239
- expect(code).toBe(0);
240
- const output = context.stdout.toString();
241
- expect(output).toContain('Build configuration Debug is not Release, skipping sourcemaps upload');
242
- expect(output).not.toContain('Starting successful script');
243
- }));
244
- test('should run the provided script and upload sourcemaps when the build configuration is Debug with force option', () => __awaiter(void 0, void 0, void 0, function* () {
245
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION: 'Debug' });
246
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh', {
247
- force: true,
248
- });
249
- // Uncomment these lines for debugging failing script
250
- // console.log(context.stdout.toString())
251
- // console.log(context.stderr.toString())
252
- expect(code).toBe(0);
253
- const output = context.stdout.toString();
254
- expect(output).toContain('Force upload for configuration Debug');
255
- expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle on platform ios');
256
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
257
- }));
258
- test('should run the provided script and upload sourcemaps when a custom service is specified', () => __awaiter(void 0, void 0, void 0, function* () {
259
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
260
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh', {
261
- service: 'com.custom',
262
- });
263
- // Uncomment these lines for debugging failing script
264
- // console.log(context.stdout.toString())
265
- // console.log(context.stderr.toString())
266
- expect(code).toBe(0);
267
- const output = context.stdout.toString();
268
- expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle on platform ios');
269
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.custom');
270
- }));
271
- test.each([['PRODUCT_BUNDLE_IDENTIFIER'], ['CONFIGURATION']])('should provide a custom message when %s xcode environment variable is missing', (variable) => __awaiter(void 0, void 0, void 0, function* () {
272
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
273
- delete process.env[variable];
274
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
275
- // Uncomment these lines for debugging failing script
276
- // console.log(context.stdout.toString())
277
- // console.log(context.stderr.toString())
278
- expect(code).toBe(1);
279
- const output = context.stderr.toString();
280
- expect(output).toContain(`Environment variable ${variable} is missing for Datadog sourcemaps upload.`);
281
- }));
282
- test('should provide a clear error message when the release version cannot be found', () => __awaiter(void 0, void 0, void 0, function* () {
283
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
284
- delete process.env.MARKETING_VERSION;
285
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
286
- // Uncomment these lines for debugging failing script
287
- // console.log(context.stdout.toString())
288
- // console.log(context.stderr.toString())
289
- expect(code).toBe(1);
290
- const output = context.stderr.toString();
291
- expect(output).toContain(`Version could not be found.`);
292
- }));
293
- test('should provide a clear error message when the build version cannot be found', () => __awaiter(void 0, void 0, void 0, function* () {
294
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
295
- delete process.env.CURRENT_PROJECT_VERSION;
296
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
297
- // Uncomment these lines for debugging failing script
298
- // console.log(context.stdout.toString())
299
- // console.log(context.stderr.toString())
300
- expect(code).toBe(1);
301
- const output = context.stderr.toString();
302
- expect(output).toContain(`Build version could not be found.`);
303
- }));
304
- test('should get versions from plist file even if env variables are defined', () => __awaiter(void 0, void 0, void 0, function* () {
305
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { PROJECT_DIR: 'src/commands/react-native/__tests__', INFOPLIST_FILE: 'fixtures/info-plist/Info.plist' });
306
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
307
- // Uncomment these lines for debugging failing script
308
- // console.log(context.stdout.toString())
309
- // console.log(context.stderr.toString())
310
- expect(code).toBe(0);
311
- const output = context.stdout.toString();
312
- expect(output).toContain('version: 1.0.4 build: 12');
313
- }));
314
- test('should get versions from plist file through argument if env variables are not defined', () => __awaiter(void 0, void 0, void 0, function* () {
315
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
316
- delete process.env.CURRENT_PROJECT_VERSION;
317
- delete process.env.MARKETING_VERSION;
318
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh', {
319
- infoPlistPath: 'src/commands/react-native/__tests__/fixtures/info-plist/Info.plist',
320
- });
321
- // Uncomment these lines for debugging failing script
322
- // console.log(context.stdout.toString())
323
- // console.log(context.stderr.toString())
324
- expect(code).toBe(0);
325
- const output = context.stdout.toString();
326
- expect(output).toContain('version: 1.0.4 build: 12');
327
- }));
328
- test('should provide a clear error message when the script path is incorrect', () => __awaiter(void 0, void 0, void 0, function* () {
329
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
330
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/non_existent.sh');
331
- // Uncomment these lines for debugging failing script
332
- // console.log(context.stdout.toString())
333
- // console.log(context.stderr.toString())
334
- expect(code).toBe(1);
335
- const output = context.stderr.toString();
336
- expect(output).toContain('Error running bundle script from datadog-ci xcode');
337
- expect(output).toContain('Error: spawn ./src/commands/react-native/__tests__/fixtures/bundle-script/non_existent.sh ENOENT');
338
- }));
339
- test('should forward the error message from the script when the script fails', () => __awaiter(void 0, void 0, void 0, function* () {
340
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
341
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/failing_script.sh');
342
- // Uncomment these lines for debugging failing script
343
- // console.log(context.stdout.toString())
344
- // console.log(context.stderr.toString())
345
- expect(code).toBe(1);
346
- const output = context.stdout.toString();
347
- expect(output).toContain('[bundle script]: Starting failing script');
348
- const errorOutput = context.stderr.toString();
349
- expect(errorOutput).toContain('Error running bundle script from datadog-ci xcode.');
350
- expect(errorOutput).toContain('[bundle script]: Custom error message from script');
351
- }));
352
- test('should provide a clear error message when no bundle file is present', () => __awaiter(void 0, void 0, void 0, function* () {
353
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
354
- delete process.env.CONFIGURATION_BUILD_DIR;
355
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
356
- // Uncomment these lines for debugging failing script
357
- // console.log(context.stdout.toString())
358
- // console.log(context.stderr.toString())
359
- expect(code).toBe(1);
360
- const errorOutput = context.stderr.toString();
361
- expect(errorOutput).toContain('No bundle file output has been specified');
362
- }));
363
- test('should provide a clear error message when no sourcemap file is present', () => __awaiter(void 0, void 0, void 0, function* () {
364
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
365
- delete process.env.SOURCEMAP_FILE;
366
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
367
- // Uncomment these lines for debugging failing script
368
- // console.log(context.stdout.toString())
369
- // console.log(context.stderr.toString())
370
- expect(code).toBe(1);
371
- const errorOutput = context.stderr.toString();
372
- expect(errorOutput).toContain('No sourcemap output has been specified');
373
- }));
374
- test('should provide a clear error message when the upload fails', () => __awaiter(void 0, void 0, void 0, function* () {
375
- process.env = Object.assign(Object.assign(Object.assign({}, process.env), basicEnvironment), { CONFIGURATION_BUILD_DIR: 'src/commands/react-native/__tests__/fixtures/non-existent' });
376
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh');
377
- // Uncomment these lines for debugging failing script
378
- // console.log(context.stdout.toString())
379
- // console.log(context.stderr.toString())
380
- expect(code).not.toBe(0);
381
- const output = context.stdout.toString();
382
- expect(output).toContain('Missing bundle file (src/commands/react-native/__tests__/fixtures/non-existent/main.jsbundle)');
383
- }));
384
- test('should forward arguments to upload command', () => __awaiter(void 0, void 0, void 0, function* () {
385
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
386
- const getRepositoryDataSpy = jest.spyOn(formatGitSourcemapsData, 'getRepositoryData');
387
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh', {
388
- configPath: './src/commands/react-native/__tests__/fixtures/config/config-with-api-key.json',
389
- repositoryURL: 'https://example.com',
390
- });
391
- // Uncomment these lines for debugging failing script
392
- // console.log(context.stdout.toString())
393
- // console.log(context.stderr.toString())
394
- expect(code).toBe(0);
395
- const output = context.stdout.toString();
396
- expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle on platform ios');
397
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
398
- expect(getRepositoryDataSpy).toHaveBeenCalledWith(expect.anything(), 'https://example.com');
399
- }));
400
- test('should disable git in upload command', () => __awaiter(void 0, void 0, void 0, function* () {
401
- process.env = Object.assign(Object.assign({}, process.env), basicEnvironment);
402
- const getRepositoryDataSpy = jest.spyOn(formatGitSourcemapsData, 'getRepositoryData');
403
- const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/bundle-script/successful_script.sh', {
404
- disableGit: true,
405
- });
406
- // Uncomment these lines for debugging failing script
407
- // console.log(context.stdout.toString())
408
- // console.log(context.stderr.toString())
409
- expect(code).toBe(0);
410
- const output = context.stdout.toString();
411
- expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle on platform ios');
412
- expect(output).toContain('version: 0.0.2 build: 000020 service: com.myapp.test');
413
- expect(getRepositoryDataSpy).not.toHaveBeenCalled();
414
- }));
415
- });
416
- });
417
- //# sourceMappingURL=xcode.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xcode.test.js","sourceRoot":"","sources":["../../../../src/commands/react-native/__tests__/xcode.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};