slickenv 1.0.1 → 1.0.121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="https://env.slickspender.com/logo.svg" alt="SlickEnv" width="80" />
2
+ <img src="https://env.slickspender.com/icon.svg" alt="SlickEnv" width="80" />
3
3
  </p>
4
4
 
5
5
  <h1 align="center">SlickEnv</h1>
@@ -17,6 +17,12 @@ export declare abstract class BaseCommand extends Command {
17
17
  protected info(msg: string): void;
18
18
  protected warning(msg: string): void;
19
19
  protected fail(msg: string): never;
20
+ /**
21
+ * Extract a user-friendly message from any error type.
22
+ * Handles: ConfigError, AuthError, Convex ConvexError, ParseError, ApiRequestError,
23
+ * standard Error, and unknown objects.
24
+ */
25
+ private extractMessage;
20
26
  protected catch(error: Error & {
21
27
  exitCode?: number;
22
28
  }): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMtD,8BAAsB,WAAY,SAAQ,OAAO;IAC/C,qFAAqF;IACrF,SAAS,CAAC,cAAc,UAAQ;IAEhC,iEAAiE;IACjE,SAAS,CAAC,YAAY,UAAQ;IAE9B,SAAS,CAAC,cAAc,EAAG,cAAc,CAAC;IAC1C,SAAS,CAAC,SAAS,EAAG,MAAM,CAAC;IAE7B,MAAM,CAAC,SAAS;;;;MAad;IAEI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAOlC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAMxE"}
1
+ {"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMtD,8BAAsB,WAAY,SAAQ,OAAO;IAC/C,qFAAqF;IACrF,SAAS,CAAC,cAAc,UAAQ;IAEhC,iEAAiE;IACjE,SAAS,CAAC,YAAY,UAAQ;IAE9B,SAAS,CAAC,cAAc,EAAG,cAAc,CAAC;IAC1C,SAAS,CAAC,SAAS,EAAG,MAAM,CAAC;IAE7B,MAAM,CAAC,SAAS;;;;MAad;IAEI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAOlC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAgDtB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAiBxE"}
@@ -2,7 +2,7 @@ import { Command, Flags } from "@oclif/core";
2
2
  import { loadConfig } from "./lib/config.js";
3
3
  import { getValidToken } from "./lib/auth.js";
4
4
  import { colors, symbols } from "./lib/output.js";
5
- import { ConfigError, AuthError } from "./lib/errors.js";
5
+ import { ConfigError, AuthError, ParseError, ApiRequestError } from "./lib/errors.js";
6
6
  export class BaseCommand extends Command {
7
7
  /** Override to false in commands that don't need a .slickenv config (login, init) */
8
8
  requiresConfig = true;
@@ -31,10 +31,7 @@ export class BaseCommand extends Command {
31
31
  this.slickenvConfig = await loadConfig();
32
32
  }
33
33
  catch (error) {
34
- if (error instanceof ConfigError) {
35
- this.fail(error.message);
36
- }
37
- throw error;
34
+ this.fail(this.extractMessage(error));
38
35
  }
39
36
  }
40
37
  if (this.requiresAuth) {
@@ -42,10 +39,7 @@ export class BaseCommand extends Command {
42
39
  this.authToken = await getValidToken();
43
40
  }
44
41
  catch (error) {
45
- if (error instanceof AuthError) {
46
- this.fail(error.message);
47
- }
48
- throw error;
42
+ this.fail(this.extractMessage(error));
49
43
  }
50
44
  }
51
45
  }
@@ -64,11 +58,65 @@ export class BaseCommand extends Command {
64
58
  this.exit(1);
65
59
  }
66
60
  // ── Error Handling ─────────────────────────────────────────────
