expo-bbase 1.4.1 → 1.6.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/dist/index.js CHANGED
@@ -2406,7 +2406,7 @@ var flashlistModule = {
2406
2406
  description: "@shopify/flash-list",
2407
2407
  defaultChecked: false,
2408
2408
  dependencies: {
2409
- "@shopify/flash-list": "^1.7.0"
2409
+ "@shopify/flash-list": "2.0.2"
2410
2410
  },
2411
2411
  devDependencies: {},
2412
2412
  files: [
@@ -4161,40 +4161,106 @@ function generateBasePackageJson(projectName) {
4161
4161
  main: "expo-router/entry",
4162
4162
  scripts: {
4163
4163
  start: "expo start",
4164
+ "reset-project": "node ./scripts/reset-project.js",
4164
4165
  android: "expo start --android",
4165
4166
  ios: "expo start --ios",
4166
4167
  web: "expo start --web",
4167
- lint: "eslint ."
4168
+ lint: "expo lint"
4168
4169
  },
4169
4170
  dependencies: {
4170
- expo: "~54.0.34",
4171
+ // ─── Expo core (aligned with create-expo-app SDK 54) ───────────
4172
+ expo: "~54.0.33",
4171
4173
  "expo-router": "~6.0.23",
4172
4174
  "expo-linking": "~8.0.12",
4173
4175
  "expo-constants": "~18.0.13",
4174
4176
  "expo-status-bar": "~3.0.9",
4175
4177
  "expo-splash-screen": "~31.0.13",
4176
4178
  "expo-font": "~14.0.11",
4179
+ "expo-haptics": "~15.0.8",
4180
+ "expo-image": "~3.0.11",
4181
+ "expo-symbols": "~1.0.8",
4182
+ "expo-system-ui": "~6.0.9",
4183
+ "expo-web-browser": "~15.0.10",
4184
+ // ─── React & React Native ─────────────────────────────────────
4177
4185
  react: "19.1.0",
4186
+ "react-dom": "19.1.0",
4178
4187
  "react-native": "0.81.5",
4188
+ "react-native-web": "~0.21.0",
4189
+ "@expo/vector-icons": "^15.0.3",
4190
+ "@react-navigation/bottom-tabs": "^7.4.0",
4191
+ "@react-navigation/elements": "^2.6.3",
4192
+ "@react-navigation/native": "^7.1.8",
4179
4193
  "react-native-safe-area-context": "~5.6.0",
4180
4194
  "react-native-screens": "~4.16.0",
4195
+ // ─── Animation (default in all projects) ──────────────────────
4181
4196
  "react-native-reanimated": "~4.1.1",
4182
4197
  "react-native-worklets": "~0.5.1",
4183
4198
  "react-native-gesture-handler": "~2.28.0",
4199
+ // ─── Styling ──────────────────────────────────────────────────
4184
4200
  nativewind: "^4.1.0",
4185
4201
  tailwindcss: "^3.4.0",
4186
- "react-native-svg": "^15.8.0"
4202
+ "react-native-svg": "15.12.1",
4203
+ // ─── Network ─────────────────────────────────────────────────
4204
+ "@tanstack/react-query": "^5.60.0",
4205
+ // ─── State ───────────────────────────────────────────────────
4206
+ zustand: "^5.0.0",
4207
+ // ─── Storage ─────────────────────────────────────────────────
4208
+ "react-native-mmkv": "^3.1.0",
4209
+ // ─── Payment ─────────────────────────────────────────────────
4210
+ "react-native-iap": "^12.15.0",
4211
+ // ─── Form ────────────────────────────────────────────────────
4212
+ "react-hook-form": "^7.54.0",
4213
+ "@hookform/resolvers": "^3.9.0",
4214
+ zod: "^3.24.0",
4215
+ // ─── Video ───────────────────────────────────────────────────
4216
+ "expo-av": "~16.0.8",
4217
+ // ─── Auth — Google ───────────────────────────────────────────
4218
+ "@react-native-google-signin/google-signin": "^13.1.0",
4219
+ // ─── Auth — Facebook ─────────────────────────────────────────
4220
+ "expo-auth-session": "~7.0.11",
4221
+ "expo-crypto": "~15.0.9",
4222
+ // ─── Auth — Apple ────────────────────────────────────────────
4223
+ "expo-apple-authentication": "~8.0.8",
4224
+ // ─── WebView ─────────────────────────────────────────────────
4225
+ "react-native-webview": "~13.15.0",
4226
+ // ─── i18n ────────────────────────────────────────────────────
4227
+ i18next: "^24.2.0",
4228
+ "react-i18next": "^15.2.0",
4229
+ "expo-localization": "~17.0.8",
4230
+ // ─── OTA ─────────────────────────────────────────────────────
4231
+ "expo-updates": "~29.0.17",
4232
+ // ─── Notifications ───────────────────────────────────────────
4233
+ "expo-notifications": "~0.32.17",
4234
+ // ─── Permissions ─────────────────────────────────────────────
4235
+ "expo-image-picker": "~17.0.11",
4236
+ "expo-camera": "~17.0.10",
4237
+ "expo-location": "~19.0.8",
4238
+ // ─── Bottom Sheet ────────────────────────────────────────────
4239
+ "@gorhom/bottom-sheet": "^5.1.0",
4240
+ // ─── FlashList ───────────────────────────────────────────────
4241
+ "@shopify/flash-list": "2.0.2",
4242
+ // ─── UI — reactnative.reusables ──────────────────────────────
4243
+ "class-variance-authority": "^0.7.1",
4244
+ clsx: "^2.1.1",
4245
+ "tailwind-merge": "^2.6.0",
4246
+ "@rn-primitives/slot": "^1.1.0",
4247
+ "@rn-primitives/types": "^1.1.0",
4248
+ "@rn-primitives/label": "^1.1.0",
4249
+ "@rn-primitives/separator": "^1.1.0",
4250
+ "@rn-primitives/alert-dialog": "^1.1.0"
4187
4251
  },
4188
4252
  devDependencies: {
4189
4253
  "@types/react": "~19.1.0",
4190
- typescript: "~5.9.2"
4254
+ typescript: "~5.9.2",
4255
+ eslint: "^9.25.0",
4256
+ "eslint-config-expo": "~10.0.0"
4191
4257
  }
4192
4258
  };
4193
4259
  }
4194
4260
 
4195
4261
  // src/index.ts
4196
4262
  var import_execa = require("execa");
4197
- var CLI_VERSION = "1.4.1";
4263
+ var CLI_VERSION = "1.6.0";
4198
4264
  var CONFIG_FILE = ".expo-bbase.json";
4199
4265
  async function run() {
4200
4266
  const program = new import_commander.Command();
@@ -4329,17 +4395,6 @@ async function createProject(projectName) {
4329
4395
  }
4330
4396
  spinner.text = "Generating package.json...";
4331
4397
  const pkgJson = generateBasePackageJson(projectName);
4332
- const allDeps = {};
4333
- const allDevDeps = {};
4334
- for (const mod of selectedModuleDefs) {
4335
- Object.assign(allDeps, mod.dependencies);
4336
- Object.assign(allDevDeps, mod.devDependencies);
4337
- }
4338
- Object.assign(pkgJson.dependencies, allDeps);
4339
- Object.assign(
4340
- pkgJson.devDependencies,
4341
- allDevDeps
4342
- );
4343
4398
  const pkgPath = import_path2.default.join(targetDir, "package.json");
4344
4399
  await writeJson(pkgPath, pkgJson);
4345
4400
  spinner.text = "Configuring app.json...";
@@ -4438,18 +4493,9 @@ async function upgradeProject(targetDir) {
4438
4493
  }
4439
4494
  }
4440
4495
  spinner.text = "Updating dependencies...";
4441
- const allDeps = {};
4442
- const allDevDeps = {};
4443
- for (const mod of selectedModuleDefs) {
4444
- Object.assign(allDeps, mod.dependencies);
4445
- Object.assign(allDevDeps, mod.devDependencies);
4446
- }
4447
4496
  const basePkg = generateBasePackageJson(config.projectName);
4448
- Object.assign(allDeps, basePkg.dependencies);
4449
- Object.assign(
4450
- allDevDeps,
4451
- basePkg.devDependencies
4452
- );
4497
+ const allDeps = basePkg.dependencies;
4498
+ const allDevDeps = basePkg.devDependencies;
4453
4499
  const pkgPath = import_path2.default.join(absDir, "package.json");
4454
4500
  await mergeDependencies(pkgPath, allDeps, allDevDeps);
4455
4501
  spinner.text = "Updating app.json...";
@@ -4581,14 +4627,6 @@ async function addModule(moduleIds, targetDir) {
4581
4627
  }
4582
4628
  }
4583
4629
  spinner.text = "Updating dependencies...";
4584
- const allDeps = {};
4585
- const allDevDeps = {};
4586
- for (const mod of newModuleDefs) {
4587
- Object.assign(allDeps, mod.dependencies);
4588
- Object.assign(allDevDeps, mod.devDependencies);
4589
- }
4590
- const pkgPath = import_path2.default.join(absDir, "package.json");
4591
- await mergeDependencies(pkgPath, allDeps, allDevDeps);
4592
4630
  spinner.text = "Updating app.json...";
4593
4631
  const existingModules = getModulesByIds(config.selectedModules);
4594
4632
  await updateAppJson(