@mono-labs/cli 0.0.237 → 0.0.242

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 (179) hide show
  1. package/bin/mono.js +1 -1
  2. package/dist/index.js +32 -51
  3. package/dist/lib/app.js +52 -0
  4. package/dist/lib/commands/build-process/boot.js +12 -0
  5. package/dist/lib/commands/build-process/cliFactory.js +145 -0
  6. package/dist/lib/commands/build-process/dataLayer.js +56 -0
  7. package/dist/lib/commands/build-process/index.js +11 -0
  8. package/dist/lib/commands/build-process/readEnv.js +34 -0
  9. package/dist/lib/commands/build-process/runMonoCommand.js +82 -0
  10. package/dist/lib/commands/build-process/runners/processManager.js +45 -0
  11. package/dist/lib/commands/build-process/runners/runBackground.js +46 -0
  12. package/dist/lib/commands/build-process/runners/runForeground.js +52 -0
  13. package/dist/lib/commands/build-process/test.js +32 -0
  14. package/dist/lib/commands/build-process/testflag.js +4 -0
  15. package/dist/lib/commands/build-process/validators.js +17 -0
  16. package/dist/lib/commands/loadFromRoot.js +53 -0
  17. package/dist/lib/commands/prune/index.js +10 -0
  18. package/dist/lib/commands/prune/prune.js +49 -0
  19. package/dist/lib/config.js +6 -0
  20. package/dist/lib/filterUnwantedEnvVars.js +88 -0
  21. package/dist/lib/generateNewEnvList.js +17 -0
  22. package/dist/lib/index.js +49 -0
  23. package/dist/src/cdk/cdk.js +6 -0
  24. package/dist/src/cdk/index.js +17 -0
  25. package/dist/{expo.js → src/expo.js} +18 -34
  26. package/dist/src/index.js +56 -0
  27. package/dist/src/merge-env.js +25 -0
  28. package/dist/{project → src/project}/build-mono-readme.js +11 -20
  29. package/dist/{project → src/project}/generate-readme.js +6 -13
  30. package/dist/{project → src/project}/index.js +4 -12
  31. package/dist/{stack.js → src/stack.js} +2 -2
  32. package/dist/src/tools.js +39 -0
  33. package/dist/types/index.d.ts +50 -9
  34. package/dist/types/lib/app.d.ts +3 -0
  35. package/dist/types/lib/commands/build-process/boot.d.ts +8 -0
  36. package/dist/types/lib/commands/build-process/cliFactory.d.ts +32 -0
  37. package/dist/types/lib/commands/build-process/dataLayer.d.ts +7 -0
  38. package/dist/types/lib/commands/build-process/readEnv.d.ts +1 -0
  39. package/dist/types/lib/commands/build-process/runMonoCommand.d.ts +10 -0
  40. package/dist/types/lib/commands/build-process/runners/processManager.d.ts +5 -0
  41. package/dist/types/lib/commands/build-process/runners/runBackground.d.ts +2 -0
  42. package/dist/types/lib/commands/build-process/runners/runForeground.d.ts +6 -0
  43. package/dist/types/lib/commands/build-process/test.d.ts +1 -0
  44. package/dist/types/lib/commands/build-process/testflag.d.ts +1 -0
  45. package/dist/types/lib/commands/build-process/validators.d.ts +1 -0
  46. package/dist/types/lib/commands/loadFromRoot.d.ts +7 -0
  47. package/dist/types/lib/commands/prune/prune.d.ts +1 -0
  48. package/dist/types/lib/config.d.ts +2 -0
  49. package/dist/types/lib/filterUnwantedEnvVars.d.ts +2 -0
  50. package/dist/types/lib/generateNewEnvList.d.ts +1 -0
  51. package/dist/types/lib/index.d.ts +2 -0
  52. package/dist/types/src/cdk/cdk.d.ts +1 -0
  53. package/dist/types/src/cdk/index.d.ts +1 -0
  54. package/dist/types/src/expo.d.ts +4 -0
  55. package/dist/types/src/index.d.ts +15 -0
  56. package/dist/types/src/project/build-mono-readme.d.ts +1 -0
  57. package/dist/types/src/project/generate-readme.d.ts +1 -0
  58. package/dist/types/{project → src/project}/index.d.ts +1 -1
  59. package/dist/types/src/project/merge-env.d.ts +1 -0
  60. package/dist/types/src/tools.d.ts +3 -0
  61. package/lib/app.d.ts +3 -0
  62. package/lib/app.ts +58 -0
  63. package/lib/commands/build-process/boot.d.ts +8 -0
  64. package/lib/commands/build-process/boot.ts +21 -0
  65. package/lib/commands/build-process/cliFactory.d.ts +32 -0
  66. package/lib/commands/build-process/cliFactory.ts +219 -0
  67. package/lib/commands/build-process/dataLayer.d.ts +7 -0
  68. package/lib/commands/build-process/dataLayer.ts +61 -0
  69. package/lib/commands/build-process/index.d.ts +1 -0
  70. package/lib/commands/build-process/index.ts +14 -0
  71. package/lib/commands/build-process/readEnv.d.ts +1 -0
  72. package/lib/commands/build-process/readEnv.ts +37 -0
  73. package/lib/commands/build-process/runMonoCommand.d.ts +10 -0
  74. package/lib/commands/build-process/runMonoCommand.ts +96 -0
  75. package/lib/commands/build-process/runners/processManager.d.ts +5 -0
  76. package/lib/commands/build-process/runners/processManager.ts +42 -0
  77. package/lib/commands/build-process/runners/runBackground.d.ts +2 -0
  78. package/lib/commands/build-process/runners/runBackground.ts +56 -0
  79. package/lib/commands/build-process/runners/runForeground.d.ts +6 -0
  80. package/lib/commands/build-process/runners/runForeground.ts +59 -0
  81. package/lib/commands/build-process/test.d.ts +1 -0
  82. package/lib/commands/build-process/test.ts +42 -0
  83. package/lib/commands/build-process/testflag.d.ts +1 -0
  84. package/lib/commands/build-process/testflag.ts +1 -0
  85. package/lib/commands/build-process/validators.d.ts +1 -0
  86. package/lib/commands/build-process/validators.ts +16 -0
  87. package/lib/commands/loadFromRoot.d.ts +7 -0
  88. package/lib/commands/loadFromRoot.ts +51 -0
  89. package/lib/commands/prune/index.d.ts +1 -0
  90. package/lib/commands/prune/index.ts +9 -0
  91. package/lib/commands/prune/prune.d.ts +1 -0
  92. package/lib/commands/prune/prune.ts +50 -0
  93. package/lib/config.d.ts +2 -0
  94. package/lib/filterUnwantedEnvVars.d.ts +2 -0
  95. package/lib/filterUnwantedEnvVars.ts +95 -0
  96. package/lib/generateNewEnvList.d.ts +1 -0
  97. package/lib/generateNewEnvList.ts +17 -0
  98. package/lib/index.d.ts +2 -0
  99. package/lib/index.ts +59 -0
  100. package/package.json +99 -84
  101. package/src/cdk/cdk.d.ts +1 -7
  102. package/src/cdk/cdk.ts +1 -0
  103. package/src/cdk/index.d.ts +1 -0
  104. package/src/cdk/index.ts +1 -0
  105. package/src/expo-files/filterUnwantedEnvVars.d.ts +3 -0
  106. package/src/expo-files/filterUnwantedEnvVars.ts +141 -144
  107. package/src/expo.d.ts +2 -9
  108. package/src/expo.ts +116 -0
  109. package/src/index.d.ts +22 -0
  110. package/src/index.ts +39 -42
  111. package/src/loadFromRoot.d.ts +32 -0
  112. package/src/merge-env.d.ts +1 -0
  113. package/src/merge-env.ts +24 -0
  114. package/src/project/build-mono-readme.d.ts +1 -0
  115. package/src/project/build-mono-readme.ts +460 -514
  116. package/src/project/build-readme.d.ts +2 -0
  117. package/src/project/generate-docs.d.ts +11 -0
  118. package/src/project/generate-readme.d.ts +1 -0
  119. package/src/project/generate-readme.ts +259 -284
  120. package/src/project/index.d.ts +45 -0
  121. package/src/project/index.ts +134 -144
  122. package/src/project/merge-env.d.ts +1 -0
  123. package/src/stack.d.ts +21 -0
  124. package/src/stack.ts +54 -55
  125. package/src/tools.d.ts +3 -4
  126. package/src/tools.ts +48 -0
  127. package/src/types/expo-config.d.ts +49 -0
  128. package/dist/cdk/index.js +0 -55
  129. package/dist/project/merge-env.js +0 -31
  130. package/dist/tools.js +0 -35
  131. package/dist/types/cdk/index.d.ts +0 -2
  132. package/dist/types/expo.d.ts +0 -3
  133. package/dist/types/merge-env.d.ts +0 -1
  134. package/dist/types/tools.d.ts +0 -1
  135. package/lib/app.js +0 -49
  136. package/lib/commands/build-process/boot.js +0 -15
  137. package/lib/commands/build-process/cliFactory.js +0 -161
  138. package/lib/commands/build-process/dataLayer.js +0 -59
  139. package/lib/commands/build-process/index.js +0 -13
  140. package/lib/commands/build-process/readEnv.js +0 -37
  141. package/lib/commands/build-process/runMonoCommand.js +0 -102
  142. package/lib/commands/build-process/runners/processManager.js +0 -38
  143. package/lib/commands/build-process/runners/runBackground.js +0 -60
  144. package/lib/commands/build-process/runners/runForeground.js +0 -60
  145. package/lib/commands/build-process/test.js +0 -50
  146. package/lib/commands/build-process/testflag.js +0 -1
  147. package/lib/commands/build-process/validators.js +0 -17
  148. package/lib/commands/generate/generateSeed.js +0 -223
  149. package/lib/commands/generate/index.js +0 -30
  150. package/lib/commands/loadFromRoot.js +0 -55
  151. package/lib/commands/prune/index.js +0 -12
  152. package/lib/commands/prune/prune.js +0 -50
  153. package/lib/commands/seed/import.js +0 -30
  154. package/lib/commands/seed/index.js +0 -12
  155. package/lib/commands/submit/index.js +0 -38
  156. package/lib/commands/update/eas.js +0 -39
  157. package/lib/commands/update/index.js +0 -87
  158. package/lib/filterUnwantedEnvVars.js +0 -123
  159. package/lib/generateNewEnvList.js +0 -14
  160. package/lib/index.js +0 -58
  161. package/src/cdk/index.js +0 -59
  162. package/src/expo.js +0 -133
  163. package/src/merge-env.js +0 -32
  164. package/src/tools.js +0 -36
  165. package/types.d.ts +0 -83
  166. /package/dist/{expo-files → src/expo-files}/filterUnwantedEnvVars.js +0 -0
  167. /package/dist/{loadFromRoot.js → src/loadFromRoot.js} +0 -0
  168. /package/dist/{project → src/project}/build-readme.js +0 -0
  169. /package/dist/{project → src/project}/generate-docs.js +0 -0
  170. /package/dist/{merge-env.js → src/project/merge-env.js} +0 -0
  171. /package/dist/types/{project/build-mono-readme.d.ts → lib/commands/build-process/index.d.ts} +0 -0
  172. /package/dist/types/{project/generate-readme.d.ts → lib/commands/prune/index.d.ts} +0 -0
  173. /package/dist/types/{expo-files → src/expo-files}/filterUnwantedEnvVars.d.ts +0 -0
  174. /package/dist/types/{loadFromRoot.d.ts → src/loadFromRoot.d.ts} +0 -0
  175. /package/dist/types/{project → src}/merge-env.d.ts +0 -0
  176. /package/dist/types/{project → src/project}/build-readme.d.ts +0 -0
  177. /package/dist/types/{project → src/project}/generate-docs.d.ts +0 -0
  178. /package/dist/types/{stack.d.ts → src/stack.d.ts} +0 -0
  179. /package/lib/{config.js → config.ts} +0 -0
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeCommandsIfWorkspaceAction = executeCommandsIfWorkspaceAction;
4
+ const child_process_1 = require("child_process");
5
+ const loadFromRoot_1 = require("../loadFromRoot");
6
+ //Run Action List before all script actions
7
+ const WorkSpaceDirectory = '${dir}';
8
+ function executeCommandsIfWorkspaceAction(action, commands = [], fullEnv) {
9
+ const { config } = (0, loadFromRoot_1.getMonoConfig)();
10
+ const workspacemap = config.workspace?.packageMaps || {};
11
+ const result = (0, child_process_1.execSync)('yarn workspaces list --json', { encoding: 'utf8' })
12
+ .trim()
13
+ .split('\n')
14
+ .map((line) => JSON.parse(line))
15
+ .filter((obj) => obj !== '.');
16
+ const actualAction = workspacemap ? workspacemap[action[1]] || action[1] : action[1];
17
+ const rootJson = (0, loadFromRoot_1.getRootJson)();
18
+ void rootJson;
19
+ const filteredResult = result.filter((obj) => obj.name === actualAction)[0] || {};
20
+ const workingDirectory = filteredResult.location || '';
21
+ // Check if the action is a workspace action
22
+ if (action) {
23
+ // Execute each command in the context of the workspace
24
+ commands.forEach((cmd) => {
25
+ const finalCommand = cmd.replace(WorkSpaceDirectory, workingDirectory);
26
+ (0, child_process_1.execSync)(finalCommand, {
27
+ stdio: 'inherit',
28
+ env: { ...fullEnv },
29
+ });
30
+ });
31
+ }
32
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testFlag = void 0;
4
+ exports.testFlag = true;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyOptionValue = verifyOptionValue;
4
+ // Option/value validation utilities
5
+ function verifyOptionValue(optionKey, value, optionsData) {
6
+ const optionInfo = optionsData[optionKey];
7
+ if (optionInfo && Array.isArray(optionInfo.options)) {
8
+ let actualOptions = optionInfo.options;
9
+ if (actualOptions) {
10
+ actualOptions = optionInfo?.allowAll ? [...actualOptions, 'all'] : [...actualOptions];
11
+ }
12
+ if (!actualOptions.includes(value)) {
13
+ throw new Error(`Invalid value for --${optionKey}: ${value}. Valid options are: ${actualOptions.join(', ')}`);
14
+ }
15
+ }
16
+ return value;
17
+ }
@@ -0,0 +1,53 @@
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.getRootDirectory = getRootDirectory;
7
+ exports.getRootJson = getRootJson;
8
+ exports.getMonoFiles = getMonoFiles;
9
+ exports.getMonoConfig = getMonoConfig;
10
+ const node_fs_1 = __importDefault(require("node:fs"));
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ function getRootDirectory() {
13
+ return node_path_1.default.join(process.cwd());
14
+ }
15
+ function getRootJson() {
16
+ const jsonPath = node_path_1.default.join(process.cwd(), 'package.json'); // cwd + file
17
+ const raw = node_fs_1.default.readFileSync(jsonPath, 'utf-8');
18
+ const data = JSON.parse(raw);
19
+ return data;
20
+ }
21
+ function getMonoFiles() {
22
+ const dir = node_path_1.default.join(process.cwd(), '.mono');
23
+ if (!node_fs_1.default.existsSync(dir)) {
24
+ return [];
25
+ }
26
+ const files = node_fs_1.default.readdirSync(dir); // names only
27
+ return files.map((f) => node_path_1.default.join(dir, f));
28
+ }
29
+ const disallowedFiles = ['tools'];
30
+ function getMonoConfig() {
31
+ const objMono = getMonoFiles();
32
+ const monoFileConfig = {};
33
+ let configObject = {};
34
+ for (const file of objMono) {
35
+ const fileName = node_path_1.default.basename(file).replace('.json', '');
36
+ if (disallowedFiles.includes(fileName)) {
37
+ throw new Error(`Disallowed file name in .mono directory: ${fileName}`);
38
+ }
39
+ const raw = node_fs_1.default.readFileSync(file, 'utf-8');
40
+ const data = JSON.parse(raw);
41
+ if (fileName === 'config') {
42
+ if (data)
43
+ configObject = data;
44
+ }
45
+ else {
46
+ monoFileConfig[fileName] = data;
47
+ }
48
+ }
49
+ return {
50
+ files: monoFileConfig,
51
+ config: configObject,
52
+ };
53
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const app_1 = require("../../app");
4
+ const prune_1 = require("./prune");
5
+ app_1.program
6
+ .command('prune')
7
+ .description('Prune local branches that are not on origin')
8
+ .action(() => {
9
+ (0, prune_1.pruneRepo)();
10
+ });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pruneRepo = pruneRepo;
4
+ const child_process_1 = require("child_process");
5
+ const log = (...args) => console.log(...args);
6
+ const err = (...args) => console.error(...args);
7
+ function pruneRepo() {
8
+ try {
9
+ // Fetch and prune remote branches
10
+ log('Fetching latest branch data from origin...');
11
+ (0, child_process_1.execSync)('git fetch --prune', { stdio: 'inherit' });
12
+ // Get local branches (trim whitespace)
13
+ const localBranches = (0, child_process_1.execSync)("git branch --format '%(refname:short)'")
14
+ .toString()
15
+ .trim()
16
+ .split('\n')
17
+ .map((branch) => branch.trim().replaceAll("'", ''));
18
+ // Get remote branches (remove "origin/" prefix)
19
+ const remoteBranches = (0, child_process_1.execSync)('git branch -r')
20
+ .toString()
21
+ .trim()
22
+ .split('\n')
23
+ .map((branch) => branch.replace(/^\s*origin\//, '').trim());
24
+ // Find local branches that are NOT in remote branches
25
+ const branchesToDelete = localBranches.filter((branch) => !remoteBranches.includes(branch));
26
+ if (branchesToDelete.length === 0) {
27
+ log('No local branches to delete.');
28
+ process.exit(0);
29
+ }
30
+ // Delete untracked local branches
31
+ log('Deleting local branches that are not on origin...');
32
+ branchesToDelete.forEach((branch) => {
33
+ log(`Attempting to delete: ${branch}`);
34
+ try {
35
+ (0, child_process_1.execSync)(`git branch -D ${branch}`, { stdio: 'inherit' });
36
+ log(`Deleted: ${branch}`);
37
+ }
38
+ catch (caught) {
39
+ const error = caught;
40
+ err(`Failed to delete branch ${branch}:`, error.message ?? String(caught));
41
+ }
42
+ });
43
+ log('Cleanup complete!');
44
+ }
45
+ catch (caught) {
46
+ const error = caught;
47
+ err('An error occurred:', error.message ?? String(caught));
48
+ }
49
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STAGING_URL = exports.STAGE_URL = void 0;
4
+ //export const STAGE_URL = 'https://77df2h2jif6xrvk6eexwrlkeke0xibqc.lambda-url.us-east-2.on.aws/'
5
+ exports.STAGE_URL = 'https://p2po52rai264bk62bec2cmtzdi0rqhnw.lambda-url.us-east-2.on.aws/';
6
+ exports.STAGING_URL = process.env.STAGE_URL || exports.STAGE_URL;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterUnwantedEnvVars = filterUnwantedEnvVars;
4
+ exports.filterUnwantedEnvVarsEAS = filterUnwantedEnvVarsEAS;
5
+ function filterUnwantedEnvVars(env) {
6
+ const unwantedPrefixes = [
7
+ // ... trimmed list from JS version (kept minimal)
8
+ 'npm_config_force',
9
+ ];
10
+ return Object.keys(env).reduce((obj, key) => {
11
+ if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
12
+ obj[key] = env[key];
13
+ }
14
+ return obj;
15
+ }, {});
16
+ }
17
+ function filterUnwantedEnvVarsEAS(env) {
18
+ const unwantedPrefixes = [
19
+ 'ProgramData',
20
+ 'ProgramFiles',
21
+ 'ProgramFiles(x86)',
22
+ 'ProgramW6432',
23
+ 'PSModulePath',
24
+ 'PUBLIC',
25
+ 'TEMP',
26
+ 'TMP',
27
+ 'EFC_',
28
+ 'FPS_',
29
+ 'GIT_',
30
+ 'NVM_',
31
+ 'VSCODE_',
32
+ 'windir',
33
+ 'Chocolatey',
34
+ 'ALLUSERSPROFILE',
35
+ 'APPDATA',
36
+ 'CommonProgramFiles',
37
+ 'CommonProgramW6432',
38
+ 'ComSpec',
39
+ 'Driver',
40
+ 'HOME',
41
+ 'npm',
42
+ 'LOCALAPPDATA',
43
+ 'LOGONSERVER',
44
+ 'NUMBER_OF_PROCESSORS',
45
+ 'OS',
46
+ 'COREPACK',
47
+ 'PROCESSOR',
48
+ 'USERDOMAIN',
49
+ 'USERDOMAIN_ROAMINGPROFILE',
50
+ 'USERNAME',
51
+ 'USERPROFILE',
52
+ 'CUDA',
53
+ 'SESSIONNAME',
54
+ 'ZES',
55
+ '3DVPATH',
56
+ 'APP_NAME',
57
+ 'asl.log',
58
+ 'BERRY_BIN_FOLDER',
59
+ 'CHROME_CRASHPAD_PIPE_NAME',
60
+ 'COLORTERM',
61
+ 'COMPUTERNAME',
62
+ 'CUDNN',
63
+ 'EAS_BUILD_PROFILE',
64
+ 'EAS_PROJECT_ID',
65
+ 'EXPO_UNSTABLE_ATLAS',
66
+ 'INIT_CWD',
67
+ 'JAVA_HOME',
68
+ 'LANG',
69
+ 'OneDrive',
70
+ 'ORIGINAL_XDG_CURRENT_DESKTOP',
71
+ 'PROJECT_CWD',
72
+ 'PROMPT',
73
+ 'PWD',
74
+ 'TERM_PROGRAM',
75
+ 'TERM_PROGRAM_VERSION',
76
+ '__PSLockDownPolicy',
77
+ 'PATH',
78
+ 'SystemRoot',
79
+ 'SystemDrive',
80
+ 'npm_',
81
+ ];
82
+ return Object.keys(env).reduce((obj, key) => {
83
+ if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
84
+ obj[key] = env[key];
85
+ }
86
+ return obj;
87
+ }, {});
88
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateNewEnvList = generateNewEnvList;
4
+ const loadFromRoot_1 = require("./commands/loadFromRoot");
5
+ function generateNewEnvList(processEnv) {
6
+ const { config } = (0, loadFromRoot_1.getMonoConfig)();
7
+ const envMapList = config.envMap ?? ['FAILURE'];
8
+ const envKeys = Object.keys(processEnv).filter((k) => k.startsWith('MONO_'));
9
+ const envObj = {};
10
+ for (const key of envKeys) {
11
+ if (key.includes('SECRET'))
12
+ continue;
13
+ const mappedKey = envMapList[key] || key;
14
+ envObj[mappedKey] = processEnv[key];
15
+ }
16
+ return { ...processEnv, ...envObj };
17
+ }
@@ -0,0 +1,49 @@
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
+ const merge_env_1 = require("../src/merge-env");
7
+ const node_child_process_1 = require("node:child_process");
8
+ const node_os_1 = __importDefault(require("node:os"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const app_1 = require("./app");
11
+ require("./commands/prune/index");
12
+ require("./commands/build-process/index");
13
+ const loadFromRoot_1 = require("./commands/loadFromRoot");
14
+ const test_1 = require("./commands/build-process/test");
15
+ (0, merge_env_1.loadMergedEnv)();
16
+ const homeBin = node_path_1.default.join(node_os_1.default.homedir(), 'bin');
17
+ const PATH = [homeBin, process.env.PATH].filter(Boolean).join(node_path_1.default.delimiter);
18
+ const { config } = (0, loadFromRoot_1.getMonoConfig)();
19
+ const workspacemap = config.workspace?.packageMaps || {};
20
+ const preactions = config.workspace?.preactions || [];
21
+ const envMapList = config.envMap ?? ['FAILURE'];
22
+ app_1.program.on('command:*', (operands) => {
23
+ const [cmd] = operands;
24
+ const raw = process.argv.slice(2);
25
+ const i = raw.indexOf(cmd);
26
+ const tokens = i >= 0 ? raw.slice(i) : operands;
27
+ const workspace = workspacemap[tokens[0]] || tokens[0];
28
+ const rest = tokens.slice(1);
29
+ const envKeys = Object.keys(process.env).filter((k) => k.startsWith('MONO_'));
30
+ const envObj = {};
31
+ envKeys.forEach((k) => {
32
+ envMapList.forEach((item) => {
33
+ envObj[k.replace('MONO', item)] = process.env[k];
34
+ });
35
+ });
36
+ const args = ['workspace', workspace, ...rest];
37
+ console.error(`Unknown command. Falling back2 to: yarn ${args.join(' ')}`);
38
+ (0, test_1.executeCommandsIfWorkspaceAction)(args, preactions, envObj);
39
+ const child = (0, node_child_process_1.spawn)('yarn', args, {
40
+ stdio: 'inherit',
41
+ shell: process.platform === 'win32',
42
+ env: { ...process.env, ...envObj, PATH },
43
+ });
44
+ child.on('exit', (code) => {
45
+ console.log('Child process exited with code:', code);
46
+ process.exitCode = code ?? 1;
47
+ });
48
+ });
49
+ app_1.program.parse();
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setUpConfig = exports.replaceTokens = void 0;
4
+ var tools_1 = require("../tools");
5
+ Object.defineProperty(exports, "replaceTokens", { enumerable: true, get: function () { return tools_1.replaceTokens; } });
6
+ Object.defineProperty(exports, "setUpConfig", { enumerable: true, get: function () { return tools_1.setUpConfig; } });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cdk"), exports);
@@ -3,42 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.replaceTokens = replaceTokens;
4
4
  exports.setUpConfig = setUpConfig;
5
5
  exports.filterUnwantedEnvVarsEAS = filterUnwantedEnvVarsEAS;
6
- function replaceTokens(str, env) {
7
- if (typeof str !== 'string')
8
- return str;
9
- return str.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (m, k1, k2) => {
10
- const k = k1 || k2;
11
- // existing data layer takes priority (guarded in case not defined)
12
- if (typeof hasData === 'function' && hasData(k)) {
13
- const val = typeof getData === 'function' ? getData(k) : undefined;
14
- return val == null ? '' : String(val);
15
- }
16
- // environment variables
17
- if (env && Object.prototype.hasOwnProperty.call(env, k)) {
18
- const val = env[k];
19
- return val == null ? '' : String(val);
20
- }
21
- // fallback
22
- return '';
6
+ function replaceTokens(input, tokens) {
7
+ return input.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (_m, k1, k2) => {
8
+ const key = (k1 || k2);
9
+ const val = tokens[key];
10
+ return val == null ? '' : String(val);
23
11
  });
24
12
  }
25
13
  function filterEnvByPrefix(env, prefix) {
26
14
  const filtered = {};
27
- for (const key in env) {
28
- if (key.startsWith(prefix)) {
29
- filtered[key] = env[key];
15
+ for (const [key, value] of Object.entries(env)) {
16
+ if (key.startsWith(prefix) && typeof value === 'string') {
17
+ filtered[key] = value;
30
18
  }
31
19
  }
32
20
  return filtered;
33
21
  }
34
22
  function setUpConfig(config) {
35
- const { extra = {}, ...other } = config.expo || {};
36
- const router = extra['router'] ?
37
- { origin: false, ...extra['router'] }
38
- : {
39
- origin: false,
40
- };
41
- const appConfig = {
23
+ const { extra = {}, ...other } = (config.expo ?? {});
24
+ const router = extra['router'] ? { origin: false, ...extra['router'] } : { origin: false };
25
+ return {
42
26
  ...config,
43
27
  expo: {
44
28
  ...other,
@@ -52,9 +36,9 @@ function setUpConfig(config) {
52
36
  },
53
37
  },
54
38
  };
55
- return appConfig;
56
39
  }
57
- function filterUnwantedEnvVarsEAS(env) {
40
+ function filterUnwantedEnvVarsEAS(envVars) {
41
+ // Keep in sync with lib/filterUnwantedEnvVars.ts
58
42
  const unwantedPrefixes = [
59
43
  'ProgramData',
60
44
  'ProgramFiles',
@@ -79,7 +63,6 @@ function filterUnwantedEnvVarsEAS(env) {
79
63
  'Driver',
80
64
  'HOME',
81
65
  'npm',
82
- 'HOME',
83
66
  'LOCALAPPDATA',
84
67
  'LOGONSERVER',
85
68
  'NUMBER_OF_PROCESSORS',
@@ -120,10 +103,11 @@ function filterUnwantedEnvVarsEAS(env) {
120
103
  'SystemDrive',
121
104
  'npm_',
122
105
  ];
123
- return Object.keys(env).reduce((obj, key) => {
106
+ const out = {};
107
+ for (const [key, value] of Object.entries(envVars)) {
124
108
  if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
125
- obj[key] = env[key];
109
+ out[key] = value;
126
110
  }
127
- return obj;
128
- }, {});
111
+ }
112
+ return out;
129
113
  }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ // Main entry point for @mono-labs/cli package
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.filterUnwantedEnvVarsEAS = exports.filterUnwantedEnvVars = exports.generateNewEnvList = void 0;
5
+ exports.setData = setData;
6
+ exports.mergeData = mergeData;
7
+ exports.getData = getData;
8
+ exports.hasData = hasData;
9
+ exports.replaceTokens = replaceTokens;
10
+ const filterUnwantedEnvVars_1 = require("./expo-files/filterUnwantedEnvVars");
11
+ Object.defineProperty(exports, "filterUnwantedEnvVars", { enumerable: true, get: function () { return filterUnwantedEnvVars_1.filterUnwantedEnvVars; } });
12
+ Object.defineProperty(exports, "filterUnwantedEnvVarsEAS", { enumerable: true, get: function () { return filterUnwantedEnvVars_1.filterUnwantedEnvVarsEAS; } });
13
+ Object.defineProperty(exports, "generateNewEnvList", { enumerable: true, get: function () { return filterUnwantedEnvVars_1.generateNewEnvList; } });
14
+ const dataLayer = Object.create(null);
15
+ function setData(key, value) {
16
+ if (value !== undefined) {
17
+ dataLayer[key] = value;
18
+ }
19
+ }
20
+ function mergeData(obj = {}) {
21
+ Object.entries(obj).forEach(([k, v]) => setData(k, v));
22
+ return dataLayer;
23
+ }
24
+ function getData(key) {
25
+ return key ? dataLayer[key] : dataLayer;
26
+ }
27
+ function hasData(key) {
28
+ return Object.prototype.hasOwnProperty.call(dataLayer, key);
29
+ }
30
+ /* ------------------------------------------------------------------
31
+ * Token replacement
32
+ * ------------------------------------------------------------------ */
33
+ function replaceTokens(str, env) {
34
+ if (typeof str !== 'string')
35
+ return str;
36
+ return str.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (_match, k1, k2) => {
37
+ const key = k1 || k2;
38
+ // data layer takes priority
39
+ if (hasData(key)) {
40
+ const val = getData(key);
41
+ return val == null ? '' : String(val);
42
+ }
43
+ // environment variables
44
+ if (env && Object.prototype.hasOwnProperty.call(env, key)) {
45
+ const val = env[key];
46
+ return val == null ? '' : String(val);
47
+ }
48
+ return '';
49
+ });
50
+ }
51
+ exports.default = {
52
+ generateNewEnvList: filterUnwantedEnvVars_1.generateNewEnvList,
53
+ replaceTokens,
54
+ filterUnwantedEnvVars: filterUnwantedEnvVars_1.filterUnwantedEnvVars,
55
+ filterUnwantedEnvVarsEAS: filterUnwantedEnvVars_1.filterUnwantedEnvVarsEAS,
56
+ };
@@ -0,0 +1,25 @@
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.loadMergedEnv = loadMergedEnv;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const dotenv_1 = __importDefault(require("dotenv"));
10
+ function loadMergedEnv() {
11
+ const ENV_PATH = node_path_1.default.resolve(process.cwd(), '.env');
12
+ const ENV_LOCAL_PATH = node_path_1.default.resolve(process.cwd(), '.env.local');
13
+ const base = node_fs_1.default.existsSync(ENV_PATH) ? dotenv_1.default.parse(node_fs_1.default.readFileSync(ENV_PATH)) : {};
14
+ const local = node_fs_1.default.existsSync(ENV_LOCAL_PATH) ? dotenv_1.default.parse(node_fs_1.default.readFileSync(ENV_LOCAL_PATH)) : {};
15
+ const merged = {
16
+ ...base,
17
+ ...local,
18
+ };
19
+ for (const [key, value] of Object.entries(merged)) {
20
+ if (process.env[key] === undefined) {
21
+ process.env[key] = value;
22
+ }
23
+ }
24
+ return process.env;
25
+ }
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  // Node >= 18 recommended
8
8
  const node_fs_1 = require("node:fs");
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
- const generate_docs_js_1 = require("./generate-docs.js");
10
+ const generate_docs_1 = require("./generate-docs");
11
11
  const REPO_ROOT = node_path_1.default.resolve(process.cwd());
12
12
  const MONO_DIR = node_path_1.default.join(REPO_ROOT, '.mono');
13
13
  const ROOT_PKG_JSON = node_path_1.default.join(REPO_ROOT, 'package.json');
@@ -51,8 +51,7 @@ async function listDir(dir) {
51
51
  function normalizeWorkspacePatterns(workspacesField) {
52
52
  if (Array.isArray(workspacesField))
53
53
  return workspacesField;
54
- if (isObject(workspacesField) &&
55
- Array.isArray(workspacesField.packages))
54
+ if (isObject(workspacesField) && Array.isArray(workspacesField.packages))
56
55
  return workspacesField.packages;
57
56
  return [];
58
57
  }
@@ -85,9 +84,7 @@ async function expandWorkspacePattern(root, pattern) {
85
84
  if (seg === '**') {
86
85
  const results = [];
87
86
  results.push(...(await expandFrom(dir, segIndex + 1)));
88
- const entries = await node_fs_1.promises
89
- .readdir(dir, { withFileTypes: true })
90
- .catch(() => []);
87
+ const entries = await node_fs_1.promises.readdir(dir, { withFileTypes: true }).catch(() => []);
91
88
  for (const e of entries) {
92
89
  if (!e.isDirectory())
93
90
  continue;
@@ -95,9 +92,7 @@ async function expandWorkspacePattern(root, pattern) {
95
92
  }
96
93
  return results;
97
94
  }
98
- const entries = await node_fs_1.promises
99
- .readdir(dir, { withFileTypes: true })
100
- .catch(() => []);
95
+ const entries = await node_fs_1.promises.readdir(dir, { withFileTypes: true }).catch(() => []);
101
96
  const results = [];
102
97
  for (const e of entries) {
103
98
  if (!e.isDirectory())
@@ -338,14 +333,14 @@ function formatMonoCommandsSection(commands) {
338
333
  lines.push('| Option | Type | Shortcut | Default | Allowed | Notes |');
339
334
  lines.push('|---|---:|:---:|---:|---|---|');
340
335
  for (const o of options) {
341
- const optCol = o.kind === 'boolean' ?
342
- `\`--${mdEscapeInline(o.key)}\``
336
+ const optCol = o.kind === 'boolean'
337
+ ? `\`--${mdEscapeInline(o.key)}\``
343
338
  : `\`--${mdEscapeInline(o.key)} <${mdEscapeInline(o.key)}>\``;
344
339
  const typeCol = `\`${mdEscapeInline(o.type)}\``;
345
340
  const shortCol = o.shortcut ? `\`-${mdEscapeInline(o.shortcut)}\`` : '';
346
341
  const defCol = o.default !== undefined ? `\`${mdEscapeInline(o.default)}\`` : '';
347
- const allowedCol = o.allowed ?
348
- o.allowed.map((x) => `\`${mdEscapeInline(x)}\``).join(', ')
342
+ const allowedCol = o.allowed
343
+ ? o.allowed.map((x) => `\`${mdEscapeInline(x)}\``).join(', ')
349
344
  : '';
350
345
  const notes = [
351
346
  o.allowAll ? 'allowAll' : '',
@@ -358,9 +353,7 @@ function formatMonoCommandsSection(commands) {
358
353
  lines.push('');
359
354
  }
360
355
  // Environments
361
- if (j.environments &&
362
- isObject(j.environments) &&
363
- Object.keys(j.environments).length) {
356
+ if (j.environments && isObject(j.environments) && Object.keys(j.environments).length) {
364
357
  lines.push('**Environment Variables**');
365
358
  lines.push('');
366
359
  const envs = Object.entries(j.environments).sort(([a], [b]) => a.localeCompare(b));
@@ -424,9 +417,7 @@ async function main() {
424
417
  const pkgPath = node_path_1.default.join(dir, 'package.json');
425
418
  const pj = await readJson(pkgPath);
426
419
  packages.push({
427
- name: pj.name ||
428
- toPosix(node_path_1.default.relative(REPO_ROOT, dir)) ||
429
- node_path_1.default.basename(dir),
420
+ name: pj.name || toPosix(node_path_1.default.relative(REPO_ROOT, dir)) || node_path_1.default.basename(dir),
430
421
  dir,
431
422
  scripts: pj.scripts || {},
432
423
  });
@@ -447,7 +438,7 @@ async function main() {
447
438
  parts.push('');
448
439
  parts.push(formatMonoCommandsSection(monoCommands));
449
440
  parts.push('');
450
- const val = await (0, generate_docs_js_1.generateDocsIndex)({
441
+ const val = await (0, generate_docs_1.generateDocsIndex)({
451
442
  docsDir: node_path_1.default.join(REPO_ROOT, 'docs'),
452
443
  excludeFile: 'command-line.md',
453
444
  });