@objectstack/cli 5.1.0 → 6.0.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/dist/commands/dev.d.ts +1 -1
- package/dist/commands/dev.js +7 -7
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/{projects → environments}/bind.d.ts +3 -3
- package/dist/commands/environments/bind.d.ts.map +1 -0
- package/dist/commands/{projects → environments}/bind.js +10 -10
- package/dist/commands/environments/bind.js.map +1 -0
- package/dist/commands/{projects → environments}/create.d.ts +1 -1
- package/dist/commands/environments/create.d.ts.map +1 -0
- package/dist/commands/{projects → environments}/create.js +3 -3
- package/dist/commands/environments/create.js.map +1 -0
- package/dist/commands/environments/environments.test.d.ts +2 -0
- package/dist/commands/environments/environments.test.d.ts.map +1 -0
- package/dist/commands/{projects/projects.test.js → environments/environments.test.js} +2 -2
- package/dist/commands/environments/environments.test.js.map +1 -0
- package/dist/commands/environments/list.d.ts.map +1 -0
- package/dist/commands/{projects → environments}/list.js +1 -1
- package/dist/commands/environments/list.js.map +1 -0
- package/dist/commands/environments/show.d.ts.map +1 -0
- package/dist/commands/environments/show.js.map +1 -0
- package/dist/commands/{projects → environments}/switch.d.ts +2 -2
- package/dist/commands/environments/switch.d.ts.map +1 -0
- package/dist/commands/{projects → environments}/switch.js +3 -3
- package/dist/commands/environments/switch.js.map +1 -0
- package/dist/commands/package/publish.d.ts +13 -0
- package/dist/commands/package/publish.d.ts.map +1 -1
- package/dist/commands/package/publish.js +199 -0
- package/dist/commands/package/publish.js.map +1 -1
- package/dist/commands/publish.d.ts +1 -1
- package/dist/commands/publish.js +6 -6
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/rollback.d.ts +1 -1
- package/dist/commands/rollback.js +7 -7
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +206 -34
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/start.js +4 -4
- package/dist/commands/start.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/utils/api-client.d.ts +3 -3
- package/dist/utils/api-client.d.ts.map +1 -1
- package/dist/utils/api-client.js +6 -6
- package/dist/utils/api-client.js.map +1 -1
- package/dist/utils/auth-config.d.ts +1 -1
- package/dist/utils/auth-config.d.ts.map +1 -1
- package/dist/utils/config.d.ts +9 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +24 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/console.d.ts +10 -2
- package/dist/utils/console.d.ts.map +1 -1
- package/dist/utils/console.js +88 -34
- package/dist/utils/console.js.map +1 -1
- package/dist/utils/plugin-detection.js +2 -2
- package/dist/utils/plugin-detection.js.map +1 -1
- package/dist/utils/studio-field-patch.d.ts +43 -0
- package/dist/utils/studio-field-patch.d.ts.map +1 -0
- package/dist/utils/studio-field-patch.js +336 -0
- package/dist/utils/studio-field-patch.js.map +1 -0
- package/dist/utils/studio.d.ts +40 -36
- package/dist/utils/studio.d.ts.map +1 -1
- package/dist/utils/studio.js +301 -174
- package/dist/utils/studio.js.map +1 -1
- package/package.json +38 -32
- package/dist/commands/projects/bind.d.ts.map +0 -1
- package/dist/commands/projects/bind.js.map +0 -1
- package/dist/commands/projects/create.d.ts.map +0 -1
- package/dist/commands/projects/create.js.map +0 -1
- package/dist/commands/projects/list.d.ts.map +0 -1
- package/dist/commands/projects/list.js.map +0 -1
- package/dist/commands/projects/projects.test.d.ts +0 -2
- package/dist/commands/projects/projects.test.d.ts.map +0 -1
- package/dist/commands/projects/projects.test.js.map +0 -1
- package/dist/commands/projects/show.d.ts.map +0 -1
- package/dist/commands/projects/show.js.map +0 -1
- package/dist/commands/projects/switch.d.ts.map +0 -1
- package/dist/commands/projects/switch.js.map +0 -1
- /package/dist/commands/{projects → environments}/list.d.ts +0 -0
- /package/dist/commands/{projects → environments}/show.d.ts +0 -0
- /package/dist/commands/{projects → environments}/show.js +0 -0
package/dist/commands/start.js
CHANGED
|
@@ -29,7 +29,7 @@ export default class Start extends Command {
|
|
|
29
29
|
}),
|
|
30
30
|
// Project identity
|
|
31
31
|
'project-id': Flags.string({
|
|
32
|
-
description: 'Project identifier (overrides $
|
|
32
|
+
description: 'Project identifier (overrides $OS_ENVIRONMENT_ID, default proj_local)',
|
|
33
33
|
}),
|
|
34
34
|
// Storage
|
|
35
35
|
database: Flags.string({
|
|
@@ -71,13 +71,13 @@ export default class Start extends Command {
|
|
|
71
71
|
const displayPath = isUrl ? artifactPath : path.relative(process.cwd(), artifactPath);
|
|
72
72
|
printKV('Artifact', displayPath, '📦');
|
|
73
73
|
printStep('Starting server (production mode)...');
|
|
74
|
-
const
|
|
74
|
+
const environmentId = flags['project-id'] ?? process.env.OS_ENVIRONMENT_ID ?? 'proj_local';
|
|
75
75
|
// Build the env handed to `serve`. Flags win over inherited env so
|
|
76
76
|
// `--database file:foo.db` overrides any pre-existing OS_DATABASE_URL.
|
|
77
77
|
const localEnv = {
|
|
78
78
|
...process.env,
|
|
79
79
|
NODE_ENV: 'production',
|
|
80
|
-
|
|
80
|
+
OS_ENVIRONMENT_ID: environmentId,
|
|
81
81
|
OS_ARTIFACT_PATH: artifactPath,
|
|
82
82
|
...(flags.port ? { PORT: String(flags.port) } : {}),
|
|
83
83
|
...(flags.database ? { OS_DATABASE_URL: flags.database } : {}),
|
|
@@ -85,7 +85,7 @@ export default class Start extends Command {
|
|
|
85
85
|
...(flags['database-auth-token'] ? { OS_DATABASE_AUTH_TOKEN: flags['database-auth-token'] } : {}),
|
|
86
86
|
...(flags['auth-secret'] ? { AUTH_SECRET: flags['auth-secret'] } : {}),
|
|
87
87
|
};
|
|
88
|
-
printKV('Project ID',
|
|
88
|
+
printKV('Project ID', environmentId, '🎯');
|
|
89
89
|
if (flags.database)
|
|
90
90
|
printKV('Database', redactDbUrl(flags.database), '🗄️');
|
|
91
91
|
const binPath = process.argv[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAU,WAAW,GAAG,wFAAwF,CAAC;IAEvH,MAAM,CAAU,QAAQ,GAAG;QACzB,yBAAyB;QACzB,uDAAuD;QACvD,iFAAiF;QACjF,wDAAwD;QACxD,wEAAwE;QACxE,+FAA+F;QAC/F,oEAAoE;KACrE,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS;QACT,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC;QACpG,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,8GAA8G;SAC5H,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;QAEpE,kBAAkB;QAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4HAA4H;SAC1I,CAAC;QAEF,mBAAmB;QACnB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,11 +10,11 @@ export { default as ServeCommand } from './commands/serve.js';
|
|
|
10
10
|
export { default as StartCommand } from './commands/start.js';
|
|
11
11
|
export { default as TestCommand } from './commands/test.js';
|
|
12
12
|
export { default as DoctorCommand } from './commands/doctor.js';
|
|
13
|
-
export { default as
|
|
14
|
-
export { default as
|
|
15
|
-
export { default as
|
|
16
|
-
export { default as
|
|
17
|
-
export { default as
|
|
13
|
+
export { default as EnvironmentsListCommand } from './commands/environments/list.js';
|
|
14
|
+
export { default as EnvironmentsShowCommand } from './commands/environments/show.js';
|
|
15
|
+
export { default as EnvironmentsCreateCommand } from './commands/environments/create.js';
|
|
16
|
+
export { default as EnvironmentsSwitchCommand } from './commands/environments/switch.js';
|
|
17
|
+
export { default as EnvironmentsBindCommand } from './commands/environments/bind.js';
|
|
18
18
|
export { default as CloudLoginCommand } from './commands/cloud/login.js';
|
|
19
19
|
export { default as CloudLogoutCommand } from './commands/cloud/logout.js';
|
|
20
20
|
export { default as CloudWhoamiCommand } from './commands/cloud/whoami.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAGrF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,12 +14,12 @@ export { default as ServeCommand } from './commands/serve.js';
|
|
|
14
14
|
export { default as StartCommand } from './commands/start.js';
|
|
15
15
|
export { default as TestCommand } from './commands/test.js';
|
|
16
16
|
export { default as DoctorCommand } from './commands/doctor.js';
|
|
17
|
-
// ───
|
|
18
|
-
export { default as
|
|
19
|
-
export { default as
|
|
20
|
-
export { default as
|
|
21
|
-
export { default as
|
|
22
|
-
export { default as
|
|
17
|
+
// ─── Environments topic subcommands ─────────────────────────────────
|
|
18
|
+
export { default as EnvironmentsListCommand } from './commands/environments/list.js';
|
|
19
|
+
export { default as EnvironmentsShowCommand } from './commands/environments/show.js';
|
|
20
|
+
export { default as EnvironmentsCreateCommand } from './commands/environments/create.js';
|
|
21
|
+
export { default as EnvironmentsSwitchCommand } from './commands/environments/switch.js';
|
|
22
|
+
export { default as EnvironmentsBindCommand } from './commands/environments/bind.js';
|
|
23
23
|
// ─── Cloud topic subcommands ────────────────────────────────────────
|
|
24
24
|
export { default as CloudLoginCommand } from './commands/cloud/login.js';
|
|
25
25
|
export { default as CloudLogoutCommand } from './commands/cloud/logout.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,uEAAuE;AACvE,iEAAiE;AACjE,4EAA4E;AAE5E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEhE,uEAAuE;AACvE,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,uEAAuE;AACvE,iEAAiE;AACjE,4EAA4E;AAE5E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEhE,uEAAuE;AACvE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAErF,uEAAuE;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,uEAAuE;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -12,10 +12,10 @@ export interface ApiClientOptions {
|
|
|
12
12
|
*/
|
|
13
13
|
token?: string;
|
|
14
14
|
/**
|
|
15
|
-
* Explicit project id. Overrides the stored `
|
|
15
|
+
* Explicit project id. Overrides the stored `activeEnvironmentId` from
|
|
16
16
|
* `~/.objectstack/credentials.json` (written by `os projects switch`).
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
environmentId?: string;
|
|
19
19
|
/**
|
|
20
20
|
* Enable debug logging
|
|
21
21
|
*/
|
|
@@ -28,7 +28,7 @@ export interface ApiClientOptions {
|
|
|
28
28
|
export interface ApiClientResult {
|
|
29
29
|
client: ObjectStackClient;
|
|
30
30
|
token?: string;
|
|
31
|
-
|
|
31
|
+
environmentId?: string;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Create an authenticated ObjectStack API client for CLI commands.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyC9F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAMhD"}
|
package/dist/utils/api-client.js
CHANGED
|
@@ -16,9 +16,9 @@ export async function createApiClient(options = {}) {
|
|
|
16
16
|
// Resolve authentication token
|
|
17
17
|
let token = options.token || process.env.OS_TOKEN;
|
|
18
18
|
// Resolve active project id (explicit > env > stored credentials)
|
|
19
|
-
let
|
|
19
|
+
let environmentId = options.environmentId || process.env.OS_ENVIRONMENT_ID;
|
|
20
20
|
// If URL or token is missing, try to load from stored credentials
|
|
21
|
-
if (!baseUrl || !token || !
|
|
21
|
+
if (!baseUrl || !token || !environmentId) {
|
|
22
22
|
try {
|
|
23
23
|
const authConfig = await readAuthConfig();
|
|
24
24
|
if (!token && authConfig.token) {
|
|
@@ -27,8 +27,8 @@ export async function createApiClient(options = {}) {
|
|
|
27
27
|
if (!baseUrl && authConfig.url) {
|
|
28
28
|
baseUrl = authConfig.url;
|
|
29
29
|
}
|
|
30
|
-
if (!
|
|
31
|
-
|
|
30
|
+
if (!environmentId && authConfig.activeEnvironmentId) {
|
|
31
|
+
environmentId = authConfig.activeEnvironmentId;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
catch {
|
|
@@ -42,10 +42,10 @@ export async function createApiClient(options = {}) {
|
|
|
42
42
|
const client = new ObjectStackClient({
|
|
43
43
|
baseUrl,
|
|
44
44
|
token,
|
|
45
|
-
|
|
45
|
+
environmentId,
|
|
46
46
|
debug: options.debug || false,
|
|
47
47
|
});
|
|
48
|
-
return { client, token,
|
|
48
|
+
return { client, token, environmentId };
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* Ensure authentication is present, throwing an error if not.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmClD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAA4B,EAAE;IAClE,qDAAqD;IACrD,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAEtD,+BAA+B;IAC/B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAElD,kEAAkE;IAClE,IAAI,
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmClD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAA4B,EAAE;IAClE,qDAAqD;IACrD,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAEtD,+BAA+B;IAC/B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAElD,kEAAkE;IAClE,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAE3E,kEAAkE;IAClE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC/B,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;gBACrD,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,uBAAuB,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,OAAO;QACP,KAAK;QACL,aAAa;QACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;KAC9B,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-config.d.ts","sourceRoot":"","sources":["../../src/utils/auth-config.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"auth-config.d.ts","sourceRoot":"","sources":["../../src/utils/auth-config.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAW1D;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUtD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAQrD"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -3,6 +3,15 @@ export interface LoadedConfig {
|
|
|
3
3
|
absolutePath: string;
|
|
4
4
|
duration: number;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Keep workspace packages and known native/driver deps external so they
|
|
8
|
+
* are resolved at runtime via real Node ESM dynamic imports. Bundling
|
|
9
|
+
* them through esbuild collapses each package's `createRequire(import.meta.url)`
|
|
10
|
+
* chain into inline `require(...)` calls that throw in pure-ESM mode.
|
|
11
|
+
*
|
|
12
|
+
* Shared between `loadConfig()` and `serve.ts`'s direct `bundleRequire` call.
|
|
13
|
+
*/
|
|
14
|
+
export declare const BUNDLE_REQUIRE_EXTERNALS: (string | RegExp)[];
|
|
6
15
|
/**
|
|
7
16
|
* Resolve the config file path. Supports:
|
|
8
17
|
* - explicit path (objectstack.config.ts)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CA6BzD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAcvD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CA6BzD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAkCvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAgC,GAAG,OAAO,CAE5E"}
|
package/dist/utils/config.js
CHANGED
|
@@ -4,6 +4,29 @@ import fs from 'fs';
|
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { bundleRequire } from 'bundle-require';
|
|
6
6
|
import { printError } from './format.js';
|
|
7
|
+
/**
|
|
8
|
+
* Keep workspace packages and known native/driver deps external so they
|
|
9
|
+
* are resolved at runtime via real Node ESM dynamic imports. Bundling
|
|
10
|
+
* them through esbuild collapses each package's `createRequire(import.meta.url)`
|
|
11
|
+
* chain into inline `require(...)` calls that throw in pure-ESM mode.
|
|
12
|
+
*
|
|
13
|
+
* Shared between `loadConfig()` and `serve.ts`'s direct `bundleRequire` call.
|
|
14
|
+
*/
|
|
15
|
+
export const BUNDLE_REQUIRE_EXTERNALS = [
|
|
16
|
+
/^@objectstack\//,
|
|
17
|
+
'sql.js',
|
|
18
|
+
'knex',
|
|
19
|
+
'better-sqlite3',
|
|
20
|
+
'pg',
|
|
21
|
+
'mysql',
|
|
22
|
+
'mysql2',
|
|
23
|
+
'mongodb',
|
|
24
|
+
'tedious',
|
|
25
|
+
'oracledb',
|
|
26
|
+
'sqlite3',
|
|
27
|
+
'libsql',
|
|
28
|
+
'@libsql/client',
|
|
29
|
+
];
|
|
7
30
|
/**
|
|
8
31
|
* Resolve the config file path. Supports:
|
|
9
32
|
* - explicit path (objectstack.config.ts)
|
|
@@ -46,6 +69,7 @@ export async function loadConfig(source) {
|
|
|
46
69
|
const start = Date.now();
|
|
47
70
|
const { mod } = await bundleRequire({
|
|
48
71
|
filepath: absolutePath,
|
|
72
|
+
external: BUNDLE_REQUIRE_EXTERNALS,
|
|
49
73
|
});
|
|
50
74
|
const baseConfig = mod.default || mod;
|
|
51
75
|
if (!baseConfig) {
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAe;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,0BAA0B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,cAAc;IACd,MAAM,UAAU,GAAG;QACjB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;KACzB,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,8DAA8D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAe;IAC9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC;QAClC,QAAQ,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/console.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
/** URL mount path for the Console portal inside the ObjectStack server */
|
|
2
2
|
export declare const CONSOLE_PATH = "/_console";
|
|
3
3
|
/**
|
|
4
|
-
* Resolve the filesystem path to the @
|
|
5
|
-
*
|
|
4
|
+
* Resolve the filesystem path to the @object-ui/console package.
|
|
5
|
+
*
|
|
6
|
+
* Resolution order:
|
|
7
|
+
* 1. `require.resolve` from the consumer cwd (typical app install).
|
|
8
|
+
* 2. `require.resolve` from this CLI's own location (pnpm workspace).
|
|
9
|
+
* 3. Direct `<cwd>/node_modules/@object-ui/console` filesystem check.
|
|
10
|
+
* 4. Sibling-repo dev fallback — `../objectui/apps/console` — so the
|
|
11
|
+
* framework monorepo can be developed against an in-tree checkout
|
|
12
|
+
* of objectui without publishing every change. Matched by checking
|
|
13
|
+
* `package.json.name === "@object-ui/console"`.
|
|
6
14
|
*/
|
|
7
15
|
export declare function resolveConsolePath(): string | null;
|
|
8
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"AA2BA,0EAA0E;AAC1E,eAAO,MAAM,YAAY,cAAc,CAAC;AAOxC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CA8DlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE3D;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE;;;iBAM1F,GAAG;EAmFzB"}
|
package/dist/utils/console.js
CHANGED
|
@@ -3,16 +3,19 @@
|
|
|
3
3
|
* Console UI Integration Utilities
|
|
4
4
|
*
|
|
5
5
|
* Mirrors `studio.ts` / `account.ts` but for the opinionated, fork-ready
|
|
6
|
-
* runtime console
|
|
6
|
+
* runtime console — published as `@object-ui/console` from the
|
|
7
|
+
* objectstack-ai/objectui monorepo. The Console SPA is mounted at
|
|
7
8
|
* `/_console/` by every deployment that opts in (CLI dev server,
|
|
8
9
|
* self-host, Vercel) — exactly the same convention as `_studio` and
|
|
9
10
|
* `_account`. The Console is built with `base: '/_console/'`, so its
|
|
10
11
|
* pre-built `dist/` is served verbatim.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* `
|
|
15
|
-
*
|
|
13
|
+
* History:
|
|
14
|
+
* - Was previously consumed as a workspace package (`@objectstack/console`
|
|
15
|
+
* at `apps/console`) in this monorepo.
|
|
16
|
+
* - Was renamed and moved upstream to `@object-ui/console` (see
|
|
17
|
+
* https://github.com/objectstack-ai/objectui/tree/main/apps/console).
|
|
18
|
+
* - We now resolve it from `node_modules` like any other npm dep.
|
|
16
19
|
*/
|
|
17
20
|
import path from 'path';
|
|
18
21
|
import fs from 'fs';
|
|
@@ -21,33 +24,24 @@ import { pathToFileURL } from 'url';
|
|
|
21
24
|
// ─── Constants ──────────────────────────────────────────────────────
|
|
22
25
|
/** URL mount path for the Console portal inside the ObjectStack server */
|
|
23
26
|
export const CONSOLE_PATH = '/_console';
|
|
27
|
+
/** npm package name for the upstream Console SPA. */
|
|
28
|
+
const CONSOLE_PACKAGE = '@object-ui/console';
|
|
24
29
|
// ─── Path Resolution ────────────────────────────────────────────────
|
|
25
30
|
/**
|
|
26
|
-
* Resolve the filesystem path to the @
|
|
27
|
-
*
|
|
31
|
+
* Resolve the filesystem path to the @object-ui/console package.
|
|
32
|
+
*
|
|
33
|
+
* Resolution order:
|
|
34
|
+
* 1. `require.resolve` from the consumer cwd (typical app install).
|
|
35
|
+
* 2. `require.resolve` from this CLI's own location (pnpm workspace).
|
|
36
|
+
* 3. Direct `<cwd>/node_modules/@object-ui/console` filesystem check.
|
|
37
|
+
* 4. Sibling-repo dev fallback — `../objectui/apps/console` — so the
|
|
38
|
+
* framework monorepo can be developed against an in-tree checkout
|
|
39
|
+
* of objectui without publishing every change. Matched by checking
|
|
40
|
+
* `package.json.name === "@object-ui/console"`.
|
|
28
41
|
*/
|
|
29
42
|
export function resolveConsolePath() {
|
|
30
43
|
const cwd = process.cwd();
|
|
31
|
-
//
|
|
32
|
-
const candidates = [
|
|
33
|
-
path.resolve(cwd, 'apps/console'),
|
|
34
|
-
path.resolve(cwd, '../../apps/console'),
|
|
35
|
-
path.resolve(cwd, '../apps/console'),
|
|
36
|
-
];
|
|
37
|
-
for (const candidate of candidates) {
|
|
38
|
-
const pkgPath = path.join(candidate, 'package.json');
|
|
39
|
-
if (fs.existsSync(pkgPath)) {
|
|
40
|
-
try {
|
|
41
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
42
|
-
if (pkg.name === '@objectstack/console')
|
|
43
|
-
return candidate;
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
// Skip invalid package.json
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
// Fallback: resolve from node_modules via createRequire.
|
|
44
|
+
// 1 + 2: node module resolution from cwd and from the CLI itself.
|
|
51
45
|
const resolutionBases = [
|
|
52
46
|
pathToFileURL(path.join(cwd, 'package.json')).href, // consumer workspace
|
|
53
47
|
import.meta.url, // CLI package itself
|
|
@@ -55,18 +49,58 @@ export function resolveConsolePath() {
|
|
|
55
49
|
for (const base of resolutionBases) {
|
|
56
50
|
try {
|
|
57
51
|
const req = createRequire(base);
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
// Resolve the bare package (uses `main`/`exports`) and walk up
|
|
53
|
+
// to find the package root. Avoids `./package.json` subpath which
|
|
54
|
+
// is gated by the `exports` field in newer packages.
|
|
55
|
+
const resolved = req.resolve(CONSOLE_PACKAGE);
|
|
56
|
+
let dir = path.dirname(resolved);
|
|
57
|
+
// Walk up until we find a package.json whose `name` matches.
|
|
58
|
+
for (let i = 0; i < 8; i++) {
|
|
59
|
+
const pkgPath = path.join(dir, 'package.json');
|
|
60
|
+
if (fs.existsSync(pkgPath)) {
|
|
61
|
+
try {
|
|
62
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
63
|
+
if (pkg.name === CONSOLE_PACKAGE)
|
|
64
|
+
return dir;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// ignore parse errors and keep walking
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const parent = path.dirname(dir);
|
|
71
|
+
if (parent === dir)
|
|
72
|
+
break;
|
|
73
|
+
dir = parent;
|
|
74
|
+
}
|
|
60
75
|
}
|
|
61
76
|
catch {
|
|
62
|
-
// Not resolvable from this base — try next
|
|
77
|
+
// Not resolvable from this base — try next.
|
|
63
78
|
}
|
|
64
79
|
}
|
|
65
|
-
//
|
|
66
|
-
const directPath = path.join(cwd, 'node_modules', '@
|
|
80
|
+
// 3: direct filesystem check in cwd/node_modules.
|
|
81
|
+
const directPath = path.join(cwd, 'node_modules', '@object-ui', 'console');
|
|
67
82
|
if (fs.existsSync(path.join(directPath, 'package.json'))) {
|
|
68
83
|
return directPath;
|
|
69
84
|
}
|
|
85
|
+
// 4: sibling-repo dev fallback. Useful when iterating on the Console
|
|
86
|
+
// source inside `objectui` while running the framework CLI here.
|
|
87
|
+
const siblingCandidates = [
|
|
88
|
+
path.resolve(cwd, '../objectui/apps/console'),
|
|
89
|
+
path.resolve(cwd, '../../objectui/apps/console'),
|
|
90
|
+
];
|
|
91
|
+
for (const candidate of siblingCandidates) {
|
|
92
|
+
const pkgPath = path.join(candidate, 'package.json');
|
|
93
|
+
if (fs.existsSync(pkgPath)) {
|
|
94
|
+
try {
|
|
95
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
96
|
+
if (pkg.name === CONSOLE_PACKAGE)
|
|
97
|
+
return candidate;
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// Skip invalid package.json
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
70
104
|
return null;
|
|
71
105
|
}
|
|
72
106
|
/**
|
|
@@ -106,7 +140,21 @@ export function createConsoleStaticPlugin(distPath, options) {
|
|
|
106
140
|
ctx.logger?.warn?.(`Console static: dist not found at ${absoluteDist}`);
|
|
107
141
|
return;
|
|
108
142
|
}
|
|
109
|
-
const readIndexHtml = () =>
|
|
143
|
+
const readIndexHtml = () => {
|
|
144
|
+
const raw = fs.readFileSync(indexPath, 'utf-8');
|
|
145
|
+
// Inject <base href="${CONSOLE_PATH}/"> so:
|
|
146
|
+
// 1. Relative asset URLs ('./assets/...') resolve to the
|
|
147
|
+
// correct mount path regardless of where the user navigated.
|
|
148
|
+
// 2. The SPA can derive its React Router basename from
|
|
149
|
+
// `document.baseURI` at runtime, freeing the published
|
|
150
|
+
// build from being pinned to a specific mount.
|
|
151
|
+
//
|
|
152
|
+
// Idempotent — bails if the build already shipped a <base>.
|
|
153
|
+
if (/<base\s/i.test(raw))
|
|
154
|
+
return raw;
|
|
155
|
+
const baseTag = `<base href="${CONSOLE_PATH}/">`;
|
|
156
|
+
return raw.replace(/<head(\s[^>]*)?>/i, (m) => `${m}\n ${baseTag}`);
|
|
157
|
+
};
|
|
110
158
|
// The Console is the default end-user surface — root `/` redirects
|
|
111
159
|
// here whenever the Console is mounted (`rootRedirect !== false`).
|
|
112
160
|
// Mirrors the studio plugin's `rootRedirect` option. The CLI's
|
|
@@ -126,8 +174,14 @@ export function createConsoleStaticPlugin(distPath, options) {
|
|
|
126
174
|
if (!filePath.startsWith(absoluteDist)) {
|
|
127
175
|
return c.text('Forbidden', 403);
|
|
128
176
|
}
|
|
129
|
-
// Try serving the exact file
|
|
177
|
+
// Try serving the exact file (HTML files go through the base-tag
|
|
178
|
+
// injection path so all entry points stay path-portable).
|
|
130
179
|
if (fs.existsSync(filePath) && fs.statSync(filePath).isFile()) {
|
|
180
|
+
if (filePath.endsWith('.html')) {
|
|
181
|
+
return new Response(readIndexHtml(), {
|
|
182
|
+
headers: { 'content-type': 'text/html; charset=utf-8' },
|
|
183
|
+
});
|
|
184
|
+
}
|
|
131
185
|
const content = fs.readFileSync(filePath);
|
|
132
186
|
return new Response(content, {
|
|
133
187
|
headers: { 'content-type': mimeType(filePath) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,8 +36,8 @@ const RECOGNISED_MODES = new Set([
|
|
|
36
36
|
// Deprecated aliases (kept for back-compat — emit a console warning at boot).
|
|
37
37
|
'project',
|
|
38
38
|
'local',
|
|
39
|
-
'single-
|
|
40
|
-
'multi-
|
|
39
|
+
'single-environment',
|
|
40
|
+
'multi-environment',
|
|
41
41
|
]);
|
|
42
42
|
export function shouldBootWithLibrary(config) {
|
|
43
43
|
if (isHostConfig(config))
|
|
@@ -1 +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;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS;IACT,OAAO;IACP,YAAY;IACZ,8EAA8E;IAC9E,SAAS;IACT,OAAO;IACP,
|
|
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;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS;IACT,OAAO;IACP,YAAY;IACZ,8EAA8E;IAC9E,SAAS;IACT,OAAO;IACP,oBAAoB;IACpB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CAAC,MAAW;IAC/C,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACzE,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,iCAAiC,IAAI,oCAAoC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface FieldPatch {
|
|
2
|
+
label?: string | null;
|
|
3
|
+
description?: string | null;
|
|
4
|
+
required?: boolean | null;
|
|
5
|
+
}
|
|
6
|
+
export type PatchResult = {
|
|
7
|
+
ok: true;
|
|
8
|
+
} | {
|
|
9
|
+
ok: false;
|
|
10
|
+
error: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Locate the field's inner object-literal and apply the patch.
|
|
14
|
+
* Writes the file in place when successful.
|
|
15
|
+
*/
|
|
16
|
+
export declare function patchObjectFieldFile(absPath: string, fieldKey: string, patch: FieldPatch): Promise<PatchResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Append a new field to the `fields: { ... }` object literal. The
|
|
19
|
+
* `initializer` is the raw TS source that goes on the right-hand side
|
|
20
|
+
* of `<fieldName>: …` — typically an object literal but may be any
|
|
21
|
+
* expression (e.g. `Field.text({ ... })`).
|
|
22
|
+
*
|
|
23
|
+
* Refuses to overwrite an existing field — callers must surface a
|
|
24
|
+
* conflict to the user.
|
|
25
|
+
*/
|
|
26
|
+
export declare function addObjectField(absPath: string, fieldName: string, initializer: string): Promise<PatchResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Re-order the properties inside the `fields: { ... }` object literal
|
|
29
|
+
* to match `order[]`. Field names absent from `order` are appended at
|
|
30
|
+
* the end in their existing relative order — keeps the operation safe
|
|
31
|
+
* if the UI has a stale snapshot.
|
|
32
|
+
*
|
|
33
|
+
* Implementation: slice each property's source range out of the file
|
|
34
|
+
* (including any leading whitespace / blank-line / comment trivia and
|
|
35
|
+
* the trailing `,`), then concatenate the slices in the new order. By
|
|
36
|
+
* working on the raw source, indentation, trailing commas, blank-line
|
|
37
|
+
* separators and inline comments are all preserved verbatim. The only
|
|
38
|
+
* cost: a hanging blank line that previously sat *between* two props
|
|
39
|
+
* follows whichever property it precedes after the reorder, which is
|
|
40
|
+
* the natural and least-surprising behaviour.
|
|
41
|
+
*/
|
|
42
|
+
export declare function reorderObjectFields(absPath: string, order: readonly string[]): Promise<PatchResult>;
|
|
43
|
+
//# sourceMappingURL=studio-field-patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-field-patch.d.ts","sourceRoot":"","sources":["../../src/utils/studio-field-patch.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC,CAiEtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,WAAW,CAAC,CAiEtB"}
|