revisium 2.5.0-alpha.0 → 2.5.0-alpha.1

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.
Files changed (56) hide show
  1. package/AGENTS.md +54 -0
  2. package/dist/e2e/utils/cli-runner.js +21 -3
  3. package/dist/e2e/utils/cli-runner.js.map +1 -1
  4. package/dist/e2e/utils/matrix-fixtures.js +1 -1
  5. package/dist/e2e/utils/matrix-fixtures.js.map +1 -1
  6. package/dist/e2e/utils/standalone-api.d.ts +0 -1
  7. package/dist/e2e/utils/standalone-api.js +30 -20
  8. package/dist/e2e/utils/standalone-api.js.map +1 -1
  9. package/dist/e2e/utils/standalone-runner.d.ts +0 -1
  10. package/dist/e2e/utils/standalone-runner.js +70 -44
  11. package/dist/e2e/utils/standalone-runner.js.map +1 -1
  12. package/dist/package.json +4 -3
  13. package/dist/src/commands/context/context-list.command.d.ts +6 -1
  14. package/dist/src/commands/context/context-list.command.js +37 -5
  15. package/dist/src/commands/context/context-list.command.js.map +1 -1
  16. package/dist/src/commands/instance/instance-add.command.d.ts +2 -0
  17. package/dist/src/commands/instance/instance-add.command.js +17 -1
  18. package/dist/src/commands/instance/instance-add.command.js.map +1 -1
  19. package/dist/src/commands/instance/instance-list.command.d.ts +6 -1
  20. package/dist/src/commands/instance/instance-list.command.js +28 -4
  21. package/dist/src/commands/instance/instance-list.command.js.map +1 -1
  22. package/dist/src/commands/instance/instance-remove.command.d.ts +9 -2
  23. package/dist/src/commands/instance/instance-remove.command.js +35 -2
  24. package/dist/src/commands/instance/instance-remove.command.js.map +1 -1
  25. package/dist/src/services/bootstrap/bootstrap.service.js +1 -0
  26. package/dist/src/services/bootstrap/bootstrap.service.js.map +1 -1
  27. package/dist/src/services/common/logger.service.d.ts +1 -0
  28. package/dist/src/services/common/logger.service.js +3 -0
  29. package/dist/src/services/common/logger.service.js.map +1 -1
  30. package/dist/src/services/connection/connection.service.js +1 -1
  31. package/dist/src/services/connection/connection.service.js.map +1 -1
  32. package/dist/src/services/workspace/workspace-config.service.js +8 -1
  33. package/dist/src/services/workspace/workspace-config.service.js.map +1 -1
  34. package/dist/tsconfig.build.tsbuildinfo +1 -1
  35. package/e2e/matrix/README.md +37 -3
  36. package/e2e/tests/07-workspace-config.e2e-spec.ts +23 -8
  37. package/e2e/utils/cli-runner.ts +53 -3
  38. package/e2e/utils/matrix-fixtures.ts +1 -1
  39. package/e2e/utils/standalone-api.ts +46 -29
  40. package/e2e/utils/standalone-runner.ts +114 -55
  41. package/package.json +4 -3
  42. package/src/commands/context/__tests__/context-list.command.spec.ts +102 -0
  43. package/src/commands/context/context-list.command.ts +46 -6
  44. package/src/commands/instance/__tests__/instance-add.command.spec.ts +93 -0
  45. package/src/commands/instance/__tests__/instance-list.command.spec.ts +91 -0
  46. package/src/commands/instance/__tests__/instance-remove.command.spec.ts +113 -0
  47. package/src/commands/instance/instance-add.command.ts +17 -1
  48. package/src/commands/instance/instance-list.command.ts +31 -5
  49. package/src/commands/instance/instance-remove.command.ts +38 -2
  50. package/src/services/bootstrap/__tests__/bootstrap.service.spec.ts +15 -1
  51. package/src/services/bootstrap/bootstrap.service.ts +1 -0
  52. package/src/services/common/logger.service.ts +9 -0
  53. package/src/services/connection/__tests__/connection.service.spec.ts +4 -3
  54. package/src/services/connection/connection.service.ts +1 -1
  55. package/src/services/workspace/__tests__/workspace-config.service.spec.ts +11 -0
  56. package/src/services/workspace/workspace-config.service.ts +9 -1
