mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 02:48:50 +00:00
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com> Co-authored-by: Georgijs Vilums <=> Co-authored-by: dylan-conway <dylan-conway@users.noreply.github.com> Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
74 lines
1.9 KiB
JavaScript
Executable File
74 lines
1.9 KiB
JavaScript
Executable File
#!/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 (
|
|
<View
|
|
style={{
|
|
flex: 1,
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
}}
|
|
>
|
|
<Text>Edit app/index.tsx to edit this screen.</Text>
|
|
</View>
|
|
);
|
|
}
|
|
`;
|
|
|
|
const layoutContent = `import { Stack } from "expo-router";
|
|
|
|
export default function RootLayout() {
|
|
return (
|
|
<Stack>
|
|
<Stack.Screen name="index" />
|
|
</Stack>
|
|
);
|
|
}
|
|
`;
|
|
|
|
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.");
|
|
});
|
|
});
|
|
});
|
|
});
|