@mr.dj2u/create-expo-stack 2.21.3-mrdj.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/README.md +435 -0
- package/bin/create-expo-stack.js +2 -0
- package/build/cli.js +49 -0
- package/build/commands/create-expo-stack.js +471 -0
- package/build/constants.js +39 -0
- package/build/templates/base/.gitignore.ejs +26 -0
- package/build/templates/base/.npmrc.ejs +1 -0
- package/build/templates/base/App.tsx.ejs +66 -0
- package/build/templates/base/app.json.ejs +69 -0
- package/build/templates/base/assets/adaptive-icon.png +0 -0
- package/build/templates/base/assets/favicon.png +0 -0
- package/build/templates/base/assets/icon.png +0 -0
- package/build/templates/base/assets/splash.png +0 -0
- package/build/templates/base/babel.config.js.ejs +38 -0
- package/build/templates/base/components/BackButton.tsx.ejs +23 -0
- package/build/templates/base/components/Button.tsx.ejs +42 -0
- package/build/templates/base/components/Container.tsx.ejs +14 -0
- package/build/templates/base/components/EditScreenInfo.tsx.ejs +44 -0
- package/build/templates/base/components/HeaderButton.tsx.ejs +31 -0
- package/build/templates/base/components/ScreenContent.tsx.ejs +40 -0
- package/build/templates/base/components/TabBarIcon.tsx.ejs +15 -0
- package/build/templates/base/eslint.config.js.ejs +15 -0
- package/build/templates/base/package.json.ejs +191 -0
- package/build/templates/base/prettier.config.js.ejs +11 -0
- package/build/templates/base/tsconfig.json.ejs +39 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/(tabs)/_layout.tsx.ejs +40 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/(tabs)/index.tsx.ejs +15 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/(tabs)/two.tsx.ejs +15 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/_layout.tsx.ejs +65 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/index.tsx.ejs +15 -0
- package/build/templates/packages/expo-router/drawer/app/+html.tsx.ejs +49 -0
- package/build/templates/packages/expo-router/drawer/app/+not-found.tsx.ejs +100 -0
- package/build/templates/packages/expo-router/drawer/app/_layout.tsx.ejs +91 -0
- package/build/templates/packages/expo-router/drawer/app/modal.tsx.ejs +21 -0
- package/build/templates/packages/expo-router/expo-env.d.ts +4 -0
- package/build/templates/packages/expo-router/index.js.ejs +4 -0
- package/build/templates/packages/expo-router/metro.config.js.ejs +24 -0
- package/build/templates/packages/expo-router/stack/app/+html.tsx.ejs +49 -0
- package/build/templates/packages/expo-router/stack/app/+not-found.tsx.ejs +113 -0
- package/build/templates/packages/expo-router/stack/app/_layout.tsx.ejs +63 -0
- package/build/templates/packages/expo-router/stack/app/details.tsx.ejs +56 -0
- package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +73 -0
- package/build/templates/packages/expo-router/tabs/app/(tabs)/_layout.tsx.ejs +52 -0
- package/build/templates/packages/expo-router/tabs/app/(tabs)/index.tsx.ejs +37 -0
- package/build/templates/packages/expo-router/tabs/app/(tabs)/two.tsx.ejs +37 -0
- package/build/templates/packages/expo-router/tabs/app/+html.tsx.ejs +49 -0
- package/build/templates/packages/expo-router/tabs/app/+not-found.tsx.ejs +110 -0
- package/build/templates/packages/expo-router/tabs/app/_layout.tsx.ejs +84 -0
- package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +21 -0
- package/build/templates/packages/firebase/.env.ejs +8 -0
- package/build/templates/packages/firebase/metro.config.js.ejs +14 -0
- package/build/templates/packages/firebase/utils/firebase.ts.ejs +26 -0
- package/build/templates/packages/i18next/components/InternalizationExample.tsx.ejs +23 -0
- package/build/templates/packages/i18next/core/i18n/fallbackChecker.ts.ejs +13 -0
- package/build/templates/packages/i18next/core/i18n/init.ts.ejs +24 -0
- package/build/templates/packages/i18next/core/i18n/languageDetector.ts.ejs +13 -0
- package/build/templates/packages/i18next/translation/en.json.ejs +8 -0
- package/build/templates/packages/i18next/translation/fr.json.ejs +8 -0
- package/build/templates/packages/i18next/translation/index.ts.ejs +20 -0
- package/build/templates/packages/nativewind/components/BackButton.tsx.ejs +22 -0
- package/build/templates/packages/nativewind/components/Button.tsx.ejs +21 -0
- package/build/templates/packages/nativewind/components/Container.tsx.ejs +13 -0
- package/build/templates/packages/nativewind/components/EditScreenInfo.tsx.ejs +40 -0
- package/build/templates/packages/nativewind/components/ScreenContent.tsx.ejs +27 -0
- package/build/templates/packages/nativewind/global.css +3 -0
- package/build/templates/packages/nativewind/metro.config.js +7 -0
- package/build/templates/packages/nativewind/nativewind-env.d.ts +2 -0
- package/build/templates/packages/nativewind/tailwind.config.js.ejs +15 -0
- package/build/templates/packages/nativewindui/components/Container.tsx.ejs +14 -0
- package/build/templates/packages/nativewindui/components/EditScreenInfo.tsx.ejs +45 -0
- package/build/templates/packages/nativewindui/components/HeaderButton.tsx.ejs +31 -0
- package/build/templates/packages/nativewindui/components/ScreenContent.tsx.ejs +40 -0
- package/build/templates/packages/nativewindui/components/TabBarIcon.tsx.ejs +15 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/Icon.ios.tsx.ejs +52 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/Icon.tsx.ejs +58 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/index.ts.ejs +16 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/types.ts.ejs +18 -0
- package/build/templates/packages/nativewindui/components/nativewindui/ThemeToggle.tsx.ejs +33 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/(tabs)/_layout.tsx.ejs +28 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/(tabs)/index.tsx.ejs +15 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/(tabs)/two.tsx.ejs +15 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/_layout.tsx.ejs +35 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/index.tsx.ejs +535 -0
- package/build/templates/packages/nativewindui/drawer/app/+html.tsx.ejs +46 -0
- package/build/templates/packages/nativewindui/drawer/app/+not-found.tsx.ejs +83 -0
- package/build/templates/packages/nativewindui/drawer/app/_layout.tsx.ejs +75 -0
- package/build/templates/packages/nativewindui/drawer/app/modal.tsx.ejs +33 -0
- package/build/templates/packages/nativewindui/global.css.ejs +91 -0
- package/build/templates/packages/nativewindui/lib/cn.ts.ejs +6 -0
- package/build/templates/packages/nativewindui/lib/useColorScheme.tsx.ejs +21 -0
- package/build/templates/packages/nativewindui/nativewind-env.d.ts.ejs +1 -0
- package/build/templates/packages/nativewindui/stack/app/+html.tsx.ejs +46 -0
- package/build/templates/packages/nativewindui/stack/app/+not-found.tsx.ejs +18 -0
- package/build/templates/packages/nativewindui/stack/app/_layout.tsx.ejs +78 -0
- package/build/templates/packages/nativewindui/stack/app/index.tsx.ejs +487 -0
- package/build/templates/packages/nativewindui/stack/app/modal.tsx.ejs +33 -0
- package/build/templates/packages/nativewindui/tabs/app/(tabs)/_layout.tsx.ejs +35 -0
- package/build/templates/packages/nativewindui/tabs/app/(tabs)/index.tsx.ejs +537 -0
- package/build/templates/packages/nativewindui/tabs/app/(tabs)/two.tsx.ejs +22 -0
- package/build/templates/packages/nativewindui/tabs/app/+html.tsx.ejs +46 -0
- package/build/templates/packages/nativewindui/tabs/app/+not-found.tsx.ejs +90 -0
- package/build/templates/packages/nativewindui/tabs/app/_layout.tsx.ejs +78 -0
- package/build/templates/packages/nativewindui/tabs/app/modal.tsx.ejs +21 -0
- package/build/templates/packages/nativewindui/tailwind.config.js.ejs +67 -0
- package/build/templates/packages/nativewindui/theme/colors.ts.ejs +123 -0
- package/build/templates/packages/nativewindui/theme/index.ts.ejs +32 -0
- package/build/templates/packages/nativewindui/theme/with-opacity.ts.ejs +155 -0
- package/build/templates/packages/react-navigation/App.tsx.ejs +73 -0
- package/build/templates/packages/react-navigation/navigation/drawer-navigator.tsx.ejs +31 -0
- package/build/templates/packages/react-navigation/navigation/index.tsx.ejs +108 -0
- package/build/templates/packages/react-navigation/navigation/tab-navigator.tsx.ejs +38 -0
- package/build/templates/packages/react-navigation/screens/details.tsx.ejs +41 -0
- package/build/templates/packages/react-navigation/screens/home.tsx.ejs +5 -0
- package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +20 -0
- package/build/templates/packages/react-navigation/screens/one.tsx.ejs +5 -0
- package/build/templates/packages/react-navigation/screens/overview.tsx.ejs +54 -0
- package/build/templates/packages/react-navigation/screens/two.tsx.ejs +5 -0
- package/build/templates/packages/restyle/components/BackButton.tsx.ejs +19 -0
- package/build/templates/packages/restyle/components/Button.tsx.ejs +32 -0
- package/build/templates/packages/restyle/components/Container.tsx.ejs +16 -0
- package/build/templates/packages/restyle/components/EditScreenInfo.tsx.ejs +38 -0
- package/build/templates/packages/restyle/components/ScreenContent.tsx.ejs +30 -0
- package/build/templates/packages/restyle/theme.ts.ejs +51 -0
- package/build/templates/packages/supabase/.env.ejs +2 -0
- package/build/templates/packages/supabase/utils/supabase.ts.ejs +14 -0
- package/build/templates/packages/tamagui/components/BackButton.tsx.ejs +12 -0
- package/build/templates/packages/tamagui/components/Button.tsx.ejs +17 -0
- package/build/templates/packages/tamagui/components/Container.tsx.ejs +12 -0
- package/build/templates/packages/tamagui/components/EditScreenInfo.tsx.ejs +27 -0
- package/build/templates/packages/tamagui/components/ScreenContent.tsx.ejs +23 -0
- package/build/templates/packages/tamagui/tamagui.config.ts.ejs +14 -0
- package/build/templates/packages/unistyles/breakpoints.ts.ejs +9 -0
- package/build/templates/packages/unistyles/components/BackButton.tsx.ejs +28 -0
- package/build/templates/packages/unistyles/components/Button.tsx.ejs +42 -0
- package/build/templates/packages/unistyles/components/Container.tsx.ejs +17 -0
- package/build/templates/packages/unistyles/components/EditScreenInfo.tsx.ejs +53 -0
- package/build/templates/packages/unistyles/components/ScreenContent.tsx.ejs +43 -0
- package/build/templates/packages/unistyles/theme.ts.ejs +34 -0
- package/build/templates/packages/unistyles/unistyles.ts.ejs +27 -0
- package/build/templates/packages/uniwind/global.css +2 -0
- package/build/templates/packages/uniwind/metro.config.js.ejs +10 -0
- package/build/templates/packages/vexo-analytics/.env.ejs +7 -0
- package/build/templates/packages/zustand/store/store.ts.ejs +15 -0
- package/build/types/cli.d.ts +4 -0
- package/build/types/commands/create-expo-stack.d.ts +3 -0
- package/build/types/constants.d.ts +10 -0
- package/build/types/types.d.ts +33 -0
- package/build/types/utilities/bumpVersion.d.ts +1 -0
- package/build/types/utilities/clearNavigationPackages.d.ts +2 -0
- package/build/types/utilities/clearStylingPackages.d.ts +2 -0
- package/build/types/utilities/configAnalytics.d.ts +18 -0
- package/build/types/utilities/configStorage.d.ts +8 -0
- package/build/types/utilities/configureProjectFiles.d.ts +3 -0
- package/build/types/utilities/copyBaseAssets.d.ts +2 -0
- package/build/types/utilities/generateNWUI.d.ts +3 -0
- package/build/types/utilities/generateProjectFiles.d.ts +5 -0
- package/build/types/utilities/getPackageManager.d.ts +8 -0
- package/build/types/utilities/index.d.ts +10 -0
- package/build/types/utilities/printOutput.d.ts +3 -0
- package/build/types/utilities/publishToGitHub.d.ts +2 -0
- package/build/types/utilities/renderTitle.d.ts +2 -0
- package/build/types/utilities/runCLI.d.ts +3 -0
- package/build/types/utilities/runEasConfigure.d.ts +3 -0
- package/build/types/utilities/runIgnite.d.ts +3 -0
- package/build/types/utilities/showHelp.d.ts +1 -0
- package/build/types/utilities/systemCommand.d.ts +14 -0
- package/build/types/utilities/usePackage.d.ts +2 -0
- package/build/types/utilities/validateProjectName.d.ts +4 -0
- package/build/types.js +39 -0
- package/build/utilities/bumpVersion.js +21 -0
- package/build/utilities/clearNavigationPackages.js +11 -0
- package/build/utilities/clearStylingPackages.js +11 -0
- package/build/utilities/configAnalytics.js +70 -0
- package/build/utilities/configStorage.js +50 -0
- package/build/utilities/configureProjectFiles.js +380 -0
- package/build/utilities/copyBaseAssets.js +21 -0
- package/build/utilities/generateNWUI.js +54 -0
- package/build/utilities/generateProjectFiles.js +106 -0
- package/build/utilities/getPackageManager.js +103 -0
- package/build/utilities/index.js +27 -0
- package/build/utilities/printOutput.js +251 -0
- package/build/utilities/publishToGitHub.js +173 -0
- package/build/utilities/renderTitle.js +55 -0
- package/build/utilities/runCLI.js +437 -0
- package/build/utilities/runEasConfigure.js +83 -0
- package/build/utilities/runIgnite.js +26 -0
- package/build/utilities/showHelp.js +85 -0
- package/build/utilities/systemCommand.js +40 -0
- package/build/utilities/usePackage.js +8 -0
- package/build/utilities/validateProjectName.js +42 -0
- package/package.json +77 -0
package/README.md
ADDED
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
# Create Expo Stack CLI
|
|
2
|
+
|
|
3
|
+
[](https://expostack.dev/discord)
|
|
4
|
+
[![NPM version][npm-image]][npm-url]
|
|
5
|
+
[![Downloads][downloads-image]][npm-url]
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
An interactive CLI to create a highly configurable, typesafe Expo app.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
Get started by running <code>npx rn-new@latest</code>
|
|
13
|
+
|
|
14
|
+
<p align="center">
|
|
15
|
+
🎉 Over 100k Expo projects generated using CES! 🎉
|
|
16
|
+
|
|
17
|
+
## Sponsors
|
|
18
|
+
|
|
19
|
+
Support this project by <a href="https://github.com/sponsors/roninoss" target="_blank">becoming a sponsor</a>. Your logo will show up here with a link to your website.
|
|
20
|
+
|
|
21
|
+
<a href="https://galaxies.dev/" target="_blank" style="margin-top: 10px;margin-right: 10px; margin-bottom: 10px;" >
|
|
22
|
+
<img src="https://expostack.dev/galaxies-logo.svg" style="border-radius: 50%;">
|
|
23
|
+
</a>
|
|
24
|
+
<a href="https://expo.dev/" target="_blank" style="margin: 10px;">
|
|
25
|
+
<img src="https://expostack.dev/expo-logo.svg" style="border-radius: 50%;">
|
|
26
|
+
</a>
|
|
27
|
+
<a href="https://paradigmpost.com" target="_blank" style="margin: 10px;">
|
|
28
|
+
<img src="https://expostack.dev/paradigmpost.png" height="64" width="64" style="border-radius: 50%;">
|
|
29
|
+
</a>
|
|
30
|
+
<a href="https://github.com/4ndrs" target="_blank" style="margin: 10px;">
|
|
31
|
+
<img src="https://avatars.githubusercontent.com/u/31898900?v=4" height="64" width="64" style="border-radius: 50%;">
|
|
32
|
+
</a>
|
|
33
|
+
|
|
34
|
+
## Past Sponsors
|
|
35
|
+
|
|
36
|
+
<a href="https://github.com/derkweijers" target="_blank" style="margin: 10px;">
|
|
37
|
+
<img src="https://avatars.githubusercontent.com/u/11644998?v=4" height="64" width="64" style="border-radius: 50%;">
|
|
38
|
+
</a>
|
|
39
|
+
|
|
40
|
+
## Description
|
|
41
|
+
|
|
42
|
+
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, styling with NativeWind, Unistyles, or StyleSheets and authentication via Supabase or Firebase.
|
|
43
|
+
|
|
44
|
+
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`, `--pnpm`, or `--bun`. Roadmap coming soon...
|
|
45
|
+
|
|
46
|
+
Software Mansion foundations are available from both the interactive prompt and non-interactive flags. Reanimated and Worklets are included by default; Gesture Handler and Screens are included automatically with navigation templates; SVG and Keyboard Controller can be added when your app needs them.
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
To get started, use npx to run the CLI tool. You will be prompted to opt into the features you want to use.
|
|
51
|
+
|
|
52
|
+
`npx rn-new@latest`
|
|
53
|
+
|
|
54
|
+
<img src="https://github.com/roninoss/create-expo-stack/assets/5482800/e709dd66-cb9b-463c-91f9-b842bb80585c" />
|
|
55
|
+
|
|
56
|
+
## Tech Stack for the templates
|
|
57
|
+
|
|
58
|
+
Currently, all of the [templates](https://github.com/roninoss/create-expo-stack/tree/main/cli/src/templates) use the same versions of the following libraries. Not all of the templates include all of the libraries, but they are all available for use.
|
|
59
|
+
|
|
60
|
+
Each project is generated based on the results of the CLI, on a per-file basis. This approach makes this CLI extremely extendable and easy to use. Common files to all generated projects are stored in the [base template folder](https://github.com/roninoss/create-expo-stack/tree/main/cli/src/templates/base) while files pertaining to additional packages are stored in the [packages template folder](https://github.com/roninoss/create-expo-stack/tree/main/cli/src/templates/packages). Beyond adding files, this project makes use of [EJS](https://ejs.co/) in order to manipulate existing files as necessary.
|
|
61
|
+
|
|
62
|
+
| Library | Category | Version | Description |
|
|
63
|
+
| ------------------ | ------------------- | ------- | ---------------------------------------------- |
|
|
64
|
+
| React Native | Mobile Framework | v0.79 | The best cross-platform mobile framework |
|
|
65
|
+
| React | UI Framework | v19 | The most popular UI framework in the world |
|
|
66
|
+
| TypeScript | Language | v5 | Static typechecking |
|
|
67
|
+
| React Navigation | Navigation | v7 | Performant and consistent navigation framework |
|
|
68
|
+
| React Native Gesture Handler | Native Foundation | v2.30 | Touch and gesture primitives |
|
|
69
|
+
| React Native Reanimated | Native Foundation | v4.2 | Native-thread animations |
|
|
70
|
+
| React Native Screens | Native Foundation | v4.23 | Native navigation screen primitives |
|
|
71
|
+
| React Native SVG | Native Foundation | v15.15 | SVG rendering for React Native |
|
|
72
|
+
| React Native Keyboard Controller | Native Foundation | v1.20 | Keyboard-aware interactions |
|
|
73
|
+
| React Native Worklets | Native Foundation | v0.7 | Worklet runtime support |
|
|
74
|
+
| Expo | SDK | v53 | Allows (optional) Expo modules |
|
|
75
|
+
| Expo Font | Custom Fonts | v13 | Import custom fonts |
|
|
76
|
+
| Expo Linking | URL Handling | v7 | Open your app via a URL |
|
|
77
|
+
| Expo Router | Navigation | v5 | File-based routing in React-Native |
|
|
78
|
+
| Expo Splash Screen | Splash Screen | v0.27 | Custom splash screen |
|
|
79
|
+
| Expo Status Bar | Status Bar Library | v2 | Status bar support |
|
|
80
|
+
| Expo System UI | System UI Library | v5 | System UI support |
|
|
81
|
+
| Expo Web Browser | Web Browser Library | v14 | Open links in the browser |
|
|
82
|
+
| NativeWind | UI Framework | v4.1 | Tailwind CSS for React Native |
|
|
83
|
+
| Uniwind | UI Framework | v1.6 | Tailwind v4 for React Native |
|
|
84
|
+
| Unistyles | UI Framework | v3 | Superset of StyleSheet |
|
|
85
|
+
| Restyle | UI Framework | v2.4 | Design tokens and theming |
|
|
86
|
+
| Tamagui | UI Framework | v1.118 | Cross-platform UI kit |
|
|
87
|
+
| Safe Area Context | Safe Area Library | v5 | Safe area support |
|
|
88
|
+
| React Native Web | Web Support | v0.20 | React Native for Web |
|
|
89
|
+
| Firebase | Backend and Auth | v10 | Cloud-hosted NoSQL database from Google |
|
|
90
|
+
| Supabase | Backend and Auth | v2 | Open source Firebase alternative |
|
|
91
|
+
|
|
92
|
+
## Reporting Bugs & Feedback
|
|
93
|
+
|
|
94
|
+
If you run into problems or have feedback, first search the issues and discussions in this repository. If you don't find anything, feel free to message me on [Twitter](https://twitter.com/danstepanov) or open a new issue.
|
|
95
|
+
|
|
96
|
+
## Contributing
|
|
97
|
+
|
|
98
|
+
### [See this guide.](https://github.com/roninoss/create-expo-stack/blob/main/contributing.md)
|
|
99
|
+
|
|
100
|
+
Contributions are welcome! Please open a pull request or an issue if you would like to contribute. There are existing feature requests labeled as `[FR]` in the issues section of this repo.
|
|
101
|
+
|
|
102
|
+
## Want to move faster? I can help 😎
|
|
103
|
+
|
|
104
|
+
Getting up-to-speed on a new framework can be cumbersome. If you find that you need to move more quickly, I may be available to help.
|
|
105
|
+
|
|
106
|
+
If you'd like help with your React Native/Expo app or are just looking for a technical advisor to guide you along your journey, [let's chat](https://twitter.com/danstepanov).
|
|
107
|
+
|
|
108
|
+
## Contributors ✨
|
|
109
|
+
|
|
110
|
+
Thanks go to these wonderful people:
|
|
111
|
+
|
|
112
|
+
<!-- readme: contributors -start -->
|
|
113
|
+
<table>
|
|
114
|
+
<tr>
|
|
115
|
+
<td align="center">
|
|
116
|
+
<a href="https://github.com/danstepanov">
|
|
117
|
+
<img src="https://avatars.githubusercontent.com/u/5482800?v=4" width="100;" alt="danstepanov"/>
|
|
118
|
+
<br />
|
|
119
|
+
<sub><b>Dan Stepanov</b></sub>
|
|
120
|
+
</a>
|
|
121
|
+
</td>
|
|
122
|
+
<td align="center">
|
|
123
|
+
<a href="https://github.com/dannyhw">
|
|
124
|
+
<img src="https://avatars.githubusercontent.com/u/3481514?v=4" width="100;" alt="dannyhw"/>
|
|
125
|
+
<br />
|
|
126
|
+
<sub><b>Daniel Williams</b></sub>
|
|
127
|
+
</a>
|
|
128
|
+
</td>
|
|
129
|
+
<td align="center">
|
|
130
|
+
<a href="https://github.com/hqasmei">
|
|
131
|
+
<img src="https://avatars.githubusercontent.com/u/39573679?v=4" width="100;" alt="hqasmei"/>
|
|
132
|
+
<br />
|
|
133
|
+
<sub><b>Hosna Qasmei</b></sub>
|
|
134
|
+
</a>
|
|
135
|
+
</td>
|
|
136
|
+
<td align="center">
|
|
137
|
+
<a href="https://github.com/sammoore">
|
|
138
|
+
<img src="https://avatars.githubusercontent.com/u/2035492?v=4" width="100;" alt="sammoore"/>
|
|
139
|
+
<br />
|
|
140
|
+
<sub><b>Sam Moore</b></sub>
|
|
141
|
+
</a>
|
|
142
|
+
</td>
|
|
143
|
+
<td align="center">
|
|
144
|
+
<a href="https://github.com/ernestoresende">
|
|
145
|
+
<img src="https://avatars.githubusercontent.com/u/55156145?v=4" width="100;" alt="ernestoresende"/>
|
|
146
|
+
<br />
|
|
147
|
+
<sub><b>Ernesto Resende</b></sub>
|
|
148
|
+
</a>
|
|
149
|
+
</td>
|
|
150
|
+
<td align="center">
|
|
151
|
+
<a href="https://github.com/PickleNik">
|
|
152
|
+
<img src="https://avatars.githubusercontent.com/u/31113245?v=4" width="100;" alt="PickleNik"/>
|
|
153
|
+
<br />
|
|
154
|
+
<sub><b>Null</b></sub>
|
|
155
|
+
</a>
|
|
156
|
+
</td></tr>
|
|
157
|
+
<tr>
|
|
158
|
+
<td align="center">
|
|
159
|
+
<a href="https://github.com/frankcalise">
|
|
160
|
+
<img src="https://avatars.githubusercontent.com/u/374022?v=4" width="100;" alt="frankcalise"/>
|
|
161
|
+
<br />
|
|
162
|
+
<sub><b>Frank Calise</b></sub>
|
|
163
|
+
</a>
|
|
164
|
+
</td>
|
|
165
|
+
<td align="center">
|
|
166
|
+
<a href="https://github.com/ludwig-pro">
|
|
167
|
+
<img src="https://avatars.githubusercontent.com/u/62896243?v=4" width="100;" alt="ludwig-pro"/>
|
|
168
|
+
<br />
|
|
169
|
+
<sub><b>Ludwig</b></sub>
|
|
170
|
+
</a>
|
|
171
|
+
</td>
|
|
172
|
+
<td align="center">
|
|
173
|
+
<a href="https://github.com/mrzachnugent">
|
|
174
|
+
<img src="https://avatars.githubusercontent.com/u/63797719?v=4" width="100;" alt="mrzachnugent"/>
|
|
175
|
+
<br />
|
|
176
|
+
<sub><b>Zach Nugent</b></sub>
|
|
177
|
+
</a>
|
|
178
|
+
</td>
|
|
179
|
+
<td align="center">
|
|
180
|
+
<a href="https://github.com/alejorod">
|
|
181
|
+
<img src="https://avatars.githubusercontent.com/u/6730160?v=4" width="100;" alt="alejorod"/>
|
|
182
|
+
<br />
|
|
183
|
+
<sub><b>Alejo Rodriguez</b></sub>
|
|
184
|
+
</a>
|
|
185
|
+
</td>
|
|
186
|
+
<td align="center">
|
|
187
|
+
<a href="https://github.com/kratos-respawned">
|
|
188
|
+
<img src="https://avatars.githubusercontent.com/u/87561983?v=4" width="100;" alt="kratos-respawned"/>
|
|
189
|
+
<br />
|
|
190
|
+
<sub><b>Gaurav Bhandari</b></sub>
|
|
191
|
+
</a>
|
|
192
|
+
</td>
|
|
193
|
+
<td align="center">
|
|
194
|
+
<a href="https://github.com/finnbayer">
|
|
195
|
+
<img src="https://avatars.githubusercontent.com/u/115630860?v=4" width="100;" alt="finnbayer"/>
|
|
196
|
+
<br />
|
|
197
|
+
<sub><b>Finn Bayer</b></sub>
|
|
198
|
+
</a>
|
|
199
|
+
</td></tr>
|
|
200
|
+
<tr>
|
|
201
|
+
<td align="center">
|
|
202
|
+
<a href="https://github.com/saimon24">
|
|
203
|
+
<img src="https://avatars.githubusercontent.com/u/2514208?v=4" width="100;" alt="saimon24"/>
|
|
204
|
+
<br />
|
|
205
|
+
<sub><b>Simon Grimm</b></sub>
|
|
206
|
+
</a>
|
|
207
|
+
</td>
|
|
208
|
+
<td align="center">
|
|
209
|
+
<a href="https://github.com/todevmilen">
|
|
210
|
+
<img src="https://avatars.githubusercontent.com/u/78319110?v=4" width="100;" alt="todevmilen"/>
|
|
211
|
+
<br />
|
|
212
|
+
<sub><b>Milen Todev</b></sub>
|
|
213
|
+
</a>
|
|
214
|
+
</td>
|
|
215
|
+
<td align="center">
|
|
216
|
+
<a href="https://github.com/cerpinn">
|
|
217
|
+
<img src="https://avatars.githubusercontent.com/u/35243344?v=4" width="100;" alt="cerpinn"/>
|
|
218
|
+
<br />
|
|
219
|
+
<sub><b>Alireza Zamani</b></sub>
|
|
220
|
+
</a>
|
|
221
|
+
</td>
|
|
222
|
+
<td align="center">
|
|
223
|
+
<a href="https://github.com/catalinmiron">
|
|
224
|
+
<img src="https://avatars.githubusercontent.com/u/2805320?v=4" width="100;" alt="catalinmiron"/>
|
|
225
|
+
<br />
|
|
226
|
+
<sub><b>Catalin Miron</b></sub>
|
|
227
|
+
</a>
|
|
228
|
+
</td>
|
|
229
|
+
<td align="center">
|
|
230
|
+
<a href="https://github.com/jpudysz">
|
|
231
|
+
<img src="https://avatars.githubusercontent.com/u/9088288?v=4" width="100;" alt="jpudysz"/>
|
|
232
|
+
<br />
|
|
233
|
+
<sub><b>Jacek Pudysz</b></sub>
|
|
234
|
+
</a>
|
|
235
|
+
</td>
|
|
236
|
+
<td align="center">
|
|
237
|
+
<a href="https://github.com/coyksdev">
|
|
238
|
+
<img src="https://avatars.githubusercontent.com/u/19565694?v=4" width="100;" alt="coyksdev"/>
|
|
239
|
+
<br />
|
|
240
|
+
<sub><b>Gerald</b></sub>
|
|
241
|
+
</a>
|
|
242
|
+
</td></tr>
|
|
243
|
+
<tr>
|
|
244
|
+
<td align="center">
|
|
245
|
+
<a href="https://github.com/VadimNotJustDev">
|
|
246
|
+
<img src="https://avatars.githubusercontent.com/u/16936043?v=4" width="100;" alt="VadimNotJustDev"/>
|
|
247
|
+
<br />
|
|
248
|
+
<sub><b>Savin Vadim</b></sub>
|
|
249
|
+
</a>
|
|
250
|
+
</td>
|
|
251
|
+
<td align="center">
|
|
252
|
+
<a href="https://github.com/b0iq">
|
|
253
|
+
<img src="https://avatars.githubusercontent.com/u/106549013?v=4" width="100;" alt="b0iq"/>
|
|
254
|
+
<br />
|
|
255
|
+
<sub><b>Null</b></sub>
|
|
256
|
+
</a>
|
|
257
|
+
</td>
|
|
258
|
+
<td align="center">
|
|
259
|
+
<a href="https://github.com/AlejandroGutierrezB">
|
|
260
|
+
<img src="https://avatars.githubusercontent.com/u/56408597?v=4" width="100;" alt="AlejandroGutierrezB"/>
|
|
261
|
+
<br />
|
|
262
|
+
<sub><b>Alejandro Gutierrez Barcenilla</b></sub>
|
|
263
|
+
</a>
|
|
264
|
+
</td>
|
|
265
|
+
<td align="center">
|
|
266
|
+
<a href="https://github.com/andrew-levy">
|
|
267
|
+
<img src="https://avatars.githubusercontent.com/u/29075740?v=4" width="100;" alt="andrew-levy"/>
|
|
268
|
+
<br />
|
|
269
|
+
<sub><b>Andrew Levy</b></sub>
|
|
270
|
+
</a>
|
|
271
|
+
</td>
|
|
272
|
+
<td align="center">
|
|
273
|
+
<a href="https://github.com/gialencar">
|
|
274
|
+
<img src="https://avatars.githubusercontent.com/u/11895696?v=4" width="100;" alt="gialencar"/>
|
|
275
|
+
<br />
|
|
276
|
+
<sub><b>Gilson Alencar</b></sub>
|
|
277
|
+
</a>
|
|
278
|
+
</td>
|
|
279
|
+
<td align="center">
|
|
280
|
+
<a href="https://github.com/mwarger">
|
|
281
|
+
<img src="https://avatars.githubusercontent.com/u/686823?v=4" width="100;" alt="mwarger"/>
|
|
282
|
+
<br />
|
|
283
|
+
<sub><b>Mat Warger</b></sub>
|
|
284
|
+
</a>
|
|
285
|
+
</td></tr>
|
|
286
|
+
<tr>
|
|
287
|
+
<td align="center">
|
|
288
|
+
<a href="https://github.com/gabimoncha">
|
|
289
|
+
<img src="https://avatars.githubusercontent.com/u/39256258?v=4" width="100;" alt="gabimoncha"/>
|
|
290
|
+
<br />
|
|
291
|
+
<sub><b>Gabimoncha</b></sub>
|
|
292
|
+
</a>
|
|
293
|
+
</td>
|
|
294
|
+
<td align="center">
|
|
295
|
+
<a href="https://github.com/rohan-sircar">
|
|
296
|
+
<img src="https://avatars.githubusercontent.com/u/47449547?v=4" width="100;" alt="rohan-sircar"/>
|
|
297
|
+
<br />
|
|
298
|
+
<sub><b>Rohan Sircar</b></sub>
|
|
299
|
+
</a>
|
|
300
|
+
</td>
|
|
301
|
+
<td align="center">
|
|
302
|
+
<a href="https://github.com/ralacerda">
|
|
303
|
+
<img src="https://avatars.githubusercontent.com/u/19380403?v=4" width="100;" alt="ralacerda"/>
|
|
304
|
+
<br />
|
|
305
|
+
<sub><b>Renato Lacerda</b></sub>
|
|
306
|
+
</a>
|
|
307
|
+
</td>
|
|
308
|
+
<td align="center">
|
|
309
|
+
<a href="https://github.com/salloom-domani">
|
|
310
|
+
<img src="https://avatars.githubusercontent.com/u/76164955?v=4" width="100;" alt="salloom-domani"/>
|
|
311
|
+
<br />
|
|
312
|
+
<sub><b>Salloom</b></sub>
|
|
313
|
+
</a>
|
|
314
|
+
</td>
|
|
315
|
+
<td align="center">
|
|
316
|
+
<a href="https://github.com/Hacksore">
|
|
317
|
+
<img src="https://avatars.githubusercontent.com/u/996134?v=4" width="100;" alt="Hacksore"/>
|
|
318
|
+
<br />
|
|
319
|
+
<sub><b>Sean Boult</b></sub>
|
|
320
|
+
</a>
|
|
321
|
+
</td>
|
|
322
|
+
<td align="center">
|
|
323
|
+
<a href="https://github.com/Viraj-10">
|
|
324
|
+
<img src="https://avatars.githubusercontent.com/u/66306233?v=4" width="100;" alt="Viraj-10"/>
|
|
325
|
+
<br />
|
|
326
|
+
<sub><b>Viraj Joshi</b></sub>
|
|
327
|
+
</a>
|
|
328
|
+
</td></tr>
|
|
329
|
+
<tr>
|
|
330
|
+
<td align="center">
|
|
331
|
+
<a href="https://github.com/YounessHassoune">
|
|
332
|
+
<img src="https://avatars.githubusercontent.com/u/36106440?v=4" width="100;" alt="YounessHassoune"/>
|
|
333
|
+
<br />
|
|
334
|
+
<sub><b>YOUNESS HASSOUNE</b></sub>
|
|
335
|
+
</a>
|
|
336
|
+
</td>
|
|
337
|
+
<td align="center">
|
|
338
|
+
<a href="https://github.com/abhishekmg">
|
|
339
|
+
<img src="https://avatars.githubusercontent.com/u/34393560?v=4" width="100;" alt="abhishekmg"/>
|
|
340
|
+
<br />
|
|
341
|
+
<sub><b>Null</b></sub>
|
|
342
|
+
</a>
|
|
343
|
+
</td>
|
|
344
|
+
<td align="center">
|
|
345
|
+
<a href="https://github.com/bautistaaa">
|
|
346
|
+
<img src="https://avatars.githubusercontent.com/u/3660667?v=4" width="100;" alt="bautistaaa"/>
|
|
347
|
+
<br />
|
|
348
|
+
<sub><b>Null</b></sub>
|
|
349
|
+
</a>
|
|
350
|
+
</td>
|
|
351
|
+
<td align="center">
|
|
352
|
+
<a href="https://github.com/debugtheworldbot">
|
|
353
|
+
<img src="https://avatars.githubusercontent.com/u/62830430?v=4" width="100;" alt="debugtheworldbot"/>
|
|
354
|
+
<br />
|
|
355
|
+
<sub><b>Pipizhu</b></sub>
|
|
356
|
+
</a>
|
|
357
|
+
</td>
|
|
358
|
+
<td align="center">
|
|
359
|
+
<a href="https://github.com/theblondealex">
|
|
360
|
+
<img src="https://avatars.githubusercontent.com/u/65453441?v=4" width="100;" alt="theblondealex"/>
|
|
361
|
+
<br />
|
|
362
|
+
<sub><b>TheBlondeAlex</b></sub>
|
|
363
|
+
</a>
|
|
364
|
+
</td>
|
|
365
|
+
<td align="center">
|
|
366
|
+
<a href="https://github.com/imranbarbhuiya">
|
|
367
|
+
<img src="https://avatars.githubusercontent.com/u/74945038?v=4" width="100;" alt="imranbarbhuiya"/>
|
|
368
|
+
<br />
|
|
369
|
+
<sub><b>Parbez</b></sub>
|
|
370
|
+
</a>
|
|
371
|
+
</td></tr>
|
|
372
|
+
<tr>
|
|
373
|
+
<td align="center">
|
|
374
|
+
<a href="https://github.com/NomadNiko">
|
|
375
|
+
<img src="https://avatars.githubusercontent.com/u/123768788?v=4" width="100;" alt="NomadNiko"/>
|
|
376
|
+
<br />
|
|
377
|
+
<sub><b>Null</b></sub>
|
|
378
|
+
</a>
|
|
379
|
+
</td>
|
|
380
|
+
<td align="center">
|
|
381
|
+
<a href="https://github.com/asapMaki">
|
|
382
|
+
<img src="https://avatars.githubusercontent.com/u/30200380?v=4" width="100;" alt="asapMaki"/>
|
|
383
|
+
<br />
|
|
384
|
+
<sub><b>Mahir Kadić</b></sub>
|
|
385
|
+
</a>
|
|
386
|
+
</td>
|
|
387
|
+
<td align="center">
|
|
388
|
+
<a href="https://github.com/Joehoel">
|
|
389
|
+
<img src="https://avatars.githubusercontent.com/u/31251240?v=4" width="100;" alt="Joehoel"/>
|
|
390
|
+
<br />
|
|
391
|
+
<sub><b>Joël Kuijper</b></sub>
|
|
392
|
+
</a>
|
|
393
|
+
</td>
|
|
394
|
+
<td align="center">
|
|
395
|
+
<a href="https://github.com/zamplyy">
|
|
396
|
+
<img src="https://avatars.githubusercontent.com/u/26258710?v=4" width="100;" alt="zamplyy"/>
|
|
397
|
+
<br />
|
|
398
|
+
<sub><b>Joar Karlsson</b></sub>
|
|
399
|
+
</a>
|
|
400
|
+
</td>
|
|
401
|
+
<td align="center">
|
|
402
|
+
<a href="https://github.com/boek">
|
|
403
|
+
<img src="https://avatars.githubusercontent.com/u/1250545?v=4" width="100;" alt="boek"/>
|
|
404
|
+
<br />
|
|
405
|
+
<sub><b>Jeff Boek</b></sub>
|
|
406
|
+
</a>
|
|
407
|
+
</td>
|
|
408
|
+
<td align="center">
|
|
409
|
+
<a href="https://github.com/gwenoleR">
|
|
410
|
+
<img src="https://avatars.githubusercontent.com/u/10418241?v=4" width="100;" alt="gwenoleR"/>
|
|
411
|
+
<br />
|
|
412
|
+
<sub><b>Null</b></sub>
|
|
413
|
+
</a>
|
|
414
|
+
</td></tr>
|
|
415
|
+
<tr>
|
|
416
|
+
<td align="center">
|
|
417
|
+
<a href="https://github.com/claudesortwell">
|
|
418
|
+
<img src="https://avatars.githubusercontent.com/u/41422239?v=4" width="100;" alt="claudesortwell"/>
|
|
419
|
+
<br />
|
|
420
|
+
<sub><b>Claude</b></sub>
|
|
421
|
+
</a>
|
|
422
|
+
</td>
|
|
423
|
+
<td align="center">
|
|
424
|
+
<a href="https://github.com/falcoagustin">
|
|
425
|
+
<img src="https://avatars.githubusercontent.com/u/15353019?v=4" width="100;" alt="falcoagustin"/>
|
|
426
|
+
<br />
|
|
427
|
+
<sub><b>Agustin Falco</b></sub>
|
|
428
|
+
</a>
|
|
429
|
+
</td></tr>
|
|
430
|
+
</table>
|
|
431
|
+
<!-- readme: contributors -end -->
|
|
432
|
+
|
|
433
|
+
[downloads-image]: https://img.shields.io/npm/dm/create-expo-stack?color=364fc7&logoColor=364fc7
|
|
434
|
+
[npm-url]: https://www.npmjs.com/package/create-expo-stack
|
|
435
|
+
[npm-image]: https://img.shields.io/npm/v/create-expo-stack?color=0b7285&logoColor=0b7285
|
package/build/cli.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.run = void 0;
|
|
13
|
+
const gluegun_1 = require("gluegun");
|
|
14
|
+
/**
|
|
15
|
+
* Create the cli and kick it off
|
|
16
|
+
*/
|
|
17
|
+
function run() {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const argv = process.argv;
|
|
20
|
+
// create a CLI runtime
|
|
21
|
+
const cli = (0, gluegun_1.build)()
|
|
22
|
+
.brand('create-expo-stack')
|
|
23
|
+
.src(__dirname)
|
|
24
|
+
.plugins('./node_modules', {
|
|
25
|
+
matching: 'create-expo-stack-*',
|
|
26
|
+
hidden: true
|
|
27
|
+
})
|
|
28
|
+
.version() // provides default for version, v, --version, -v
|
|
29
|
+
.create();
|
|
30
|
+
// Node version check
|
|
31
|
+
const [major, minor, _patch] = process.versions.node.split('.').map(Number);
|
|
32
|
+
const isVersionOk = major > 20 || (major === 20 && minor >= 19);
|
|
33
|
+
if (!isVersionOk) {
|
|
34
|
+
console.error(`Error: rn-new requires Node.js version 20.19.0 or higher, or version 22.0.0 or higher.`);
|
|
35
|
+
console.error(`You are currently running Node.js ${process.versions.node}.`);
|
|
36
|
+
console.error('Please update your Node version.');
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
// enable the following method if you'd like to skip loading one of these core extensions
|
|
40
|
+
// this can improve performance if they're not necessary for your project:
|
|
41
|
+
// .exclude(['meta', 'strings', 'print', 'filesystem', 'semver', 'system', 'prompt', 'http', 'template', 'patching', 'package-manager'])
|
|
42
|
+
// and run it
|
|
43
|
+
const toolbox = yield cli.run(argv);
|
|
44
|
+
// send it back (for testing, mostly)
|
|
45
|
+
return toolbox;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
exports.run = run;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBZ0M7QUFFaEM7O0dBRUc7QUFDSCxTQUFzQixHQUFHOztRQUN2QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzFCLHVCQUF1QjtRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFBLGVBQUssR0FBRTthQUNoQixLQUFLLENBQUMsbUJBQW1CLENBQUM7YUFDMUIsR0FBRyxDQUFDLFNBQVMsQ0FBQzthQUNkLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixRQUFRLEVBQUUscUJBQXFCO1lBQy9CLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFDLGlEQUFpRDthQUMzRCxNQUFNLEVBQUUsQ0FBQztRQUVaLHFCQUFxQjtRQUNyQixNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVFLE1BQU0sV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1lBQ3hHLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUM3RSxPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBRUQseUZBQXlGO1FBQ3pGLDBFQUEwRTtRQUMxRSx3SUFBd0k7UUFDeEksYUFBYTtRQUNiLE1BQU0sT0FBTyxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxxQ0FBcUM7UUFDckMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUFBO0FBaENELGtCQWdDQyJ9
|