create-steedos-app 2.2.52-beta.21 → 2.2.52-beta.25

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 (71) hide show
  1. package/LICENSE.txt +2 -3
  2. package/README.md +51 -2
  3. package/dist/index.js +385 -0
  4. package/package.json +35 -22
  5. package/createSteedosApp.js +0 -127
  6. package/index.js +0 -19
  7. package/templates/default/.scripts/env.sh +0 -7
  8. package/templates/default/.scripts/flush_cacher_db.js +0 -7
  9. package/templates/default/.scripts/setup.sh +0 -8
  10. package/templates/default/.scripts/tailscale.sh +0 -7
  11. package/templates/default/.scripts/tailscaled.sh +0 -6
  12. package/templates/default/.steedos/_package.json +0 -11
  13. package/templates/default/.steedos/steedos-packages.yml +0 -30
  14. package/templates/default/.steedos/yarn.lock +0 -35
  15. package/templates/default/.vscode/extensions.json +0 -5
  16. package/templates/default/.vscode/settings.json +0 -17
  17. package/templates/default/Dockerfile +0 -21
  18. package/templates/default/Dockerfile-codeserver +0 -37
  19. package/templates/default/README.md +0 -99
  20. package/templates/default/_package.json +0 -60
  21. package/templates/default/docker-compose.yml +0 -59
  22. package/templates/default/env +0 -35
  23. package/templates/default/gitignore +0 -35
  24. package/templates/default/gitpod.Dockerfile +0 -52
  25. package/templates/default/gitpod.yml +0 -47
  26. package/templates/default/index.js +0 -0
  27. package/templates/default/jsreport-app/_package.json +0 -16
  28. package/templates/default/jsreport-app/jsreport.config.json +0 -43
  29. package/templates/default/jsreport-app/server.js +0 -14
  30. package/templates/default/lerna.json +0 -10
  31. package/templates/default/moleculer.config.js +0 -268
  32. package/templates/default/node-red-app/LICENSE.txt +0 -706
  33. package/templates/default/node-red-app/README.md +0 -78
  34. package/templates/default/node-red-app/_package.json +0 -26
  35. package/templates/default/node-red-app/index.js +0 -137
  36. package/templates/default/node-red-app/public/css/simplegrid.css +0 -145
  37. package/templates/default/node-red-app/public/css/style.css +0 -482
  38. package/templates/default/node-red-app/public/favicon.ico +0 -0
  39. package/templates/default/node-red-app/public/first-run.html +0 -280
  40. package/templates/default/node-red-app/public/fonts/css.css +0 -224
  41. package/templates/default/node-red-app/public/images/progress-bar.png +0 -0
  42. package/templates/default/node-red-app/public/images/progress-left.png +0 -0
  43. package/templates/default/node-red-app/public/images/progress-middle.png +0 -0
  44. package/templates/default/node-red-app/public/images/progress-o-bar.png +0 -0
  45. package/templates/default/node-red-app/public/images/progress-o-left.png +0 -0
  46. package/templates/default/node-red-app/public/images/progress-o-middle.png +0 -0
  47. package/templates/default/node-red-app/public/images/progress-o-right.png +0 -0
  48. package/templates/default/node-red-app/public/images/progress-right.png +0 -0
  49. package/templates/default/node-red-app/public/images/spin.svg +0 -41
  50. package/templates/default/node-red-app/public/images/title-wave.png +0 -0
  51. package/templates/default/node-red-app/public/index.html +0 -220
  52. package/templates/default/node-red-app/public/scripts/jquery-1.11.2.min.js +0 -4
  53. package/templates/default/node-red-app/public/scripts/zxcvbn.js +0 -28
  54. package/templates/default/node-red-app/public/steedos.png +0 -0
  55. package/templates/default/node-red-app/red.js +0 -294
  56. package/templates/default/node-red-app/routers/health.js +0 -13
  57. package/templates/default/node-red-app/settings.js +0 -121
  58. package/templates/default/services/community.service.js +0 -19
  59. package/templates/default/services/enterprise.service.js +0 -26
  60. package/templates/default/services/sidecar-server.service.js +0 -7
  61. package/templates/default/steedos-app/README.md +0 -5
  62. package/templates/default/steedos-app/_package.json +0 -9
  63. package/templates/default/steedos-app/main/default/client/analytics.baidu.client.js +0 -24
  64. package/templates/default/steedos-app/package.service.js +0 -69
  65. package/templates/default/steedos-app/tsconfig.json +0 -74
  66. package/templates/default/steedos-config.yml +0 -95
  67. package/templates/default/steedos-packages/README.md +0 -1
  68. package/templates/default/steedos-packages/my-package/README.md +0 -3
  69. package/templates/default/steedos-packages/my-package/_package.json +0 -9
  70. package/templates/default/steedos-packages/my-package/main/default/client/analytics.baidu.client.js +0 -24
  71. package/templates/default/steedos-packages/my-package/package.service.js +0 -69