67
- catch(error) {
61
+ /**
62
+ * Extract a user-friendly message from any error type.
63
+ * Handles: ConfigError, AuthError, Convex ConvexError, ParseError, ApiRequestError,
64
+ * standard Error, and unknown objects.
65
+ */
66
+ extractMessage(error) {
68
67
  if (error instanceof ConfigError || error instanceof AuthError) {
69
- this.fail(error.message);
68
+ return error.message;
69
+ }
70
+ if (error instanceof ParseError) {
71
+ return error.line
72
+ ? `Parse error on line ${error.line}: ${error.message}`
73
+ : error.message;
74
+ }
75
+ if (error instanceof ApiRequestError) {
76
+ return error.message;
77
+ }
78
+ // Convex ConvexError — has { data: { message: string } }
79
+ if (error && typeof error === "object") {
80
+ const err = error;
81
+ if (err.data?.message && typeof err.data.message === "string") {
82
+ return err.data.message;
83
+ }
84
+ }
85
+ if (error instanceof Error) {
86
+ // Filter out unhelpful raw error messages
87
+ const msg = error.message;
88
+ if (msg.includes("fetch failed") || msg.includes("ECONNREFUSED")) {
89
+ return "Could not reach the SlickEnv server. Check your internet connection and try again.";
90
+ }
91
+ if (msg.includes("EACCES") || msg.includes("permission denied")) {
92
+ return `Permission denied: ${msg.replace(/.*permission denied,?\s*/, "")}`;
93
+ }
94
+ if (msg.includes("ENOENT")) {
95
+ return `File not found: ${msg.replace(/.*ENOENT:?\s*(no such file or directory,?\s*)?/, "")}`;
96
+ }
97
+ if (msg.includes("Unsupported state or unable to authenticate data")) {
98
+ return "Decryption failed. The encryption key may have changed — try re-initialising with `slickenv init`.";
99
+ }
100
+ return msg;
101
+ }
102
+ if (typeof error === "string") {
103
+ return error;
104
+ }
105
+ return "An unexpected error occurred.";
106
+ }
107
+ catch(error) {
108
+ // oclif uses exitCode 0 for help/version — don't intercept those
109
+ if (error.exitCode === 0) {
110
+ return super.catch(error);
111
+ }
112
+ const message = this.extractMessage(error);
113
+ this.log(`${colors.error(symbols.error)} ${message}`);
114
+ // In verbose mode, show the full error for debugging
115
+ const flags = this.flags ?? {};
116
+ if (flags.verbose && error instanceof Error && error.stack) {
117
+ this.log(`\n${colors.info(error.stack)}`);
70
118
  }
71
- return super.catch(error);
119
+ return this.exit(1);
72
120
  }
73
121
  }
74
122
  //# sourceMappingURL=base-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,WAAW,SAA4D;IAEvF,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,KAAK;;;;;;MASnB;IAEF,UAAmB,cAAc,UAAS;IAEpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkDZ,MAAM;YAUN,eAAe;CAY9B"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,WAAW,SAA4D;IAEvF,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,KAAK;;;;;;MASnB;IAEF,UAAmB,cAAc,UAAS;IAEpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAyDZ,MAAM;YAUN,eAAe;CAY9B"}
@@ -5,7 +5,8 @@ import { Flags } from "@oclif/core";
5
5
  import { BaseCommand } from "../base-command.js";
6
6
  import { findConfigDir, writeConfig, CONFIG_FILENAME } from "../lib/config.js";
7
7
  import { createApiClient } from "../lib/api.js";
