create-payload-app 0.3.7-beta.0 → 0.3.9-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -37,31 +37,25 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var main_1 = require("./main");
40
- var usage_1 = require("./utils/usage");
41
40
  var log_1 = require("./utils/log");
42
41
  (function () { return __awaiter(void 0, void 0, void 0, function () {
43
- var trx, main, e_1;
42
+ var main, e_1;
44
43
  return __generator(this, function (_a) {
45
44
  switch (_a.label) {
46
45
  case 0:
47
- trx = (0, usage_1.init)();
48
46
  main = new main_1.Main();
49
47
  _a.label = 1;
50
48
  case 1:
51
- _a.trys.push([1, 3, 4, 5]);
49
+ _a.trys.push([1, 3, , 4]);
52
50
  return [4 /*yield*/, main.init()];
53
51
  case 2:
54
52
  _a.sent();
55
- return [3 /*break*/, 5];
53
+ return [3 /*break*/, 4];
56
54
  case 3:
57
55
  e_1 = _a.sent();
58
- (0, usage_1.handleException)(e_1);
59
56
  (0, log_1.error)("An error has occurred: ".concat(e_1 instanceof Error ? e_1.message : e_1));
60
- return [3 /*break*/, 5];
61
- case 4:
62
- trx === null || trx === void 0 ? void 0 : trx.finish();
63
- return [7 /*endfinally*/];
64
- case 5: return [2 /*return*/];
57
+ return [3 /*break*/, 4];
58
+ case 4: return [2 /*return*/];
65
59
  }
66
60
  });
67
61
  }); })();
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEGMENT_WRITE_KEY = void 0;
4
+ exports.SEGMENT_WRITE_KEY = '8LTjQFEb2Rr50XfYtTCBFbERvDkhnJrE';
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.createProject = exports.updatePayloadVersion = exports.getLatestPayloadVersion = void 0;
42
+ exports.createProject = exports.updatePayloadVersion = void 0;
43
43
  var path_1 = __importDefault(require("path"));
44
44
  var chalk_1 = __importDefault(require("chalk"));
45
45
  var fs_extra_1 = __importDefault(require("fs-extra"));
@@ -47,7 +47,6 @@ var execa_1 = __importDefault(require("execa"));
47
47
  var ora_1 = __importDefault(require("ora"));
48
48
  var degit_1 = __importDefault(require("degit"));
49
49
  var log_1 = require("../utils/log");
50
- var usage_1 = require("../utils/usage");
51
50
  function createProjectDir(projectDir) {
52
51
  return __awaiter(this, void 0, void 0, function () {
53
52
  var pathExists;
@@ -95,69 +94,38 @@ function installDeps(args, dir, packageManager) {
95
94
  });
96
95
  });
97
96
  }