package/AGENTS.md CHANGED
@@ -31,6 +31,7 @@ Primary command groups:
31
31
  | Build the binary | `npm run build` (outputs `dist/src/main.js`) |
32
32
  | E2E (default) | `npm run test:e2e` (expects standalone running on `localhost:8082`; bring it up with `test:e2e:up`/`test:e2e:down`) |
33
33
  | E2E matrix | `npm run test:e2e:matrix` — opt-in; see `e2e/matrix/README.md` |
34
+ | E2E matrix (alpha) | `npm run test:e2e:matrix:alpha` — runs the matrix against the latest published alpha CLI (resolved from the `revisium@alpha` dist-tag); override with `REVISIUM_CLI_PACKAGE=revisium@<version>` |
34
35
 
35
36
  Local CLI invocation: `node dist/src/main.js <command>` (the `revisium` shim points at the same file).
36
37
 
@@ -91,6 +92,59 @@ npm run build
91
92
 
92
93
  If touching e2e helpers or matrix specs, ensure the additions still type-check and lint clean (the matrix is intentionally not run on default CI).
93
94
 
95
+ ## Running the e2e matrix against an alpha CLI
96
+
97
+ The matrix in `e2e/matrix/` boots a fresh `@revisium/standalone` per suite and exercises a CLI binary against it. By default that's the locally-built `dist/src/main.js`; for release validation you can swap in a published version without rebuilding.
98
+
99
+ `runCli()` honours two env vars (in order of precedence):
100
+
101
+ | Env var | Effect |
102
+ | ---------------------- | ----------------------------------------------------------------------------------------------- |
103
+ | `REVISIUM_CLI_PACKAGE` | invoke via `npx -y --package=<spec> revisium ...` — accepts a dist-tag (`revisium@alpha`, `revisium@latest`) or an exact version (`revisium@2.5.0-alpha.0`) |
104
+ | `REVISIUM_CLI_BIN` | invoke via `node <abs-path>` — useful for a side-checkout build |
105
+
106
+ Stable standalone is pinned via the `@revisium/standalone` `devDependency` in `package.json`; `startStandalone()` resolves it through `npx --yes`, so `npm ci` locks the version.
107
+
108
+ ### Quick recipes
109
+
110
+ ```sh
111
+ # Run the entire matrix against whatever revisium@alpha currently resolves to
112
+ npm run test:e2e:matrix:alpha
113
+
114
+ # Pin to a specific alpha version for the same script
115
+ REVISIUM_CLI_PACKAGE=revisium@2.5.0-alpha.1 npm run test:e2e:matrix:alpha
116
+
117
+ # Drive the matrix by hand against any spec
118
+ REVISIUM_CLI_PACKAGE=revisium@alpha npm run test:e2e:matrix
119
+
120
+ # One suite only (useful for triage)
121
+ REVISIUM_CLI_PACKAGE=revisium@alpha npm run test:e2e:matrix -- --testPathPattern=M06
122
+
123
+ # Stream standalone logs to stderr (debug startup or seeding issues)
124
+ E2E_STANDALONE_LOGS=1 REVISIUM_CLI_PACKAGE=revisium@alpha npm run test:e2e:matrix
125
+ ```
126
+
127
+ ### Prompt template for triaging an alpha matrix run
128
+
129
+ When a suite fails against `revisium@<alpha>`, paste this into your assistant:
130
+
131
+ ```text
132
+ Run `REVISIUM_CLI_PACKAGE=revisium@<alpha-version> npm run test:e2e:matrix -- --testPathPattern=<M0X>` from the revisium-cli repo root.
133
+
134
+ Goal: figure out whether the failure is
135
+ (a) a regression in the alpha CLI vs the previous stable, or
136
+ (b) a stale assumption in the matrix spec.
137
+
138
+ When investigating:
139
+ - Read the failing assertion and the surrounding `it(...)` description in `e2e/matrix/<M0X>-*.e2e-spec.ts`
140
+ - Compare alpha behaviour against the `master` CLI by also running the same suite without `REVISIUM_CLI_PACKAGE`
141
+ - Check the standalone version is the pinned one (`@revisium/standalone` in package.json devDependencies)
142
+ - Inspect `process.stderr` from `runCli` (set `E2E_STANDALONE_LOGS=1` for the sandbox process)
143
+ - Do NOT modify matrix specs to "make them pass" against the alpha unless the spec was wrong; otherwise file a regression issue against revisium-cli with the failing case.
144
+
145
+ Report: failing-suite name, alpha version, root cause, and whether the fix belongs in the CLI or the spec.
146
+ ```
147
+
94
148
  ## When to update this file
