@devbie/newbie-cli 0.1.0-stage.0 → 0.1.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.
Files changed (109) hide show
  1. package/README.md +244 -0
  2. package/dist/assemble/assets.js.map +1 -1
  3. package/dist/assemble/dependencies.js +20 -4
  4. package/dist/assemble/dependencies.js.map +1 -1
  5. package/dist/assemble/env.js.map +1 -1
  6. package/dist/assemble/module-graph.d.ts +14 -0
  7. package/dist/assemble/module-graph.js +51 -0
  8. package/dist/assemble/module-graph.js.map +1 -0
  9. package/dist/assemble/modules-copy.js +1 -3
  10. package/dist/assemble/modules-copy.js.map +1 -1
  11. package/dist/assemble/modules.js +2 -6
  12. package/dist/assemble/modules.js.map +1 -1
  13. package/dist/assemble/pipeline.d.ts +5 -0
  14. package/dist/assemble/pipeline.js +58 -12
  15. package/dist/assemble/pipeline.js.map +1 -1
  16. package/dist/assemble/schema.js.map +1 -1
  17. package/dist/commands/agent.d.ts +5 -1
  18. package/dist/commands/agent.js +214 -7
  19. package/dist/commands/agent.js.map +1 -1
  20. package/dist/commands/apply.d.ts +1 -0
  21. package/dist/commands/apply.js +1 -0
  22. package/dist/commands/apply.js.map +1 -1
  23. package/dist/commands/config.js +39 -13
  24. package/dist/commands/config.js.map +1 -1
  25. package/dist/commands/create.js +1 -7
  26. package/dist/commands/create.js.map +1 -1
  27. package/dist/commands/default.js +1 -2
  28. package/dist/commands/default.js.map +1 -1
  29. package/dist/commands/dev/lint.d.ts +3 -0
  30. package/dist/commands/dev/lint.js +82 -0
  31. package/dist/commands/dev/lint.js.map +1 -0
  32. package/dist/commands/doctor.js +11 -14
  33. package/dist/commands/doctor.js.map +1 -1
  34. package/dist/commands/install.js +4 -1
  35. package/dist/commands/install.js.map +1 -1
  36. package/dist/commands/status.d.ts +27 -0
  37. package/dist/commands/status.js +9 -8
  38. package/dist/commands/status.js.map +1 -1
  39. package/dist/commands/update-template.js.map +1 -1
  40. package/dist/commands/update.d.ts +2 -0
  41. package/dist/commands/update.js +51 -6
  42. package/dist/commands/update.js.map +1 -1
  43. package/dist/commands/watch.d.ts +5 -0
  44. package/dist/commands/watch.js +128 -0
  45. package/dist/commands/watch.js.map +1 -0
  46. package/dist/constants/paths.d.ts +1 -0
  47. package/dist/constants/paths.js +3 -5
  48. package/dist/constants/paths.js.map +1 -1
  49. package/dist/core/assets.js.map +1 -1
  50. package/dist/core/dependency-plan.d.ts +9 -0
  51. package/dist/core/dependency-plan.js +31 -0
  52. package/dist/core/dependency-plan.js.map +1 -1
  53. package/dist/core/drift.js.map +1 -1
  54. package/dist/core/env-file.js +2 -5
  55. package/dist/core/env-file.js.map +1 -1
  56. package/dist/core/layer-lint.d.ts +15 -0
  57. package/dist/core/layer-lint.js +165 -0
  58. package/dist/core/layer-lint.js.map +1 -0
  59. package/dist/core/module-closure.d.ts +18 -0
  60. package/dist/core/module-closure.js +71 -0
  61. package/dist/core/module-closure.js.map +1 -0
  62. package/dist/core/module-manifest.d.ts +4 -0
  63. package/dist/core/module-manifest.js +24 -0
  64. package/dist/core/module-manifest.js.map +1 -1
  65. package/dist/core/modules-state.js +3 -9
  66. package/dist/core/modules-state.js.map +1 -1
  67. package/dist/core/prisma-schema.js +1 -4
  68. package/dist/core/prisma-schema.js.map +1 -1
  69. package/dist/core/semver.js +1 -3
  70. package/dist/core/semver.js.map +1 -1
  71. package/dist/core/template-sync.js +1 -2
  72. package/dist/core/template-sync.js.map +1 -1
  73. package/dist/core/unified-diff.js +1 -4
  74. package/dist/core/unified-diff.js.map +1 -1
  75. package/dist/index.js +71 -61
  76. package/dist/index.js.map +1 -1
  77. package/dist/lib/check.js.map +1 -1
  78. package/dist/lib/cli-runner.d.ts +1 -0
  79. package/dist/lib/cli-runner.js +26 -0
  80. package/dist/lib/cli-runner.js.map +1 -0
  81. package/dist/lib/drift.js +1 -8
  82. package/dist/lib/drift.js.map +1 -1
  83. package/dist/lib/exec.js.map +1 -1
  84. package/dist/lib/fs-util.js.map +1 -1
  85. package/dist/lib/issues.js.map +1 -1
  86. package/dist/lib/loading.js.map +1 -1
  87. package/dist/lib/module-cli.d.ts +13 -0
  88. package/dist/lib/module-cli.js +65 -0
  89. package/dist/lib/module-cli.js.map +1 -0
  90. package/dist/lib/module-install.js.map +1 -1
  91. package/dist/lib/modules-state.js.map +1 -1
  92. package/dist/lib/registry.js +5 -40
  93. package/dist/lib/registry.js.map +1 -1
  94. package/dist/lib/version.d.ts +1 -1
  95. package/dist/lib/version.js +2 -16
  96. package/dist/lib/version.js.map +1 -1
  97. package/dist/public.d.ts +9 -0
  98. package/dist/public.js +21 -0
  99. package/dist/public.js.map +1 -0
  100. package/package.json +7 -5
  101. package/dist/commands/check.d.ts +0 -2
  102. package/dist/commands/check.js +0 -37
  103. package/dist/commands/check.js.map +0 -1
  104. package/dist/commands/env.d.ts +0 -7
  105. package/dist/commands/env.js +0 -324
  106. package/dist/commands/env.js.map +0 -1
  107. package/dist/lib/env-tool-config.d.ts +0 -17
  108. package/dist/lib/env-tool-config.js +0 -32
  109. package/dist/lib/env-tool-config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare function readCliVersion(): string;
1
+ export declare const CLI_VERSION: string;
@@ -1,19 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readCliVersion = readCliVersion;
7
- const node_fs_1 = __importDefault(require("node:fs"));
8
- const node_path_1 = __importDefault(require("node:path"));
9
- function readCliVersion() {
10
- try {
11
- const pkgPath = node_path_1.default.join(__dirname, "..", "..", "package.json");
12
- const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgPath, "utf8"));
13
- return typeof pkg.version === "string" ? pkg.version : "0.0.0";
14
- }
15
- catch {
16
- return "0.0.0";
17
- }
18
- }
3
+ exports.CLI_VERSION = void 0;
4
+ exports.CLI_VERSION = require("../../package.json").version;
19
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":";;;;;AAUA,wCAUC;AApBD,sDAAyB;AACzB,0DAA6B;AAS7B,SAAgB,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAEtD,CAAC;QACF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":";;;AAKa,QAAA,WAAW,GAAI,OAAO,CAAC,oBAAoB,CAAyB,CAAC,OAAO,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { CliError, isUserCancellation } from "./lib/errors";
2
+ export { IssueBag } from "./lib/issues";
3
+ export type { EnvLine } from "./core/env-file";
4
+ export { envValues, parseEnv, serializeEnv } from "./core/env-file";
5
+ export { ENV_PATH, ENV_TOOL_CONFIG_CANDIDATES } from "./constants/paths";
6
+ export { execCapture, execLive } from "./lib/exec";
7
+ export type { ExecResult } from "./lib/exec";
8
+ export type { GlobalOptions } from "./commands/shared";
9
+ export { run } from "./lib/cli-runner";
package/dist/public.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run = exports.execLive = exports.execCapture = exports.ENV_TOOL_CONFIG_CANDIDATES = exports.ENV_PATH = exports.serializeEnv = exports.parseEnv = exports.envValues = exports.IssueBag = exports.isUserCancellation = exports.CliError = void 0;
4
+ var errors_1 = require("./lib/errors");
5
+ Object.defineProperty(exports, "CliError", { enumerable: true, get: function () { return errors_1.CliError; } });
6
+ Object.defineProperty(exports, "isUserCancellation", { enumerable: true, get: function () { return errors_1.isUserCancellation; } });
7
+ var issues_1 = require("./lib/issues");
8
+ Object.defineProperty(exports, "IssueBag", { enumerable: true, get: function () { return issues_1.IssueBag; } });
9
+ var env_file_1 = require("./core/env-file");
10
+ Object.defineProperty(exports, "envValues", { enumerable: true, get: function () { return env_file_1.envValues; } });
11
+ Object.defineProperty(exports, "parseEnv", { enumerable: true, get: function () { return env_file_1.parseEnv; } });
12
+ Object.defineProperty(exports, "serializeEnv", { enumerable: true, get: function () { return env_file_1.serializeEnv; } });
13
+ var paths_1 = require("./constants/paths");
14
+ Object.defineProperty(exports, "ENV_PATH", { enumerable: true, get: function () { return paths_1.ENV_PATH; } });
15
+ Object.defineProperty(exports, "ENV_TOOL_CONFIG_CANDIDATES", { enumerable: true, get: function () { return paths_1.ENV_TOOL_CONFIG_CANDIDATES; } });
16
+ var exec_1 = require("./lib/exec");
17
+ Object.defineProperty(exports, "execCapture", { enumerable: true, get: function () { return exec_1.execCapture; } });
18
+ Object.defineProperty(exports, "execLive", { enumerable: true, get: function () { return exec_1.execLive; } });
19
+ var cli_runner_1 = require("./lib/cli-runner");
20
+ Object.defineProperty(exports, "run", { enumerable: true, get: function () { return cli_runner_1.run; } });
21
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":";;;AAYA,uCAA4D;AAAnD,kGAAA,QAAQ,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AACrC,uCAAwC;AAA/B,kGAAA,QAAQ,OAAA;AAEjB,4CAAoE;AAA3D,qGAAA,SAAS,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC1C,2CAAyE;AAAhE,iGAAA,QAAQ,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAC7C,mCAAmD;AAA1C,mGAAA,WAAW,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAG9B,+CAAuC;AAA9B,iGAAA,GAAG,OAAA"}
package/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "@devbie/newbie-cli",
3
- "version": "0.1.0-stage.0",
3
+ "version": "0.1.0",
4
4
  "description": "newbie backend framework CLI",
