waypoint-expo-template 2.0.0 → 3.0.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.
@@ -0,0 +1,5 @@
1
+ {
2
+ "enabledPlugins": {
3
+ "expo@claude-plugins-official": true
4
+ }
5
+ }
package/AGENTS.md ADDED
@@ -0,0 +1,3 @@
1
+ # Expo HAS CHANGED
2
+
3
+ Read the exact versioned docs at https://docs.expo.dev/versions/v57.0.0/ before writing any code.
package/App.tsx ADDED
@@ -0,0 +1,20 @@
1
+ import { StatusBar } from 'expo-status-bar';
2
+ import { StyleSheet, Text, View } from 'react-native';
3
+
4
+ export default function App() {
5
+ return (
6
+ <View style={styles.container}>
7
+ <Text>Open up App.tsx to start working on your app!</Text>
8
+ <StatusBar style="auto" />
9
+ </View>
10
+ );
11
+ }
12
+
13
+ const styles = StyleSheet.create({
14
+ container: {
15
+ flex: 1,
16
+ backgroundColor: '#fff',
17
+ alignItems: 'center',
18
+ justifyContent: 'center',
19
+ },
20
+ });
package/CLAUDE.md ADDED
@@ -0,0 +1 @@
1
+ @AGENTS.md
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015-present 650 Industries, Inc. (aka Expo)
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/app.json CHANGED
@@ -4,39 +4,22 @@
4
4
  "slug": "waypoint-expo-template",
5
5
  "version": "1.0.0",
6
6
  "orientation": "portrait",
7
- "icon": "./assets/images/icon.png",
8
- "scheme": "waypointexpotemplate",
9
- "userInterfaceStyle": "automatic",
7
+ "icon": "./assets/icon.png",
8
+ "userInterfaceStyle": "light",
10
9
  "ios": {
11
- "icon": "./assets/expo.icon"
10
+ "supportsTablet": true
12
11
  },
13
12
  "android": {
14
13
  "adaptiveIcon": {
15
14
  "backgroundColor": "#E6F4FE",
16
- "foregroundImage": "./assets/images/android-icon-foreground.png",
17
- "backgroundImage": "./assets/images/android-icon-background.png",
18
- "monochromeImage": "./assets/images/android-icon-monochrome.png"
15
+ "foregroundImage": "./assets/android-icon-foreground.png",
16
+ "backgroundImage": "./assets/android-icon-background.png",
17
+ "monochromeImage": "./assets/android-icon-monochrome.png"
19
18
  },
20
19
  "predictiveBackGestureEnabled": false
21
20
  },
22
21
  "web": {
23
- "output": "static",
24
- "favicon": "./assets/images/favicon.png"
25
- },
26
- "plugins": [
27
- "expo-router",
28
- [
29
- "expo-splash-screen",
30
- {
31
- "backgroundColor": "#208AEF",
32
- "image": "./assets/images/splash-icon.png",
33
- "imageWidth": 76
34
- }
35
- ]
36
- ],
37
- "experiments": {
38
- "typedRoutes": true,
39
- "reactCompiler": true
22
+ "favicon": "./assets/favicon.png"
40
23
  }
41
24
  }
42
25
  }
Binary file
Binary file
package/index.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { registerRootComponent } from 'expo';
2
+
3
+ import App from './App';
4
+
5
+ // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
6
+ // It also ensures that whether you load the app in Expo Go or in a native build,
7
+ // the environment is set up appropriately
8
+ registerRootComponent(App);
package/package.json CHANGED
@@ -1,22 +1,12 @@
1
1
  {
2
2
  "name": "waypoint-expo-template",
3
- "main": "expo-router/entry",
4
- "version": "2.0.0",
3
+ "version": "3.0.0",
4
+ "main": "index.ts",
5
5
  "dependencies": {
6
6
  "expo": "~57.0.21",
7
- "expo-constants": "~57.0.17",
8
- "expo-font": "~57.0.3",
9
- "expo-linking": "~57.0.9",
10
- "expo-router": "~57.0.20",
11
- "expo-splash-screen": "~57.0.8",
12
7
  "expo-status-bar": "~57.0.1",
13
- "expo-system-ui": "~57.0.3",
14
8
  "react": "19.2.3",
15
- "react-dom": "19.2.3",
16
- "react-native": "0.86.3",
17
- "react-native-safe-area-context": "~5.7.0",
18
- "react-native-screens": "~4.26.0",
19
- "react-native-web": "~0.21.0"
9
+ "react-native": "0.86.3"
20
10
  },
21
11
  "devDependencies": {
22
12
  "@types/react": "~19.2.2",
@@ -28,5 +18,5 @@
28
18
  "ios": "expo start --ios",
29
19
  "web": "expo start --web"
30
20
  },
31
- "description": "Expo app template for Waypoint app previews."
21
+ "description": "Expo app template for Waypoint app previews \u2014 create-expo-app blank-typescript, unmodified."
32
22
  }
package/tsconfig.json CHANGED
@@ -1,20 +1,6 @@
1
1
  {
2
2
  "extends": "expo/tsconfig.base",
3
3
  "compilerOptions": {
4
- "strict": true,
5
- "paths": {
6
- "@/*": [
7
- "./src/*"
8
- ],
9
- "@/assets/*": [
10
- "./assets/*"
11
- ]
12
- }
13
- },
14
- "include": [
15
- "**/*.ts",
16
- "**/*.tsx",
17
- ".expo/types/**/*.ts",
18
- "expo-env.d.ts"
19
- ]
4
+ "strict": true
5
+ }
20
6
  }
