create-blocklet 0.2.11 → 0.2.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-blocklet",
3
- "version": "0.2.11",
3
+ "version": "0.2.14",
4
4
  "exports": "./index.js",
5
5
  "type": "module",
6
6
  "repository": "git@github.com:blocklet/create-blocklet.git",
@@ -40,7 +40,7 @@
40
40
  "prompts": "^2.4.1",
41
41
  "rc": "^1.2.8",
42
42
  "semver": "^7.3.5",
43
- "shelljs": "^0.8.4",
43
+ "shelljs": "^0.8.5",
44
44
  "terminal-link": "^3.0.0",
45
45
  "yaml": "^1.10.2"
46
46
  },
@@ -48,11 +48,6 @@ scripts:
48
48
  preStart: node server/hooks/pre-start.js
49
49
  dev: npm run start
50
50
  environments:
51
- - name: CHAIN_ID
52
- description: What's endpoint of the chain id?
53
- required: true
54
- default: 'beta'
55
- secure: false
56
51
  - name: CHAIN_HOST
57
52
  description: What's endpoint of the chain?
58
53
  required: true
@@ -4,16 +4,15 @@ require('dotenv-flow').config();
4
4
  const Client = require('@ocap/client');
5
5
 
6
6
  const env = require('../libs/env');
7
- const { wallet } = require('../libs/auth');
8
7
  const logger = require('../libs/logger');
8
+ const { wallet } = require('../libs/auth');
9
9
  const { name } = require('../../package.json');
10
10
 