5
5
  "license": "MIT",
6
6
  "author": "worldzhy",
7
7
  "bin": {
8
8
  "newbie": "dist/index.js"
9
9
  },
10
+ "exports": {
11
+ "./lib": "./dist/public.js"
12
+ },
10
13
  "files": [
11
14
  "dist"
12
15
  ],
@@ -15,22 +18,21 @@
15
18
  },
16
19
  "scripts": {
17
20
  "build": "tsc -p tsconfig.json && chmod +x dist/index.js",
18
- "clean": "rimraf dist",
21
+ "clean": "rimraf dist tsconfig.tsbuildinfo",
19
22
  "test": "node --import tsx --test test/*.test.ts",
20
23
  "prepublishOnly": "npm run build"
21
24
  },
22
25
  "dependencies": {
23
- "@aws-sdk/client-secrets-manager": "^3.0.0",
24
26
  "@inquirer/prompts": "^7.0.0",
25
27
  "colorette": "^2.0.20",
26
28
  "commander": "^12.1.0",
27
- "figlet": "^1.7.0"
29
+ "figlet": "^1.7.0",
30
+ "tsx": "^4.19.0"
28
31
  },
29
32
  "devDependencies": {
30
33
  "@types/figlet": "^1.5.8",
31
34
  "@types/node": "^22.0.0",
32
35
  "rimraf": "^6.1.3",
33
- "tsx": "^4.19.0",
34
36
  "typescript": "^5.9.3"
35
37
  },
