dev(sourcemap-uploader): upgrade lint dependencies
This commit is contained in:
parent
afaab71bf4
commit
7819d4b921
8 changed files with 535 additions and 537 deletions
|
|
@ -8,7 +8,9 @@
|
||||||
"module": true,
|
"module": true,
|
||||||
"console": true,
|
"console": true,
|
||||||
"Promise": true,
|
"Promise": true,
|
||||||
"Buffer": true
|
"Buffer": true,
|
||||||
|
"URL": true,
|
||||||
|
"global": true
|
||||||
},
|
},
|
||||||
"plugins": [
|
"plugins": [
|
||||||
"prettier"
|
"prettier"
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@ parser.addArgument(['-k', '--api-key'], {
|
||||||
help: 'API key',
|
help: 'API key',
|
||||||
required: true,
|
required: true,
|
||||||
});
|
});
|
||||||
parser.addArgument(['-p', '-i', '--project-key'], { // -i is depricated
|
parser.addArgument(['-p', '-i', '--project-key'], {
|
||||||
|
// -i is depricated
|
||||||
help: 'Project Key',
|
help: 'Project Key',
|
||||||
required: true,
|
required: true,
|
||||||
});
|
});
|
||||||
|
|
@ -54,19 +55,34 @@ dir.addArgument(['-u', '--js-dir-url'], {
|
||||||
|
|
||||||
// TODO: exclude in dir
|
// TODO: exclude in dir
|
||||||
|
|
||||||
const { command, api_key, project_key, server, verbose, ...args } = parser.parseArgs();
|
const { command, api_key, project_key, server, verbose, ...args } =
|
||||||
|
parser.parseArgs();
|
||||||
|
|
||||||
global._VERBOSE = !!verbose;
|
global._VERBOSE = !!verbose;
|
||||||
|
|
||||||
(command === 'file'
|
(command === 'file'
|
||||||
? uploadFile(api_key, project_key, args.sourcemap_file_path, args.js_file_url, server)
|
? uploadFile(
|
||||||
: uploadDir(api_key, project_key, args.sourcemap_dir_path, args.js_dir_url, server)
|
api_key,
|
||||||
|
project_key,
|
||||||
|
args.sourcemap_file_path,
|
||||||
|
args.js_file_url,
|
||||||
|
server,
|
||||||
|
)
|
||||||
|
: uploadDir(
|
||||||
|
api_key,
|
||||||
|
project_key,
|
||||||
|
args.sourcemap_dir_path,
|
||||||
|
args.js_dir_url,
|
||||||
|
server,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
.then((sourceFiles) =>
|
.then((sourceFiles) =>
|
||||||
sourceFiles.length > 0
|
sourceFiles.length > 0
|
||||||
? console.log(`Successfully uploaded ${sourceFiles.length} sourcemap file${sourceFiles.length > 1 ? "s" : ""} for: \n`
|
? console.log(
|
||||||
+ sourceFiles.join("\t\n")
|
`Successfully uploaded ${sourceFiles.length} sourcemap file${
|
||||||
|
sourceFiles.length > 1 ? 's' : ''
|
||||||
|
} for: \n` + sourceFiles.join('\t\n'),
|
||||||
)
|
)
|
||||||
: console.log(`No sourcemaps found in ${ args.sourcemap_dir_path }`)
|
: console.log(`No sourcemaps found in ${args.sourcemap_dir_path}`),
|
||||||
)
|
)
|
||||||
.catch(e => console.error(`Sourcemap Uploader: ${e}`));
|
.catch((e) => console.error(`Sourcemap Uploader: ${e}`));
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,23 @@ const readFile = require('./lib/readFile.js'),
|
||||||
uploadSourcemaps = require('./lib/uploadSourcemaps.js');
|
uploadSourcemaps = require('./lib/uploadSourcemaps.js');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
async uploadFile(api_key, project_key, sourcemap_file_path, js_file_url, server) {
|
async uploadFile(
|
||||||
|
api_key,
|
||||||
|
project_key,
|
||||||
|
sourcemap_file_path,
|
||||||
|
js_file_url,
|
||||||
|
server,
|
||||||
|
) {
|
||||||
const sourcemap = await readFile(sourcemap_file_path, js_file_url);
|
const sourcemap = await readFile(sourcemap_file_path, js_file_url);
|
||||||
return uploadSourcemaps(api_key, project_key, [sourcemap], server);
|
return uploadSourcemaps(api_key, project_key, [sourcemap], server);
|
||||||
},
|
},
|
||||||
async uploadDir(api_key, project_key, sourcemap_dir_path, js_dir_url, server) {
|
async uploadDir(
|
||||||
|
api_key,
|
||||||
|
project_key,
|
||||||
|
sourcemap_dir_path,
|
||||||
|
js_dir_url,
|
||||||
|
server,
|
||||||
|
) {
|
||||||
const sourcemaps = await readDir(sourcemap_dir_path, js_dir_url);
|
const sourcemaps = await readDir(sourcemap_dir_path, js_dir_url);
|
||||||
return uploadSourcemaps(api_key, project_key, sourcemaps, server);
|
return uploadSourcemaps(api_key, project_key, sourcemaps, server);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,13 @@ const readFile = require('./readFile');
|
||||||
|
|
||||||
module.exports = (sourcemap_dir_path, js_dir_url) => {
|
module.exports = (sourcemap_dir_path, js_dir_url) => {
|
||||||
sourcemap_dir_path = (sourcemap_dir_path + '/').replace(/\/+/g, '/');
|
sourcemap_dir_path = (sourcemap_dir_path + '/').replace(/\/+/g, '/');
|
||||||
if (js_dir_url[ js_dir_url.length - 1 ] !== '/') { // replace will break schema
|
if (js_dir_url[js_dir_url.length - 1] !== '/') {
|
||||||
|
// replace will break schema
|
||||||
js_dir_url += '/';
|
js_dir_url += '/';
|
||||||
}
|
}
|
||||||
return glob(sourcemap_dir_path + '**/*.map').then(sourcemap_file_paths =>
|
return glob(sourcemap_dir_path + '**/*.map').then((sourcemap_file_paths) =>
|
||||||
Promise.all(
|
Promise.all(
|
||||||
sourcemap_file_paths.map(sourcemap_file_path =>
|
sourcemap_file_paths.map((sourcemap_file_path) =>
|
||||||
readFile(
|
readFile(
|
||||||
sourcemap_file_path,
|
sourcemap_file_path,
|
||||||
js_dir_url + sourcemap_file_path.slice(sourcemap_dir_path.length, -4),
|
js_dir_url + sourcemap_file_path.slice(sourcemap_dir_path.length, -4),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
const fs = require('fs').promises;
|
const fs = require('fs').promises;
|
||||||
|
|
||||||
module.exports = (sourcemap_file_path, js_file_url) =>
|
module.exports = (sourcemap_file_path, js_file_url) =>
|
||||||
fs.readFile(sourcemap_file_path, 'utf8').then(body => {
|
fs.readFile(sourcemap_file_path, 'utf8').then((body) => {
|
||||||
return { sourcemap_file_path, js_file_url, body };
|
return { sourcemap_file_path, js_file_url, body };
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -10,42 +10,46 @@ const getUploadURLs = (api_key, project_key, js_file_urls, server) =>
|
||||||
try {
|
try {
|
||||||
serverURL = new URL(server);
|
serverURL = new URL(server);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return reject(`Failed to parse server URL "${server}".`)
|
return reject(`Failed to parse server URL "${server}".`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const pathPrefix = (serverURL.pathname + "/").replace(/\/+/g, '/');
|
const pathPrefix = (serverURL.pathname + '/').replace(/\/+/g, '/');
|
||||||
const options = {
|
const options = {
|
||||||
method: 'PUT',
|
method: 'PUT',
|
||||||
hostname: serverURL.host,
|
hostname: serverURL.host,
|
||||||
path: pathPrefix + `${project_key}/sourcemaps/`,
|
path: pathPrefix + `${project_key}/sourcemaps/`,
|
||||||
headers: { Authorization: api_key, 'Content-Type': 'application/json' },
|
headers: { Authorization: api_key, 'Content-Type': 'application/json' },
|
||||||
}
|
};
|
||||||
if (global._VERBOSE) {
|
if (global._VERBOSE) {
|
||||||
console.log("Request: ", options, "\nFiles: ", js_file_urls);
|
console.log('Request: ', options, '\nFiles: ', js_file_urls);
|
||||||
}
|
}
|
||||||
const req = https.request(
|
const req = https.request(options, (res) => {
|
||||||
options,
|
|
||||||
res => {
|
|
||||||
if (global._VERBOSE) {
|
if (global._VERBOSE) {
|
||||||
console.log("Response Code: ", res.statusCode, "\nMessage: ", res.statusMessage);
|
console.log(
|
||||||
|
'Response Code: ',
|
||||||
|
res.statusCode,
|
||||||
|
'\nMessage: ',
|
||||||
|
res.statusMessage,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (res.statusCode === 403) {
|
if (res.statusCode === 403) {
|
||||||
reject("Authorisation rejected. Please, check your API_KEY and/or PROJECT_KEY.")
|
reject(
|
||||||
return
|
'Authorisation rejected. Please, check your API_KEY and/or PROJECT_KEY.',
|
||||||
|
);
|
||||||
|
return;
|
||||||
} else if (res.statusCode !== 200) {
|
} else if (res.statusCode !== 200) {
|
||||||
reject("Server Error. Please, contact OpenReplay support.");
|
reject('Server Error. Please, contact OpenReplay support.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let data = '';
|
let data = '';
|
||||||
res.on('data', s => (data += s));
|
res.on('data', (s) => (data += s));
|
||||||
res.on('end', () => {
|
res.on('end', () => {
|
||||||
if (global._VERBOSE) {
|
if (global._VERBOSE) {
|
||||||
console.log("Server Response: ", data)
|
console.log('Server Response: ', data);
|
||||||
}
|
}
|
||||||
resolve(JSON.parse(data).data)
|
resolve(JSON.parse(data).data);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
},
|
|
||||||
);
|
|
||||||
req.on('error', reject);
|
req.on('error', reject);
|
||||||
req.write(JSON.stringify({ URL: js_file_urls }));
|
req.write(JSON.stringify({ URL: js_file_urls }));
|
||||||
req.end();
|
req.end();
|
||||||
|
|
@ -63,13 +67,18 @@ const uploadSourcemap = (upload_url, body) =>
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
res => {
|
(res) => {
|
||||||
if (res.statusCode !== 200) {
|
if (res.statusCode !== 200) {
|
||||||
if (global._VERBOSE) {
|
if (global._VERBOSE) {
|
||||||
console.log("Response Code: ", res.statusCode, "\nMessage: ", res.statusMessage);
|
console.log(
|
||||||
|
'Response Code: ',
|
||||||
|
res.statusCode,
|
||||||
|
'\nMessage: ',
|
||||||
|
res.statusMessage,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
reject("Unable to upload. Please, contact OpenReplay support.");
|
reject('Unable to upload. Please, contact OpenReplay support.');
|
||||||
return; // TODO: report per-file errors.
|
return; // TODO: report per-file errors.
|
||||||
}
|
}
|
||||||
resolve();
|
resolve();
|
||||||
|
|
@ -86,12 +95,13 @@ module.exports = (api_key, project_key, sourcemaps, server) =>
|
||||||
api_key,
|
api_key,
|
||||||
project_key,
|
project_key,
|
||||||
sourcemaps.map(({ js_file_url }) => js_file_url),
|
sourcemaps.map(({ js_file_url }) => js_file_url),
|
||||||
server || "https://api.openreplay.com",
|
server || 'https://api.openreplay.com',
|
||||||
).then(upload_urls =>
|
).then((upload_urls) =>
|
||||||
Promise.all(
|
Promise.all(
|
||||||
upload_urls.map((upload_url, i) =>
|
upload_urls.map((upload_url, i) =>
|
||||||
uploadSourcemap(upload_url, sourcemaps[i].body)
|
uploadSourcemap(upload_url, sourcemaps[i].body).then(
|
||||||
.then(() => sourcemaps[i].js_file_url)
|
() => sourcemaps[i].js_file_url,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
909
sourcemap-uploader/package-lock.json
generated
909
sourcemap-uploader/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -13,10 +13,10 @@
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^6.8.0",
|
"eslint": "^7.32.0",
|
||||||
"eslint-config-prettier": "^6.10.0",
|
"eslint-config-prettier": "^8.3.0",
|
||||||
"eslint-plugin-prettier": "^3.1.2",
|
"eslint-plugin-prettier": "^4.0.0",
|
||||||
"prettier": "^1.19.1"
|
"prettier": "^2.4.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"argparse": "^1.0.10",
|
"argparse": "^1.0.10",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue