What is @cspell/cspell-types?
@cspell/cspell-types is a TypeScript library that provides type definitions for the CSpell spelling checker configuration. It allows developers to define and manage spelling configurations programmatically, ensuring that their spelling rules are consistent and easily maintainable.
What are @cspell/cspell-types's main functionalities?
Define CSpell Configuration
This feature allows you to define a CSpell configuration using TypeScript. You can specify the language, custom words, paths to ignore, and dictionaries to use.
{
"import { CSpellUserSettings } from '@cspell/cspell-types';
const config: CSpellUserSettings = {
language: 'en',
words: ['typescript', 'npm'],
ignorePaths: ['node_modules', 'dist'],
dictionaries: ['softwareTerms']
};
console.log(config);"
}
Extend Existing Configuration
This feature demonstrates how to extend an existing CSpell configuration. You can merge configurations to add new words or ignore paths while keeping the base configuration intact.
{
"import { CSpellUserSettings } from '@cspell/cspell-types';
const baseConfig: CSpellUserSettings = {
language: 'en',
words: ['typescript']
};
const extendedConfig: CSpellUserSettings = {
...baseConfig,
words: [...baseConfig.words, 'npm'],
ignorePaths: ['node_modules']
};
console.log(extendedConfig);"
}
Validate Configuration
This feature allows you to validate a CSpell configuration to ensure it meets the required schema. The `validateConfig` function checks the configuration and returns any validation errors.
{
"import { CSpellUserSettings, validateConfig } from '@cspell/cspell-types';
const config: CSpellUserSettings = {
language: 'en',
words: ['typescript', 'npm'],
ignorePaths: ['node_modules', 'dist'],
dictionaries: ['softwareTerms']
};
const validationResult = validateConfig(config);
console.log(validationResult);"
}
Other packages similar to @cspell/cspell-types
eslint
ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. It helps developers maintain code quality and consistency. Unlike @cspell/cspell-types, which focuses on spelling, ESLint focuses on code linting and style enforcement.
stylelint
Stylelint is a linter for CSS and other style sheet languages. It helps developers avoid errors and enforce consistent conventions in their styles. While @cspell/cspell-types is for spelling configurations, Stylelint is specifically for style sheet linting.
prettier
Prettier is an opinionated code formatter that supports many languages. It enforces a consistent style by parsing your code and re-printing it with its own rules. Unlike @cspell/cspell-types, which is for spelling configurations, Prettier focuses on code formatting.
Cspell Types
Contains cspell types and json-schema.
This package contains no dependencies to avoid any security issues.