@tcd-devkit/prettier-config v0.2.1
@tcd-devkit/prettier-config
Shareable Prettier configuration for the @tcd-devkit ecosystem. This package ensures consistent code formatting across JavaScript, TypeScript, JSON, TOML, and package.json files.
It comes pre-configured with the following Prettier plugins:
@ianvs/prettier-plugin-sort-importsfor organizing importsprettier-plugin-packagejsonfor formattingpackage.jsonfilesprettier-plugin-tomlfor formatting TOML files
Features
- Consistent Formatting: Enforces a unified code style.
- Import Sorting: Automatically sorts imports according to predefined rules.
package.jsonFormatting: Keeps yourpackage.jsonneat and consistently ordered.- TOML Formatting: Ensures TOML files (like
pyproject.tomlorwrangler.toml) are well-formatted. - Opinionated Defaults: Based on common Prettier best practices with minor adjustments.
Installation
# Using npm
npm install -D @tcd-devkit/prettier-config prettier
# Using yarn
yarn add -D @tcd-devkit/prettier-config prettier
# Using pnpm
pnpm add -D @tcd-devkit/prettier-config prettierThe necessary Prettier plugins (@ianvs/prettier-plugin-sort-imports, prettier-plugin-packagejson, prettier-plugin-toml) are direct dependencies of this package and will be installed automatically.
Usage
To use this Prettier configuration, reference it in your package.json:
{
"name": "your-project",
"version": "1.0.0",
"prettier": "@tcd-devkit/prettier-config"
}Alternatively, you can create a Prettier configuration file (e.g., .prettierrc.js, .prettierrc.json, prettier.config.js) and extend this configuration:
.prettierrc.js (or prettier.config.js)
This package exports both CommonJS (CJS) and ES Module (ESM) formats. Choose the appropriate example based on your project's module system:
Note: You can also use
prettier.config.cjsto force CommonJS format even in projects with"type": "module"in package.json.
For CommonJS (.js files without "type": "module" in package.json):
const prettierConfig = require('@tcd-devkit/prettier-config');
module.exports = {
...prettierConfig,
// Your custom overrides can be added here
// For example:
// printWidth: 100,
};For ES Modules (.mjs files or .js files with "type": "module" in package.json):
import prettierConfig from '@tcd-devkit/prettier-config';
export default {
...prettierConfig,
// Your custom overrides can be added here
// For example:
// printWidth: 100,
};.prettierrc.json
"@tcd-devkit/prettier-config"Refer to the Prettier documentation for more ways to configure Prettier.
Overriding Configuration
While this package provides a sensible default configuration, you can easily override specific rules in your project's Prettier configuration file as shown in the .prettierrc.js example above.
License
MIT © Nace Logar