@cultivx/code-standards
v1.0.1
Published
CultivX code standards and linting configuration
Downloads
68
Maintainers
Readme
@cultivx/code-standards
CultivX's shared ESLint and Prettier configuration for TypeScript and React projects.
Installation
pnpm add @cultivx/code-standardsUsage
This package uses ES modules and requires Node.js environments that support ES modules.
ESLint Configuration
Create your eslint.config.js file in the root of your project:
import { eslintConfig } from '@cultivx/code-standards';
export default eslintConfig;Prettier Configuration
Create your .prettierrc.js file in the root of your project:
import { prettierConfig } from '@cultivx/code-standards';
export default prettierConfig;Package.json Scripts
Add these scripts to your package.json:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\""
}
}VSCode Integration
To integrate with VSCode, follow these steps:
Install the VSCode extensions:
Add the following settings to your VSCode settings.json:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.experimental.useFlatConfig": true
}This configuration:
- Uses Prettier as the default formatter (runs on save)
- Runs ESLint fixes on save
- Enables support for ESLint's flat config format
Known Issues
prettier-eslint Compatibility
As of ESLint 9.x, some options used by prettier-eslint have been removed, which may cause errors like:
Invalid Options:
- Unknown options: ignorePath, resolvePluginsRelativeTo, rulePaths, useEslintrcWorkaround:
Use ESLint and Prettier separately instead of using prettier-eslint:
- Remove
prettier-eslintfrom your dependencies - Use separate commands for linting and formatting:
{ "scripts": { "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"", "check": "pnpm format && pnpm lint:fix" } }
Features
- TypeScript support
- React and React Hooks support
- Prettier integration
- Modern JavaScript features
- Consistent code style across CultivX projects
- ESLint flat config format (ESLint 9.0.0+)
Rules
ESLint Rules
- TypeScript-specific rules configured for optimal development experience
- React and React Hooks best practices
- Import/export rules
- Unused variables handling with special patterns for ignored variables
Prettier Rules
- 2 spaces indentation
- Single quotes
- No semicolons
- ES5 trailing commas
- Consistent arrow function parentheses
- Proper bracket spacing
Requirements
- Node.js >= 16
- pnpm >= 8
- ESLint >= 9.0.0
- Prettier >= 3.0.0
Contributing
To contribute to this package:
- Clone the repository
- Install dependencies with
pnpm install - Make your changes
- Submit a pull request
License
ISC
