@go-len/create-go-len-app
Version:
54 lines (44 loc) • 1.69 kB
JavaScript
;
var _spawn = require("./spawn");
var _args = require("./args");
var _path = _interopRequireDefault(require("path"));
var _cpx = require("cpx");
var _prompts = _interopRequireDefault(require("prompts"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(async () => {
const source = _path.default.resolve(__dirname, "template", "**");
const {
name,
target
} = await (0, _args.extractArgs)();
await new Promise(resolve => (0, _cpx.copy)(`${source}`, target, resolve));
await require('replace-in-file')({
files: [_path.default.resolve(target, "**")],
from: /go_template/g,
to: name
});
console.log(`Generating go-len application`);
console.log(`- name: ${name}`);
console.log(`- folder: ${target}`);
let {
npmInstall
} = await (0, _prompts.default)({
type: 'confirm',
name: 'npmInstall',
message: `Do you want to run npm install?`,
initial: true
});
if (npmInstall) {
console.log(`Running npm install...`);
await (0, _spawn.spawn)('npm', ['install', '@go-len/go-len-tools@latest', '--save']);
await (0, _spawn.spawn)('npm', ['install']);
}
console.log(`Completed. To start development:`);
console.log(`- npm run build: Build your package`);
console.log(`- npm run start: Run your main.go`);
console.log(`If you need go run time, please install using 1 of these command:`);
console.log(`- npm i -g @go-len/go-len-runtime-windows: for Windows version`);
console.log(`- npm i -g @go-len/go-len-runtime-linux: for Linux version`);
console.log(`- npm i -g @go-len/go-len-runtime-macos: for MacOS version`);
})();