vona-cli-set-api 1.0.58 → 1.0.60

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.
@@ -0,0 +1,28 @@
1
+ server {
2
+
3
+ resolver 127.0.0.11 ipv6=off;
4
+
5
+ listen 80;
6
+ server_name localhost;
7
+
8
+ set $node_ip app;
9
+ set $node_port 7102;
10
+
11
+ location / {
12
+ proxy_http_version 1.1;
13
+ proxy_set_header X-Real-IP $remote_addr;
14
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
15
+ proxy_set_header X-Forwarded-Host $server_name;
16
+ proxy_set_header X-Forwarded-Proto $scheme;
17
+ proxy_set_header Host $http_host;
18
+ proxy_set_header X-NginX-Proxy true;
19
+ proxy_set_header Upgrade $http_upgrade;
20
+ proxy_set_header Connection "upgrade";
21
+ proxy_pass http://$node_ip:$node_port$request_uri;
22
+ proxy_redirect off;
23
+ proxy_buffer_size 64k;
24
+ proxy_buffers 4 32k;
25
+ proxy_busy_buffers_size 64k;
26
+ }
27
+
28
+ }
@@ -0,0 +1,13 @@
1
+ FROM node:24
2
+
3
+ RUN mkdir -p /opt/node/app/dist
4
+ WORKDIR /opt/node/app
5
+
6
+ COPY ./dist/docker /opt/node/app/dist/docker
7
+ COPY ./scripts /opt/node/app/scripts
8
+
9
+ RUN chmod +x /opt/node/app/scripts/*.sh
10
+
11
+ # start
12
+
13
+ CMD node ./dist/docker/bootstrap.js
@@ -0,0 +1,79 @@
1
+ version: '3.7'
2
+
3
+ services:
4
+ app:
5
+ depends_on:
6
+ - pg
7
+ - mysql
8
+ - redis
9
+ build:
10
+ context: .
11
+ dockerfile: docker-compose-dockerfile-app
12
+ restart: always
13
+ ports:
14
+ - '7202:7102'
15
+ volumes:
16
+ - ./docker-compose/output/app/vona:/root/vona
17
+ - ./docker-compose/logs/app:/root/logs
18
+ command: [./scripts/wait-for-it.sh, 'pg:5432', 'mysql:3306', 'redis:6379', -s, --, ./scripts/app-init.sh]
19
+
20
+ nginx:
21
+ image: nginx:latest
22
+ depends_on:
23
+ - app
24
+ restart: always
25
+ ports:
26
+ - '80:80'
27
+ volumes:
28
+ - ./docker-compose/output/app/vona:/usr/share/nginx/app/vona
29
+ - ./docker-compose/logs/nginx:/var/log/nginx
30
+ - ./docker-compose/config/nginx/conf.d:/etc/nginx/conf.d
31
+
32
+ pg:
33
+ image: postgres:17
34
+ restart: always
35
+ ports:
36
+ - '35432:5432'
37
+ # set shared memory limit when using docker compose
38
+ shm_size: 128mb
39
+ # or set shared memory limit when deploy via swarm stack
40
+ volumes:
41
+ - ./docker-compose/data/pg:/var/lib/postgresql/data
42
+ environment:
43
+ POSTGRES_DB: <%=argv.name%>
44
+ POSTGRES_USER: <%=argv.DATABASE_CLIENT_PG_USER%>
45
+ POSTGRES_PASSWORD: '<%=argv.DATABASE_CLIENT_PG_PASSWORD%>'
46
+
47
+ mysql:
48
+ image: mysql:8.1
49
+ command:
50
+ - --default-authentication-plugin=mysql_native_password
51
+ - --character-set-server=utf8mb4
52
+ - --collation-server=utf8mb4_general_ci
53
+ - --skip-host-cache
54
+ - --skip-name-resolve
55
+ - --slow_query_log=1
56
+ - --long_query_time=0.5
57
+ - --log-queries-not-using-indexes=1
58
+ - --lower_case_table_names=1
59
+ restart: always
60
+ ports:
61
+ - '33306:3306'
62
+ volumes:
63
+ - ./docker-compose/data/mysql:/var/lib/mysql
64
+ environment:
65
+ MYSQL_ROOT_PASSWORD: '<%=argv.DATABASE_CLIENT_MYSQL_PASSWORD_ROOT%>'
66
+ MYSQL_DATABASE: <%=argv.name%>
67
+ MYSQL_USER: <%=argv.DATABASE_CLIENT_MYSQL_USER%>
68
+ MYSQL_PASSWORD: '<%=argv.DATABASE_CLIENT_MYSQL_PASSWORD%>'
69
+ security_opt:
70
+ - seccomp:unconfined
71
+
72
+ redis:
73
+ image: redis:latest
74
+ command: [redis-server, --appendonly, yes]
75
+ restart: always
76
+ ports:
77
+ - '36379:6379'
78
+ volumes:
79
+ - ./docker-compose/data/redis:/data
@@ -1,6 +1,7 @@
1
1
  # server
2
2
 
3
3
  SERVER_KEYS = <%=argv.SERVER_KEYS_PROD%>
4
+ SERVER_WORKERS = 1
4
5
 
5
6
  # database
6
7
 
@@ -46,7 +46,7 @@
46
46
  }
47
47
  },
48
48
  "dependencies": {
49
- "vona": "^5.0.33"
49
+ "vona": "^5.0.34"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@cabloy/lint": "^5.0.16",
@@ -3,6 +3,8 @@ import { metadataCustomSnippet } from '@cabloy/cli';
3
3
  import { catchError } from '@cabloy/utils';
4
4
  import { locale_transform } from '../utils.ts';
5
5
 
6
+ const __resources = { Name: 'Name', Description: 'Description' };
7
+
6
8
  declare module '@cabloy/cli' {
7
9
  interface ICommandArgv {
8
10
  module: string;
@@ -22,6 +24,6 @@ export default metadataCustomSnippet({
22
24
  return fs.readFileSync(targetFile).toString('utf8');
23
25
  },
24
26
  async transform({ ast, argv }) {
25
- return locale_transform({ ast, argv });
27
+ return locale_transform({ ast, argv, resources: __resources });
26
28
  },
27
29
  });
@@ -1,10 +1,12 @@
1
1
  import { metadataCustomSnippet } from '@cabloy/cli';
2
2
  import { locale_transform } from '../utils.ts';
3
3
 
4
+ const __resources = { Name: '名称', Description: '描述' };
5
+
4
6
  export default metadataCustomSnippet({
5
7
  file: 'src/config/locale/zh-cn.ts',
6
8
  language: 'gogo',
7
9
  async transform({ ast, argv }) {
8
- return locale_transform({ ast, argv });
10
+ return locale_transform({ ast, argv, resources: __resources });
9
11
  },
10
12
  });
@@ -1,14 +1,13 @@
1
- const __names = ['Name', 'Description'];
2
-
3
- export async function locale_transform({ ast, argv }) {
4
- const names = __names.concat(argv.resourceNameCapitalize);
1
+ export async function locale_transform({ ast, argv, resources }) {
2
+ const names = Object.keys(resources).concat(argv.resourceNameCapitalize);
5
3
  const nodes = ast.find('export default {$$$0}');
6
4
  for (const name of names) {
7
5
  const node = nodes.match.$$$0.find(node => {
8
6
  return (node as any).key.name === name;
9
7
  });
10
8
  if (!node) {
11
- const code = `${name}: '${name}',`;
9
+ const value = resources[name] ?? argv.resourceNameCapitalize;
10
+ const code = `${name}: '${value}',`;
12
11
  ast.replace(
13
12
  'export default {$$$0}',
14
13
  `export default { $$$0, \n ${code}}`,
@@ -34,7 +34,7 @@ export class CliCreateProject extends BeanCliBase {
34
34
  argv.DATABASE_CLIENT_MYSQL_USER = 'web_user';
35
35
  argv.DATABASE_CLIENT_MYSQL_PASSWORD = randomize('*', 16, { exclude: '\\\'"$' });
36
36
  argv.DATABASE_CLIENT_MYSQL_PASSWORD_ROOT = randomize('*', 16, { exclude: '\\\'"$' });
37
- argv.DATABASE_CLIENT_PG_USER = 'web_user';
37
+ argv.DATABASE_CLIENT_PG_USER = 'postgres';
38
38
  argv.DATABASE_CLIENT_PG_PASSWORD = randomize('*', 16, { exclude: '\\\'"$' });
39
39
  argv.DATABASE_CLIENT_PG_PASSWORD_ROOT = randomize('*', 16, { exclude: '\\\'"$' });
40
40
  // template
@@ -46,6 +46,8 @@ export class CliCreateProject extends BeanCliBase {
46
46
  snippetsPath: null,
47
47
  boilerplatePath: `create/project/${template}/boilerplate`,
48
48
  });
49
+ // create docker-compose/data/pg
50
+ fse.ensureDirSync(path.join(targetDir, 'docker-compose/data/pg'));
49
51
  // copy package.json
50
52
  fse.copyFileSync(path.join(targetDir, 'package.original.json'), path.join(targetDir, 'package.json'));
51
53
  // npm run init
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-cli-set-api",
3
3
  "type": "module",
4
- "version": "1.0.58",
4
+ "version": "1.0.60",
5
5
  "description": "vona cli-set-api",
6
6
  "publishConfig": {
7
7
  "access": "public"