create-payload-app 0.3.3 → 0.3.6

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.
@@ -95,14 +95,20 @@ function installDeps(args, dir, packageManager) {
95
95
  });
96
96
  });
97
97
  }
98
- function getLatestPayloadVersion() {
98
+ function getLatestPayloadVersion(betaFlag) {
99
+ if (betaFlag === void 0) { betaFlag = false; }
99
100
  return __awaiter(this, void 0, void 0, function () {
100
- var stdout, error_2;
101
+ var packageWithTag, stdout, error_2;
101
102
  return __generator(this, function (_a) {
102
103
  switch (_a.label) {
103
104
  case 0:
104
105
  _a.trys.push([0, 2, , 3]);
105
- return [4 /*yield*/, execa_1.default('npm info payload version', [], { shell: true })];
106
+ packageWithTag = 'payload';
107
+ if (betaFlag)
108
+ packageWithTag += '@beta';
109
+ return [4 /*yield*/, execa_1.default("npm info " + packageWithTag + " version", [], {
110
+ shell: true,
111
+ })];
106
112
  case 1:
107
113
  stdout = (_a.sent()).stdout;
108
114
  return [2 /*return*/, "^" + stdout];
@@ -115,12 +121,13 @@ function getLatestPayloadVersion() {
115
121
  });
116
122
  }
117
123
  exports.getLatestPayloadVersion = getLatestPayloadVersion;
118
- function updatePayloadVersion(projectDir) {
124
+ function updatePayloadVersion(projectDir, betaFlag) {
125
+ if (betaFlag === void 0) { betaFlag = false; }
119
126
  return __awaiter(this, void 0, void 0, function () {
120
127
  var payloadVersion, packageJsonPath, packageObj, err_1;
121
128
  return __generator(this, function (_a) {
122
129
  switch (_a.label) {
123
- case 0: return [4 /*yield*/, getLatestPayloadVersion()];
130
+ case 0: return [4 /*yield*/, getLatestPayloadVersion(betaFlag)];
124
131
  case 1:
125
132
  payloadVersion = _a.sent();
126
133
  if (!payloadVersion) {
@@ -181,7 +188,7 @@ function createProject(args, projectDir, template, packageManager) {
181
188
  return [3 /*break*/, 6];
182
189
  case 6:
183
190
  spinner = ora_1.default('Checking latest Payload version...').start();
184
- return [4 /*yield*/, updatePayloadVersion(projectDir)];
191
+ return [4 /*yield*/, updatePayloadVersion(projectDir, args['--beta'])];
185
192
  case 7:
186
193
  _a.sent();
187
194
  spinner.text = 'Installing dependencies...';
@@ -46,10 +46,16 @@ describe('createProject', function () {
46
46
  var projectDir = path_1.default.resolve(__dirname, './tmp');
47
47
  beforeAll(function () {
48
48
  console.log = jest.fn();
49
- fs_extra_1.default.rmdirSync(projectDir, { recursive: true });
49
+ });
50
+ beforeEach(function () {
51
+ if (fs_extra_1.default.existsSync(projectDir)) {
52
+ fs_extra_1.default.rmdirSync(projectDir, { recursive: true });
53
+ }
50
54
  });
51
55
  afterEach(function () {
52
- fs_extra_1.default.rmdirSync(projectDir, { recursive: true });
56
+ if (fs_extra_1.default.existsSync(projectDir)) {
57
+ fs_extra_1.default.rmdirSync(projectDir, { recursive: true });
58
+ }
53
59
  });
54
60
  describe('#createProject', function () {
55
61
  var args = { _: ['project-name'], '--no-deps': true };
package/dist/main.js CHANGED
@@ -65,6 +65,7 @@ var Main = /** @class */ (function () {
65
65
  '--use-npm': Boolean,
66
66
  '--no-deps': Boolean,
67
67
  '--dry-run': Boolean,
68
+ '--beta': Boolean,
68
69
  '-h': '--help',
69
70
  '-n': '--name',
70
71
  '-t': '--template',
@@ -1,11 +1,3 @@
1
- const onlyNameIfPublic = ({ req: { user }, doc }) => {
2
- // Only return name if not logged in
3
- if (!user) {
4
- return { name: doc.name };
5
- }
6
- return doc;
7
- };
8
-
9
1
  const Users = {
10
2
  slug: 'users',
11
3
  auth: true,
@@ -15,9 +7,6 @@ const Users = {
15
7
  access: {
16
8
  read: () => true,
17
9
  },
18
- hooks: {
19
- beforeRead: [onlyNameIfPublic]
20
- },
21
10
  fields: [
22
11
  // Email added by default
23
12
  {
@@ -1,14 +1,5 @@
1
- import { BeforeReadHook } from 'payload/dist/collections/config/types';
2
1
  import { CollectionConfig } from 'payload/types';
3
2
 
4
- const onlyNameIfPublic: BeforeReadHook = ({ req: { user }, doc }) => {
5
- // Only return name if not logged in
6
- if (!user) {
7
- return { name: doc.name };
8
- }
9
- return doc;
10
- };
11
-
12
3
  const Users: CollectionConfig = {
13
4
  slug: 'users',
14
5
  auth: true,
@@ -18,9 +9,6 @@ const Users: CollectionConfig = {
18
9
  access: {
19
10
  read: () => true,
20
11
  },
21
- hooks: {
22
- beforeRead: [onlyNameIfPublic]
23
- },
24
12
  fields: [
25
13
  // Email added by default
26
14
  {
@@ -60,7 +60,7 @@ function helpMessage() {
60
60
  case 0: return [4 /*yield*/, templates_1.getValidTemplates()];
61
61
  case 1:
62
62
  validTemplates = _a.sent();
63
- return [2 /*return*/, chalk_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n {bold USAGE}\n\n {dim $} {bold npx create-payload-app}\n\n {bold OPTIONS}\n\n --name {underline my-payload-app} Set project name\n --template {underline template_name} Choose specific template\n\n {dim Available templates: ", "}\n\n --use-npm Use npm to install dependencies\n --no-deps Do not install any dependencies\n --help Show help\n"], ["\n {bold USAGE}\n\n {dim $} {bold npx create-payload-app}\n\n {bold OPTIONS}\n\n --name {underline my-payload-app} Set project name\n --template {underline template_name} Choose specific template\n\n {dim Available templates: ", "}\n\n --use-npm Use npm to install dependencies\n --no-deps Do not install any dependencies\n --help Show help\n"])), validTemplates.join(', '))];
63
+ return [2 /*return*/, chalk_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n {bold USAGE}\n\n {dim $} {bold npx create-payload-app}\n\n {bold OPTIONS}\n\n --name {underline my-payload-app} Set project name\n --template {underline template_name} Choose specific template\n\n {dim Available templates: ", "}\n\n --use-npm Use npm to install dependencies\n --no-deps Do not install any dependencies\n --help Show help\n"], ["\n {bold USAGE}\n\n {dim $} {bold npx create-payload-app}\n\n {bold OPTIONS}\n\n --name {underline my-payload-app} Set project name\n --template {underline template_name} Choose specific template\n\n {dim Available templates: ", "}\n\n --use-npm Use npm to install dependencies\n --no-deps Do not install any dependencies\n --help Show help\n"])), validTemplates.map(function (t) { return t.name; }).join(', '))];
64
64
  }
65
65
  });
66
66
  });
package/package.json CHANGED
@@ -31,7 +31,7 @@
31
31
  "prompts": "^2.4.0",
32
32
  "terminal-link": "^2.1.1"
33
33
  },
34
- "version": "0.3.3",
34
+ "version": "0.3.6",
35
35
  "devDependencies": {
36
36
  "@types/command-exists": "^1.2.0",
37
37
  "@types/degit": "^2.8.3",
@@ -1,130 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __generator = (this && this.__generator) || function (thisArg, body) {
31
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
- function verb(n) { return function (v) { return step([n, v]); }; }
34
- function step(op) {
35
- if (f) throw new TypeError("Generator is already executing.");
36
- while (_) try {
37
- 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;
38
- if (y = 0, t) op = [op[0] & 2, t.value];
39
- switch (op[0]) {
40
- case 0: case 1: t = op; break;
41
- case 4: _.label++; return { value: op[1], done: false };
42
- case 5: _.label++; y = op[1]; op = [0]; continue;
43
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
- default:
45
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
- if (t[2]) _.ops.pop();
50
- _.trys.pop(); continue;
51
- }
52
- op = body.call(thisArg, _);
53
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
- }
56
- };
57
- var __importDefault = (this && this.__importDefault) || function (mod) {
58
- return (mod && mod.__esModule) ? mod : { "default": mod };
59
- };
60
- Object.defineProperty(exports, "__esModule", { value: true });
61
- exports.createProjectFromGitHub = void 0;
62
- var node_fetch_1 = __importDefault(require("node-fetch"));
63
- var path_1 = __importDefault(require("path"));
64
- var fs_extra_1 = __importStar(require("fs-extra"));
65
- var stream_1 = require("stream");
66
- var util_1 = require("util");
67
- var streamPipeline = util_1.promisify(stream_1.pipeline);
68
- function createProjectFromGitHub(sha, remoteFilePath, dest) {
69
- return __awaiter(this, void 0, void 0, function () {
70
- var latestCommitSha, res, tree;
71
- var _this = this;
72
- return __generator(this, function (_a) {
73
- switch (_a.label) {
74
- case 0: return [4 /*yield*/, getLatestCommitSha()];
75
- case 1:
76
- latestCommitSha = _a.sent();
77
- return [4 /*yield*/, node_fetch_1.default("https://api.github.com/repos/payloadcms/payload/git/trees/" + latestCommitSha + "?recursive=1")];
78
- case 2:
79
- res = _a.sent();
80
- return [4 /*yield*/, res.json()];
81
- case 3:
82
- tree = (_a.sent()).tree;
83
- return [4 /*yield*/, Promise.all(tree.map(function (item) { return __awaiter(_this, void 0, void 0, function () {
84
- var destFile, fileDetails, fileContent;
85
- return __generator(this, function (_a) {
86
- switch (_a.label) {
87
- case 0:
88
- console.log(item.path);
89
- if (!(item.type === 'blob' && item.path.startsWith(remoteFilePath))) return [3 /*break*/, 5];
90
- destFile = path_1.default.join(dest, item.path.replace(remoteFilePath, ''));
91
- return [4 /*yield*/, fs_extra_1.default.ensureDir(path_1.default.dirname(destFile))];
92
- case 1:
93
- _a.sent();
94
- return [4 /*yield*/, node_fetch_1.default(item.url)];
95
- case 2: return [4 /*yield*/, (_a.sent()).json()];
96
- case 3:
97
- fileDetails = (_a.sent());
98
- fileContent = Buffer.from(fileDetails.content, 'base64').toString();
99
- return [4 /*yield*/, streamPipeline(fileContent, fs_extra_1.createWriteStream(destFile))];
100
- case 4:
101
- _a.sent();
102
- _a.label = 5;
103
- case 5: return [2 /*return*/];
104
- }
105
- });
106
- }); }))];
107
- case 4:
108
- _a.sent();
109
- return [2 /*return*/];
110
- }
111
- });
112
- });
113
- }
114
- exports.createProjectFromGitHub = createProjectFromGitHub;
115
- function getLatestCommitSha() {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var res, commits;
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0: return [4 /*yield*/, node_fetch_1.default("https://api.github.com/repos/payloadcms/payload/commits")];
121
- case 1:
122
- res = _a.sent();
123
- return [4 /*yield*/, res.json()];
124
- case 2:
125
- commits = _a.sent();
126
- return [2 /*return*/, commits[0].sha];
127
- }
128
- });
129
- });
130
- }