package/README.md DELETED
@@ -1,31 +0,0 @@
1
- # waypoint-expo-template
2
-
3
- The Expo app that `bootstrap_app_cli` installs into a fresh workspace. It is a
4
- `create-expo-app` scaffold, reduced to the smallest thing that renders inside a
5
- Waypoint device-preview tile.
6
-
7
- ## What is here
8
-
9
- ```
10
- src/app/_layout.tsx plain Stack, headers off
11
- src/app/index.tsx the entry screen — `/` by expo-router convention
12
- src/navigation.ts which control leads where (links only)
13
- ```
14
-
15
- ## What is deliberately NOT here
16
-
17
- No preview manifests, no compile step, no canvas protocol module, and no
18
- declared screen list or control coordinates.
19
-
20
- The preview canvas derives its flow graph itself: screens come from the route
21
- files under `src/app`, positions are measured from the running app, and button
22
- presses are observed directly because the preview iframe is same-origin. The
23
- app is just an app. See ADR-039.
24
-
25
- ## Adding a screen
26
-
27
- 1. `src/app/<name>.tsx` — put a `testID` on every control that navigates
28
- 2. add a `links` entry in `src/navigation.ts` for each of those controls
29
- 3. `npx tsc --noEmit`
30
-
31
- There is no step 4. Nothing to compile, nothing to regenerate.
@@ -1,3 +0,0 @@
1
- <svg width="652" height="606" viewBox="0 0 652 606" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M353.554 0H298.446C273.006 0 249.684 14.6347 237.962 37.9539L4.37994 502.646C-1.04325 513.435 -1.45067 526.178 3.2716 537.313L22.6123 582.918C34.6475 611.297 72.5404 614.156 88.4414 587.885L309.863 222.063C313.34 216.317 319.439 212.826 326 212.826C332.561 212.826 338.659 216.317 342.137 222.063L563.559 587.885C579.46 614.156 617.352 611.297 629.388 582.918L648.728 537.313C653.451 526.178 653.043 513.435 647.62 502.646L414.038 37.9539C402.316 14.6347 378.994 0 353.554 0Z" fill="white"/>
3
- </svg>
Binary file
@@ -1,40 +0,0 @@
1
- {
2
- "fill" : {
3
- "automatic-gradient" : "extended-srgb:0.00000,0.47843,1.00000,1.00000"
4
- },
5
- "groups" : [
6
- {
7
- "layers" : [
8
- {
9
- "image-name" : "expo-symbol 2.svg",
10
- "name" : "expo-symbol 2",
11
- "position" : {
12
- "scale" : 1,
13
- "translation-in-points" : [
14
- 1.1008400065293245e-05,
15
- -16.046875
16
- ]
17
- }
18
- },
19
- {
20
- "image-name" : "grid.png",
21
- "name" : "grid"
22
- }
23
- ],
24
- "shadow" : {
25
- "kind" : "neutral",
26
- "opacity" : 0.5
27
- },
28
- "translucency" : {
29
- "enabled" : true,
30
- "value" : 0.5
31
- }
32
- }
33
- ],
34
- "supported-platforms" : {
35
- "circles" : [
36
- "watchOS"
37
- ],
38
- "squares" : "shared"
39
- }
40
- }
Binary file
Binary file
@@ -1,16 +0,0 @@
1
- import { Stack } from 'expo-router';
2
-
3
- /**
4
- * A plain Stack, deliberately.
5
- *
6
- * `create-expo-app` scaffolds a tab layout. A tab bar is wrong here: every
7
- * screen is rendered inside a device-preview tile on the canvas, and a
8
- * persistent tab bar would appear in all of them and offer a second way to
9
- * navigate that the flow graph knows nothing about.
10
- *
11
- * `headerShown: false` for the same reason — the canvas labels each tile
12
- * itself, so a header would be a duplicate title inside the device frame.
13
- */
14
- export default function RootLayout() {
15
- return <Stack screenOptions={{ headerShown: false }} />;
16
- }
package/src/app/index.tsx DELETED
@@ -1,22 +0,0 @@
1
- import { StyleSheet, Text, View } from 'react-native';
2
-
3
- /**
4
- * The entry screen — `src/app/index.tsx` is `/` by expo-router's own
5
- * convention, which is also how the preview canvas knows it is the flow's
6
- * starting point. Nothing declares that.
7
- *
8
- * Replace this with the real first screen. Put a `testID` on any control that
9
- * navigates, and declare where it leads in `src/navigation.ts`.
10
- */
11
- export default function Index() {
12
- return (
13
- <View style={styles.container} testID="screen-index">
14
- <Text style={styles.text}>Home</Text>
15
- </View>
16
- );
17
- }
18
-
19
- const styles = StyleSheet.create({
20
- container: { flex: 1, alignItems: 'center', justifyContent: 'center', backgroundColor: '#ffffff' },
21
- text: { fontSize: 18 },
22
- });
package/src/navigation.ts DELETED
@@ -1,34 +0,0 @@
1
- /**
2
- * Which control leads where — and nothing else.
3
- *
4
- * The screens themselves are NOT declared here. With file-based routing they
5
- * are the files under `src/app`: `index.tsx` is `/`, `settings.tsx` is
6
- * `/settings`, and the preview canvas reads that directly. Writing the list
7
- * down again would create a second copy that can disagree with the first.
8
- *
9
- * What the filesystem cannot show is which button leads where — that lives
10
- * inside a handler, and `router.push('/settings')` behind an async call is
11
- * not something anything can read statically. This file is that missing edge.
12
- *
13
- * Each entry:
14
- * from the screen the control is on (its route id: `/` is `index`,
15
- * `/user/settings` is `user-settings`)
16
- * via the control's `testID` (must match the prop in the component)
17
- * to the screen it leads to
18
- * label optional; names the edge on the canvas
19
- *
20
- * Declare links in the direction the user travels, INCLUDING back. A link
21
- * returning to an earlier screen is written plainly — the canvas materializes
22
- * the return frame itself. Do not add a duplicate "return" screen for it.
23
- *
24
- * Never declare where a control sits. Positions are measured from the running
25
- * app, so restyling a button needs no change here.
26
- */
27
- export const links: Array<{
28
- from: string;
29
- via: string;
30
- to: string;
31
- label?: string;
32
- }> = [
33
- // { from: 'index', via: 'btn-open-settings', to: 'settings', label: 'Open settings' },
34
- ];
File without changes