@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.
Files changed (110) hide show
  1. package/dist/{types/index.d.ts → index.d.ts} +1 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/{types/lib → lib}/app.d.ts +1 -0
  4. package/dist/lib/app.d.ts.map +1 -0
  5. package/dist/{types/lib → lib}/commands/build-process/boot.d.ts +1 -0
  6. package/dist/lib/commands/build-process/boot.d.ts.map +1 -0
  7. package/dist/{types/lib → lib}/commands/build-process/cliFactory.d.ts +1 -0
  8. package/dist/lib/commands/build-process/cliFactory.d.ts.map +1 -0
  9. package/dist/{types/lib → lib}/commands/build-process/dataLayer.d.ts +1 -0
  10. package/dist/lib/commands/build-process/dataLayer.d.ts.map +1 -0
  11. package/dist/lib/commands/build-process/index.d.ts +2 -0
  12. package/dist/lib/commands/build-process/index.d.ts.map +1 -0
  13. package/dist/{types/lib → lib}/commands/build-process/readEnv.d.ts +1 -0
  14. package/dist/lib/commands/build-process/readEnv.d.ts.map +1 -0
  15. package/dist/{types/lib → lib}/commands/build-process/runMonoCommand.d.ts +1 -0
  16. package/dist/lib/commands/build-process/runMonoCommand.d.ts.map +1 -0
  17. package/dist/{types/lib → lib}/commands/build-process/runners/processManager.d.ts +1 -0
  18. package/dist/lib/commands/build-process/runners/processManager.d.ts.map +1 -0
  19. package/dist/{types/lib → lib}/commands/build-process/runners/runBackground.d.ts +1 -0
  20. package/dist/lib/commands/build-process/runners/runBackground.d.ts.map +1 -0
  21. package/dist/{types/lib → lib}/commands/build-process/runners/runForeground.d.ts +1 -0
  22. package/dist/lib/commands/build-process/runners/runForeground.d.ts.map +1 -0
  23. package/dist/lib/commands/build-process/runners/runForeground.js +1 -1
  24. package/dist/{types/lib → lib}/commands/build-process/test.d.ts +1 -0
  25. package/dist/lib/commands/build-process/test.d.ts.map +1 -0
  26. package/dist/lib/commands/build-process/testflag.d.ts +2 -0
  27. package/dist/lib/commands/build-process/testflag.d.ts.map +1 -0
  28. package/dist/{types/lib → lib}/commands/build-process/validators.d.ts +1 -0
  29. package/dist/lib/commands/build-process/validators.d.ts.map +1 -0
  30. package/dist/{types/lib → lib}/commands/loadFromRoot.d.ts +1 -0
  31. package/dist/lib/commands/loadFromRoot.d.ts.map +1 -0
  32. package/dist/lib/commands/prune/index.d.ts +2 -0
  33. package/dist/lib/commands/prune/index.d.ts.map +1 -0
  34. package/dist/{types/lib → lib}/commands/prune/prune.d.ts +1 -0
  35. package/dist/lib/commands/prune/prune.d.ts.map +1 -0
  36. package/dist/{types/lib → lib}/config.d.ts +1 -0
  37. package/dist/lib/config.d.ts.map +1 -0
  38. package/dist/{types/lib → lib}/filterUnwantedEnvVars.d.ts +1 -0
  39. package/dist/lib/filterUnwantedEnvVars.d.ts.map +1 -0
  40. package/dist/{types/lib → lib}/generateNewEnvList.d.ts +1 -0
  41. package/dist/lib/generateNewEnvList.d.ts.map +1 -0
  42. package/dist/{types/lib → lib}/index.d.ts +1 -0
  43. package/dist/lib/index.d.ts.map +1 -0
  44. package/dist/lib/index.js +2 -2
  45. package/dist/src/cdk.d.ts +2 -0
  46. package/dist/src/cdk.d.ts.map +1 -0
  47. package/dist/src/{cdk/cdk.js → cdk.js} +4 -3
  48. package/dist/src/expo.d.ts +2 -0
  49. package/dist/src/expo.d.ts.map +1 -0
  50. package/dist/src/expo.js +6 -111
  51. package/dist/{types/src → src}/index.d.ts +2 -1
  52. package/dist/src/index.d.ts.map +1 -0
  53. package/dist/src/index.js +7 -7
  54. package/dist/src/project.d.ts +3 -0
  55. package/dist/src/project.d.ts.map +1 -0
  56. package/dist/src/project.js +14 -0
  57. package/dist/{types/src → src}/stack.d.ts +1 -0
  58. package/dist/src/stack.d.ts.map +1 -0
  59. package/dist/src/stack.js +4 -4
  60. package/dist/src/tools.d.ts +2 -0
  61. package/dist/src/tools.d.ts.map +1 -0
  62. package/dist/src/tools.js +5 -36
  63. package/dist/tsconfig.tsbuildinfo +1 -0
  64. package/lib/commands/build-process/runners/runForeground.ts +1 -1
  65. package/lib/index.ts +1 -1
  66. package/package.json +41 -26
  67. package/src/cdk.ts +2 -0
  68. package/src/expo.ts +2 -116
  69. package/src/index.ts +2 -2
  70. package/src/project.ts +19 -0
  71. package/src/stack.ts +3 -3
  72. package/src/tools.ts +2 -39
  73. package/README.md +0 -123
  74. package/dist/src/cdk/index.js +0 -17
  75. package/dist/src/expo-files/filterUnwantedEnvVars.js +0 -147
  76. package/dist/src/loadFromRoot.js +0 -115
  77. package/dist/src/merge-env.js +0 -25
  78. package/dist/src/project/build-mono-readme.js +0 -456
  79. package/dist/src/project/build-readme.js +0 -4
  80. package/dist/src/project/generate-docs.js +0 -73
  81. package/dist/src/project/generate-readme.js +0 -309
  82. package/dist/src/project/index.js +0 -120
  83. package/dist/src/project/merge-env.js +0 -31
  84. package/dist/types/lib/commands/build-process/index.d.ts +0 -1
  85. package/dist/types/lib/commands/build-process/testflag.d.ts +0 -1
  86. package/dist/types/lib/commands/prune/index.d.ts +0 -1
  87. package/dist/types/src/cdk/cdk.d.ts +0 -1
  88. package/dist/types/src/cdk/index.d.ts +0 -1
  89. package/dist/types/src/expo-files/filterUnwantedEnvVars.d.ts +0 -3
  90. package/dist/types/src/expo.d.ts +0 -4
  91. package/dist/types/src/loadFromRoot.d.ts +0 -32
  92. package/dist/types/src/merge-env.d.ts +0 -1
  93. package/dist/types/src/project/build-mono-readme.d.ts +0 -1
  94. package/dist/types/src/project/build-readme.d.ts +0 -2
  95. package/dist/types/src/project/generate-docs.d.ts +0 -11
  96. package/dist/types/src/project/generate-readme.d.ts +0 -1
  97. package/dist/types/src/project/index.d.ts +0 -40
  98. package/dist/types/src/project/merge-env.d.ts +0 -1
  99. package/dist/types/src/tools.d.ts +0 -3
  100. package/src/cdk/cdk.ts +0 -1
  101. package/src/cdk/index.ts +0 -1
  102. package/src/expo-files/filterUnwantedEnvVars.ts +0 -155
  103. package/src/loadFromRoot.ts +0 -145
  104. package/src/merge-env.ts +0 -24
  105. package/src/project/build-mono-readme.ts +0 -545
  106. package/src/project/build-readme.ts +0 -2
  107. package/src/project/generate-docs.ts +0 -83
  108. package/src/project/generate-readme.ts +0 -351
  109. package/src/project/index.ts +0 -187
  110. package/src/project/merge-env.ts +0 -32
