@vibeshow/core
v1.0.5
Published
Core utilities and shared setup
Maintainers
Readme
@vibeshow/core
Shared configuration package for VibeShow projects. Provides centralized Prettier and ESLint configurations for consistent code formatting and linting across all projects.
Installation
npm install --save-dev @vibeshow/corePeer Dependencies
This package requires the following peer dependencies to be installed in your project:
npm install --save-dev \
prettier@^3.0.0 \
eslint@^9.0.0 \
@eslint/js@^9.0.0 \
eslint-plugin-prettier@^5.0.0 \
globals@^16.0.0 \
typescript-eslint@^8.0.0Usage
Prettier Configuration
Create a prettier.config.mjs file in your project root:
import config from '@vibeshow/core/prettier';
export default config;Or extend it with your own settings:
import baseConfig from '@vibeshow/core/prettier';
export default {
...baseConfig,
// Your custom overrides
printWidth: 100,
};ESLint Configuration
Create an eslint.config.mjs file in your project root:
import baseConfig from '@vibeshow/core/eslint';
export default baseConfig;Or extend it with your own rules:
import baseConfig from '@vibeshow/core/eslint';
import tseslint from 'typescript-eslint';
export default tseslint.config(
baseConfig,
{
// Your project-specific overrides
rules: {
'@typescript-eslint/no-explicit-any': 'error',
},
}
);Features
- ✅ Prettier: Pre-configured with import sorting and TypeScript support
- ✅ ESLint: TypeScript-aware linting with Prettier integration
- ✅ Import Sorting: Automatic import organization using
@trivago/prettier-plugin-sort-imports - ✅ TypeScript Support: Full TypeScript and decorator support
Configuration Details
Prettier Settings
- Trailing Comma: ES5 style
- Tab Width: 2 spaces (using tabs)
- Semicolons: Enabled
- Quotes: Single quotes
- Import Order: Third-party modules →
@/aliases → relative imports
ESLint Settings
- TypeScript: Full type-checking enabled
- Prettier Integration: Automatic formatting on save
- Node.js & Jest: Globals configured
- Rules: Sensible defaults with warnings for common issues
License
ISC
Author
Rimade ([email protected])
