create-expo-stack 2.1.9 → 2.1.11

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 (34) hide show
  1. package/build/commands/create-expo-stack.js +9 -5
  2. package/build/templates/base/App.tsx.ejs +26 -2
  3. package/build/templates/base/babel.config.js.ejs +11 -1
  4. package/build/templates/base/package.json.ejs +13 -2
  5. package/build/templates/packages/expo-router/stack/app/_layout.tsx.ejs +16 -4
  6. package/build/templates/packages/expo-router/stack/app/details.tsx.ejs +15 -4
  7. package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +20 -4
  8. package/build/templates/packages/expo-router/tabs/app/(tabs)/index.tsx.ejs +15 -5
  9. package/build/templates/packages/expo-router/tabs/app/(tabs)/two.tsx.ejs +14 -4
  10. package/build/templates/packages/expo-router/tabs/app/_layout.tsx.ejs +10 -0
  11. package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +15 -4
  12. package/build/templates/packages/expo-router/tabs/components/edit-screen-info.tsx.ejs +22 -4
  13. package/build/templates/packages/react-navigation/App.tsx.ejs +12 -3
  14. package/build/templates/packages/react-navigation/components/edit-screen-info.tsx.ejs +3 -3
  15. package/build/templates/packages/react-navigation/navigation/index.tsx.ejs +10 -4
  16. package/build/templates/packages/react-navigation/screens/details.tsx.ejs +15 -4
  17. package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +15 -4
  18. package/build/templates/packages/react-navigation/screens/one.tsx.ejs +14 -4
  19. package/build/templates/packages/react-navigation/screens/overview.tsx.ejs +18 -4
  20. package/build/templates/packages/react-navigation/screens/two.tsx.ejs +14 -4
  21. package/build/templates/packages/tamagui/tamagui.config.ts.ejs +102 -0
  22. package/build/types/types.d.ts +1 -1
  23. package/build/types/utilities/configureProjectFiles.d.ts +1 -1
  24. package/build/types/utilities/generateProjectFiles.d.ts +1 -1
  25. package/build/types/utilities/getPackageManager.d.ts +1 -1
  26. package/build/types.js +2 -2
  27. package/build/utilities/configureProjectFiles.js +12 -3
  28. package/build/utilities/generateProjectFiles.js +7 -4
  29. package/build/utilities/getPackageManager.js +6 -4
  30. package/build/utilities/printOutput.js +6 -1
  31. package/build/utilities/runCLI.js +17 -6
  32. package/build/utilities/runIgnite.js +13 -9
  33. package/package.json +1 -1
  34. package/readme.md +14 -14
@@ -38,13 +38,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.runIgnite = void 0;
40
40
  var constants_1 = require("../constants");
