create-croissant 0.1.35 → 0.1.36

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/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.35",
6
+ "version": "0.1.36",
7
7
  "description": "Scaffold a new project using the Croissant Stack",
8
8
  "repository": {
9
9
  "type": "git",
@@ -33,17 +33,12 @@
33
33
  "@electron-toolkit/eslint-config-ts": "^3.1.0",
34
34
  "@electron-toolkit/tsconfig": "^2.0.0",
35
35
  "@types/node": "^22.19.1",
36
- "@types/react": "^19.2.7",
37
- "@types/react-dom": "^19.2.3",
38
36
  "@vitejs/plugin-react": "^5.1.1",
39
37
  "electron": "39.8.9",
40
38
  "electron-builder": "^26.0.12",
41
39
  "electron-vite": "^5.0.0",
42
40
  "eslint-plugin-react": "^7.37.5",
43
41
  "eslint-plugin-react-hooks": "^7.1.1",
44
- "eslint-plugin-react-refresh": "^0.5.2",
45
- "prettier": "^3.7.4",
46
- "react": "^19.2.1",
47
- "react-dom": "^19.2.1"
42
+ "eslint-plugin-react-refresh": "^0.5.2"
48
43
  }
49
44
  }
@@ -1,11 +1,11 @@
1
1
  import { Image } from 'expo-image';
2
2
  import { Platform, StyleSheet } from 'react-native';
3
3
 
4
- import { Link } from 'expo-router';
5
4
  import { HelloWave } from '@/components/hello-wave';
6
5
  import ParallaxScrollView from '@/components/parallax-scroll-view';
7
6
  import { ThemedText } from '@/components/themed-text';
8
7
  import { ThemedView } from '@/components/themed-view';
8
+ import { Link } from 'expo-router';
9
9
 
10
10
  export default function HomeScreen() {
11
11
  return (
@@ -38,11 +38,14 @@
38
38
  "backgroundColor": "#000000"
39
39
  }
40
40
  }
41
- ]
41
+ ],
42
+ "expo-font",
43
+ "expo-image",
44
+ "expo-web-browser"
42
45
  ],
43
46
  "experiments": {
44
47
  "typedRoutes": true,
45
- "reactCompiler": false
48
+ "reactCompiler": true
46
49
  }
47
50
  }
48
51
  }
@@ -1,7 +1,6 @@
1
- import { Link } from 'expo-router';
2
- import { WebBrowserPresentationStyle, openBrowserAsync } from 'expo-web-browser';
3
- import type { Href} from 'expo-router';
4
- import type {ComponentProps} from 'react';
1
+ import { Href, Link } from 'expo-router';
2
+ import { openBrowserAsync, WebBrowserPresentationStyle } from 'expo-web-browser';
3
+ import { type ComponentProps } from 'react';
5
4
 
6
5
  type Props = Omit<ComponentProps<typeof Link>, 'href'> & { href: Href & string };
7
6
 
@@ -1,6 +1,6 @@
1
+ import { BottomTabBarButtonProps } from '@react-navigation/bottom-tabs';
1
2
  import { PlatformPressable } from '@react-navigation/elements';
2
3
  import * as Haptics from 'expo-haptics';
3
- import type { BottomTabBarButtonProps } from '@react-navigation/bottom-tabs';
4
4
 
