@mono-labs/cli 0.0.246 → 0.1.249

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 (110) hide show
  1. package/README.md +76 -93
  2. package/dist/{types/index.d.ts → index.d.ts} +1 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/{types/lib → lib}/app.d.ts +1 -0
  5. package/dist/lib/app.d.ts.map +1 -0
  6. package/dist/{types/lib → lib}/commands/build-process/boot.d.ts +1 -0
  7. package/dist/lib/commands/build-process/boot.d.ts.map +1 -0
  8. package/dist/{types/lib → lib}/commands/build-process/cliFactory.d.ts +1 -0
  9. package/dist/lib/commands/build-process/cliFactory.d.ts.map +1 -0
  10. package/dist/{types/lib → lib}/commands/build-process/dataLayer.d.ts +1 -0
  11. package/dist/lib/commands/build-process/dataLayer.d.ts.map +1 -0
  12. package/dist/lib/commands/build-process/index.d.ts +2 -0
  13. package/dist/lib/commands/build-process/index.d.ts.map +1 -0
  14. package/dist/{types/lib → lib}/commands/build-process/readEnv.d.ts +1 -0
  15. package/dist/lib/commands/build-process/readEnv.d.ts.map +1 -0
  16. package/dist/{types/lib → lib}/commands/build-process/runMonoCommand.d.ts +1 -0
  17. package/dist/lib/commands/build-process/runMonoCommand.d.ts.map +1 -0
  18. package/dist/{types/lib → lib}/commands/build-process/runners/processManager.d.ts +1 -0
  19. package/dist/lib/commands/build-process/runners/processManager.d.ts.map +1 -0
  20. package/dist/{types/lib → lib}/commands/build-process/runners/runBackground.d.ts +1 -0
  21. package/dist/lib/commands/build-process/runners/runBackground.d.ts.map +1 -0
  22. package/dist/{types/lib → lib}/commands/build-process/runners/runForeground.d.ts +1 -0
  23. package/dist/lib/commands/build-process/runners/runForeground.d.ts.map +1 -0
  24. package/dist/lib/commands/build-process/runners/runForeground.js +1 -1
  25. package/dist/{types/lib → lib}/commands/build-process/test.d.ts +1 -0
  26. package/dist/lib/commands/build-process/test.d.ts.map +1 -0
  27. package/dist/lib/commands/build-process/testflag.d.ts +2 -0
  28. package/dist/lib/commands/build-process/testflag.d.ts.map +1 -0
  29. package/dist/{types/lib → lib}/commands/build-process/validators.d.ts +1 -0
  30. package/dist/lib/commands/build-process/validators.d.ts.map +1 -0
  31. package/dist/{types/lib → lib}/commands/loadFromRoot.d.ts +1 -0
  32. package/dist/lib/commands/loadFromRoot.d.ts.map +1 -0
  33. package/dist/lib/commands/prune/index.d.ts +2 -0
  34. package/dist/lib/commands/prune/index.d.ts.map +1 -0
  35. package/dist/{types/lib → lib}/commands/prune/prune.d.ts +1 -0
  36. package/dist/lib/commands/prune/prune.d.ts.map +1 -0
  37. package/dist/{types/lib → lib}/config.d.ts +1 -0
  38. package/dist/lib/config.d.ts.map +1 -0
  39. package/dist/{types/lib → lib}/filterUnwantedEnvVars.d.ts +1 -0
  40. package/dist/lib/filterUnwantedEnvVars.d.ts.map +1 -0
  41. package/dist/{types/lib → lib}/generateNewEnvList.d.ts +1 -0
  42. package/dist/lib/generateNewEnvList.d.ts.map +1 -0
  43. package/dist/{types/lib → lib}/index.d.ts +1 -0
  44. package/dist/lib/index.d.ts.map +1 -0
  45. package/dist/lib/index.js +2 -2
  46. package/dist/src/cdk.d.ts +2 -0
  47. package/dist/src/cdk.d.ts.map +1 -0
  48. package/dist/src/{cdk/cdk.js → cdk.js} +4 -3
  49. package/dist/src/expo.d.ts +2 -0
  50. package/dist/src/expo.d.ts.map +1 -0
  51. package/dist/src/expo.js +6 -111
  52. package/dist/{types/src → src}/index.d.ts +2 -1
  53. package/dist/src/index.d.ts.map +1 -0
  54. package/dist/src/index.js +7 -7
  55. package/dist/src/project.d.ts +3 -0
  56. package/dist/src/project.d.ts.map +1 -0
  57. package/dist/src/project.js +14 -0
  58. package/dist/{types/src → src}/stack.d.ts +1 -0
  59. package/dist/src/stack.d.ts.map +1 -0
  60. package/dist/src/stack.js +4 -4
  61. package/dist/src/tools.d.ts +2 -0
  62. package/dist/src/tools.d.ts.map +1 -0
  63. package/dist/src/tools.js +5 -36
  64. package/dist/tsconfig.tsbuildinfo +1 -0
  65. package/lib/commands/build-process/runners/runForeground.ts +1 -1
  66. package/lib/index.ts +1 -1
  67. package/package.json +41 -26
  68. package/src/cdk.ts +2 -0
  69. package/src/expo.ts +2 -116
  70. package/src/index.ts +2 -2
  71. package/src/project.ts +19 -0
  72. package/src/stack.ts +3 -3
  73. package/src/tools.ts +2 -39
  74. package/dist/src/cdk/index.js +0 -17
  75. package/dist/src/expo-files/filterUnwantedEnvVars.js +0 -147
  76. package/dist/src/loadFromRoot.js +0 -115
  77. package/dist/src/merge-env.js +0 -25
  78. package/dist/src/project/build-mono-readme.js +0 -456
  79. package/dist/src/project/build-readme.js +0 -4
  80. package/dist/src/project/generate-docs.js +0 -73
  81. package/dist/src/project/generate-readme.js +0 -309
  82. package/dist/src/project/index.js +0 -120
  83. package/dist/src/project/merge-env.js +0 -31
  84. package/dist/types/lib/commands/build-process/index.d.ts +0 -1
  85. package/dist/types/lib/commands/build-process/testflag.d.ts +0 -1
  86. package/dist/types/lib/commands/prune/index.d.ts +0 -1
  87. package/dist/types/src/cdk/cdk.d.ts +0 -1
  88. package/dist/types/src/cdk/index.d.ts +0 -1
  89. package/dist/types/src/expo-files/filterUnwantedEnvVars.d.ts +0 -3
  90. package/dist/types/src/expo.d.ts +0 -4
  91. package/dist/types/src/loadFromRoot.d.ts +0 -32
  92. package/dist/types/src/merge-env.d.ts +0 -1
  93. package/dist/types/src/project/build-mono-readme.d.ts +0 -1
  94. package/dist/types/src/project/build-readme.d.ts +0 -2
  95. package/dist/types/src/project/generate-docs.d.ts +0 -11
  96. package/dist/types/src/project/generate-readme.d.ts +0 -1
  97. package/dist/types/src/project/index.d.ts +0 -40
  98. package/dist/types/src/project/merge-env.d.ts +0 -1
  99. package/dist/types/src/tools.d.ts +0 -3
  100. package/src/cdk/cdk.ts +0 -1
  101. package/src/cdk/index.ts +0 -1
  102. package/src/expo-files/filterUnwantedEnvVars.ts +0 -155
  103. package/src/loadFromRoot.ts +0 -145
  104. package/src/merge-env.ts +0 -24
  105. package/src/project/build-mono-readme.ts +0 -545
  106. package/src/project/build-readme.ts +0 -2
  107. package/src/project/generate-docs.ts +0 -83
  108. package/src/project/generate-readme.ts +0 -351
  109. package/src/project/index.ts +0 -187
  110. package/src/project/merge-env.ts +0 -32