41
+ var getPackageManager_1 = require("./getPackageManager");
41
42
  function runIgnite(toolbox) {
42
43
  return __awaiter(this, void 0, void 0, function () {
43
- var _a, first, options, success, ask, system, projectName, askName, name_1;
44
- return __generator(this, function (_b) {
45
- switch (_b.label) {
44
+ var first, success, ask, system, pascalCase, projectName, askName, name_1, packageManager, formattedName, igniteVersion;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
46
47
  case 0:
47
- _a = toolbox.parameters, first = _a.first, options = _a.options, success = toolbox.print.success, ask = toolbox.prompt.ask, system = toolbox.system;
48
+ first = toolbox.parameters.first, success = toolbox.print.success, ask = toolbox.prompt.ask, system = toolbox.system, pascalCase = toolbox.strings.pascalCase;
48
49
  if (!!first) return [3 /*break*/, 2];
49
50
  askName = {
50
51
  type: 'input',
@@ -55,25 +56,28 @@ function runIgnite(toolbox) {
55
56
  // if name is undefined or empty string, use default name
56
57
  ];
57
58
  case 1:
58
- name_1 = (_b.sent()).name;
59
+ name_1 = (_a.sent()).name;
59
60
  // if name is undefined or empty string, use default name
60
61
  projectName = name_1 || constants_1.DEFAULT_APP_NAME;
61
62
  return [3 /*break*/, 3];
62
63
  case 2:
63
64
  projectName = first;
64
- _b.label = 3;
65
+ _a.label = 3;
65
66
  case 3:
67
+ packageManager = (0, getPackageManager_1.getPackageManager)(toolbox);
68
+ formattedName = pascalCase(projectName);
69
+ igniteVersion = packageManager === 'bun' ? 'next' : 'latest';
66
70
  success('Running Ignite CLI to create an opinionated stack...');
67
- return [4 /*yield*/, system.spawn("npx ignite-cli@latest new ".concat(projectName).concat(options.default && " --yes"), {
71
+ return [4 /*yield*/, system.spawn("npx ignite-cli@".concat(igniteVersion, " new ").concat(formattedName, " --packager=").concat(packageManager, " --yes"), {
68
72
  shell: true,
69
73
  stdio: 'inherit',
70
74
  })];
71
75
  case 4:
72
- _b.sent();
76
+ _a.sent();
73
77
  return [2 /*return*/];
74
78
  }
75
79
  });
76
80
  });
77
81
  }
78
82
  exports.runIgnite = runIgnite;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuSWduaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5JZ25pdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMENBQWdEO0FBRWhELFNBQXNCLFNBQVMsQ0FBQyxPQUFnQjs7Ozs7O29CQUU1QyxLQUlFLE9BQU8sV0FKcUIsRUFBaEIsS0FBSyxXQUFBLEVBQUUsT0FBTyxhQUFBLEVBQ25CLE9BQU8sR0FHZCxPQUFPLGNBSE8sRUFDTixHQUFHLEdBRVgsT0FBTyxXQUZJLEVBQ2IsTUFBTSxHQUNKLE9BQU8sT0FESCxDQUNJO3lCQUdSLENBQUMsS0FBSyxFQUFOLHdCQUFNO29CQUNGLE9BQU8sR0FBRzt3QkFDZCxJQUFJLEVBQUUsT0FBTzt3QkFDYixJQUFJLEVBQUUsTUFBTTt3QkFDWixPQUFPLEVBQUUsa0RBQTJDLDRCQUFnQixNQUFHO3FCQUN4RSxDQUFBO29CQUNnQixxQkFBTSxHQUFHLENBQUMsT0FBTyxDQUFDO3dCQUNuQyx5REFBeUQ7c0JBRHRCOztvQkFBM0IsU0FBUyxDQUFBLFNBQWtCLENBQUEsS0FBdkI7b0JBQ1oseURBQXlEO29CQUN6RCxXQUFXLEdBQUcsTUFBSSxJQUFJLDRCQUFnQixDQUFDOzs7b0JBRXZDLFdBQVcsR0FBRyxLQUFLLENBQUM7OztvQkFHdEIsT0FBTyxDQUFDLHNEQUFzRCxDQUFDLENBQUE7b0JBQy9ELHFCQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQTZCLFdBQVcsU0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBRSxFQUFFOzRCQUMzRixLQUFLLEVBQUUsSUFBSTs0QkFDWCxLQUFLLEVBQUUsU0FBUzt5QkFDakIsQ0FBQyxFQUFBOztvQkFIRixTQUdFLENBQUM7Ozs7O0NBQ0o7QUEzQkQsOEJBMkJDIn0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuSWduaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5JZ25pdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMENBQWdEO0FBQ2hELHlEQUF3RDtBQUV4RCxTQUFzQixTQUFTLENBQUMsT0FBZ0I7Ozs7OztvQkFFOUIsS0FBSyxHQUtqQixPQUFPLGlCQUxVLEVBQ1YsT0FBTyxHQUlkLE9BQU8sY0FKTyxFQUNOLEdBQUcsR0FHWCxPQUFPLFdBSEksRUFDYixNQUFNLEdBRUosT0FBTyxPQUZILEVBQ0ssVUFBVSxHQUNuQixPQUFPLG1CQURZLENBQ1g7eUJBR1IsQ0FBQyxLQUFLLEVBQU4sd0JBQU07b0JBQ0YsT0FBTyxHQUFHO3dCQUNkLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxNQUFNO3dCQUNaLE9BQU8sRUFBRSxrREFBMkMsNEJBQWdCLE1BQUc7cUJBQ3hFLENBQUE7b0JBQ2dCLHFCQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUM7d0JBQ25DLHlEQUF5RDtzQkFEdEI7O29CQUEzQixTQUFTLENBQUEsU0FBa0IsQ0FBQSxLQUF2QjtvQkFDWix5REFBeUQ7b0JBQ3pELFdBQVcsR0FBRyxNQUFJLElBQUksNEJBQWdCLENBQUM7OztvQkFFdkMsV0FBVyxHQUFHLEtBQUssQ0FBQzs7O29CQUdoQixjQUFjLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQztvQkFHNUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFFeEMsYUFBYSxHQUFHLGNBQWMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO29CQUVsRSxPQUFPLENBQUMsc0RBQXNELENBQUMsQ0FBQTtvQkFDL0QscUJBQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBa0IsYUFBYSxrQkFBUSxhQUFhLHlCQUFlLGNBQWMsV0FBUSxFQUFFOzRCQUM1RyxLQUFLLEVBQUUsSUFBSTs0QkFDWCxLQUFLLEVBQUUsU0FBUzt5QkFDakIsQ0FBQyxFQUFBOztvQkFIRixTQUdFLENBQUM7Ozs7O0NBQ0o7QUFuQ0QsOEJBbUNDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-expo-stack",
3
- "version": "2.1.9",
3
+ "version": "2.1.11",
4
4
  "description": "create-expo-stack CLI",
5
5
  "private": false,
6
6
  "types": "build/types/types.d.ts",
package/readme.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Description
6
6
 
7
- This CLI tool is designed to help you get started with React Native and Expo as quickly as possible. The CLI options allow you to configure your project with Typescript, file-based routing with Expo Router, pure React-Navigation, and/or Tailwind CSS with NativeWind.
7
+ This CLI tool is designed to help you get started with React Native and Expo as quickly as possible. The CLI options allow you to configure your project with Typescript, file-based routing with Expo Router, configuration-based navigation via React-Navigation, and styling with StyleSheet or Tailwind CSS, with either NativeWind or Tamagui.
8
8
 
9
9
  You can also use flags such as `--noInstall`, `--noGit`, and `--default` in order to customize your project. The CLI will attempt to automatically determine your package manager of choice but you can also pass in your preferred package manager via `--npm`, `--yarn`, or `pnpm`. Roadmap coming soon...
10
10
 
@@ -37,6 +37,7 @@ Each project is generated based on the results of the CLI, on a per-file basis.
37
37
  | Expo System UI | System UI Library | v2 | System UI support |
38
38
  | Expo Web Browser | Web Browser Library | v12 | Open links in the browser |
39
39
  | NativeWind | UI Framework | v2 | Tailwind CSS for React Native |
40
+ | Tamagui | UI Framework | v1 | Universal UI with a smart optimizing compiler |
40
41
  | Safe Area Context | Safe Area Library | v4 | Safe area support |
41
42
  | React Native Web | Web Support | v0.19 | React Native for Web |
42
43
 
@@ -67,36 +68,35 @@ Thanks go to these wonderful people:
67
68
  <a href="https://onlydans.gg/">
68
69
  <img src="https://pbs.twimg.com/profile_images/1689473757713514496/8fQrCrBx_400x400.jpg" width="100px;" alt="Dan Stepanov"/>
69
70
  <br />
70
- <sub>
71
- <b>Dan Stepanov</b>
72
- </sub>
71
+ Dan Stepanov
73
72
  </a>
74
73
  </td>
75
74
  <td align="center" valign="top" width="14.28%">
76
- <a href="https://twitter.com/trashh_dev">
75
+ <a href="https://github.com/frankcalise/">
76
+ <img src="https://pbs.twimg.com/profile_images/1262363198839238662/uIfRNVBY_400x400.jpg" width="100px;" alt="Frank Calise"/>
77
+ <br />
78
+ Frank Calise
79
+ </a>
80
+ </td>
81
+ <td align="center" valign="top" width="14.28%">
82
+ <a href="https://twitter.com/PickleNik0864">
77
83
  <img src="https://pbs.twimg.com/profile_images/1694518037385244672/eaS0RTwB_400x400.jpg" width="100px;" alt="PickleNik"/>
78
84
  <br />
79
- <sub>
80
- <b>PickleNik</b>
81
- </sub>
85
+ PickleNik
82
86
  </a>
83
87
  </td>
84
88
  <td align="center" valign="top" width="14.28%">
85
89
  <a href="https://twitter.com/trashh_dev">
86
90
  <img src="https://pbs.twimg.com/profile_images/1598959528518643713/aWdwBYxv_400x400.jpg" width="100px;" alt="Chris Bautista"/>
87
91
  <br />
88
- <sub>
89
- <b>Chris Bautista</b>
90
- </sub>
92
+ Chris Bautista
91
93
  </a>
92
94
  </td>
93
95
  <td align="center" valign="top" width="14.28%">
94
96
  <a href="https://aodhan.netlify.app/">
95
97
  <img src="https://pbs.twimg.com/profile_images/1472990183993888772/3X5J4d9__400x400.png" width="100px;" alt="Aodhan Hamilton"/>
96
98
  <br />
97
- <sub>
98
- <b>Aodhan Hamilton</b>
99
- </sub>
99
+ Aodhan Hamilton
100
100
  </a>
101
101
  </td>
102
102
  </tr>