chore: configure nativewind styling
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
module.exports = function (api) {
|
||||||
|
api.cache(true);
|
||||||
|
|
||||||
|
return {
|
||||||
|
presets: [["babel-preset-expo", { jsxImportSource: "nativewind" }], "nativewind/babel"],
|
||||||
|
};
|
||||||
|
};
|
||||||
+9
-8
@@ -1,20 +1,21 @@
|
|||||||
const path = require('path');
|
const path = require("path");
|
||||||
const { getDefaultConfig } = require('expo/metro-config');
|
const { getDefaultConfig } = require("expo/metro-config");
|
||||||
|
const { withNativeWind } = require("nativewind/metro");
|
||||||
|
|
||||||
const projectRoot = __dirname;
|
const projectRoot = __dirname;
|
||||||
const workspaceRoot = path.resolve(projectRoot, '..');
|
const workspaceRoot = path.resolve(projectRoot, "..");
|
||||||
|
|
||||||
const config = getDefaultConfig(projectRoot);
|
const config = getDefaultConfig(projectRoot);
|
||||||
|
|
||||||
config.watchFolders = [workspaceRoot];
|
config.watchFolders = [workspaceRoot];
|
||||||
config.resolver.alias = {
|
config.resolver.alias = {
|
||||||
...config.resolver.alias,
|
...config.resolver.alias,
|
||||||
'@infiplot/core': path.resolve(workspaceRoot, 'packages/core/src/index.ts'),
|
"@infiplot/core": path.resolve(workspaceRoot, "packages/core/src/index.ts"),
|
||||||
'@infiplot/types': path.resolve(workspaceRoot, 'packages/types/src/index.ts'),
|
"@infiplot/types": path.resolve(workspaceRoot, "packages/types/src/index.ts"),
|
||||||
};
|
};
|
||||||
config.resolver.nodeModulesPaths = [
|
config.resolver.nodeModulesPaths = [
|
||||||
path.resolve(projectRoot, 'node_modules'),
|
path.resolve(projectRoot, "node_modules"),
|
||||||
path.resolve(workspaceRoot, 'node_modules'),
|
path.resolve(workspaceRoot, "node_modules"),
|
||||||
];
|
];
|
||||||
|
|
||||||
module.exports = config;
|
module.exports = withNativeWind(config, { input: "./src/global.css" });
|
||||||
|
|||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
/// <reference types="nativewind/types" />
|
||||||
|
|
||||||
|
// NOTE: This file should not be edited and should be committed with your source code. It is generated by NativeWind.
|
||||||
+7
-1
@@ -19,18 +19,24 @@
|
|||||||
"expo-symbols": "~56.0.6",
|
"expo-symbols": "~56.0.6",
|
||||||
"expo-system-ui": "~56.0.5",
|
"expo-system-ui": "~56.0.5",
|
||||||
"expo-web-browser": "~56.0.5",
|
"expo-web-browser": "~56.0.5",
|
||||||
|
"nativewind": "^4.2.6",
|
||||||
"react": "19.2.3",
|
"react": "19.2.3",
|
||||||
"react-dom": "19.2.3",
|
"react-dom": "19.2.3",
|
||||||
"react-native": "0.85.3",
|
"react-native": "0.85.3",
|
||||||
|
"react-native-css-interop": "^0.2.6",
|
||||||
"react-native-gesture-handler": "~2.31.1",
|
"react-native-gesture-handler": "~2.31.1",
|
||||||
"react-native-reanimated": "4.3.1",
|
"react-native-reanimated": "4.3.1",
|
||||||
"react-native-safe-area-context": "~5.7.0",
|
"react-native-safe-area-context": "~5.7.0",
|
||||||
"react-native-screens": "4.25.2",
|
"react-native-screens": "4.25.2",
|
||||||
"react-native-web": "~0.21.0",
|
"react-native-web": "~0.21.0",
|
||||||
"react-native-worklets": "0.8.3"
|
"react-native-worklets": "0.8.3",
|
||||||
|
"tailwindcss": "^3.4.15"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react": "~19.2.2",
|
"@types/react": "~19.2.2",
|
||||||
|
"eslint": "^9.0.0",
|
||||||
|
"eslint-config-expo": "~56.0.4",
|
||||||
|
"prettier-plugin-tailwindcss": "^0.8.0",
|
||||||
"typescript": "~6.0.3"
|
"typescript": "~6.0.3"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { DarkTheme, DefaultTheme, ThemeProvider } from 'expo-router';
|
import { DarkTheme, DefaultTheme, ThemeProvider } from 'expo-router';
|
||||||
import { useColorScheme } from 'react-native';
|
import { useColorScheme } from 'react-native';
|
||||||
|
|
||||||
|
import '@/global.css';
|
||||||
import { AnimatedSplashOverlay } from '@/components/animated-icon';
|
import { AnimatedSplashOverlay } from '@/components/animated-icon';
|
||||||
import AppTabs from '@/components/app-tabs';
|
import AppTabs from '@/components/app-tabs';
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
* There are many other ways to style your app. For example, [Nativewind](https://www.nativewind.dev/), [Tamagui](https://tamagui.dev/), [unistyles](https://reactnativeunistyles.vercel.app), etc.
|
* There are many other ways to style your app. For example, [Nativewind](https://www.nativewind.dev/), [Tamagui](https://tamagui.dev/), [unistyles](https://reactnativeunistyles.vercel.app), etc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import '@/global.css';
|
|
||||||
|
|
||||||
import { Platform } from 'react-native';
|
import { Platform } from 'react-native';
|
||||||
|
|
||||||
export const Colors = {
|
export const Colors = {
|
||||||
|
|||||||
+12
-5
@@ -1,9 +1,16 @@
|
|||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
@tailwind utilities;
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--font-display:
|
--font-display:
|
||||||
Spline Sans, Inter, ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji,
|
Spline Sans, Inter, ui-sans-serif, system-ui, sans-serif, Apple Color Emoji,
|
||||||
Segoe UI Symbol, Noto Color Emoji;
|
Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
|
||||||
--font-mono:
|
--font-mono:
|
||||||
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono,
|
||||||
--font-rounded: 'SF Pro Rounded', 'Hiragino Maru Gothic ProN', Meiryo, 'MS PGothic', sans-serif;
|
Courier New, monospace;
|
||||||
--font-serif: Georgia, 'Times New Roman', serif;
|
--font-rounded:
|
||||||
|
"SF Pro Rounded", "Hiragino Maru Gothic ProN", Meiryo, "MS PGothic",
|
||||||
|
sans-serif;
|
||||||
|
--font-serif: Georgia, "Times New Roman", serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
/** @type {import('tailwindcss').Config} */
|
||||||
|
module.exports = {
|
||||||
|
content: ["./src/**/*.{js,jsx,ts,tsx}", "./app/**/*.{js,jsx,ts,tsx}"],
|
||||||
|
presets: [require("nativewind/preset")],
|
||||||
|
theme: {
|
||||||
|
extend: {},
|
||||||
|
},
|
||||||
|
plugins: [],
|
||||||
|
};
|
||||||
+3
-1
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"extends": "expo/tsconfig.base",
|
"extends": "expo/tsconfig.base",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
"jsxImportSource": "nativewind",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"paths": {
|
"paths": {
|
||||||
"@/*": [
|
"@/*": [
|
||||||
@@ -21,6 +22,7 @@
|
|||||||
"**/*.ts",
|
"**/*.ts",
|
||||||
"**/*.tsx",
|
"**/*.tsx",
|
||||||
".expo/types/**/*.ts",
|
".expo/types/**/*.ts",
|
||||||
"expo-env.d.ts"
|
"expo-env.d.ts",
|
||||||
|
"nativewind-env.d.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user