Socket
Socket
Sign inDemoInstall

logrocket-cli

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

logrocket-cli - npm Package Compare versions

Comparing version 0.9.1 to 0.9.2

LICENSE

287

dist/apiClient.js

@@ -1,112 +0,287 @@

'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _regenerator=require('babel-runtime/regenerator');var _regenerator2=_interopRequireDefault(_regenerator);var _slicedToArray2=require('babel-runtime/helpers/slicedToArray');var _slicedToArray3=_interopRequireDefault(_slicedToArray2);var _classCallCheck2=require('babel-runtime/helpers/classCallCheck');var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _createClass2=require('babel-runtime/helpers/createClass');var _createClass3=_interopRequireDefault(_createClass2);exports.default=
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _stringify = require('babel-runtime/core-js/json/stringify');
var _stringify2 = _interopRequireDefault(_stringify);
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
exports.default = apiClient;
require('isomorphic-fetch');
var _package = require('../package.json');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ApiClient = function () {
function ApiClient(_ref) {
var apikey = _ref.apikey,
_ref$apihost = _ref.apihost,
apihost = _ref$apihost === undefined ? 'http://api.logrocket.com' : _ref$apihost;
(0, _classCallCheck3.default)(this, ApiClient);
this.apikey = apikey;
this.apihost = apihost;
}
(0, _createClass3.default)(ApiClient, [{
key: '_makeRequest',
value: function () {
var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(_ref3) {
var url = _ref3.url,
data = _ref3.data;
var _apikey$split, _apikey$split2, orgSlug, appSlug;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_apikey$split = this.apikey.split(':'), _apikey$split2 = (0, _slicedToArray3.default)(_apikey$split, 2), orgSlug = _apikey$split2[0], appSlug = _apikey$split2[1];
return _context.abrupt('return', fetch(this.apihost + '/v1/orgs/' + orgSlug + '/apps/' + appSlug + '/' + url + '/', {
method: 'POST',
headers: this.headers,
body: (0, _stringify2.default)(data)
}));
case 2:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function _makeRequest(_x) {
return _ref2.apply(this, arguments);
}
return _makeRequest;
}()
}, {
key: 'checkStatus',
value: function () {
var _ref4 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2() {
var res, data;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return fetch(this.apihost + '/cli/status/', {
headers: this.headers
});
case 2:
res = _context2.sent;
if (!(res.status === 204)) {
_context2.next = 5;
break;
}
return _context2.abrupt('return');
case 5:
data = void 0;
_context2.prev = 6;
_context2.next = 9;
return res.json();
case 9:
data = _context2.sent;
_context2.next = 16;
break;
case 12:
_context2.prev = 12;
_context2.t0 = _context2['catch'](6);
console.error('Could not verify CLI status. Check your network connection and reinstall the LogRocket CLI if the problem persists.');
process.exit(1);
case 16:
if (!res.ok) {
console.error(data.message);
process.exit(1);
} else {
console.info(data.message);
}
case 17:
case 'end':
return _context2.stop();
}
}
}, _callee2, this, [[6, 12]]);
}));
function checkStatus() {
return _ref4.apply(this, arguments);
}
return checkStatus;
}()
}, {
key: 'createRelease',
value: function () {
var _ref5 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3(_ref6) {
var version = _ref6.version;
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
return _context3.abrupt('return', this._makeRequest({
url: 'releases',
data: { version: version }
}));
case 1:
case 'end':
return _context3.stop();
}
}
}, _callee3, this);
}));
function createRelease(_x2) {
return _ref5.apply(this, arguments);
}
return createRelease;
}()
}, {
key: 'uploadFile',
value: function () {
var _ref7 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee4(_ref8) {
var release = _ref8.release,
filepath = _ref8.filepath,
contents = _ref8.contents;
var res, fileData, gcloudUrl, result;
return _regenerator2.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return this._makeRequest({
url: 'releases/' + release + '/artifacts',
data: { filepath: filepath }
});
case 2:
res = _context4.sent;
if (res.ok) {
_context4.next = 5;
break;
}
return _context4.abrupt('return', res);
case 5:
_context4.next = 7;
return res.json();
case 7:
fileData = _context4.sent;
gcloudUrl = fileData.signed_url;
if (gcloudUrl) {
_context4.next = 11;
break;
}
throw new Error('Could not get upload url for: ' + filepath);
case 11:
result = fetch(gcloudUrl, {
method: 'PUT',
body: contents
});
if (!this._gcsBucket) {
_context4.next = 15;
break;
}
_context4.next = 15;
return fetch(this.apihost + '/gcloud/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Goog-Channel-Token': this._gcsToken
},
body: (0, _stringify2.default)({
name: fileData.name,
bucket: this._gcsBucket
})
});
case 15:
return _context4.abrupt('return', result);
case 16:
case 'end':
return _context4.stop();
}
}
}, _callee4, this);
}));
function uploadFile(_x3) {
return _ref7.apply(this, arguments);
}
return uploadFile;
}()
}, {
key: 'setGCSData',
value: function setGCSData(_ref9) {
var gcsToken = _ref9.gcsToken,
gcsBucket = _ref9.gcsBucket;
this._gcsToken = gcsToken;
this._gcsBucket = gcsBucket;
}
}, {
key: 'headers',
get: function get() {
return {
Authorization: 'Token ' + this.apikey,
Accept: 'application/json',
'Content-Type': 'application/json',
'X-LogRocket-Cli-Version': _package.version
};
}
}]);
return ApiClient;
}();
apiClient;require('isomorphic-fetch');var _package=require('../package.json');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var ApiClient=function(){function ApiClient(_ref){var apikey=_ref.apikey,_ref$apihost=_ref.apihost,apihost=_ref$apihost===undefined?'http://api.logrocket.com':_ref$apihost;(0,_classCallCheck3.default)(this,ApiClient);this.apikey=apikey;this.apihost=apihost;}(0,_createClass3.default)(ApiClient,[{key:'_makeRequest',value:function _makeRequest(_ref2){var url=_ref2.url,data=_ref2.data;var _apikey$split,_apikey$split2,orgSlug,appSlug;return _regenerator2.default.async(function _makeRequest$(_context){while(1){switch(_context.prev=_context.next){case 0:_apikey$split=this.apikey.split(':'),_apikey$split2=(0,_slicedToArray3.default)(_apikey$split,2),orgSlug=_apikey$split2[0],appSlug=_apikey$split2[1];return _context.abrupt('return',fetch(this.apihost+'/v1/orgs/'+orgSlug+'/apps/'+appSlug+'/'+url+'/',{method:'POST',headers:this.headers,body:JSON.stringify(data)}));case 2:case'end':return _context.stop();}}},null,this);}},{key:'checkStatus',value:function checkStatus(){var res,data;return _regenerator2.default.async(function checkStatus$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_context2.next=2;return _regenerator2.default.awrap(fetch(this.apihost+'/cli/status/',{headers:this.headers}));case 2:res=_context2.sent;if(!(res.status===204)){_context2.next=5;break;}return _context2.abrupt('return');case 5:data=void 0;_context2.prev=6;_context2.next=9;return _regenerator2.default.awrap(res.json());case 9:data=_context2.sent;_context2.next=16;break;case 12:_context2.prev=12;_context2.t0=_context2['catch'](6);console.error('Could not verify CLI status. Check your network connection and reinstall the LogRocket CLI if the problem persists.');process.exit(1);case 16:if(!res.ok){console.error(data.message);process.exit(1);}else{console.info(data.message);}case 17:case'end':return _context2.stop();}}},null,this,[[6,12]]);}},{key:'createRelease',value:function createRelease(_ref3){var version=_ref3.version;return _regenerator2.default.async(function createRelease$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:return _context3.abrupt('return',this._makeRequest({url:'releases',data:{version:version}}));case 1:case'end':return _context3.stop();}}},null,this);}},{key:'uploadFile',value:function uploadFile(_ref4){var release=_ref4.release,filepath=_ref4.filepath,contents=_ref4.contents;var res,fileData,gcloudUrl,result;return _regenerator2.default.async(function uploadFile$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:_context4.next=2;return _regenerator2.default.awrap(this._makeRequest({url:'releases/'+release+'/artifacts',data:{filepath:filepath}}));case 2:res=_context4.sent;if(res.ok){_context4.next=5;break;}return _context4.abrupt('return',res);case 5:_context4.next=7;return _regenerator2.default.awrap(res.json());case 7:fileData=_context4.sent;gcloudUrl=fileData.signed_url;if(gcloudUrl){_context4.next=11;break;}throw new Error('Could not get upload url for: '+filepath);case 11:result=fetch(gcloudUrl,{method:'PUT',body:contents});if(!this._gcsBucket){_context4.next=15;break;}_context4.next=15;return _regenerator2.default.awrap(fetch(this.apihost+'/gcloud/',{method:'POST',headers:{'Content-Type':'application/json','X-Goog-Channel-Token':this._gcsToken},body:JSON.stringify({name:fileData.name,bucket:this._gcsBucket})}));case 15:return _context4.abrupt('return',result);case 16:case'end':return _context4.stop();}}},null,this);}},{key:'setGCSData',value:function setGCSData(_ref5){var gcsToken=_ref5.gcsToken,gcsBucket=_ref5.gcsBucket;this._gcsToken=gcsToken;this._gcsBucket=gcsBucket;}},{key:'headers',get:function get(){return{Authorization:'Token '+this.apikey,Accept:'application/json','Content-Type':'application/json','X-LogRocket-Cli-Version':_package.version};}}]);return ApiClient;}();function apiClient(config){
return new ApiClient(config);
}
function apiClient(config) {
return new ApiClient(config);
}
module.exports = exports['default'];

