@mono-labs/cli 0.0.248 → 0.1.251

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 ADDED
@@ -0,0 +1,92 @@
1
+ # @mono-labs/cli
2
+
3
+ The CLI runtime for Mono. Reads `.mono/` JSON command definitions and executes them with environment management, token replacement, and process orchestration.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ yarn add -D @mono-labs/cli
9
+ ```
10
+
11
+ This makes the `mono` binary available in your project:
12
+
13
+ ```bash
14
+ yarn mono <command> [argument] [--options]
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ```bash
20
+ # Run a command defined in .mono/dev.json
21
+ yarn mono dev
22
+
23
+ # Pass an argument
24
+ yarn mono deploy stage
25
+
26
+ # Use options
27
+ yarn mono deploy --region us-west-2
28
+
29
+ # Run a workspace command (falls back to yarn workspace)
30
+ yarn mono web dev
31
+
32
+ # Built-in tools
33
+ yarn mono tools prune
34
+
35
+ # Config management
36
+ yarn mono config list
37
+ ```
38
+
39
+ ## Exports
40
+
41
+ The package provides the following export:
42
+
43
+ | Export | Description |
44
+ |--------|-------------|
45
+ | `@mono-labs/cli` | Core utilities: `setData`, `getData`, `mergeData`, `hasData`, `replaceTokens`, `boot`, `getMonoConfig`, `getRootDirectory`, `getRootJson`, `buildCommands`, `runMonoCommand`, `verifyOptionValue` |
46
+
47
+ ### Core API
48
+
49
+ ```typescript
50
+ import {
51
+ setData,
52
+ getData,
53
+ mergeData,
54
+ hasData,
55
+ replaceTokens,
56
+ } from "@mono-labs/cli";
57
+ ```
58
+
59
+ **Data Layer** -- Shared key-value store used during command execution:
60
+
61
+ - `setData(key, value)` -- Set a value
62
+ - `getData(key?)` -- Get a value (or all data if no key)
63
+ - `mergeData(obj)` -- Merge an object into the data layer
64
+ - `hasData(key)` -- Check if a key exists
65
+
66
+ **Token Replacement:**
67
+
68
+ - `replaceTokens(str, env)` -- Replace `${key}` and `$KEY` patterns in a string using the data layer and environment
69
+
70
+ ### Types
71
+
72
+ ```typescript
73
+ import type {
74
+ MonoConfig,
75
+ OptionConfig,
76
+ CommandConfig,
77
+ MonoFiles,
78
+ BootResult
79
+ } from "@mono-labs/cli";
80
+ ```
81
+
82
+ ## Development
83
+
84
+ Build the CLI package:
85
+
86
+ ```bash
87
+ yarn build:cli
88
+ ```
89
+
90
+ The binary entry point is `bin/mono.js`, which loads `dist/lib/index.js`. The command system is built on [Commander.js](https://github.com/tj/commander.js/).
91
+
92
+ See the [Contributing guide](../../CONTRIBUTING.md) for full development setup.
package/dist/index.d.ts CHANGED
@@ -36,22 +36,15 @@ export type BootResult = {
36
36
  files: MonoFiles;
37
37
  config: MonoConfig;
38
38
  };
39
- export { generateNewEnvList } from './lib/generateNewEnvList';
40
- export { filterUnwantedEnvVars, filterUnwantedEnvVarsEAS } from './lib/filterUnwantedEnvVars';
41
39
  export { replaceTokens, setData, mergeData, getData, hasData, } from './lib/commands/build-process/dataLayer';
42
40
  export { boot } from './lib/commands/build-process/boot';
43
41
  export { getMonoConfig, getRootDirectory, getRootJson } from './lib/commands/loadFromRoot';
44
42
  export { buildCommands } from './lib/commands/build-process/cliFactory';
45
43
  export { runMonoCommand } from './lib/commands/build-process/runMonoCommand';
46
44
  export { verifyOptionValue } from './lib/commands/build-process/validators';
47
- import { generateNewEnvList } from './lib/generateNewEnvList';
48
- import { filterUnwantedEnvVars, filterUnwantedEnvVarsEAS } from './lib/filterUnwantedEnvVars';
49
45
  import { replaceTokens } from './lib/commands/build-process/dataLayer';
50
46
  declare const _default: {
51
47
  replaceTokens: typeof replaceTokens;
52
- generateNewEnvList: typeof generateNewEnvList;
53
- filterUnwantedEnvVars: typeof filterUnwantedEnvVars;
54
- filterUnwantedEnvVarsEAS: typeof filterUnwantedEnvVarsEAS;
55
48
  };
56
49
  export default _default;
57
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACpC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KACtB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC/B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAErD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAC7F,OAAO,EACL,aAAa,EACb,OAAO,EACP,SAAS,EACT,OAAO,EACP,OAAO,GACR,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAE3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;;;;;;;AAGtE,wBAKC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACpC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KACtB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC/B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAErD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,OAAO,EACL,aAAa,EACb,OAAO,EACP,SAAS,EACT,OAAO,EACP,OAAO,GACR,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;;;;AAGtE,wBAEC"}
package/dist/index.js CHANGED
@@ -1,12 +1,7 @@
1
1
  "use strict";
2
2
  // Main entry point for @mono-labs/cli package
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.verifyOptionValue = exports.runMonoCommand = exports.buildCommands = exports.getRootJson = exports.getRootDirectory = exports.getMonoConfig = exports.boot = exports.hasData = exports.getData = exports.mergeData = exports.setData = exports.replaceTokens = exports.filterUnwantedEnvVarsEAS = exports.filterUnwantedEnvVars = exports.generateNewEnvList = void 0;
5
- var generateNewEnvList_1 = require("./lib/generateNewEnvList");
6
- Object.defineProperty(exports, "generateNewEnvList", { enumerable: true, get: function () { return generateNewEnvList_1.generateNewEnvList; } });
7
- var filterUnwantedEnvVars_1 = require("./lib/filterUnwantedEnvVars");
8
- Object.defineProperty(exports, "filterUnwantedEnvVars", { enumerable: true, get: function () { return filterUnwantedEnvVars_1.filterUnwantedEnvVars; } });
9
- Object.defineProperty(exports, "filterUnwantedEnvVarsEAS", { enumerable: true, get: function () { return filterUnwantedEnvVars_1.filterUnwantedEnvVarsEAS; } });
4
+ exports.verifyOptionValue = exports.runMonoCommand = exports.buildCommands = exports.getRootJson = exports.getRootDirectory = exports.getMonoConfig = exports.boot = exports.hasData = exports.getData = exports.mergeData = exports.setData = exports.replaceTokens = void 0;
10
5
  var dataLayer_1 = require("./lib/commands/build-process/dataLayer");
11
6
  Object.defineProperty(exports, "replaceTokens", { enumerable: true, get: function () { return dataLayer_1.replaceTokens; } });
12
7
  Object.defineProperty(exports, "setData", { enumerable: true, get: function () { return dataLayer_1.setData; } });
@@ -25,13 +20,8 @@ var runMonoCommand_1 = require("./lib/commands/build-process/runMonoCommand");
25
20
  Object.defineProperty(exports, "runMonoCommand", { enumerable: true, get: function () { return runMonoCommand_1.runMonoCommand; } });
26
21
  var validators_1 = require("./lib/commands/build-process/validators");
27
22
  Object.defineProperty(exports, "verifyOptionValue", { enumerable: true, get: function () { return validators_1.verifyOptionValue; } });
28
- const generateNewEnvList_2 = require("./lib/generateNewEnvList");
29
- const filterUnwantedEnvVars_2 = require("./lib/filterUnwantedEnvVars");
30
23
  const dataLayer_2 = require("./lib/commands/build-process/dataLayer");
31
24
  // Default export for convenience
32
25
  exports.default = {
33
26
  replaceTokens: dataLayer_2.replaceTokens,
34
- generateNewEnvList: generateNewEnvList_2.generateNewEnvList,
35
- filterUnwantedEnvVars: filterUnwantedEnvVars_2.filterUnwantedEnvVars,
36
- filterUnwantedEnvVarsEAS: filterUnwantedEnvVars_2.filterUnwantedEnvVarsEAS,
37
27
  };
@@ -36,7 +36,7 @@ async function runMonoCommand(configObject, options = {}) {
36
36
  const envPath = node_path_1.default.resolve(process.cwd(), '.env');
37
37
  const keymap = (0, readEnv_1.parseEnvFile)(envPath);
38
38
  const prodConfig = configObject.environments?.prod ?? {};
39
- const awsProfile = process.env.CDK_DEPLOY_PROFILE || 'default';
39
+ const awsProfile = process.env.CDK_DEPLOY_PROFILE || process.env.AWS_PROFILE || 'default';
40
40
  const envObjBase = options.prod ? { ...prodConfig } : { ...devConfig };
41
41
  Object.keys(envObjBase).forEach((k) => {
42
42
  if (typeof envObjBase[k] === 'string' &&
@@ -1,2 +1,2 @@
1
- export { replaceTokens, setUpConfig, filterUnwantedEnvVarsEAS } from '@mono-labs/expo';
1
+ export { replaceTokens, setUpConfig } from '@mono-labs/expo';
2
2
  //# sourceMappingURL=expo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expo.d.ts","sourceRoot":"","sources":["../../src/expo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"expo.d.ts","sourceRoot":"","sources":["../../src/expo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
package/dist/src/expo.js CHANGED
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterUnwantedEnvVarsEAS = exports.setUpConfig = exports.replaceTokens = void 0;
3
+ exports.setUpConfig = exports.replaceTokens = void 0;
4
4
  // Backward-compatible re-export from @mono-labs/expo
5
5
  var expo_1 = require("@mono-labs/expo");
6
6
  Object.defineProperty(exports, "replaceTokens", { enumerable: true, get: function () { return expo_1.replaceTokens; } });
7
7
  Object.defineProperty(exports, "setUpConfig", { enumerable: true, get: function () { return expo_1.setUpConfig; } });
8
- Object.defineProperty(exports, "filterUnwantedEnvVarsEAS", { enumerable: true, get: function () { return expo_1.filterUnwantedEnvVarsEAS; } });
@@ -1,16 +1,11 @@
1
- import { filterUnwantedEnvVars, filterUnwantedEnvVarsEASExpo as filterUnwantedEnvVarsEAS, generateNewEnvList } from '@mono-labs/expo';
2
1
  type DataLayer = Record<string, unknown>;
3
2
  export declare function setData(key: string, value: unknown): void;
4
3
  export declare function mergeData(obj?: Record<string, unknown>): DataLayer;
5
4
  export declare function getData(key?: string): unknown;
6
5
  export declare function hasData(key: string): boolean;
7
6
  export declare function replaceTokens(str: unknown, env?: Record<string, string | undefined>): unknown;
8
- export { generateNewEnvList, filterUnwantedEnvVars, filterUnwantedEnvVarsEAS };
9
7
  declare const _default: {
10
- generateNewEnvList: typeof generateNewEnvList;
11
8
  replaceTokens: typeof replaceTokens;
12
- filterUnwantedEnvVars: typeof filterUnwantedEnvVars;
13
- filterUnwantedEnvVarsEAS: typeof filterUnwantedEnvVarsEAS;
14
9
  };
15
10
  export default _default;
16
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,4BAA4B,IAAI,wBAAwB,EACxD,kBAAkB,EACnB,MAAM,iBAAiB,CAAA;AAMxB,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAIxC,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAIzD;AAED,wBAAgB,SAAS,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,SAAS,CAGtE;AAED,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5C;AAMD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAoB7F;AAMD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,CAAA;;;;;;;AAE9E,wBAKC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAIxC,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAIzD;AAED,wBAAgB,SAAS,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,SAAS,CAGtE;AAED,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5C;AAMD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAoB7F;;;;AAMD,wBAEC"}
package/dist/src/index.js CHANGED
@@ -1,16 +1,11 @@
1
1
  "use strict";
2
2
  // Main entry point for @mono-labs/cli package
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.filterUnwantedEnvVarsEAS = exports.filterUnwantedEnvVars = exports.generateNewEnvList = void 0;
5
4
  exports.setData = setData;
6
5
  exports.mergeData = mergeData;
7
6
  exports.getData = getData;
8
7
  exports.hasData = hasData;
9
8
  exports.replaceTokens = replaceTokens;
10
- const expo_1 = require("@mono-labs/expo");
11
- Object.defineProperty(exports, "filterUnwantedEnvVars", { enumerable: true, get: function () { return expo_1.filterUnwantedEnvVars; } });
12
- Object.defineProperty(exports, "filterUnwantedEnvVarsEAS", { enumerable: true, get: function () { return expo_1.filterUnwantedEnvVarsEASExpo; } });
13
- Object.defineProperty(exports, "generateNewEnvList", { enumerable: true, get: function () { return expo_1.generateNewEnvList; } });
14
9
  const dataLayer = Object.create(null);
15
10
  function setData(key, value) {
16
11
  if (value !== undefined) {
@@ -48,9 +43,9 @@ function replaceTokens(str, env) {
48
43
  return '';
49
44
  });
50
45
  }
46
+ /* ------------------------------------------------------------------
47
+ * Exports
48
+ * ------------------------------------------------------------------ */
51
49
  exports.default = {
52
- generateNewEnvList: expo_1.generateNewEnvList,
53
50
  replaceTokens,
54
- filterUnwantedEnvVars: expo_1.filterUnwantedEnvVars,
55
- filterUnwantedEnvVarsEAS: expo_1.filterUnwantedEnvVarsEASExpo,
56
51
  };