rn-env-setup 1.1.0 → 1.3.0
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/LICENSE +21 -0
- package/README.md +92 -171
- package/dist/cli.js +13 -0
- package/dist/cli.js.map +1 -1
- package/dist/generators/package-scripts-generator.d.ts +3 -0
- package/dist/generators/package-scripts-generator.d.ts.map +1 -0
- package/dist/generators/package-scripts-generator.js +133 -0
- package/dist/generators/package-scripts-generator.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +15 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ankit Dhawan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# rn-env-setup
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
---
|
|
3
|
+
Set up and manage multiple React Native environments (like `dev`, `staging`, `prod`) from one config file.
|
|
6
4
|
|
|
7
5
|
## Install
|
|
8
6
|
|
|
@@ -12,36 +10,23 @@ npm install -g rn-env-setup
|
|
|
12
10
|
npx rn-env-setup init
|
|
13
11
|
```
|
|
14
12
|
|
|
15
|
-
---
|
|
16
|
-
|
|
17
13
|
## Quick Start
|
|
18
14
|
|
|
19
|
-
### Option A — Interactive (no config file needed)
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
cd your-rn-project
|
|
23
|
-
npx rn-env-setup init # prompts for all details, saves rn-env.yaml
|
|
24
|
-
npx rn-env-setup generate # applies everything
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Option B — Config file (CI-friendly)
|
|
28
|
-
|
|
29
|
-
1. Create `rn-env.yaml` in your project root (see example below).
|
|
30
|
-
2. Run:
|
|
31
|
-
|
|
32
15
|
```bash
|
|
33
|
-
|
|
34
|
-
npx rn-env-setup
|
|
16
|
+
cd your-react-native-app
|
|
17
|
+
npx rn-env-setup init
|
|
18
|
+
npx rn-env-setup validate
|
|
19
|
+
npx rn-env-setup generate
|
|
35
20
|
```
|
|
36
21
|
|
|
37
|
-
|
|
22
|
+
This creates native environment setup for Android + iOS and generates helpful scripts in your app `package.json`.
|
|
38
23
|
|
|
39
|
-
##
|
|
24
|
+
## Minimal `rn-env.yaml`
|
|
40
25
|
|
|
41
26
|
```yaml
|
|
42
27
|
appName: MyApp
|
|
43
28
|
packageName: com.myapp
|
|
44
|
-
jsEnvStrategy: react-native-config
|
|
29
|
+
jsEnvStrategy: react-native-config
|
|
45
30
|
generateJsEnv: true
|
|
46
31
|
generateCiSnippets: false
|
|
47
32
|
enableRollback: true
|
|
@@ -51,9 +36,7 @@ environments:
|
|
|
51
36
|
appName: MyApp Dev
|
|
52
37
|
bundleId: com.myapp.dev
|
|
53
38
|
apiUrl: https://dev.api.example.com
|
|
54
|
-
logo: ./assets/icons/dev.png
|
|
55
39
|
variables:
|
|
56
|
-
ENABLE_LOGS: true
|
|
57
40
|
FEATURE_NEW_UI: true
|
|
58
41
|
|
|
59
42
|
- name: staging
|
|
@@ -67,204 +50,142 @@ environments:
|
|
|
67
50
|
apiUrl: https://api.example.com
|
|
68
51
|
```
|
|
69
52
|
|
|
70
|
-
---
|
|
71
|
-
|
|
72
53
|
## CLI Commands
|
|
73
54
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
| `rn-env-setup validate` | Validate config without generating |
|
|
83
|
-
| `rn-env-setup rollback` | Restore original files from backups |
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## What Gets Generated
|
|
55
|
+
- `rn-env-setup init`: Interactive setup and creates `rn-env.yaml`
|
|
56
|
+
- `rn-env-setup validate`: Validates config only
|
|
57
|
+
- `rn-env-setup generate`: Applies Android + iOS + JS env generation
|
|
58
|
+
- `rn-env-setup generate --dry-run`: Preview changes only
|
|
59
|
+
- `rn-env-setup generate --android-only`: Skip iOS generation
|
|
60
|
+
- `rn-env-setup generate --ios-only`: Skip Android generation
|
|
61
|
+
- `rn-env-setup generate --config path/to/rn-env.yaml`: Use a custom config path
|
|
62
|
+
- `rn-env-setup rollback`: Restores backed-up files
|
|
88
63
|
|
|
89
|
-
|
|
64
|
+
## Common Scripts Generated In Your App
|
|
90
65
|
|
|
91
|
-
|
|
92
|
-
- `applicationId` per flavor
|
|
93
|
-
- `resValue "string", "app_name"` per flavor
|
|
94
|
-
- `buildConfigField "String", "API_URL"` per flavor
|
|
95
|
-
- All custom `variables` as `buildConfigField` entries
|
|
66
|
+
After `generate`, your app `package.json` gets scripts like:
|
|
96
67
|
|
|
97
|
-
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
react-native run-android --variant=devDebug
|
|
104
|
-
react-native run-android --variant=stagingRelease
|
|
105
|
-
cd android && ./gradlew assembleProdRelease
|
|
106
|
-
```
|
|
68
|
+
- `env:android:run:dev`
|
|
69
|
+
- `env:android:apk:dev:debug`
|
|
70
|
+
- `env:android:apk:dev:release`
|
|
71
|
+
- `env:android:aab:dev:release`
|
|
72
|
+
- `env:ios:run:dev`
|
|
107
73
|
|
|
108
|
-
|
|
74
|
+
(And equivalent scripts for each environment name.)
|
|
109
75
|
|
|
110
|
-
|
|
111
|
-
- `PRODUCT_BUNDLE_IDENTIFIER`
|
|
112
|
-
- `PRODUCT_NAME`
|
|
113
|
-
- `API_URL`
|
|
114
|
-
- All custom variables
|
|
76
|
+
## FAQ
|
|
115
77
|
|
|
116
|
-
|
|
78
|
+
### 1) How do I edit environments and regenerate?
|
|
117
79
|
|
|
118
|
-
|
|
80
|
+
1. Update `rn-env.yaml`:
|
|
81
|
+
- add/remove environments
|
|
82
|
+
- change `bundleId`, `apiUrl`, `variables`, app names
|
|
83
|
+
2. Run:
|
|
119
84
|
|
|
120
|
-
**Build commands output:**
|
|
121
85
|
```bash
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
xcodebuild -scheme MyApp-Prod -configuration Prod archive
|
|
86
|
+
npx rn-env-setup validate
|
|
87
|
+
npx rn-env-setup generate
|
|
125
88
|
```
|
|
126
89
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
**`react-native-config` strategy** → generates `.env.dev`, `.env.staging`, `.env.prod` + `src/env.d.ts`
|
|
90
|
+
Use this first if you want to preview:
|
|
130
91
|
|
|
131
92
|
```bash
|
|
132
|
-
|
|
133
|
-
ENVFILE=.env.dev react-native run-android
|
|
134
|
-
ENVFILE=.env.staging react-native run-ios
|
|
93
|
+
npx rn-env-setup generate --dry-run
|
|
135
94
|
```
|
|
136
95
|
|
|
137
|
-
|
|
96
|
+
### 2) How do I add Firebase `google-services.json` for each environment?
|
|
138
97
|
|
|
139
|
-
|
|
140
|
-
import Config from './env';
|
|
98
|
+
Use Android flavor-specific files:
|
|
141
99
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
100
|
+
- `android/app/src/dev/google-services.json`
|
|
101
|
+
- `android/app/src/staging/google-services.json`
|
|
102
|
+
- `android/app/src/prod/google-services.json`
|
|
145
103
|
|
|
146
|
-
|
|
104
|
+
You can also keep a default fallback at:
|
|
147
105
|
|
|
148
|
-
|
|
106
|
+
- `android/app/google-services.json`
|
|
149
107
|
|
|
150
|
-
|
|
151
|
-
- `.github/workflows/rn-multi-env.yml` — GitHub Actions workflow with one job per environment per platform
|
|
152
|
-
- `bitrise-rn-env.yml` — Bitrise workflow snippets
|
|
108
|
+
Make sure your Android Firebase Gradle setup is already present in your RN app (`com.google.gms.google-services` plugin + classpath).
|
|
153
109
|
|
|
154
|
-
|
|
110
|
+
If you also use iOS Firebase, keep environment-specific `GoogleService-Info.plist` files and select/copy the right one per scheme/build step.
|
|
155
111
|
|
|
156
|
-
|
|
157
|
-
# .github/workflows/build.yml
|
|
158
|
-
- name: Generate env config
|
|
159
|
-
run: npx rn-env-setup generate --config rn-env.yaml
|
|
160
|
-
```
|
|
112
|
+
### 3) How do I run the app for an environment?
|
|
161
113
|
|
|
162
|
-
|
|
114
|
+
Use generated scripts:
|
|
163
115
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
`rn-env-setup generate` is safe to run multiple times:
|
|
169
|
-
|
|
170
|
-
- **`build.gradle`**: The injected block is wrapped in marker comments. Re-running replaces only the marked block, leaving all other Gradle configuration untouched.
|
|
171
|
-
- **Xcconfig files**: Overwritten on each run (content is deterministic).
|
|
172
|
-
- **Scheme files**: Skipped if already exist (add `--force` to overwrite).
|
|
173
|
-
- **Source set directories**: Created with `ensureDir` — no-op if present.
|
|
174
|
-
- **Backups**: Only created once per file — won't overwrite an existing backup.
|
|
116
|
+
```bash
|
|
117
|
+
npm run env:android:run:dev
|
|
118
|
+
npm run env:ios:run:dev
|
|
119
|
+
```
|
|
175
120
|
|
|
176
|
-
|
|
121
|
+
Replace `dev` with `staging` or `prod`.
|
|
177
122
|
|
|
178
|
-
|
|
123
|
+
### 4) How do I build APK, AAB, and IPA for different environments?
|
|
179
124
|
|
|
180
|
-
|
|
125
|
+
Android:
|
|
181
126
|
|
|
182
127
|
```bash
|
|
183
|
-
|
|
128
|
+
npm run env:android:apk:dev:debug
|
|
129
|
+
npm run env:android:apk:dev:release
|
|
130
|
+
npm run env:android:aab:dev:release
|
|
184
131
|
```
|
|
185
132
|
|
|
186
|
-
|
|
133
|
+
iOS archive (IPA flow):
|
|
187
134
|
|
|
188
|
-
|
|
135
|
+
```bash
|
|
136
|
+
cd ios
|
|
137
|
+
xcodebuild -workspace MyApp.xcworkspace -scheme MyApp-Dev -configuration Dev -archivePath build/MyApp-Dev.xcarchive archive
|
|
138
|
+
```
|
|
189
139
|
|
|
190
|
-
|
|
140
|
+
Then export IPA using your `ExportOptions.plist`:
|
|
191
141
|
|
|
142
|
+
```bash
|
|
143
|
+
xcodebuild -exportArchive -archivePath build/MyApp-Dev.xcarchive -exportPath build -exportOptionsPlist ExportOptions.plist
|
|
192
144
|
```
|
|
193
|
-
src/
|
|
194
|
-
├── cli.ts # commander entry point: init, generate, validate, rollback
|
|
195
|
-
├── index.ts # package entrypoint exports for programmatic usage
|
|
196
|
-
│
|
|
197
|
-
├── android/
|
|
198
|
-
│ ├── android-generator.ts # Orchestrates Android: gradle + source sets + icons
|
|
199
|
-
│ └── gradle-parser.ts # Safe bracket-balanced build.gradle manipulation
|
|
200
|
-
│
|
|
201
|
-
├── ios/
|
|
202
|
-
│ ├── ios-generator.ts # Orchestrates iOS: xcconfig + schemes + pbxproj
|
|
203
|
-
│ └── xcode-patcher.ts # pbxproj manipulation via `xcode` npm package
|
|
204
|
-
│
|
|
205
|
-
├── generators/
|
|
206
|
-
│ ├── js-env-generator.ts # .env files / typed env.ts for JS layer
|
|
207
|
-
│ └── ci-generator.ts # GitHub Actions + Bitrise CI snippets
|
|
208
|
-
│
|
|
209
|
-
├── types/
|
|
210
|
-
│ ├── index.ts # ProjectConfig, EnvironmentConfig, GenerationResult types
|
|
211
|
-
│ └── xcode.d.ts # Local declaration shim for xcode package
|
|
212
|
-
│
|
|
213
|
-
└── utils/
|
|
214
|
-
├── config-loader.ts # YAML/JSON loader + inquirer interactive prompts
|
|
215
|
-
├── file-utils.ts # backup, rollback, logDry, normalizeEnvName, findFirst
|
|
216
|
-
└── validator.ts # Pre-flight validation: duplicates, paths, bundle IDs
|
|
217
|
-
```
|
|
218
145
|
|
|
219
|
-
|
|
146
|
+
### 5) How do I use environment variables or base URL in code?
|
|
147
|
+
|
|
148
|
+
Each environment gets `apiUrl` and optional `variables` from `rn-env.yaml`.
|
|
220
149
|
|
|
221
|
-
|
|
150
|
+
If `jsEnvStrategy: react-native-config`:
|
|
222
151
|
|
|
223
|
-
|
|
152
|
+
```ts
|
|
153
|
+
import Config from 'react-native-config';
|
|
224
154
|
|
|
225
|
-
|
|
226
|
-
|
|
155
|
+
const baseUrl = Config.API_URL;
|
|
156
|
+
const featureFlag = Config.FEATURE_NEW_UI;
|
|
157
|
+
```
|
|
227
158
|
|
|
228
|
-
|
|
159
|
+
If `jsEnvStrategy: custom`, use generated `src/env.ts`:
|
|
229
160
|
|
|
230
|
-
|
|
161
|
+
```ts
|
|
162
|
+
import Config from './src/env';
|
|
231
163
|
|
|
232
|
-
|
|
164
|
+
const baseUrl = Config.API_URL;
|
|
165
|
+
```
|
|
233
166
|
|
|
234
|
-
|
|
235
|
-
|---|---|
|
|
236
|
-
| Duplicate environment names | Validation error before generation |
|
|
237
|
-
| Duplicate bundle IDs | Validation error before generation |
|
|
238
|
-
| Missing logo file | Warning, generation continues |
|
|
239
|
-
| Existing productFlavors (not ours) | Warning, replaced by ours |
|
|
240
|
-
| No `.xcodeproj` found | iOS generation skipped with warning |
|
|
241
|
-
| Generation fails mid-way | Rollback restores all backed-up files |
|
|
242
|
-
| Config file not found | Clear error: run `init` first |
|
|
167
|
+
### 6) How do I write test cases for different environments?
|
|
243
168
|
|
|
244
|
-
|
|
169
|
+
Use environment-specific test runs.
|
|
245
170
|
|
|
246
|
-
|
|
171
|
+
Jest example (API URL assertions):
|
|
247
172
|
|
|
248
|
-
|
|
173
|
+
```ts
|
|
174
|
+
const envs = ['dev', 'staging', 'prod'];
|
|
249
175
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
},
|
|
257
|
-
};
|
|
176
|
+
envs.forEach((env) => {
|
|
177
|
+
test(`API URL exists for ${env}`, () => {
|
|
178
|
+
process.env.ENV = env;
|
|
179
|
+
// load env config and assert URL/flags
|
|
180
|
+
});
|
|
181
|
+
});
|
|
258
182
|
```
|
|
259
183
|
|
|
260
|
-
|
|
261
|
-
- `--full-targets` flag for full iOS target duplication
|
|
262
|
-
- White-label / multi-brand support (overlapping environments)
|
|
263
|
-
- OTA / EAS Update channel injection
|
|
264
|
-
- Fastlane lane generation
|
|
265
|
-
- Firebase multi-app configuration
|
|
184
|
+
Recommended strategy:
|
|
266
185
|
|
|
267
|
-
|
|
186
|
+
- Unit tests: validate env config mapping and feature flags
|
|
187
|
+
- Integration tests: mock API client per environment base URL
|
|
188
|
+
- E2E tests: run per environment build/scheme in CI matrix
|
|
268
189
|
|
|
269
190
|
## License
|
|
270
191
|
|
package/dist/cli.js
CHANGED
|
@@ -10,6 +10,7 @@ import { generateAndroid } from './android/android-generator.js';
|
|
|
10
10
|
import { generateIos } from './ios/ios-generator.js';
|
|
11
11
|
import { generateJsEnv } from './generators/js-env-generator.js';
|
|
12
12
|
import { generateCiSnippets } from './generators/ci-generator.js';
|
|
13
|
+
import { generatePackageScripts } from './generators/package-scripts-generator.js';
|
|
13
14
|
import { rollbackAll, printCommandSummary } from './utils/file-utils.js';
|
|
14
15
|
const VERSION = '1.0.0';
|
|
15
16
|
const program = new Command();
|
|
@@ -141,6 +142,18 @@ program
|
|
|
141
142
|
console.error(chalk.red(e instanceof Error ? e.message : String(e)));
|
|
142
143
|
}
|
|
143
144
|
}
|
|
145
|
+
// ── Package scripts (run/build/health) ───────────────────────────────────
|
|
146
|
+
{
|
|
147
|
+
const spinner = ora('Generating package.json scripts...').start();
|
|
148
|
+
try {
|
|
149
|
+
const result = await generatePackageScripts(ctx);
|
|
150
|
+
handleResult(result, spinner, 'Package scripts');
|
|
151
|
+
}
|
|
152
|
+
catch (e) {
|
|
153
|
+
spinner.fail(chalk.red('package.json scripts generation failed'));
|
|
154
|
+
console.error(chalk.red(e instanceof Error ? e.message : String(e)));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
144
157
|
// ── CI snippets ───────────────────────────────────────────────────────────
|
|
145
158
|
if (config.generateCiSnippets) {
|
|
146
159
|
const spinner = ora('Generating CI snippets...').start();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-scripts-generator.d.ts","sourceRoot":"","sources":["../../src/generators/package-scripts-generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMvE,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgE7F"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// src/generators/package-scripts-generator.ts
|
|
2
|
+
// Updates the target RN app package.json with environment run/build scripts
|
|
3
|
+
// and generates a Gradle variant health-check helper.
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { logDry, normalizeEnvName } from '../utils/file-utils.js';
|
|
8
|
+
const PACKAGE_JSON_PATH = 'package.json';
|
|
9
|
+
const GRADLE_HEALTH_SCRIPT_PATH = 'scripts/gradle-health-check.cjs';
|
|
10
|
+
export async function generatePackageScripts(ctx) {
|
|
11
|
+
const result = {
|
|
12
|
+
success: false,
|
|
13
|
+
filesModified: [],
|
|
14
|
+
filesCreated: [],
|
|
15
|
+
commands: [],
|
|
16
|
+
warnings: [],
|
|
17
|
+
errors: [],
|
|
18
|
+
};
|
|
19
|
+
const packageJsonPath = path.join(ctx.projectRoot, PACKAGE_JSON_PATH);
|
|
20
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
21
|
+
result.warnings.push(`Skipping package scripts: ${PACKAGE_JSON_PATH} not found.`);
|
|
22
|
+
result.success = true;
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
let pkg;
|
|
26
|
+
try {
|
|
27
|
+
pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
result.errors.push(`Failed to parse ${PACKAGE_JSON_PATH}: ${e instanceof Error ? e.message : String(e)}`);
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
const currentScripts = pkg.scripts ?? {};
|
|
34
|
+
const generatedScripts = buildGeneratedScripts(ctx);
|
|
35
|
+
const nextScripts = { ...currentScripts, ...generatedScripts };
|
|
36
|
+
const scriptsChanged = JSON.stringify(currentScripts) !== JSON.stringify(nextScripts);
|
|
37
|
+
if (scriptsChanged) {
|
|
38
|
+
if (ctx.dryRun) {
|
|
39
|
+
logDry(`Would modify: ${PACKAGE_JSON_PATH}`);
|
|
40
|
+
for (const [name, command] of Object.entries(generatedScripts)) {
|
|
41
|
+
logDry(` script: ${name} = ${command}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
pkg.scripts = nextScripts;
|
|
46
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(pkg, null, 2) + '\n', 'utf-8');
|
|
47
|
+
result.filesModified.push(PACKAGE_JSON_PATH);
|
|
48
|
+
console.log(chalk.green(` ✔ Updated scripts in ${PACKAGE_JSON_PATH}`));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const gradleHealthScript = buildGradleHealthScript(ctx);
|
|
52
|
+
const gradleHealthPath = path.join(ctx.projectRoot, GRADLE_HEALTH_SCRIPT_PATH);
|
|
53
|
+
const relHealthPath = GRADLE_HEALTH_SCRIPT_PATH;
|
|
54
|
+
const healthScriptExisted = fs.existsSync(gradleHealthPath);
|
|
55
|
+
if (ctx.dryRun) {
|
|
56
|
+
logDry(`Would create/update: ${relHealthPath}`);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
await fs.ensureDir(path.dirname(gradleHealthPath));
|
|
60
|
+
fs.writeFileSync(gradleHealthPath, gradleHealthScript, 'utf-8');
|
|
61
|
+
if (!healthScriptExisted) {
|
|
62
|
+
result.filesCreated.push(relHealthPath);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
result.filesModified.push(relHealthPath);
|
|
66
|
+
}
|
|
67
|
+
console.log(chalk.green(` ✔ Wrote ${relHealthPath}`));
|
|
68
|
+
}
|
|
69
|
+
result.success = true;
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
function buildGeneratedScripts(ctx) {
|
|
73
|
+
const scripts = {};
|
|
74
|
+
const appName = ctx.config.appName;
|
|
75
|
+
const needsEnvFile = ctx.config.jsEnvStrategy === 'react-native-config' || ctx.config.jsEnvStrategy === 'dotenv';
|
|
76
|
+
for (const env of ctx.config.environments) {
|
|
77
|
+
const envKey = normalizeEnvName(env.name);
|
|
78
|
+
const envCap = capitalize(envKey);
|
|
79
|
+
const envPrefix = needsEnvFile ? `ENVFILE=.env.${envKey} ` : '';
|
|
80
|
+
scripts[`env:android:run:${envKey}`] = `${envPrefix}react-native run-android --variant=${envKey}Debug`;
|
|
81
|
+
scripts[`env:android:apk:${envKey}:debug`] = `cd android && ./gradlew assemble${envCap}Debug`;
|
|
82
|
+
scripts[`env:android:apk:${envKey}:release`] = `cd android && ./gradlew assemble${envCap}Release`;
|
|
83
|
+
scripts[`env:android:aab:${envKey}:release`] = `cd android && ./gradlew bundle${envCap}Release`;
|
|
84
|
+
scripts[`env:ios:run:${envKey}`] = `${envPrefix}react-native run-ios --scheme ${appName}-${envCap}`;
|
|
85
|
+
}
|
|
86
|
+
scripts['env:health:gradle'] = `node ${GRADLE_HEALTH_SCRIPT_PATH}`;
|
|
87
|
+
return scripts;
|
|
88
|
+
}
|
|
89
|
+
function buildGradleHealthScript(ctx) {
|
|
90
|
+
const envKeys = ctx.config.environments.map((env) => normalizeEnvName(env.name));
|
|
91
|
+
const envCaps = envKeys.map((env) => capitalize(env));
|
|
92
|
+
return `#!/usr/bin/env node
|
|
93
|
+
// Auto-generated by rn-env-setup. Verifies Gradle flavor variants/tasks exist.
|
|
94
|
+
|
|
95
|
+
const { execSync } = require('node:child_process');
|
|
96
|
+
|
|
97
|
+
const FLAVORS = ${JSON.stringify(envCaps, null, 2)};
|
|
98
|
+
const EXPECTED_TASKS = FLAVORS.flatMap((flavor) => [
|
|
99
|
+
\`assemble\${flavor}Debug\`,
|
|
100
|
+
\`assemble\${flavor}Release\`,
|
|
101
|
+
\`bundle\${flavor}Release\`,
|
|
102
|
+
]);
|
|
103
|
+
|
|
104
|
+
function runGradleTasks() {
|
|
105
|
+
try {
|
|
106
|
+
return execSync('./gradlew tasks --all', { cwd: 'android', stdio: 'pipe', encoding: 'utf-8' });
|
|
107
|
+
} catch (error) {
|
|
108
|
+
const stderr = error && typeof error === 'object' ? error.stderr : '';
|
|
109
|
+
const message = String(stderr || error);
|
|
110
|
+
console.error('Gradle health check failed to execute ./gradlew tasks --all');
|
|
111
|
+
console.error(message);
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const tasksOutput = runGradleTasks();
|
|
117
|
+
const missing = EXPECTED_TASKS.filter((task) => !new RegExp(\`\\\\b\${task}\\\\b\`).test(tasksOutput));
|
|
118
|
+
|
|
119
|
+
if (missing.length > 0) {
|
|
120
|
+
console.error('Gradle health check failed. Missing expected flavor/variant tasks:');
|
|
121
|
+
for (const task of missing) {
|
|
122
|
+
console.error(\` - \${task}\`);
|
|
123
|
+
}
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
console.log('Gradle health check passed. All expected flavor/variant tasks are present.');
|
|
128
|
+
`;
|
|
129
|
+
}
|
|
130
|
+
function capitalize(s) {
|
|
131
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=package-scripts-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-scripts-generator.js","sourceRoot":"","sources":["../../src/generators/package-scripts-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './ios/ios-generator.js';
|
|
|
5
5
|
export * from './ios/xcode-patcher.js';
|
|
6
6
|
export * from './generators/js-env-generator.js';
|
|
7
7
|
export * from './generators/ci-generator.js';
|
|
8
|
+
export * from './generators/package-scripts-generator.js';
|
|
8
9
|
export * from './utils/file-utils.js';
|
|
9
10
|
export * from './utils/validator.js';
|
|
10
11
|
export * from './utils/config-loader.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export * from './ios/ios-generator.js';
|
|
|
5
5
|
export * from './ios/xcode-patcher.js';
|
|
6
6
|
export * from './generators/js-env-generator.js';
|
|
7
7
|
export * from './generators/ci-generator.js';
|
|
8
|
+
export * from './generators/package-scripts-generator.js';
|
|
8
9
|
export * from './utils/file-utils.js';
|
|
9
10
|
export * from './utils/validator.js';
|
|
10
11
|
export * from './utils/config-loader.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rn-env-setup",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "CLI to automate Android product flavors
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "CLI to automate Android product flavors, iOS schemes/xcconfig, and JS env generation for React Native multi-environment apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
|
+
"homepage": "https://github.com/ad-dhawan/rn-env-setup#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/ad-dhawan/rn-env-setup.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/ad-dhawan/rn-env-setup/issues"
|
|
15
|
+
},
|
|
8
16
|
"bin": {
|
|
9
17
|
"rn-env-setup": "dist/cli.js"
|
|
10
18
|
},
|
|
@@ -16,7 +24,7 @@
|
|
|
16
24
|
"prepublishOnly": "npm run build"
|
|
17
25
|
},
|
|
18
26
|
"keywords": ["react-native", "flavors", "iOS", "Android", "CI", "multi-env"],
|
|
19
|
-
"author": "",
|
|
27
|
+
"author": "Ankit Dhawan",
|
|
20
28
|
"license": "MIT",
|
|
21
29
|
"dependencies": {
|
|
22
30
|
"chalk": "^5.3.0",
|
|
@@ -46,5 +54,8 @@
|
|
|
46
54
|
"files": [
|
|
47
55
|
"dist/",
|
|
48
56
|
"README.md"
|
|
49
|
-
]
|
|
57
|
+
],
|
|
58
|
+
"publishConfig": {
|
|
59
|
+
"access": "public"
|
|
60
|
+
}
|
|
50
61
|
}
|