107

dist/commands/release.js

@@ -1,36 +0,91 @@

'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.handler=exports.builder=exports.describe=exports.command=undefined;var _regenerator=require('babel-runtime/regenerator');var _regenerator2=_interopRequireDefault(_regenerator);var _apiClient=require('../apiClient');var _apiClient2=_interopRequireDefault(_apiClient);
var _formatError=require('../formatError');var _formatError2=_interopRequireDefault(_formatError);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
'use strict';
var command=exports.command='release <version>';
var describe=exports.describe='Create a new release';
var builder=exports.builder=function builder(args){
args.
usage('\nUsage: logrocket release [--strict] <version>').
option('strict',{
type:'bool',
describe:'Fail on duplicate releases',
default:false}).
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.handler = exports.builder = exports.describe = exports.command = undefined;
demand(1,'Missing release version: e.g. logrocket release 1.2.3').
help();
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _apiClient = require('../apiClient');
var _apiClient2 = _interopRequireDefault(_apiClient);
var _formatError = require('../formatError');
var _formatError2 = _interopRequireDefault(_formatError);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var command = exports.command = 'release <version>';
var describe = exports.describe = 'Create a new release';
var builder = exports.builder = function builder(args) {
args.usage('\nUsage: logrocket release [--strict] <version>').option('strict', {
type: 'bool',
describe: 'Fail on duplicate releases',
default: false
}).demand(1, 'Missing release version: e.g. logrocket release 1.2.3').help();
};
var handler=exports.handler=function handler(_ref){var version=_ref.version,strict=_ref.strict,apikey=_ref.apikey,apihost=_ref.apihost;var client,res;return _regenerator2.default.async(function handler$(_context){while(1){switch(_context.prev=_context.next){case 0:
console.info('Creating release: '+version+' ...');
var handler = exports.handler = function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(_ref2) {
var version = _ref2.version,
strict = _ref2.strict,
apikey = _ref2.apikey,
apihost = _ref2.apihost,
verbose = _ref2.verbose;
var client, res;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
console.info('Creating release: ' + version + ' ...');
client=(0,_apiClient2.default)({apikey:apikey,apihost:apihost});_context.next=4;return _regenerator2.default.awrap(
client.checkStatus());case 4:_context.next=6;return _regenerator2.default.awrap(
client = (0, _apiClient2.default)({ apikey: apikey, apihost: apihost });
_context.next = 4;
return client.checkStatus();
client.createRelease({version:version}));case 6:res=_context.sent;
case 4:
_context.next = 6;
return client.createRelease({ version: version });
if(strict&&res.status===409){
console.error('Release already exists. Choose a unique name or call without --strict.');
process.exit(1);
}if(!(
case 6:
res = _context.sent;
!res.ok&&res.status!==409)){_context.next=12;break;}
console.error('Could not create release: '+version);_context.next=12;return _regenerator2.default.awrap(
(0,_formatError2.default)(res));case 12:
if (strict && res.status === 409) {
console.error('Release already exists. Choose a unique name or call without --strict.');
process.exit(1);
}
console.info('Success!');case 13:case'end':return _context.stop();}}},null,undefined);};
if (!(!res.ok && res.status !== 409)) {
_context.next = 12;
break;
}
console.error('Could not create release: ' + version);
_context.next = 12;
return (0, _formatError2.default)(res, { verbose: verbose });
case 12:
console.info('Success!');
case 13:
case 'end':
return _context.stop();
}
}
}, _callee, undefined);
}));
return function handler(_x) {
return _ref.apply(this, arguments);
};
}();