package/package.json CHANGED
@@ -1,39 +1,52 @@
1
1
  {
2
2
  "name": "create-steedos-app",
3
- "version": "2.2.52-beta.21",
3
+ "version": "2.2.52-beta.25",
4
4
  "keywords": [
5
+ "react",
5
6
  "steedos"
6
7
  ],
7
- "description": "Create steedos apps with no build configuration.",
8
+ "description": "Create steedos apps with one command",
8
9
  "repository": {
9
10
  "type": "git",
10
- "url": "https://github.com/steedos/steedos-platform.git",
11
- "directory": "packages/create-steedos-app"
11
+ "url": "https://github.com/steedos/steedos-platform",
12
+ "directory": "packages/create-next-app"
12
13
  },
14
+ "author": "Steedos Team <support@steedos.com>",
13
15
  "license": "MIT",
14
- "engines": {
15
- "node": ">=12"
16
- },
17
- "bugs": {
18
- "url": "https://github.com/steedos/steedos-platform/issues"
16
+ "bin": {
17
+ "create-steedos-app": "./dist/index.js"
19
18
  },
20
19
  "files": [
21
- "index.js",
22
- "templates/**",
23
- "createSteedosApp.js"
20
+ "dist"
24
21
  ],
25
- "bin": {
26
- "create-steedos-app": "./index.js"
22
+ "scripts": {
23
+ "dev": "ncc build ./index.ts -w -o dist/",
24
+ "prebuild": "rimraf ./dist/",
25
+ "build": "ncc build ./index.ts -o ./dist/ --minify --no-cache --no-source-map-register"
27
26
  },
28
- "dependencies": {
29
- "@geek/spinner": "1.0.0",
30
- "chalk": "3.0.0",
31
- "commander": "4.1.0",
27
+ "devDependencies": {
28
+ "@types/async-retry": "1.4.2",
29
+ "@types/cross-spawn": "6.0.0",
30
+ "@types/node": "^12.6.8",
31
+ "@types/prompts": "2.0.1",
32
+ "@types/rimraf": "3.0.0",
33
+ "@types/tar": "4.0.3",
34
+ "@types/validate-npm-package-name": "3.0.0",
35
+ "@vercel/ncc": "0.33.4",
36
+ "async-retry": "1.3.1",
37
+ "chalk": "2.4.2",
38
+ "commander": "2.20.0",
32
39
  "cpy": "7.3.0",
33
- "fs-extra": "8.1.0"
40
+ "cross-spawn": "6.0.5",
41
+ "got": "10.7.0",
42
+ "prompts": "2.1.0",
43
+ "rimraf": "3.0.2",
44
+ "tar": "4.4.10",
45
+ "update-check": "1.5.4",
46
+ "validate-npm-package-name": "3.0.0"
34
47
  },
35
- "resolutions": {
36
- "**/chalk": "3.0.0"
48
+ "engines": {
49
+ "node": ">=12.22.0"
37
50
  },
38
- "gitHead": "b31ea478616a5ab135da0e9582ed370be20fb167"
51
+ "gitHead": "8889080266abf6385004c39529e6fee97735333e"
39
52
  }
@@ -1,127 +0,0 @@
1
- 'use strict';
2
- const spinner = new (require('@geek/spinner'))();
3
- const chalk = require('chalk');
4
- const commander = require('commander');
5
- const fs = require('fs-extra');
6
- const path = require("path");
7
- const cpy = require("cpy");
8
-
9
- const packageJson = require('./package.json');
10
-
11
- const projectConfigName = 'package.json'
12
- const defaultTemplate = "default";
13
-
14
-
15
- let projectName;
16
-
17
- const program = new commander.Command(packageJson.name)
18
- .version(packageJson.version)
19
- .arguments('<project-directory>')
20
- .usage(`${chalk.green('<project-directory>')}`)
21
- .action(name => {
22
- projectName = name;
23
- }).parse(process.argv);
24
-
25
-
26
- if (typeof projectName === 'undefined') {
27
- console.error('Please specify the project directory:');
28
- console.log(
29
- ` ${chalk.cyan(program.name())} ${chalk.green('<project-directory>')}`
30
- );
31
- console.log();
32
- console.log('For example:');
33
- console.log(` ${chalk.cyan(program.name())} ${chalk.green('my-steedos-app')}`);
34
- console.log();
35
- console.log(
36
- `Run ${chalk.cyan(`${program.name()} --help`)} to see all options.`
37
- );
38
- process.exit(1);
39
- }
40
-
41
- /**
42
- * TODO 支持参数:useNpm, example, examplePath, typescript
43
- */
44
- function createProject(name) {
45
- const root = path.resolve(name);
46
- const projectName = path.basename(root);
47
-
48
- const infoName = name === projectName ? projectName : name
49
- let template = defaultTemplate;
50
- let projectDir = root || path.join(process.cwd(), projectName)
51
-
52
- if (fs.existsSync(projectDir)) {
53
- spinner.fail(`${projectDir} already exists`);
54
- return
55
- }
56
-
57
- const filterFunction = function (src, dest) {
58
- if (src.endsWith('package.json')) {
59
- return false
60
- }
61
- return true;
62
- }
63
-
64
- if (template) {
65
- spinner.start(`Create project ${projectName}`);
66
- cpy([
67
- '**',
68
- '.steedos/**',
69
- '!.steedos/node_modules/**',
70
- '.vscode/**',
71
- '.scripts/**'
72
- ], projectDir, {
73
- parents: true,
74
- flat: false,
75
- cwd: path.join(__dirname, 'templates', template),
76
- rename: (name) => {
77
- switch (name) {
78
- case 'env':
79
- return '.env'
80
- case 'gitignore': {
81
- return '.gitignore'
82
- }
83
- case 'gitpod.Dockerfile': {
84
- return '.gitpod.Dockerfile'
85
- }
86
- case 'gitpod.yml': {
87
- return '.gitpod.yml'
88
- }
89
- case '_package.json': {
90
- return 'package.json'
91
- }
92
- default: {
93
- return name
94
- }
95
- }
96
- }
97
- }).then((result) => {
98
- const projectConfig = fs.readJsonSync(path.join(projectDir, projectConfigName))
99
- projectConfig.name = projectName
100
- projectConfig.version = `1.0.0`;
101
- fs.outputJsonSync(path.join(projectDir, 'package.json'), projectConfig, { spaces: 4, EOL: '\r\n' })
102
-
103
- try {
104
- const appConfig = fs.readJsonSync(path.join(projectDir, 'steedos-app', 'package.json'))
105
- appConfig.version = `1.0.0`;
106
- fs.outputJsonSync(path.join(projectDir, 'steedos-app', 'package.json'), appConfig, { spaces: 4, EOL: '\r\n' })
107
- } catch (error) {
108
- // console.log(`app package.json error`, error);
109
- }
110
-
111
- try {
112
- const env = fs.readFileSync(path.join(projectDir, '.env'))
113
- fs.outputFileSync(path.join(projectDir, '.env.local'), env)
114
- } catch (error) {
115
- // console.log(`env error`, error);
116
- }
117
- spinner.succeed()
118
- console.info('We suggest that you begin by typing:')
119
- console.info(` ${chalk.cyan('cd')} ${infoName}`)
120
- console.info(` ${chalk.cyan('yarn')}`)
121
- console.info(` ${chalk.cyan('yarn start')}`)
122
- }).catch((err) => {
123
- spinner.fail(err);
124
- })
125
- }
126
- }
127
- createProject(projectName);
package/index.js DELETED
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- 'use strict';
4
-
5
- var currentNodeVersion = process.versions.node;
6
- var semver = currentNodeVersion.split('.');
7
- var major = semver[0];
8
- if (major < 12) {
9
- console.error(
10
- 'You are running Node ' +
11
- currentNodeVersion +
12
- '.\n' +
13
- 'Create Steedos App requires Node 12 or higher. \n' +
14
- 'Please update your version of Node.'
15
- );
16
- process.exit(1);
17
- }
18
-
19
- require('./createSteedosApp');
@@ -1,7 +0,0 @@
1
- # replace ROOT_URL
2
- root_replacement="ROOT_URL=$(gp url 5000)"
3
- sed -i "/^ROOT_URL=*/c$root_replacement" .env.local
4
-
5
- # replace METADATA_SERVER
6
- meta_replacement="METADATA_SERVER=$(gp url 5000)"
7
- sed -i "/^METADATA_SERVER=*/c$meta_replacement" .env.local
@@ -1,7 +0,0 @@
1
- const Redis = require("ioredis");
2
- require('dotenv-flow').config(process.cwd());
3
- const redis = new Redis(process.env.CACHER);
4
- redis.flushdb(() => {
5
- console.log(`flushdb: ${process.env.CACHER}`);
6
- process.exit(0)
7
- });
@@ -1,8 +0,0 @@
1
- # create mongodb data directory
2
- mkdir -p /workspace/mongodb/data/db
3
-
4
- # create .env.local
5
- cp .env .env.local
6
-
7
- # git config pull.rebase, Gitpod上从分支更新代码,或者更新其他人提交的代码有时会提示执行 git config pull.rebase,下面使用git的默认配置
8
- git config --global pull.rebase false
@@ -1,7 +0,0 @@
1
- if [ -n "${TAILSCALE_STATE_MYPROJECT}" ]; then
2
- sudo -E tailscale up
3
- else
4
- sudo -E tailscale up --hostname "gitpod-${GITPOD_GIT_USER_NAME// /-}-$(echo ${GITPOD_WORKSPACE_CONTEXT} | jq -r .repository.name)"
5
- # store the tailscale state into gitpod user
6
- gp env TAILSCALE_STATE_MYPROJECT="$(sudo cat /var/lib/tailscale/tailscaled.state)"
7
- fi
@@ -1,6 +0,0 @@
1
- if [ -n "${TS_STATE_TAILSCALE_EXAMPLE}" ]; then
2
- # restore the tailscale state from gitpod user's env vars
3
- sudo mkdir -p /var/lib/tailscale
4
- echo "${TS_STATE_TAILSCALE_EXAMPLE}" | sudo tee /var/lib/tailscale/tailscaled.state > /dev/null
5
- fi
6
- sudo tailscaled
@@ -1,11 +0,0 @@
1
- {
2
- "name": "steedos-project-packages",
3
- "version": "1.0.0",
4
- "description": "",
5
- "author": "",
6
- "dependencies": {
7
- "@steedos-labs/master": "2.1.61",
8
- "@steedos-labs/oa": "2.1.61",
9
- "@steedos-labs/workflow": "2.1.46"
10
- }
11
- }
@@ -1,30 +0,0 @@
1
- steedos-app-default:
2
- enable: true
3
- version: 1.0.0
4
- description: A Steedos App
5
- local: true
6
- path: steedos-app
7
- '@steedos-labs/oa':
8
- enable: true
9
- version: 2.1.46
10
- description: ''
11
- local: false
12
- path: .steedos/node_modules/@steedos-labs/oa
13
- '@steedos-labs/master':
14
- enable: true
15
- version: 2.1.46
16
- description: ''
17
- local: false
18
- path: .steedos/node_modules/@steedos-labs/master
19
- '@steedos-labs/workflow':
20
- enable: true
21
- version: 2.1.46
22
- description: ''
23
- local: false
24
- path: .steedos/node_modules/@steedos-labs/workflow
25
- my-package:
26
- enable: true
27
- version: 1.0.0
28
- description: A Steedos Package
29
- local: true
30
- path: steedos-packages/my-package
@@ -1,35 +0,0 @@
1
- # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
- # yarn lockfile v1
3
-
4
-
5
- "@steedos-labs/master@2.1.46":
6
- version "2.1.46"
7
- resolved "https://registry.npmmirror.com/@steedos-labs/master/download/@steedos-labs/master-2.1.46.tgz#a99d1a85266a2fcc7a68a5f63efbeda82ff53589"
8
- integrity sha512-ww6U7rsDxzLWyyFPXZ93vUQEqXVW7OOylOgoOB/ytnKpkpETrrn8G/i4rcDI1zUPqEb/ZFDz63mBfj4tYiaL8w==
9
-
10
- "@steedos-labs/oa@2.1.46":
11
- version "2.1.46"
12
- resolved "https://registry.npmmirror.com/@steedos-labs/oa/download/@steedos-labs/oa-2.1.46.tgz#8805973d56bc493789c42b6b021f6446883a5a98"
13
- integrity sha512-YK219meTkA+gqISKZlKPdIUaOB3gOVzJ1xJlUpa3euuUCMAphIBXmElM5Dg0hYXTkucqmAk4CCwi4HYULahNmg==
14
-
15
- "@steedos-labs/workflow@2.1.46":
16
- version "2.1.46"
17
- resolved "https://registry.npmmirror.com/@steedos-labs/workflow/download/@steedos-labs/workflow-2.1.46.tgz#f123666881d0527ab7f56ab706a60232170ae9b7"
18
- integrity sha512-M0zzmH2XJNEGFpdBNj7RmLlNCYE0ToYRfrXIuoKycgY2rqieQNVxYqCFl+MTvtVrRgsTAut0NEBDkNc5ikwR/g==
19
-
20
- "@steedos/service-plugin-amis@2.2.12":
21
- version "2.2.12"
22
- resolved "https://registry.yarnpkg.com/@steedos/service-plugin-amis/-/service-plugin-amis-2.2.12.tgz#c7bb705657092c166c2a2d0b7a219f44e51d86aa"
23
- integrity sha512-F0lZdn60vKz3tGjA8imBXqtoPgfN+DobwxRjQD2aCug9o+VVeNcpWqbnefILqNz/KGakdXfQeZhyrd2kCnHbRA==
24
-
25
- "@steedos/webapp-accounts@^2.2.12":
26
- version "2.2.12"
27
- resolved "https://registry.yarnpkg.com/@steedos/webapp-accounts/-/webapp-accounts-2.2.12.tgz#eb4e53cadd6d779b4d6101341c19bae12b4839c2"
28
- integrity sha512-d1KkChTHafeDn6HD+Eql+ab8nrcjv6Ul0gfesp6dx+Zh6dilHkMyZtn6F8rpcH1tGMIzW8Wv4HPPGcv5yprOeA==
29
- dependencies:
30
- lodash "^4.17.21"
31
-
32
- lodash@^4.17.21:
33
- version "4.17.21"
34
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
35
- integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -1,5 +0,0 @@
1
- {
2
- "recommendations": [
3
- "redhat.vscode-yaml", "steedos.steedosdx-vscode"
4
- ]
5
- }
@@ -1,17 +0,0 @@
1
- {
2
- "yaml.completion": true,
3
- "yaml.customTags": [
4
- "tag:yaml.org,2002:js/function"
5
- ],
6
- "yaml.schemas": {
7
- "./node_modules/@steedos/schemas/app/schema.json": "/*.app.yml",
8
- "./node_modules/@steedos/schemas/object/schema.json": "/*.object.yml",
9
- "./node_modules/@steedos/schemas/field/schema.json": "/*.field.yml",
10
- "./node_modules/@steedos/schemas/button/schema.json": "/*.button.yml",
11
- "./node_modules/@steedos/schemas/listview/schema.json": "/*.listview.yml",
12
- "./node_modules/@steedos/schemas/permission/schema.json": "/*.permission.yml",
13
- "./node_modules/@steedos/schemas/permissionset/schema.json": "/*.permissionset.yml",
14
- "./node_modules/@steedos/schemas/profile/schema.json": "/*.profile.yml",
15
- "./node_modules/@steedos/schemas/dashboard/schema.json": "/*.dashboard.yml"
16
- }
17
- }
@@ -1,21 +0,0 @@
1
- FROM node:12.22.7
2
-
3
- WORKDIR /app
4
-
5
- ADD .steedos ./.steedos/
6
- ADD services ./services/
7
- ADD steedos-app ./steedos-app/
8
- # ADD steedos-packages ./steedos-packages/
9
- ADD package.json .
10
- ADD moleculer.config.js .
11
- ADD steedos-config.yml ./steedos-config.yml
12
- ADD .scripts ./.scripts/
13
-
14
- # RUN npm config set registry http://registry.npm.taobao.org/
15
- # RUN yarn config set registry http://registry.npm.taobao.org/
16
-
17
- RUN yarn
18
-
19
- ENV NODE_ENV=production
20
-
21
- CMD ["yarn", "start"]
@@ -1,37 +0,0 @@
1
- FROM node:12.16.3
2
-
3
- USER root
4
- WORKDIR /
5
-
6
- # RUN apt-get update
7
-
8
- RUN npm config set prefix "/root/.npm/npm_global"
9
- RUN npm config set cache "/root/.npm/npm_cache"
10
- RUN yarn config set global-folder "/root/.yarn/yarn_global"
11
- RUN yarn config set prefix "/root/.yarn/yarn_prefix"
12
- RUN yarn config set cache-folder "/root/.yarn/yarn_cache"
13
-
14
- ADD .steedos /root/app/.steedos/
15
- ADD services /root/app/services/
16
- ADD steedos-app /root/app/steedos-app/
17
- ADD package.json /root/app/
18
- ADD moleculer.config.js /root/app/
19
- ADD steedos-config-k8s.yml /root/app/steedos-config.yml
20
-
21
- RUN mkdir -p /dev/disk/by-id/
22
-
23
- # RUN npm config set registry http://registry.npm.taobao.org/
24
-
25
- # RUN yarn config set registry http://registry.npm.taobao.org/
26
- WORKDIR /root/app
27
-
28
- RUN yarn
29
-
30
- RUN yarn global add code-server@3.10.2
31
-
32
- RUN npm install pm2 -g
33
-
34
- EXPOSE 8080
35
-
36
- # CMD ["yarn", "start"]
37
- CMD ["/bin/sh","-c","yarn pm2-start && code-server"]
@@ -1,99 +0,0 @@
1
- # 华炎魔方模板项目
2
-
3
- 该项目是通过`steedos cli`命令行创建魔方项目时会自动生成的模板项目,比如执行`npx create-steedos-app my-app`会自动创建一个名为`my-app`的项目。
4
-
5
- ## 开发环境
6
-
7
- 我们推荐使用GitPod来在线开发华炎魔方项目,这样可以免去安装开发环境的繁琐过程,如果需要本地搭建开发环境可以参考以下Gitpod配置文件,它们分别描述了部署开发环境及启动华炎魔方项目的具体过程:
8
-
9
- - [.gitpod.Dockerfile](.gitpod.Dockerfile)
10
- - [.gitpod.yml](.gitpod.yml)
11
-
12
- ## 开发前准备
13
-
14
- - **激活华炎魔方**:请参考该 [文档](https://www.steedos.cn/docs/deploy/deploy-activate),注册华炎魔方门户账户,并准备好后续运行项目时激活华炎魔方依赖的两个环境变量。
15
-
16
- - **注册GitPod账户**:如果没有 [Gitlab](https://gitlab.steedos.cn/) 账户,请注册并使用浏览器登录它们。
17
-
18
- - **Fork项目**:请Fork本项目到本地,后续我们使用GitPod在线开发Fork后的项目的话就可以把开发后的代码提交到Git仓库。
19
- 也可以执行以下命令来创建一个新项目,然后把该项目提交到Git仓库,而不是Fork本项目来创建自己的魔方项目。```npx create-steedos-app my-app```
20
-
21
- ## 运行项目
22
-
23
- 只要在浏览器中输入地址 `https://vscode.steedos.cn/#{之前Fork下来的Git仓库地址}`即可使用 Gitpod 启动远程开发环境,远程开发环境已经安装并初始化好必须的组件,包括 nodejs, mongodb, redis, vscode 等。
24
-
25
- 比如访问地址 <https://vscode.steedos.cn/#https://github.com/steedos/steedos-project-template> 即可在线运行该Git仓库项目,可以把`#`号后面的Git仓库地址换成您希望运行的任何华炎魔方项目的Git仓库地址。
26
-
27
- 在浏览器中打开项目后,会自动执行`yarn`指令安装项目依赖项,并自动执行`yarn start`指令运行项目。
28
-
29
- 第一次运行项目时可以在控制台看到提示“请配置环境变量STEEDOS_CLOUD_SPACE_ID和STEEDOS_CLOUD_API_KEY”,但是我们也可以看到项目运行起来后自动打开了一个浏览器窗口访问运行好的华炎魔方,只是因为没有激活华炎魔方没有账户可以登录使用所以显示了激活华炎魔方的初始化界面。
30
-
31
- 请在云平台”管理控制台”应用的“我的魔方”中找到对应的私有部署记录,并在该初始化界面中输入点击私有部署记录详细界面右上角“复制激活参数”按钮复制的内容,其中已经包含了激活华炎魔方需要的两个环境变量,提交后会自动把相关环境变量值保存到`.env.local`文件并且页面会自动跳转到登录界面,使用私有部署的华炎魔方初始账户登录即可进入系统主界面了。
32
-
33
- ```
34
- METADATA_SERVER=https://5000-rose-fowl-9ece4ams.ws-us25.gitpod.io
35
- METADATA_APIKEY=#会自动填充为初始界面中输入的环境变量值
36
-
37
- STEEDOS_CLOUD_SPACE_ID=#会自动填充为初始界面中输入的环境变量值
38
- STEEDOS_CLOUD_API_KEY=#会自动填充为初始界面中输入的环境变量值
39
- ```
40
-
41
- 其中METADATA_SERVER 和 METADATA_APIKEY这两个环境变量是用于同步元数据,详细请参考文档 [同步元数据](https://beta.steedos.cn/docs/developer/getting-started#%E5%90%8C%E6%AD%A5%E5%85%83%E6%95%B0%E6%8D%AE)。
42
-
43
- ## 开发项目
44
-
45
- - **零代码开发**:可以参考文档 [如何创建自定义应用程序?](https://www.steedos.cn/docs/admin/create_object) 在界面上开发业务需求,开发完成后可以参考 [同步元数据](https://www.steedos.cn/docs/developer/getting-started#%E5%90%8C%E6%AD%A5%E5%85%83%E6%95%B0%E6%8D%AE) 把代码同步到 GitPod 本地,然后本地代码可以提交到 Git仓库中。
46
-
47
- - **低代码开发**:可以参考文档 [开发人员快速向导](https://www.steedos.cn/docs/developer/getting-started) 在GitPod中在线写代码来开发业务需求。
48
-
49
- ## 软件包
50
-
51
- 项目开发完成后,可以发布为软件包,发布后的软件包可以直接安装到测试环境或生产环境中直接使用,还可以在华炎魔方应用市场中定价售卖发布后的软件包,详细请参考教程 [软件包发布与安装](https://www.steedos.cn/docs/developer/package)。
52
-
53
- ## 目录说明
54
-
55
- - **.steedos**:该文件夹是一个独立的npm项目,在该项目中可以定义要在华炎魔方项目中引用哪些软件包。
56
- 这里定义的软件包都可以在“设置”应用的“应用程序->软件包”界面上看到,且在界面上手动安装的软件包会回写到该文件夹的相关配置文件中。
57
- 更多详情请参考文档:[软件包发布与安装](https://www.steedos.cn/docs/developer/package)。
58
-
59
- - **.steedos/package.json**:这是npm项目的配置文件,可以在`dependencies`中定义要安装哪些软件包到本地。
60
-
61
- - **.steedos/steedos-packages.yml**:在该文件中可以配置当前华炎魔方项目要引用哪些软件包,包括之前在`package.json`文件依赖项中定义的软件包也需要在这里引用才能生效。
62
- 每个软件包可以定义的属性说明如下:
63
-
64
- ```yml
65
- '@steedos-labs/oa': # 软件包名称
66
- enable: true #是否启用该软件包
67
- version: 2.1.20 # 软件包版本号
68
- description: '' # 软件包备注
69
- local: false # 是否是本地项目下的软件包,只要不是安装到`.steedos/node_modules`文件夹下的软件包都应该设置为true
70
- path: .steedos/node_modules/@steedos-labs/oa #软件包所在文件目录,所有软件包都必须在这里填写软件包所在硬盘目录
71
- ```
72
-
73
- - **.vscode**:该文件夹中保存的是vscode编辑器的配置文件,其中setting.json文件中定义了低代码开发时,编写yaml配置文件需要符合的schemas规范。
74
-
75
- - **jsreport-app**:这是一个独立的 [JsReport](https://jsreport.net/) 项目,用于设计各种报表。详情请参考 [JsReport报表开发向导](https://www.steedos.cn/docs/developer/jsreport)。
76
-
77
- - **node-red-app**:这是一个独立的 [Node-Red](https://nodered.org/) 项目,可以通过可视化开发方式,连接SAP、用友、金蝶等主流业务系统及各种数据库,实现各种集成业务需求。详情请参考 [与现有业务系统整合](https://www.steedos.cn/docs/developer/node-red)。
78
-
79
- - **services**:该文件夹内存放的是华炎魔方微服务相关配置文件,目前内置三个微服务,另外每个软件包都要求以微服务形式加入到华炎魔方。
80
-
81
- - **steedos-app**:这是每个魔方项目内置的默认软件包文件夹,华炎魔方启动时会自动加载每个软件包中的元数据和相关代码。
82
- 使用华炎魔方 DX 工具同步元数据时,默认同步到此文件夹中,详情请参考 [同步元数据](https://www.steedos.cn/docs/developer/getting-started#%E5%90%8C%E6%AD%A5%E5%85%83%E6%95%B0%E6%8D%AE)。
83
-
84
- - **steedos-packages**:当项目需要分包管理时,可以把各个软件包文件夹存放到该文件夹中,软件包开发完成后可以发布到NPM仓库中,也可以发布到华炎魔方应用市场售卖。
85
- 如果需要,也可以把第三方软件包复制到此文件夹中,华炎魔方启动时会自动加载其中每个软件包的元数据及相关代码。
86
-
87
- - **storage**:这是魔方项目存放附件到本地时,附件文件所在文件夹,您也可以选择把附件存入云服务,这样的话,该文件夹就始终是空的。
88
-
89
- - **moleculer.config.js**:使用moleculer运行服务时的配置文件。
90
-
91
- - **.env**:环境变量配置文件,可以配置端口、URL 等环境变量,与`.env.local`文件的主要区别是该文件可以提交到git仓库中。
92
-
93
- - **.env.local**:环境变量配置文件,用于保存本地环境的配置,会覆盖`.env`文件中的配置。
94
- 该文件中可以存放密钥等敏感信息,已加入到`.gitignore`文件清单,不会提交到git仓库中。
95
-
96
- - **steedos-config.yml**:华炎魔方配置文件,详情请参考文档 [环境变量、系统参数配置向导](https://www.steedos.cn/docs/deploy/steedos-config)。
97
-
98
- - **package.json**:华炎魔方项目是一个标准的NPM项目,该文件用于配置项目依赖的 npm 包。
99
- 如果需要升级魔方平台内核版本,也是修改此文件,详情请参考文档 [升级已有老版本项目](https://www.steedos.cn/docs/deploy/upgrade)。
@@ -1,60 +0,0 @@
1
- {
2
- "name": "@steedos/steedos-project-template",
3
- "version": "1.0.0",
4
- "private": false,
5
- "repository": "https://github.com/steedos/steedos-project-template.git",
6
- "description": "",
7
- "engines": {
8
- "node": ">=12"
9
- },
10
- "scripts": {
11
- "start": "yarn start:community",
12
- "start:community": "yarn flushCacherDB && moleculer-runner services/community.service.js",
13
- "start:enterprise": "yarn flushCacherDB && moleculer-runner services/enterprise.service.js",
14
- "start:console": "cross-env NODEID=STEEDOS-CONSOLE moleculer connect --config ./moleculer.config.js",
15
- "flushCacherDB": "node .scripts/flush_cacher_db.js",
16
- "postinstall": "cd .steedos && yarn"
17
- },
18
- "keywords": [
19
- "steedos",
20
- "low-code",
21
- "microservices",
22
- "moleculer"
23
- ],
24
- "author": "",
25
- "license": "ISC",
26
- "dependencies": {
27
- "@steedos/ee_service-plugin-license": "^2.2.3",
28
- "@steedos/service-community": "^2.2.14",
29
- "@steedos/webapp-accounts": "^2.2.14",
30
- "@steedos/service-plugin-amis": "^2.2.14"
31
- },
32
- "devDependencies": {
33
- "eslint": "^7.7.0",
34
- "jest": "^26.4.2",
35
- "jest-cli": "^26.4.2",
36
- "moleculer-repl": "^0.6.4",
37
- "nodemon": "^2.0.7"
38
- },
39
- "homepage": "https://www.steedos.com",
40
- "resolutions": {
41
- "typeorm": "0.2.28",
42
- "**/chalk": "3.0.0",
43
- "**/lodash": "^4.17.15",
44
- "**/handlebars": "^4.3.0",
45
- "**/debug": "^3.1.0",
46
- "**/hoek": "^5.0.3",
47
- "**/cryptiles": "^4.1.2",
48
- "**/bcrypt": "3.0.6",
49
- "**/samlp": "3.4.1",
50
- "**/xmldom": "0.2.1",
51
- "**/tslib": "2.3.1",
52
- "**/fibers": "^4.0.3",
53
- "**/cookies": "0.6.2",
54
- "**/@babel/runtime": "7.12.0",
55
- "**/graphql": "^15.3.0"
56
- },
57
- "publishConfig": {
58
- "access": "public"
59
- }
60
- }
@@ -1,59 +0,0 @@
1
- version: "3"
2
-
3
- services:
4
- steedos:
5
- image: steedos/steedos-project-template:latest
6
- restart: always
7
- # command: ['sh', '-c', "echo $(date +%T) start && /app/init_home.sh"]
8
- ports:
9
- - "5000:5000"
10
- volumes:
11
- - "./storage:/app/storage"
12
- - "./.steedos:/app/.steedos"
13
- environment:
14
- - ROOT_URL=http://localhost:5000
15
- - MONGO_URL=mongodb://mongo:27018/steedos
16
- - STEEDOS_CFS_STORE=local
17
- - STEEDOS_STORAGE_DIR=/app/storage
18
- - TRANSPORTER=redis://redis:6389
19
- - CACHER=redis://redis:6389/2
20
- depends_on:
21
- - redis
22
- - mongo
23
-
24
- redis:
25
- image: redis:6.2.4
26
- restart: always
27
- volumes:
28
- - "./docker-volumes/redis/data:/data"
29
- command: ["/bin/sh","-c", "redis-server --save \"\" --appendonly no"]
30
- ports:
31
- - "6389:6379"
32
-
33
- mongo:
34
- image: mongo:4.2
35
- restart: always
36
- volumes:
37
- - "./docker-volumes/mongo/data/db:/data/db"
38
- command: mongod --oplogSize 128 --profile=1 --slowms=500 --replSet rs0 --bind_ip_all
39
- ports:
40
- - "27018:27017"
41
-
42
- # this container's job is just run the command to initialize the replica set.
43
- # it will run the command and remove himself (it will not stay running)
44
- mongo-init-replica:
45
- image: mongo:4.2
46
- command: >
47
- bash -c
48
- "for i in `seq 1 30`; do
49
- mongo mongo/steedos --eval \"
50
- rs.initiate({
51
- _id: 'rs0',
52
- version: 1,
53
- members: [ { _id: 0, host: 'mongo:27017' } ]})\" &&
54
- s=$$? && break || s=$$?;
55
- echo \"Tried $$i times. Waiting 5 secs...\";
56
- sleep 5;
57
- done; (exit $$s)"
58
- depends_on:
59
- - mongo