@@ -1,6 +1,6 @@
1
1
  import { spawn } from 'child_process'
2
2
  import { replaceTokens, setData } from '../dataLayer'
3
- import { filterUnwantedEnvVars } from '../../../../lib/filterUnwantedEnvVars'
3
+ import { filterUnwantedEnvVars } from '../../../filterUnwantedEnvVars'
4
4
 
5
5
  // Regex to capture tokens like: {out:field value}
6
6
  const TOKEN_RX = /\{out:(?<field>[^\s}]+)\s+(?<value>[^\s}]+)\}/g
package/lib/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { loadMergedEnv } from '../src/merge-env'
1
+ import { loadMergedEnv } from '@mono-labs/project'
2
2
 
3
3
  import { spawn } from 'node:child_process'
4
4
  import os from 'node:os'
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
1
  {
2
2
  "name": "@mono-labs/cli",
3
- "version": "0.0.246",
3
+ "version": "0.0.248",
4
4
  "type": "commonjs",
5
5
  "description": "A CLI tool for building and deploying projects",
6
6
  "main": "dist/index.js",
7
- "types": "dist/types/index.d.ts",
7
+ "types": "dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/types/index.d.ts",
10
+ "types": "./dist/index.d.ts",
11
11
  "require": "./dist/index.js",
12
12
  "default": "./dist/index.js"
13
13
  },