@@ -1,95 +0,339 @@

'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.handler=exports.builder=exports.describe=exports.command=undefined;var _regenerator=require('babel-runtime/regenerator');var _regenerator2=_interopRequireDefault(_regenerator);var _path=require('path');
var _process=require('process');
var _fs=require('fs');
var _apiClient=require('../apiClient');var _apiClient2=_interopRequireDefault(_apiClient);
var _formatError=require('../formatError');var _formatError2=_interopRequireDefault(_formatError);
var _glob=require('glob');var _glob2=_interopRequireDefault(_glob);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
'use strict';
var command=exports.command='upload <path>';
var describe=exports.describe='Upload JavaScript sourcemaps for a release';
var builder=exports.builder=function builder(args){
args.
usage('\nUsage: logrocket upload -r <release> <path>').
option('r',{
alias:'release',
type:'string',
describe:'The release version for these files',
demand:'You must specify a release, use -r or --release'}).
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.handler = exports.builder = exports.describe = exports.command = undefined;
demand(1,'Missing upload path: e.g. logrocket upload -r 1.2.3 dist/').
option('gcs-token',{
type:'string',
describe:false}).
var _regenerator = require('babel-runtime/regenerator');
option('gcs-bucket',{
type:'string',
describe:false}).
var _regenerator2 = _interopRequireDefault(_regenerator);
implies({
'gcs-token':'gcs-bucket',
'gcs-bucket':'gcs-token'}).
var _getIterator2 = require('babel-runtime/core-js/get-iterator');
help('help');
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var gatherFiles = function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(paths) {
var _this = this;
var map;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
map = [];
_context2.next = 3;
return _promise2.default.all(paths.map(function (path) {
var realPath = (0, _path.join)((0, _process.cwd)(), path);
if ((0, _fs.statSync)(realPath).isFile()) {
map.push({
path: realPath,
name: (0, _path.basename)(realPath)
});
return _promise2.default.resolve();
}
return new _promise2.default(function (resolve) {
(0, _glob2.default)('**/*.{js,jsx,js.map}', { cwd: realPath }, function () {
var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(err, files) {
var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, file;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
_context.prev = 3;
for (_iterator = (0, _getIterator3.default)(files); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
file = _step.value;
map.push({
path: (0, _path.join)(realPath, file),
name: file
});
}
_context.next = 11;
break;
case 7:
_context.prev = 7;
_context.t0 = _context['catch'](3);
_didIteratorError = true;
_iteratorError = _context.t0;
case 11:
_context.prev = 11;
_context.prev = 12;
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
case 14:
_context.prev = 14;
if (!_didIteratorError) {
_context.next = 17;
break;
}
throw _iteratorError;
case 17:
return _context.finish(14);
case 18:
return _context.finish(11);
case 19:
resolve();
case 20:
case 'end':
return _context.stop();
}
}
}, _callee, _this, [[3, 7, 11, 19], [12,, 14, 18]]);
}));
return function (_x2, _x3) {
return _ref2.apply(this, arguments);
};
}());
});
}));
case 3:
return _context2.abrupt('return', map);
case 4:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
return function gatherFiles(_x) {
return _ref.apply(this, arguments);
};
}();
var _path = require('path');
var _process = require('process');
var _fs = require('fs');
var _apiClient = require('../apiClient');
var _apiClient2 = _interopRequireDefault(_apiClient);
var _formatError = require('../formatError');
var _formatError2 = _interopRequireDefault(_formatError);
var _glob = require('glob');
var _glob2 = _interopRequireDefault(_glob);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var command = exports.command = 'upload <paths..>';
var describe = exports.describe = 'Upload JavaScript sourcemaps for a release';
var builder = exports.builder = function builder(args) {
args.usage('\nUsage: logrocket upload -r <release> <paths..>').option('r', {
alias: 'release',
type: 'string',
describe: 'The release version for these files',
demand: 'You must specify a release, use -r or --release'
}).demand(1, 'Missing upload path: e.g. logrocket upload -r 1.2.3 dist/').option('gcs-token', { // for testing, pass the webhook token to get an immediate pending=no
type: 'string',
describe: false
}).option('gcs-bucket', { // for testing, pass the webhook bucket to get an immediate pending=no
type: 'string',
describe: false
}).implies({
'gcs-token': 'gcs-bucket',
'gcs-bucket': 'gcs-token'
}).help('help');
};
var handler=exports.handler=function handler(args){var path,release,apikey,apihost,client,root,isFile,uploadFile;return _regenerator2.default.async(function handler$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:
path=args.path,release=args.release,apikey=args.apikey,apihost=args.apihost;
var handler = exports.handler = function () {
var _ref3 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee4(args) {
var paths, release, apikey, apihost, verbose, client, uploadFile, fileList, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, fileInfo;
console.info('Preparing to upload sourcemaps for release '+release+' ...');
console.info('Gathering file list...');
return _regenerator2.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
paths = args.paths, release = args.release, apikey = args.apikey, apihost = args.apihost, verbose = args.verbose;
client=(0,_apiClient2.default)({apikey:apikey,apihost:apihost});_context3.next=6;return _regenerator2.default.awrap(
client.checkStatus());case 6:
if(args['gcs-token']){
client.setGCSData({
gcsToken:args['gcs-token'],
gcsBucket:args['gcs-bucket']});
console.info('Preparing to upload sourcemaps for release ' + release + ' ...');
console.info('Gathering file list...');
}
client = (0, _apiClient2.default)({ apikey: apikey, apihost: apihost });
_context4.next = 6;
return client.checkStatus();
root=void 0;
isFile=(0,_fs.statSync)(path).isFile();
case 6:
if(isFile){
root=(0,_path.join)((0,_process.cwd)(),(0,_path.dirname)(path));
}else{
root=(0,_path.join)((0,_process.cwd)(),path);
}
if (args['gcs-token']) {
client.setGCSData({
gcsToken: args['gcs-token'],
gcsBucket: args['gcs-bucket']
});
}
uploadFile=function uploadFile(file){var data,res;return _regenerator2.default.async(function uploadFile$(_context){while(1){switch(_context.prev=_context.next){case 0:
console.info('Uploading: '+file);
uploadFile = function () {
var _ref4 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3(_ref5) {
var path = _ref5.path,
name = _ref5.name;
var data, res;
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
console.info('Uploading: ' + name);
data={
release:release,
filepath:'*/'+file,
contents:(0,_fs.createReadStream)((0,_path.join)(root,file))};_context.prev=2;_context.next=5;return _regenerator2.default.awrap(
data = {
release: release,
filepath: '*/' + name,
contents: (0, _fs.createReadStream)(path)
};
_context3.prev = 2;
_context3.next = 5;
return client.uploadFile(data);
case 5:
res = _context3.sent;
client.uploadFile(data));case 5:res=_context.sent;if(
if (res.ok) {
_context3.next = 10;
break;
}
res.ok){_context.next=10;break;}
console.error('Failed to upload: '+file);_context.next=10;return _regenerator2.default.awrap(
(0,_formatError2.default)(res));case 10:_context.next=16;break;case 12:_context.prev=12;_context.t0=_context['catch'](2);
console.error('Failed to upload: ' + name);
_context3.next = 10;
return (0, _formatError2.default)(res, { verbose: verbose });
case 10:
_context3.next = 16;
break;
console.error(_context.t0.message);
process.exit(1);case 16:case'end':return _context.stop();}}},null,undefined,[[2,12]]);};
case 12:
_context3.prev = 12;
_context3.t0 = _context3['catch'](2);
console.error(_context3.t0.message);
process.exit(1);
case 16:
case 'end':
return _context3.stop();
}
}
}, _callee3, undefined, [[2, 12]]);
}));
if(isFile){
uploadFile((0,_path.basename)(path)).then(function(){
console.info('Done.');
});
}else{
(0,_glob2.default)('**/*.{js,jsx,js.map}',{cwd:root},function _callee(err,files){var _iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,file;return _regenerator2.default.async(function _callee$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:
console.info('Found '+files.length+' files ...');_iteratorNormalCompletion=true;_didIteratorError=false;_iteratorError=undefined;_context2.prev=4;_iterator=
return function uploadFile(_x5) {
return _ref4.apply(this, arguments);
};
}();
files[typeof Symbol==='function'?typeof Symbol==='function'?typeof Symbol==='function'?Symbol.iterator:'@@iterator':'@@iterator':'@@iterator']();case 6:if(_iteratorNormalCompletion=(_step=_iterator.next()).done){_context2.next=13;break;}file=_step.value;_context2.next=10;return _regenerator2.default.awrap(
uploadFile(file));case 10:_iteratorNormalCompletion=true;_context2.next=6;break;case 13:_context2.next=19;break;case 15:_context2.prev=15;_context2.t0=_context2['catch'](4);_didIteratorError=true;_iteratorError=_context2.t0;case 19:_context2.prev=19;_context2.prev=20;if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}case 22:_context2.prev=22;if(!_didIteratorError){_context2.next=25;break;}throw _iteratorError;case 25:return _context2.finish(22);case 26:return _context2.finish(19);case 27:
_context4.next = 10;
return gatherFiles(paths);
case 10:
fileList = _context4.sent;
console.info('Success!');case 28:case'end':return _context2.stop();}}},null,undefined,[[4,15,19,27],[20,,22,26]]);});
}case 12:case'end':return _context3.stop();}}},null,undefined);};
console.info('Found ' + fileList.length + ' file' + (fileList.length === 1 ? '' : 's') + ' ...');
_iteratorNormalCompletion2 = true;
_didIteratorError2 = false;
_iteratorError2 = undefined;
_context4.prev = 15;
_iterator2 = (0, _getIterator3.default)(fileList);
case 17:
if (_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done) {
_context4.next = 24;
break;
}
fileInfo = _step2.value;
_context4.next = 21;
return uploadFile(fileInfo);
case 21:
_iteratorNormalCompletion2 = true;
_context4.next = 17;
break;
case 24:
_context4.next = 30;
break;
case 26:
_context4.prev = 26;
_context4.t0 = _context4['catch'](15);
_didIteratorError2 = true;
_iteratorError2 = _context4.t0;
case 30:
_context4.prev = 30;
_context4.prev = 31;
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
case 33:
_context4.prev = 33;
if (!_didIteratorError2) {
_context4.next = 36;
break;
}
throw _iteratorError2;
case 36:
return _context4.finish(33);
case 37:
return _context4.finish(30);
case 38:
console.info('Success!');
case 39:
case 'end':
return _context4.stop();
}
}
}, _callee4, undefined, [[15, 26, 30, 38], [31,, 33, 37]]);
}));
return function handler(_x4) {
return _ref3.apply(this, arguments);
};
}();