11
- const client = new Client(env.chainHost);
12
-
13
11
  const ensureAccountDeclared = async () => {
14
- // Check for application account, skip this if we are running as a child component
15
12
  if (env.isComponent) return;
13
+ if (!env.chainHost) return;
16
14
 
15
+ const client = new Client(env.chainHost);
17
16
  const { state } = await client.getAccountState({ address: wallet.toAddress() }, { ignoreFields: ['context'] });
18
17
  if (!state) {
19
18
  const hash = await client.declare({ moniker: name, wallet });
@@ -47,7 +47,7 @@ if (isProduction) {
47
47
  app.use(router);
48
48
  }
49
49
 
50
- const port = parseInt(process.env.BLOCKLET_PORT || process.env.APP_PORT, 10) || 3030;
50
+ const port = parseInt(process.env.BLOCKLET_PORT, 10) || 3030;
51
51
 
52
52
  app.listen(port, (err) => {
53
53
  if (err) throw err;
@@ -1,26 +1,17 @@
1
1
  const path = require('path');
2
2
  const AuthStorage = require('@arcblock/did-auth-storage-nedb');
3
+ const getWallet = require('@blocklet/sdk/lib/wallet');
3
4
  const WalletAuthenticator = require('@blocklet/sdk/lib/wallet-authenticator');
4
- const WalletHandlers = require('@blocklet/sdk/lib/wallet-handler');
5
- const { types } = require('@ocap/mcrypto');
6
- const { fromSecretKey, WalletType } = require('@ocap/wallet');
7
- const logger = require('./logger');
5
+ const WalletHandler = require('@blocklet/sdk/lib/wallet-handler');
8
6
 
9
- const appSk = process.env.APP_SK || process.env.BLOCKLET_APP_SK;
10
- const wallet = fromSecretKey(appSk, WalletType({ role: types.RoleType.ROLE_APPLICATION }));
7
+ const env = require('./env');
11
8
 
9
+ const wallet = getWallet();
12
10
  const authenticator = new WalletAuthenticator();
13
-
14
- const handlers = new WalletHandlers({
11
+ const handlers = new WalletHandler({
15
12
  authenticator,
16
- tokenGenerator: () => Date.now().toString(),
17
13
  tokenStorage: new AuthStorage({
18
- dbPath: path.join(process.env.BLOCKLET_DATA_DIR, 'auth.db'),
19
- onload: (err) => {
20
- if (err) {
21
- logger.error(`Failed to load database from ${path.join(process.env.BLOCKLET_DATA_DIR, 'auth.db')}`, err);
22
- }
23
- },
14
+ dbPath: path.join(env.dataDir, 'auth.db'),
24
15
  }),
25
16
  });
26
17
 
@@ -1,12 +1,6 @@
1
- const blockletRealDid = process.env.BLOCKLET_REAL_DID || '';
2
- const blockletDid = process.env.BLOCKLET_DID || '';
3
- const isComponent = blockletRealDid && blockletDid && blockletRealDid !== blockletDid;
1
+ const env = require('@blocklet/sdk/lib/env');
4
2
 
5
3
  module.exports = {
6
- chainId: process.env.CHAIN_ID || '',
4
+ ...env,
7
5
  chainHost: process.env.CHAIN_HOST || '',
8
- appId: process.env.BLOCKLET_APP_ID || '',
9
- appName: process.env.APP_NAME || process.env.BLOCKLET_APP_NAME || '',
10
- appDescription: process.env.APP_DESCRIPTION || process.env.BLOCKLET_APP_DESCRIPTION || '',
11
- isComponent,
12
6
  };
@@ -1,6 +1,6 @@
1
+ const middleware = require('@blocklet/sdk/lib/middlewares');
1
2
  const router = require('express').Router();
2
- const env = require('../libs/env');
3
3
 
4
- router.use('/env', (req, res) => res.json(env));
4
+ router.use('/user', middleware.user(), (req, res) => res.json(req.user));
5
5
 
6
6
  module.exports = router;
@@ -1,21 +1,14 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React from 'react';
2
2
  import { Link } from 'react-router-dom';
3
3
 
4
4
  import logo from '../logo.svg';
5
- import api from '../libs/api';
6
5
 
7
6
  const Home = () => {
8
- const [env, setEnv] = useState({});
9
- useEffect(async () => {
10
- const { data } = await api.get('/api/env');
11
- setEnv(data);
12
- }, []);
13
-
14
7
  return (
15
8
  <header className="app-header">
16
9
  <img src={logo} className="app-logo" alt="logo" />
17
10
  <pre style={{ textAlign: 'left' }}>
18
- <code>{JSON.stringify(env, null, 2)}</code>
11
+ <code>{JSON.stringify(window.blocklet, null, 2)}</code>
19
12
  </pre>
20
13
  <Link className="app-link" to="/about">
21
14
  About
@@ -47,11 +47,6 @@ scripts:
47
47
  preStart: node server/hooks/pre-start.js
48
48
  dev: npm run start
49
49
  environments:
50
- - name: CHAIN_ID
51
- description: What's endpoint of the chain id?
52
- required: true
53
- default: 'beta'
54
- secure: false
55
50
  - name: CHAIN_HOST
56
51
  description: What's endpoint of the chain?
57
52
  required: true
@@ -4,16 +4,15 @@ require('dotenv-flow').config();
4
4
  const Client = require('@ocap/client');
5
5
 
6
6
  const env = require('../libs/env');
7
- const { wallet } = require('../libs/auth');
8
7
  const logger = require('../libs/logger');
8
+ const { wallet } = require('../libs/auth');
9
9
  const { name } = require('../../package.json');
10
10
 
11
- const client = new Client(env.chainHost);
12
-
13
11
  const ensureAccountDeclared = async () => {
14
- // Check for application account, skip this if we are running as a child component
15
12
  if (env.isComponent) return;
13
+ if (!env.chainHost) return;
16
14
 
15
+ const client = new Client(env.chainHost);
17
16
  const { state } = await client.getAccountState({ address: wallet.toAddress() }, { ignoreFields: ['context'] });
18
17
  if (!state) {
19
18
  const hash = await client.declare({ moniker: name, wallet });
@@ -47,7 +47,7 @@ if (isProduction) {
47
47
  app.use(router);
48
48
  }
49
49
 
50
- const port = parseInt(process.env.BLOCKLET_PORT || process.env.APP_PORT, 10) || 3030;
50
+ const port = parseInt(process.env.BLOCKLET_PORT, 10) || 3030;
51
51
 
52
52
  app.listen(port, (err) => {
53
53
  if (err) throw err;
@@ -1,26 +1,17 @@
1
1
  const path = require('path');
2
2
  const AuthStorage = require('@arcblock/did-auth-storage-nedb');
3
+ const getWallet = require('@blocklet/sdk/lib/wallet');
3
4
  const WalletAuthenticator = require('@blocklet/sdk/lib/wallet-authenticator');
4
- const WalletHandlers = require('@blocklet/sdk/lib/wallet-handler');
5
- const { types } = require('@ocap/mcrypto');
6
- const { fromSecretKey, WalletType } = require('@ocap/wallet');
7
- const logger = require('./logger');
5
+ const WalletHandler = require('@blocklet/sdk/lib/wallet-handler');
8
6
 
9
- const appSk = process.env.APP_SK || process.env.BLOCKLET_APP_SK;
10
- const wallet = fromSecretKey(appSk, WalletType({ role: types.RoleType.ROLE_APPLICATION }));
7
+ const env = require('./env');
11
8
 
9
+ const wallet = getWallet();
12
10
  const authenticator = new WalletAuthenticator();
13
-
14
- const handlers = new WalletHandlers({
11
+ const handlers = new WalletHandler({
15
12
  authenticator,
16
- tokenGenerator: () => Date.now().toString(),
17
13
  tokenStorage: new AuthStorage({
18
- dbPath: path.join(process.env.BLOCKLET_DATA_DIR, 'auth.db'),
19
- onload: (err) => {
20
- if (err) {
21
- logger.error(`Failed to load database from ${path.join(process.env.BLOCKLET_DATA_DIR, 'auth.db')}`, err);
22
- }
23
- },
14
+ dbPath: path.join(env.dataDir, 'auth.db'),
24
15
  }),
25
16
  });
26
17
 
@@ -1,12 +1,6 @@
1
- const blockletRealDid = process.env.BLOCKLET_REAL_DID || '';
2
- const blockletDid = process.env.BLOCKLET_DID || '';
3
- const isComponent = blockletRealDid && blockletDid && blockletRealDid !== blockletDid;
1
+ const env = require('@blocklet/sdk/lib/env');
4
2
 
5
3
  module.exports = {
6
- chainId: process.env.CHAIN_ID || '',
4
+ ...env,
7
5
  chainHost: process.env.CHAIN_HOST || '',
8
- appId: process.env.BLOCKLET_APP_ID || '',
9
- appName: process.env.APP_NAME || process.env.BLOCKLET_APP_NAME || '',
10
- appDescription: process.env.APP_DESCRIPTION || process.env.BLOCKLET_APP_DESCRIPTION || '',
11
- isComponent,
12
6
  };
@@ -1,6 +1,6 @@
1
+ const middleware = require('@blocklet/sdk/lib/middlewares');
1
2
  const router = require('express').Router();
2
- const env = require('../libs/env');
3
3
 
4
- router.use('/env', (req, res) => res.json(env));
4
+ router.use('/user', middleware.user(), (req, res) => res.json(req.user));
5
5
 
6
6
  module.exports = router;
@@ -3,14 +3,6 @@ import { ref } from 'vue';
3
3
  // This starter template is using Vue 3 <script setup> SFCs
4
4
  // Check out https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup
5
5
  import HelloWorld from './components/HelloWorld.vue';
6
- import api from './libs/api';
7
-
8
- const envData = ref({});
9
-
10
- (async () => {
11
- const { data } = await api.get('/api/env');
12
- envData.value = data;
13
- })();
14
6
  </script>
15
7
 
16
8
  <template>
@@ -18,7 +10,7 @@ const envData = ref({});
18
10
  <HelloWorld msg="Hello Vue 3 + Vite" />
19
11
  <div :style="{ display: 'flex', justifyContent: 'center' }">
20
12
  <pre :style="{ textAlign: 'left' }">
21
- <code>{{ JSON.stringify(envData, null, 2) }}</code>
13
+ <code>{{ JSON.stringify(window.blocklet, null, 2) }}</code>
22
14
  </pre>
23
15
  </div>
24
16
  </template>
@@ -45,11 +45,6 @@ requirements:
45
45
  scripts:
46
46
  dev: npm run start
47
47
  environments:
48
- - name: CHAIN_ID
49
- description: What's endpoint of the chain id?
50
- required: true
51
- default: 'beta'
52
- secure: false
53
48
  - name: CHAIN_HOST
54
49
  description: What's endpoint of the chain?
55
50
  required: true
@@ -4,16 +4,15 @@ require('dotenv-flow').config();
4
4
  const Client = require('@ocap/client');
5
5
 
6
6
  const env = require('../libs/env');
7
- const { wallet } = require('../libs/auth');
8
7
  const logger = require('../libs/logger');
8
+ const { wallet } = require('../libs/auth');
9
9
  const { name } = require('../../package.json');
10
10
 
11
- const client = new Client(env.chainHost);
12
-
13
11
  const ensureAccountDeclared = async () => {
14
- // Check for application account, skip this if we are running as a child component
15
12
  if (env.isComponent) return;
13
+ if (!env.chainHost) return;
16
14
 
15
+ const client = new Client(env.chainHost);
17
16
  const { state } = await client.getAccountState({ address: wallet.toAddress() }, { ignoreFields: ['context'] });
18
17
  if (!state) {
19
18
  const hash = await client.declare({ moniker: name, wallet });
@@ -47,7 +47,7 @@ if (isProduction) {
47
47
  app.use(router);
48
48
  }
49
49
 
50
- const port = parseInt(process.env.BLOCKLET_PORT || process.env.APP_PORT, 10) || 3030;
50
+ const port = parseInt(process.env.BLOCKLET_PORT, 10) || 3030;
51
51
 
52
52
  app.listen(port, (err) => {
53
53
  if (err) throw err;
@@ -1,26 +1,17 @@
1
1
  const path = require('path');
2
2
  const AuthStorage = require('@arcblock/did-auth-storage-nedb');
3
+ const getWallet = require('@blocklet/sdk/lib/wallet');
3
4
  const WalletAuthenticator = require('@blocklet/sdk/lib/wallet-authenticator');
4
- const WalletHandlers = require('@blocklet/sdk/lib/wallet-handler');
5
- const { types } = require('@ocap/mcrypto');
6
- const { fromSecretKey, WalletType } = require('@ocap/wallet');
7
- const logger = require('./logger');
5
+ const WalletHandler = require('@blocklet/sdk/lib/wallet-handler');
8
6
 
9
- const appSk = process.env.APP_SK || process.env.BLOCKLET_APP_SK;
10
- const wallet = fromSecretKey(appSk, WalletType({ role: types.RoleType.ROLE_APPLICATION }));
7
+ const env = require('./env');
11
8
 
9
+ const wallet = getWallet();
12
10
  const authenticator = new WalletAuthenticator();
13
-
14
- const handlers = new WalletHandlers({
11
+ const handlers = new WalletHandler({
15
12
  authenticator,
16
- tokenGenerator: () => Date.now().toString(),
17
13
  tokenStorage: new AuthStorage({
18
- dbPath: path.join(process.env.BLOCKLET_DATA_DIR, 'auth.db'),
19
- onload: (err) => {
20
- if (err) {
21
- logger.error(`Failed to load database from ${path.join(process.env.BLOCKLET_DATA_DIR, 'auth.db')}`, err);
22
- }
23
- },
14
+ dbPath: path.join(env.dataDir, 'auth.db'),
24
15
  }),
25
16
  });
26
17
 
@@ -1,12 +1,6 @@
1
- const blockletRealDid = process.env.BLOCKLET_REAL_DID || '';
2
- const blockletDid = process.env.BLOCKLET_DID || '';
3
- const isComponent = blockletRealDid && blockletDid && blockletRealDid !== blockletDid;
1
+ const env = require('@blocklet/sdk/lib/env');
4
2
 
5
3
  module.exports = {
6
- chainId: process.env.CHAIN_ID || '',
4
+ ...env,
7
5
  chainHost: process.env.CHAIN_HOST || '',
8
- appId: process.env.BLOCKLET_APP_ID || '',
9
- appName: process.env.APP_NAME || process.env.BLOCKLET_APP_NAME || '',
10
- appDescription: process.env.APP_DESCRIPTION || process.env.BLOCKLET_APP_DESCRIPTION || '',
11
- isComponent,
12
6
  };
@@ -1,6 +1,6 @@
1
+ const middleware = require('@blocklet/sdk/lib/middlewares');
1
2
  const router = require('express').Router();
2
- const env = require('../libs/env');
3
3
 
4
- router.use('/env', (req, res) => res.json(env));
4
+ router.use('/user', middleware.user(), (req, res) => res.json(req.user));
5
5
 
6
6
  module.exports = router;
@@ -7,7 +7,7 @@
7
7
  <HelloWorld msg="Welcome to Your Vue.js App" />
8
8
  <div :style="{ display: 'flex', justifyContent: 'center' }">
9
9
  <pre :style="{ textAlign: 'left' }">
10
- <code>{{ JSON.stringify(envData, null, 2) }}</code>
10
+ <code>{{ JSON.stringify(window.blocklet, null, 2) }}</code>
11
11
  </pre>
12
12
  </div>
13
13
  </div>
@@ -21,16 +21,6 @@ export default {
21
21
  components: {
22
22
  HelloWorld,
23
23
  },
24
- data() {
25
- return {
26
- envData: {},
27
- };
28
- },
29
- mounted() {
30
- api.get('/api/env').then(({ data }) => {
31
- this.envData = data;
32
- });
33
- },
34
24
  };
35
25
  </script>
36
26
 
@@ -1,10 +0,0 @@
1
- module.exports = (req, res, next) => {
2
- if (req.headers['x-user-did']) {
3
- req.user = {
4
- did: req.headers['x-user-did'],
5
- role: req.headers['x-user-role'],
6
- fullName: decodeURIComponent(req.headers['x-user-fullname']),
7
- };
8
- }
9
- next();
10
- };
@@ -1,10 +0,0 @@
1
- module.exports = (req, res, next) => {
2
- if (req.headers['x-user-did']) {
3
- req.user = {
4
- did: req.headers['x-user-did'],
5
- role: req.headers['x-user-role'],
6
- fullName: decodeURIComponent(req.headers['x-user-fullname']),
7
- };
8
- }
9
- next();
10
- };
@@ -1,10 +0,0 @@
1
- module.exports = (req, res, next) => {
2
- if (req.headers['x-user-did']) {
3
- req.user = {
4
- did: req.headers['x-user-did'],
5
- role: req.headers['x-user-role'],
6
- fullName: decodeURIComponent(req.headers['x-user-fullname']),
7
- };
8
- }
9
- next();
10
- };