36
38
  "engines": {
@@ -1,2 +0,0 @@
1
- import { GlobalOptions } from "./shared";
2
- export declare function runCheck(options: GlobalOptions): Promise<void>;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runCheck = runCheck;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const figlet_1 = __importDefault(require("figlet"));
9
- const colorette_1 = require("colorette");
10
- const check_1 = require("../lib/check");
11
- const errors_1 = require("../lib/errors");
12
- const modules_state_1 = require("../lib/modules-state");
13
- const modules_state_2 = require("../core/modules-state");
14
- async function runCheck(options) {
15
- console.info(figlet_1.default.textSync("Newbie", {
16
- font: "Epic",
17
- width: 80,
18
- whitespaceBreak: true,
19
- }));
20
- console.info("Checking environment variables...\n");
21
- const cwd = node_path_1.default.resolve(options.cwd);
22
- const state = await (0, modules_state_1.readModulesState)(cwd);
23
- const missing = await (0, check_1.collectMissingEnv)(cwd, (0, modules_state_2.moduleKeys)(state));
24
- const groups = Object.keys(missing);
25
- if (groups.length === 0) {
26
- console.info((0, colorette_1.green)("[info] All environment variables are set."));
27
- return;
28
- }
29
- for (const moduleName of groups) {
30
- console.info((0, colorette_1.yellow)(`Module ${moduleName} missing:`));
31
- for (const key of missing[moduleName])
32
- console.info((0, colorette_1.red)(` ${key}`));
33
- console.info("");
34
- }
35
- throw new errors_1.CliError(`${groups.length} module(s) have missing environment variables.`);
36
- }
37
- //# sourceMappingURL=check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":";;;;;AAWA,4BA6BC;AAxCD,0DAA6B;AAC7B,oDAA4B;AAC5B,yCAA+C;AAE/C,wCAAiD;AACjD,0CAAyC;AACzC,wDAAwD;AACxD,yDAAmD;AAI5C,KAAK,UAAU,QAAQ,CAAC,OAAsB;IACnD,OAAO,CAAC,IAAI,CACV,gBAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACxB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,EAAE;QACT,eAAe,EAAE,IAAI;KACtB,CAAC,CACH,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,IAAA,gCAAgB,EAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAiB,EAAC,GAAG,EAAE,IAAA,0BAAU,EAAC,KAAK,CAAC,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,IAAA,iBAAK,EAAC,2CAA2C,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,IAAA,kBAAM,EAAC,UAAU,UAAU,WAAW,CAAC,CAAC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAA,eAAG,EAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,iBAAQ,CAChB,GAAG,MAAM,CAAC,MAAM,gDAAgD,CACjE,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import { GlobalOptions } from "./shared";
2
- export interface EnvCommandOptions extends GlobalOptions {
3
- environment?: string;
4
- yes?: boolean;
5
- }
6
- export declare function runEnvPull(options: EnvCommandOptions): Promise<void>;
7
- export declare function runEnvPush(options: EnvCommandOptions): Promise<void>;
@@ -1,324 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runEnvPull = runEnvPull;
7
- exports.runEnvPush = runEnvPush;
8
- const promises_1 = __importDefault(require("node:fs/promises"));
9
- const node_path_1 = __importDefault(require("node:path"));
10
- const prompts_1 = require("@inquirer/prompts");
11
- const colorette_1 = require("colorette");
12
- const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
13
- const env_file_1 = require("../core/env-file");
14
- const paths_1 = require("../constants/paths");
15
- const errors_1 = require("../lib/errors");
16
- const issues_1 = require("../lib/issues");
17
- const env_tool_config_1 = require("../lib/env-tool-config");
18
- const PLACEHOLDER = "<PLEASE_SET_THIS_VALUE>";
19
- function createAwsClient(region) {
20
- return new client_secrets_manager_1.SecretsManagerClient({
21
- region,
22
- credentials: process.env.AWS_ACCESS_KEY_ID
23
- ? {
24
- accessKeyId: process.env.AWS_ACCESS_KEY_ID,
25
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY ?? "",
26
- }
27
- : undefined,
28
- });
29
- }
30
- function printCredentialHint() {
31
- if (process.env.AWS_ACCESS_KEY_ID || process.env.AWS_SECRET_ACCESS_KEY)
32
- return;
33
- if (process.env.AWS_PROFILE) {
34
- console.info((0, colorette_1.cyan)(`ℹ️ Using AWS Profile: ${(0, colorette_1.bold)(process.env.AWS_PROFILE)}\n`));
35
- }
36
- else {
37
- console.info((0, colorette_1.cyan)("ℹ️ No AWS credentials in env; falling back to SSO/login, ~/.aws/credentials or IAM role.\n"));
38
- }
39
- }
40
- async function pickEnvironment(config, preselected) {
41
- const names = Object.keys(config.environments);
42
- if (preselected) {
43
- if (!names.includes(preselected)) {
44
- throw new errors_1.CliError(`Unknown environment '${preselected}'. Available: ${names.join(", ")}`);
45
- }
46
- return preselected;
47
- }
48
- return (0, prompts_1.select)({
49
- message: "Select env set:",
50
- choices: names.map((name) => ({ name, value: name })),
51
- });
52
- }
53
- function setEntry(lines, key, value) {
54
- for (const line of lines) {
55
- if (line.kind === "entry" && line.key === key) {
56
- line.value = value;
57
- return;
58
- }
59
- }
60
- lines.push({ kind: "entry", key, value });
61
- }
62
- function parseSecret(secret, secretConfig) {
63
- const envVars = {};
64
- const keysOnlyVars = {};
65
- const placeholderKeys = [];
66
- const data = JSON.parse(secret);
67
- const picked = secretConfig.keys && secretConfig.keys.length > 0
68
- ? secretConfig.keys
69
- : Object.keys(data);
70
- for (const key of picked) {
71
- if (!Object.prototype.hasOwnProperty.call(data, key))
72
- continue;
73
- const value = String(data[key]);
74
- envVars[key] = value;
75
- if (value === PLACEHOLDER)
76
- placeholderKeys.push(key);
77
- }
78
- for (const key of secretConfig.keysOnly ?? []) {
79
- if (Object.prototype.hasOwnProperty.call(data, key)) {
80
- delete envVars[key];
81
- keysOnlyVars[key] = PLACEHOLDER;
82
- }
83
- }
84
- return { envVars, keysOnlyVars, placeholderKeys };
85
- }
86
- async function runEnvPull(options) {
87
- const { config: toolConfig, path: configPath } = await (0, env_tool_config_1.readEnvToolConfig)(options.cwd);
88
- const issues = new issues_1.IssueBag();
89
- const envName = await pickEnvironment(toolConfig, options.environment);
90
- const envConfig = toolConfig.environments[envName];
91
- printCredentialHint();
92
- const client = createAwsClient(envConfig.region);
93
- const pulled = {};
94
- const keysOnly = {};
95
- const placeholderKeys = [];
96
- console.info((0, colorette_1.cyan)("📥 Pulling secrets...\n"));
97
- for (const secretConfig of envConfig.secrets) {
98
- try {
99
- console.info(` Pulling: ${secretConfig.name}`);
100
- const response = await client.send(new client_secrets_manager_1.GetSecretValueCommand({ SecretId: secretConfig.name }));
101
- const secretString = response.SecretString ??
102
- new TextDecoder().decode(response.SecretBinary);
103
- const parsed = parseSecret(secretString, secretConfig);
104
- Object.assign(pulled, parsed.envVars);
105
- Object.assign(keysOnly, parsed.keysOnlyVars);
106
- placeholderKeys.push(...parsed.placeholderKeys);
107
- console.info((0, colorette_1.green)(` ✓ ${Object.keys(parsed.envVars).length + Object.keys(parsed.keysOnlyVars).length} variables\n`));
108
- }
109
- catch (error) {
110
- issues.warn(`Failed to pull ${secretConfig.name}: ${error.message}`);
111
- }
112
- }
113
- const envTarget = node_path_1.default.resolve(options.cwd, paths_1.ENV_PATH);
114
- let raw = "";
115
- try {
116
- raw = await promises_1.default.readFile(envTarget, "utf8");
117
- }
118
- catch {
119
- }
120
- const lines = (0, env_file_1.parseEnv)(raw);
121
- const existing = (0, env_file_1.envValues)(lines);
122
- for (const [key, newValue] of Object.entries(pulled)) {
123
- if (key in existing && existing[key] !== newValue) {
124
- let overwrite = false;
125
- if (!options.yes && !options.dryRun && process.stdin.isTTY) {
126
- overwrite = await (0, prompts_1.confirm)({
127
- message: `${key} differs from AWS value. Overwrite?`,
128
- default: false,
129
- });
130
- }
131
- if (overwrite)
132
- setEntry(lines, key, newValue);
133
- }
134
- else if (!(key in existing)) {
135
- setEntry(lines, key, newValue);
136
- }
137
- }
138
- const addedKeysOnly = [];
139
- for (const [key, value] of Object.entries(keysOnly)) {
140
- if (!(key in existing)) {
141
- setEntry(lines, key, value);
142
- addedKeysOnly.push(key);
143
- }
144
- }
145
- const next = (0, env_file_1.serializeEnv)(lines);
146
- if (next === raw) {
147
- console.info((0, colorette_1.cyan)("[info] .env is already up to date."));
148
- }
149
- else if (options.dryRun) {
150
- console.info((0, colorette_1.yellow)(`[dry-run] would update ${paths_1.ENV_PATH} (config: ${configPath})`));
151
- }
152
- else {
153
- let shouldWrite = options.yes ?? false;
154
- if (!shouldWrite && process.stdin.isTTY) {
155
- shouldWrite = await (0, prompts_1.confirm)({
156
- message: "Write environment variables to .env?",
157
- default: true,
158
- });
159
- }
160
- if (!shouldWrite) {
161
- console.info((0, colorette_1.yellow)("Write cancelled"));
162
- return;
163
- }
164
- await promises_1.default.writeFile(envTarget, next, "utf8");
165
- console.info((0, colorette_1.green)(`✓ Updated ${paths_1.ENV_PATH}`));
166
- }
167
- const placeholders = [...new Set([...placeholderKeys, ...addedKeysOnly])];
168
- if (placeholders.length > 0) {
169
- console.info((0, colorette_1.yellow)(`\n⚠️ Placeholder variables needing manual values: ${placeholders.join(", ")}`));
170
- }
171
- issues.assertEmpty();
172
- console.info((0, colorette_1.bold)((0, colorette_1.green)("🍺 Done!\n")));
173
- }
174
- async function secretExists(client, name) {
175
- try {
176
- await client.send(new client_secrets_manager_1.DescribeSecretCommand({ SecretId: name }));
177
- return true;
178
- }
179
- catch (error) {
180
- if (error.name === "ResourceNotFoundException")
181
- return false;
182
- throw error;
183
- }
184
- }
185
- async function getExistingSecret(client, name) {
186
- try {
187
- const response = await client.send(new client_secrets_manager_1.GetSecretValueCommand({ SecretId: name }));
188
- return response.SecretString
189
- ? JSON.parse(response.SecretString)
190
- : {};
191
- }
192
- catch (error) {
193
- if (error.name === "ResourceNotFoundException")
194
- return null;
195
- throw error;
196
- }
197
- }
198
- async function runEnvPush(options) {
199
- const { config: toolConfig } = await (0, env_tool_config_1.readEnvToolConfig)(options.cwd);
200
- const envName = await pickEnvironment(toolConfig, options.environment);
201
- const envConfig = toolConfig.environments[envName];
202
- printCredentialHint();
203
- const envTarget = node_path_1.default.resolve(options.cwd, paths_1.ENV_PATH);
204
- let raw;
205
- try {
206
- raw = await promises_1.default.readFile(envTarget, "utf8");
207
- }
208
- catch {
209
- throw new errors_1.CliError(`${paths_1.ENV_PATH} not found; nothing to push.`);
210
- }
211
- const localEnv = (0, env_file_1.envValues)((0, env_file_1.parseEnv)(raw));
212
- const client = createAwsClient(envConfig.region);
213
- for (const secretConfig of envConfig.secrets) {
214
- console.info((0, colorette_1.cyan)(`\n📦 Secret: ${(0, colorette_1.bold)(secretConfig.name)}`));
215
- let keys = secretConfig.keys ?? [];
216
- if (keys.length === 0) {
217
- if (!process.stdin.isTTY) {
218
- throw new errors_1.CliError(`Secret ${secretConfig.name} has no "keys" list and cannot prompt in non-interactive mode.`);
219
- }
220
- keys = await (0, prompts_1.checkbox)({
221
- message: `Select variables to push to ${secretConfig.name}:`,
222
- choices: Object.keys(localEnv).map((key) => ({
223
- value: key,
224
- name: key,
225
- })),
226
- pageSize: 15,
227
- });
228
- if (keys.length === 0) {
229
- console.info((0, colorette_1.yellow)(" - No variables selected, skipping"));
230
- continue;
231
- }
232
- }
233
- const valuesToPush = {};
234
- for (const key of keys) {
235
- if (key in localEnv)
236
- valuesToPush[key] = localEnv[key];
237
- else
238
- console.warn((0, colorette_1.yellow)(` ⚠️ ${key} not found in ${paths_1.ENV_PATH}`));
239
- }
240
- const preserveKeysOnly = new Set();
241
- if ((secretConfig.keysOnly ?? []).length > 0) {
242
- const existing = (await secretExists(client, secretConfig.name))
243
- ? await getExistingSecret(client, secretConfig.name)
244
- : null;
245
- for (const key of secretConfig.keysOnly ?? []) {
246
- if (!existing || !(key in existing)) {
247
- valuesToPush[key] = PLACEHOLDER;
248
- }
249
- else {
250
- preserveKeysOnly.add(key);
251
- }
252
- }
253
- }
254
- if (Object.keys(valuesToPush).length === 0) {
255
- console.info((0, colorette_1.yellow)(" - Nothing to push, skipping"));
256
- continue;
257
- }
258
- const exists = await secretExists(client, secretConfig.name);
259
- if (exists) {
260
- const existing = (await getExistingSecret(client, secretConfig.name)) ?? {};
261
- const added = [];
262
- const modified = [];
263
- for (const [key, value] of Object.entries(valuesToPush)) {
264
- if (!(key in existing))
265
- added.push(key);
266
- else if (existing[key] !== value && value !== PLACEHOLDER)
267
- modified.push(key);
268
- }
269
- if (added.length === 0 && modified.length === 0) {
270
- console.info((0, colorette_1.cyan)(" ℹ️ No changes, skipping"));
271
- continue;
272
- }
273
- console.info((0, colorette_1.green)(` added: ${added.join(", ") || "(none)"}`));
274
- console.info((0, colorette_1.yellow)(` modified: ${modified.join(", ") || "(none)"}`));
275
- if (options.dryRun) {
276
- console.info((0, colorette_1.yellow)(" [dry-run] would update secret"));
277
- continue;
278
- }
279
- const confirmed = options.yes ||
280
- (process.stdin.isTTY &&
281
- (await (0, prompts_1.confirm)({
282
- message: `Update ${secretConfig.name}?`,
283
- default: true,
284
- })));
285
- if (!confirmed)
286
- continue;
287
- const merged = { ...existing };
288
- for (const [key, value] of Object.entries(valuesToPush)) {
289
- if (value === PLACEHOLDER &&
290
- preserveKeysOnly.has(key) &&
291
- key in existing)
292
- continue;
293
- merged[key] = value;
294
- }
295
- await client.send(new client_secrets_manager_1.UpdateSecretCommand({
296
- SecretId: secretConfig.name,
297
- SecretString: JSON.stringify(merged, null, 2),
298
- }));
299
- console.info((0, colorette_1.green)(` ✓ Updated ${secretConfig.name}`));
300
- }
301
- else {
302
- if (options.dryRun) {
303
- console.info((0, colorette_1.yellow)(" [dry-run] would create secret"));
304
- continue;
305
- }
306
- const confirmed = options.yes ||
307
- (process.stdin.isTTY &&
308
- (await (0, prompts_1.confirm)({
309
- message: `Create new secret ${secretConfig.name}?`,
310
- default: true,
311
- })));
312
- if (!confirmed)
313
- continue;
314
- await client.send(new client_secrets_manager_1.CreateSecretCommand({
315
- Name: secretConfig.name,
316
- Description: secretConfig.description || "Created by newbie env tool",
317
- SecretString: JSON.stringify(valuesToPush, null, 2),
318
- }));
319
- console.info((0, colorette_1.green)(` ✓ Created ${secretConfig.name}`));
320
- }
321
- }
322
- console.info((0, colorette_1.bold)((0, colorette_1.green)("\n🍺 Done!\n")));
323
- }
324
- //# sourceMappingURL=env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- export interface SecretConfig {
2
- name: string;
3
- description?: string;
4
- keys?: string[];
5
- keysOnly?: string[];
6
- }
7
- export interface EnvironmentConfig {
8
- region: string;
9
- secrets: SecretConfig[];
10
- }
11
- export interface EnvToolConfig {
12
- environments: Record<string, EnvironmentConfig>;
13
- }
14
- export declare function readEnvToolConfig(cwd: string): Promise<{
15
- config: EnvToolConfig;
16
- path: string;
17
- }>;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readEnvToolConfig = readEnvToolConfig;
7
- const promises_1 = __importDefault(require("node:fs/promises"));
8
- const node_path_1 = __importDefault(require("node:path"));
9
- const paths_1 = require("../constants/paths");
10
- const errors_1 = require("./errors");
11
- async function readEnvToolConfig(cwd) {
12
- for (const candidate of paths_1.ENV_TOOL_CONFIG_CANDIDATES) {
13
- const target = node_path_1.default.resolve(cwd, candidate);
14
- try {
15
- const raw = await promises_1.default.readFile(target, "utf8");
16
- const parsed = JSON.parse(raw);
17
- if (!parsed.environments || typeof parsed.environments !== "object") {
18
- throw new errors_1.CliError(`Invalid env-tool config ${candidate}: missing "environments".`);
19
- }
20
- return { config: parsed, path: candidate };
21
- }
22
- catch (error) {
23
- if (error.code === "ENOENT")
24
- continue;
25
- if (error instanceof errors_1.CliError)
26
- throw error;
27
- throw new errors_1.CliError(`Cannot parse env-tool config ${candidate}: ${error.message}`);
28
- }
29
- }
30
- throw new errors_1.CliError(`Env tool config not found. Looked at: ${paths_1.ENV_TOOL_CONFIG_CANDIDATES.join(", ")}`);
31
- }
32
- //# sourceMappingURL=env-tool-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env-tool-config.js","sourceRoot":"","sources":["../../src/lib/env-tool-config.ts"],"names":[],"mappings":";;;;;AAwBA,8CA0BC;AAlDD,gEAAkC;AAClC,0DAA6B;AAE7B,8CAAgE;AAChE,qCAAoC;AAoB7B,KAAK,UAAU,iBAAiB,CACrC,GAAW;IAEX,KAAK,MAAM,SAAS,IAAI,kCAA0B,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACpE,MAAM,IAAI,iBAAQ,CAChB,2BAA2B,SAAS,2BAA2B,CAChE,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACjE,IAAI,KAAK,YAAY,iBAAQ;gBAAE,MAAM,KAAK,CAAC;YAC3C,MAAM,IAAI,iBAAQ,CAChB,gCAAgC,SAAS,KAAM,KAAe,CAAC,OAAO,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,iBAAQ,CAChB,yCAAyC,kCAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;AACJ,CAAC"}