@@ -1,20 +0,78 @@

'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _regenerator=require('babel-runtime/regenerator');var _regenerator2=_interopRequireDefault(_regenerator);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}exports.default=function formatError(res){var body,json;return _regenerator2.default.async(function formatError$(_context){while(1){switch(_context.prev=_context.next){case 0:if(!(
res.status<300)){_context.next=2;break;}return _context.abrupt('return');case 2:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _regenerator = require('babel-runtime/regenerator');
console.error(res.status+' '+res.statusText);_context.next=5;return _regenerator2.default.awrap(
var _regenerator2 = _interopRequireDefault(_regenerator);
res.text());case 5:body=_context.sent;
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
try{
json=JSON.parse(body);
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
if(json.error){
console.error(json.error);
}
}catch(err){
console.error('Could not complete request.');
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
process.exit(1);case 8:case'end':return _context.stop();}}},null,this);};
exports.default = function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(res) {
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref2$verbose = _ref2.verbose,
verbose = _ref2$verbose === undefined ? false : _ref2$verbose;
var body, json;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!(res.status < 300)) {
_context.next = 2;
break;
}
return _context.abrupt('return');
case 2:
console.error(res.status + ' ' + res.statusText);
_context.next = 5;
return res.text();
case 5:
body = _context.sent;
if (verbose) {
console.info(body);
}
try {
json = JSON.parse(body);
if (json.error) {
console.error(json.error);
}
} catch (err) {
console.error('Could not complete request.');
}
process.exit(1);
case 9:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function formatError(_x) {
return _ref.apply(this, arguments);
}
return formatError;
}();
module.exports = exports['default'];