14
14
  "./expo": {
15
- "types": "./dist/types/src/expo.d.ts",
15
+ "types": "./dist/src/expo.d.ts",
16
16
  "require": "./dist/src/expo.js",
17
17
  "default": "./dist/src/expo.js"
18
18
  },
19
19
  "./tools": {
20
- "types": "./dist/types/src/tools.d.ts",
20
+ "types": "./dist/src/tools.d.ts",
21
21
  "require": "./dist/src/tools.js",
22
22
  "default": "./dist/src/tools.js"
23
23
  },
24
24
  "./cdk": {
25
- "types": "./dist/types/src/cdk/index.d.ts",
26
- "require": "./dist/src/cdk/index.js",
27
- "default": "./dist/src/cdk/index.js"
25
+ "types": "./dist/src/cdk.d.ts",
26
+ "require": "./dist/src/cdk.js",
27
+ "default": "./dist/src/cdk.js"
28
28
  },
29
29
  "./stack": {
30
- "types": "./dist/types/src/stack.d.ts",
30
+ "types": "./dist/src/stack.d.ts",
31
31
  "require": "./dist/src/stack.js",
32
32
  "default": "./dist/src/stack.js"
33
33
  },
34
34
  "./project": {
35
- "types": "./dist/types/src/project/index.d.ts",
36
- "require": "./dist/src/project/index.js",
37
- "default": "./dist/src/project/index.js"
35
+ "types": "./dist/src/project.d.ts",
36
+ "require": "./dist/src/project.js",
37
+ "default": "./dist/src/project.js"
38
38
  }
39
39
  },
40
40
  "repository": {
@@ -53,7 +53,7 @@
53
53
  "start": "node bin/mono.js",
54
54
  "dev": "node bin/mono.js",
55
55
  "test": "echo \"Error: no test specified\" && exit 1",
56
- "deploy": "tsc && npm version patch && npm publish --access public --registry https://registry.npmjs.org/",
56
+ "deploy": "tsc && npm publish --access public --registry https://registry.npmjs.org/",
57
57
  "release:patch": "npm version patch -m \"chore: release %s\" && npm publish --access public",
58
58
  "release:minor": "npm version minor -m \"chore: release %s\" && npm publish --access public",
59
59
  "release:major": "npm version major -m \"chore: release %s\" && npm publish --access public"
@@ -70,39 +70,54 @@
70
70
  "node": ">=20.0.0"
71
71
  },
72
72
  "dependencies": {
73
- "@aws-sdk/client-dynamodb": "^3.848.0",
74
- "@aws-sdk/util-dynamodb": "^3.848.0",
75
- "aws-cdk-lib": "^2.235.0",
73
+ "@mono-labs/project": "0.0.248",
74
+ "@mono-labs/expo": "0.0.248",
76
75
  "chalk": "^4.1.2",
77
76
  "commander": "^11.1.0",
78
- "constructs": "^10.4.5",
79
77
  "cross-spawn": "^7.0.6",
80
78
  "dotenv": "^17.2.0",
81
79
  "inquirer": "^12.8.2",
82
80
  "prettier": "^3.6.2",
83
81
  "tree-kill": "^1.2.2"
84
82
  },
85
- "devDependencies": {
86
- "@types/node": "^25.1.0",
87
- "eslint": "^8.57.0",
88
- "typescript": "^5.9.3",
89
- "expo": ">=52"
90
- },
91
83
  "peerDependencies": {
84
+ "aws-cdk-lib": "^2.235.0",
85
+ "constructs": "^10.4.5",
86
+ "@aws-sdk/client-dynamodb": "^3.848.0",
87
+ "@aws-sdk/util-dynamodb": "^3.848.0",
92
88
  "expo": ">=52"
93
89
  },
94
90
  "peerDependenciesMeta": {
91
+ "aws-cdk-lib": {
92
+ "optional": true
93
+ },
94
+ "constructs": {
95
+ "optional": true
96
+ },
97
+ "@aws-sdk/client-dynamodb": {
98
+ "optional": true
99
+ },
100
+ "@aws-sdk/util-dynamodb": {
101
+ "optional": true
102
+ },
95
103
  "expo": {
96
104
  "optional": true
97
105
  }
98
106
  },
107
+ "devDependencies": {
108
+ "@types/node": "^25.1.0",
109
+ "typescript": "^5.9.3",
110
+ "aws-cdk-lib": "^2.235.0",
111
+ "constructs": "^10.4.5",
112
+ "@aws-sdk/client-dynamodb": "^3.848.0",
113
+ "@aws-sdk/util-dynamodb": "^3.848.0",
114
+ "expo": ">=52"
115
+ },
99
116
  "files": [
100
117
  "bin/",
101
118
  "lib/",
102
119
  "src/",
103
120
  "dist/",
104
- "types.d.ts",
105
121
  "README.md"
106
- ],
107
- "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
122
+ ]
108
123
  }
package/src/cdk.ts ADDED
@@ -0,0 +1,2 @@
1
+ // Backward-compatible re-export from @mono-labs/expo
2
+ export { replaceTokens, setUpConfig } from '@mono-labs/expo'
package/src/expo.ts CHANGED
@@ -1,116 +1,2 @@
1
- import type { AppJSONConfig, ExpoConfig } from 'expo/config'
2
-
3
- export function replaceTokens(input: string, tokens: Record<string, string>): string {
4
- return input.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (_m, k1, k2) => {
5
- const key = (k1 || k2) as string
6
- const val = tokens[key]
7
- return val == null ? '' : String(val)
8
- })
9
- }
10
-
11
- function filterEnvByPrefix(env: NodeJS.ProcessEnv, prefix: string): Record<string, string> {
12
- const filtered: Record<string, string> = {}
13
- for (const [key, value] of Object.entries(env)) {
14
- if (key.startsWith(prefix) && typeof value === 'string') {
15
- filtered[key] = value
16
- }
17
- }
18
- return filtered
19
- }
20
-
21
- export function setUpConfig(config: AppJSONConfig): ExpoConfig {
22
- const { extra = {}, ...other } = (config.expo ?? {}) as any
23
-
24
- const router = extra['router'] ? { origin: false, ...extra['router'] } : { origin: false }
25
-
26
- return {
27
- ...(config as any),
28
- expo: {
29
- ...other,
30
- extra: {
31
- ...filterEnvByPrefix(process.env, 'NEXT_PUBLIC_'),
32
- eas: {
33
- projectId: process.env.EAS_PROJECT_ID,
34
- },
35
- router,
36
- ...extra,
37
- },
38
- },
39
- } as ExpoConfig
40
- }
41
-
42
- export function filterUnwantedEnvVarsEAS(envVars: Record<string, string>): Record<string, string> {
43
- // Keep in sync with lib/filterUnwantedEnvVars.ts
44
- const unwantedPrefixes = [
45
- 'ProgramData',
46
- 'ProgramFiles',
47
- 'ProgramFiles(x86)',
48
- 'ProgramW6432',
49
- 'PSModulePath',
50
- 'PUBLIC',
51
- 'TEMP',
52
- 'TMP',
53
- 'EFC_',
54
- 'FPS_',
55
- 'GIT_',
56
- 'NVM_',
57
- 'VSCODE_',
58
- 'windir',
59
- 'Chocolatey',
60
- 'ALLUSERSPROFILE',
61
- 'APPDATA',
62
- 'CommonProgramFiles',
63
- 'CommonProgramW6432',
64
- 'ComSpec',
65
- 'Driver',
66
- 'HOME',
67
- 'npm',
68
- 'LOCALAPPDATA',
69
- 'LOGONSERVER',
70
- 'NUMBER_OF_PROCESSORS',
71
- 'OS',
72
- 'COREPACK',
73
- 'PROCESSOR',
74
- 'USERDOMAIN',
75
- 'USERDOMAIN_ROAMINGPROFILE',
76
- 'USERNAME',
77
- 'USERPROFILE',
78
- 'CUDA',
79
- 'SESSIONNAME',
80
- 'ZES',
81
- '3DVPATH',
82
- 'APP_NAME',
83
- 'asl.log',
84
- 'BERRY_BIN_FOLDER',
85
- 'CHROME_CRASHPAD_PIPE_NAME',
86
- 'COLORTERM',
87
- 'COMPUTERNAME',
88
- 'CUDNN',
89
- 'EAS_BUILD_PROFILE',
90
- 'EAS_PROJECT_ID',
91
- 'EXPO_UNSTABLE_ATLAS',
92
- 'INIT_CWD',
93
- 'JAVA_HOME',
94
- 'LANG',
95
- 'OneDrive',
96
- 'ORIGINAL_XDG_CURRENT_DESKTOP',
97
- 'PROJECT_CWD',
98
- 'PROMPT',
99
- 'PWD',
100
- 'TERM_PROGRAM',
101
- 'TERM_PROGRAM_VERSION',
102
- '__PSLockDownPolicy',
103
- 'PATH',
104
- 'SystemRoot',
105
- 'SystemDrive',
106
- 'npm_',
107
- ]
108
-
109
- const out: Record<string, string> = {}
110
- for (const [key, value] of Object.entries(envVars)) {
111
- if (!unwantedPrefixes.some((prefix) => key.startsWith(prefix))) {
112
- out[key] = value
113
- }
114
- }
115
- return out
116
- }
1
+ // Backward-compatible re-export from @mono-labs/expo
2
+ export { replaceTokens, setUpConfig, filterUnwantedEnvVarsEAS } from '@mono-labs/expo'
package/src/index.ts CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  import {
4
4
  filterUnwantedEnvVars,
5
- filterUnwantedEnvVarsEAS,
5
+ filterUnwantedEnvVarsEASExpo as filterUnwantedEnvVarsEAS,
6
6
  generateNewEnvList,
7
- } from './expo-files/filterUnwantedEnvVars'
7
+ } from '@mono-labs/expo'
8
8
 