5
5
  export function HapticTab(props: BottomTabBarButtonProps) {
6
6
  return (
@@ -1,3 +1,4 @@
1
+ import type { PropsWithChildren, ReactElement } from 'react';
1
2
  import { StyleSheet } from 'react-native';
2
3
  import Animated, {
3
4
  interpolate,
@@ -5,7 +6,6 @@ import Animated, {
5
6
  useAnimatedStyle,
6
7
  useScrollOffset,
7
8
  } from 'react-native-reanimated';
8
- import type { PropsWithChildren, ReactElement } from 'react';
9
9
 
10
10
  import { ThemedView } from '@/components/themed-view';
11
11
  import { useColorScheme } from '@/hooks/use-color-scheme';
@@ -1,5 +1,4 @@
1
- import { StyleSheet, Text } from 'react-native';
2
- import type {TextProps} from 'react-native';
1
+ import { StyleSheet, Text, type TextProps } from 'react-native';
3
2
 
4
3
  import { useThemeColor } from '@/hooks/use-theme-color';
5
4
 
@@ -1,5 +1,4 @@
1
- import { View } from 'react-native';
2
- import type {ViewProps} from 'react-native';
1
+ import { View, type ViewProps } from 'react-native';
3
2
 
4
3
  import { useThemeColor } from '@/hooks/use-theme-color';
5
4
 
@@ -1,6 +1,5 @@
1
- import { useState } from 'react';
1
+ import { PropsWithChildren, useState } from 'react';
2
2
  import { StyleSheet, TouchableOpacity } from 'react-native';
3
- import type { PropsWithChildren} from 'react';
4
3
 
5
4
  import { ThemedText } from '@/components/themed-text';
6
5
  import { ThemedView } from '@/components/themed-view';
@@ -1,6 +1,5 @@
1
- import { SymbolView } from 'expo-symbols';
2
- import type { SymbolViewProps, SymbolWeight } from 'expo-symbols';
3
- import type { StyleProp, ViewStyle } from 'react-native';
1
+ import { SymbolView, SymbolViewProps, SymbolWeight } from 'expo-symbols';
2
+ import { StyleProp, ViewStyle } from 'react-native';
4
3
 
5
4
  export function IconSymbol({
6
5
  name,
@@ -1,9 +1,9 @@
1
1
  // Fallback for using MaterialIcons on Android and web.
2
2
 
3
3
  import MaterialIcons from '@expo/vector-icons/MaterialIcons';
4
- import type {OpaqueColorValue, StyleProp, TextStyle} from 'react-native';
5
- import type { SymbolViewProps, SymbolWeight } from 'expo-symbols';
6
- import type { ComponentProps } from 'react';
4
+ import { SymbolWeight, SymbolViewProps } from 'expo-symbols';
5
+ import { ComponentProps } from 'react';
6
+ import { OpaqueColorValue, type StyleProp, type TextStyle } from 'react-native';
7
7
 
8
8
  type IconMapping = Record<SymbolViewProps['name'], ComponentProps<typeof MaterialIcons>['name']>;
9
9
  type IconSymbolName = keyof typeof MAPPING;
@@ -0,0 +1,10 @@
1
+ // https://docs.expo.dev/guides/using-eslint/
2
+ const { defineConfig } = require('eslint/config');
3
+ const expoConfig = require('eslint-config-expo/flat');
4
+
5
+ module.exports = defineConfig([
6
+ expoConfig,
7
+ {
8
+ ignores: ['dist/*'],
9
+ },
10
+ ]);
@@ -9,44 +9,35 @@
9
9
  "android": "expo start --android",
10
10
  "ios": "expo start --ios",
11
11
  "web": "expo start --web",
12
- "lint": "eslint .",
13
- "typecheck": "tsc --noEmit"
12
+ "lint": "expo lint"
14
13
  },
15
14
  "dependencies": {
16
15
  "@expo/vector-icons": "^15.0.3",
17
16
  "@react-navigation/bottom-tabs": "^7.4.0",
18
17
  "@react-navigation/elements": "^2.6.3",
19
18
  "@react-navigation/native": "^7.1.8",
20
- "expo": "~54.0.33",
21
- "expo-constants": "~18.0.13",
22
- "expo-font": "~14.0.11",
23
- "expo-haptics": "~15.0.8",
24
- "expo-image": "~3.0.11",
25
- "expo-linking": "~8.0.11",
26
- "expo-router": "~6.0.23",
27
- "expo-splash-screen": "~31.0.13",
28
- "expo-status-bar": "~3.0.9",
29
- "expo-symbols": "~1.0.8",
30
- "expo-system-ui": "~6.0.9",
31
- "expo-web-browser": "~15.0.10",
32
- "react": "19.1.0",
33
- "react-dom": "19.1.0",
34
- "react-native": "0.81.5",
35
- "react-native-gesture-handler": "~2.28.0",
36
- "react-native-worklets": "0.5.1",
37
- "react-native-reanimated": "~4.1.1",
19
+ "expo": "^55.0.17",
20
+ "expo-constants": "~55.0.15",
21
+ "expo-font": "~55.0.6",
22
+ "expo-haptics": "~55.0.14",
23
+ "expo-image": "~55.0.9",
24
+ "expo-linking": "~55.0.14",
25
+ "expo-router": "~55.0.13",
26
+ "expo-splash-screen": "~55.0.19",
27
+ "expo-status-bar": "~55.0.5",
28
+ "expo-symbols": "~55.0.7",
29
+ "expo-system-ui": "~55.0.16",
30
+ "expo-web-browser": "~55.0.14",
31
+ "react-native": "0.83.6",
32
+ "react-native-gesture-handler": "~2.30.0",
33
+ "react-native-reanimated": "4.2.1",
38
34
  "react-native-safe-area-context": "~5.6.0",
39
- "react-native-screens": "~4.16.0",
40
- "react-native-web": "~0.21.0"
35
+ "react-native-screens": "~4.23.0",
36
+ "react-native-web": "~0.21.0",
37
+ "react-native-worklets": "0.7.4"
41
38
  },
42
39
  "devDependencies": {
43
- "@workspace/config-eslint": "*",
44
- "@workspace/config-typescript": "*",
45
- "@workspace/config-prettier": "*",
46
- "@types/react": "~19.1.10",
47
- "typescript": "~5.9.2",
48
- "eslint-config-expo": "~10.0.0"
40
+ "eslint-config-expo": "~55.0.0"
49
41
  },
50
- "type": "module",
51
42
  "private": true
52
43
  }
@@ -1,8 +1,7 @@
1
1
  {
2
- "extends": "@workspace/config-typescript/react.json",
2
+ "extends": "expo/tsconfig.base",
3
3
  "compilerOptions": {
4
4
  "strict": true,
5
- "baseUrl": ".",
6
5
  "paths": {
7
6
  "@/*": [
8
7
  "./*"
@@ -10,14 +9,9 @@
10
9
  }
11
10
  },
12
11
  "include": [
13
- "app",
14
- "components",
15
- "constants",
16
- "hooks",
17
- "assets",
18
- "eslint.config.ts",
19
- "prettier.config.ts",
20
- "expo-env.d.ts",
21
- ".expo/types/**/*.ts"
12
+ "**/*.ts",
13
+ "**/*.tsx",
14
+ ".expo/types/**/*.ts",
15
+ "expo-env.d.ts"
22
16
  ]
23
17
  }
@@ -30,8 +30,6 @@
30
30
  "better-auth": "^1.6.9",
31
31
  "lucide-react": "^1.11.0",
32
32
  "nitro": "latest",
33
- "react": "^19.2.5",
34
- "react-dom": "^19.2.5",
35
33
  "tailwindcss": "^4.2.4",
36
34
  "vite-tsconfig-paths": "^6.1.1"
37
35
  },
@@ -40,8 +38,6 @@
40
38
  "@workspace/config-typescript": "*",
41
39
  "@workspace/config-prettier": "*",
42
40
  "@types/node": "^25.6.0",
43
- "@types/react": "^19.2.14",
44
- "@types/react-dom": "^19.2.3",
45
41
  "@vitejs/plugin-react": "^6.0.1",
46
42
  "vite": "^8.0.10"
47
43
  }
@@ -15,9 +15,14 @@
15
15
  "update-deps": "npx npm-check-updates -u -w --root && npm install",
16
16
  "prepare": "husky"
17
17
  },
18
+ "dependencies": {
19
+ "react": "^19.2.5",
20
+ "react-dom": "^19.2.5"
21
+ },
18
22
  "devDependencies": {
19
23
  "@better-auth/core": "^1.6.9",
20
24
  "@tanstack/eslint-config": "0.3.4",
25
+ "arktype": "^2.2.0",
21
26
  "eslint": "^9.39.4",
22
27
  "husky": "^9.1.7",
23
28
  "prettier": "^3.8.3",
@@ -25,7 +30,10 @@
25
30
  "turbo": "^2.9.6",
26
31
  "typescript": "6.0.3",
27
32
  "vite": "^8.0.10",
28
- "arktype": "^2.2.0"
33
+ "expo": "^55.0.17",
34
+ "expo-router": "~55.0.13",
35
+ "@types/react": "^19.2.7",
36
+ "@types/react-dom": "^19.2.3"
29
37
  },
30
38
  "packageManager": "npm@11.13.0",
31
39
  "engines": {
@@ -1,11 +0,0 @@
1
- import config from "@workspace/config-eslint"
2
- import type { Linter } from "eslint"
3
-
4
- const mobileConfig: Array<Linter.Config> = [
5
- ...config,
6
- {
7
- ignores: [".expo/**", "scripts/**"],
8
- },
9
- ]
10
-
11
- export default mobileConfig
@@ -1,3 +0,0 @@
1
- import config from "@workspace/config-prettier"
2
-
3
- export default config