UNPKG

1.93 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = void 0;
5
6var _chalk = _interopRequireDefault(require("chalk"));
7
8var _path = _interopRequireDefault(require("path"));
9
10var _fsExtra = _interopRequireDefault(require("fs-extra"));
11
12var _fs = _interopRequireDefault(require("fs.promised"));
13
14var _fs2 = _interopRequireDefault(require("fs"));
15
16var _commandExists = _interopRequireDefault(require("command-exists"));
17
18var _downloadAsync = _interopRequireDefault(require("./downloadAsync"));
19
20var _copyTemplate = _interopRequireDefault(require("./copyTemplate"));
21
22var _depsInstall = _interopRequireDefault(require("./depsInstall"));
23
24function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26const fallbackPkgString = name => `
27 {
28 "name": "${name}",
29 "version": "1.0.0",
30 "description": ""
31 }
32`;
33
34const createApp = async ({
35 argv,
36 init = false
37}) => {
38 console.info(_chalk.default.underline("Preparing Application Directory"));
39 const target = await (0, _copyTemplate.default)(argv, init);
40 console.info(_chalk.default.green.bold("ArcGIS Application template installed."));
41 let pkg = null;
42 let pkgString = null;
43
44 try {
45 const filePath = _path.default.resolve(target, "package.json");
46
47 pkgString = await _fs.default.readFile(filePath, "utf8");
48 } catch (error) {}
49
50 pkgString = pkgString || fallbackPkgString(argv.name);
51 pkg = JSON.parse(pkgString);
52
53 if (pkg) {
54 pkg.name = argv.name || argv.dest;
55 pkg.arcgis = {
56 type: argv.type || "unknown"
57 };
58 await _fs.default.writeFile(_path.default.resolve(target, "package.json"), JSON.stringify(pkg, null, 2));
59 console.info(_chalk.default.underline("\nRunning npm install"));
60 await (0, _depsInstall.default)(target);
61 }
62
63 console.info(_chalk.default.green.bold("Done! Your ArcGIS JSAPI application has been installed!\n"));
64};
65
66var _default = createApp;
67exports.default = _default;
\No newline at end of file