@mono-labs/cli 0.0.246 → 0.0.248
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/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/README.md +0 -123
- 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,155 +0,0 @@
|
|
|
1
|
-
import { getMonoConfig } from '../loadFromRoot'
|
|
2
|
-
|
|
3
|
-
export function filterUnwantedEnvVars(env: Record<string, string>) {
|
|
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
|
-
}
|
|
55
|
-
|
|
56
|
-
export function filterUnwantedEnvVarsEAS(env: Record<string, string>) {
|
|
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
|
-
}
|
|
132
|
-
|
|
133
|
-
export function generateNewEnvList(processEnv: Record<string, string>): Record<string, string> {
|
|
134
|
-
const { config } = getMonoConfig()
|
|
135
|
-
|
|
136
|
-
const envPrefixes: string[] = Array.isArray(config.envMap) ? config.envMap : []
|
|
137
|
-
|
|
138
|
-
const result: Record<string, string> = { ...processEnv }
|
|
139
|
-
|
|
140
|
-
for (const [key, value] of Object.entries(processEnv)) {
|
|
141
|
-
// Only clone MONO_ variables
|
|
142
|
-
if (!key.startsWith('MONO_')) continue
|
|
143
|
-
|
|
144
|
-
// Skip secrets
|
|
145
|
-
if (key.includes('SECRET')) continue
|
|
146
|
-
|
|
147
|
-
const suffix = key.slice('MONO_'.length)
|
|
148
|
-
|
|
149
|
-
for (const prefix of envPrefixes) {
|
|
150
|
-
const mappedKey = `${prefix}_${suffix}`
|
|
151
|
-
result[mappedKey] = value
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return result
|
|
155
|
-
}
|
package/src/loadFromRoot.ts
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
|
|
4
|
-
/* ------------------------------------------------------------------
|
|
5
|
-
* Types
|
|
6
|
-
* ------------------------------------------------------------------ */
|
|
7
|
-
|
|
8
|
-
export interface MonoWorkspaceConfig {
|
|
9
|
-
packageMaps: Record<string, string>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface MonoProjectConfig {
|
|
13
|
-
envMap: string[];
|
|
14
|
-
workspace: MonoWorkspaceConfig;
|
|
15
|
-
prodFlag: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type MonoFiles = Record<string, unknown>;
|
|
19
|
-
|
|
20
|
-
export interface MonoConfig {
|
|
21
|
-
config: MonoProjectConfig;
|
|
22
|
-
files: MonoFiles;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/* ------------------------------------------------------------------
|
|
26
|
-
* Helpers
|
|
27
|
-
* ------------------------------------------------------------------ */
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Walk up from cwd until we find a directory containing package.json.
|
|
31
|
-
* This is treated as the project root.
|
|
32
|
-
*/
|
|
33
|
-
export function findProjectRoot(startDir: string = process.cwd()): string {
|
|
34
|
-
let current = startDir;
|
|
35
|
-
|
|
36
|
-
while (true) {
|
|
37
|
-
const pkg = path.join(current, 'package.json');
|
|
38
|
-
if (fs.existsSync(pkg)) return current;
|
|
39
|
-
|
|
40
|
-
const parent = path.dirname(current);
|
|
41
|
-
if (parent === current) break;
|
|
42
|
-
|
|
43
|
-
current = parent;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Fallback: use cwd
|
|
47
|
-
return startDir;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function getRootDirectory(): string {
|
|
51
|
-
return findProjectRoot();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function getRootJson(): Record<string, unknown> {
|
|
55
|
-
const root = getRootDirectory();
|
|
56
|
-
const jsonPath = path.join(root, 'package.json');
|
|
57
|
-
|
|
58
|
-
if (!fs.existsSync(jsonPath)) {
|
|
59
|
-
throw new Error(`package.json not found in ${root}`);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return JSON.parse(fs.readFileSync(jsonPath, 'utf-8'));
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* ------------------------------------------------------------------
|
|
66
|
-
* Mono (.mono) handling
|
|
67
|
-
* ------------------------------------------------------------------ */
|
|
68
|
-
|
|
69
|
-
const DISALLOWED_FILES = new Set(['tools']);
|
|
70
|
-
|
|
71
|
-
function readJsonFile(filePath: string): unknown {
|
|
72
|
-
return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Resolve the .mono directory.
|
|
77
|
-
* Priority:
|
|
78
|
-
* 1. project root/.mono
|
|
79
|
-
* 2. cwd/.mono
|
|
80
|
-
*/
|
|
81
|
-
export function resolveMonoDirectory(): string | null {
|
|
82
|
-
const root = getRootDirectory();
|
|
83
|
-
const rootMono = path.join(root, '.mono');
|
|
84
|
-
if (fs.existsSync(rootMono)) return rootMono;
|
|
85
|
-
|
|
86
|
-
const cwdMono = path.join(process.cwd(), '.mono');
|
|
87
|
-
if (fs.existsSync(cwdMono)) return cwdMono;
|
|
88
|
-
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export function getMonoFiles(): string[] {
|
|
93
|
-
const dir = resolveMonoDirectory();
|
|
94
|
-
if (!dir) return [];
|
|
95
|
-
|
|
96
|
-
return fs
|
|
97
|
-
.readdirSync(dir)
|
|
98
|
-
.filter((f) => f.endsWith('.json'))
|
|
99
|
-
.map((f) => path.join(dir, f));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Load and validate mono configuration.
|
|
104
|
-
*/
|
|
105
|
-
export function getMonoConfig(): MonoConfig {
|
|
106
|
-
const monoDir = resolveMonoDirectory();
|
|
107
|
-
|
|
108
|
-
if (!monoDir) {
|
|
109
|
-
return {
|
|
110
|
-
files: {},
|
|
111
|
-
config: {
|
|
112
|
-
envMap: [],
|
|
113
|
-
workspace: { packageMaps: {} },
|
|
114
|
-
prodFlag: 'live',
|
|
115
|
-
},
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const files: MonoFiles = {};
|
|
120
|
-
let config: MonoProjectConfig = {
|
|
121
|
-
envMap: [],
|
|
122
|
-
workspace: { packageMaps: {} },
|
|
123
|
-
prodFlag: 'live',
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
for (const filePath of getMonoFiles()) {
|
|
127
|
-
const fileName = path.basename(filePath, '.json');
|
|
128
|
-
|
|
129
|
-
if (DISALLOWED_FILES.has(fileName)) {
|
|
130
|
-
throw new Error(`Disallowed file name in .mono directory: ${fileName}`);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
const data = readJsonFile(filePath);
|
|
134
|
-
|
|
135
|
-
if (fileName === 'config') {
|
|
136
|
-
if (typeof data === 'object' && data !== null) {
|
|
137
|
-
config = data as MonoProjectConfig;
|
|
138
|
-
}
|
|
139
|
-
} else {
|
|
140
|
-
files[fileName] = data;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
return { files, config };
|
|
145
|
-
}
|
package/src/merge-env.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
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
|
-
}
|