@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.
- package/bin/mono.js +1 -1
- package/dist/index.js +32 -51
- package/dist/lib/app.js +52 -0
- package/dist/lib/commands/build-process/boot.js +12 -0
- package/dist/lib/commands/build-process/cliFactory.js +145 -0
- package/dist/lib/commands/build-process/dataLayer.js +56 -0
- package/dist/lib/commands/build-process/index.js +11 -0
- package/dist/lib/commands/build-process/readEnv.js +34 -0
- package/dist/lib/commands/build-process/runMonoCommand.js +82 -0
- package/dist/lib/commands/build-process/runners/processManager.js +45 -0
- package/dist/lib/commands/build-process/runners/runBackground.js +46 -0
- package/dist/lib/commands/build-process/runners/runForeground.js +52 -0
- package/dist/lib/commands/build-process/test.js +32 -0
- package/dist/lib/commands/build-process/testflag.js +4 -0
- package/dist/lib/commands/build-process/validators.js +17 -0
- package/dist/lib/commands/loadFromRoot.js +53 -0
- package/dist/lib/commands/prune/index.js +10 -0
- package/dist/lib/commands/prune/prune.js +49 -0
- package/dist/lib/config.js +6 -0
- package/dist/lib/filterUnwantedEnvVars.js +88 -0
- package/dist/lib/generateNewEnvList.js +17 -0
- package/dist/lib/index.js +49 -0
- package/dist/src/cdk/cdk.js +6 -0
- package/dist/src/cdk/index.js +17 -0
- package/dist/{expo.js → src/expo.js} +18 -34
- package/dist/src/index.js +56 -0
- package/dist/src/merge-env.js +25 -0
- package/dist/{project → src/project}/build-mono-readme.js +11 -20
- package/dist/{project → src/project}/generate-readme.js +6 -13
- package/dist/{project → src/project}/index.js +4 -12
- package/dist/{stack.js → src/stack.js} +2 -2
- package/dist/src/tools.js +39 -0
- package/dist/types/index.d.ts +50 -9
- package/dist/types/lib/app.d.ts +3 -0
- package/dist/types/lib/commands/build-process/boot.d.ts +8 -0
- package/dist/types/lib/commands/build-process/cliFactory.d.ts +32 -0
- package/dist/types/lib/commands/build-process/dataLayer.d.ts +7 -0
- package/dist/types/lib/commands/build-process/readEnv.d.ts +1 -0
- package/dist/types/lib/commands/build-process/runMonoCommand.d.ts +10 -0
- package/dist/types/lib/commands/build-process/runners/processManager.d.ts +5 -0
- package/dist/types/lib/commands/build-process/runners/runBackground.d.ts +2 -0
- package/dist/types/lib/commands/build-process/runners/runForeground.d.ts +6 -0
- package/dist/types/lib/commands/build-process/test.d.ts +1 -0
- package/dist/types/lib/commands/build-process/testflag.d.ts +1 -0
- package/dist/types/lib/commands/build-process/validators.d.ts +1 -0
- package/dist/types/lib/commands/loadFromRoot.d.ts +7 -0
- package/dist/types/lib/commands/prune/prune.d.ts +1 -0
- package/dist/types/lib/config.d.ts +2 -0
- package/dist/types/lib/filterUnwantedEnvVars.d.ts +2 -0
- package/dist/types/lib/generateNewEnvList.d.ts +1 -0
- package/dist/types/lib/index.d.ts +2 -0
- package/dist/types/src/cdk/cdk.d.ts +1 -0
- package/dist/types/src/cdk/index.d.ts +1 -0
- package/dist/types/src/expo.d.ts +4 -0
- package/dist/types/src/index.d.ts +15 -0
- package/dist/types/src/project/build-mono-readme.d.ts +1 -0
- package/dist/types/src/project/generate-readme.d.ts +1 -0
- package/dist/types/{project → src/project}/index.d.ts +1 -1
- package/dist/types/src/project/merge-env.d.ts +1 -0
- package/dist/types/src/tools.d.ts +3 -0
- package/lib/app.d.ts +3 -0
- package/lib/app.ts +58 -0
- package/lib/commands/build-process/boot.d.ts +8 -0
- package/lib/commands/build-process/boot.ts +21 -0
- package/lib/commands/build-process/cliFactory.d.ts +32 -0
- package/lib/commands/build-process/cliFactory.ts +219 -0
- package/lib/commands/build-process/dataLayer.d.ts +7 -0
- package/lib/commands/build-process/dataLayer.ts +61 -0
- package/lib/commands/build-process/index.d.ts +1 -0
- package/lib/commands/build-process/index.ts +14 -0
- package/lib/commands/build-process/readEnv.d.ts +1 -0
- package/lib/commands/build-process/readEnv.ts +37 -0
- package/lib/commands/build-process/runMonoCommand.d.ts +10 -0
- package/lib/commands/build-process/runMonoCommand.ts +96 -0
- package/lib/commands/build-process/runners/processManager.d.ts +5 -0
- package/lib/commands/build-process/runners/processManager.ts +42 -0
- package/lib/commands/build-process/runners/runBackground.d.ts +2 -0
- package/lib/commands/build-process/runners/runBackground.ts +56 -0
- package/lib/commands/build-process/runners/runForeground.d.ts +6 -0
- package/lib/commands/build-process/runners/runForeground.ts +59 -0
- package/lib/commands/build-process/test.d.ts +1 -0
- package/lib/commands/build-process/test.ts +42 -0
- package/lib/commands/build-process/testflag.d.ts +1 -0
- package/lib/commands/build-process/testflag.ts +1 -0
- package/lib/commands/build-process/validators.d.ts +1 -0
- package/lib/commands/build-process/validators.ts +16 -0
- package/lib/commands/loadFromRoot.d.ts +7 -0
- package/lib/commands/loadFromRoot.ts +51 -0
- package/lib/commands/prune/index.d.ts +1 -0
- package/lib/commands/prune/index.ts +9 -0
- package/lib/commands/prune/prune.d.ts +1 -0
- package/lib/commands/prune/prune.ts +50 -0
- package/lib/config.d.ts +2 -0
- package/lib/filterUnwantedEnvVars.d.ts +2 -0
- package/lib/filterUnwantedEnvVars.ts +95 -0
- package/lib/generateNewEnvList.d.ts +1 -0
- package/lib/generateNewEnvList.ts +17 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.ts +59 -0
- package/package.json +99 -84
- package/src/cdk/cdk.d.ts +1 -7
- package/src/cdk/cdk.ts +1 -0
- package/src/cdk/index.d.ts +1 -0
- package/src/cdk/index.ts +1 -0
- package/src/expo-files/filterUnwantedEnvVars.d.ts +3 -0
- package/src/expo-files/filterUnwantedEnvVars.ts +141 -144
- package/src/expo.d.ts +2 -9
- package/src/expo.ts +116 -0
- package/src/index.d.ts +22 -0
- package/src/index.ts +39 -42
- package/src/loadFromRoot.d.ts +32 -0
- package/src/merge-env.d.ts +1 -0
- package/src/merge-env.ts +24 -0
- package/src/project/build-mono-readme.d.ts +1 -0
- package/src/project/build-mono-readme.ts +460 -514
- package/src/project/build-readme.d.ts +2 -0
- package/src/project/generate-docs.d.ts +11 -0
- package/src/project/generate-readme.d.ts +1 -0
- package/src/project/generate-readme.ts +259 -284
- package/src/project/index.d.ts +45 -0
- package/src/project/index.ts +134 -144
- package/src/project/merge-env.d.ts +1 -0
- package/src/stack.d.ts +21 -0
- package/src/stack.ts +54 -55
- package/src/tools.d.ts +3 -4
- package/src/tools.ts +48 -0
- package/src/types/expo-config.d.ts +49 -0
- package/dist/cdk/index.js +0 -55
- package/dist/project/merge-env.js +0 -31
- package/dist/tools.js +0 -35
- package/dist/types/cdk/index.d.ts +0 -2
- package/dist/types/expo.d.ts +0 -3
- package/dist/types/merge-env.d.ts +0 -1
- package/dist/types/tools.d.ts +0 -1
- package/lib/app.js +0 -49
- package/lib/commands/build-process/boot.js +0 -15
- package/lib/commands/build-process/cliFactory.js +0 -161
- package/lib/commands/build-process/dataLayer.js +0 -59
- package/lib/commands/build-process/index.js +0 -13
- package/lib/commands/build-process/readEnv.js +0 -37
- package/lib/commands/build-process/runMonoCommand.js +0 -102
- package/lib/commands/build-process/runners/processManager.js +0 -38
- package/lib/commands/build-process/runners/runBackground.js +0 -60
- package/lib/commands/build-process/runners/runForeground.js +0 -60
- package/lib/commands/build-process/test.js +0 -50
- package/lib/commands/build-process/testflag.js +0 -1
- package/lib/commands/build-process/validators.js +0 -17
- package/lib/commands/generate/generateSeed.js +0 -223
- package/lib/commands/generate/index.js +0 -30
- package/lib/commands/loadFromRoot.js +0 -55
- package/lib/commands/prune/index.js +0 -12
- package/lib/commands/prune/prune.js +0 -50
- package/lib/commands/seed/import.js +0 -30
- package/lib/commands/seed/index.js +0 -12
- package/lib/commands/submit/index.js +0 -38
- package/lib/commands/update/eas.js +0 -39
- package/lib/commands/update/index.js +0 -87
- package/lib/filterUnwantedEnvVars.js +0 -123
- package/lib/generateNewEnvList.js +0 -14
- package/lib/index.js +0 -58
- package/src/cdk/index.js +0 -59
- package/src/expo.js +0 -133
- package/src/merge-env.js +0 -32
- package/src/tools.js +0 -36
- package/types.d.ts +0 -83
- /package/dist/{expo-files → src/expo-files}/filterUnwantedEnvVars.js +0 -0
- /package/dist/{loadFromRoot.js → src/loadFromRoot.js} +0 -0
- /package/dist/{project → src/project}/build-readme.js +0 -0
- /package/dist/{project → src/project}/generate-docs.js +0 -0
- /package/dist/{merge-env.js → src/project/merge-env.js} +0 -0
- /package/dist/types/{project/build-mono-readme.d.ts → lib/commands/build-process/index.d.ts} +0 -0
- /package/dist/types/{project/generate-readme.d.ts → lib/commands/prune/index.d.ts} +0 -0
- /package/dist/types/{expo-files → src/expo-files}/filterUnwantedEnvVars.d.ts +0 -0
- /package/dist/types/{loadFromRoot.d.ts → src/loadFromRoot.d.ts} +0 -0
- /package/dist/types/{project → src}/merge-env.d.ts +0 -0
- /package/dist/types/{project → src/project}/build-readme.d.ts +0 -0
- /package/dist/types/{project → src/project}/generate-docs.d.ts +0 -0
- /package/dist/types/{stack.d.ts → src/stack.d.ts} +0 -0
- /package/lib/{config.js → config.ts} +0 -0
|
@@ -1,158 +1,155 @@
|
|
|
1
|
-
import { getMonoConfig } from '../loadFromRoot'
|
|
1
|
+
import { getMonoConfig } from '../loadFromRoot'
|
|
2
2
|
|
|
3
3
|
export function filterUnwantedEnvVars(env: Record<string, string>) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
4
|
+
const unwantedPrefixes = [
|
|
5
|
+
// 'EFC_',
|
|
6
|
+
// 'FPS_',
|
|
7
|
+
// 'GIT_',
|
|
8
|
+
// 'NVM_',
|
|
9
|
+
// 'VSCODE_',
|
|
10
|
+
// 'LOGONSERVER',
|
|
11
|
+
// 'NUMBER_OF_PROCESSORS',
|
|
12
|
+
// 'OS',
|
|
13
|
+
// 'COREPACK',
|
|
14
|
+
// 'PROCESSOR',
|
|
15
|
+
// 'USERDOMAIN',
|
|
16
|
+
// 'USERDOMAIN_ROAMINGPROFILE',
|
|
17
|
+
// 'USERNAME',
|
|
18
|
+
// 'CUDA',
|
|
19
|
+
// 'SESSIONNAME',
|
|
20
|
+
// 'ZES',
|
|
21
|
+
// '3DVPATH',
|
|
22
|
+
// 'APP_NAME',
|
|
23
|
+
// 'asl.log',
|
|
24
|
+
// 'BERRY_BIN_FOLDER',
|
|
25
|
+
// 'CHROME_CRASHPAD_PIPE_NAME',
|
|
26
|
+
// 'COLORTERM',
|
|
27
|
+
// 'COMPUTERNAME',
|
|
28
|
+
// 'CUDNN',
|
|
29
|
+
// 'EAS_BUILD_PROFILE',
|
|
30
|
+
// 'EAS_PROJECT_ID',
|
|
31
|
+
// 'EXPO_UNSTABLE_ATLAS',
|
|
32
|
+
// 'INIT_CWD',
|
|
33
|
+
// 'JAVA_HOME',
|
|
34
|
+
// 'LANG',
|
|
35
|
+
// 'OneDrive',
|
|
36
|
+
// 'ORIGINAL_XDG_CURRENT_DESKTOP',
|
|
37
|
+
// 'PROJECT_CWD',
|
|
38
|
+
// 'PROMPT',
|
|
39
|
+
// 'PWD',
|
|
40
|
+
// 'TERM_PROGRAM',
|
|
41
|
+
// 'TERM_PROGRAM_VERSION',
|
|
42
|
+
// '__PSLockDownPolicy',
|
|
43
|
+
'npm_config_force',
|
|
44
|
+
]
|
|
45
|
+
return Object.keys(env).reduce(
|
|
46
|
+
(obj, key) => {
|
|
47
|
+
if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
|
|
48
|
+
obj[key] = env[key]
|
|
49
|
+
}
|
|
50
|
+
return obj
|
|
51
|
+
},
|
|
52
|
+
{} as Record<string, string>
|
|
53
|
+
)
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
export function filterUnwantedEnvVarsEAS(env: Record<string, string>) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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(
|
|
123
|
+
(obj: Record<string, string>, key) => {
|
|
124
|
+
if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
|
|
125
|
+
obj[key] = env[key]
|
|
126
|
+
}
|
|
127
|
+
return obj
|
|
128
|
+
},
|
|
129
|
+
{} as Record<string, string>
|
|
130
|
+
)
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
export function generateNewEnvList(
|
|
134
|
-
|
|
135
|
-
): Record<string, string> {
|
|
136
|
-
const { config } = getMonoConfig();
|
|
133
|
+
export function generateNewEnvList(processEnv: Record<string, string>): Record<string, string> {
|
|
134
|
+
const { config } = getMonoConfig()
|
|
137
135
|
|
|
138
|
-
|
|
139
|
-
Array.isArray(config.envMap) ? config.envMap : [];
|
|
136
|
+
const envPrefixes: string[] = Array.isArray(config.envMap) ? config.envMap : []
|
|
140
137
|
|
|
141
|
-
|
|
138
|
+
const result: Record<string, string> = { ...processEnv }
|
|
142
139
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
140
|
+
for (const [key, value] of Object.entries(processEnv)) {
|
|
141
|
+
// Only clone MONO_ variables
|
|
142
|
+
if (!key.startsWith('MONO_')) continue
|
|
146
143
|
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
// Skip secrets
|
|
145
|
+
if (key.includes('SECRET')) continue
|
|
149
146
|
|
|
150
|
-
|
|
147
|
+
const suffix = key.slice('MONO_'.length)
|
|
151
148
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
149
|
+
for (const prefix of envPrefixes) {
|
|
150
|
+
const mappedKey = `${prefix}_${suffix}`
|
|
151
|
+
result[mappedKey] = value
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return result
|
|
158
155
|
}
|
package/src/expo.d.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
// Type definitions for mono-labs CLI
|
|
2
1
|
import type { AppJSONConfig, ExpoConfig } from 'expo/config';
|
|
2
|
+
export declare function replaceTokens(input: string, tokens: Record<string, string>): string;
|
|
3
3
|
export declare function setUpConfig(config: AppJSONConfig): ExpoConfig;
|
|
4
|
-
export declare function
|
|
5
|
-
input: string,
|
|
6
|
-
tokens: Record<string, string>
|
|
7
|
-
): string;
|
|
8
|
-
|
|
9
|
-
export declare function filterUnwantedEnvVarsEAS(
|
|
10
|
-
envVars: Record<string, string>
|
|
11
|
-
): Record<string, string>;
|
|
4
|
+
export declare function filterUnwantedEnvVarsEAS(envVars: Record<string, string>): Record<string, string>;
|
package/src/expo.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
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
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
filterUnwantedEnvVars,
|
|
3
|
+
filterUnwantedEnvVarsEAS,
|
|
4
|
+
generateNewEnvList,
|
|
5
|
+
} from './expo-files/filterUnwantedEnvVars'
|
|
6
|
+
type DataLayer = Record<string, unknown>
|
|
7
|
+
export declare function setData(key: string, value: unknown): void
|
|
8
|
+
export declare function mergeData(obj?: Record<string, unknown>): DataLayer
|
|
9
|
+
export declare function getData(key?: string): unknown
|
|
10
|
+
export declare function hasData(key: string): boolean
|
|
11
|
+
export declare function replaceTokens(
|
|
12
|
+
str: unknown,
|
|
13
|
+
env?: Record<string, string | undefined>
|
|
14
|
+
): unknown
|
|
15
|
+
export { generateNewEnvList, filterUnwantedEnvVars, filterUnwantedEnvVarsEAS }
|
|
16
|
+
declare const _default: {
|
|
17
|
+
generateNewEnvList: typeof generateNewEnvList
|
|
18
|
+
replaceTokens: typeof replaceTokens
|
|
19
|
+
filterUnwantedEnvVars: typeof filterUnwantedEnvVars
|
|
20
|
+
filterUnwantedEnvVarsEAS: typeof filterUnwantedEnvVarsEAS
|
|
21
|
+
}
|
|
22
|
+
export default _default
|
package/src/index.ts
CHANGED
|
@@ -1,76 +1,73 @@
|
|
|
1
1
|
// Main entry point for @mono-labs/cli package
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from './expo-files/filterUnwantedEnvVars
|
|
4
|
+
filterUnwantedEnvVars,
|
|
5
|
+
filterUnwantedEnvVarsEAS,
|
|
6
|
+
generateNewEnvList,
|
|
7
|
+
} from './expo-files/filterUnwantedEnvVars'
|
|
8
8
|
|
|
9
9
|
/* ------------------------------------------------------------------
|
|
10
10
|
* Internal data layer
|
|
11
11
|
* ------------------------------------------------------------------ */
|
|
12
12
|
|
|
13
|
-
type DataLayer = Record<string, unknown
|
|
13
|
+
type DataLayer = Record<string, unknown>
|
|
14
14
|
|
|
15
|
-
const dataLayer: DataLayer = Object.create(null)
|
|
15
|
+
const dataLayer: DataLayer = Object.create(null)
|
|
16
16
|
|
|
17
17
|
export function setData(key: string, value: unknown): void {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
if (value !== undefined) {
|
|
19
|
+
dataLayer[key] = value
|
|
20
|
+
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export function mergeData(obj: Record<string, unknown> = {}): DataLayer {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
Object.entries(obj).forEach(([k, v]) => setData(k, v))
|
|
25
|
+
return dataLayer
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export function getData(key?: string): unknown {
|
|
29
|
-
|
|
29
|
+
return key ? dataLayer[key] : dataLayer
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export function hasData(key: string): boolean {
|
|
33
|
-
|
|
33
|
+
return Object.prototype.hasOwnProperty.call(dataLayer, key)
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/* ------------------------------------------------------------------
|
|
37
37
|
* Token replacement
|
|
38
38
|
* ------------------------------------------------------------------ */
|
|
39
39
|
|
|
40
|
-
export function replaceTokens(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return '';
|
|
62
|
-
});
|
|
40
|
+
export function replaceTokens(str: unknown, env?: Record<string, string | undefined>): unknown {
|
|
41
|
+
if (typeof str !== 'string') return str
|
|
42
|
+
|
|
43
|
+
return str.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (_match, k1, k2) => {
|
|
44
|
+
const key = k1 || k2
|
|
45
|
+
|
|
46
|
+
// data layer takes priority
|
|
47
|
+
if (hasData(key)) {
|
|
48
|
+
const val = getData(key)
|
|
49
|
+
return val == null ? '' : String(val)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// environment variables
|
|
53
|
+
if (env && Object.prototype.hasOwnProperty.call(env, key)) {
|
|
54
|
+
const val = env[key]
|
|
55
|
+
return val == null ? '' : String(val)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return ''
|
|
59
|
+
})
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
/* ------------------------------------------------------------------
|
|
66
63
|
* Exports
|
|
67
64
|
* ------------------------------------------------------------------ */
|
|
68
65
|
|
|
69
|
-
export { generateNewEnvList, filterUnwantedEnvVars, filterUnwantedEnvVarsEAS }
|
|
66
|
+
export { generateNewEnvList, filterUnwantedEnvVars, filterUnwantedEnvVarsEAS }
|
|
70
67
|
|
|
71
68
|
export default {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
69
|
+
generateNewEnvList,
|
|
70
|
+
replaceTokens,
|
|
71
|
+
filterUnwantedEnvVars,
|
|
72
|
+
filterUnwantedEnvVarsEAS,
|
|
73
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface MonoWorkspaceConfig {
|
|
2
|
+
packageMaps: Record<string, string>;
|
|
3
|
+
}
|
|
4
|
+
export interface MonoProjectConfig {
|
|
5
|
+
envMap: string[];
|
|
6
|
+
workspace: MonoWorkspaceConfig;
|
|
7
|
+
prodFlag: string;
|
|
8
|
+
}
|
|
9
|
+
export type MonoFiles = Record<string, unknown>;
|
|
10
|
+
export interface MonoConfig {
|
|
11
|
+
config: MonoProjectConfig;
|
|
12
|
+
files: MonoFiles;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Walk up from cwd until we find a directory containing package.json.
|
|
16
|
+
* This is treated as the project root.
|
|
17
|
+
*/
|
|
18
|
+
export declare function findProjectRoot(startDir?: string): string;
|
|
19
|
+
export declare function getRootDirectory(): string;
|
|
20
|
+
export declare function getRootJson(): Record<string, unknown>;
|
|
21
|
+
/**
|
|
22
|
+
* Resolve the .mono directory.
|
|
23
|
+
* Priority:
|
|
24
|
+
* 1. project root/.mono
|
|
25
|
+
* 2. cwd/.mono
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveMonoDirectory(): string | null;
|
|
28
|
+
export declare function getMonoFiles(): string[];
|
|
29
|
+
/**
|
|
30
|
+
* Load and validate mono configuration.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getMonoConfig(): MonoConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function loadMergedEnv(): NodeJS.ProcessEnv;
|
package/src/merge-env.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import fs from 'node:fs'
|
|
2
|
+
import path from 'node:path'
|
|
3
|
+
import dotenv from 'dotenv'
|
|
4
|
+
|
|
5
|
+
export function loadMergedEnv(): NodeJS.ProcessEnv {
|
|
6
|
+
const ENV_PATH = path.resolve(process.cwd(), '.env')
|
|
7
|
+
const ENV_LOCAL_PATH = path.resolve(process.cwd(), '.env.local')
|
|
8
|
+
|
|
9
|
+
const base = fs.existsSync(ENV_PATH) ? dotenv.parse(fs.readFileSync(ENV_PATH)) : {}
|
|
10
|
+
const local = fs.existsSync(ENV_LOCAL_PATH) ? dotenv.parse(fs.readFileSync(ENV_LOCAL_PATH)) : {}
|
|
11
|
+
|
|
12
|
+
const merged = {
|
|
13
|
+
...base,
|
|
14
|
+
...local,
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
for (const [key, value] of Object.entries(merged)) {
|
|
18
|
+
if (process.env[key] === undefined) {
|
|
19
|
+
process.env[key] = value
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return process.env
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|