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