create-blocklet 0.4.81 → 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.
Files changed (73) hide show
  1. package/README.md +4 -4
  2. package/index.js +42 -65
  3. package/package.json +5 -6
  4. package/templates/docsite/package.json +4 -4
  5. package/templates/express-api/package.json +5 -5
  6. package/templates/html-static/package.json +2 -2
  7. package/templates/monorepo/package.json +1 -1
  8. package/templates/nextjs-dapp/package.json +7 -7
  9. package/templates/react-dapp/api/dev.js +4 -0
  10. package/templates/react-dapp/api/index.js +10 -12
  11. package/templates/react-dapp/index.html +0 -1
  12. package/templates/react-dapp/package.json +11 -14
  13. package/templates/react-dapp/vite.config.js +3 -28
  14. package/templates/react-gun-dapp/api/dev.js +4 -0
  15. package/templates/react-gun-dapp/api/index.js +4 -12
  16. package/templates/react-gun-dapp/index.html +0 -1
  17. package/templates/react-gun-dapp/package.json +15 -17
  18. package/templates/react-gun-dapp/vite.config.js +3 -33
  19. package/templates/react-static/index.html +0 -1
  20. package/templates/react-static/package.json +8 -9
  21. package/templates/react-static/vite.config.js +3 -18
  22. package/templates/solidjs-dapp/api/dev.js +4 -0
  23. package/templates/solidjs-dapp/api/index.js +10 -12
  24. package/templates/solidjs-dapp/index.html +0 -1
  25. package/templates/solidjs-dapp/package.json +14 -17
  26. package/templates/solidjs-dapp/vite.config.js +3 -23
  27. package/templates/solidjs-static/index.html +0 -1
  28. package/templates/solidjs-static/package.json +7 -8
  29. package/templates/solidjs-static/vite.config.js +3 -17
  30. package/templates/svelte-dapp/api/dev.js +4 -0
  31. package/templates/svelte-dapp/api/index.js +10 -12
  32. package/templates/svelte-dapp/index.html +0 -1
  33. package/templates/svelte-dapp/package.json +13 -15
  34. package/templates/svelte-dapp/vite.config.js +3 -23
  35. package/templates/svelte-static/index.html +0 -1
  36. package/templates/svelte-static/package.json +6 -7
  37. package/templates/svelte-static/vite.config.js +3 -17
  38. package/templates/vue-dapp/api/dev.js +4 -0
  39. package/templates/vue-dapp/api/index.js +10 -12
  40. package/templates/vue-dapp/index.html +0 -1
  41. package/templates/vue-dapp/package.json +14 -17
  42. package/templates/vue-dapp/vite.config.js +3 -27
  43. package/templates/vue-static/index.html +0 -1
  44. package/templates/vue-static/package.json +7 -8
  45. package/templates/vue-static/vite.config.js +3 -17
  46. package/templates/vue2-dapp/.eslintrc.js +0 -3
  47. package/templates/vue2-dapp/api/dev.js +4 -0
  48. package/templates/vue2-dapp/api/index.js +10 -12
  49. package/templates/vue2-dapp/{public/index.html → index.html} +4 -6
  50. package/templates/vue2-dapp/package.json +19 -24
  51. package/templates/vue2-dapp/vite.config.js +10 -0
  52. package/templates/vue2-static/.eslintrc.js +0 -3
  53. package/templates/vue2-static/index.html +15 -0
  54. package/templates/vue2-static/package.json +13 -16
  55. package/templates/vue2-static/vite.config.js +10 -0
  56. package/templates/website/package.json +3 -3
  57. package/templates/react-dapp/.env +0 -2
  58. package/templates/react-gun-dapp/.env +0 -2
  59. package/templates/react-static/.env +0 -2
  60. package/templates/solidjs-dapp/.env +0 -1
  61. package/templates/solidjs-static/.env +0 -1
  62. package/templates/svelte-dapp/.env +0 -1
  63. package/templates/svelte-static/.env +0 -1
  64. package/templates/vue-dapp/.env +0 -1
  65. package/templates/vue-static/.env +0 -1
  66. package/templates/vue2-dapp/.env +0 -1
  67. package/templates/vue2-dapp/babel.config.js +0 -3
  68. package/templates/vue2-dapp/jsconfig.json +0 -19
  69. package/templates/vue2-dapp/vue.config.js +0 -25
  70. package/templates/vue2-static/.env +0 -1
  71. package/templates/vue2-static/babel.config.js +0 -3
  72. package/templates/vue2-static/jsconfig.json +0 -19
  73. package/templates/vue2-static/vue.config.js +0 -17
