#!/usr/bin/env node /** * This script is used to reset the project to a blank state. * It moves the /app directory to /app-example and creates a new /app directory with an index.tsx and _layout.tsx file. * You can remove the `reset-project` script from package.json and safely delete this file after running it. */ const fs = require("fs"); const path = require("path"); const root = process.cwd(); const oldDirPath = path.join(root, "app"); const newDirPath = path.join(root, "app-example"); const newAppDirPath = path.join(root, "app"); const indexContent = `import { Text, View } from "react-native"; export default function Index() { return ( Edit app/index.tsx to edit this screen. ); } `; const layoutContent = `import { Stack } from "expo-router"; export default function RootLayout() { return ( ); } `; fs.rename(oldDirPath, newDirPath, error => { if (error) { return console.error(`Error renaming directory: ${error}`); } console.log("/app moved to /app-example."); fs.mkdir(newAppDirPath, { recursive: true }, error => { if (error) { return console.error(`Error creating new app directory: ${error}`); } console.log("New /app directory created."); const indexPath = path.join(newAppDirPath, "index.tsx"); fs.writeFile(indexPath, indexContent, error => { if (error) { return console.error(`Error creating index.tsx: ${error}`); } console.log("app/index.tsx created."); const layoutPath = path.join(newAppDirPath, "_layout.tsx"); fs.writeFile(layoutPath, layoutContent, error => { if (error) { return console.error(`Error creating _layout.tsx: ${error}`); } console.log("app/_layout.tsx created."); }); }); }); });