@@ -1,6 +1,6 @@
1
1
  import { spawn } from 'child_process'
2
2
  import { replaceTokens, setData } from '../dataLayer'
3
- import { filterUnwantedEnvVars } from '../../../../lib/filterUnwantedEnvVars'
3
+ import { filterUnwantedEnvVars } from '../../../filterUnwantedEnvVars'
4
4
 
5
5
  // Regex to capture tokens like: {out:field value}
6
6
  const TOKEN_RX = /\{out:(?<field>[^\s}]+)\s+(?<value>[^\s}]+)\}/g
package/lib/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { loadMergedEnv } from '../src/merge-env'
1
+ import { loadMergedEnv } from '@mono-labs/project'
2
2
 
3
3
  import { spawn } from 'node:child_process'
4
4
  import os from 'node:os'
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
1
  {
2
2
  "name": "@mono-labs/cli",
3
- "version": "0.0.246",
3
+ "version": "0.1.249",
4
4
  "type": "commonjs",
5
5
  "description": "A CLI tool for building and deploying projects",
6
6
  "main": "dist/index.js",
7
- "types": "dist/types/index.d.ts",
7
+ "types": "dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/types/index.d.ts",
10
+ "types": "./dist/index.d.ts",
11
11
  "require": "./dist/index.js",
12
12
  "default": "./dist/index.js"
13
13
  },