@@ -1,28 +0,29 @@

'use strict';var _yargs=require('yargs');var _yargs2=_interopRequireDefault(_yargs);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
'use strict';
process.on('unhandledRejection',function(err){
console.error(err.message);
process.exit(1);
});
var _yargs = require('yargs');
_yargs2.default.
usage('\nUsage: logrocket [-k <apikey>] <command> [<args>]').
env('LOGROCKET').
alias('h','help').
option('k',{
alias:'apikey',
type:'string',
describe:'Your LogRocket API key',
demand:'You must provide a LogRocket API key.',
global:true,
requiresArg:true}).
var _yargs2 = _interopRequireDefault(_yargs);
option('apihost',{
type:'string',
describe:false}).
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
commandDir('commands').
help().
demand(1,'Missing command, expected `release` or `upload`').
recommendCommands().
argv;
process.on('unhandledRejection', function (err) {
console.error(err.message);
process.exit(1);
});
_yargs2.default // eslint-disable-line no-unused-expressions
.usage('\nUsage: logrocket [-k <apikey>] <command> [<args>]').env('LOGROCKET').alias('h', 'help').option('k', {
alias: 'apikey',
type: 'string',
describe: 'Your LogRocket API key',
demand: 'You must provide a LogRocket API key.',
global: true,
requiresArg: true
}).option('apihost', { // testing param to override api url
type: 'string',
describe: false
}).option('v', { // for debugging
alias: 'verbose',
boolean: true,
describe: false
}).commandDir('commands').help().demand(1, 'Missing command, expected `release` or `upload`').recommendCommands().argv;
{
"name": "logrocket-cli",
"version": "0.9.1",
"version": "0.9.2",
"description": "Command line tool for [LogRocket](https://logrocket.com/).",

@@ -8,2 +8,6 @@ "main": "index.js",

"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/LogRocket/logrocket-cli"
},
"files": [

@@ -17,3 +21,6 @@ "bin/",

"scripts": {
"build": "babel src --presets babel-preset-es2015 --out-dir dist"
"lint": "eslint src/",
"build": "babel src --out-dir dist",
"test:mocha": "mocha --opts test/mocha.opts dist/**/*.spec.js",
"test": "npm run build && npm run test:mocha"
},

@@ -25,3 +32,25 @@ "dependencies": {

"yargs": "^5.0.0"
},
"devDependencies": {
"babel-cli": "^6.11.4",
"babel-core": "^6.13.0",
"babel-eslint": "^7.0.0",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-transform-runtime": "^6.15.0",
"babel-polyfill": "^6.13.0",
"babel-preset-es2015": "^6.13.2",
"babel-preset-stage-3": "^6.17.0",
"chai": "^3.5.0",
"dirty-chai": "^1.2.2",
"eslint": "^3.8.1",
"eslint-config-airbnb": "^12.0.0",
"eslint-plugin-import": "^1.16.0",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-mocha": "^4.7.0",
"eslint-plugin-react": "^6.4.1",
"fetch-mock": "^5.1.2",
"mocha": "^2.5.3",
"mocha-circleci-reporter": "0.0.2",
"raw-body": "^2.1.7"
}
}
# LogRocket CLI
The official command line tool for [LogRocket](https://logrocket.com/).
The official command line tool for [LogRocket](https://logrocket.com/).
[![CircleCI](https://circleci.com/gh/LogRocket/logrocket-cli.svg?style=shield)](https://circleci.com/gh/LogRocket/logrocket-cli)
## Requirements

@@ -6,0 +8,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc