create-steedos-app 3.0.2-beta.11 → 3.0.2-beta.13
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/dist/create-app.js +10 -0
- package/dist/create-app.js.map +1 -1
- package/package.json +3 -3
- package/templates/default/README.md +74 -13
- package/templates/default/gitignore +21 -0
- package/templates/default/package.json +1 -1
- package/templates/default/steedos-packages/example-app/README.md +3 -0
- package/templates/default/steedos-packages/example-app/package.json +7 -0
- package/templates/default/steedos-packages/example-app/package.service.js +21 -0
- package/templates/default/steedos-packages/example-service/README.md +0 -19
- package/templates/default/steedos-packages/example-service/package.json +0 -8
- package/templates/default/steedos-packages/example-service/package.service.js +0 -88
package/dist/create-app.js
CHANGED
|
@@ -162,6 +162,16 @@ async function createApp({ appPath, packageManager, example, examplePath, typesc
|
|
|
162
162
|
dot: true,
|
|
163
163
|
parents: true,
|
|
164
164
|
cwd: path_1.default.join(__dirname, "..", "templates", template),
|
|
165
|
+
rename: (name) => {
|
|
166
|
+
switch (name) {
|
|
167
|
+
case "gitignore": {
|
|
168
|
+
return ".".concat(name);
|
|
169
|
+
}
|
|
170
|
+
default: {
|
|
171
|
+
return name;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
165
175
|
});
|
|
166
176
|
}
|
|
167
177
|
if ((0, git_1.tryGitInit)(root)) {
|
package/dist/create-app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":";;;;;;AAyBA,
|
|
1
|
+
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-steedos-app",
|
|
3
|
-
"version": "3.0.2-beta.
|
|
3
|
+
"version": "3.0.2-beta.13",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"react",
|
|
6
6
|
"steedos"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"scripts": {
|
|
22
22
|
"start": "node ./dist/index.js",
|
|
23
23
|
"dev": "ts-node src/index.ts",
|
|
24
|
-
"build": "rm -rf dist && tsc"
|
|
24
|
+
"build": "rm -rf dist && npx tsc"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@vercel/ncc": "0.33.4",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"engines": {
|
|
50
50
|
"node": ">=14"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "801e6422c7dec09f9b4cc9427b15cf338addb355"
|
|
53
53
|
}
|
|
@@ -1,31 +1,92 @@
|
|
|
1
|
-
# Steedos
|
|
1
|
+
# Steedos Example App
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This is an enterprise-grade low-code/no-code application built on the [Steedos Platform](https://www.steedos.com/).
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
This project was scaffolded using `create-steedos-app`. It provides a foundation for rapid metadata modeling, API extensions, and business logic development.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## 🛠 Prerequisites
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Before you begin, ensure you have the following installed in your development environment:
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
- **Node.js**: v22.0 or higher
|
|
12
|
+
- **MongoDB**: v7.0 or higher
|
|
13
|
+
- **Redis**:
|
|
14
|
+
- **Yarn**
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
## 🚀 Quick Start
|
|
17
|
+
|
|
18
|
+
### 1. Start Db Services
|
|
16
19
|
|
|
20
|
+
Make sure your MongoDB and Redis services are running. You can start them using the following commands:
|
|
17
21
|
|
|
18
|
-
|
|
22
|
+
```bash
|
|
23
|
+
yarn start:db
|
|
24
|
+
```
|
|
25
|
+
### 2. Install Dependencies
|
|
19
26
|
|
|
20
|
-
|
|
27
|
+
Run the following command in the project root to install the required Node packages:
|
|
21
28
|
|
|
22
29
|
```bash
|
|
30
|
+
yarn install
|
|
23
31
|
yarn
|
|
24
|
-
yarn build
|
|
25
32
|
```
|
|
26
33
|
|
|
27
|
-
###
|
|
34
|
+
### 3. Start the Server
|
|
35
|
+
|
|
36
|
+
Start the development server. Steedos will output the access URL in the console.
|
|
28
37
|
|
|
29
38
|
```bash
|
|
30
39
|
yarn start
|
|
31
40
|
```
|
|
41
|
+
|
|
42
|
+
### 4. Access the Application
|
|
43
|
+
|
|
44
|
+
Once the server starts successfully, open your browser and visit:
|
|
45
|
+
`http://localhost:5100` (Default port)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## 📂 Project Structure
|
|
49
|
+
|
|
50
|
+
Here is an overview of the core file structure:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
my-project/
|
|
54
|
+
├── .env # Environment variables (Do not commit sensitive info)
|
|
55
|
+
├── .env.local # Local environment overrides
|
|
56
|
+
├── package.json # Project dependencies and scripts
|
|
57
|
+
├── steedos-config.js # Core Steedos configuration
|
|
58
|
+
├── steedos-packages/example-app/ # Core app directory
|
|
59
|
+
│ ├── main/
|
|
60
|
+
│ │ └── default/
|
|
61
|
+
│ │ ├── objects/ # Object definitions (Metadata)
|
|
62
|
+
│ │ ├── app/ # app definitions (Metadata)
|
|
63
|
+
│ └── package.json # Business package definition
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## ⚙️ Configuration
|
|
67
|
+
|
|
68
|
+
Create or modify the `.env` file in the project root to configure the database connection and service ports:
|
|
69
|
+
|
|
70
|
+
```shell
|
|
71
|
+
# Service Port
|
|
72
|
+
PORT=5100
|
|
73
|
+
|
|
74
|
+
# Database Connection (MongoDB)
|
|
75
|
+
MONGO_URL=mongodb://127.0.0.1:27017/steedos
|
|
76
|
+
|
|
77
|
+
# Root URL (Important for attachments and API callbacks)
|
|
78
|
+
ROOT_URL=http://localhost:5100
|
|
79
|
+
|
|
80
|
+
# Metadata Storage Directory
|
|
81
|
+
STEEDOS_STORAGE_DIR=./storage
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 💻 Development Guide
|
|
85
|
+
|
|
86
|
+
### Exporting Metadata
|
|
87
|
+
|
|
88
|
+
If you modify configurations via the UI (Steedos Objects), you can sync changes back to your local code using the Steedos command line tools or the VS Code extension.
|
|
89
|
+
## 📚 Resources
|
|
90
|
+
|
|
91
|
+
- [Steedos Documentation](https://docs.steedos.com/)
|
|
92
|
+
- [Steedos GitHub Repository](https://github.com/steedos/steedos-platform)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
|
2
|
+
|
|
3
|
+
**/.DS_Store
|
|
4
|
+
|
|
5
|
+
**/node_modules
|
|
6
|
+
|
|
7
|
+
**/npm-error.log
|
|
8
|
+
**/yarn-error.log
|
|
9
|
+
**/lerna-debug.log
|
|
10
|
+
|
|
11
|
+
dist
|
|
12
|
+
logs
|
|
13
|
+
|
|
14
|
+
.env.local
|
|
15
|
+
|
|
16
|
+
yarn.lock
|
|
17
|
+
package-lock.json
|
|
18
|
+
steedos-storage
|
|
19
|
+
|
|
20
|
+
.steedos
|
|
21
|
+
plugins
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const project = require('./package.json');
|
|
2
|
+
const packageLoader = require('@steedos/service-package-loader');
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
name: "example-service",
|
|
6
|
+
|
|
7
|
+
mixins: [packageLoader],
|
|
8
|
+
|
|
9
|
+
metadata: {
|
|
10
|
+
$package: {
|
|
11
|
+
name: project.name,
|
|
12
|
+
version: project.version,
|
|
13
|
+
path: __dirname,
|
|
14
|
+
isPackage: true
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
actions: {
|
|
18
|
+
},
|
|
19
|
+
events: {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
微服务软件包
|
|
2
|
-
===
|
|
3
|
-
|
|
4
|
-
可以使用微服务方式扩展化验魔方。
|
|
5
|
-
|
|
6
|
-
## 启动服务
|
|
7
|
-
|
|
8
|
-
```sh
|
|
9
|
-
yarn start:services
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
启动服务之后,为华炎魔方服务扩展了以下API
|
|
13
|
-
|
|
14
|
-
- hello, 获取当前登录用户: http://127.0.0.1:5000/service/api/example-service/hello/jack
|
|
15
|
-
- me, 获取当前登录用户: http://127.0.0.1:5000/service/api/example-service/me
|
|
16
|
-
|
|
17
|
-
## 参考
|
|
18
|
-
|
|
19
|
-
- [Moleculer Nodejs](https://moleculer.services/zh/)
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
const project = require('./package.json');
|
|
2
|
-
const packageLoader = require('@steedos/service-package-loader');
|
|
3
|
-
|
|
4
|
-
module.exports = {
|
|
5
|
-
name: "example-service",
|
|
6
|
-
|
|
7
|
-
mixins: [packageLoader],
|
|
8
|
-
|
|
9
|
-
metadata: {
|
|
10
|
-
$package: {
|
|
11
|
-
name: project.name,
|
|
12
|
-
version: project.version,
|
|
13
|
-
path: __dirname,
|
|
14
|
-
isPackage: true
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
actions: {
|
|
19
|
-
hello: {
|
|
20
|
-
// 使用微服务方式定义 API 接口。
|
|
21
|
-
// 访问地址: GET /service/api/example-service/hello/:name
|
|
22
|
-
rest: { method: 'GET', path: '/hello/:name' },
|
|
23
|
-
handler(ctx) {
|
|
24
|
-
return {
|
|
25
|
-
data: 'Welcome ' + ctx.params.name
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
me: {
|
|
30
|
-
rest: { method: 'GET', path: '/me' },
|
|
31
|
-
// 在微服务中获取当前登录的用户信息
|
|
32
|
-
async handler(ctx) {
|
|
33
|
-
return ctx.meta.user
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
// 在微服务中调用graphql查询数据库
|
|
37
|
-
graphqlQuerySpaceUsers: {
|
|
38
|
-
rest: { method: 'GET', path: '/graphql' },
|
|
39
|
-
async handler(ctx) {
|
|
40
|
-
return await this.broker.call('api.graphql', {
|
|
41
|
-
query: `
|
|
42
|
-
query {
|
|
43
|
-
space_users(filters: ["user", "=", "${ctx.meta.user.userId}"]) {
|
|
44
|
-
name
|
|
45
|
-
organization__expand {
|
|
46
|
-
name
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
`},
|
|
51
|
-
// 如果查询 GraphQL 需要带上当前用户的权限,需要传入 user 属性。
|
|
52
|
-
{
|
|
53
|
-
meta: {
|
|
54
|
-
user: ctx.meta.user
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
)
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
// 在微服务中调用objectql查询数据库, 需要 mixins: [require('@steedos/service-object-mixin')],
|
|
61
|
-
objectqlQuerySpaceUsers: {
|
|
62
|
-
rest: { method: 'GET', path: '/objectql' },
|
|
63
|
-
async handler(ctx) {
|
|
64
|
-
return await this.getObject('space_users').find(
|
|
65
|
-
{
|
|
66
|
-
filters: ['user', '=', ctx.meta.user.userId]
|
|
67
|
-
},
|
|
68
|
-
ctx.meta.user
|
|
69
|
-
)
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
// 使用微服务定义触发器
|
|
73
|
-
spaceUsersBeforeUpdate: {
|
|
74
|
-
trigger: { listenTo: 'space_users', when: ['beforeUpdate', 'beforeInsert']},
|
|
75
|
-
async handler(ctx) {
|
|
76
|
-
this.broker.logger.info('spaceUsersBeforeUpdate', ctx)
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
events: {
|
|
81
|
-
"@space_users.updated": {
|
|
82
|
-
handler(payload) {
|
|
83
|
-
// 监听人员修改事件
|
|
84
|
-
this.broker.logger.info(payload);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|