@@ -1,41 +1,11 @@
1
- import { defineConfig, loadEnv } from 'vite';
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(async ({ mode }) => {
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
- const gunPrefix = '/gun'; // ws suffix only supports first level paths
13
-
7
+ export default defineConfig(() => {
14
8
  return {
15
- plugins: [
16
- react(),
17
- createHtmlPlugin({
18
- minify: true,
19
- inject: {
20
- data: {
21
- title: envMap.APP_TITLE,
22
- },
23
- },
24
- }),
25
- createBlockletPlugin(),
26
- svgr(),
27
- ],
28
- server: {
29
- proxy: {
30
- [apiPrefix]: {
31
- target: `http://127.0.0.1:${apiPort}`,
32
- rewrite: (path) => path.replace(apiPrefix, '/api'), // rewrite path when blocklet dev
33
- },
34
- [gunPrefix]: {
35
- target: `ws://127.0.0.1:${apiPort}`,
36
- ws: true,
37
- },
38
- },
39
- },
9
+ plugins: [react(), createBlockletPlugin(), svgr()],
40
10
  };
41
11
  });
@@ -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>
@@ -41,21 +41,20 @@
41
41
  "dependencies": {
42
42
  "react": "^18.2.0",
43
43
  "react-dom": "^18.2.0",
44
- "react-router-dom": "^6.4.2"
44
+ "react-router-dom": "^6.4.3"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@arcblock/eslint-config": "^0.2.3",
48
- "@vitejs/plugin-react": "^2.1.0",
49
- "eslint": "^8.25.0",
48
+ "@vitejs/plugin-react": "^2.2.0",
49
+ "bumpp": "^8.2.1",
50
+ "eslint": "^8.26.0",
50
51
  "husky": "^8.0.1",
51
52
  "lint-staged": "^12.5.0",
52
53
  "prettier": "^2.7.1",
53
- "vite": "^3.1.8",
54
- "vite-plugin-blocklet": "^0.4.81",
55
- "vite-plugin-html": "^3.2.0",
56
- "vite-plugin-svgr": "^2.2.2",
57
- "zx": "^7.1.1",
58
54
  "rimraf": "^3.0.2",
59
- "bumpp": "^8.2.1"
55
+ "vite": "^3.2.2",
56
+ "vite-plugin-blocklet": "^0.5.0",
57
+ "vite-plugin-svgr": "^2.2.2",
58
+ "zx": "^7.1.1"
60
59
  }
61
60
  }
@@ -1,26 +1,11 @@
1
- import { defineConfig, loadEnv } from 'vite';
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(async ({ mode }) => {
9
- const envMap = loadEnv(mode, process.cwd(), '');
10
-
7
+ export default defineConfig(() => {
11
8
  return {
12
- plugins: [
13
- react(),
14
- createHtmlPlugin({
15
- minify: true,
16
- inject: {
17
- data: {
18
- title: envMap.APP_TITLE,
19
- },
20
- },
21
- }),
22
- createBlockletPlugin(),
23
- svgr(),
24
- ],
9
+ plugins: [react(), createBlockletPlugin(), svgr()],
25
10
  };
26
11
  });
@@ -0,0 +1,4 @@
1
+ const { setupClient } = require('vite-plugin-blocklet');
2
+ const { server, app } = require('./index');
3
+
4
+ setupClient(app, server);
@@ -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
- app.use(cors());
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 = (isDevelopment ? parseInt(process.env.API_PORT, 10) : parseInt(process.env.BLOCKLET_PORT, 10)) || 3030;
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
+ };
@@ -5,7 +5,6 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <meta name="theme-color" content="#000000" />
7
7
  <link rel="shortcut icon" type="image/ico" href="/src/assets/favicon.ico" />
8
- <title><%- title %></title>
9
8
  </head>
10
9
  <body>
11
10
  <noscript>You need to enable JavaScript to run this app.</noscript>
@@ -4,10 +4,7 @@
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "dev": "blocklet dev",
7
- "serve": "vite preview",
8
- "start": "npm-run-all --parallel start:*",
9
- "start:client": "vite",
10
- "start:api": "NODE_ENV=development nodemon api/index.js -w api",
7
+ "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api",
11
8
  "clean": "node scripts/build-clean.js",
12
9
  "bundle": "npm run bundle:client && npm run bundle:api",
13
10
  "bundle:client": "vite build",
@@ -23,7 +20,9 @@
23
20
  },
24
21
  "license": "MIT",
25
22
  "devDependencies": {
26
- "eslint": "^8.25.0",
23
+ "bumpp": "^8.2.1",
24
+ "cross-env": "^7.0.3",
25
+ "eslint": "^8.26.0",
27
26
  "eslint-config-prettier": "^8.5.0",
28
27
  "eslint-plugin-prettier": "^4.2.1",
29
28
  "eslint-plugin-solid": "0.7.1",
@@ -32,21 +31,19 @@
32
31
  "nodemon": "^2.0.20",
33
32
  "npm-run-all": "^4.1.5",
34
33
  "prettier": "^2.7.1",
35
- "vite": "^3.1.8",
36
- "vite-plugin-blocklet": "^0.4.81",
37
- "vite-plugin-html": "^3.2.0",
38
- "vite-plugin-solid": "^2.3.9",
39
- "zx": "^7.1.1",
40
34
  "rimraf": "^3.0.2",
41
- "bumpp": "^8.2.1"
35
+ "vite": "^3.2.2",
36
+ "vite-plugin-blocklet": "^0.5.0",
37
+ "vite-plugin-solid": "^2.3.10",
38
+ "zx": "^7.1.1"
42
39
  },
43
40
  "dependencies": {
44
- "@arcblock/did-auth": "^1.17.23",
41
+ "@arcblock/did-auth": "^1.18.6",
45
42
  "@arcblock/did-auth-storage-nedb": "^1.7.1",
46
- "@blocklet/sdk": "^1.8.30",
47
- "@ocap/client": "^1.17.23",
48
- "@ocap/mcrypto": "^1.17.23",
49
- "@ocap/wallet": "^1.17.23",
43
+ "@blocklet/sdk": "^1.8.33",
44
+ "@ocap/client": "^1.18.6",
45
+ "@ocap/mcrypto": "^1.18.6",
46
+ "@ocap/wallet": "^1.18.6",
50
47
  "axios": "^0.27.2",
51
48
  "compression": "^1.7.4",
52
49
  "cookie-parser": "^1.4.6",
@@ -55,7 +52,7 @@
55
52
  "express": "^4.18.2",
56
53
  "express-async-errors": "^3.1.1",
57
54
  "express-history-api-fallback": "^2.2.1",
58
- "solid-js": "^1.5.9"
55
+ "solid-js": "^1.6.1"
59
56
  },
60
57
  "lint-staged": {
61
58
  "*.{mjs,js,vue}": [
@@ -1,33 +1,13 @@
1
- import { defineConfig, loadEnv } from 'vite';
1
+ import { defineConfig } from 'vite';
2
2
  import solidPlugin from 'vite-plugin-solid';
3
- import { createHtmlPlugin } from 'vite-plugin-html';
4
3
  import { createBlockletPlugin } from 'vite-plugin-blocklet';
5
4
 
6
- export default defineConfig(async ({ mode }) => {
7
- const envMap = loadEnv(mode, process.cwd(), '');
8
- const apiPort = envMap.API_PORT || 3030;
9
-
5
+ export default defineConfig(() => {
10
6
  return {
11
- plugins: [
12
- solidPlugin(),
13
- createHtmlPlugin({
14
- minify: true,
15
- inject: {
16
- data: {
17
- title: envMap.APP_TITLE,
18
- },
19
- },
20
- }),
21
- createBlockletPlugin(),
22
- ],
7
+ plugins: [solidPlugin(), createBlockletPlugin()],
23
8
  build: {
24
9
  target: 'esnext',
25
10
  polyfillDynamicImport: false,
26
11
  },
27
- server: {
28
- proxy: {
29
- '/api': `http://127.0.0.1:${apiPort}`,
30
- },
31
- },
32
12
  };
33
13
  });
@@ -5,7 +5,6 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <meta name="theme-color" content="#000000" />
7
7
  <link rel="shortcut icon" type="image/ico" href="/src/assets/favicon.ico" />
8
- <title><%- title %></title>
9
8
  </head>
10
9
  <body>
11
10
  <noscript>You need to enable JavaScript to run this app.</noscript>
@@ -19,23 +19,22 @@
19
19
  },
20
20
  "license": "MIT",
21
21
  "devDependencies": {
22
- "eslint": "^8.25.0",
22
+ "bumpp": "^8.2.1",
23
+ "eslint": "^8.26.0",
23
24
  "eslint-config-prettier": "^8.5.0",
24
25
  "eslint-plugin-prettier": "^4.2.1",
25
26
  "eslint-plugin-solid": "0.7.1",
26
27
  "husky": "^8.0.1",
27
28
  "lint-staged": "^12.5.0",
28
29
  "prettier": "^2.7.1",
29
- "vite": "^3.1.8",
30
- "vite-plugin-blocklet": "^0.4.81",
31
- "vite-plugin-html": "^3.2.0",
32
- "vite-plugin-solid": "^2.3.9",
33
- "zx": "^7.1.1",
34
30
  "rimraf": "^3.0.2",
35
- "bumpp": "^8.2.1"
31
+ "vite": "^3.2.2",
32
+ "vite-plugin-blocklet": "^0.5.0",
33
+ "vite-plugin-solid": "^2.3.10",
34
+ "zx": "^7.1.1"
36
35
  },
37
36
  "dependencies": {
38
- "solid-js": "^1.5.9"
37
+ "solid-js": "^1.6.1"
39
38
  },
40
39
  "lint-staged": {
41
40
  "*.{mjs,js,vue}": [
@@ -1,24 +1,10 @@
1
- import { defineConfig, loadEnv } from 'vite';
1
+ import { defineConfig } from 'vite';
2
2
  import solidPlugin from 'vite-plugin-solid';
3
- import { createHtmlPlugin } from 'vite-plugin-html';
4
3
  import { createBlockletPlugin } from 'vite-plugin-blocklet';
5
4
 
6
- export default defineConfig(async ({ mode }) => {
7
- const envMap = loadEnv(mode, process.cwd(), '');
8
-
5
+ export default defineConfig(() => {
9
6
  return {
10
- plugins: [
11
- solidPlugin(),
12
- createHtmlPlugin({
13
- minify: true,
14
- inject: {
15
- data: {
16
- title: envMap.APP_TITLE,
17
- },
18
- },
19
- }),
20
- createBlockletPlugin(),
21
- ],
7
+ plugins: [solidPlugin(), createBlockletPlugin()],
22
8
  build: {
23
9
  target: 'esnext',
24
10
  polyfillDynamicImport: false,
@@ -0,0 +1,4 @@
1
+ const { setupClient } = require('vite-plugin-blocklet');
2
+ const { server, app } = require('./index');
3
+
4
+ setupClient(app, server);
@@ -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
- app.use(cors());
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 = (isDevelopment ? parseInt(process.env.API_PORT, 10) : parseInt(process.env.BLOCKLET_PORT, 10)) || 3030;
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
  <div id="app"></div>
@@ -4,10 +4,7 @@
4
4
  "version": "0.1.0",
5
5
  "scripts": {
6
6
  "dev": "blocklet dev",
7
- "serve": "vite preview",
8
- "start": "npm-run-all --parallel start:*",
9
- "start:client": "vite",
10
- "start:api": "NODE_ENV=development nodemon api/index.js -w api",
7
+ "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api",
11
8
  "clean": "node scripts/build-clean.js",
12
9
  "bundle": "npm run bundle:client && npm run bundle:api",
13
10
  "bundle:client": "vite build",
@@ -20,12 +17,12 @@
20
17
  "bump-version": "zx scripts/bump-version.mjs"
21
18
  },
22
19
  "dependencies": {
23
- "@arcblock/did-auth": "^1.17.23",
20
+ "@arcblock/did-auth": "^1.18.6",
24
21
  "@arcblock/did-auth-storage-nedb": "^1.7.1",
25
- "@blocklet/sdk": "^1.8.30",
26
- "@ocap/client": "^1.17.23",
27
- "@ocap/mcrypto": "^1.17.23",
28
- "@ocap/wallet": "^1.17.23",
22
+ "@blocklet/sdk": "^1.8.33",
23
+ "@ocap/client": "^1.18.6",
24
+ "@ocap/mcrypto": "^1.18.6",
25
+ "@ocap/wallet": "^1.18.6",
29
26
  "axios": "^0.27.2",
30
27
  "compression": "^1.7.4",
31
28
  "cookie-parser": "^1.4.6",
@@ -37,7 +34,9 @@
37
34
  },
38
35
  "devDependencies": {
39
36
  "@sveltejs/vite-plugin-svelte": "1.0.1",
40
- "eslint": "^8.25.0",
37
+ "bumpp": "^8.2.1",
38
+ "cross-env": "^7.0.3",
39
+ "eslint": "^8.26.0",
41
40
  "eslint-config-prettier": "^8.5.0",
42
41
  "eslint-plugin-prettier": "^4.2.1",
43
42
  "eslint-plugin-svelte3": "^4.0.0",
@@ -45,13 +44,12 @@
45
44
  "lint-staged": "^12.5.0",
46
45
  "npm-run-all": "^4.1.5",
47
46
  "prettier": "^2.7.1",
47
+ "rimraf": "^3.0.2",
48
48
  "svelte": "^3.52.0",
49
- "vite": "^3.1.8",
50
- "vite-plugin-blocklet": "^0.4.81",
49
+ "vite": "^3.2.2",
50
+ "vite-plugin-blocklet": "^0.5.0",
51
51
  "vite-plugin-html": "^3.2.0",
52
- "zx": "^7.1.1",
53
- "rimraf": "^3.0.2",
54
- "bumpp": "^8.2.1"
52
+ "zx": "^7.1.1"
55
53
  },
56
54
  "lint-staged": {
57
55
  "*.{mjs,js,vue}": [
@@ -1,30 +1,10 @@
1
- import { defineConfig, loadEnv } from 'vite';
1
+ import { defineConfig } from 'vite';
2
2
  import { svelte } from '@sveltejs/vite-plugin-svelte';
3
- import { createHtmlPlugin } from 'vite-plugin-html';
4
3
  import { createBlockletPlugin } from 'vite-plugin-blocklet';
5
4
 
6
5
  // https://vitejs.dev/config/
7
- export default defineConfig(async ({ mode }) => {
8
- const envMap = loadEnv(mode, process.cwd(), '');
9
- const apiPort = envMap.API_PORT || 3030;
10
-
6
+ export default defineConfig(() => {
11
7
  return {
12
- plugins: [
13
- svelte(),
14
- createHtmlPlugin({
15
- minify: true,
16
- inject: {
17
- data: {
18
- title: envMap.APP_TITLE,
19
- },
20
- },
21
- }),
22
- createBlockletPlugin(),
23
- ],
24
- server: {
25
- proxy: {
26
- '/api': `http://127.0.0.1:${apiPort}`,
27
- },
28
- },
8
+ plugins: [svelte(), createBlockletPlugin()],
29
9
  };
30
10
  });
@@ -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
  <div id="app"></div>
@@ -19,20 +19,19 @@
19
19
  },
20
20
  "devDependencies": {
21
21
  "@sveltejs/vite-plugin-svelte": "1.0.1",
22
- "eslint": "^8.25.0",
22
+ "bumpp": "^8.2.1",
23
+ "eslint": "^8.26.0",
23
24
  "eslint-config-prettier": "^8.5.0",
24
25
  "eslint-plugin-prettier": "^4.2.1",
25
26
  "eslint-plugin-svelte3": "^4.0.0",
26
27
  "husky": "^8.0.1",
27
28
  "lint-staged": "^12.5.0",
28
29
  "prettier": "^2.7.1",
29
- "svelte": "^3.52.0",
30
- "vite": "^3.1.8",
31
- "vite-plugin-blocklet": "^0.4.81",
32
- "vite-plugin-html": "^3.2.0",
33
- "zx": "^7.1.1",
34
30
  "rimraf": "^3.0.2",
35
- "bumpp": "^8.2.1"
31
+ "svelte": "^3.52.0",
32
+ "vite": "^3.2.2",
33
+ "vite-plugin-blocklet": "^0.5.0",
34
+ "zx": "^7.1.1"
36
35
  },
37
36
  "lint-staged": {
38
37
  "*.{mjs,js,vue}": [
@@ -1,24 +1,10 @@
1
- import { defineConfig, loadEnv } from 'vite';
1
+ import { defineConfig } from 'vite';
2
2
  import { svelte } from '@sveltejs/vite-plugin-svelte';
3
- import { createHtmlPlugin } from 'vite-plugin-html';
4
3
  import { createBlockletPlugin } from 'vite-plugin-blocklet';
5
4
 
6
5
  // https://vitejs.dev/config/
7
- export default defineConfig(async ({ mode }) => {
8
- const envMap = loadEnv(mode, process.cwd(), '');
9
-
6
+ export default defineConfig(() => {
10
7
  return {
11
- plugins: [
12
- svelte(),
13
- createHtmlPlugin({
14
- minify: true,
15
- inject: {
16
- data: {
17
- title: envMap.APP_TITLE,
18
- },
19
- },
20
- }),
21
- createBlockletPlugin(),
22
- ],
8
+ plugins: [svelte(), createBlockletPlugin()],
23
9
  };
24
10
  });
@@ -0,0 +1,4 @@
1
+ const { setupClient } = require('vite-plugin-blocklet');
2
+ const { server, app } = require('./index');
3
+
4
+ setupClient(app, server);
@@ -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
- app.use(cors());
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 = (isDevelopment ? parseInt(process.env.API_PORT, 10) : parseInt(process.env.BLOCKLET_PORT, 10)) || 3030;
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>