@objectstack/cli 3.2.4 → 3.2.6
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +24 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +32 -1
- package/dist/commands/serve.js.map +1 -1
- package/dist/utils/plugin-detection.d.ts +10 -0
- package/dist/utils/plugin-detection.d.ts.map +1 -0
- package/dist/utils/plugin-detection.js +14 -0
- package/dist/utils/plugin-detection.js.map +1 -0
- package/package.json +9 -9
- package/src/commands/serve.ts +41 -5
- package/src/utils/plugin-detection.ts +16 -0
- package/test/serve-host-config.test.ts +77 -0
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @objectstack/cli
|
|
2
2
|
|
|
3
|
+
## 3.2.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @objectstack/spec@3.2.6
|
|
8
|
+
- @objectstack/core@3.2.6
|
|
9
|
+
- @objectstack/objectql@3.2.6
|
|
10
|
+
- @objectstack/runtime@3.2.6
|
|
11
|
+
- @objectstack/rest@3.2.6
|
|
12
|
+
- @objectstack/driver-memory@3.2.6
|
|
13
|
+
- @objectstack/plugin-hono-server@3.2.6
|
|
14
|
+
|
|
15
|
+
## 3.2.5
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- @objectstack/spec@3.2.5
|
|
20
|
+
- @objectstack/core@3.2.5
|
|
21
|
+
- @objectstack/objectql@3.2.5
|
|
22
|
+
- @objectstack/runtime@3.2.5
|
|
23
|
+
- @objectstack/rest@3.2.5
|
|
24
|
+
- @objectstack/driver-memory@3.2.5
|
|
25
|
+
- @objectstack/plugin-hono-server@3.2.5
|
|
26
|
+
|
|
3
27
|
## 3.2.4
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAiDnD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAA8D;IAEzF,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;MAKnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4S3B"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -5,6 +5,7 @@ import fs from 'fs';
|
|
|
5
5
|
import net from 'net';
|
|
6
6
|
import chalk from 'chalk';
|
|
7
7
|
import { bundleRequire } from 'bundle-require';
|
|
8
|
+
import { isHostConfig } from '../utils/plugin-detection.js';
|
|
8
9
|
import { printError, printServerReady, } from '../utils/format.js';
|
|
9
10
|
import { STUDIO_PATH, resolveStudioPath, hasStudioDist, createStudioStaticPlugin, } from '../utils/studio.js';
|
|
10
11
|
// Helper to find available port
|
|
@@ -158,7 +159,10 @@ export default class Serve extends Command {
|
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
// 3. Auto-register AppPlugin if config contains app definitions
|
|
161
|
-
if
|
|
162
|
+
// Skip if config is a host/aggregator config that already contains
|
|
163
|
+
// instantiated plugins — wrapping it would cause duplicate registration
|
|
164
|
+
// and startup failures (e.g. plugin.app.dev-workspace).
|
|
165
|
+
if (!isHostConfig(config) && (config.objects || config.manifest || config.apps)) {
|
|
162
166
|
try {
|
|
163
167
|
const { AppPlugin } = await import('@objectstack/runtime');
|
|
164
168
|
await kernel.use(new AppPlugin(config));
|
|
@@ -168,6 +172,33 @@ export default class Serve extends Command {
|
|
|
168
172
|
// silent
|
|
169
173
|
}
|
|
170
174
|
}
|
|
175
|
+
// 3b. Auto-register I18nServicePlugin if config contains translations/i18n
|
|
176
|
+
// This ensures i18n REST routes work out of the box without manual plugin registration.
|
|
177
|
+
const hasI18nPlugin = plugins.some((p) => p.name === 'com.objectstack.service.i18n'
|
|
178
|
+
|| p.constructor?.name === 'I18nServicePlugin');
|
|
179
|
+
const configHasTranslations = ((Array.isArray(config.translations) && config.translations.length > 0)
|
|
180
|
+
|| config.i18n
|
|
181
|
+
|| (config.manifest && ((Array.isArray(config.manifest.translations) && config.manifest.translations.length > 0)
|
|
182
|
+
|| config.manifest.i18n)));
|
|
183
|
+
if (!hasI18nPlugin && configHasTranslations) {
|
|
184
|
+
try {
|
|
185
|
+
// Dynamic import with variable to prevent tsc from resolving the optional package
|
|
186
|
+
const i18nPkg = '@objectstack/service-i18n';
|
|
187
|
+
const { I18nServicePlugin } = await import(/* webpackIgnore: true */ i18nPkg);
|
|
188
|
+
const i18nCfg = config.i18n || config.manifest?.i18n || {};
|
|
189
|
+
await kernel.use(new I18nServicePlugin({
|
|
190
|
+
defaultLocale: i18nCfg.defaultLocale,
|
|
191
|
+
fallbackLocale: i18nCfg.fallbackLocale || i18nCfg.defaultLocale || 'en',
|
|
192
|
+
}));
|
|
193
|
+
trackPlugin('I18nService');
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
// @objectstack/service-i18n not installed — kernel memory fallback will handle i18n
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else if (!hasI18nPlugin && !configHasTranslations) {
|
|
200
|
+
// No translations and no explicit i18n plugin — this is fine, kernel fallback works
|
|
201
|
+
}
|
|
171
202
|
// Add HTTP server plugin BEFORE config plugins so that the
|
|
172
203
|
// http-server service is available for any plugin that needs it
|
|
173
204
|
// during init/start (e.g. AuthPlugin).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect whether a loaded config is a host/aggregator configuration.
|
|
3
|
+
*
|
|
4
|
+
* A host config already contains a `plugins` array with instantiated Plugin
|
|
5
|
+
* objects (i.e. objects that have an `init` method). Such configs must NOT
|
|
6
|
+
* be wrapped again by AppPlugin in the CLI, as that would cause duplicate
|
|
7
|
+
* plugin registration and startup failures.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isHostConfig(config: any): boolean;
|
|
10
|
+
//# sourceMappingURL=plugin-detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-detection.d.ts","sourceRoot":"","sources":["../../src/utils/plugin-detection.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAKjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
/**
|
|
3
|
+
* Detect whether a loaded config is a host/aggregator configuration.
|
|
4
|
+
*
|
|
5
|
+
* A host config already contains a `plugins` array with instantiated Plugin
|
|
6
|
+
* objects (i.e. objects that have an `init` method). Such configs must NOT
|
|
7
|
+
* be wrapped again by AppPlugin in the CLI, as that would cause duplicate
|
|
8
|
+
* plugin registration and startup failures.
|
|
9
|
+
*/
|
|
10
|
+
export function isHostConfig(config) {
|
|
11
|
+
return (Array.isArray(config.plugins) &&
|
|
12
|
+
config.plugins.some((p) => typeof p?.init === 'function'));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=plugin-detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-detection.js","sourceRoot":"","sources":["../../src/utils/plugin-detection.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAW;IACtC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAC/D,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/cli",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.6",
|
|
4
4
|
"description": "Command Line Interface for ObjectStack Protocol",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
"chalk": "^5.3.0",
|
|
39
39
|
"tsx": "^4.7.1",
|
|
40
40
|
"zod": "^4.3.6",
|
|
41
|
-
"@objectstack/core": "3.2.
|
|
42
|
-
"@objectstack/driver-memory": "^3.2.
|
|
43
|
-
"@objectstack/objectql": "^3.2.
|
|
44
|
-
"@objectstack/plugin-hono-server": "3.2.
|
|
45
|
-
"@objectstack/rest": "3.2.
|
|
46
|
-
"@objectstack/runtime": "^3.2.
|
|
47
|
-
"@objectstack/spec": "3.2.
|
|
41
|
+
"@objectstack/core": "3.2.6",
|
|
42
|
+
"@objectstack/driver-memory": "^3.2.6",
|
|
43
|
+
"@objectstack/objectql": "^3.2.6",
|
|
44
|
+
"@objectstack/plugin-hono-server": "3.2.6",
|
|
45
|
+
"@objectstack/rest": "3.2.6",
|
|
46
|
+
"@objectstack/runtime": "^3.2.6",
|
|
47
|
+
"@objectstack/spec": "3.2.6"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@objectstack/core": "^3.2.
|
|
50
|
+
"@objectstack/core": "^3.2.6"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@oclif/plugin-help": "^6.2.37",
|
package/src/commands/serve.ts
CHANGED
|
@@ -7,6 +7,7 @@ import net from 'net';
|
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { bundleRequire } from 'bundle-require';
|
|
9
9
|
import { loadConfig } from '../utils/config.js';
|
|
10
|
+
import { isHostConfig } from '../utils/plugin-detection.js';
|
|
10
11
|
import {
|
|
11
12
|
printHeader,
|
|
12
13
|
printKV,
|
|
@@ -190,14 +191,49 @@ export default class Serve extends Command {
|
|
|
190
191
|
}
|
|
191
192
|
|
|
192
193
|
// 3. Auto-register AppPlugin if config contains app definitions
|
|
193
|
-
if
|
|
194
|
+
// Skip if config is a host/aggregator config that already contains
|
|
195
|
+
// instantiated plugins — wrapping it would cause duplicate registration
|
|
196
|
+
// and startup failures (e.g. plugin.app.dev-workspace).
|
|
197
|
+
if (!isHostConfig(config) && (config.objects || config.manifest || config.apps)) {
|
|
194
198
|
try {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
199
|
+
const { AppPlugin } = await import('@objectstack/runtime');
|
|
200
|
+
await kernel.use(new AppPlugin(config));
|
|
201
|
+
trackPlugin('App');
|
|
198
202
|
} catch (e: any) {
|
|
199
|
-
|
|
203
|
+
// silent
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// 3b. Auto-register I18nServicePlugin if config contains translations/i18n
|
|
208
|
+
// This ensures i18n REST routes work out of the box without manual plugin registration.
|
|
209
|
+
const hasI18nPlugin = plugins.some(
|
|
210
|
+
(p: any) => p.name === 'com.objectstack.service.i18n'
|
|
211
|
+
|| p.constructor?.name === 'I18nServicePlugin'
|
|
212
|
+
);
|
|
213
|
+
const configHasTranslations = (
|
|
214
|
+
(Array.isArray(config.translations) && config.translations.length > 0)
|
|
215
|
+
|| config.i18n
|
|
216
|
+
|| (config.manifest && (
|
|
217
|
+
(Array.isArray(config.manifest.translations) && config.manifest.translations.length > 0)
|
|
218
|
+
|| config.manifest.i18n
|
|
219
|
+
))
|
|
220
|
+
);
|
|
221
|
+
if (!hasI18nPlugin && configHasTranslations) {
|
|
222
|
+
try {
|
|
223
|
+
// Dynamic import with variable to prevent tsc from resolving the optional package
|
|
224
|
+
const i18nPkg = '@objectstack/service-i18n';
|
|
225
|
+
const { I18nServicePlugin } = await import(/* webpackIgnore: true */ i18nPkg);
|
|
226
|
+
const i18nCfg = config.i18n || config.manifest?.i18n || {};
|
|
227
|
+
await kernel.use(new I18nServicePlugin({
|
|
228
|
+
defaultLocale: i18nCfg.defaultLocale,
|
|
229
|
+
fallbackLocale: i18nCfg.fallbackLocale || i18nCfg.defaultLocale || 'en',
|
|
230
|
+
}));
|
|
231
|
+
trackPlugin('I18nService');
|
|
232
|
+
} catch {
|
|
233
|
+
// @objectstack/service-i18n not installed — kernel memory fallback will handle i18n
|
|
200
234
|
}
|
|
235
|
+
} else if (!hasI18nPlugin && !configHasTranslations) {
|
|
236
|
+
// No translations and no explicit i18n plugin — this is fine, kernel fallback works
|
|
201
237
|
}
|
|
202
238
|
|
|
203
239
|
// Add HTTP server plugin BEFORE config plugins so that the
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Detect whether a loaded config is a host/aggregator configuration.
|
|
5
|
+
*
|
|
6
|
+
* A host config already contains a `plugins` array with instantiated Plugin
|
|
7
|
+
* objects (i.e. objects that have an `init` method). Such configs must NOT
|
|
8
|
+
* be wrapped again by AppPlugin in the CLI, as that would cause duplicate
|
|
9
|
+
* plugin registration and startup failures.
|
|
10
|
+
*/
|
|
11
|
+
export function isHostConfig(config: any): boolean {
|
|
12
|
+
return (
|
|
13
|
+
Array.isArray(config.plugins) &&
|
|
14
|
+
config.plugins.some((p: any) => typeof p?.init === 'function')
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { isHostConfig } from '../src/utils/plugin-detection';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Tests for the host config detection logic used in serve.ts
|
|
6
|
+
*
|
|
7
|
+
* When the root config is a host/aggregator (i.e. its `plugins` array
|
|
8
|
+
* contains already-instantiated Plugin objects), the CLI must NOT wrap
|
|
9
|
+
* it again with AppPlugin, as that would cause duplicate registration
|
|
10
|
+
* and a `plugin.app.<id> failed to start` error.
|
|
11
|
+
*/
|
|
12
|
+
describe('Host config detection', () => {
|
|
13
|
+
|
|
14
|
+
it('should detect host config with instantiated plugins', () => {
|
|
15
|
+
const config = {
|
|
16
|
+
manifest: { id: 'dev-workspace', name: 'dev_workspace' },
|
|
17
|
+
plugins: [
|
|
18
|
+
{ name: 'objectql', init: async () => {}, start: async () => {} },
|
|
19
|
+
{ name: 'driver', init: async () => {}, start: async () => {} },
|
|
20
|
+
],
|
|
21
|
+
};
|
|
22
|
+
expect(isHostConfig(config)).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('should NOT detect pure app bundle config (no plugins)', () => {
|
|
26
|
+
const config = {
|
|
27
|
+
manifest: { id: 'my-app', name: 'my_app' },
|
|
28
|
+
objects: [{ name: 'task', fields: [] }],
|
|
29
|
+
};
|
|
30
|
+
expect(isHostConfig(config)).toBe(false);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('should NOT detect config with empty plugins array', () => {
|
|
34
|
+
const config = {
|
|
35
|
+
manifest: { id: 'my-app', name: 'my_app' },
|
|
36
|
+
objects: [{ name: 'task', fields: [] }],
|
|
37
|
+
plugins: [],
|
|
38
|
+
};
|
|
39
|
+
expect(isHostConfig(config)).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('should NOT detect config with string plugin references', () => {
|
|
43
|
+
const config = {
|
|
44
|
+
manifest: { id: 'my-app', name: 'my_app' },
|
|
45
|
+
plugins: ['@objectstack/plugin-auth', '@objectstack/objectql'],
|
|
46
|
+
};
|
|
47
|
+
expect(isHostConfig(config)).toBe(false);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('should NOT detect config with plain object plugins (no init method)', () => {
|
|
51
|
+
const config = {
|
|
52
|
+
manifest: { id: 'my-app', name: 'my_app' },
|
|
53
|
+
plugins: [
|
|
54
|
+
{ name: 'some-plugin', version: '1.0.0' },
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
expect(isHostConfig(config)).toBe(false);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should detect if at least one plugin has init method', () => {
|
|
61
|
+
const config = {
|
|
62
|
+
manifest: { id: 'dev-workspace' },
|
|
63
|
+
plugins: [
|
|
64
|
+
{ name: 'plain-bundle', version: '1.0.0' },
|
|
65
|
+
{ name: 'real-plugin', init: async () => {}, start: async () => {} },
|
|
66
|
+
],
|
|
67
|
+
};
|
|
68
|
+
expect(isHostConfig(config)).toBe(true);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it('should handle config without plugins property', () => {
|
|
72
|
+
const config = {
|
|
73
|
+
manifest: { id: 'my-app', name: 'my_app' },
|
|
74
|
+
};
|
|
75
|
+
expect(isHostConfig(config)).toBe(false);
|
|
76
|
+
});
|
|
77
|
+
});
|