create-payload-app 0.3.1 → 0.3.5
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/lib/createProject.js +36 -28
- package/dist/main.js +1 -0
- package/dist/templates/js-blank/server.js +5 -0
- package/dist/templates/js-blog/collections/Users.js +0 -11
- package/dist/templates/js-blog/server.js +5 -0
- package/dist/templates/js-todo/server.js +5 -0
- package/dist/templates/ts-blank/src/server.ts +5 -0
- package/dist/templates/ts-blog/src/collections/Users.ts +0 -12
- package/dist/templates/ts-blog/src/server.ts +5 -0
- package/dist/templates/ts-todo/src/server.ts +5 -0
- package/package.json +7 -5
@@ -50,19 +50,19 @@ var log_1 = require("../utils/log");
|
|
50
50
|
var usage_1 = require("../utils/usage");
|
51
51
|
function createProjectDir(projectDir) {
|
52
52
|
return __awaiter(this, void 0, void 0, function () {
|
53
|
-
var
|
53
|
+
var pathExists;
|
54
54
|
return __generator(this, function (_a) {
|
55
55
|
switch (_a.label) {
|
56
|
-
case 0: return [4 /*yield*/, fs_extra_1.default.
|
56
|
+
case 0: return [4 /*yield*/, fs_extra_1.default.pathExists(projectDir)];
|
57
57
|
case 1:
|
58
|
-
_a.sent();
|
59
|
-
|
60
|
-
|
61
|
-
readDir = _a.sent();
|
62
|
-
if (readDir && readDir.length > 0) {
|
63
|
-
log_1.error("The project directory '" + projectDir + "' is not empty");
|
58
|
+
pathExists = _a.sent();
|
59
|
+
if (pathExists) {
|
60
|
+
log_1.error("The project directory '" + projectDir + "' already exists");
|
64
61
|
process.exit(1);
|
65
62
|
}
|
63
|
+
return [4 /*yield*/, fs_extra_1.default.mkdir(projectDir)];
|
64
|
+
case 2:
|
65
|
+
_a.sent();
|
66
66
|
return [2 /*return*/];
|
67
67
|
}
|
68
68
|
});
|
@@ -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
|
-
|
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) {
|
@@ -155,37 +162,38 @@ function createProject(args, projectDir, template, packageManager) {
|
|
155
162
|
var templateDir, emitter, err_2, msg, spinner, result;
|
156
163
|
return __generator(this, function (_a) {
|
157
164
|
switch (_a.label) {
|
158
|
-
case 0:
|
159
|
-
|
165
|
+
case 0: return [4 /*yield*/, createProjectDir(projectDir)];
|
166
|
+
case 1:
|
167
|
+
_a.sent();
|
160
168
|
templateDir = path_1.default.resolve(__dirname, "../templates/" + template.name);
|
161
169
|
console.log("\n Creating a new Payload app in " + chalk_1.default.green(path_1.default.resolve(projectDir)) + "\n");
|
162
|
-
if (!(template.type === 'starter')) return [3 /*break*/,
|
170
|
+
if (!(template.type === 'starter')) return [3 /*break*/, 3];
|
163
171
|
emitter = degit_1.default(template.url);
|
164
172
|
return [4 /*yield*/, emitter.clone(projectDir)];
|
165
|
-
case 1:
|
166
|
-
_a.sent();
|
167
|
-
return [3 /*break*/, 5];
|
168
173
|
case 2:
|
169
|
-
_a.
|
170
|
-
return [
|
174
|
+
_a.sent();
|
175
|
+
return [3 /*break*/, 6];
|
171
176
|
case 3:
|
177
|
+
_a.trys.push([3, 5, , 6]);
|
178
|
+
return [4 /*yield*/, fs_extra_1.default.copy(templateDir, projectDir, { recursive: true })];
|
179
|
+
case 4:
|
172
180
|
_a.sent();
|
173
181
|
log_1.success('Project directory created');
|
174
|
-
return [3 /*break*/,
|
175
|
-
case
|
182
|
+
return [3 /*break*/, 6];
|
183
|
+
case 5:
|
176
184
|
err_2 = _a.sent();
|
177
185
|
msg = 'Unable to copy template files. Please check template name or directory permissions.';
|
178
186
|
log_1.error(msg);
|
179
187
|
process.exit(1);
|
180
|
-
return [3 /*break*/,
|
181
|
-
case 5:
|
182
|
-
spinner = ora_1.default('Checking latest Payload version...').start();
|
183
|
-
return [4 /*yield*/, updatePayloadVersion(projectDir)];
|
188
|
+
return [3 /*break*/, 6];
|
184
189
|
case 6:
|
190
|
+
spinner = ora_1.default('Checking latest Payload version...').start();
|
191
|
+
return [4 /*yield*/, updatePayloadVersion(projectDir, args['--beta'])];
|
192
|
+
case 7:
|
185
193
|
_a.sent();
|
186
194
|
spinner.text = 'Installing dependencies...';
|
187
195
|
return [4 /*yield*/, installDeps(args, projectDir, packageManager)];
|
188
|
-
case
|
196
|
+
case 8:
|
189
197
|
result = _a.sent();
|
190
198
|
spinner.stop();
|
191
199
|
spinner.clear();
|
package/dist/main.js
CHANGED
@@ -4,6 +4,11 @@ const payload = require('payload');
|
|
4
4
|
require('dotenv').config();
|
5
5
|
const app = express();
|
6
6
|
|
7
|
+
// Redirect root to Admin panel
|
8
|
+
app.get('/', (_, res) => {
|
9
|
+
res.redirect('/admin');
|
10
|
+
});
|
11
|
+
|
7
12
|
// Initialize Payload
|
8
13
|
payload.init({
|
9
14
|
secret: process.env.PAYLOAD_SECRET,
|
@@ -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
|
{
|
@@ -4,6 +4,11 @@ const payload = require('payload');
|
|
4
4
|
require('dotenv').config();
|
5
5
|
const app = express();
|
6
6
|
|
7
|
+
// Redirect root to Admin panel
|
8
|
+
app.get('/', (_, res) => {
|
9
|
+
res.redirect('/admin');
|
10
|
+
});
|
11
|
+
|
7
12
|
// Initialize Payload
|
8
13
|
payload.init({
|
9
14
|
secret: process.env.PAYLOAD_SECRET,
|
@@ -4,6 +4,11 @@ const payload = require('payload');
|
|
4
4
|
require('dotenv').config();
|
5
5
|
const app = express();
|
6
6
|
|
7
|
+
// Redirect root to Admin panel
|
8
|
+
app.get('/', (_, res) => {
|
9
|
+
res.redirect('/admin');
|
10
|
+
});
|
11
|
+
|
7
12
|
// Initialize Payload
|
8
13
|
payload.init({
|
9
14
|
secret: process.env.PAYLOAD_SECRET,
|
@@ -4,6 +4,11 @@ import payload from 'payload';
|
|
4
4
|
require('dotenv').config();
|
5
5
|
const app = express();
|
6
6
|
|
7
|
+
// Redirect root to Admin panel
|
8
|
+
app.get('/', (_, res) => {
|
9
|
+
res.redirect('/admin');
|
10
|
+
});
|
11
|
+
|
7
12
|
// Initialize Payload
|
8
13
|
payload.init({
|
9
14
|
secret: process.env.PAYLOAD_SECRET,
|
@@ -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
|
{
|
@@ -4,6 +4,11 @@ import payload from 'payload';
|
|
4
4
|
require('dotenv').config();
|
5
5
|
const app = express();
|
6
6
|
|
7
|
+
// Redirect root to Admin panel
|
8
|
+
app.get('/', (_, res) => {
|
9
|
+
res.redirect('/admin');
|
10
|
+
});
|
11
|
+
|
7
12
|
// Initialize Payload
|
8
13
|
payload.init({
|
9
14
|
secret: process.env.PAYLOAD_SECRET,
|
@@ -4,6 +4,11 @@ import payload from 'payload';
|
|
4
4
|
require('dotenv').config();
|
5
5
|
const app = express();
|
6
6
|
|
7
|
+
// Redirect root to Admin panel
|
8
|
+
app.get('/', (_, res) => {
|
9
|
+
res.redirect('/admin');
|
10
|
+
});
|
11
|
+
|
7
12
|
// Initialize Payload
|
8
13
|
payload.init({
|
9
14
|
secret: process.env.PAYLOAD_SECRET,
|
package/package.json
CHANGED
@@ -8,7 +8,9 @@
|
|
8
8
|
"build": "tsc && yarn copyfiles",
|
9
9
|
"copyfiles": "copyfiles -u 1 \"src/templates/**\" dist",
|
10
10
|
"typecheck": "tsc --noEmit",
|
11
|
-
"lint": "eslint \"src/**/*.ts\""
|
11
|
+
"lint": "eslint \"src/**/*.ts\"",
|
12
|
+
"test": "jest",
|
13
|
+
"prepublish": "yarn test && yarn build"
|
12
14
|
},
|
13
15
|
"files": [
|
14
16
|
"package.json",
|
@@ -29,12 +31,12 @@
|
|
29
31
|
"prompts": "^2.4.0",
|
30
32
|
"terminal-link": "^2.1.1"
|
31
33
|
},
|
32
|
-
"version": "0.3.
|
34
|
+
"version": "0.3.5",
|
33
35
|
"devDependencies": {
|
34
36
|
"@types/command-exists": "^1.2.0",
|
35
37
|
"@types/degit": "^2.8.3",
|
36
38
|
"@types/fs-extra": "^9.0.12",
|
37
|
-
"@types/jest": "^27.0.
|
39
|
+
"@types/jest": "^27.0.3",
|
38
40
|
"@types/node": "^16.6.2",
|
39
41
|
"@types/prompts": "^2.4.0",
|
40
42
|
"@typescript-eslint/eslint-plugin": "^4.29.2",
|
@@ -44,9 +46,9 @@
|
|
44
46
|
"eslint-config-airbnb-base": "^14.2.1",
|
45
47
|
"eslint-config-prettier": "^8.3.0",
|
46
48
|
"eslint-plugin-prettier": "^3.4.0",
|
47
|
-
"jest": "^27.
|
49
|
+
"jest": "^27.4.5",
|
48
50
|
"prettier": "^2.3.2",
|
49
|
-
"ts-jest": "^27.
|
51
|
+
"ts-jest": "^27.1.1",
|
50
52
|
"typescript": "^4.3.5"
|
51
53
|
}
|
52
54
|
}
|