8
- import { isTTY } from "../lib/output.js";
8
+ import { isTTY, colors, symbols, divider } from "../lib/output.js";
9
+ import chalk from "chalk";
9
10
  export default class Init extends BaseCommand {
10
11
  static description = "Initialise a SlickEnv project in the current directory";
11
12
  static examples = [
@@ -60,14 +61,21 @@ export default class Init extends BaseCommand {
60
61
  await writeConfig(config, process.cwd());
61
62
  // Add .env to .gitignore if not already there
62
63
  await this.ensureGitignore();
63
- this.success(`Project "${projectName}" initialised (${result.slug}).`);
64
- this.info(`Environment: ${envLabel}`);
65
- this.info(`Config written to ${CONFIG_FILENAME}`);
64
+ this.log("");
65
+ this.log(` ${colors.success(symbols.success)} ${chalk.bold("Project initialised")}`);
66
+ this.log(divider());
67
+ this.log(` ${chalk.dim("Project")} ${colors.key(projectName)}`);
68
+ this.log(` ${chalk.dim("Slug")} ${colors.highlight(result.slug)}`);
69
+ this.log(` ${chalk.dim("Environment")} ${colors.highlight(envLabel)}`);
70
+ this.log(` ${chalk.dim("Config")} ${CONFIG_FILENAME}`);
71
+ this.log("");
72
+ this.log(` ${chalk.dim("Next:")} ${colors.highlight("slickenv push")} ${chalk.dim("to sync your .env")}`);
73
+ this.log("");
66
74
  }
67
75
  async prompt(message, defaultValue) {
68
76
  const rl = createInterface({ input: process.stdin, output: process.stdout });
69
77
  return new Promise((resolve) => {
70
- rl.question(` ${message} (${defaultValue}): `, (answer) => {
78
+ rl.question(` ${message} ${chalk.dim(`(${defaultValue})`)}: `, (answer) => {
71
79
  rl.close();
72
80
  resolve(answer.trim() || defaultValue);
73
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,OAAgB,WAAW,SAAoC;IAE/D,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,KAAK;;;;MAEnB;IAEF,UAAmB,cAAc,UAAS;IAC1C,UAAmB,YAAY,UAAS;IAElC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBZ,mBAAmB;IAkDjC,OAAO,CAAC,WAAW;CAMpB"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,OAAgB,WAAW,SAAoC;IAE/D,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,KAAK;;;;MAEnB;IAEF,UAAmB,cAAc,UAAS;IAC1C,UAAmB,YAAY,UAAS;IAElC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BZ,mBAAmB;IAkDjC,OAAO,CAAC,WAAW;CAQpB"}
@@ -1,10 +1,11 @@
1
1
  import { createServer } from "node:http";
2
2
  import { exec } from "node:child_process";
3
3
  import { BaseCommand } from "../base-command.js";
4
- import { resolveToken } from "../lib/auth.js";
4
+ import { resolveToken, isExpired } from "../lib/auth.js";
5
5
  import { storeToken } from "../lib/keychain.js";
6
6
  import { createApiClient } from "../lib/api.js";
7
- import { colors } from "../lib/output.js";
7
+ import { colors, symbols } from "../lib/output.js";
8
+ import chalk from "chalk";
8
9
  const CALLBACK_PORT = 9876;
9
10
  const AUTH_TIMEOUT_MS = 120_000;
10
11
  export default class Login extends BaseCommand {
@@ -19,19 +20,26 @@ export default class Login extends BaseCommand {
19
20
  requiresAuth = false;
20
21
  async run() {
21
22
  const existingToken = await resolveToken();
22
- if (existingToken) {
23
+ if (existingToken && !isExpired(existingToken)) {
23
24
  this.success("Already authenticated.");
24
25
  return;
25
26
  }
26
- this.log(`\n ${colors.info("Opening browser for authentication...")}\n`);
27
+ this.log("");
28
+ this.log(` ${chalk.bold.hex("#16A34A")("slickenv")} ${chalk.dim("login")}`);
29
+ this.log(` ${chalk.dim("─".repeat(40))}`);
30
+ this.log(` ${colors.info("Waiting for browser authentication...")}`);
31
+ this.log("");
27
32
  const token = await this.waitForAuthCallback();
28
33
  await storeToken(token);
29
34
  try {
30
35
  const client = createApiClient(undefined, token);
31
36
  await client.mutation("users:ensureUser");
32
- this.success("Logged in successfully.");
37
+ this.log("");
38
+ this.log(` ${colors.success(symbols.success)} ${chalk.bold("Logged in successfully.")}`);
39
+ this.log("");
33
40
  }
34
41
  catch {
42
+ this.log("");
35
43
  this.success("Token saved. Could not sync user record — will retry on next command.");
36
44
  }
37
45
  }
@@ -86,7 +94,9 @@ export default class Login extends BaseCommand {
86
94
  const { platform } = process;
87
95
  const cmd = platform === "darwin" ? "open" : platform === "win32" ? "start" : "xdg-open";
88
96
  exec(`${cmd} "${url}"`);
89
- this.log(` If the browser doesn't open, visit:\n ${colors.info(url)}\n`);
97
+ this.log(` If the browser doesn't open, visit:`);
98
+ this.log(` ${chalk.underline.cyan(url)}`);
99
+ this.log("");
90
100
  }
91
101
  }
92
102
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,WAAW,SAAyD;IAEpF,OAAgB,QAAQ,WAItB;IAEF,OAAgB,KAAK;;;;;;;MAcnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuF3B"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,WAAW,SAAyD;IAEpF,OAAgB,QAAQ,WAItB;IAEF,OAAgB,KAAK;;;;;;;MAcnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4F3B"}
@@ -6,7 +6,8 @@ import { deriveKey, decrypt } from "../lib/crypto.js";
6
6
  import { createApiClient } from "../lib/api.js";
7
7
  import { decodeJwt } from "../lib/auth.js";
8
8
  import { writeConfig, findConfigDir, loadConfig } from "../lib/config.js";
9
- import { confirm, colors, displayVariable } from "../lib/output.js";
9
+ import { confirm, colors, symbols, displayVariable, header, divider } from "../lib/output.js";
10
+ import chalk from "chalk";
10
11
  export default class Pull extends BaseCommand {
11
12
  static description = "Pull the latest version from SlickEnv to local .env";
12
13
  static examples = [
@@ -73,7 +74,10 @@ export default class Pull extends BaseCommand {
73
74
  const envContent = lines.join("\n") + "\n";
74
75
  // Dry run: display and exit
75
76
  if (flags["dry-run"]) {
76
- this.log(`\n ${colors.info(`Preview of v${result.version}:`)} ${this.slickenvConfig.defaultEnvironment}\n`);
77
+ this.log("");
78
+ this.log(header(this.slickenvConfig.projectName, this.slickenvConfig.defaultEnvironment));
79
+ this.log(` ${chalk.dim("Preview of")} ${colors.version(`v${result.version}`)}`);
80
+ this.log(divider());
77
81
  for (const v of result.variables) {
78
82
  let value = v.value;
79
83
  if (v.isEncrypted && v.iv) {
@@ -86,7 +90,7 @@ export default class Pull extends BaseCommand {
86
90
  }
87
91
  // Confirm overwrite
88
92
  if (!flags.yes) {
89
- const ok = await confirm(`Overwrite .env with v${result.version} (${result.variables.length} variables)?`);
93
+ const ok = await confirm(`Overwrite .env with ${colors.version(`v${result.version}`)} (${result.variables.length} variables)?`);
90
94
  if (!ok) {
91
95
  this.info("Cancelled.");
92
96
  return;
@@ -102,7 +106,9 @@ export default class Pull extends BaseCommand {
102
106
  config.lastSyncedVersion = result.version;
103
107
  await writeConfig(config, configDir);
104
108
  }
105
- this.success(`Pulled v${result.version} (${result.variables.length} variable${result.variables.length === 1 ? "" : "s"}).`);
109
+ this.log("");
110
+ this.log(` ${colors.success(symbols.success)} Pulled ${colors.version(`v${result.version}`)} ${chalk.dim(`(${result.variables.length} variable${result.variables.length === 1 ? "" : "s"} → .env)`)}`);
111
+ this.log("");
106
112
  }
107
113
  }
108
114
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,WAAW,SAAyC;IAEpE,OAAgB,QAAQ,WAKtB;IAEF,OAAgB,KAAK;;;;;;;;MAmBnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAgJZ,iBAAiB;CAWhC"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,WAAW,SAAyC;IAEpE,OAAgB,QAAQ,WAKtB;IAEF,OAAgB,KAAK;;;;;;;;MAmBnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA4JZ,iBAAiB;CAWhC"}
@@ -7,7 +7,8 @@ import { deriveKey, encrypt, decrypt } from "../lib/crypto.js";
7
7
  import { createApiClient } from "../lib/api.js";
8
8
  import { decodeJwt } from "../lib/auth.js";
9
9
  import { writeConfig, findConfigDir, loadConfig } from "../lib/config.js";
10
- import { confirm, colors } from "../lib/output.js";
10
+ import { confirm, colors, symbols, header, divider } from "../lib/output.js";
11
+ import chalk from "chalk";
11
12
  export default class Push extends BaseCommand {
12
13
  static description = "Push local .env changes to SlickEnv";
13
14
  static examples = [
@@ -97,7 +98,9 @@ export default class Push extends BaseCommand {
97
98
  return !r || r.value !== v.value || r.visibility !== v.visibility || r.type !== v.type || r.required !== v.required;
98
99
  });
99
100
  if (!hasChanges) {
100
- this.info("No changes detected. Local .env matches the remote version.");
101
+ this.log("");
102
+ this.log(` ${colors.success(symbols.success)} ${chalk.dim("No changes detected. Local .env matches remote.")}`);
103
+ this.log("");
101
104
  return;
102
105
  }
103
106
  }
@@ -132,10 +135,17 @@ export default class Push extends BaseCommand {
132
135
  });
133
136
  // Determine base version for conflict detection
134
137
  const baseVersion = flags.force ? -1 : (this.slickenvConfig.lastSyncedVersion ?? 0);
138
+ // Count by visibility
139
+ const privateCount = parsed.filter((v) => v.visibility === "private").length;
140
+ const publicCount = parsed.length - privateCount;
135
141
  // Confirm push
136
142
  this.log("");
137
- this.log(` ${colors.key(this.slickenvConfig.projectName)} / ${this.slickenvConfig.defaultEnvironment}`);
138
- this.log(` ${parsed.length} variable${parsed.length === 1 ? "" : "s"} to push`);
143
+ this.log(header(this.slickenvConfig.projectName, this.slickenvConfig.defaultEnvironment));
144
+ this.log(divider());
145
+ this.log(` ${colors.highlight(String(parsed.length))} variable${parsed.length === 1 ? "" : "s"} ${chalk.dim("(")}${colors.error(`${privateCount} private`)}${chalk.dim(",")} ${colors.success(`${publicCount} public`)}${chalk.dim(")")}`);
146
+ if (flags.message) {
147
+ this.log(` ${chalk.dim("Message:")} ${flags.message}`);
148
+ }
139
149
  this.log("");
140
150
  if (!flags.yes) {
141
151
  const ok = await confirm("Push these changes?");
@@ -159,7 +169,9 @@ export default class Push extends BaseCommand {
159
169
  config.lastSyncedVersion = result.newVersion;
160
170
  await writeConfig(config, configDir);
161
171
  }
162
- this.success(`Pushed v${result.newVersion} (${parsed.length} variable${parsed.length === 1 ? "" : "s"}).`);
172
+ this.log("");
173
+ this.log(` ${colors.success(symbols.success)} Pushed ${colors.version(`v${result.newVersion}`)} ${chalk.dim(`(${parsed.length} variable${parsed.length === 1 ? "" : "s"})`)}`);
174
+ this.log("");
163
175
  }
164
176
  async getCurrentVersion(client) {
165
177
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAC;IAEpE,MAAM,CAAU,QAAQ,GAAG;QACzB,eAAe;QACf,4CAA4C;QAC5C,6BAA6B;QAC7B,sCAAsC;KACvC,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,sCAAsC;SACpD,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEzC,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CACP,mBAAmB,KAAK,CAAC,IAAI,IAAI;gBACjC,8DAA8D;gBAC9D,6CAA6C;gBAC7C,oCAAoC;gBACpC,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,uEAAuE;QACvE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAqB,EAAE;YACxD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;SACzC,CAAQ,CAAC;QAEV,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAC1F,CAAC;QAED,wBAAwB;QACxB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAa,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAExE,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,mBAA0B,EAAE;gBAC5D,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;gBACxC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;aAC9C,CAAQ,CAAC;YAEV,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkF,CAAC;gBAC5G,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAClC,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;oBACrB,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5B,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC;oBACD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpG,CAAC;gBAED,MAAM,UAAU,GACd,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI;oBAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAChB,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;oBACtH,CAAC,CAAC,CAAC;gBAEL,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;oBACzE,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GAAwB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACjD,OAAO;oBACL,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,IAAI;oBACjB,EAAE;oBACF,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QAEpF,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAChD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,mBAA0B,EAAE;YAC/D,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;YACxC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;YAC7C,SAAS;YACT,aAAa,EAAE,KAAK,CAAC,OAAO;YAC5B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;SAChF,CAAQ,CAAC;QAEV,uCAAuC;QACvC,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC;YAC7C,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7G,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAW;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,wBAA+B,EAAE;gBACjE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;gBACxC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;aAC9C,CAAQ,CAAC;YACV,OAAO,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,OAAgB,WAAW,SAAyD;IAEpF,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,KAAK;;;;MAEnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkF3B"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,OAAgB,WAAW,SAAyD;IAEpF,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,KAAK;;;;MAEnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsF3B"}
@@ -5,7 +5,8 @@ import { createApiClient } from "../lib/api.js";
5
5
  import { parseEnvFile } from "../lib/parser.js";
6
6
  import { decodeJwt } from "../lib/auth.js";
7
7
  import { deriveKey, decrypt } from "../lib/crypto.js";
8
- import { colors, symbols } from "../lib/output.js";
8
+ import { colors, symbols, header, divider } from "../lib/output.js";
9
+ import chalk from "chalk";
9
10
  export default class Status extends BaseCommand {
10
11
  static description = "Show what's different between local .env and remote";
11
12
  static examples = [
@@ -22,14 +23,16 @@ export default class Status extends BaseCommand {
22
23
  label: this.slickenvConfig.defaultEnvironment,
23
24
  });
24
25
  this.log("");
25
- this.log(` ${colors.key(status.project.name)} / ${this.slickenvConfig.defaultEnvironment}`);
26
+ this.log(header(status.project.name, this.slickenvConfig.defaultEnvironment));
27
+ this.log(divider());
26
28
  if (!status.exists) {
27
- this.log(` ${colors.info("No remote environment yet. Run")} slickenv push ${colors.info("to create one.")}`);
29
+ this.log(` ${chalk.dim("No remote environment yet.")}`);
30
+ this.log(` ${chalk.dim("Run")} ${colors.highlight("slickenv push")} ${chalk.dim("to create one.")}`);
28
31
  this.log("");
29
32
  return;
30
33
  }
31
- this.log(` Remote: v${status.version} (${status.variableCount} variables)`);
32
- this.log(` Synced: v${this.slickenvConfig.lastSyncedVersion ?? "none"}`);
34
+ this.log(` ${chalk.dim("Remote")} ${colors.version(`v${status.version}`)} ${chalk.dim(`(${status.variableCount} variables)`)}`);
35
+ this.log(` ${chalk.dim("Synced")} ${colors.version(`v${this.slickenvConfig.lastSyncedVersion ?? "none"}`)}`);
33
36
  // Parse local .env
34
37
  let localVars;
35
38
  try {
@@ -38,11 +41,11 @@ export default class Status extends BaseCommand {
38
41
  localVars = new Map(parsed.map((v) => [v.key, v.value]));
39
42
  }
40
43
  catch {
41
- this.log(` Local: No .env file found`);
44
+ this.log(` ${chalk.dim("Local")} ${colors.warning("No .env file found")}`);
42
45
  this.log("");
43
46
  return;
44
47
  }
45
- this.log(` Local: ${localVars.size} variables`);
48
+ this.log(` ${chalk.dim("Local")} ${localVars.size} variables`);
46
49
  // Fetch remote variables for comparison
47
50
  const remote = await client.query("environments:pull", {
48
51
  projectId: this.slickenvConfig.projectId,
@@ -75,18 +78,20 @@ export default class Status extends BaseCommand {
75
78
  modified.push(k);
76
79
  }
77
80
  if (added.length === 0 && removed.length === 0 && modified.length === 0) {
78
- this.log(`\n ${colors.success(symbols.success)} In sync. No changes.\n`);
81
+ this.log("");
82
+ this.log(` ${colors.success(symbols.success)} ${chalk.bold("In sync.")} ${chalk.dim("No changes detected.")}`);
83
+ this.log("");
79
84
  return;
80
85
  }
81
86
  this.log("");
82
87
  for (const k of added)
83
- this.log(` ${colors.success(symbols.added)} ${k}`);
88
+ this.log(` ${colors.success(symbols.added)} ${colors.key(k)} ${chalk.dim("(local only)")}`);
84
89
  for (const k of removed)
85
- this.log(` ${colors.error(symbols.removed)} ${k}`);
90
+ this.log(` ${colors.error(symbols.removed)} ${colors.key(k)} ${chalk.dim("(remote only)")}`);
86
91
  for (const k of modified)
87
- this.log(` ${colors.warning(symbols.modified)} ${k}`);
88
- this.log("");
89
- this.log(` ${added.length} added, ${removed.length} removed, ${modified.length} modified`);
92
+ this.log(` ${colors.warning(symbols.modified)} ${colors.key(k)} ${chalk.dim("(modified)")}`);
93
+ this.log(divider());
94
+ this.log(` ${colors.success(`${added.length} added`)}${chalk.dim(",")} ${colors.error(`${removed.length} removed`)}${chalk.dim(",")} ${colors.warning(`${modified.length} modified`)}`);
90
95
  this.log("");
91
96
  }
92
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAAsD;IAEjF,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,KAAK;;;;;MAMnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAAsD;IAEjF,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,KAAK;;;;;MAMnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC3B"}
@@ -1,7 +1,8 @@
1
1
  import { Flags } from "@oclif/core";
2
2
  import { BaseCommand } from "../base-command.js";
3
3
  import { createApiClient } from "../lib/api.js";
4
- import { colors } from "../lib/output.js";
4
+ import { colors, symbols, header, divider } from "../lib/output.js";
5
+ import chalk from "chalk";
5
6
  export default class Versions extends BaseCommand {
6
7
  static description = "List version history for the current environment";
7
8
  static examples = [
@@ -24,17 +25,22 @@ export default class Versions extends BaseCommand {
24
25
  limit: flags.limit,
25
26
  });
26
27
  if (!result.versions || result.versions.length === 0) {
27
- this.info("No versions found. Push first with `slickenv push`.");
28
+ this.log("");
29
+ this.log(` ${chalk.dim("No versions found.")}`);
30
+ this.log(` ${chalk.dim("Run")} ${colors.highlight("slickenv push")} ${chalk.dim("to create one.")}`);
31
+ this.log("");
28
32
  return;
29
33
  }
30
34
  this.log("");
31
- this.log(` ${colors.key(this.slickenvConfig.projectName)} / ${this.slickenvConfig.defaultEnvironment}`);
32
- this.log("");
35
+ this.log(header(this.slickenvConfig.projectName, this.slickenvConfig.defaultEnvironment));
36
+ this.log(divider());
33
37
  for (const v of result.versions) {
34
38
  const date = new Date(v.createdAt).toLocaleString();
35
- const activeMarker = v.isActive ? ` ${colors.success("(active)")}` : "";
36
- const summary = v.changeSummary ? ` ${colors.info(v.changeSummary)}` : "";
37
- this.log(` ${colors.version(`v${v.version}`)} ${colors.timestamp(date)} ${v.variableCount} vars${activeMarker}${summary}`);
39
+ const versionStr = colors.version(`v${String(v.version).padStart(2, " ")}`);
40
+ const activeMarker = v.isActive ? ` ${colors.success(symbols.bullet)} ${colors.success("active")}` : "";
41
+ const vars = chalk.dim(`${v.variableCount} vars`);
42
+ const summary = v.changeSummary ? ` ${chalk.dim("—")} ${chalk.italic(v.changeSummary)}` : "";
43
+ this.log(` ${versionStr} ${colors.timestamp(date)} ${vars}${activeMarker}${summary}`);
38
44
  }
39
45
  this.log("");
40
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAU,WAAW,GAAG,kDAAkD,CAAC;IAEjF,MAAM,CAAU,QAAQ,GAAG;QACzB,mBAAmB;QACnB,8BAA8B;KAC/B,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,EAAE;SACZ,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,eAAsB,EAAE;YACxD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;YACxC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;YAC7C,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAQ,CAAC;QAEV,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEb,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,QAAQ,YAAY,GAAG,OAAO,EAAE,CAAC,CAAC;QAChI,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare const symbols: {
8
8
  readonly modified: "~";
9
9
  readonly added: "+";
10
10
  readonly removed: "-";
11
+ readonly bullet: "●";
11
12
  };
12
13
  export declare const colors: {
13
14
  readonly success: import("chalk").ChalkInstance;
@@ -20,8 +21,15 @@ export declare const colors: {
20
21
  readonly version: import("chalk").ChalkInstance;
21
22
  readonly email: import("chalk").ChalkInstance;
22
23
  readonly timestamp: import("chalk").ChalkInstance;
24
+ readonly brand: import("chalk").ChalkInstance;
25
+ readonly label: import("chalk").ChalkInstance;
26
+ readonly highlight: import("chalk").ChalkInstance;
27
+ readonly url: import("chalk").ChalkInstance;
23
28
  };
24
29
  export declare const isTTY: boolean;
30
+ export declare function header(project: string, env: string): string;
31
+ export declare function divider(width?: number): string;
32
+ export declare function dim(msg: string): string;
25
33
  export declare function mask(): string;
26
34
  export declare function displayVariable(variable: Pick<Variable, "key" | "value" | "visibility" | "isEncrypted">): string;
27
35
  export declare function sanitizeForLogging(obj: unknown): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhD,eAAO,MAAM,OAAO;;;;;;;;;CASV,CAAC;AAIX,eAAO,MAAM,MAAM;;;;;;;;;;;CAWT,CAAC;AAIX,eAAO,MAAM,KAAK,SAAuD,CAAC;AAI1E,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC,GAAG,MAAM,CAKhH;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAWxD;AAID,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB/D"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhD,eAAO,MAAM,OAAO;;;;;;;;;;CAUV,CAAC;AAIX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAeT,CAAC;AAIX,eAAO,MAAM,KAAK,SAAuD,CAAC;AAI1E,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,OAAO,CAAC,KAAK,SAAK,GAAG,MAAM,CAE1C;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvC;AAID,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC,GAAG,MAAM,CAKhH;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAWxD;AAID,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB/D"}
@@ -10,6 +10,7 @@ export const symbols = {
10
10
  modified: "~",
11
11
  added: "+",
12
12
  removed: "-",
13
+ bullet: "●",
13
14
  };
14
15
  // ── Color Helpers ────────────────────────────────────────────────────
15
16
  export const colors = {
@@ -23,18 +24,32 @@ export const colors = {
23
24
  version: chalk.cyan,
24
25
  email: chalk.dim.italic,
25
26
  timestamp: chalk.dim.gray,
27
+ brand: chalk.bold.hex("#16A34A"),
28
+ label: chalk.dim,
29
+ highlight: chalk.hex("#16A34A"),
30
+ url: chalk.underline.cyan,
26
31
  };
27
32
  // ── TTY Detection ────────────────────────────────────────────────────
28
33
  export const isTTY = Boolean(process.stdout.isTTY && process.stdin.isTTY);
34
+ // ── Formatting Helpers ───────────────────────────────────────────────
35
+ export function header(project, env) {
36
+ return ` ${colors.brand("slickenv")} ${chalk.dim("/")} ${colors.key(project)} ${chalk.dim("/")} ${colors.highlight(env)}`;
37
+ }
38
+ export function divider(width = 40) {
39
+ return ` ${chalk.dim("─".repeat(width))}`;
40
+ }
41
+ export function dim(msg) {
42
+ return chalk.dim(msg);
43
+ }
29
44
  // ── Masking ──────────────────────────────────────────────────────────
30
45
  export function mask() {
31
46
  return "****";
32
47
  }
33
48
  export function displayVariable(variable) {
34
49
  if (variable.visibility === "private" || variable.isEncrypted) {
35
- return `${variable.key}=${mask()}`;
50
+ return `${colors.key(variable.key)}${chalk.dim("=")}${colors.privateValue(mask())}`;
36
51
  }
37
- return `${variable.key}=${variable.value}`;
52
+ return `${colors.key(variable.key)}${chalk.dim("=")}${colors.value(variable.value)}`;
38
53
  }
39
54
  // ── Sanitize for Logging ─────────────────────────────────────────────
40
55
  const SENSITIVE_KEYS = ["value", "password", "secret", "token", "key", "authorization"];
@@ -60,7 +75,7 @@ export async function confirm(message) {
60
75
  output: process.stdout,
61
76
  });
62
77
  return new Promise((resolve) => {
63
- rl.question(`${message} (y/N) `, (answer) => {
78
+ rl.question(` ${message} ${chalk.dim("(y/N)")} `, (answer) => {
64
79
  rl.close();
65
80
  resolve(answer.trim().toLowerCase() === "y");
66
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
@@ -747,5 +747,5 @@
747
747
  ]
748
748
  }
749
749
  },
750
- "version": "1.0.1"
750
+ "version": "1.0.121"
751
751
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slickenv",
3
- "version": "1.0.1",
3
+ "version": "1.0.121",
4
4
  "description": "Securely manage, sync, and version .env files across your team with end-to-end encryption",
5
5
  "type": "module",
6
6
  "license": "MIT",