UNPKG

@halospv3/hce.shared-config

Version:

Automate commit message quality, changelogs, and CI/CD releases. Its `main` entry point is a Semantic Release config. Functions and classes are exposed for customization. An ESLint config, a Commitlint config, and addl. resources for .NET projects are als

98 lines (97 loc) 2.16 kB
import eslint from "@eslint/js"; import { defineConfig, globalIgnores } from "eslint/config"; import "eslint"; import stylistic from "@stylistic/eslint-plugin"; import json from "@eslint/json"; import globals from "globals/globals.json" with { type: "json" }; import tseslint from "typescript-eslint"; //#region src/eslintConfig.ts const globalIgnores$1 = globalIgnores([ "_tsout/**/*", "_tsout/*", "_tsout/", "cjs/**/*", "cjs/*/*", "cjs/*", "mjs/**/*", "mjs/*", "mjs/", "node_modules/**/*", "**/node_modules/**/*", "**/*.tsbuildinfo", "**/bin/**/*", "**/obj/**/*", ".pnp.cjs", ".pnp.loader.mjs", ".yarn/sdks/**" ]); const stylisticWarn = stylistic.configs.customize({ quoteProps: "as-needed", semi: true, indent: 2, severity: "warn" }); stylisticWarn.rules ??= {}; stylisticWarn.rules["@stylistic/no-extra-parens"] = [ "warn", "all", { allowParensAfterCommentPattern: "@type|@satisfies", nestedBinaryExpressions: false } ]; stylisticWarn.rules["@stylistic/semi"] = [ "warn", "always", { omitLastInOneLineBlock: false, omitLastInOneLineClassBody: false } ]; const config = defineConfig({ ...json.configs.recommended, name: "JSON Recommended", files: ["**/*.json"], ignores: ["**/.vscode/*.json"], language: "json/json" }, { name: "JSON - Allow empty keys in package-lock.json", files: ["**/package-lock.json"], rules: { "json/no-empty-keys": "off" } }, { ...json.configs.recommended, name: "JSONC Recommended", files: ["**/*.jsonc", "**/.vscode/*.json"], language: "json/jsonc" }, { ...json.configs.recommended, name: "JSON5 Recommended", files: ["**/*.json5"], language: "json/json5" }, { name: "TSJS", extends: [ eslint.configs.recommended, ...tseslint.configs.strictTypeChecked, ...tseslint.configs.stylisticTypeChecked, stylisticWarn ], files: [ "**/*.ts", "**/*.cts", "**/*.mts", "**/*.js", "**/*.cjs", "**/*.mjs", "**/*.jsx", "**/*.tsx" ], ignores: globalIgnores$1.ignores, languageOptions: { parserOptions: { projectService: true }, globals: globals.node } }, globalIgnores$1); //#endregion export { config as default }; //# sourceMappingURL=eslintConfig.mjs.map