@xenon.js/configs
Version:
All common configuration related to JavaScript.
67 lines (66 loc) • 2.07 kB
TypeScript
/** @import { Linter } from "eslint" */
/**
* @typedef Config
*
* @property {string} [gitignorePath] .gitignore 路径,默认 `resolve(cwd(), ".gitignore")`
* @property {boolean} [ignoreConfigFiles] 忽略所有 *.config 配置文件,比如 eslint.config.js,默认 `true`
* @property {"none" | "loose" | "strict"} [jsdocLevel] JSDoc 检查级别,默认 `loose`
* @property {string[]} [jsdocDefinedTags] 额外允许的 JSDoc 标签列表
*/
/**
* @param {Config} config
* @returns {Linter.Config}
*/
export function config(config?: Config): Linter.Config;
/**
* @typedef ConfigForNodeJS
*
* @property {boolean} [includeSecurityRules] 是否启用安全性规则,默认 `true`
*/
/**
* 针对 Node.JS 的配置
*
* 建议配置 `engines` 字段以提供准确的检查,详情请查看 [NPM 文档](https://docs.npmjs.com/cli/v10/configuring-npm/package-json#engines)
*
* @param {ConfigForNodeJS} config
* @returns {Linter.Config}
*/
export function configForNodeJS(config?: ConfigForNodeJS): Linter.Config;
/**
* @typedef ConfigForWeb
*/
/**
* 针对 Web 的配置
*
* 建议配置 `engines` 字段以提供准确的检查,详情请查看 [NPM 文档](https://docs.npmjs.com/cli/v10/configuring-npm/package-json#engines)
*
* @param {ConfigForWeb} config
* @returns {Linter.Config}
*/
export function configForWeb(config?: ConfigForWeb): Linter.Config;
export type Config = {
/**
* .gitignore 路径,默认 `resolve(cwd(), ".gitignore")`
*/
gitignorePath?: string;
/**
* 忽略所有 *.config 配置文件,比如 eslint.config.js,默认 `true`
*/
ignoreConfigFiles?: boolean;
/**
* JSDoc 检查级别,默认 `loose`
*/
jsdocLevel?: "none" | "loose" | "strict";
/**
* 额外允许的 JSDoc 标签列表
*/
jsdocDefinedTags?: string[];
};
export type ConfigForNodeJS = {
/**
* 是否启用安全性规则,默认 `true`
*/
includeSecurityRules?: boolean;
};
export type ConfigForWeb = any;
import type { Linter } from "eslint";