95
149
 
96
150
  Whenever a convention changes — e.g., a new command surface, a non-obvious testing pattern, a new lint rule — update both the relevant section and the commands table.
@@ -14,12 +14,16 @@ async function runCli(args, options = {}) {
14
14
  if (isInstrumented && !fs.existsSync(nycOutputDir)) {
15
15
  fs.mkdirSync(nycOutputDir, { recursive: true });
16
16
  }
17
+ const effectiveEnv = {
18
+ ...process.env,
19
+ ...env,
20
+ };
21
+ const { command, commandArgs } = resolveCliInvocation(args, mainPath, effectiveEnv);
17
22
  return new Promise((resolve, reject) => {
18
- const child = (0, child_process_1.spawn)('node', [mainPath, ...args], {
23
+ const child = (0, child_process_1.spawn)(command, commandArgs, {
19
24
  cwd,
20
25
  env: {
21
- ...process.env,
22
- ...env,
26
+ ...effectiveEnv,
23
27
  ...(isInstrumented ? { NYC_OUTPUT_DIR: nycOutputDir } : {}),
24
28
  },
25
29
  stdio: ['pipe', 'pipe', 'pipe'],
@@ -57,6 +61,20 @@ async function runCli(args, options = {}) {
57
61
  });
58
62
  });
59
63
  }
64
+ function resolveCliInvocation(args, defaultMainPath, env) {
65
+ const pkg = env.REVISIUM_CLI_PACKAGE;
66
+ if (pkg && pkg.length > 0) {
67
+ return {
68
+ command: 'npx',
69
+ commandArgs: ['-y', `--package=${pkg}`, 'revisium', ...args],
70
+ };
71
+ }
72
+ const bin = env.REVISIUM_CLI_BIN;
73
+ if (bin && bin.length > 0) {
74
+ return { command: 'node', commandArgs: [bin, ...args] };
75
+ }
76
+ return { command: 'node', commandArgs: [defaultMainPath, ...args] };
77
+ }
60
78
  function buildUrl(projectName, options = {}) {
61
79
  const { orgId = 'admin', branch = 'master', revision, token, protocol, } = options;
62
80
  const scheme = protocol ? `revisium+${protocol}` : 'revisium';
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runner.js","sourceRoot":"","sources":["../../../e2e/utils/cli-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-runner.js","sourceRoot":"","sources":["../../../e2e/utils/cli-runner.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ function questSchema() {
38
38
  additionalProperties: false,
39
39
  properties: {
40
40
  title: { type: 'string', default: '' },
41
- points: { type: 'integer', default: 0 },
41
+ points: { type: 'number', default: 0 },
42
42
  published: { type: 'boolean', default: false },
43
43
  },
44
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-fixtures.js","sourceRoot":"","sources":["../../../e2e/utils/matrix-fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matrix-fixtures.js","sourceRoot":"","sources":["../../../e2e/utils/matrix-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  export interface MintApiKeyOptions {
2
2
  name: string;
3
3
  expiresAt?: string;
4
- role?: string;
5
4
  }
6
5
  export interface ApiKeyRecord {
7
6
  id: string;
@@ -19,14 +19,23 @@ class StandaloneApiClient {
19
19
  this.token = undefined;
20
20
  }
21
21
  async mintApiKey(organization, options) {
22
- const body = {
23
- name: options.name,
22
+ const data = await this.graphql(`mutation($data: CreatePersonalApiKeyInput!) {
23
+ createPersonalApiKey(data: $data) {
24
+ apiKey { id name }
25
+ secret
26
+ }
27
+ }`, {
28
+ data: {
29
+ name: options.name,
30
+ organizationId: organization,
31
+ ...(options.expiresAt ? { expiresAt: options.expiresAt } : {}),
32
+ },
33
+ });
34
+ return {
35
+ id: data.createPersonalApiKey.apiKey.id,
36
+ apiKey: data.createPersonalApiKey.secret,
37
+ name: data.createPersonalApiKey.apiKey.name,
24
38
  };
25
- if (options.expiresAt)
26
- body.expiresAt = options.expiresAt;
27
- if (options.role)
28
- body.role = options.role;
29
- return this.request('POST', `/api/organizations/${encodeURIComponent(organization)}/api-keys`, body);
30
39
  }
31
40
  async createProject(organization, projectName, branchName = 'master') {
32
41
  await this.graphql(`mutation($data: CreateProjectInput!) { createProject(data: $data) { id } }`, { data: { organizationId: organization, projectName, branchName } });
@@ -47,25 +56,26 @@ class StandaloneApiClient {
47
56
  }
48
57
  }
49
58
  async getDraftRevisionId(organization, projectName, branchName = 'master') {
50
- const data = await this.graphql(`query($data: GetProjectInput!, $branch: String!) {
51
- project(data: $data) {
52
- branch(name: $branch) { draft { id } }
53
- }
59
+ const data = await this.graphql(`query($data: GetBranchInput!) {
60
+ branch(data: $data) { draft { id } }
54
61
  }`, {
55
- data: { organizationId: organization, projectName },
56
- branch: branchName,
62
+ data: { organizationId: organization, projectName, branchName },
57
63
  });
58
- return data.project.branch.draft.id;
64
+ return data.branch.draft.id;
59
65
  }
60
66
  async seedTable(input) {
61
67
  const revisionId = await this.getDraftRevisionId(input.organization, input.project, input.branch);
62
- await this.graphql(`mutation($data: CreateTableInput!) { createTable(data: $data) { id } }`, {
68
+ await this.graphql(`mutation($data: CreateTableInput!) {
69
+ createTable(data: $data) { table { versionId } }
70
+ }`, {
63
71
  data: { revisionId, tableId: input.tableId, schema: input.schema },
64
72
  });
65
73
  }
66
74
  async seedRow(input) {
67
75
  const revisionId = await this.getDraftRevisionId(input.organization, input.project, input.branch);
68
- await this.graphql(`mutation($data: CreateRowInput!) { createRow(data: $data) { id } }`, {
76
+ await this.graphql(`mutation($data: CreateRowInput!) {
77
+ createRow(data: $data) { row { versionId } }
78
+ }`, {
69
79
  data: {
70
80
  revisionId,
71
81
  tableId: input.tableId,
@@ -90,10 +100,10 @@ class StandaloneApiClient {
90
100
  }
91
101
  async listEndpoints(organization, projectName, branchName = 'master') {
92
102
  const revisionId = await this.getDraftRevisionId(organization, projectName, branchName);
93
- const data = await this.graphql(`query($revisionId: String!) {
94
- endpoints(revisionId: $revisionId) { id type }
95
- }`, { revisionId });
96
- return data.endpoints;
103
+ const data = await this.graphql(`query($data: GetRevisionInput!) {
104
+ revision(data: $data) { endpoints { id type } }
105
+ }`, { data: { revisionId } });
106
+ return data.revision.endpoints;
97
107
  }
98
108
  async request(method, path, body) {
99
109
  const headers = {
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-api.js","sourceRoot":"","sources":["../../../e2e/utils/standalone-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone-api.js","sourceRoot":"","sources":["../../../e2e/utils/standalone-api.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ export interface StartStandaloneOptions {
9
9
  export interface StandaloneInstance {
10
10
  baseUrl: string;
11
11
  port: number;
12
- pgPort: number;
13
12
  auth: boolean;
14
13
  api: StandaloneApiClient;
15
14
  url: (parts?: {
@@ -2,26 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.startStandalone = startStandalone;
4
4
  const node_child_process_1 = require("node:child_process");
5
- const node_crypto_1 = require("node:crypto");
6
5
  const promises_1 = require("node:fs/promises");
7
6
  const node_os_1 = require("node:os");
8
7
  const node_path_1 = require("node:path");
9
8
  const standalone_api_1 = require("./standalone-api");
10
9
  async function startStandalone(options = {}) {
11
- const { auth = false, adminPassword, version, env: extraEnv = {}, readinessTimeoutMs = 120_000, } = options;
10
+ const { auth = false, adminPassword, version, env: extraEnv = {}, readinessTimeoutMs = 180_000, } = options;
12
11
  if (auth && !adminPassword) {
13
12
  throw new TypeError('startStandalone: adminPassword is required when auth=true');
14
13
  }
15
14
  const dataDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'revisium-standalone-'));
16
- const port = await pickFreePort(9222);
17
- const pgPort = await pickFreePort(5440);
18
15
  const args = [
19
16
  '--yes',
20
17
  version ? `@revisium/standalone@${version}` : '@revisium/standalone',
21
- '--port',
22
- String(port),
23
- '--pg-port',
24
- String(pgPort),
25
18
  '--data',
26
19
  dataDir,
27
20
  ];
@@ -36,21 +29,24 @@ async function startStandalone(options = {}) {
36
29
  },
37
30
  stdio: ['ignore', 'pipe', 'pipe'],
38
31
  });
39
- attachLogPipes(child, port);
40
- const baseUrl = `http://localhost:${port}`;
41
- const api = new standalone_api_1.StandaloneApiClient(baseUrl);
32
+ let resolvedPort = null;
33
+ attachLogPipes(child, () => resolvedPort);
34
+ let port;
42
35
  try {
43
- await waitForReady(`${baseUrl}/health/readiness`, readinessTimeoutMs);
36
+ port = await waitForBanner(child, readinessTimeoutMs);
37
+ resolvedPort = port;
38
+ await waitForReady(`http://localhost:${port}/health/readiness`, 30_000);
44
39
  }
45
40
  catch (error) {
46
41
  await stopProcess(child, dataDir);
47
42
  throw error;
48
43
  }
44
+ const baseUrl = `http://localhost:${port}`;
45
+ const api = new standalone_api_1.StandaloneApiClient(baseUrl);
49
46
  let stopped = false;
50
47
  return {
51
48
  baseUrl,
52
49
  port,
53
- pgPort,
54
50
  auth,
55
51
  api,
56
52
  url: (parts) => buildRevisiumUrl(port, parts),
@@ -73,6 +69,58 @@ function buildRevisiumUrl(port, parts = {}) {
73
69
  const tail = parts.revision ? `:${parts.revision}` : '';
74
70
  return `revisium://${host}/${org}/${parts.project}/${branch}${tail}`;
75
71
  }
72
+ function waitForBanner(child, timeoutMs) {
73
+ return new Promise((resolve, reject) => {
74
+ let buffer = '';
75
+ let settled = false;
76
+ const bannerRegex = /URL:\s+http:\/\/localhost:(\d+)/;
77
+ const timer = setTimeout(() => {
78
+ if (!settled) {
79
+ settled = true;
80
+ cleanup();
81
+ const tail = buffer.slice(-2_000) || '<no output>';
82
+ reject(new Error(`Standalone did not announce a URL within ${timeoutMs}ms. Tail: ${tail}`));
83
+ }
84
+ }, timeoutMs);
85
+ const onData = (chunk) => {
86
+ if (settled)
87
+ return;
88
+ buffer += chunk.toString();
89
+ const match = bannerRegex.exec(buffer);
90
+ if (match) {
91
+ settled = true;
92
+ cleanup();
93
+ resolve(Number(match[1]));
94
+ }
95
+ };
96
+ const onExit = (code) => {
97
+ if (settled)
98
+ return;
99
+ settled = true;
100
+ cleanup();
101
+ const tail = buffer.slice(-2_000) || '<no output>';
102
+ reject(new Error(`Standalone exited (code=${code ?? 'null'}) before announcing a URL. Tail: ${tail}`));
103
+ };
104
+ const onError = (error) => {
105
+ if (settled)
106
+ return;
107
+ settled = true;
108
+ cleanup();
109
+ reject(error);
110
+ };
111
+ function cleanup() {
112
+ clearTimeout(timer);
113
+ child.stdout?.off('data', onData);
114
+ child.stderr?.off('data', onData);
115
+ child.off('exit', onExit);
116
+ child.off('error', onError);
117
+ }
118
+ child.stdout?.on('data', onData);
119
+ child.stderr?.on('data', onData);
120
+ child.once('exit', onExit);
121
+ child.once('error', onError);
122
+ });
123
+ }
76
124
  async function waitForReady(url, timeoutMs) {
77
125
  const start = Date.now();
78
126
  let lastError;
@@ -119,46 +167,24 @@ function waitForExit(child, timeoutMs) {
119
167
  });
120
168
  });
121
169
  }
122
- function attachLogPipes(child, port) {
170
+ function attachLogPipes(child, getPort) {
171
+ const tag = () => {
172
+ const port = getPort();
173
+ return port === null ? '[standalone:<pending>]' : `[standalone:${port}]`;
174
+ };
123
175
  if (process.env.E2E_STANDALONE_LOGS === '1') {
124
- const tag = `[standalone:${port}]`;
125
176
  child.stdout?.on('data', (chunk) => {
126
- process.stderr.write(`${tag} ${chunk.toString()}`);
177
+ process.stderr.write(`${tag()} ${chunk.toString()}`);
127
178
  });
128
179
  child.stderr?.on('data', (chunk) => {
129
- process.stderr.write(`${tag} ${chunk.toString()}`);
180
+ process.stderr.write(`${tag()} ${chunk.toString()}`);
130
181
  });
131
182
  }
132
183
  else {
133
- child.stdout?.resume();
134
- child.stderr?.resume();
184
+ child.stdout?.on('data', () => { });
185
+ child.stderr?.on('data', () => { });
135
186
  }
136
187
  }
137
- async function pickFreePort(preferred) {
138
- const candidates = [preferred, ...randomOffsets(preferred, 16)];
139
- for (const candidate of candidates) {
140
- if (await isPortFree(candidate)) {
141
- return candidate;
142
- }
143
- }
144
- return preferred;
145
- }
146
- function randomOffsets(base, count) {
147
- const offsets = new Set();
148
- while (offsets.size < count) {
149
- offsets.add(base + ((0, node_crypto_1.randomBytes)(2).readUInt16LE() % 2_000));
150
- }
151
- return Array.from(offsets);
152
- }
153
- async function isPortFree(port) {
154
- const net = await Promise.resolve().then(() => require('node:net'));
155
- return await new Promise((resolve) => {
156
- const server = net.createServer();
157
- server.once('error', () => resolve(false));
158
- server.once('listening', () => server.close(() => resolve(true)));
159
- server.listen(port, '127.0.0.1');
160
- });
161
- }
162
188
  function sleep(ms) {
163
189
  return new Promise((resolve) => setTimeout(resolve, ms));
164
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-runner.js","sourceRoot":"","sources":["../../../e2e/utils/standalone-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone-runner.js","sourceRoot":"","sources":["../../../e2e/utils/standalone-runner.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "revisium",
3
- "version": "2.5.0-alpha.0",
3
+ "version": "2.5.0-alpha.1",
4
4
  "homepage": "https://revisium.io",
5
5
  "description": "A CLI tool for interacting with Revisium instances, providing migration management, schema export, and data export capabilities.",
6
6
  "author": "Anton Kashirov",
@@ -27,10 +27,11 @@
27
27
  "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
28
28
  "test:e2e": "jest --config ./e2e/jest-e2e.json",
29
29
  "test:e2e:cov": "npm run build:instrumented && E2E_INSTRUMENTED=1 jest --config ./e2e/jest-e2e.json",
30
- "test:e2e:up": "FILE_PLUGIN_PUBLIC_ENDPOINT=https://cdn.example.com npx @revisium/standalone --auth --port 8082 --data .e2e-test & echo $! > .e2e-test.pid",
30
+ "test:e2e:up": "npx @revisium/standalone --auth --port 8082 --data .e2e-test & echo $! > .e2e-test.pid",
31
31
  "test:e2e:down": "if [ -f .e2e-test.pid ]; then kill $(cat .e2e-test.pid) 2>/dev/null; rm -f .e2e-test.pid; fi; rm -rf .e2e-test",
32
32
  "test:e2e:matrix": "npm run build && jest --config ./e2e/jest-matrix.json",
33
33
  "test:e2e:matrix:cov": "npm run build:instrumented && E2E_INSTRUMENTED=1 jest --config ./e2e/jest-matrix.json",
34
+ "test:e2e:matrix:alpha": "REVISIUM_CLI_PACKAGE=${REVISIUM_CLI_PACKAGE:-revisium@alpha} jest --config ./e2e/jest-matrix.json",
34
35
  "build:instrumented": "npm run build && rm -rf dist-instrumented && mkdir -p dist-instrumented && cp dist/package.json dist-instrumented/ && npx nyc instrument dist/src dist-instrumented/src --include='**/*.js'",
35
36
  "test:all": "npm run test:cov && npm run test:e2e:cov && npm run coverage:merge",
36
37
  "coverage:merge": "node scripts/merge-coverage.js"
@@ -62,7 +63,7 @@
62
63
  "@nestjs/cli": "^11.0.0",
63
64
  "@nestjs/schematics": "^11.0.0",
64
65
  "@nestjs/testing": "^11.0.1",
65
- "@revisium/standalone": "2.8.1",
66
+ "@revisium/standalone": "2.8.2-alpha.0",
66
67
  "@swc/cli": "^0.6.0",
67
68
  "@swc/core": "^1.10.7",
68
69
  "@types/express": "^5.0.0",
@@ -1,9 +1,14 @@
1
1
  import { CommandRunner } from 'nest-commander';
2
2
  import { LoggerService } from 'src/services/common';
3
3
  import { WorkspaceConfigService } from 'src/services/workspace';
4
+ interface Options {
5
+ json?: boolean;
6
+ }
4
7
  export declare class ContextListCommand extends CommandRunner {
5
8
  private readonly workspaceConfig;
6
9
  private readonly logger;
7
10
  constructor(workspaceConfig: WorkspaceConfigService, logger: LoggerService);
8
- run(): Promise<void>;
11
+ run(_inputs: string[], options?: Options): Promise<void>;
12
+ parseJson(value?: string): boolean;
9
13
  }
14
+ export {};
@@ -13,6 +13,7 @@ exports.ContextListCommand = void 0;
13
13
  const nest_commander_1 = require("nest-commander");
14
14
  const common_1 = require("../../services/common");
15
15
  const workspace_1 = require("../../services/workspace");
16
+ const parse_boolean_utils_1 = require("../../utils/parse-boolean.utils");
16
17
  let ContextListCommand = class ContextListCommand extends nest_commander_1.CommandRunner {
17
18
  workspaceConfig;
18
19
  logger;
@@ -21,20 +22,51 @@ let ContextListCommand = class ContextListCommand extends nest_commander_1.Comma
21
22
  this.workspaceConfig = workspaceConfig;
22
23
  this.logger = logger;
23
24
  }
24
- async run() {
25
+ async run(_inputs, options = {}) {
25
26
  const loaded = await this.workspaceConfig.load();
26
- if (!loaded || Object.keys(loaded.config.contexts).length === 0) {
27
+ const entries = loaded ? Object.entries(loaded.config.contexts) : [];
28
+ const sorted = [...entries].sort(([a], [b]) => a.localeCompare(b));
29
+ if (options.json) {
30
+ const contexts = sorted.map(([name, context]) => ({
31
+ name,
32
+ instance: context.instance,
33
+ organization: context.organization,
34
+ project: context.project,
35
+ branch: context.branch || workspace_1.DEFAULT_BRANCH,
36
+ revision: context.revision || workspace_1.DEFAULT_REVISION,
37
+ credential: context.credential,
38
+ current: loaded?.config.currentContext === name,
39
+ }));
40
+ console.log(JSON.stringify({
41
+ currentContext: loaded?.config.currentContext,
42
+ contexts,
43
+ }, null, 2));
44
+ return;
45
+ }
46
+ if (sorted.length === 0) {
27
47
  this.logger.info('No Revisium contexts configured in this workspace.');
28
48
  return;
29
49
  }
30
- this.logger.info(`Config: ${loaded.path}`);
31
- for (const [name, context] of Object.entries(loaded.config.contexts)) {
32
- const marker = loaded.config.currentContext === name ? '*' : ' ';
50
+ this.logger.info(`Config: ${loaded?.path}`);
51
+ for (const [name, context] of sorted) {
52
+ const marker = loaded?.config.currentContext === name ? '*' : ' ';
33
53
  this.logger.info(`${marker} ${name}\t${context.instance}\t${context.organization}/${context.project}/${context.branch || workspace_1.DEFAULT_BRANCH}:${context.revision || workspace_1.DEFAULT_REVISION}`);
34
54
  }
35
55
  }
56
+ parseJson(value) {
57
+ return (0, parse_boolean_utils_1.parseBooleanOption)(value);
58
+ }
36
59
  };
37
60
  exports.ContextListCommand = ContextListCommand;
61
+ __decorate([
62
+ (0, nest_commander_1.Option)({
63
+ flags: '--json [boolean]',
64
+ description: 'Print machine-readable JSON',
65
+ }),
66
+ __metadata("design:type", Function),
67
+ __metadata("design:paramtypes", [String]),
68
+ __metadata("design:returntype", Boolean)
69
+ ], ContextListCommand.prototype, "parseJson", null);
38
70
  exports.ContextListCommand = ContextListCommand = __decorate([
39
71
  (0, nest_commander_1.SubCommand)({
40
72
  name: 'list',
@@ -1 +1 @@
1
- {"version":3,"file":"context-list.command.js","sourceRoot":"","sources":["../../../../src/commands/context/context-list.command.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA2D;AAC3D,kDAAoD;AACpD,wDAIgC;AAMzB,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,8BAAa;IAEhC;IACA;IAFnB,YACmB,eAAuC,EACvC,MAAqB;QAEtC,KAAK,EAAE,CAAC;QAHS,oBAAe,GAAf,eAAe,CAAwB;QACvC,WAAM,GAAN,MAAM,CAAe;IAGxC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,0BAAc,IAAI,OAAO,CAAC,QAAQ,IAAI,4BAAgB,EAAE,CACjK,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAvBY,gDAAkB;6BAAlB,kBAAkB;IAJ9B,IAAA,2BAAU,EAAC;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,kCAAkC;KAChD,CAAC;qCAGoC,kCAAsB;QAC/B,sBAAa;GAH7B,kBAAkB,CAuB9B"}
1
+ {"version":3,"file":"context-list.command.js","sourceRoot":"","sources":["../../../../src/commands/context/context-list.command.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { WorkspaceAuthMode, WorkspaceConfigService } from 'src/services/workspac
4
4
  interface Options {
5
5
  url?: string;
6
6
  auth?: WorkspaceAuthMode;
7
+ force?: boolean;
7
8
  }
8
9
  export declare class InstanceAddCommand extends CommandRunner {
9
10
  private readonly workspaceConfig;
@@ -12,5 +13,6 @@ export declare class InstanceAddCommand extends CommandRunner {
12
13
  run(inputs: string[], options: Options): Promise<void>;
13
14
  parseUrl(value: string): string;
14
15
  parseAuth(value: string): WorkspaceAuthMode;
16
+ parseForce(value?: string): boolean;
15
17
  }
16
18
  export {};