|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
|
value: true
|
|
|
});
|
|
|
exports.default = _default;
|
|
|
|
|
|
function _react() {
|
|
|
const data = _interopRequireDefault(require("react"));
|
|
|
|
|
|
_react = function _react() {
|
|
|
return data;
|
|
|
};
|
|
|
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
function _mkdirp() {
|
|
|
const data = _interopRequireDefault(require("mkdirp"));
|
|
|
|
|
|
_mkdirp = function _mkdirp() {
|
|
|
return data;
|
|
|
};
|
|
|
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
function _os() {
|
|
|
const data = require("os");
|
|
|
|
|
|
_os = function _os() {
|
|
|
return data;
|
|
|
};
|
|
|
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
function _resolveFrom() {
|
|
|
const data = _interopRequireDefault(require("resolve-from"));
|
|
|
|
|
|
_resolveFrom = function _resolveFrom() {
|
|
|
return data;
|
|
|
};
|
|
|
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
function _path() {
|
|
|
const data = require("path");
|
|
|
|
|
|
_path = function _path() {
|
|
|
return data;
|
|
|
};
|
|
|
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
function _fs() {
|
|
|
const data = require("fs");
|
|
|
|
|
|
_fs = function _fs() {
|
|
|
return data;
|
|
|
};
|
|
|
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
var _npmClient = require("./npmClient");
|
|
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
|
|
|
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
|
|
|
|
function _default(_x) {
|
|
|
return _ref.apply(this, arguments);
|
|
|
}
|
|
|
|
|
|
function _ref() {
|
|
|
_ref = _asyncToGenerator(function* (opts) {
|
|
|
const _opts$npmClient = opts.npmClient,
|
|
|
npmClient = _opts$npmClient === void 0 ? 'npm' : _opts$npmClient,
|
|
|
_opts$packageName = opts.packageName,
|
|
|
packageName = _opts$packageName === void 0 ? 'create-umi' : _opts$packageName,
|
|
|
onData = opts.onData; // 创建目录
|
|
|
|
|
|
const baseDir = opts.baseDir || (0, _path().join)((0, _os().homedir)(), `.umi/creator/${packageName}`);
|
|
|
|
|
|
_mkdirp().default.sync(baseDir); // 创建 package.json
|
|
|
|
|
|
|
|
|
const pkgPath = (0, _path().join)(baseDir, 'package.json');
|
|
|
|
|
|
if ((0, _fs().existsSync)(pkgPath)) {
|
|
|
// 更新
|
|
|
// 更新时使用安装时用的 npmClient,否则会导致不可预知的问题
|
|
|
yield (0, _npmClient.executeCommand)(require(pkgPath).npmClient, // eslint-disable-line
|
|
|
['update', '--registry=https://registry.npm.taobao.org'], baseDir, {
|
|
|
unsafePerm: true,
|
|
|
onData
|
|
|
});
|
|
|
} else {
|
|
|
// 写 package.json
|
|
|
(0, _fs().writeFileSync)(pkgPath, JSON.stringify({
|
|
|
npmClient,
|
|
|
dependencies: {
|
|
|
[packageName]: '*'
|
|
|
}
|
|
|
}, null, 2), 'utf-8'); // 安装依赖
|
|
|
|
|
|
yield (0, _npmClient.executeCommand)(npmClient, ['install', '--registry=https://registry.npm.taobao.org'], baseDir, {
|
|
|
unsafePerm: true,
|
|
|
onData
|
|
|
});
|
|
|
}
|
|
|
|
|
|
return (0, _resolveFrom().default)(baseDir, packageName);
|
|
|
});
|
|
|
return _ref.apply(this, arguments);
|
|
|
} |