98
- function getLatestPayloadVersion(betaFlag) {
99
- if (betaFlag === void 0) { betaFlag = false; }
97
+ function updatePayloadVersion(projectDir, payloadVersion) {
100
98
  return __awaiter(this, void 0, void 0, function () {
101
- var packageWithTag, stdout, error_2;
99
+ var packageJsonPath, packageObj, err_1;
102
100
  return __generator(this, function (_a) {
103
101
  switch (_a.label) {
104
102
  case 0:
105
- _a.trys.push([0, 2, , 3]);
106
- packageWithTag = 'payload';
107
- if (betaFlag)
108
- packageWithTag += '@beta';
109
- return [4 /*yield*/, (0, execa_1.default)("npm info ".concat(packageWithTag, " version"), [], {
110
- shell: true,
111
- })];
112
- case 1:
113
- stdout = (_a.sent()).stdout;
114
- return [2 /*return*/, "^".concat(stdout)];
115
- case 2:
116
- error_2 = _a.sent();
117
- return [2 /*return*/, false];
118
- case 3: return [2 /*return*/];
119
- }
120
- });
121
- });
122
- }
123
- exports.getLatestPayloadVersion = getLatestPayloadVersion;
124
- function updatePayloadVersion(projectDir, betaFlag) {
125
- if (betaFlag === void 0) { betaFlag = false; }
126
- return __awaiter(this, void 0, void 0, function () {
127
- var payloadVersion, packageJsonPath, packageObj, err_1;
128
- return __generator(this, function (_a) {
129
- switch (_a.label) {
130
- case 0: return [4 /*yield*/, getLatestPayloadVersion(betaFlag)];
131
- case 1:
132
- payloadVersion = _a.sent();
133
103
  if (!payloadVersion) {
134
104
  (0, log_1.warning)('Error retrieving latest Payload version. Please update your package.json manually.');
135
- return [2 /*return*/];
136
105
  }
137
- (0, usage_1.setTags)({ payload_version: payloadVersion });
138
106
  packageJsonPath = path_1.default.resolve(projectDir, 'package.json');
139
- _a.label = 2;
140
- case 2:
141
- _a.trys.push([2, 5, , 6]);
107
+ _a.label = 1;
108
+ case 1:
109
+ _a.trys.push([1, 4, , 5]);
142
110
  return [4 /*yield*/, fs_extra_1.default.readJson(packageJsonPath)];
143
- case 3:
111
+ case 2:
144
112
  packageObj = _a.sent();
145
113
  packageObj.dependencies.payload = payloadVersion;
146
114
  return [4 /*yield*/, fs_extra_1.default.writeJson(packageJsonPath, packageObj, { spaces: 2 })];
147
- case 4:
115
+ case 3:
148
116
  _a.sent();
149
- return [3 /*break*/, 6];
150
- case 5:
117
+ return [3 /*break*/, 5];
118
+ case 4:
151
119
  err_1 = _a.sent();
152
120
  (0, log_1.warning)('Unable to write Payload version to package.json. Please update your package.json manually.');
153
- return [3 /*break*/, 6];
154
- case 6: return [2 /*return*/];
121
+ return [3 /*break*/, 5];
122
+ case 5: return [2 /*return*/];
155
123
  }
156
124
  });
157
125
  });
158
126
  }
159
127
  exports.updatePayloadVersion = updatePayloadVersion;
160
- function createProject(args, projectDir, template, packageManager) {
128
+ function createProject(args, projectDir, template, packageManager, payloadVersion) {
161
129
  return __awaiter(this, void 0, void 0, function () {
162
130
  var templateDir, emitter, err_2, msg, spinner, result;
163
131
  return __generator(this, function (_a) {
@@ -188,7 +156,7 @@ function createProject(args, projectDir, template, packageManager) {
188
156
  return [3 /*break*/, 6];
189
157
  case 6:
190
158
  spinner = (0, ora_1.default)('Checking latest Payload version...').start();
191
- return [4 /*yield*/, updatePayloadVersion(projectDir, args['--beta'])];
159
+ return [4 /*yield*/, updatePayloadVersion(projectDir, payloadVersion)];
192
160
  case 7:
193
161
  _a.sent();
194
162
  spinner.text = 'Installing dependencies...';
@@ -42,6 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var fs_extra_1 = __importDefault(require("fs-extra"));
43
43
  var path_1 = __importDefault(require("path"));
44
44
  var createProject_1 = require("./createProject");
45
+ var getPayloadVersion_1 = require("./getPayloadVersion");
45
46
  describe('createProject', function () {
46
47
  var projectDir = path_1.default.resolve(__dirname, './tmp');
47
48
  beforeAll(function () {
@@ -64,11 +65,11 @@ describe('createProject', function () {
64
65
  var expectedPayloadVersion, template, packageJsonPath, packageJson;
65
66
  return __generator(this, function (_a) {
66
67
  switch (_a.label) {
67
- case 0: return [4 /*yield*/, (0, createProject_1.getLatestPayloadVersion)()];
68
+ case 0: return [4 /*yield*/, (0, getPayloadVersion_1.getLatestPayloadVersion)()];
68
69
  case 1:
69
70
  expectedPayloadVersion = _a.sent();
70
71
  template = { name: 'ts-todo', type: 'static' };
71
- return [4 /*yield*/, (0, createProject_1.createProject)(args, projectDir, template, packageManager)];
72
+ return [4 /*yield*/, (0, createProject_1.createProject)(args, projectDir, template, packageManager, expectedPayloadVersion)];
72
73
  case 2:
73
74
  _a.sent();
74
75
  packageJsonPath = path_1.default.resolve(projectDir, 'package.json');
@@ -81,24 +82,25 @@ describe('createProject', function () {
81
82
  });
82
83
  describe('#updatePayloadVersion', function () {
83
84
  it('updates payload version in package.json', function () { return __awaiter(void 0, void 0, void 0, function () {
84
- var packageJsonPath, modified;
85
+ var originalPayloadVersion, packageJsonPath, modified;
85
86
  return __generator(this, function (_a) {
86
87
  switch (_a.label) {
87
88
  case 0:
89
+ originalPayloadVersion = '0.0.1';
88
90
  packageJsonPath = path_1.default.resolve(projectDir, 'package.json');
89
91
  return [4 /*yield*/, fs_extra_1.default.mkdir(projectDir)];
90
92
  case 1:
91
93
  _a.sent();
92
- return [4 /*yield*/, fs_extra_1.default.writeJson(packageJsonPath, { dependencies: { payload: '0.0.1' } }, { spaces: 2 })];
94
+ return [4 /*yield*/, fs_extra_1.default.writeJson(packageJsonPath, { dependencies: { payload: originalPayloadVersion } }, { spaces: 2 })];
93
95
  case 2:
94
96
  _a.sent();
95
- return [4 /*yield*/, (0, createProject_1.updatePayloadVersion)(projectDir)];
97
+ return [4 /*yield*/, (0, createProject_1.updatePayloadVersion)(projectDir, '0.0.2')];
96
98
  case 3:
97
99
  _a.sent();
98
100
  return [4 /*yield*/, fs_extra_1.default.readJson(packageJsonPath)];
99
101
  case 4:
100
102
  modified = _a.sent();
101
- expect(modified.dependencies.payload).not.toBe('0.0.1');
103
+ expect(modified.dependencies.payload).not.toBe(originalPayloadVersion);
102
104
  return [2 /*return*/];
103
105
  }
104
106
  });
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getPackageManager = void 0;
43
+ var command_exists_1 = __importDefault(require("command-exists"));
44
+ function getPackageManager(args) {
45
+ return __awaiter(this, void 0, void 0, function () {
46
+ var packageManager, error_1;
47
+ return __generator(this, function (_a) {
48
+ switch (_a.label) {
49
+ case 0:
50
+ if (!args['--use-npm']) return [3 /*break*/, 1];
51
+ packageManager = 'npm';
52
+ return [3 /*break*/, 4];
53
+ case 1:
54
+ _a.trys.push([1, 3, , 4]);
55
+ return [4 /*yield*/, (0, command_exists_1.default)('yarn')];
56
+ case 2:
57
+ _a.sent();
58
+ packageManager = 'yarn';
59
+ return [3 /*break*/, 4];
60
+ case 3:
61
+ error_1 = _a.sent();
62
+ packageManager = 'npm';
63
+ return [3 /*break*/, 4];
64
+ case 4: return [2 /*return*/, packageManager];
65
+ }
66
+ });
67
+ });
68
+ }
69
+ exports.getPackageManager = getPackageManager;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getLatestPayloadVersion = void 0;
43
+ var execa_1 = __importDefault(require("execa"));
44
+ var log_1 = require("../utils/log");
45
+ function getLatestPayloadVersion(betaFlag) {
46
+ if (betaFlag === void 0) { betaFlag = false; }
47
+ return __awaiter(this, void 0, void 0, function () {
48
+ var packageWithTag, stdout, err_1, msg;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ _a.trys.push([0, 2, , 3]);
53
+ packageWithTag = 'payload';
54
+ if (betaFlag)
55
+ packageWithTag += '@beta';
56
+ return [4 /*yield*/, (0, execa_1.default)("npm info ".concat(packageWithTag, " version"), [], {
57
+ shell: true,
58
+ })];
59
+ case 1:
60
+ stdout = (_a.sent()).stdout;
61
+ return [2 /*return*/, "^".concat(stdout)];
62
+ case 2:
63
+ err_1 = _a.sent();
64
+ msg = "Unable to get latest Payload version.";
65
+ if (err_1 instanceof Error)
66
+ msg += " ".concat(err_1.message);
67
+ (0, log_1.error)(msg);
68
+ process.exit(1);
69
+ return [3 /*break*/, 3];
70
+ case 3: return [2 /*return*/];
71
+ }
72
+ });
73
+ });
74
+ }
75
+ exports.getLatestPayloadVersion = getLatestPayloadVersion;
@@ -41,7 +41,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  exports.parseTemplate = void 0;
43
43
  var prompts_1 = __importDefault(require("prompts"));
44
- var usage_1 = require("../utils/usage");
45
44
  function parseTemplate(args, validTemplates, language) {
46
45
  return __awaiter(this, void 0, void 0, function () {
47
46
  var templateName_1, template_1, filteredTemplates, response, template;
@@ -53,7 +52,6 @@ function parseTemplate(args, validTemplates, language) {
53
52
  template_1 = validTemplates.find(function (template) { return template.name === templateName_1; });
54
53
  if (!template_1)
55
54
  throw new Error('Invalid template given');
56
- (0, usage_1.setTags)({ template: template_1.name });
57
55
  return [2 /*return*/, template_1];
58
56
  }
59
57
  filteredTemplates = validTemplates
@@ -71,15 +69,12 @@ function parseTemplate(args, validTemplates, language) {
71
69
  onCancel: function () {
72
70
  process.exit(0);
73
71
  },
74
- })
75
- // const template = `${language}-${response.value}`
76
- ];
72
+ })];
77
73
  case 1:
78
74
  response = _a.sent();
79
75
  template = validTemplates.find(function (t) { return t.name === response.value; });
80
76
  if (!template)
81
77
  throw new Error('Template is undefined');
82
- (0, usage_1.setTags)({ template: template.name });
83
78
  return [2 /*return*/, template];
84
79
  }
85
80
  });
package/dist/main.js CHANGED
@@ -42,18 +42,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
42
42
  exports.Main = void 0;
43
43
  var slugify_1 = __importDefault(require("@sindresorhus/slugify"));
44
44
  var arg_1 = __importDefault(require("arg"));
45
- var command_exists_1 = __importDefault(require("command-exists"));
46
45
  var createProject_1 = require("./lib/createProject");
47
46
  var getDatabaseConnection_1 = require("./lib/getDatabaseConnection");
48
47
  var getPayloadSecret_1 = require("./lib/getPayloadSecret");
49
48
  var parseLanguage_1 = require("./lib/parseLanguage");
50
49
  var parseProjectName_1 = require("./lib/parseProjectName");
51
50
  var parseTemplate_1 = require("./lib/parseTemplate");
51
+ var telemetry_1 = require("./utils/telemetry");
52
52
  var templates_1 = require("./lib/templates");
53
53
  var writeEnvFile_1 = require("./lib/writeEnvFile");
54
54
  var log_1 = require("./utils/log");
55
55
  var messages_1 = require("./utils/messages");
56
- var usage_1 = require("./utils/usage");
56
+ var getPayloadVersion_1 = require("./lib/getPayloadVersion");
57
+ var getPackageManager_1 = require("./lib/getPackageManager");
57
58
  var Main = /** @class */ (function () {
58
59
  function Main() {
59
60
  this.args = (0, arg_1.default)({
@@ -73,72 +74,78 @@ var Main = /** @class */ (function () {
73
74
  }
74
75
  Main.prototype.init = function () {
75
76
  return __awaiter(this, void 0, void 0, function () {
76
- var _a, _b, templateArg, valid, _c, _d, projectName, language, validTemplates, template, databaseUri, payloadSecret, projectDir, packageManager, _e, _f, error_1;
77
- return __generator(this, function (_g) {
78
- switch (_g.label) {
77
+ var _a, _b, templateArg, valid, _c, _d, projectName, language, validTemplates, template, databaseUri, payloadSecret, projectDir, packageManager, payloadVersion, error_1;
78
+ return __generator(this, function (_e) {
79
+ switch (_e.label) {
79
80
  case 0:
80
- _g.trys.push([0, 17, , 18]);
81
+ _e.trys.push([0, 17, , 18]);
81
82
  if (!this.args['--help']) return [3 /*break*/, 2];
82
83
  _b = (_a = console).log;
83
84
  return [4 /*yield*/, (0, messages_1.helpMessage)()];
84
85
  case 1:
85
- _b.apply(_a, [_g.sent()]);
86
+ _b.apply(_a, [_e.sent()]);
86
87
  process.exit(0);
87
- _g.label = 2;
88
+ _e.label = 2;
88
89
  case 2:
89
90
  templateArg = this.args['--template'];
90
91
  if (!templateArg) return [3 /*break*/, 5];
91
92
  return [4 /*yield*/, (0, templates_1.validateTemplate)(templateArg)];
92
93
  case 3:
93
- valid = _g.sent();
94
+ valid = _e.sent();
94
95
  if (!!valid) return [3 /*break*/, 5];
95
96
  _d = (_c = console).log;
96
97
  return [4 /*yield*/, (0, messages_1.helpMessage)()];
97
98
  case 4:
98
- _d.apply(_c, [_g.sent()]);
99
+ _d.apply(_c, [_e.sent()]);
99
100
  process.exit(1);
100
- _g.label = 5;
101
+ _e.label = 5;
101
102
  case 5:
102
103
  console.log(messages_1.welcomeMessage);
103
104
  return [4 /*yield*/, (0, parseProjectName_1.parseProjectName)(this.args)];
104
105
  case 6:
105
- projectName = _g.sent();
106
+ projectName = _e.sent();
106
107
  return [4 /*yield*/, (0, parseLanguage_1.parseLanguage)(this.args)];
107
108
  case 7:
108
- language = _g.sent();
109
+ language = _e.sent();
109
110
  return [4 /*yield*/, (0, templates_1.getValidTemplates)()];
110
111
  case 8:
111
- validTemplates = _g.sent();
112
+ validTemplates = _e.sent();
112
113
  return [4 /*yield*/, (0, parseTemplate_1.parseTemplate)(this.args, validTemplates, language)];
113
114
  case 9:
114
- template = _g.sent();
115
+ template = _e.sent();
115
116
  return [4 /*yield*/, (0, getDatabaseConnection_1.getDatabaseConnection)(this.args, projectName)];
116
117
  case 10:
117
- databaseUri = _g.sent();
118
+ databaseUri = _e.sent();
118
119
  return [4 /*yield*/, (0, getPayloadSecret_1.getPayloadSecret)(this.args)];
119
120
  case 11:
120
- payloadSecret = _g.sent();
121
+ payloadSecret = _e.sent();
121
122
  projectDir = "./".concat((0, slugify_1.default)(projectName));
122
- return [4 /*yield*/, getPackageManager(this.args)];
123
+ return [4 /*yield*/, (0, getPackageManager_1.getPackageManager)(this.args)];
123
124
  case 12:
124
- packageManager = _g.sent();
125
- if (!!this.args['--dry-run']) return [3 /*break*/, 15];
126
- return [4 /*yield*/, (0, createProject_1.createProject)(this.args, projectDir, template, packageManager)];
125
+ packageManager = _e.sent();
126
+ return [4 /*yield*/, (0, getPayloadVersion_1.getLatestPayloadVersion)(this.args['--beta'])];
127
127
  case 13:
128
- _g.sent();
129
- return [4 /*yield*/, (0, writeEnvFile_1.writeEnvFile)(projectName, databaseUri, payloadSecret)];
128
+ payloadVersion = _e.sent();
129
+ if (!!this.args['--dry-run']) return [3 /*break*/, 16];
130
+ return [4 /*yield*/, (0, createProject_1.createProject)(this.args, projectDir, template, packageManager, payloadVersion)];
130
131
  case 14:
131
- _g.sent();
132
- _g.label = 15;
132
+ _e.sent();
133
+ return [4 /*yield*/, (0, writeEnvFile_1.writeEnvFile)(projectName, databaseUri, payloadSecret)];
133
134
  case 15:
134
- (0, log_1.success)('Payload project successfully created');
135
- _f = (_e = console).log;
136
- return [4 /*yield*/, (0, messages_1.successMessage)(projectDir, packageManager)];
135
+ _e.sent();
136
+ (0, telemetry_1.sendAnonymousAnalytics)({
137
+ projectDir: projectDir,
138
+ packageManager: packageManager,
139
+ template: template.name,
140
+ payloadVersion: payloadVersion,
141
+ });
142
+ _e.label = 16;
137
143
  case 16:
138
- _f.apply(_e, [_g.sent()]);
144
+ (0, log_1.success)('Payload project successfully created');
145
+ console.log((0, messages_1.successMessage)(projectDir, packageManager));
139
146
  return [3 /*break*/, 18];
140
147
  case 17:
141
- error_1 = _g.sent();
148
+ error_1 = _e.sent();
142
149
  console.log(error_1);
143
150
  return [3 /*break*/, 18];
144
151
  case 18: return [2 /*return*/];
@@ -149,30 +156,3 @@ var Main = /** @class */ (function () {
149
156
  return Main;
150
157
  }());
151
158
  exports.Main = Main;
152
- function getPackageManager(args) {
153
- return __awaiter(this, void 0, void 0, function () {
154
- var packageManager, error_2;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0:
158
- if (!args['--use-npm']) return [3 /*break*/, 1];
159
- packageManager = 'npm';
160
- return [3 /*break*/, 4];
161
- case 1:
162
- _a.trys.push([1, 3, , 4]);
163
- return [4 /*yield*/, (0, command_exists_1.default)('yarn')];
164
- case 2:
165
- _a.sent();
166
- packageManager = 'yarn';
167
- return [3 /*break*/, 4];
168
- case 3:
169
- error_2 = _a.sent();
170
- packageManager = 'npm';
171
- return [3 /*break*/, 4];
172
- case 4:
173
- (0, usage_1.setTags)({ package_manager: packageManager });
174
- return [2 /*return*/, packageManager];
175
- }
176
- });
177
- });
178
- }
@@ -13,10 +13,6 @@ app.get('/', (_, res) => {
13
13
  payload.init({
14
14
  secret: process.env.PAYLOAD_SECRET,
15
15
  mongoURL: process.env.MONGODB_URI,
16
-
17
- // Only needed to deploy publicly. Get free Personal license at https://payloadcms.com.
18
- // license: process.env.PAYLOAD_LICENSE_KEY,
19
-
20
16
  express: app,
21
17
  onInit: () => {
22
18
  payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`);
@@ -25,4 +21,4 @@ payload.init({
25
21
 
26
22
  // Add your own express routes here
27
23
 
28
- app.listen(3000);
24
+ app.listen(3000);
@@ -13,10 +13,6 @@ app.get('/', (_, res) => {
13
13
  payload.init({
14
14
  secret: process.env.PAYLOAD_SECRET,
15
15
  mongoURL: process.env.MONGODB_URI,
16
-
17
- // Only needed to deploy publicly. Get free Personal license at https://payloadcms.com.
18
- // license: process.env.PAYLOAD_LICENSE_KEY,
19
-
20
16
  express: app,
21
17
  onInit: () => {
22
18
  payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`);
@@ -25,4 +21,4 @@ payload.init({
25
21
 
26
22
  // Add your own express routes here
27
23
 
28
- app.listen(3000);
24
+ app.listen(3000);
@@ -13,10 +13,6 @@ app.get('/', (_, res) => {
13
13
  payload.init({
14
14
  secret: process.env.PAYLOAD_SECRET,
15
15
  mongoURL: process.env.MONGODB_URI,
16
-
17
- // Only needed to deploy publicly. Get free Personal license at https://payloadcms.com.
18
- // license: process.env.PAYLOAD_LICENSE_KEY,
19
-
20
16
  express: app,
21
17
  onInit: () => {
22
18
  payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`);
@@ -25,4 +21,4 @@ payload.init({
25
21
 
26
22
  // Add your own express routes here
27
23
 
28
- app.listen(3000);
24
+ app.listen(3000);
@@ -13,10 +13,6 @@ app.get('/', (_, res) => {
13
13
  payload.init({
14
14
  secret: process.env.PAYLOAD_SECRET,
15
15
  mongoURL: process.env.MONGODB_URI,
16
-
17
- // Only needed to deploy publicly. Get free Personal license at https://payloadcms.com.
18
- // license: process.env.PAYLOAD_LICENSE_KEY,
19
-
20
16
  express: app,
21
17
  onInit: () => {
22
18
  payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`)
@@ -25,4 +21,4 @@ payload.init({
25
21
 
26
22
  // Add your own express routes here
27
23
 
28
- app.listen(3000);
24
+ app.listen(3000);
@@ -13,10 +13,6 @@ app.get('/', (_, res) => {
13
13
  payload.init({
14
14
  secret: process.env.PAYLOAD_SECRET,
15
15
  mongoURL: process.env.MONGODB_URI,
16
-
17
- // Only needed to deploy publicly. Get free Personal license at https://payloadcms.com.
18
- // license: process.env.PAYLOAD_LICENSE_KEY,
19
-
20
16
  express: app,
21
17
  onInit: () => {
22
18
  payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`)
@@ -25,4 +21,4 @@ payload.init({
25
21
 
26
22
  // Add your own express routes here
27
23
 
28
- app.listen(3000);
24
+ app.listen(3000);
@@ -13,10 +13,6 @@ app.get('/', (_, res) => {
13
13
  payload.init({
14
14
  secret: process.env.PAYLOAD_SECRET,
15
15
  mongoURL: process.env.MONGODB_URI,
16
-
17
- // Only needed to deploy publicly. Get free Personal license at https://payloadcms.com.
18
- // license: process.env.PAYLOAD_LICENSE_KEY,
19
-
20
16
  express: app,
21
17
  onInit: () => {
22
18
  payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`)
@@ -25,4 +21,4 @@ payload.init({
25
21
 
26
22
  // Add your own express routes here
27
23
 
28
- app.listen(3000);
24
+ app.listen(3000);
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sendAnonymousAnalytics = void 0;
7
+ var analytics_node_1 = __importDefault(require("analytics-node"));
8
+ var crypto_1 = require("crypto");
9
+ var os_1 = __importDefault(require("os"));
10
+ var constants_1 = require("../lib/constants");
11
+ var analytics = new analytics_node_1.default(constants_1.SEGMENT_WRITE_KEY, { flushAt: 1 });
12
+ var userId;
13
+ function sendAnonymousAnalytics(meta) {
14
+ try {
15
+ var projectDir = meta.projectDir, template = meta.template, packageManager = meta.packageManager;
16
+ userId = userId !== null && userId !== void 0 ? userId : oneWayHash(projectDir);
17
+ analytics.track({
18
+ userId: userId,
19
+ event: 'ProjectInitiated',
20
+ properties: {
21
+ systemPlatform: os_1.default.platform(),
22
+ systemRelease: os_1.default.release(),
23
+ systemArchitecture: os_1.default.arch(),
24
+ nodeVersion: process.version,
25
+ nodeEnv: process.env.NODE_ENV,
26
+ template: template,
27
+ packageManager: packageManager,
28
+ },
29
+ });
30
+ }
31
+ catch (error) {
32
+ // Eat any errors
33
+ }
34
+ }
35
+ exports.sendAnonymousAnalytics = sendAnonymousAnalytics;
36
+ /** Hash values one-way to ensure anonymity */
37
+ function oneWayHash(payload) {
38
+ var hash = (0, crypto_1.createHash)('sha256');
39
+ // Prepend salt to ensure truly one-way hashing.
40
+ hash.update((0, crypto_1.randomBytes)(16).toString('hex'));
41
+ // This appends the payload to the hash. The salt is from prior update still present!
42
+ hash.update(payload);
43
+ return hash.digest('hex');
44
+ }
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "typecheck": "tsc --noEmit",
11
11
  "lint": "eslint \"src/**/*.ts\"",
12
12
  "test": "jest",
13
- "prepublish": "yarn test && yarn build"
13
+ "prepublishOnly": "yarn test && yarn build"
14
14
  },
15
15
  "files": [
16
16
  "package.json",
@@ -18,8 +18,8 @@
18
18
  "bin"
19
19
  ],
20
20
  "dependencies": {
21
- "@sentry/node": "^6.18.2",
22
21
  "@sindresorhus/slugify": "^1.1.0",
22
+ "analytics-node": "^6.0.0",
23
23
  "arg": "^5.0.0",
24
24
  "chalk": "^4.1.0",
25
25
  "command-exists": "^1.2.9",
@@ -31,8 +31,9 @@
31
31
  "prompts": "^2.4.0",
32
32
  "terminal-link": "^2.1.1"
33
33
  },
34
- "version": "0.3.7-beta.0",
34
+ "version": "0.3.9-beta.0",
35
35
  "devDependencies": {
36
+ "@types/analytics-node": "^3.1.9",
36
37
  "@types/command-exists": "^1.2.0",
37
38
  "@types/degit": "^2.8.3",
38
39
  "@types/fs-extra": "^9.0.12",