tsds-publish
Version:
Development stack for TypeScript libraries
118 lines • 4.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return publish;
}
});
var _crossspawncb = /*#__PURE__*/ _interop_require_default(require("cross-spawn-cb"));
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
var _getoptscompat = /*#__PURE__*/ _interop_require_default(require("getopts-compat"));
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
var _tsdslib = require("tsds-lib");
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
var _hasChangedts = /*#__PURE__*/ _interop_require_default(require("./lib/hasChanged.js"));
var _postts = /*#__PURE__*/ _interop_require_default(require("./post.js"));
var _prets = /*#__PURE__*/ _interop_require_default(require("./pre.js"));
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _object_spread(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function(key) {
_define_property(target, key, source[key]);
});
}
return target;
}
var major = +process.versions.node.split('.')[0];
var version = major > 14 ? 'local' : 'stable';
var __dirname = _path.default.dirname(typeof __filename === 'undefined' ? _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()) : __filename);
var dist = _path.default.join(__dirname, '..');
var workerWrapper = (0, _tsdslib.wrapWorker)(_path.default.join(dist, 'cjs', 'command.ts'));
function worker(args, options_, callback) {
var cwd = options_.cwd || process.cwd();
var options = _object_spread({}, options_);
options.package = options.package || JSON.parse(_fs.default.readFileSync(_path.default.join(cwd, 'package.json'), 'utf8'));
if (options.package.private) {
console.log("Skipping ".concat(options.package.name, ". Private"));
return callback();
}
var queue = new _queuecb.default(1);
var opts = (0, _getoptscompat.default)(args, {
alias: {
otp: 'o'
},
boolean: [
'yolo'
]
});
opts.yolo || queue.defer(_prets.default.bind(null, args, options));
queue.defer(function(cb) {
(0, _hasChangedts.default)(options, function(err, changed) {
if (err) {
cb(err);
return;
}
if (!changed) {
console.log("Skipping ".concat(options.package.name, ". No changes"));
cb();
return;
}
// update the version
var versionArgs = [
'version',
opts._.length > 0 ? opts._[0] : 'patch'
];
queue.defer(function(cb) {
return (0, _crossspawncb.default)('npm', versionArgs, options, function(err) {
if (err) return cb(err);
options.package = JSON.parse(_fs.default.readFileSync(_path.default.join(cwd, 'package.json'), 'utf8'));
cb();
});
});
// do publish
var publishArgs = [
'publish'
];
if (opts.otp) Array.prototype.push.apply(publishArgs, [
"--otp=".concat(opts.otp)
]);
queue.defer(_crossspawncb.default.bind(null, 'npm', publishArgs, options));
// add post actions
queue.defer(_postts.default.bind(null, args, options));
cb();
});
});
queue.await(callback);
}
function publish(args, options, callback) {
version !== 'local' ? workerWrapper(version, args, options, callback) : worker(args, options, callback);
}
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }