@objectql/cli 1.8.4 → 1.9.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.
- package/README.md +2 -2
- package/dist/commands/database-push.d.ts +5 -0
- package/dist/commands/database-push.js +15 -0
- package/dist/commands/database-push.js.map +1 -0
- package/dist/commands/dev.d.ts +2 -0
- package/dist/commands/dev.js +94 -6
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +4 -0
- package/dist/commands/doctor.js +37 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.js +31 -30
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/serve.d.ts +2 -0
- package/dist/commands/serve.js +122 -46
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.js +15 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/index.js +173 -210
- package/dist/index.js.map +1 -1
- package/package.json +13 -7
- package/templates/hello-world/.vscode/extensions.json +7 -0
- package/templates/hello-world/CHANGELOG.md +41 -0
- package/templates/hello-world/README.md +29 -0
- package/templates/hello-world/package.json +24 -0
- package/templates/hello-world/src/index.ts +58 -0
- package/templates/hello-world/tsconfig.json +10 -0
- package/templates/starter/.vscode/extensions.json +7 -0
- package/{CHANGELOG.md → templates/starter/CHANGELOG.md} +36 -42
- package/templates/starter/README.md +17 -0
- package/templates/starter/__tests__/projects-hooks-actions.test.ts +490 -0
- package/templates/starter/jest.config.js +16 -0
- package/templates/starter/package.json +52 -0
- package/templates/starter/src/README.pages.md +110 -0
- package/templates/starter/src/demo.app.yml +4 -0
- package/templates/starter/src/i18n/zh-CN/projects.json +22 -0
- package/templates/starter/src/modules/kitchen-sink/kitchen_sink.data.yml +18 -0
- package/templates/starter/src/modules/kitchen-sink/kitchen_sink.object.yml +156 -0
- package/templates/starter/src/modules/projects/project_approval.workflow.yml +51 -0
- package/templates/starter/src/modules/projects/projects.action.ts +472 -0
- package/templates/starter/src/modules/projects/projects.data.yml +13 -0
- package/templates/starter/src/modules/projects/projects.hook.ts +339 -0
- package/templates/starter/src/modules/projects/projects.object.yml +148 -0
- package/templates/starter/src/modules/projects/projects.permission.yml +141 -0
- package/templates/starter/src/modules/projects/projects.validation.yml +37 -0
- package/templates/starter/src/modules/tasks/tasks.data.yml +23 -0
- package/templates/starter/src/modules/tasks/tasks.object.yml +34 -0
- package/templates/starter/src/modules/tasks/tasks.permission.yml +167 -0
- package/templates/starter/src/seed.ts +55 -0
- package/templates/starter/src/types/index.ts +3 -0
- package/templates/starter/src/types/kitchen_sink.ts +101 -0
- package/templates/starter/src/types/projects.ts +49 -0
- package/templates/starter/src/types/tasks.ts +33 -0
- package/templates/starter/tsconfig.json +11 -0
- package/templates/starter/tsconfig.tsbuildinfo +1 -0
- package/AI_EXAMPLES.md +0 -154
- package/AI_IMPLEMENTATION_SUMMARY.md +0 -509
- package/AI_TUTORIAL.md +0 -144
- package/IMPLEMENTATION_SUMMARY.md +0 -437
- package/USAGE_EXAMPLES.md +0 -951
- package/__tests__/commands.test.ts +0 -426
- package/jest.config.js +0 -19
- package/src/commands/ai.ts +0 -509
- package/src/commands/build.ts +0 -98
- package/src/commands/dev.ts +0 -23
- package/src/commands/format.ts +0 -110
- package/src/commands/generate.ts +0 -135
- package/src/commands/i18n.ts +0 -303
- package/src/commands/init.ts +0 -191
- package/src/commands/lint.ts +0 -98
- package/src/commands/migrate.ts +0 -314
- package/src/commands/new.ts +0 -221
- package/src/commands/repl.ts +0 -120
- package/src/commands/serve.ts +0 -96
- package/src/commands/start.ts +0 -100
- package/src/commands/sync.ts +0 -328
- package/src/commands/test.ts +0 -98
- package/src/index.ts +0 -356
- package/tsconfig.json +0 -15
- package/tsconfig.tsbuildinfo +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectql/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Command-line interface for ObjectQL - Code generation, migrations, REPL, and AI-powered development tools",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"objectql",
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
],
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"main": "dist/index.js",
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"bin",
|
|
22
|
+
"templates"
|
|
23
|
+
],
|
|
19
24
|
"bin": {
|
|
20
25
|
"objectql": "./bin/objectql"
|
|
21
26
|
},
|
|
@@ -29,11 +34,11 @@
|
|
|
29
34
|
"ts-node": "^10.9.1",
|
|
30
35
|
"openai": "^4.28.0",
|
|
31
36
|
"dotenv": "^16.4.5",
|
|
32
|
-
"@objectql/types": "1.
|
|
33
|
-
"@objectql/server": "1.
|
|
34
|
-
"@objectql/
|
|
35
|
-
"@objectql/
|
|
36
|
-
"@objectql/platform-node": "1.
|
|
37
|
+
"@objectql/types": "1.9.0",
|
|
38
|
+
"@objectql/server": "1.9.0",
|
|
39
|
+
"@objectql/driver-sql": "1.9.0",
|
|
40
|
+
"@objectql/core": "1.9.0",
|
|
41
|
+
"@objectql/platform-node": "1.9.0"
|
|
37
42
|
},
|
|
38
43
|
"devDependencies": {
|
|
39
44
|
"typescript": "^5.0.0",
|
|
@@ -41,7 +46,8 @@
|
|
|
41
46
|
"@types/js-yaml": "^4.0.5"
|
|
42
47
|
},
|
|
43
48
|
"scripts": {
|
|
44
|
-
"build": "tsc",
|
|
49
|
+
"build": "tsc && pnpm run copy-templates",
|
|
50
|
+
"copy-templates": "rm -rf templates && mkdir -p templates && cp -r ../../../examples/quickstart/hello-world templates/ && cp -r ../../../examples/showcase/project-tracker templates/starter && rm -rf templates/*/node_modules templates/*/dist",
|
|
45
51
|
"watch": "tsc -w",
|
|
46
52
|
"test": "jest"
|
|
47
53
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# @example/hello-world
|
|
2
|
+
|
|
3
|
+
## 1.0.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @objectql/core@1.9.0
|
|
9
|
+
- @objectql/driver-sql@1.9.0
|
|
10
|
+
|
|
11
|
+
## 1.0.4
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
- @objectql/core@1.8.4
|
|
17
|
+
- @objectql/driver-sql@1.8.4
|
|
18
|
+
|
|
19
|
+
## 1.0.3
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Updated dependencies
|
|
24
|
+
- @objectql/core@1.8.3
|
|
25
|
+
- @objectql/driver-sql@1.8.3
|
|
26
|
+
|
|
27
|
+
## 1.0.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies
|
|
32
|
+
- @objectql/core@1.8.2
|
|
33
|
+
- @objectql/driver-sql@1.8.2
|
|
34
|
+
|
|
35
|
+
## 1.0.1
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies
|
|
40
|
+
- @objectql/core@1.8.1
|
|
41
|
+
- @objectql/driver-sql@1.8.1
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Hello ObjectQL
|
|
2
|
+
|
|
3
|
+
This is the simplest possible example of **ObjectQL**.
|
|
4
|
+
|
|
5
|
+
It demonstrates:
|
|
6
|
+
1. **Zero Config:** No YAML files or server setup required.
|
|
7
|
+
2. **In-Memory SQL:** Uses SQLite in memory, so no database installation is needed.
|
|
8
|
+
3. **Inline Schema:** Defines the data model directly in code.
|
|
9
|
+
|
|
10
|
+
## How to Run
|
|
11
|
+
|
|
12
|
+
Since you are in the monorepo, simply run:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Install dependencies (if not already done at root)
|
|
16
|
+
pnpm install
|
|
17
|
+
|
|
18
|
+
# Run the script
|
|
19
|
+
cd examples/starters/hello-world
|
|
20
|
+
pnpm start
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## What you see
|
|
24
|
+
|
|
25
|
+
The script will:
|
|
26
|
+
1. Initialize the ObjectQL engine.
|
|
27
|
+
2. Create a `deal` object definition on the fly.
|
|
28
|
+
3. Insert a record into the in-memory SQLite database.
|
|
29
|
+
4. Query it back and print the result.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@objectql/example-hello-world",
|
|
3
|
+
"version": "1.0.5",
|
|
4
|
+
"private": true,
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/objectql/objectql.git",
|
|
8
|
+
"directory": "examples/quickstart/hello-world"
|
|
9
|
+
},
|
|
10
|
+
"description": "Zero-config ObjectQL starter",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"start": "ts-node src/index.ts"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@objectql/core": "workspace:*",
|
|
16
|
+
"@objectql/driver-sql": "workspace:*",
|
|
17
|
+
"sqlite3": "^5.1.7"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"ts-node": "^10.9.2",
|
|
21
|
+
"typescript": "^5.3.3",
|
|
22
|
+
"@types/node": "^20.11.24"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ObjectQL } from '@objectql/core';
|
|
2
|
+
import { SqlDriver } from '@objectql/driver-sql';
|
|
3
|
+
|
|
4
|
+
async function main() {
|
|
5
|
+
console.log("🚀 Starting ObjectQL Hello World...");
|
|
6
|
+
|
|
7
|
+
// 1. Initialize Driver
|
|
8
|
+
const driver = new SqlDriver({
|
|
9
|
+
client: 'sqlite3',
|
|
10
|
+
connection: { filename: ':memory:' },
|
|
11
|
+
useNullAsDefault: true
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
// 2. Initialize Engine (Pass driver in config)
|
|
15
|
+
const app = new ObjectQL({
|
|
16
|
+
datasources: {
|
|
17
|
+
default: driver
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
// 3. Define Metadata Inline
|
|
22
|
+
app.registerObject({
|
|
23
|
+
name: 'deal',
|
|
24
|
+
fields: {
|
|
25
|
+
title: { type: 'text', required: true },
|
|
26
|
+
amount: { type: 'currency' },
|
|
27
|
+
stage: {
|
|
28
|
+
type: 'select',
|
|
29
|
+
options: [
|
|
30
|
+
{ label: 'New', value: 'new' },
|
|
31
|
+
{ label: 'Negotiation', value: 'negotiation' },
|
|
32
|
+
{ label: 'Closed', value: 'closed' }
|
|
33
|
+
],
|
|
34
|
+
defaultValue: 'new'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
await app.init(); // Boot the engine
|
|
40
|
+
|
|
41
|
+
// 4. Run Business Logic
|
|
42
|
+
const ctx = app.createContext({ isSystem: true });
|
|
43
|
+
const repo = ctx.object('deal');
|
|
44
|
+
|
|
45
|
+
console.log("Creating a new Deal...");
|
|
46
|
+
await repo.create({
|
|
47
|
+
title: 'Enterprise Contract',
|
|
48
|
+
amount: 50000,
|
|
49
|
+
stage: 'new'
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const results = await repo.find({});
|
|
53
|
+
console.log('✅ Deals found in database:', results);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (require.main === module) {
|
|
57
|
+
main().catch(console.error);
|
|
58
|
+
}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
# @objectql/
|
|
1
|
+
# @objectql/starter-basic
|
|
2
|
+
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @objectql/core@1.9.0
|
|
9
|
+
- @objectql/driver-sql@1.9.0
|
|
10
|
+
- @objectql/types@1.9.0
|
|
11
|
+
- @objectql/platform-node@1.9.0
|
|
2
12
|
|
|
3
13
|
## 1.8.4
|
|
4
14
|
|
|
@@ -10,7 +20,6 @@
|
|
|
10
20
|
- @objectql/core@1.8.4
|
|
11
21
|
- @objectql/platform-node@1.8.4
|
|
12
22
|
- @objectql/driver-sql@1.8.4
|
|
13
|
-
- @objectql/server@1.8.4
|
|
14
23
|
|
|
15
24
|
## 1.8.3
|
|
16
25
|
|
|
@@ -23,7 +32,6 @@
|
|
|
23
32
|
- Updated dependencies
|
|
24
33
|
- @objectql/core@1.8.3
|
|
25
34
|
- @objectql/driver-sql@1.8.3
|
|
26
|
-
- @objectql/server@1.8.3
|
|
27
35
|
- @objectql/types@1.8.3
|
|
28
36
|
- @objectql/platform-node@1.8.3
|
|
29
37
|
|
|
@@ -35,7 +43,6 @@
|
|
|
35
43
|
- Updated dependencies
|
|
36
44
|
- @objectql/core@1.8.2
|
|
37
45
|
- @objectql/driver-sql@1.8.2
|
|
38
|
-
- @objectql/server@1.8.2
|
|
39
46
|
- @objectql/types@1.8.2
|
|
40
47
|
- @objectql/platform-node@1.8.2
|
|
41
48
|
|
|
@@ -47,7 +54,6 @@
|
|
|
47
54
|
- Updated dependencies
|
|
48
55
|
- @objectql/core@1.8.1
|
|
49
56
|
- @objectql/driver-sql@1.8.1
|
|
50
|
-
- @objectql/server@1.8.1
|
|
51
57
|
- @objectql/types@1.8.1
|
|
52
58
|
- @objectql/platform-node@1.8.1
|
|
53
59
|
|
|
@@ -62,9 +68,8 @@
|
|
|
62
68
|
- Updated dependencies
|
|
63
69
|
- @objectql/core@1.8.0
|
|
64
70
|
- @objectql/driver-sql@2.0.0
|
|
65
|
-
- @objectql/server@2.0.0
|
|
66
71
|
- @objectql/types@1.8.0
|
|
67
|
-
- @objectql/platform-node@
|
|
72
|
+
- @objectql/platform-node@2.0.0
|
|
68
73
|
|
|
69
74
|
## 1.7.3
|
|
70
75
|
|
|
@@ -74,7 +79,6 @@
|
|
|
74
79
|
- Updated dependencies
|
|
75
80
|
- @objectql/core@1.7.3
|
|
76
81
|
- @objectql/driver-sql@1.7.3
|
|
77
|
-
- @objectql/server@1.7.3
|
|
78
82
|
- @objectql/types@1.7.3
|
|
79
83
|
- @objectql/platform-node@1.7.3
|
|
80
84
|
|
|
@@ -88,7 +92,6 @@
|
|
|
88
92
|
- @objectql/core@1.7.2
|
|
89
93
|
- @objectql/platform-node@1.7.2
|
|
90
94
|
- @objectql/types@1.7.2
|
|
91
|
-
- @objectql/server@1.7.2
|
|
92
95
|
|
|
93
96
|
## 1.7.1
|
|
94
97
|
|
|
@@ -98,7 +101,6 @@
|
|
|
98
101
|
- Updated dependencies
|
|
99
102
|
- @objectql/core@1.7.1
|
|
100
103
|
- @objectql/driver-sql@1.7.1
|
|
101
|
-
- @objectql/server@1.7.1
|
|
102
104
|
- @objectql/types@1.7.1
|
|
103
105
|
- @objectql/platform-node@1.7.1
|
|
104
106
|
|
|
@@ -118,81 +120,56 @@
|
|
|
118
120
|
- Updated dependencies
|
|
119
121
|
- @objectql/core@1.6.1
|
|
120
122
|
- @objectql/platform-node@1.6.1
|
|
121
|
-
- @objectql/server@1.6.1
|
|
122
123
|
- @objectql/driver-sql@1.6.1
|
|
123
124
|
- @objectql/types@1.6.1
|
|
124
125
|
|
|
125
|
-
##
|
|
126
|
-
|
|
127
|
-
### Minor Changes
|
|
128
|
-
|
|
129
|
-
- Minor version release - 1.6.0
|
|
126
|
+
## 7.0.0
|
|
130
127
|
|
|
131
128
|
### Patch Changes
|
|
132
129
|
|
|
133
130
|
- Updated dependencies
|
|
134
131
|
- @objectql/core@1.6.0
|
|
135
132
|
- @objectql/driver-sql@1.6.0
|
|
136
|
-
- @objectql/server@1.6.0
|
|
137
133
|
- @objectql/types@1.6.0
|
|
138
134
|
- @objectql/platform-node@1.6.0
|
|
139
135
|
|
|
140
|
-
##
|
|
141
|
-
|
|
142
|
-
### Minor Changes
|
|
143
|
-
|
|
144
|
-
- Minor version release - 1.5.0
|
|
136
|
+
## 6.0.0
|
|
145
137
|
|
|
146
138
|
### Patch Changes
|
|
147
139
|
|
|
148
140
|
- Updated dependencies
|
|
149
141
|
- @objectql/core@1.5.0
|
|
150
142
|
- @objectql/driver-sql@1.5.0
|
|
151
|
-
- @objectql/server@1.5.0
|
|
152
143
|
- @objectql/types@1.5.0
|
|
153
144
|
|
|
154
|
-
##
|
|
155
|
-
|
|
156
|
-
### Minor Changes
|
|
157
|
-
|
|
158
|
-
- Release version 1.4.0 with new features and enhancements:
|
|
159
|
-
- Added complete REST API implementation with CRUD operations
|
|
160
|
-
- Enhanced error handling with standardized error codes and HTTP status mapping
|
|
161
|
-
- Added AI context support for tracking intent and use cases
|
|
162
|
-
- Enhanced metadata API with detailed field information and action listing
|
|
163
|
-
- Improved JSON-RPC API with better error categorization
|
|
164
|
-
- Added hooks and actions validation and implementation
|
|
165
|
-
- Updated documentation and examples
|
|
145
|
+
## 5.0.0
|
|
166
146
|
|
|
167
147
|
### Patch Changes
|
|
168
148
|
|
|
169
149
|
- Updated dependencies
|
|
170
150
|
- @objectql/core@1.4.0
|
|
171
151
|
- @objectql/driver-sql@1.4.0
|
|
172
|
-
- @objectql/server@1.4.0
|
|
173
152
|
- @objectql/types@1.4.0
|
|
174
153
|
|
|
175
|
-
##
|
|
154
|
+
## 4.0.1
|
|
176
155
|
|
|
177
156
|
### Patch Changes
|
|
178
157
|
|
|
179
158
|
- Updated dependencies
|
|
180
159
|
- @objectql/core@1.3.1
|
|
181
|
-
- @objectql/server@1.3.1
|
|
182
160
|
- @objectql/driver-sql@1.3.1
|
|
183
161
|
- @objectql/types@1.3.1
|
|
184
162
|
|
|
185
|
-
## 0.
|
|
163
|
+
## 4.0.0
|
|
186
164
|
|
|
187
165
|
### Patch Changes
|
|
188
166
|
|
|
189
167
|
- Updated dependencies
|
|
190
168
|
- @objectql/core@1.3.0
|
|
191
169
|
- @objectql/types@1.3.0
|
|
192
|
-
- @objectql/server@0.2.1
|
|
193
170
|
- @objectql/driver-sql@1.2.1
|
|
194
171
|
|
|
195
|
-
## 0.
|
|
172
|
+
## 3.0.0
|
|
196
173
|
|
|
197
174
|
### Minor Changes
|
|
198
175
|
|
|
@@ -203,5 +180,22 @@
|
|
|
203
180
|
- Updated dependencies [7df2977]
|
|
204
181
|
- @objectql/core@1.2.0
|
|
205
182
|
- @objectql/driver-sql@1.2.0
|
|
206
|
-
- @objectql/server@0.2.0
|
|
207
183
|
- @objectql/types@1.2.0
|
|
184
|
+
|
|
185
|
+
## 1.8.0
|
|
186
|
+
|
|
187
|
+
### Minor Changes
|
|
188
|
+
|
|
189
|
+
- add metadata loader
|
|
190
|
+
|
|
191
|
+
### Patch Changes
|
|
192
|
+
|
|
193
|
+
- Updated dependencies
|
|
194
|
+
- @objectql/core@1.1.0
|
|
195
|
+
|
|
196
|
+
## 1.0.0
|
|
197
|
+
|
|
198
|
+
### Patch Changes
|
|
199
|
+
|
|
200
|
+
- Updated dependencies
|
|
201
|
+
- @objectql/core@1.0.0
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Basic Script Example
|
|
2
|
+
|
|
3
|
+
This is a minimal example demonstrating how to use ObjectQL as a library in a simple Node.js/TypeScript script.
|
|
4
|
+
|
|
5
|
+
It demonstrates:
|
|
6
|
+
1. How to initialize ObjectQL (`new ObjectQL(...)`)
|
|
7
|
+
2. How to connect to a SQLite database
|
|
8
|
+
3. How to define objects (`projects.object.yml`)
|
|
9
|
+
4. How to perform CRUD operations in a script
|
|
10
|
+
|
|
11
|
+
## Run
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm install
|
|
15
|
+
pnpm run build
|
|
16
|
+
node dist/index.js
|
|
17
|
+
```
|