14
14
  "./expo": {
15
- "types": "./dist/types/src/expo.d.ts",
15
+ "types": "./dist/src/expo.d.ts",
16
16
  "require": "./dist/src/expo.js",
17
17
  "default": "./dist/src/expo.js"
18
18
  },
19
19
  "./tools": {
20
- "types": "./dist/types/src/tools.d.ts",
20
+ "types": "./dist/src/tools.d.ts",
21
21
  "require": "./dist/src/tools.js",
22
22
  "default": "./dist/src/tools.js"
23
23
  },
24
24
  "./cdk": {
25
- "types": "./dist/types/src/cdk/index.d.ts",
26
- "require": "./dist/src/cdk/index.js",
27
- "default": "./dist/src/cdk/index.js"
25
+ "types": "./dist/src/cdk.d.ts",
26
+ "require": "./dist/src/cdk.js",
27
+ "default": "./dist/src/cdk.js"
28
28
  },
29
29
  "./stack": {
30
- "types": "./dist/types/src/stack.d.ts",
30
+ "types": "./dist/src/stack.d.ts",
31
31
  "require": "./dist/src/stack.js",
32
32
  "default": "./dist/src/stack.js"
33
33
  },
34
34
  "./project": {
35
- "types": "./dist/types/src/project/index.d.ts",
36
- "require": "./dist/src/project/index.js",
37
- "default": "./dist/src/project/index.js"
35
+ "types": "./dist/src/project.d.ts",
36
+ "require": "./dist/src/project.js",
37
+ "default": "./dist/src/project.js"
38
38
  }
39
39
  },
40
40
  "repository": {
@@ -53,7 +53,7 @@
53
53
  "start": "node bin/mono.js",
54
54
  "dev": "node bin/mono.js",
55
55
  "test": "echo \"Error: no test specified\" && exit 1",
56
- "deploy": "tsc && npm version patch && npm publish --access public --registry https://registry.npmjs.org/",
56
+ "deploy": "tsc && npm publish --access public --registry https://registry.npmjs.org/",
57
57
  "release:patch": "npm version patch -m \"chore: release %s\" && npm publish --access public",
58
58
  "release:minor": "npm version minor -m \"chore: release %s\" && npm publish --access public",
59
59
  "release:major": "npm version major -m \"chore: release %s\" && npm publish --access public"
@@ -70,39 +70,54 @@
70
70
  "node": ">=20.0.0"
71
71
  },
72
72
  "dependencies": {
73
- "@aws-sdk/client-dynamodb": "^3.848.0",
74
- "@aws-sdk/util-dynamodb": "^3.848.0",
75
- "aws-cdk-lib": "^2.235.0",
73
+ "@mono-labs/project": "0.1.249",
74
+ "@mono-labs/expo": "0.1.249",
76
75
  "chalk": "^4.1.2",
77
76
  "commander": "^11.1.0",
78
- "constructs": "^10.4.5",
79
77
  "cross-spawn": "^7.0.6",
80
78
  "dotenv": "^17.2.0",
81
79
  "inquirer": "^12.8.2",
82
80
  "prettier": "^3.6.2",
83
81
  "tree-kill": "^1.2.2"
84
82
  },
85
- "devDependencies": {
86
- "@types/node": "^25.1.0",
87
- "eslint": "^8.57.0",
88
- "typescript": "^5.9.3",
89
- "expo": ">=52"
90
- },
91
83
  "peerDependencies": {
84
+ "aws-cdk-lib": "^2.235.0",
85
+ "constructs": "^10.4.5",
86
+ "@aws-sdk/client-dynamodb": "^3.848.0",
87
+ "@aws-sdk/util-dynamodb": "^3.848.0",
92
88
  "expo": ">=52"
93
89
  },
94
90
  "peerDependenciesMeta": {
91
+ "aws-cdk-lib": {
92
+ "optional": true
93
+ },
94
+ "constructs": {
95
+ "optional": true
96
+ },
97
+ "@aws-sdk/client-dynamodb": {
98
+ "optional": true
99
+ },
100
+ "@aws-sdk/util-dynamodb": {
101
+ "optional": true
102
+ },
95
103
  "expo": {
96
104
  "optional": true
97
105
  }
98
106
  },
107
+ "devDependencies": {
108
+ "@types/node": "^25.1.0",
109
+ "typescript": "^5.9.3",
110
+ "aws-cdk-lib": "^2.235.0",
111
+ "constructs": "^10.4.5",
112
+ "@aws-sdk/client-dynamodb": "^3.848.0",
113
+ "@aws-sdk/util-dynamodb": "^3.848.0",
114
+ "expo": ">=52"
115
+ },
99
116
  "files": [
100
117
  "bin/",
101
118
  "lib/",
102
119
  "src/",
103
120
  "dist/",
104
- "types.d.ts",
105
121
  "README.md"
106
- ],
107
- "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
122
+ ]
108
123
  }
package/src/cdk.ts ADDED
@@ -0,0 +1,2 @@
1
+ // Backward-compatible re-export from @mono-labs/expo
2
+ export { replaceTokens, setUpConfig } from '@mono-labs/expo'
package/src/expo.ts CHANGED
@@ -1,116 +1,2 @@
1
- import type { AppJSONConfig, ExpoConfig } from 'expo/config'
2
-
3
- export function replaceTokens(input: string, tokens: Record<string, string>): string {
4
- return input.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (_m, k1, k2) => {
5
- const key = (k1 || k2) as string
6
- const val = tokens[key]
7
- return val == null ? '' : String(val)
8
- })
9
- }
10
-
11
- function filterEnvByPrefix(env: NodeJS.ProcessEnv, prefix: string): Record<string, string> {
12
- const filtered: Record<string, string> = {}
13
- for (const [key, value] of Object.entries(env)) {
14
- if (key.startsWith(prefix) && typeof value === 'string') {
15
- filtered[key] = value
16
- }
17
- }
18
- return filtered
19
- }
20
-
21
- export function setUpConfig(config: AppJSONConfig): ExpoConfig {
22
- const { extra = {}, ...other } = (config.expo ?? {}) as any
23
-
24
- const router = extra['router'] ? { origin: false, ...extra['router'] } : { origin: false }
25
-
26
- return {
27
- ...(config as any),
28
- expo: {
29
- ...other,
30
- extra: {
31
- ...filterEnvByPrefix(process.env, 'NEXT_PUBLIC_'),
32
- eas: {
33
- projectId: process.env.EAS_PROJECT_ID,
34
- },
35
- router,
36
- ...extra,
37
- },
38
- },
39
- } as ExpoConfig
40
- }
41
-
42
- export function filterUnwantedEnvVarsEAS(envVars: Record<string, string>): Record<string, string> {
43
- // Keep in sync with lib/filterUnwantedEnvVars.ts
44
- const unwantedPrefixes = [
45
- 'ProgramData',
46
- 'ProgramFiles',
47
- 'ProgramFiles(x86)',
48
- 'ProgramW6432',
49
- 'PSModulePath',
50
- 'PUBLIC',
51
- 'TEMP',
52
- 'TMP',
53
- 'EFC_',
54
- 'FPS_',
55
- 'GIT_',
56
- 'NVM_',
57
- 'VSCODE_',
58
- 'windir',
59
- 'Chocolatey',
60
- 'ALLUSERSPROFILE',
61
- 'APPDATA',
62
- 'CommonProgramFiles',
63
- 'CommonProgramW6432',
64
- 'ComSpec',
65
- 'Driver',
66
- 'HOME',
67
- 'npm',
68
- 'LOCALAPPDATA',
69
- 'LOGONSERVER',
70
- 'NUMBER_OF_PROCESSORS',
71
- 'OS',
72
- 'COREPACK',
73
- 'PROCESSOR',
74
- 'USERDOMAIN',
75
- 'USERDOMAIN_ROAMINGPROFILE',
76
- 'USERNAME',
77
- 'USERPROFILE',
78
- 'CUDA',
79
- 'SESSIONNAME',
80
- 'ZES',
81
- '3DVPATH',
82
- 'APP_NAME',
83
- 'asl.log',
84
- 'BERRY_BIN_FOLDER',
85
- 'CHROME_CRASHPAD_PIPE_NAME',
86
- 'COLORTERM',
87
- 'COMPUTERNAME',
88
- 'CUDNN',
89
- 'EAS_BUILD_PROFILE',
90
- 'EAS_PROJECT_ID',
91
- 'EXPO_UNSTABLE_ATLAS',
92
- 'INIT_CWD',
93
- 'JAVA_HOME',
94
- 'LANG',
95
- 'OneDrive',
96
- 'ORIGINAL_XDG_CURRENT_DESKTOP',
97
- 'PROJECT_CWD',
98
- 'PROMPT',
99
- 'PWD',
100
- 'TERM_PROGRAM',
101
- 'TERM_PROGRAM_VERSION',
102
- '__PSLockDownPolicy',
103
- 'PATH',
104
- 'SystemRoot',
105
- 'SystemDrive',
106
- 'npm_',
107
- ]
108
-
109
- const out: Record<string, string> = {}
110
- for (const [key, value] of Object.entries(envVars)) {
111
- if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
112
- out[key] = value
113
- }
114
- }
115
- return out
116
- }
1
+ // Backward-compatible re-export from @mono-labs/expo
2
+ export { replaceTokens, setUpConfig, filterUnwantedEnvVarsEAS } from '@mono-labs/expo'
package/src/index.ts CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  import {
4
4
  filterUnwantedEnvVars,
5
- filterUnwantedEnvVarsEAS,
5
+ filterUnwantedEnvVarsEASExpo as filterUnwantedEnvVarsEAS,
6
6
  generateNewEnvList,
7
- } from './expo-files/filterUnwantedEnvVars'
7
+ } from '@mono-labs/expo'
8
8
 
9
9
  /* ------------------------------------------------------------------
10
10
  * Internal data layer
package/src/project.ts ADDED
@@ -0,0 +1,19 @@
1
+ // Backward-compatible re-export from @mono-labs/project
2
+ export {
3
+ findProjectRoot,
4
+ getRootDirectory,
5
+ getRootJson,
6
+ resolveMonoDirectory,
7
+ getMonoFiles,
8
+ getMonoConfig,
9
+ loadAppConfig,
10
+ loadProjectConfig,
11
+ loadMergedEnv,
12
+ } from '@mono-labs/project'
13
+
14
+ export type {
15
+ MonoWorkspaceConfig,
16
+ MonoProjectConfig,
17
+ MonoFiles,
18
+ MonoConfig,
19
+ } from '@mono-labs/project'
package/src/stack.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as cdk from 'aws-cdk-lib'
2
2
  import { Construct } from 'constructs'
3
- import { loadMergedEnv } from './project/merge-env'
3
+ import { loadMergedEnv } from '@mono-labs/project'
4
4
 
5
5
  loadMergedEnv()
6
6
  //cdk deploy --context owner=cody --context region=us-west-1
@@ -26,7 +26,7 @@ export abstract class CustomStack extends cdk.Stack {
26
26
  protected enableNATGateway: boolean = false
27
27
 
28
28
  constructor(scope: Construct, id: string, props: CustomStackProps = {}) {
29
- // 🔑 Resolve account + region BEFORE super()
29
+ // Resolve account + region BEFORE super()
30
30
  const resolvedEnv: cdk.Environment | undefined = {
31
31
  account: props.env?.account ?? process.env.AWS_ACCOUNT ?? cdk.Aws.ACCOUNT_ID, // final fallback (lazy token)
32
32
  region: props.env?.region ?? process.env.AWS_REGION ?? 'us-east-2',
@@ -37,7 +37,7 @@ export abstract class CustomStack extends cdk.Stack {
37
37
  env: resolvedEnv,
38
38
  })
39
39
 
40
- // Now its safe to read these
40
+ // Now it's safe to read these
41
41
  this.ownerName = props.ownerName ?? 'dev'
42
42
  this.domainName = props.domainName
43
43
  this.region = resolvedEnv.region!
package/src/tools.ts CHANGED
@@ -1,39 +1,2 @@
1
- import type { ExpoConfig, AppJSONConfig } from 'expo/config'
2
-
3
- export function replaceTokens(input: string, tokens: Record<string, string>): string {
4
- return input.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (_m, k1, k2) => {
5
- const key = (k1 || k2) as string
6
- const val = tokens[key]
7
- return val == null ? '' : String(val)
8
- })
9
- }
10
-
11
- function filterEnvByPrefix(env: NodeJS.ProcessEnv, prefix: string): Record<string, string> {
12
- const filtered: Record<string, string> = {}
13
- for (const [key, value] of Object.entries(env)) {
14
- if (key.startsWith(prefix) && typeof value === 'string') {
15
- filtered[key] = value
16
- }
17
- }
18
- return filtered
19
- }
20
-
21
- export function setUpConfig(config: AppJSONConfig): ExpoConfig {
22
- const { extra = {}, ...other } = (config.expo ?? {}) as any
23
- const router = extra['router'] ? { origin: false, ...extra['router'] } : { origin: false }
24
-
25
- return {
26
- ...(config as any),
27
- expo: {
28
- ...other,
29
- extra: {
30
- ...filterEnvByPrefix(process.env, 'NEXT_PUBLIC_'),
31
- eas: {
32
- projectId: process.env.EAS_PROJECT_ID,
33
- },
34
- router,
35
- ...extra,
36
- },
37
- },
38
- } as ExpoConfig
39
- }
1
+ // Backward-compatible re-export from @mono-labs/expo/tools
2
+ export { replaceTokens, setUpConfig } from '@mono-labs/expo'
@@ -1,17 +0,0 @@
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);
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterUnwantedEnvVars = filterUnwantedEnvVars;
4
- exports.filterUnwantedEnvVarsEAS = filterUnwantedEnvVarsEAS;
5
- exports.generateNewEnvList = generateNewEnvList;
6
- const loadFromRoot_1 = require("../loadFromRoot");
7
- function filterUnwantedEnvVars(env) {
8
- const unwantedPrefixes = [
9
- // 'EFC_',
10
- // 'FPS_',
11
- // 'GIT_',
12
- // 'NVM_',
13
- // 'VSCODE_',
14
- // 'LOGONSERVER',
15
- // 'NUMBER_OF_PROCESSORS',
16
- // 'OS',
17
- // 'COREPACK',
18
- // 'PROCESSOR',
19
- // 'USERDOMAIN',
20
- // 'USERDOMAIN_ROAMINGPROFILE',
21
- // 'USERNAME',
22
- // 'CUDA',
23
- // 'SESSIONNAME',
24
- // 'ZES',
25
- // '3DVPATH',
26
- // 'APP_NAME',
27
- // 'asl.log',
28
- // 'BERRY_BIN_FOLDER',
29
- // 'CHROME_CRASHPAD_PIPE_NAME',
30
- // 'COLORTERM',
31
- // 'COMPUTERNAME',
32
- // 'CUDNN',
33
- // 'EAS_BUILD_PROFILE',
34
- // 'EAS_PROJECT_ID',
35
- // 'EXPO_UNSTABLE_ATLAS',
36
- // 'INIT_CWD',
37
- // 'JAVA_HOME',
38
- // 'LANG',
39
- // 'OneDrive',
40
- // 'ORIGINAL_XDG_CURRENT_DESKTOP',
41
- // 'PROJECT_CWD',
42
- // 'PROMPT',
43
- // 'PWD',
44
- // 'TERM_PROGRAM',
45
- // 'TERM_PROGRAM_VERSION',
46
- // '__PSLockDownPolicy',
47
- 'npm_config_force',
48
- ];
49
- return Object.keys(env).reduce((obj, key) => {
50
- if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
51
- obj[key] = env[key];
52
- }
53
- return obj;
54
- }, {});
55
- }
56
- function filterUnwantedEnvVarsEAS(env) {
57
- const unwantedPrefixes = [
58
- 'ProgramData',
59
- 'ProgramFiles',
60
- 'ProgramFiles(x86)',
61
- 'ProgramW6432',
62
- 'PSModulePath',
63
- 'PUBLIC',
64
- 'TEMP',
65
- 'TMP',
66
- 'EFC_',
67
- 'FPS_',
68
- 'GIT_',
69
- 'NVM_',
70
- 'VSCODE_',
71
- 'windir',
72
- 'Chocolatey',
73
- 'ALLUSERSPROFILE',
74
- 'APPDATA',
75
- 'CommonProgramFiles',
76
- 'CommonProgramW6432',
77
- 'ComSpec',
78
- 'Driver',
79
- 'HOME',
80
- 'npm',
81
- 'HOME',
82
- 'LOCALAPPDATA',
83
- 'LOGONSERVER',
84
- 'NUMBER_OF_PROCESSORS',
85
- 'OS',
86
- 'COREPACK',
87
- 'PROCESSOR',
88
- 'USERDOMAIN',
89
- 'USERDOMAIN_ROAMINGPROFILE',
90
- 'USERNAME',
91
- 'USERPROFILE',
92
- 'CUDA',
93
- 'SESSIONNAME',
94
- 'ZES',
95
- '3DVPATH',
96
- 'APP_NAME',
97
- 'asl.log',
98
- 'BERRY_BIN_FOLDER',
99
- 'CHROME_CRASHPAD_PIPE_NAME',
100
- 'COLORTERM',
101
- 'COMPUTERNAME',
102
- 'CUDNN',
103
- 'EAS_BUILD_PROFILE',
104
- 'EAS_PROJECT_ID',
105
- 'EXPO_UNSTABLE_ATLAS',
106
- 'INIT_CWD',
107
- 'JAVA_HOME',
108
- 'LANG',
109
- 'OneDrive',
110
- 'ORIGINAL_XDG_CURRENT_DESKTOP',
111
- 'PROJECT_CWD',
112
- 'PROMPT',
113
- 'PWD',
114
- 'TERM_PROGRAM',
115
- 'TERM_PROGRAM_VERSION',
116
- '__PSLockDownPolicy',
117
- 'PATH',
118
- 'SystemRoot',
119
- 'SystemDrive',
120
- 'npm_',
121
- ];
122
- return Object.keys(env).reduce((obj, key) => {
123
- if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
124
- obj[key] = env[key];
125
- }
126
- return obj;
127
- }, {});
128
- }
129
- function generateNewEnvList(processEnv) {
130
- const { config } = (0, loadFromRoot_1.getMonoConfig)();
131
- const envPrefixes = Array.isArray(config.envMap) ? config.envMap : [];
132
- const result = { ...processEnv };
133
- for (const [key, value] of Object.entries(processEnv)) {
134
- // Only clone MONO_ variables
135
- if (!key.startsWith('MONO_'))
136
- continue;
137
- // Skip secrets
138
- if (key.includes('SECRET'))
139
- continue;
140
- const suffix = key.slice('MONO_'.length);
141
- for (const prefix of envPrefixes) {
142
- const mappedKey = `${prefix}_${suffix}`;
143
- result[mappedKey] = value;
144
- }
145
- }
146
- return result;
147
- }
@@ -1,115 +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.findProjectRoot = findProjectRoot;
7
- exports.getRootDirectory = getRootDirectory;
8
- exports.getRootJson = getRootJson;
9
- exports.resolveMonoDirectory = resolveMonoDirectory;
10
- exports.getMonoFiles = getMonoFiles;
11
- exports.getMonoConfig = getMonoConfig;
12
- const fs_1 = __importDefault(require("fs"));
13
- const path_1 = __importDefault(require("path"));
14
- /* ------------------------------------------------------------------
15
- * Helpers
16
- * ------------------------------------------------------------------ */
17
- /**
18
- * Walk up from cwd until we find a directory containing package.json.
19
- * This is treated as the project root.
20
- */
21
- function findProjectRoot(startDir = process.cwd()) {
22
- let current = startDir;
23
- while (true) {
24
- const pkg = path_1.default.join(current, 'package.json');
25
- if (fs_1.default.existsSync(pkg))
26
- return current;
27
- const parent = path_1.default.dirname(current);
28
- if (parent === current)
29
- break;
30
- current = parent;
31
- }
32
- // Fallback: use cwd
33
- return startDir;
34
- }
35
- function getRootDirectory() {
36
- return findProjectRoot();
37
- }
38
- function getRootJson() {
39
- const root = getRootDirectory();
40
- const jsonPath = path_1.default.join(root, 'package.json');
41
- if (!fs_1.default.existsSync(jsonPath)) {
42
- throw new Error(`package.json not found in ${root}`);
43
- }
44
- return JSON.parse(fs_1.default.readFileSync(jsonPath, 'utf-8'));
45
- }
46
- /* ------------------------------------------------------------------
47
- * Mono (.mono) handling
48
- * ------------------------------------------------------------------ */
49
- const DISALLOWED_FILES = new Set(['tools']);
50
- function readJsonFile(filePath) {
51
- return JSON.parse(fs_1.default.readFileSync(filePath, 'utf-8'));
52
- }
53
- /**
54
- * Resolve the .mono directory.
55
- * Priority:
56
- * 1. project root/.mono
57
- * 2. cwd/.mono
58
- */
59
- function resolveMonoDirectory() {
60
- const root = getRootDirectory();
61
- const rootMono = path_1.default.join(root, '.mono');
62
- if (fs_1.default.existsSync(rootMono))
63
- return rootMono;
64
- const cwdMono = path_1.default.join(process.cwd(), '.mono');
65
- if (fs_1.default.existsSync(cwdMono))
66
- return cwdMono;
67
- return null;
68
- }
69
- function getMonoFiles() {
70
- const dir = resolveMonoDirectory();
71
- if (!dir)
72
- return [];
73
- return fs_1.default
74
- .readdirSync(dir)
75
- .filter((f) => f.endsWith('.json'))
76
- .map((f) => path_1.default.join(dir, f));
77
- }
78
- /**
79
- * Load and validate mono configuration.
80
- */
81
- function getMonoConfig() {
82
- const monoDir = resolveMonoDirectory();
83
- if (!monoDir) {
84
- return {
85
- files: {},
86
- config: {
87
- envMap: [],
88
- workspace: { packageMaps: {} },
89
- prodFlag: 'live',
90
- },
91
- };
92
- }
93
- const files = {};
94
- let config = {
95
- envMap: [],
96
- workspace: { packageMaps: {} },
97
- prodFlag: 'live',
98
- };
99
- for (const filePath of getMonoFiles()) {
100
- const fileName = path_1.default.basename(filePath, '.json');
101
- if (DISALLOWED_FILES.has(fileName)) {
102
- throw new Error(`Disallowed file name in .mono directory: ${fileName}`);
103
- }
104
- const data = readJsonFile(filePath);
105
- if (fileName === 'config') {
106
- if (typeof data === 'object' && data !== null) {
107
- config = data;
108
- }
109
- }
110
- else {
111
- files[fileName] = data;
112
- }
113
- }
114
- return { files, config };
115
- }
@@ -1,25 +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.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
- }