@lightspeed/eslint-config-crane
v2.0.0
Published
A comprehensive ESLint configuration package for Vue.js and TypeScript projects, designed specifically for the Crane ecosystem.
Keywords
Readme
@lightspeed/eslint-config-crane
A comprehensive ESLint configuration package for Vue.js and TypeScript projects, designed specifically for the Crane ecosystem.
Features
- Vue.js Support: Full support for Vue 3 with Composition API and
<script setup>syntax - TypeScript Integration: Comprehensive TypeScript linting with strict rules
- Modern ESLint: Uses ESLint 9 with the new flat config format
- Accessibility: Built-in Vue.js accessibility rules
- Import Management: Smart import/export rules and dependency validation
- Scoped CSS: Support for Vue scoped CSS linting
- Custom Rules: Tailored rules for the Crane development workflow
Installation
npm install @lightspeed/eslint-config-craneUsage
ESLint Flat Config (Recommended)
Create an eslint.config.js file in your project root:
import craneConfig from '@lightspeed/eslint-config-crane';
export default [
...craneConfig,
// Your custom configurations here
];Legacy ESLint Config
If you're using the legacy ESLint configuration format, create an .eslintrc.js file:
module.exports = {
extends: ['@lightspeed/eslint-config-crane'],
// Your custom configurations here
};Configuration Details
Vue.js Rules
- Enforces Composition API and
<script setup>syntax - Configures Vue-specific linting rules
- Supports Vue scoped CSS validation
- Includes accessibility rules for Vue components
TypeScript Rules
- Strict TypeScript configuration
- Explicit function return types required
- No use before define enforcement
- Comprehensive type checking
Code Quality Rules
- Maximum line length: 160 characters
- No console/debugger in production
- Import/export validation
- Parameter reassignment restrictions
File-Specific Rules
- TypeScript files: Enforces explicit return types
- Vue files: Custom line length rules for templates
- Config files: Relaxed rules for configuration files
Dependencies
This package includes the following ESLint plugins:
@typescript-eslint/eslint-plugin- TypeScript support@typescript-eslint/parser- TypeScript parser@vue/eslint-config-typescript- Vue + TypeScript integrationeslint-plugin-vue- Vue.js lintingeslint-plugin-vue-scoped-css- Scoped CSS supporteslint-plugin-vuejs-accessibility- Accessibility ruleseslint-plugin-import- Import/export management
License
MIT
