@datadog/datadog-ci 1.8.0 → 1.9.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.
- package/dist/commands/dsyms/interfaces.d.ts +1 -0
- package/dist/commands/dsyms/interfaces.js +15 -4
- package/dist/commands/dsyms/interfaces.js.map +1 -1
- package/dist/commands/git-metadata/interfaces.d.ts +1 -0
- package/dist/commands/git-metadata/interfaces.js +15 -4
- package/dist/commands/git-metadata/interfaces.js.map +1 -1
- package/dist/commands/junit/__tests__/upload.test.js +15 -25
- package/dist/commands/junit/__tests__/upload.test.js.map +1 -1
- package/dist/commands/junit/renderer.d.ts +2 -1
- package/dist/commands/junit/renderer.js +19 -1
- package/dist/commands/junit/renderer.js.map +1 -1
- package/dist/commands/junit/upload.d.ts +1 -0
- package/dist/commands/junit/upload.js +15 -10
- package/dist/commands/junit/upload.js.map +1 -1
- package/dist/commands/junit/utils.d.ts +4 -0
- package/dist/commands/junit/utils.js +45 -1
- package/dist/commands/junit/utils.js.map +1 -1
- package/dist/commands/{sourcemaps/__tests__/git.test.d.ts → react-native/__tests__/interfaces.test.d.ts} +0 -0
- package/dist/commands/react-native/__tests__/interfaces.test.js +27 -0
- package/dist/commands/react-native/__tests__/interfaces.test.js.map +1 -0
- package/dist/{helpers/__tests__/git.test.d.ts → commands/react-native/__tests__/upload.test.d.ts} +0 -0
- package/dist/commands/react-native/__tests__/upload.test.js +153 -0
- package/dist/commands/react-native/__tests__/upload.test.js.map +1 -0
- package/dist/commands/react-native/cli.d.ts +1 -0
- package/dist/commands/react-native/cli.js +5 -0
- package/dist/commands/react-native/cli.js.map +1 -0
- package/dist/commands/react-native/interfaces.d.ts +19 -0
- package/dist/commands/react-native/interfaces.js +70 -0
- package/dist/commands/react-native/interfaces.js.map +1 -0
- package/dist/commands/react-native/renderer.d.ts +18 -0
- package/dist/commands/react-native/renderer.js +95 -0
- package/dist/commands/react-native/renderer.js.map +1 -0
- package/dist/commands/react-native/upload.d.ts +25 -0
- package/dist/commands/react-native/upload.js +260 -0
- package/dist/commands/react-native/upload.js.map +1 -0
- package/dist/commands/react-native/validation.d.ts +6 -0
- package/dist/commands/react-native/validation.js +32 -0
- package/dist/commands/react-native/validation.js.map +1 -0
- package/dist/commands/sourcemaps/interfaces.d.ts +1 -0
- package/dist/commands/sourcemaps/interfaces.js +32 -20
- package/dist/commands/sourcemaps/interfaces.js.map +1 -1
- package/dist/commands/sourcemaps/renderer.js +1 -1
- package/dist/commands/sourcemaps/renderer.js.map +1 -1
- package/dist/commands/sourcemaps/upload.js +20 -14
- package/dist/commands/sourcemaps/upload.js.map +1 -1
- package/dist/commands/sourcemaps/utils.d.ts +0 -2
- package/dist/commands/sourcemaps/utils.js +1 -18
- package/dist/commands/sourcemaps/utils.js.map +1 -1
- package/dist/commands/sourcemaps/validation.js +3 -22
- package/dist/commands/sourcemaps/validation.js.map +1 -1
- package/dist/commands/trace/api.js +2 -2
- package/dist/commands/trace/api.js.map +1 -1
- package/dist/helpers/base-intake-url.d.ts +1 -0
- package/dist/helpers/base-intake-url.js +14 -0
- package/dist/helpers/base-intake-url.js.map +1 -0
- package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +1 -0
- package/dist/{commands/sourcemaps/__tests__/git.test.js → helpers/git/__tests__/format-git-sourcemaps-data.test.js} +15 -71
- package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +1 -0
- package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +1 -0
- package/dist/helpers/{__tests__/git.test.js → git/__tests__/format-git-span-data.test.js} +5 -5
- package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +1 -0
- package/dist/helpers/git/__tests__/get-git-data.test.d.ts +1 -0
- package/dist/helpers/git/__tests__/get-git-data.test.js +60 -0
- package/dist/helpers/git/__tests__/get-git-data.test.js.map +1 -0
- package/dist/{commands/sourcemaps/git.d.ts → helpers/git/format-git-sourcemaps-data.d.ts} +2 -7
- package/dist/{commands/sourcemaps/git.js → helpers/git/format-git-sourcemaps-data.js} +9 -48
- package/dist/helpers/git/format-git-sourcemaps-data.js.map +1 -0
- package/dist/helpers/{git.d.ts → git/format-git-span-data.d.ts} +1 -1
- package/dist/helpers/{git.js → git/format-git-span-data.js} +8 -7
- package/dist/helpers/git/format-git-span-data.js.map +1 -0
- package/dist/helpers/git/get-git-data.d.ts +10 -0
- package/dist/helpers/git/get-git-data.js +60 -0
- package/dist/helpers/git/get-git-data.js.map +1 -0
- package/dist/helpers/metrics.js +0 -1
- package/dist/helpers/metrics.js.map +1 -1
- package/dist/helpers/utils.d.ts +1 -0
- package/dist/helpers/utils.js +8 -1
- package/dist/helpers/utils.js.map +1 -1
- package/dist/helpers/validation.d.ts +4 -0
- package/dist/helpers/validation.js +25 -0
- package/dist/helpers/validation.js.map +1 -0
- package/package.json +2 -2
- package/dist/commands/sourcemaps/__tests__/git.test.js.map +0 -1
- package/dist/commands/sourcemaps/git.js.map +0 -1
- package/dist/helpers/__tests__/git.test.js.map +0 -1
- package/dist/helpers/git.js.map +0 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
// tslint:disable: no-string-literal
|
|
16
|
+
const os_1 = __importDefault(require("os"));
|
|
17
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
18
|
+
const advanced_1 = require("clipanion/lib/advanced");
|
|
19
|
+
const interfaces_1 = require("../interfaces");
|
|
20
|
+
const upload_1 = require("../upload");
|
|
21
|
+
describe('upload', () => {
|
|
22
|
+
describe('getApiHelper', () => {
|
|
23
|
+
test('should throw an error if API key is undefined', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
process.env = {};
|
|
25
|
+
const command = new upload_1.UploadCommand();
|
|
26
|
+
expect(command['getRequestBuilder'].bind(command)).toThrow(`Missing ${chalk_1.default.bold('DATADOG_API_KEY')} in your environment.`);
|
|
27
|
+
}));
|
|
28
|
+
});
|
|
29
|
+
describe('addRepositoryDataToPayloads', () => {
|
|
30
|
+
test('repository url and commit still defined without payload', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
+
const command = new upload_1.UploadCommand();
|
|
32
|
+
const write = jest.fn();
|
|
33
|
+
command.context = { stdout: { write } };
|
|
34
|
+
const sourcemaps = new Array(new interfaces_1.RNSourcemap('src/commands/react-native/__tests__/fixtures/sourcemap-with-no-files/empty.min.js', 'src/commands/react-native/__tests__/fixtures/sourcemap-with-no-files/empty.min.js.map'));
|
|
35
|
+
// The command will fetch git metadatas for the current datadog-ci repository.
|
|
36
|
+
// The `empty.min.js.map` contains no files, therefore no file payload should be set.
|
|
37
|
+
yield command['addRepositoryDataToPayloads'](sourcemaps);
|
|
38
|
+
expect(sourcemaps[0].gitData).toBeDefined();
|
|
39
|
+
expect(sourcemaps[0].gitData.gitRepositoryURL).toBeDefined();
|
|
40
|
+
expect(sourcemaps[0].gitData.gitCommitSha).toHaveLength(40);
|
|
41
|
+
expect(sourcemaps[0].gitData.gitRepositoryPayload).toBeUndefined();
|
|
42
|
+
}));
|
|
43
|
+
test('should include payload', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
const command = new upload_1.UploadCommand();
|
|
45
|
+
const write = jest.fn();
|
|
46
|
+
command.context = { stdout: { write } };
|
|
47
|
+
const sourcemaps = new Array(new interfaces_1.RNSourcemap('src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle', 'src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'));
|
|
48
|
+
// The command will fetch git metadatas for the current datadog-ci repository.
|
|
49
|
+
// The `main.jsbundle.map` contains the "git.test.ts" filename which matches a tracked filename,
|
|
50
|
+
// therefore a file payload should be set.
|
|
51
|
+
// Removing the "git.test.ts" file will break this test.
|
|
52
|
+
yield command['addRepositoryDataToPayloads'](sourcemaps);
|
|
53
|
+
expect(sourcemaps[0].gitData).toBeDefined();
|
|
54
|
+
expect(sourcemaps[0].gitData.gitRepositoryURL).toBeDefined();
|
|
55
|
+
expect(sourcemaps[0].gitData.gitCommitSha).toHaveLength(40);
|
|
56
|
+
expect(sourcemaps[0].gitData.gitRepositoryPayload).toBeDefined();
|
|
57
|
+
}));
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('execute', () => {
|
|
61
|
+
const runCLI = (bundle) => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
+
const cli = makeCli();
|
|
63
|
+
const context = createMockContext();
|
|
64
|
+
process.env = { DATADOG_API_KEY: 'PLACEHOLDER' };
|
|
65
|
+
const code = yield cli.run([
|
|
66
|
+
'react-native',
|
|
67
|
+
'upload',
|
|
68
|
+
'--release-version',
|
|
69
|
+
'1.23.4',
|
|
70
|
+
'--build-version',
|
|
71
|
+
'1023040',
|
|
72
|
+
'--service',
|
|
73
|
+
'com.company.app',
|
|
74
|
+
'--bundle',
|
|
75
|
+
bundle,
|
|
76
|
+
'--sourcemap',
|
|
77
|
+
`${bundle}.map`,
|
|
78
|
+
'--platform',
|
|
79
|
+
'android',
|
|
80
|
+
'--dry-run',
|
|
81
|
+
], context);
|
|
82
|
+
return { context, code };
|
|
83
|
+
});
|
|
84
|
+
test('relative path', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
85
|
+
const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
|
|
86
|
+
const output = context.stdout.toString().split(os_1.default.EOL);
|
|
87
|
+
expect(code).toBe(0);
|
|
88
|
+
checkConsoleOutput(output, {
|
|
89
|
+
build: '1023040',
|
|
90
|
+
bundlePath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle',
|
|
91
|
+
concurrency: 20,
|
|
92
|
+
jsFilesURLs: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle'],
|
|
93
|
+
platform: 'android',
|
|
94
|
+
projectPath: '',
|
|
95
|
+
service: 'com.company.app',
|
|
96
|
+
sourcemapPath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
|
|
97
|
+
sourcemapsPaths: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'],
|
|
98
|
+
version: '1.23.4',
|
|
99
|
+
});
|
|
100
|
+
}));
|
|
101
|
+
test('absolute path', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
|
+
const { context, code } = yield runCLI(process.cwd() + '/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
|
|
103
|
+
const output = context.stdout.toString().split(os_1.default.EOL);
|
|
104
|
+
expect(code).toBe(0);
|
|
105
|
+
checkConsoleOutput(output, {
|
|
106
|
+
build: '1023040',
|
|
107
|
+
bundlePath: `${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle`,
|
|
108
|
+
concurrency: 20,
|
|
109
|
+
jsFilesURLs: [`${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle`],
|
|
110
|
+
platform: 'android',
|
|
111
|
+
projectPath: '',
|
|
112
|
+
service: 'com.company.app',
|
|
113
|
+
sourcemapPath: `${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map`,
|
|
114
|
+
sourcemapsPaths: [`${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map`],
|
|
115
|
+
version: '1.23.4',
|
|
116
|
+
});
|
|
117
|
+
}));
|
|
118
|
+
});
|
|
119
|
+
const makeCli = () => {
|
|
120
|
+
const cli = new advanced_1.Cli();
|
|
121
|
+
cli.register(upload_1.UploadCommand);
|
|
122
|
+
return cli;
|
|
123
|
+
};
|
|
124
|
+
const createMockContext = () => {
|
|
125
|
+
let data = '';
|
|
126
|
+
return {
|
|
127
|
+
stdout: {
|
|
128
|
+
toString: () => data,
|
|
129
|
+
write: (input) => {
|
|
130
|
+
data += input;
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
const checkConsoleOutput = (output, expected) => {
|
|
136
|
+
expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD SOURCEMAPS');
|
|
137
|
+
expect(output[1]).toContain('Starting upload.');
|
|
138
|
+
expect(output[2]).toContain(`Upload of ${expected.sourcemapPath} for bundle ${expected.bundlePath} on platform ${expected.platform} with project path ${expected.projectPath}`);
|
|
139
|
+
expect(output[3]).toContain(`version: ${expected.version} build: ${expected.build} service: ${expected.service}`);
|
|
140
|
+
const uploadedFileLines = output.slice(4, -4);
|
|
141
|
+
expect(uploadedFileLines.length).toEqual(expected.sourcemapsPaths.length); // Safety check
|
|
142
|
+
expect(uploadedFileLines.length).toEqual(expected.jsFilesURLs.length); // Safety check
|
|
143
|
+
uploadedFileLines.forEach((_, index) => {
|
|
144
|
+
expect(uploadedFileLines[index]).toContain(`[DRYRUN] Uploading sourcemap ${expected.sourcemapsPaths} for JS file available at ${expected.jsFilesURLs}`);
|
|
145
|
+
});
|
|
146
|
+
if (uploadedFileLines.length > 1) {
|
|
147
|
+
expect(output.slice(-2, -1)[0]).toContain(`[DRYRUN] Handled ${uploadedFileLines.length} sourcemaps with success`);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
expect(output.slice(-2, -1)[0]).toContain(`[DRYRUN] Handled ${uploadedFileLines.length} sourcemap with success`);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=upload.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.test.js","sourceRoot":"","sources":["../../../../src/commands/react-native/__tests__/upload.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/react-native/cli.ts"],"names":[],"mappings":";;AAAA,qCAAsC;AAEtC,MAAM,CAAC,OAAO,GAAG,CAAC,sBAAa,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MultipartPayload } from '../../helpers/upload';
|
|
2
|
+
export declare class RNSourcemap {
|
|
3
|
+
bundleName: string;
|
|
4
|
+
bundlePath: string;
|
|
5
|
+
gitData?: GitData;
|
|
6
|
+
sourcemapPath: string;
|
|
7
|
+
constructor(bundlePath: string, sourcemapPath: string, bundleName?: string);
|
|
8
|
+
addRepositoryData(gitData: GitData): void;
|
|
9
|
+
asMultipartPayload(cliVersion: string, service: string, version: string, projectPath: string, platform: RNPlatform, build: string): MultipartPayload;
|
|
10
|
+
private getBundleName;
|
|
11
|
+
private getMetadataPayload;
|
|
12
|
+
}
|
|
13
|
+
export interface GitData {
|
|
14
|
+
gitCommitSha: string;
|
|
15
|
+
gitRepositoryPayload?: string;
|
|
16
|
+
gitRepositoryURL: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const RN_SUPPORTED_PLATFORMS: readonly ["ios", "android"];
|
|
19
|
+
export declare type RNPlatform = typeof RN_SUPPORTED_PLATFORMS[number];
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RN_SUPPORTED_PLATFORMS = exports.RNSourcemap = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
class RNSourcemap {
|
|
9
|
+
constructor(bundlePath, sourcemapPath, bundleName) {
|
|
10
|
+
this.bundleName = this.getBundleName(bundlePath, bundleName);
|
|
11
|
+
this.bundlePath = bundlePath;
|
|
12
|
+
this.sourcemapPath = sourcemapPath;
|
|
13
|
+
}
|
|
14
|
+
addRepositoryData(gitData) {
|
|
15
|
+
this.gitData = gitData;
|
|
16
|
+
}
|
|
17
|
+
asMultipartPayload(cliVersion, service, version, projectPath, platform, build) {
|
|
18
|
+
const content = new Map([
|
|
19
|
+
['event', this.getMetadataPayload(cliVersion, service, version, projectPath, platform, build)],
|
|
20
|
+
['source_map', { value: fs_1.default.createReadStream(this.sourcemapPath), options: { filename: 'source_map' } }],
|
|
21
|
+
['minified_file', { value: fs_1.default.createReadStream(this.bundlePath), options: { filename: 'minified_file' } }],
|
|
22
|
+
]);
|
|
23
|
+
if (this.gitData !== undefined && this.gitData.gitRepositoryPayload !== undefined) {
|
|
24
|
+
content.set('repository', {
|
|
25
|
+
options: {
|
|
26
|
+
contentType: 'application/json',
|
|
27
|
+
filename: 'repository',
|
|
28
|
+
},
|
|
29
|
+
value: this.gitData.gitRepositoryPayload,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
content,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
getBundleName(bundlePath, bundleName) {
|
|
37
|
+
if (bundleName) {
|
|
38
|
+
return bundleName;
|
|
39
|
+
}
|
|
40
|
+
// We return the name of the file on the disk if no bundleName is returned
|
|
41
|
+
const splitPath = bundlePath.split('/');
|
|
42
|
+
return splitPath[splitPath.length - 1];
|
|
43
|
+
}
|
|
44
|
+
getMetadataPayload(cliVersion, service, version, projectPath, platform, build) {
|
|
45
|
+
const metadata = {
|
|
46
|
+
build_number: build,
|
|
47
|
+
bundle_name: this.bundleName,
|
|
48
|
+
cli_version: cliVersion,
|
|
49
|
+
platform,
|
|
50
|
+
project_path: projectPath,
|
|
51
|
+
service,
|
|
52
|
+
type: 'react_native_sourcemap',
|
|
53
|
+
version,
|
|
54
|
+
};
|
|
55
|
+
if (this.gitData !== undefined) {
|
|
56
|
+
metadata.git_repository_url = this.gitData.gitRepositoryURL;
|
|
57
|
+
metadata.git_commit_sha = this.gitData.gitCommitSha;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
options: {
|
|
61
|
+
contentType: 'application/json',
|
|
62
|
+
filename: 'event',
|
|
63
|
+
},
|
|
64
|
+
value: JSON.stringify(metadata),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.RNSourcemap = RNSourcemap;
|
|
69
|
+
exports.RN_SUPPORTED_PLATFORMS = ['ios', 'android'];
|
|
70
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/react-native/interfaces.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAInB,MAAa,WAAW;IAMtB,YAAY,UAAkB,EAAE,aAAqB,EAAE,UAAmB;QACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAEM,iBAAiB,CAAC,OAAgB;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,kBAAkB,CACvB,UAAkB,EAClB,OAAe,EACf,OAAe,EACf,WAAmB,EACnB,QAAoB,EACpB,KAAa;QAEb,MAAM,OAAO,GAAG,IAAI,GAAG,CAAyB;YAC9C,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9F,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,YAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,YAAY,EAAC,EAAC,CAAC;YACnG,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,YAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,eAAe,EAAC,EAAC,CAAC;SACvG,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;YAClF,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;gBACxB,OAAO,EAAE;oBACP,WAAW,EAAE,kBAAkB;oBAC/B,QAAQ,EAAE,YAAY;iBACvB;gBACD,KAAK,EAAE,IAAI,CAAC,OAAQ,CAAC,oBAAoB;aAC1C,CAAC,CAAA;SACH;QAED,OAAO;YACL,OAAO;SACR,CAAA;IACH,CAAC;IAEO,aAAa,CAAC,UAAkB,EAAE,UAAmB;QAC3D,IAAI,UAAU,EAAE;YACd,OAAO,UAAU,CAAA;SAClB;QAED,0EAA0E;QAC1E,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvC,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC;IAEO,kBAAkB,CACxB,UAAkB,EAClB,OAAe,EACf,OAAe,EACf,WAAmB,EACnB,QAAoB,EACpB,KAAa;QAEb,MAAM,QAAQ,GAAuB;YACnC,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,WAAW,EAAE,UAAU;YACvB,QAAQ;YACR,YAAY,EAAE,WAAW;YACzB,OAAO;YACP,IAAI,EAAE,wBAAwB;YAC9B,OAAO;SACR,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAA;YAC3D,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAA;SACpD;QAED,OAAO;YACL,OAAO,EAAE;gBACP,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,OAAO;aAClB;YACD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SAChC,CAAA;IACH,CAAC;CACF;AAtFD,kCAsFC;AAQY,QAAA,sBAAsB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAU,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { UploadStatus } from '../../helpers/upload';
|
|
2
|
+
import { RNSourcemap } from './interfaces';
|
|
3
|
+
export declare const renderGitWarning: (errorMessage: string) => string;
|
|
4
|
+
export declare const renderGitDataNotAttachedWarning: (sourcemap: string, errorMessage: string) => string;
|
|
5
|
+
export declare const renderSourcesNotFoundWarning: (sourcemap: string) => string;
|
|
6
|
+
export declare const renderConfigurationError: (error: Error) => string;
|
|
7
|
+
export declare const renderFailedUpload: (sourcemap: RNSourcemap, errorMessage: string) => string;
|
|
8
|
+
export declare const renderRetriedUpload: (payload: RNSourcemap, errorMessage: string, attempt: number) => string;
|
|
9
|
+
/**
|
|
10
|
+
* As of now, this command takes an array of one signe UploadStatus element since we only support upload
|
|
11
|
+
* of a single sourcemap.
|
|
12
|
+
* We considered it was preferable to leave it this way so it's ready for multiple sourcemaps uploads,
|
|
13
|
+
* rather than investing into adapting it for this purpose.
|
|
14
|
+
* This comment should be removed once the multiple file upload is available.
|
|
15
|
+
*/
|
|
16
|
+
export declare const renderSuccessfulCommand: (statuses: UploadStatus[], duration: number, dryRun: boolean) => string;
|
|
17
|
+
export declare const renderCommandInfo: (bundlePath: string, sourcemapPath: string, platform: string, releaseVersion: string, service: string, poolLimit: number, dryRun: boolean, projectPath: string, buildVersion: string) => string;
|
|
18
|
+
export declare const renderUpload: (sourcemap: RNSourcemap) => string;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.renderUpload = exports.renderCommandInfo = exports.renderSuccessfulCommand = exports.renderRetriedUpload = exports.renderFailedUpload = exports.renderConfigurationError = exports.renderSourcesNotFoundWarning = exports.renderGitDataNotAttachedWarning = exports.renderGitWarning = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const formatting_1 = require("../../helpers/formatting");
|
|
9
|
+
const upload_1 = require("../../helpers/upload");
|
|
10
|
+
const utils_1 = require("../../helpers/utils");
|
|
11
|
+
const renderGitWarning = (errorMessage) => chalk_1.default.yellow(`${formatting_1.ICONS.WARNING} An error occured while invoking git: ${errorMessage}
|
|
12
|
+
Make sure the command is running within your git repository to fully leverage Datadog's git integration.
|
|
13
|
+
To ignore this warning use the --disable-git flag.\n`);
|
|
14
|
+
exports.renderGitWarning = renderGitWarning;
|
|
15
|
+
const renderGitDataNotAttachedWarning = (sourcemap, errorMessage) => chalk_1.default.yellow(`${formatting_1.ICONS.WARNING} Could not attach git data for sourcemap ${sourcemap}: ${errorMessage}\n`);
|
|
16
|
+
exports.renderGitDataNotAttachedWarning = renderGitDataNotAttachedWarning;
|
|
17
|
+
const renderSourcesNotFoundWarning = (sourcemap) => chalk_1.default.yellow(`${formatting_1.ICONS.WARNING} No tracked files found for sources contained in ${sourcemap}\n`);
|
|
18
|
+
exports.renderSourcesNotFoundWarning = renderSourcesNotFoundWarning;
|
|
19
|
+
const renderConfigurationError = (error) => chalk_1.default.red(`${formatting_1.ICONS.FAILED} Configuration error: ${error}.\n`);
|
|
20
|
+
exports.renderConfigurationError = renderConfigurationError;
|
|
21
|
+
const renderFailedUpload = (sourcemap, errorMessage) => {
|
|
22
|
+
const sourcemapPathBold = `[${chalk_1.default.bold.dim(sourcemap.sourcemapPath)}]`;
|
|
23
|
+
return chalk_1.default.red(`${formatting_1.ICONS.FAILED} Failed upload sourcemap for ${sourcemapPathBold}: ${errorMessage}\n`);
|
|
24
|
+
};
|
|
25
|
+
exports.renderFailedUpload = renderFailedUpload;
|
|
26
|
+
const renderRetriedUpload = (payload, errorMessage, attempt) => {
|
|
27
|
+
const sourcemapPathBold = `[${chalk_1.default.bold.dim(payload.sourcemapPath)}]`;
|
|
28
|
+
return chalk_1.default.yellow(`[attempt ${attempt}] Retrying sourcemap upload ${sourcemapPathBold}: ${errorMessage}\n`);
|
|
29
|
+
};
|
|
30
|
+
exports.renderRetriedUpload = renderRetriedUpload;
|
|
31
|
+
/**
|
|
32
|
+
* As of now, this command takes an array of one signe UploadStatus element since we only support upload
|
|
33
|
+
* of a single sourcemap.
|
|
34
|
+
* We considered it was preferable to leave it this way so it's ready for multiple sourcemaps uploads,
|
|
35
|
+
* rather than investing into adapting it for this purpose.
|
|
36
|
+
* This comment should be removed once the multiple file upload is available.
|
|
37
|
+
*/
|
|
38
|
+
const renderSuccessfulCommand = (statuses, duration, dryRun) => {
|
|
39
|
+
const results = new Map();
|
|
40
|
+
statuses.forEach((status) => {
|
|
41
|
+
if (!results.has(status)) {
|
|
42
|
+
results.set(status, 0);
|
|
43
|
+
}
|
|
44
|
+
results.set(status, results.get(status) + 1);
|
|
45
|
+
});
|
|
46
|
+
const output = ['', chalk_1.default.bold('Command summary:')];
|
|
47
|
+
if (results.get(upload_1.UploadStatus.Failure)) {
|
|
48
|
+
output.push(chalk_1.default.red(`${formatting_1.ICONS.FAILED} Some sourcemaps have not been uploaded correctly.`));
|
|
49
|
+
}
|
|
50
|
+
else if (results.get(upload_1.UploadStatus.Skipped)) {
|
|
51
|
+
output.push(chalk_1.default.yellow(`${formatting_1.ICONS.WARNING} Some sourcemaps have been skipped.`));
|
|
52
|
+
}
|
|
53
|
+
else if (results.get(upload_1.UploadStatus.Success)) {
|
|
54
|
+
if (dryRun) {
|
|
55
|
+
output.push(chalk_1.default.green(`${formatting_1.ICONS.SUCCESS} [DRYRUN] Handled ${utils_1.pluralize(results.get(upload_1.UploadStatus.Success), 'sourcemap', 'sourcemaps')} with success in ${duration} seconds.`));
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
output.push(chalk_1.default.green(`${formatting_1.ICONS.SUCCESS} Uploaded ${utils_1.pluralize(results.get(upload_1.UploadStatus.Success), 'sourcemap', 'sourcemaps')} in ${duration} seconds.`));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
output.push(chalk_1.default.yellow(`${formatting_1.ICONS.WARNING} No sourcemaps detected. Did you specify the correct path?`));
|
|
63
|
+
}
|
|
64
|
+
if (results.get(upload_1.UploadStatus.Failure) || results.get(upload_1.UploadStatus.Skipped)) {
|
|
65
|
+
output.push(`Details about the ${utils_1.pluralize(statuses.length, 'found sourcemap', 'found sourcemaps')}:`);
|
|
66
|
+
if (results.get(upload_1.UploadStatus.Success)) {
|
|
67
|
+
output.push(` * ${utils_1.pluralize(results.get(upload_1.UploadStatus.Success), 'sourcemap', 'sourcemaps')} successfully uploaded`);
|
|
68
|
+
}
|
|
69
|
+
if (results.get(upload_1.UploadStatus.Skipped)) {
|
|
70
|
+
output.push(chalk_1.default.yellow(` * ${utils_1.pluralize(results.get(upload_1.UploadStatus.Skipped), 'sourcemap was', 'sourcemaps were')} skipped`));
|
|
71
|
+
}
|
|
72
|
+
if (results.get(upload_1.UploadStatus.Failure)) {
|
|
73
|
+
output.push(chalk_1.default.red(` * ${utils_1.pluralize(results.get(upload_1.UploadStatus.Failure), 'sourcemap', 'sourcemaps')} failed to upload`));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return output.join('\n') + '\n';
|
|
77
|
+
};
|
|
78
|
+
exports.renderSuccessfulCommand = renderSuccessfulCommand;
|
|
79
|
+
const renderCommandInfo = (bundlePath, sourcemapPath, platform, releaseVersion, service, poolLimit, dryRun, projectPath, buildVersion) => {
|
|
80
|
+
let fullStr = '';
|
|
81
|
+
if (dryRun) {
|
|
82
|
+
fullStr += chalk_1.default.yellow(`${formatting_1.ICONS.WARNING} DRY-RUN MODE ENABLED. WILL NOT UPLOAD SOURCEMAPS\n`);
|
|
83
|
+
}
|
|
84
|
+
const startStr = chalk_1.default.green('Starting upload. \n');
|
|
85
|
+
fullStr += startStr;
|
|
86
|
+
const basePathStr = chalk_1.default.green(`Upload of ${sourcemapPath} for bundle ${bundlePath} on platform ${platform} with project path ${projectPath}\n`);
|
|
87
|
+
fullStr += basePathStr;
|
|
88
|
+
const serviceVersionProjectPathStr = chalk_1.default.green(`version: ${releaseVersion} build: ${buildVersion} service: ${service}\n`);
|
|
89
|
+
fullStr += serviceVersionProjectPathStr;
|
|
90
|
+
return fullStr;
|
|
91
|
+
};
|
|
92
|
+
exports.renderCommandInfo = renderCommandInfo;
|
|
93
|
+
const renderUpload = (sourcemap) => `Uploading sourcemap ${sourcemap.sourcemapPath} for JS file available at ${sourcemap.bundlePath}\n`;
|
|
94
|
+
exports.renderUpload = renderUpload;
|
|
95
|
+
//# sourceMappingURL=renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/commands/react-native/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command } from 'clipanion';
|
|
2
|
+
export declare class UploadCommand extends Command {
|
|
3
|
+
static usage: import("clipanion").Usage;
|
|
4
|
+
private buildVersion?;
|
|
5
|
+
private bundle?;
|
|
6
|
+
private cliVersion;
|
|
7
|
+
private config;
|
|
8
|
+
private disableGit?;
|
|
9
|
+
private dryRun;
|
|
10
|
+
private maxConcurrency;
|
|
11
|
+
private platform?;
|
|
12
|
+
private projectPath;
|
|
13
|
+
private releaseVersion?;
|
|
14
|
+
private repositoryURL?;
|
|
15
|
+
private service?;
|
|
16
|
+
private sourcemap?;
|
|
17
|
+
constructor();
|
|
18
|
+
execute(): Promise<1 | 0>;
|
|
19
|
+
private addRepositoryDataToPayloads;
|
|
20
|
+
private getMatchingRNSourcemapFiles;
|
|
21
|
+
private getPayloadsToUpload;
|
|
22
|
+
private getRepositoryPayload;
|
|
23
|
+
private getRequestBuilder;
|
|
24
|
+
private upload;
|
|
25
|
+
}
|