Compartir configuraciones
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Si tienes muchos proyectos diferentes, puede ser útil tener una configuración compartida que puedas utilizar en todos ellos, en lugar de copiar y pegar la misma configuración para cada proyecto.
Esta página explica cómo crear, publicar y utilizar una configuración compartible.
Crear una configuración compartible
Las configuraciones compartibles son simplemente paquetes npm que exportan un único archivo de configuración de Prettier.
Antes de comenzar, asegúrate de tener:
-
Una cuenta en npmjs.com para publicar el paquete
-
Comprensión básica sobre cómo crear un módulo Node.js
Primero, crea un nuevo paquete. Recomendamos crear un paquete con ámbito con el nombre @username/prettier-config.
Un paquete mínimo debe tener al menos dos archivos: un package.json para la configuración del paquete y un index.js que contenga el objeto de configuración compartida de Prettier:
prettier-config/
├── index.js
└── package.json
Ejemplo de package.json:
{
"name": "@username/prettier-config",
"version": "1.0.0",
"description": "My personal Prettier config",
"type": "module",
"exports": "./index.js",
"license": "MIT",
"publishConfig": {
"access": "public"
},
"peerDependencies": {
"prettier": ">=3.0.0"
},
"devDependencies": {
"prettier": "%PRETTIER_VERSION%"
}
}
index.js es donde colocas la configuración compartida. Este archivo simplemente exporta una configuración normal de Prettier con la misma sintaxis y mismas opciones:
/**
* @see https://prettier.io/docs/configuration
* @type {import("prettier").Config}
*/
const config = {
trailingComma: "es5",
tabWidth: 4,
singleQuote: true,
};
export default config;
Puedes encontrar un repositorio de ejemplo de configuración compartida aquí.
Publicar una configuración compartible
Cuando estés listo, puedes publicar tu paquete en npm:
npm publish
Usar una configuración compartible
Primero necesitas instalar tu configuración publicada, por ejemplo:
- npm
- yarn
- pnpm
- bun
npm install --save-dev @username/prettier-config
yarn add --dev @username/prettier-config
pnpm add --save-dev @username/prettier-config
bun add --dev @username/prettier-config
Luego, puedes referenciarla en tu package.json:
{
"name": "my-cool-library",
"version": "1.0.0",
"prettier": "@username/prettier-config"
}
Si prefieres no usar package.json, puedes utilizar cualquiera de las extensiones soportadas para exportar un string, por ejemplo .prettierrc:
"@company/prettier-config"
Extender una configuración compartible
Para extender la configuración y sobrescribir algunas propiedades de la configuración compartida, importa el archivo en un fichero prettier.config.mjs y exporta las modificaciones, por ejemplo:
import usernamePrettierConfig from "@username/prettier-config";
/**
* @see https://prettier.io/docs/configuration
* @type {import("prettier").Config}
*/
const config = {
...usernamePrettierConfig,
semi: false,
};
export default config;
Otros ejemplos
Incluir plugins en configuraciones compartibles
Si quieres usar plugins en tu configuración compartida, necesitas declararlos en el array plugin del archivo de configuración y como dependencies en package.json:
import * as prettierPluginOxc from "@prettier/plugin-oxc";
/**
* @see https://prettier.io/docs/configuration
* @type {import("prettier").Config}
*/
const config = {
singleQuote: true,
plugins: [prettierPluginOxc],
};
export default config;
{
"name": "@username/prettier-config",
"version": "1.0.0",
"description": "My personal Prettier config",
"type": "module",
"exports": "./index.js",
"license": "MIT",
"publishConfig": {
"access": "public"
},
+ "dependencies": {
+ "@prettier/plugin-oxc": "0.1.2"
+ },
"peerDependencies": {
"prettier": ">=3.0.0"
},
"devDependencies": {
"prettier": "%PRETTIER_VERSION%"
}
}
Puedes encontrar un repositorio de ejemplo aquí
Nota: Puedes usar peerDependencies en lugar de dependencies. Para entender sus diferencias, puedes leer esta publicación de blog de Domenic Denicola sobre dependencias pares