#!/bin/bash # Navegar al directorio del proyecto cd /app/frontend # Instalar dependencias de Mantine echo "Instalando dependencias de Mantine..." npm install @mantine/core @mantine/hooks --yes # Instalar dependencias de desarrollo para PostCSS echo "Instalando dependencias de desarrollo para PostCSS..." npm install --save-dev postcss postcss-preset-mantine postcss-simple-vars --yes # Crear archivo de configuración de PostCSS echo "Creando archivo de configuración de PostCSS..." cat < postcss.config.cjs module.exports = { plugins: { 'postcss-preset-mantine': {}, 'postcss-simple-vars': { variables: { 'mantine-breakpoint-xs': '36em', 'mantine-breakpoint-sm': '48em', 'mantine-breakpoint-md': '62em', 'mantine-breakpoint-lg': '75em', 'mantine-breakpoint-xl': '88em', }, }, }, }; EOL # Instalar ESLint y Prettier echo "Instalando ESLint y Prettier..." npm install --save-dev eslint prettier eslint-plugin-react eslint-plugin-react-hooks eslint-config-prettier eslint-plugin-prettier --yes # Crear archivo de configuración de ESLint echo "Creando archivo de configuración de ESLint..." cat < .eslintrc.cjs module.exports = { env: { browser: true, es2021: true, }, extends: [ 'eslint:recommended', 'plugin:react/recommended', 'plugin:react-hooks/recommended', 'prettier', ], parserOptions: { ecmaFeatures: { jsx: true, }, ecmaVersion: 'latest', sourceType: 'module', }, plugins: ['react', 'prettier'], rules: { 'prettier/prettier': 'error', }, settings: { react: { version: 'detect', }, }, }; EOL # Crear archivo de configuración de Prettier echo "Creando archivo de configuración de Prettier..." cat < .prettierrc.json { "printWidth": 80, "singleQuote": true, "trailingComma": "es5", "semi": true, "jsxSingleQuote": false, "tabWidth": 2, "useTabs": false } EOL # Agregar scripts de ESLint y Prettier al package.json echo "Agregando scripts de ESLint y Prettier al package.json..." npx npm-add-script -k "lint" -v "eslint 'src/**/*.{js,jsx,ts,tsx}'" npx npm-add-script -k "format" -v "prettier --write 'src/**/*.{js,jsx,ts,tsx,css,scss,md}'" echo "¡Configuración completada! Tu proyecto está listo para desarrollarse."