9
9
  /* ------------------------------------------------------------------
10
10
  * Internal data layer
package/src/project.ts ADDED
@@ -0,0 +1,19 @@
1
+ // Backward-compatible re-export from @mono-labs/project
2
+ export {
3
+ findProjectRoot,
4
+ getRootDirectory,
5
+ getRootJson,
6
+ resolveMonoDirectory,
7
+ getMonoFiles,
8
+ getMonoConfig,
9
+ loadAppConfig,
10
+ loadProjectConfig,
11
+ loadMergedEnv,
12
+ } from '@mono-labs/project'
13
+
14
+ export type {
15
+ MonoWorkspaceConfig,
16
+ MonoProjectConfig,
17
+ MonoFiles,
18
+ MonoConfig,
19
+ } from '@mono-labs/project'
package/src/stack.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as cdk from 'aws-cdk-lib'
2
2
  import { Construct } from 'constructs'
3
- import { loadMergedEnv } from './project/merge-env'
3
+ import { loadMergedEnv } from '@mono-labs/project'
4
4
 
5
5
  loadMergedEnv()
6
6
  //cdk deploy --context owner=cody --context region=us-west-1
@@ -26,7 +26,7 @@ export abstract class CustomStack extends cdk.Stack {
26
26
  protected enableNATGateway: boolean = false
27
27
 
28
28
  constructor(scope: Construct, id: string, props: CustomStackProps = {}) {
29
- // 🔑 Resolve account + region BEFORE super()
29
+ // Resolve account + region BEFORE super()
30
30
  const resolvedEnv: cdk.Environment | undefined = {
31
31
  account: props.env?.account ?? process.env.AWS_ACCOUNT ?? cdk.Aws.ACCOUNT_ID, // final fallback (lazy token)
32
32
  region: props.env?.region ?? process.env.AWS_REGION ?? 'us-east-2',
@@ -37,7 +37,7 @@ export abstract class CustomStack extends cdk.Stack {
37
37
  env: resolvedEnv,
38
38
  })
39
39
 
40
- // Now its safe to read these
40
+ // Now it's safe to read these
41
41
  this.ownerName = props.ownerName ?? 'dev'
42
42
  this.domainName = props.domainName
43
43
  this.region = resolvedEnv.region!
package/src/tools.ts CHANGED
@@ -1,39 +1,2 @@
1
- import type { ExpoConfig, AppJSONConfig } from 'expo/config'
2
-
3
- export function replaceTokens(input: string, tokens: Record<string, string>): string {
4
- return input.replace(/\$\{([^}]+)\}|\$([A-Z0-9_]+)/g, (_m, k1, k2) => {
5
- const key = (k1 || k2) as string
6
- const val = tokens[key]
7
- return val == null ? '' : String(val)
8
- })
9
- }
10
-
11
- function filterEnvByPrefix(env: NodeJS.ProcessEnv, prefix: string): Record<string, string> {
12
- const filtered: Record<string, string> = {}
13
- for (const [key, value] of Object.entries(env)) {
14
- if (key.startsWith(prefix) && typeof value === 'string') {
15
- filtered[key] = value
16
- }
17
- }
18
- return filtered
19
- }
20
-
21
- export function setUpConfig(config: AppJSONConfig): ExpoConfig {
22
- const { extra = {}, ...other } = (config.expo ?? {}) as any
23
- const router = extra['router'] ? { origin: false, ...extra['router'] } : { origin: false }
24
-
25
- return {
26
- ...(config as any),
27
- expo: {
28
- ...other,
29
- extra: {
30
- ...filterEnvByPrefix(process.env, 'NEXT_PUBLIC_'),
31
- eas: {
32
- projectId: process.env.EAS_PROJECT_ID,
33
- },
34
- router,
35
- ...extra,
36
- },
37
- },
38
- } as ExpoConfig
39
- }
1
+ // Backward-compatible re-export from @mono-labs/expo/tools
2
+ export { replaceTokens, setUpConfig } from '@mono-labs/expo'
package/README.md DELETED
@@ -1,123 +0,0 @@
1
- # mono-labs
2
-
3
- Declarative monorepo orchestration, project tooling, and infrastructure
4
- integration — built to scale real systems, not just scripts.
5
-
6
- ---
7
-
8
- ## What This Is
9
-
10
- mono-labs is a monorepo control plane.
11
-
12
- It combines:
13
-
14
- - a declarative, token-aware CLI runtime
15
- - project-level orchestration utilities
16
- - infrastructure and CI integration primitives
17
-
18
- The goal is to make a monorepo behave like a single, coordinated system across:
19
-
20
- - local development
21
- - CI pipelines
22
- - deployments
23
- - infrastructure management
24
-
25
- ---
26
-
27
- ## What Problems It Solves
28
-
29
- Most monorepos suffer from:
30
-
31
- - duplicated scripts across packages
32
- - environment drift between dev and CI
33
- - infrastructure logic isolated in pipelines
34
- - brittle bash scripts
35
- - slow onboarding
36
-
37
- mono-labs solves this by providing:
38
-
39
- - declarative command definitions
40
- - shared runtime state via tokens
41
- - reusable project utilities
42
- - programmatic CDK helpers
43
- - one mental model for dev, CI, and deploy
44
-
45
- ---
46
-
47
- ## High-Level Architecture
48
-
49
- mono-labs is intentionally layered:
50
-
51
- 1. `.mono/` Declarative command definitions (JSON).
52
-
53
- 2. CLI Runtime (`bin` + `lib`) Loads `.mono`, builds commands, executes
54
- workflows, manages processes.
55
-
56
- 3. Project Orchestration (`src/project`) Environment merging, configuration
57
- management, monorepo utilities.
58
-
59
- 4. Infrastructure Integration (`src/cdk`) CDK helpers, stack orchestration,
60
- CI-friendly deployment primitives.
61
-
62
- Each layer can be used independently, but they are designed to work together.
63
-
64
- ---
65
-
66
- ## Quick Start
67
-
68
- Create a `.mono` directory and add:
69
-
70
- .mono/hello.json
71
-
72
- { "actions": ["echo Hello World"] }
73
-
74
- Run:
75
-
76
- yarn mono hello
77
-
78
- ---
79
-
80
- ## Typical Developer Workflow
81
-
82
- yarn mono dev yarn mono serve yarn mono mobile
83
-
84
- If unsure:
85
-
86
- yarn mono help
87
-
88
- ---
89
-
90
- ## Documentation Index
91
-
92
- Start here:
93
-
94
- - docs/README.txt
95
-
96
- Key docs:
97
-
98
- - docs/architecture.md
99
- - docs/configuration.md
100
- - docs/examples.md
101
- - docs/troubleshooting.md
102
-
103
- Advanced:
104
-
105
- - docs/project-orchestration.md
106
- - docs/infrastructure-integration.md
107
-
108
- ---
109
-
110
- ## Who This Is For
111
-
112
- mono-labs is designed for teams that:
113
-
114
- - run full-stack systems
115
- - manage real infrastructure
116
- - care about reproducibility
117
- - want dev and CI to behave the same
118
-
119
- ---
120
-
121
- ## License
122
-
123
- MIT © Contributors
@@ -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
- }