@objectstack/cli 3.2.5 → 3.2.7

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @objectstack/cli@3.2.5 build /home/runner/work/spec/spec/packages/cli
2
+ > @objectstack/cli@3.2.7 build /home/runner/work/spec/spec/packages/cli
3
3
  > tsc -p tsconfig.build.json
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @objectstack/cli
2
2
 
3
+ ## 3.2.7
4
+
5
+ ### Patch Changes
6
+
7
+ - @objectstack/spec@3.2.7
8
+ - @objectstack/core@3.2.7
9
+ - @objectstack/objectql@3.2.7
10
+ - @objectstack/runtime@3.2.7
11
+ - @objectstack/rest@3.2.7
12
+ - @objectstack/driver-memory@3.2.7
13
+ - @objectstack/plugin-hono-server@3.2.7
14
+
15
+ ## 3.2.6
16
+
17
+ ### Patch Changes
18
+
19
+ - @objectstack/spec@3.2.6
20
+ - @objectstack/core@3.2.6
21
+ - @objectstack/objectql@3.2.6
22
+ - @objectstack/runtime@3.2.6
23
+ - @objectstack/rest@3.2.6
24
+ - @objectstack/driver-memory@3.2.6
25
+ - @objectstack/plugin-hono-server@3.2.6
26
+
3
27
  ## 3.2.5
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;AAgDnD,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;CAyQ3B"}
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"}
@@ -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 (config.objects || config.manifest || config.apps) {
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.5",
3
+ "version": "3.2.7",
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.5",
42
- "@objectstack/driver-memory": "^3.2.5",
43
- "@objectstack/objectql": "^3.2.5",
44
- "@objectstack/plugin-hono-server": "3.2.5",
45
- "@objectstack/rest": "3.2.5",
46
- "@objectstack/runtime": "^3.2.5",
47
- "@objectstack/spec": "3.2.5"
41
+ "@objectstack/core": "3.2.7",
42
+ "@objectstack/driver-memory": "^3.2.7",
43
+ "@objectstack/objectql": "^3.2.7",
44
+ "@objectstack/plugin-hono-server": "3.2.7",
45
+ "@objectstack/rest": "3.2.7",
46
+ "@objectstack/runtime": "^3.2.7",
47
+ "@objectstack/spec": "3.2.7"
48
48
  },
49
49
  "peerDependencies": {
50
- "@objectstack/core": "^3.2.5"
50
+ "@objectstack/core": "^3.2.7"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@oclif/plugin-help": "^6.2.37",
@@ -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 (config.objects || config.manifest || config.apps) {
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
- const { AppPlugin } = await import('@objectstack/runtime');
196
- await kernel.use(new AppPlugin(config));
197
- trackPlugin('App');
199
+ const { AppPlugin } = await import('@objectstack/runtime');
200
+ await kernel.use(new AppPlugin(config));
201
+ trackPlugin('App');
198
202
  } catch (e: any) {
199
- // silent
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
+ });