@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.
- package/README.md +76 -93
- package/dist/{types/index.d.ts → index.d.ts} +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{types/lib → lib}/app.d.ts +1 -0
- package/dist/lib/app.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/boot.d.ts +1 -0
- package/dist/lib/commands/build-process/boot.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/cliFactory.d.ts +1 -0
- package/dist/lib/commands/build-process/cliFactory.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/dataLayer.d.ts +1 -0
- package/dist/lib/commands/build-process/dataLayer.d.ts.map +1 -0
- package/dist/lib/commands/build-process/index.d.ts +2 -0
- package/dist/lib/commands/build-process/index.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/readEnv.d.ts +1 -0
- package/dist/lib/commands/build-process/readEnv.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/runMonoCommand.d.ts +1 -0
- package/dist/lib/commands/build-process/runMonoCommand.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/runners/processManager.d.ts +1 -0
- package/dist/lib/commands/build-process/runners/processManager.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/runners/runBackground.d.ts +1 -0
- package/dist/lib/commands/build-process/runners/runBackground.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/runners/runForeground.d.ts +1 -0
- package/dist/lib/commands/build-process/runners/runForeground.d.ts.map +1 -0
- package/dist/lib/commands/build-process/runners/runForeground.js +1 -1
- package/dist/{types/lib → lib}/commands/build-process/test.d.ts +1 -0
- package/dist/lib/commands/build-process/test.d.ts.map +1 -0
- package/dist/lib/commands/build-process/testflag.d.ts +2 -0
- package/dist/lib/commands/build-process/testflag.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/build-process/validators.d.ts +1 -0
- package/dist/lib/commands/build-process/validators.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/loadFromRoot.d.ts +1 -0
- package/dist/lib/commands/loadFromRoot.d.ts.map +1 -0
- package/dist/lib/commands/prune/index.d.ts +2 -0
- package/dist/lib/commands/prune/index.d.ts.map +1 -0
- package/dist/{types/lib → lib}/commands/prune/prune.d.ts +1 -0
- package/dist/lib/commands/prune/prune.d.ts.map +1 -0
- package/dist/{types/lib → lib}/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/{types/lib → lib}/filterUnwantedEnvVars.d.ts +1 -0
- package/dist/lib/filterUnwantedEnvVars.d.ts.map +1 -0
- package/dist/{types/lib → lib}/generateNewEnvList.d.ts +1 -0
- package/dist/lib/generateNewEnvList.d.ts.map +1 -0
- package/dist/{types/lib → lib}/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +2 -2
- package/dist/src/cdk.d.ts +2 -0
- package/dist/src/cdk.d.ts.map +1 -0
- package/dist/src/{cdk/cdk.js → cdk.js} +4 -3
- package/dist/src/expo.d.ts +2 -0
- package/dist/src/expo.d.ts.map +1 -0
- package/dist/src/expo.js +6 -111
- package/dist/{types/src → src}/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +7 -7
- package/dist/src/project.d.ts +3 -0
- package/dist/src/project.d.ts.map +1 -0
- package/dist/src/project.js +14 -0
- package/dist/{types/src → src}/stack.d.ts +1 -0
- package/dist/src/stack.d.ts.map +1 -0
- package/dist/src/stack.js +4 -4
- package/dist/src/tools.d.ts +2 -0
- package/dist/src/tools.d.ts.map +1 -0
- package/dist/src/tools.js +5 -36
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/lib/commands/build-process/runners/runForeground.ts +1 -1
- package/lib/index.ts +1 -1
- package/package.json +41 -26
- package/src/cdk.ts +2 -0
- package/src/expo.ts +2 -116
- package/src/index.ts +2 -2
- package/src/project.ts +19 -0
- package/src/stack.ts +3 -3
- package/src/tools.ts +2 -39
- package/dist/src/cdk/index.js +0 -17
- package/dist/src/expo-files/filterUnwantedEnvVars.js +0 -147
- package/dist/src/loadFromRoot.js +0 -115
- package/dist/src/merge-env.js +0 -25
- package/dist/src/project/build-mono-readme.js +0 -456
- package/dist/src/project/build-readme.js +0 -4
- package/dist/src/project/generate-docs.js +0 -73
- package/dist/src/project/generate-readme.js +0 -309
- package/dist/src/project/index.js +0 -120
- package/dist/src/project/merge-env.js +0 -31
- package/dist/types/lib/commands/build-process/index.d.ts +0 -1
- package/dist/types/lib/commands/build-process/testflag.d.ts +0 -1
- package/dist/types/lib/commands/prune/index.d.ts +0 -1
- package/dist/types/src/cdk/cdk.d.ts +0 -1
- package/dist/types/src/cdk/index.d.ts +0 -1
- package/dist/types/src/expo-files/filterUnwantedEnvVars.d.ts +0 -3
- package/dist/types/src/expo.d.ts +0 -4
- package/dist/types/src/loadFromRoot.d.ts +0 -32
- package/dist/types/src/merge-env.d.ts +0 -1
- package/dist/types/src/project/build-mono-readme.d.ts +0 -1
- package/dist/types/src/project/build-readme.d.ts +0 -2
- package/dist/types/src/project/generate-docs.d.ts +0 -11
- package/dist/types/src/project/generate-readme.d.ts +0 -1
- package/dist/types/src/project/index.d.ts +0 -40
- package/dist/types/src/project/merge-env.d.ts +0 -1
- package/dist/types/src/tools.d.ts +0 -3
- package/src/cdk/cdk.ts +0 -1
- package/src/cdk/index.ts +0 -1
- package/src/expo-files/filterUnwantedEnvVars.ts +0 -155
- package/src/loadFromRoot.ts +0 -145
- package/src/merge-env.ts +0 -24
- package/src/project/build-mono-readme.ts +0 -545
- package/src/project/build-readme.ts +0 -2
- package/src/project/generate-docs.ts +0 -83
- package/src/project/generate-readme.ts +0 -351
- package/src/project/index.ts +0 -187
- 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 '
|
|
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
package/package.json
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mono-labs/cli",
|
|
3
|
-
"version": "0.
|
|
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/
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"types": "./dist/
|
|
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/
|
|
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/
|
|
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/
|
|
26
|
-
"require": "./dist/src/cdk
|
|
27
|
-
"default": "./dist/src/cdk
|
|
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/
|
|
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/
|
|
36
|
-
"require": "./dist/src/project
|
|
37
|
-
"default": "./dist/src/project
|
|
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
|
|
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
|
-
"@
|
|
74
|
-
"@
|
|
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
package/src/expo.ts
CHANGED
|
@@ -1,116 +1,2 @@
|
|
|
1
|
-
|
|
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 '
|
|
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 '
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
|
|
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'
|
package/dist/src/cdk/index.js
DELETED
|
@@ -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
|
-
}
|
package/dist/src/loadFromRoot.js
DELETED
|
@@ -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
|
-
}
|
package/dist/src/merge-env.js
DELETED
|
@@ -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
|
-
}
|