create-blocklet 0.4.80 → 0.5.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/README.md +4 -4
- package/index.js +42 -65
- package/package.json +5 -6
- package/templates/docsite/package.json +4 -4
- package/templates/express-api/package.json +5 -5
- package/templates/html-static/package.json +2 -2
- package/templates/monorepo/package.json +1 -1
- package/templates/nextjs-dapp/.husky/pre-commit +0 -0
- package/templates/nextjs-dapp/package.json +7 -7
- package/templates/react-dapp/.husky/pre-commit +0 -0
- package/templates/react-dapp/api/dev.js +4 -0
- package/templates/react-dapp/api/index.js +10 -12
- package/templates/react-dapp/index.html +0 -1
- package/templates/react-dapp/package.json +11 -14
- package/templates/react-dapp/vite.config.js +3 -28
- package/templates/react-gun-dapp/.husky/pre-commit +0 -0
- package/templates/react-gun-dapp/api/dev.js +4 -0
- package/templates/react-gun-dapp/api/index.js +4 -12
- package/templates/react-gun-dapp/index.html +0 -1
- package/templates/react-gun-dapp/package.json +15 -17
- package/templates/react-gun-dapp/vite.config.js +3 -33
- package/templates/react-static/.husky/pre-commit +0 -0
- package/templates/react-static/index.html +0 -1
- package/templates/react-static/package.json +8 -9
- package/templates/react-static/vite.config.js +3 -18
- package/templates/solidjs-dapp/.husky/pre-commit +0 -0
- package/templates/solidjs-dapp/api/dev.js +4 -0
- package/templates/solidjs-dapp/api/index.js +10 -12
- package/templates/solidjs-dapp/index.html +0 -1
- package/templates/solidjs-dapp/package.json +14 -17
- package/templates/solidjs-dapp/vite.config.js +3 -23
- package/templates/solidjs-static/.husky/pre-commit +0 -0
- package/templates/solidjs-static/index.html +0 -1
- package/templates/solidjs-static/package.json +7 -8
- package/templates/solidjs-static/vite.config.js +3 -17
- package/templates/svelte-dapp/.husky/pre-commit +0 -0
- package/templates/svelte-dapp/api/dev.js +4 -0
- package/templates/svelte-dapp/api/index.js +10 -12
- package/templates/svelte-dapp/index.html +0 -1
- package/templates/svelte-dapp/package.json +13 -15
- package/templates/svelte-dapp/vite.config.js +3 -23
- package/templates/svelte-static/.husky/pre-commit +0 -0
- package/templates/svelte-static/index.html +0 -1
- package/templates/svelte-static/package.json +6 -7
- package/templates/svelte-static/vite.config.js +3 -17
- package/templates/vue-dapp/.husky/pre-commit +0 -0
- package/templates/vue-dapp/api/dev.js +4 -0
- package/templates/vue-dapp/api/index.js +10 -12
- package/templates/vue-dapp/index.html +0 -1
- package/templates/vue-dapp/package.json +14 -17
- package/templates/vue-dapp/vite.config.js +3 -27
- package/templates/vue-static/.husky/pre-commit +0 -0
- package/templates/vue-static/index.html +0 -1
- package/templates/vue-static/package.json +7 -8
- package/templates/vue-static/vite.config.js +3 -17
- package/templates/vue2-dapp/.eslintrc.js +0 -3
- package/templates/vue2-dapp/.husky/pre-commit +0 -0
- package/templates/vue2-dapp/api/dev.js +4 -0
- package/templates/vue2-dapp/api/index.js +10 -12
- package/templates/vue2-dapp/{public/index.html → index.html} +4 -6
- package/templates/vue2-dapp/package.json +19 -24
- package/templates/vue2-dapp/vite.config.js +10 -0
- package/templates/vue2-static/.eslintrc.js +0 -3
- package/templates/vue2-static/.husky/pre-commit +0 -0
- package/templates/vue2-static/index.html +15 -0
- package/templates/vue2-static/package.json +13 -16
- package/templates/vue2-static/vite.config.js +10 -0
- package/templates/website/package.json +3 -3
- package/templates/react-dapp/.env +0 -2
- package/templates/react-gun-dapp/.env +0 -2
- package/templates/react-static/.env +0 -2
- package/templates/solidjs-dapp/.env +0 -1
- package/templates/solidjs-static/.env +0 -1
- package/templates/svelte-dapp/.env +0 -1
- package/templates/svelte-static/.env +0 -1
- package/templates/vue-dapp/.env +0 -1
- package/templates/vue-static/.env +0 -1
- package/templates/vue2-dapp/.env +0 -1
- package/templates/vue2-dapp/babel.config.js +0 -3
- package/templates/vue2-dapp/jsconfig.json +0 -19
- package/templates/vue2-dapp/vue.config.js +0 -25
- package/templates/vue2-static/.env +0 -1
- package/templates/vue2-static/babel.config.js +0 -3
- package/templates/vue2-static/jsconfig.json +0 -19
- package/templates/vue2-static/vue.config.js +0 -17
package/README.md
CHANGED
|
@@ -34,8 +34,8 @@ Currently supported template presets include:
|
|
|
34
34
|
**dapp**
|
|
35
35
|
|
|
36
36
|
- `react`
|
|
37
|
-
- `vue3
|
|
38
|
-
- `vue2
|
|
37
|
+
- `vue3`
|
|
38
|
+
- `vue2`
|
|
39
39
|
- `solid-js`
|
|
40
40
|
- `svelte`
|
|
41
41
|
- `next.js`
|
|
@@ -44,8 +44,8 @@ Currently supported template presets include:
|
|
|
44
44
|
**static**
|
|
45
45
|
|
|
46
46
|
- `react`
|
|
47
|
-
- `vue3
|
|
48
|
-
- `vue2
|
|
47
|
+
- `vue3`
|
|
48
|
+
- `vue2`
|
|
49
49
|
- `solid-js`
|
|
50
50
|
- `svelte`
|
|
51
51
|
- `website powered by blocklet pages`
|
package/index.js
CHANGED
|
@@ -8,7 +8,6 @@ import { cd, argv, fs, YAML, chalk, path } from 'zx';
|
|
|
8
8
|
import ora from 'ora';
|
|
9
9
|
import prompts from 'prompts';
|
|
10
10
|
import * as envfile from 'envfile';
|
|
11
|
-
import getPort from 'get-port';
|
|
12
11
|
|
|
13
12
|
import { echoBrand, echoDocument } from './lib/arcblock.js';
|
|
14
13
|
import { getUser } from './lib/index.js';
|
|
@@ -63,11 +62,12 @@ const templates = [
|
|
|
63
62
|
display: '[dapp] next.js',
|
|
64
63
|
color: blue,
|
|
65
64
|
},
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
// 暂时不用这个模板
|
|
66
|
+
// {
|
|
67
|
+
// name: 'react-gun-dapp',
|
|
68
|
+
// display: '[dapp] react + gun.js + express.js',
|
|
69
|
+
// color: blue,
|
|
70
|
+
// },
|
|
71
71
|
{
|
|
72
72
|
name: 'react-static',
|
|
73
73
|
display: '[static] react',
|
|
@@ -80,12 +80,12 @@ const templates = [
|
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
name: 'vue-static',
|
|
83
|
-
display: '[static] vue3
|
|
83
|
+
display: '[static] vue3',
|
|
84
84
|
color: green,
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
name: 'vue2-static',
|
|
88
|
-
display: '[static] vue2
|
|
88
|
+
display: '[static] vue2',
|
|
89
89
|
color: green,
|
|
90
90
|
},
|
|
91
91
|
{
|
|
@@ -121,7 +121,7 @@ const renameFiles = {
|
|
|
121
121
|
_npmrc: '.npmrc',
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
-
const excludeFiles = ['.github', '.husky', '.vscode', '.editorconfig', '_gitignore', '_npmrc', 'version']
|
|
124
|
+
const excludeFiles = ['.github', '.husky', '.vscode', '.editorconfig', '_gitignore', '_npmrc', 'version'];
|
|
125
125
|
|
|
126
126
|
async function init() {
|
|
127
127
|
const { version } = await fs.readJSONSync(path.resolve(__dirname, 'package.json'));
|
|
@@ -155,7 +155,8 @@ async function init() {
|
|
|
155
155
|
type: () => (!fs.existsSync(targetDir) || isEmpty(targetDir) ? null : 'confirm'),
|
|
156
156
|
name: 'overwrite',
|
|
157
157
|
message: () =>
|
|
158
|
-
`${
|
|
158
|
+
`${
|
|
159
|
+
targetDir === '.' ? 'Current directory' : `Target directory "${targetDir}"`
|
|
159
160
|
} is not empty. Remove existing files and continue?`,
|
|
160
161
|
},
|
|
161
162
|
{
|
|
@@ -177,38 +178,38 @@ async function init() {
|
|
|
177
178
|
...(inputTemplateName
|
|
178
179
|
? []
|
|
179
180
|
: [
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
return {
|
|
187
|
-
title: templateColor(template.display),
|
|
188
|
-
value: template.name,
|
|
189
|
-
};
|
|
190
|
-
}),
|
|
191
|
-
min: 1,
|
|
192
|
-
suggest: (input, choices) => Promise.resolve(choices.filter((i) => i.title.includes(input))),
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
type: (templateNames = []) => {
|
|
196
|
-
return templateNames.length > 1 ? 'select' : null;
|
|
197
|
-
},
|
|
198
|
-
name: 'mainBlocklet',
|
|
199
|
-
message: 'Please choose the main blocklet',
|
|
200
|
-
//
|
|
201
|
-
choices: (templateNames = []) =>
|
|
202
|
-
templateNames.map((templateName) => {
|
|
203
|
-
const template = templates.find((x) => x.name === templateName);
|
|
181
|
+
{
|
|
182
|
+
type: 'autocompleteMultiselect',
|
|
183
|
+
name: 'templateNames',
|
|
184
|
+
message: 'Choose one or more blocklet templates:',
|
|
185
|
+
choices: templates.map((template) => {
|
|
186
|
+
const templateColor = template.color;
|
|
204
187
|
return {
|
|
205
|
-
title: template.display,
|
|
188
|
+
title: templateColor(template.display),
|
|
206
189
|
value: template.name,
|
|
207
190
|
};
|
|
208
191
|
}),
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
192
|
+
min: 1,
|
|
193
|
+
suggest: (input, choices) => Promise.resolve(choices.filter((i) => i.title.includes(input))),
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: (templateNames = []) => {
|
|
197
|
+
return templateNames.length > 1 ? 'select' : null;
|
|
198
|
+
},
|
|
199
|
+
name: 'mainBlocklet',
|
|
200
|
+
message: 'Please choose the main blocklet',
|
|
201
|
+
//
|
|
202
|
+
choices: (templateNames = []) =>
|
|
203
|
+
templateNames.map((templateName) => {
|
|
204
|
+
const template = templates.find((x) => x.name === templateName);
|
|
205
|
+
return {
|
|
206
|
+
title: template.display,
|
|
207
|
+
value: template.name,
|
|
208
|
+
};
|
|
209
|
+
}),
|
|
210
|
+
initial: 1,
|
|
211
|
+
},
|
|
212
|
+
]),
|
|
212
213
|
{
|
|
213
214
|
type: 'text',
|
|
214
215
|
name: 'authorName',
|
|
@@ -297,7 +298,7 @@ async function init() {
|
|
|
297
298
|
write(file, null, templateDir, templateName);
|
|
298
299
|
}
|
|
299
300
|
if (mainBlocklet) {
|
|
300
|
-
fs.removeSync(path.join(root, `blocklets/${templateName}`, 'scripts/bump-version.mjs'))
|
|
301
|
+
fs.removeSync(path.join(root, `blocklets/${templateName}`, 'scripts/bump-version.mjs'));
|
|
301
302
|
}
|
|
302
303
|
})();
|
|
303
304
|
|
|
@@ -317,30 +318,6 @@ async function init() {
|
|
|
317
318
|
templateName
|
|
318
319
|
);
|
|
319
320
|
|
|
320
|
-
let randomPort;
|
|
321
|
-
if (fuzzyQuery(['dapp'], templateName)) {
|
|
322
|
-
randomPort = await getPort();
|
|
323
|
-
}
|
|
324
|
-
modifyEnv(
|
|
325
|
-
(env) => {
|
|
326
|
-
if (randomPort) {
|
|
327
|
-
env.API_PORT = randomPort;
|
|
328
|
-
}
|
|
329
|
-
if (!fuzzyQuery(['website'], templateName)) {
|
|
330
|
-
if (fuzzyQuery(['react'], templateName)) {
|
|
331
|
-
env.REACT_APP_TITLE = finalTemplateName;
|
|
332
|
-
} else if (fuzzyQuery(['vue', 'website'], templateName)) {
|
|
333
|
-
env.VITE_APP_TITLE = finalTemplateName;
|
|
334
|
-
} else {
|
|
335
|
-
env.APP_TITLE = finalTemplateName;
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
return env;
|
|
339
|
-
},
|
|
340
|
-
templateDir,
|
|
341
|
-
templateName
|
|
342
|
-
);
|
|
343
|
-
|
|
344
321
|
// patch blocklet author
|
|
345
322
|
modifyBlockletYaml(
|
|
346
323
|
async (yamlConfig) => {
|
|
@@ -535,13 +512,13 @@ async function init() {
|
|
|
535
512
|
return null;
|
|
536
513
|
}
|
|
537
514
|
|
|
538
|
-
function modifyPackage(modifyFn = () => {
|
|
515
|
+
function modifyPackage(modifyFn = () => {}, templateDir, templateName) {
|
|
539
516
|
const pkg = JSON.parse(read('package.json', templateName));
|
|
540
517
|
modifyFn(pkg);
|
|
541
518
|
write('package.json', JSON.stringify(pkg, null, 2), templateDir, templateName);
|
|
542
519
|
}
|
|
543
520
|
|
|
544
|
-
function modifyBlockletYaml(modifyFn = () => {
|
|
521
|
+
function modifyBlockletYaml(modifyFn = () => {}, templateDir, templateName) {
|
|
545
522
|
const blockletYaml = read('blocklet.yml', templateName);
|
|
546
523
|
const yamlConfig = YAML.parse(blockletYaml);
|
|
547
524
|
modifyFn(yamlConfig);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-blocklet",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"exports": "./index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": "git@github.com:blocklet/create-blocklet.git",
|
|
@@ -29,14 +29,13 @@
|
|
|
29
29
|
"test:run": "vitest run"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@arcblock/did": "^1.
|
|
33
|
-
"@ocap/mcrypto": "^1.
|
|
34
|
-
"@ocap/util": "^1.
|
|
32
|
+
"@arcblock/did": "^1.18.6",
|
|
33
|
+
"@ocap/mcrypto": "^1.18.6",
|
|
34
|
+
"@ocap/util": "^1.18.6",
|
|
35
35
|
"boxen": "^6.2.1",
|
|
36
36
|
"ejs": "^3.1.8",
|
|
37
37
|
"envfile": "^6.18.0",
|
|
38
38
|
"figlet": "^1.5.2",
|
|
39
|
-
"get-port": "^6.1.2",
|
|
40
39
|
"gradient-string": "^2.0.2",
|
|
41
40
|
"jdenticon": "^3.2.0",
|
|
42
41
|
"ora": "^6.1.2",
|
|
@@ -47,7 +46,7 @@
|
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
49
48
|
"@arcblock/eslint-config-base": "0.2.2",
|
|
50
|
-
"eslint": "^8.
|
|
49
|
+
"eslint": "^8.26.0",
|
|
51
50
|
"prettier": "^2.7.1",
|
|
52
51
|
"vitest": "^0.19.1"
|
|
53
52
|
}
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"bump-version": "zx scripts/bump-version.mjs"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@xmark/cli": "^2.4.
|
|
19
|
-
"@xmark/theme-docs": "^2.4.
|
|
20
|
-
"
|
|
18
|
+
"@xmark/cli": "^2.4.85",
|
|
19
|
+
"@xmark/theme-docs": "^2.4.85",
|
|
20
|
+
"bumpp": "^8.2.1",
|
|
21
21
|
"rimraf": "^3.0.2",
|
|
22
|
-
"
|
|
22
|
+
"zx": "^7.1.1"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -31,20 +31,20 @@
|
|
|
31
31
|
"license": "ISC",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@arcblock/did-auth-storage-nedb": "^1.7.1",
|
|
34
|
-
"@blocklet/sdk": "^1.8.
|
|
35
|
-
"@ocap/client": "^1.
|
|
34
|
+
"@blocklet/sdk": "^1.8.33",
|
|
35
|
+
"@ocap/client": "^1.18.6",
|
|
36
36
|
"dotenv-flow": "^3.2.0",
|
|
37
37
|
"express": "^4.18.2"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@arcblock/eslint-config-base": "^0.2.3",
|
|
41
|
-
"
|
|
41
|
+
"bumpp": "^8.2.1",
|
|
42
|
+
"eslint": "^8.26.0",
|
|
42
43
|
"husky": "^8.0.1",
|
|
43
44
|
"lint-staged": "^12.5.0",
|
|
44
45
|
"nodemon": "^2.0.20",
|
|
45
46
|
"prettier": "^2.7.1",
|
|
46
|
-
"zx": "^7.1.1",
|
|
47
47
|
"rimraf": "^3.0.2",
|
|
48
|
-
"
|
|
48
|
+
"zx": "^7.1.1"
|
|
49
49
|
}
|
|
50
50
|
}
|
|
File without changes
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@arcblock/did-auth": "^1.
|
|
31
|
+
"@arcblock/did-auth": "^1.18.6",
|
|
32
32
|
"@arcblock/did-auth-storage-nedb": "^1.7.1",
|
|
33
|
-
"@blocklet/sdk": "^1.8.
|
|
34
|
-
"@ocap/client": "^1.
|
|
35
|
-
"@ocap/mcrypto": "^1.
|
|
36
|
-
"@ocap/wallet": "^1.
|
|
33
|
+
"@blocklet/sdk": "^1.8.33",
|
|
34
|
+
"@ocap/client": "^1.18.6",
|
|
35
|
+
"@ocap/mcrypto": "^1.18.6",
|
|
36
|
+
"@ocap/wallet": "^1.18.6",
|
|
37
37
|
"dotenv-flow": "^3.2.0",
|
|
38
38
|
"express": "^4.18.2",
|
|
39
39
|
"next": "12.2.3",
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"react-dom": "18.2.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
+
"bumpp": "^8.2.1",
|
|
44
45
|
"eslint": "8.20.0",
|
|
45
46
|
"eslint-config-next": "12.2.3",
|
|
46
47
|
"husky": "^8.0.1",
|
|
47
48
|
"lint-staged": "^12.5.0",
|
|
48
49
|
"nodemon": "^2.0.20",
|
|
49
50
|
"npm-run-all": "^4.1.5",
|
|
50
|
-
"zx": "^7.1.1",
|
|
51
51
|
"rimraf": "^3.0.2",
|
|
52
|
-
"
|
|
52
|
+
"zx": "^7.1.1"
|
|
53
53
|
}
|
|
54
54
|
}
|
|
File without changes
|
|
@@ -16,36 +16,34 @@ app.set('trust proxy', true);
|
|
|
16
16
|
app.use(cookieParser());
|
|
17
17
|
app.use(express.json({ limit: '1 mb' }));
|
|
18
18
|
app.use(express.urlencoded({ extended: true, limit: '1 mb' }));
|
|
19
|
+
app.use(cors());
|
|
19
20
|
|
|
20
21
|
const router = express.Router();
|
|
21
22
|
router.use('/api', require('./routes'));
|
|
23
|
+
app.use(router);
|
|
22
24
|
|
|
23
|
-
const isDevelopment = process.env.NODE_ENV === 'development';
|
|
24
25
|
const isProduction = process.env.NODE_ENV === 'production' || process.env.ABT_NODE_SERVICE_ENV === 'production';
|
|
25
26
|
|
|
26
27
|
if (isProduction) {
|
|
27
|
-
|
|
28
|
+
const staticDir = path.resolve(__dirname, '../dist');
|
|
28
29
|
app.use(compression());
|
|
29
|
-
|
|
30
|
-
const staticDir = path.resolve(process.env.BLOCKLET_APP_DIR, 'dist');
|
|
31
30
|
app.use(express.static(staticDir, { maxAge: '30d', index: false }));
|
|
32
|
-
app.use(router);
|
|
33
31
|
app.use(fallback('index.html', { root: staticDir }));
|
|
34
32
|
|
|
35
|
-
app.use((req, res) => {
|
|
36
|
-
res.status(404).send('404 NOT FOUND');
|
|
37
|
-
});
|
|
38
33
|
app.use((err, req, res) => {
|
|
39
34
|
logger.error(err.stack);
|
|
40
35
|
res.status(500).send('Something broke!');
|
|
41
36
|
});
|
|
42
|
-
} else {
|
|
43
|
-
app.use(router);
|
|
44
37
|
}
|
|
45
38
|
|
|
46
|
-
const port =
|
|
39
|
+
const port = parseInt(process.env.BLOCKLET_PORT, 10);
|
|
47
40
|
|
|
48
|
-
app.listen(port, (err) => {
|
|
41
|
+
const server = app.listen(port, (err) => {
|
|
49
42
|
if (err) throw err;
|
|
50
43
|
logger.info(`> ${name} v${version} ready on ${port}`);
|
|
51
44
|
});
|
|
45
|
+
|
|
46
|
+
module.exports = {
|
|
47
|
+
app,
|
|
48
|
+
server,
|
|
49
|
+
};
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
|
|
7
7
|
<meta name="theme-color" content="#4F6AF5" />
|
|
8
8
|
<meta name="description" content="Web site created using create-blocklet" />
|
|
9
|
-
<title><%- title %></title>
|
|
10
9
|
</head>
|
|
11
10
|
<body>
|
|
12
11
|
<noscript> You need to enable JavaScript to run this app. </noscript>
|
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
"eject": "vite eject",
|
|
7
7
|
"lint": "eslint src api --ext .mjs,.js,.jsx,.ts,.tsx",
|
|
8
8
|
"lint:fix": "npm run lint -- --fix",
|
|
9
|
-
"start": "
|
|
10
|
-
"start:client": "vite --host",
|
|
11
|
-
"start:api": "cross-env NODE_ENV=development nodemon api/index.js -w api",
|
|
9
|
+
"start": "cross-env NODE_ENV=development nodemon api/dev.js -w api",
|
|
12
10
|
"clean": "node scripts/build-clean.js",
|
|
13
11
|
"bundle": "npm run bundle:client && npm run bundle:api",
|
|
14
12
|
"bundle:client": "vite build",
|
|
@@ -42,12 +40,12 @@
|
|
|
42
40
|
]
|
|
43
41
|
},
|
|
44
42
|
"dependencies": {
|
|
45
|
-
"@arcblock/did-auth": "^1.
|
|
43
|
+
"@arcblock/did-auth": "^1.18.6",
|
|
46
44
|
"@arcblock/did-auth-storage-nedb": "^1.7.1",
|
|
47
|
-
"@blocklet/sdk": "^1.8.
|
|
48
|
-
"@ocap/client": "^1.
|
|
49
|
-
"@ocap/mcrypto": "^1.
|
|
50
|
-
"@ocap/wallet": "^1.
|
|
45
|
+
"@blocklet/sdk": "^1.8.33",
|
|
46
|
+
"@ocap/client": "^1.18.6",
|
|
47
|
+
"@ocap/mcrypto": "^1.18.6",
|
|
48
|
+
"@ocap/wallet": "^1.18.6",
|
|
51
49
|
"axios": "^0.27.2",
|
|
52
50
|
"compression": "^1.7.4",
|
|
53
51
|
"cookie-parser": "^1.4.6",
|
|
@@ -58,24 +56,23 @@
|
|
|
58
56
|
"express-history-api-fallback": "^2.2.1",
|
|
59
57
|
"react": "^18.2.0",
|
|
60
58
|
"react-dom": "^18.2.0",
|
|
61
|
-
"react-router-dom": "^6.4.
|
|
59
|
+
"react-router-dom": "^6.4.3",
|
|
62
60
|
"rimraf": "^3.0.2"
|
|
63
61
|
},
|
|
64
62
|
"devDependencies": {
|
|
65
63
|
"@arcblock/eslint-config": "^0.2.3",
|
|
66
|
-
"@vitejs/plugin-react": "^2.
|
|
64
|
+
"@vitejs/plugin-react": "^2.2.0",
|
|
67
65
|
"bumpp": "^8.2.1",
|
|
68
66
|
"cross-env": "^7.0.3",
|
|
69
|
-
"eslint": "^8.
|
|
67
|
+
"eslint": "^8.26.0",
|
|
70
68
|
"husky": "^8.0.1",
|
|
71
69
|
"lint-staged": "^12.5.0",
|
|
72
70
|
"node-polyfill-webpack-plugin": "^2.0.1",
|
|
73
71
|
"nodemon": "^2.0.20",
|
|
74
72
|
"npm-run-all": "^4.1.5",
|
|
75
73
|
"prettier": "^2.7.1",
|
|
76
|
-
"vite": "^3.
|
|
77
|
-
"vite-plugin-blocklet": "^0.
|
|
78
|
-
"vite-plugin-html": "^3.2.0",
|
|
74
|
+
"vite": "^3.2.2",
|
|
75
|
+
"vite-plugin-blocklet": "^0.5.0",
|
|
79
76
|
"vite-plugin-svgr": "^2.2.2",
|
|
80
77
|
"zx": "^7.1.1"
|
|
81
78
|
}
|
|
@@ -1,36 +1,11 @@
|
|
|
1
|
-
import { defineConfig
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
2
|
import react from '@vitejs/plugin-react';
|
|
3
|
-
import { createHtmlPlugin } from 'vite-plugin-html';
|
|
4
3
|
import { createBlockletPlugin } from 'vite-plugin-blocklet';
|
|
5
4
|
import svgr from 'vite-plugin-svgr';
|
|
6
5
|
|
|
7
6
|
// https://vitejs.dev/config/
|
|
8
|
-
export default defineConfig(
|
|
9
|
-
const envMap = loadEnv(mode, process.cwd(), '');
|
|
10
|
-
const apiPort = envMap.API_PORT || 3030;
|
|
11
|
-
const apiPrefix = `${process.env.BLOCKLET_DEV_MOUNT_POINT || ''}/api`;
|
|
12
|
-
|
|
7
|
+
export default defineConfig(() => {
|
|
13
8
|
return {
|
|
14
|
-
plugins: [
|
|
15
|
-
react(),
|
|
16
|
-
createHtmlPlugin({
|
|
17
|
-
minify: true,
|
|
18
|
-
inject: {
|
|
19
|
-
data: {
|
|
20
|
-
title: envMap.APP_TITLE,
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
}),
|
|
24
|
-
createBlockletPlugin(),
|
|
25
|
-
svgr(),
|
|
26
|
-
],
|
|
27
|
-
server: {
|
|
28
|
-
proxy: {
|
|
29
|
-
[apiPrefix]: {
|
|
30
|
-
target: `http://127.0.0.1:${apiPort}`,
|
|
31
|
-
rewrite: (path) => path.replace(apiPrefix, '/api'), // rewrite path when blocklet dev
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
},
|
|
9
|
+
plugins: [react(), createBlockletPlugin(), svgr()],
|
|
35
10
|
};
|
|
36
11
|
});
|
|
File without changes
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require('dotenv-flow').config();
|
|
2
2
|
require('express-async-errors');
|
|
3
|
-
|
|
4
3
|
const path = require('path');
|
|
5
4
|
const cors = require('cors');
|
|
6
5
|
const Gun = require('gun');
|
|
@@ -21,34 +20,27 @@ app.use(express.json({ limit: '1 mb' }));
|
|
|
21
20
|
app.use(express.urlencoded({ extended: true, limit: '1 mb' }));
|
|
22
21
|
|
|
23
22
|
app.use(Gun.serve);
|
|
23
|
+
app.use(cors());
|
|
24
24
|
|
|
25
25
|
const router = express.Router();
|
|
26
26
|
router.use('/api', require('./routes'));
|
|
27
|
+
app.use(router);
|
|
27
28
|
|
|
28
|
-
const isDevelopment = process.env.NODE_ENV === 'development';
|
|
29
29
|
const isProduction = process.env.NODE_ENV === 'production' || process.env.ABT_NODE_SERVICE_ENV === 'production';
|
|
30
30
|
|
|
31
31
|
if (isProduction) {
|
|
32
|
-
|
|
32
|
+
const staticDir = path.resolve(__dirname, '../dist');
|
|
33
33
|
app.use(compression());
|
|
34
|
-
|
|
35
|
-
const staticDir = path.resolve(process.env.BLOCKLET_APP_DIR, 'dist');
|
|
36
34
|
app.use(express.static(staticDir, { maxAge: '30d', index: false }));
|
|
37
|
-
app.use(router);
|
|
38
35
|
app.use(fallback('index.html', { root: staticDir }));
|
|
39
36
|
|
|
40
|
-
app.use((req, res) => {
|
|
41
|
-
res.status(404).send('404 NOT FOUND');
|
|
42
|
-
});
|
|
43
37
|
app.use((err, req, res) => {
|
|
44
38
|
logger.error(err.stack);
|
|
45
39
|
res.status(500).send('Something broke!');
|
|
46
40
|
});
|
|
47
|
-
} else {
|
|
48
|
-
app.use(router);
|
|
49
41
|
}
|
|
50
42
|
|
|
51
|
-
const port =
|
|
43
|
+
const port = parseInt(process.env.BLOCKLET_PORT, 10);
|
|
52
44
|
|
|
53
45
|
const server = app.listen(port, (err) => {
|
|
54
46
|
if (err) throw err;
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
|
|
7
7
|
<meta name="theme-color" content="#4F6AF5" />
|
|
8
8
|
<meta name="description" content="Web site created using create-blocklet" />
|
|
9
|
-
<title><%- title %></title>
|
|
10
9
|
</head>
|
|
11
10
|
<body>
|
|
12
11
|
<noscript> You need to enable JavaScript to run this app. </noscript>
|
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
"eject": "vite eject",
|
|
7
7
|
"lint": "eslint src api --ext .mjs,.js,.jsx,.ts,.tsx",
|
|
8
8
|
"lint:fix": "npm run lint -- --fix",
|
|
9
|
-
"start": "
|
|
10
|
-
"start:client": "vite --host",
|
|
11
|
-
"start:api": "NODE_ENV=development nodemon api/index.js -w api",
|
|
9
|
+
"start": "cross-env NODE_ENV=development nodemon api/dev.js -w api",
|
|
12
10
|
"clean": "node scripts/build-clean.js",
|
|
13
11
|
"bundle": "npm run bundle:client && npm run bundle:api",
|
|
14
12
|
"bundle:client": "vite build",
|
|
@@ -42,12 +40,12 @@
|
|
|
42
40
|
]
|
|
43
41
|
},
|
|
44
42
|
"dependencies": {
|
|
45
|
-
"@arcblock/did-auth": "^1.
|
|
43
|
+
"@arcblock/did-auth": "^1.18.6",
|
|
46
44
|
"@arcblock/did-auth-storage-nedb": "^1.7.1",
|
|
47
|
-
"@blocklet/sdk": "^1.8.
|
|
48
|
-
"@ocap/client": "^1.
|
|
49
|
-
"@ocap/mcrypto": "^1.
|
|
50
|
-
"@ocap/wallet": "^1.
|
|
45
|
+
"@blocklet/sdk": "^1.8.33",
|
|
46
|
+
"@ocap/client": "^1.18.6",
|
|
47
|
+
"@ocap/mcrypto": "^1.18.6",
|
|
48
|
+
"@ocap/wallet": "^1.18.6",
|
|
51
49
|
"axios": "^0.27.2",
|
|
52
50
|
"compression": "^1.7.4",
|
|
53
51
|
"cookie-parser": "^1.4.6",
|
|
@@ -59,23 +57,23 @@
|
|
|
59
57
|
"gun": "^0.2020.1238",
|
|
60
58
|
"react": "^18.2.0",
|
|
61
59
|
"react-dom": "^18.2.0",
|
|
62
|
-
"react-router-dom": "^6.4.
|
|
60
|
+
"react-router-dom": "^6.4.3"
|
|
63
61
|
},
|
|
64
62
|
"devDependencies": {
|
|
65
63
|
"@arcblock/eslint-config": "^0.2.3",
|
|
66
|
-
"@vitejs/plugin-react": "^2.
|
|
67
|
-
"
|
|
64
|
+
"@vitejs/plugin-react": "^2.2.0",
|
|
65
|
+
"bumpp": "^8.2.1",
|
|
66
|
+
"cross-env": "^7.0.3",
|
|
67
|
+
"eslint": "^8.26.0",
|
|
68
68
|
"husky": "^8.0.1",
|
|
69
69
|
"lint-staged": "^12.5.0",
|
|
70
70
|
"nodemon": "^2.0.20",
|
|
71
71
|
"npm-run-all": "^4.1.5",
|
|
72
72
|
"prettier": "^2.7.1",
|
|
73
|
-
"vite": "^3.1.8",
|
|
74
|
-
"vite-plugin-blocklet": "^0.4.80",
|
|
75
|
-
"vite-plugin-html": "^3.2.0",
|
|
76
|
-
"vite-plugin-svgr": "^2.2.2",
|
|
77
|
-
"zx": "^7.1.1",
|
|
78
73
|
"rimraf": "^3.0.2",
|
|
79
|
-
"
|
|
74
|
+
"vite": "^3.2.2",
|
|
75
|
+
"vite-plugin-blocklet": "^0.5.0",
|
|
76
|
+
"vite-plugin-svgr": "^2.2.2",
|
|
77
|
+
"zx": "^7.1.1"
|
|
80
78
|
}
|
|
81
79
|
}
|