Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .copier-answers.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
_commit: 0.9.0
_commit: 0.10.0
_src_path: gh:quickplates/meta
accountname: quickplates
description: Helm charts template ⛵
Expand Down
73 changes: 63 additions & 10 deletions src/{% if docs %}docs{% endif %}/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@
import docusauruseslint from "@docusaurus/eslint-plugin";
import { FlatCompat } from "@eslint/eslintrc";
import eslint from "@eslint/js";
import perfectionisteslint from "eslint-plugin-perfectionist";
import globals from "globals";
import tseslint from "typescript-eslint";

const compat = new FlatCompat({
baseDirectory: import.meta.dirname,
});

export default tseslint.config(
// Use recommended eslint rules
eslint.configs.recommended,

// Use strict type-checked typescript-eslint rules
tseslint.configs.strictTypeChecked,
// Use recommended type-checked typescript-eslint rules
tseslint.configs.recommendedTypeChecked,

// Use stylistic type-checked typescript-eslint rules
tseslint.configs.stylisticTypeChecked,

// Use recommended Docusaurus rules
...compat.extends("plugin:@docusaurus/recommended"),

// Use recommended perfectionist rules
perfectionisteslint.configs["recommended-alphabetical"],

Expand All @@ -24,6 +31,9 @@ export default tseslint.config(
// Support browser globals
...globals.browser,

// Support ES2023 globals
...globals.es2023,

// Support node globals
...globals.node,
},
Expand All @@ -33,20 +43,63 @@ export default tseslint.config(
// Needed for type-aware linting
projectService: true,

// Allow ES2022 syntax
sourceType: "module",

// Set the root directory of the project
// Needed for type-aware linting
tsconfigRootDir: import.meta.dirname,
},
},

plugins: {
// Enable docusaurus plugin
"@docusaurus": docusauruseslint,
},

rules: {
// Use recommended docusaurus rules
...docusauruseslint.configs.recommended.rules,
// Use objects instead of records for empty types
"@typescript-eslint/consistent-indexed-object-style": [
"error",
"index-signature",
],

// Use types instead of interfaces
"@typescript-eslint/consistent-type-definitions": ["error", "type"],

// Allow promises in callbacks
"@typescript-eslint/no-misused-promises": [
"error",
{
checksVoidReturn: false,
},
],

// Allow nullish coalescing operator for primitive types
"@typescript-eslint/prefer-nullish-coalescing": [
"error",
{
ignorePrimitives: true,
},
],

// Allow async functions without await
"@typescript-eslint/require-await": "off",

// Skip checking whether static methods are bound
"@typescript-eslint/unbound-method": [
"error",
{
ignoreStatic: true,
},
],

// Allow anonymous default exports
"import/no-anonymous-default-export": "off",

// Allow empty block statements
"no-empty": "off",

// Allow empty destructuring patterns
"no-empty-pattern": "off",

// Don't sort module members
"perfectionist/sort-modules": "off",
},
},
);
106 changes: 71 additions & 35 deletions src/{% if docs %}docs{% endif %}/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/{% if docs %}docs{% endif %}/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"@docusaurus/module-type-aliases": "^3.7.0",
"@docusaurus/tsconfig": "^3.7.0",
"@docusaurus/types": "^3.7.0",
"@eslint/eslintrc": "^3.3.0",
"@eslint/js": "^9.21.0",
"@types/react": "^18.3.18",
"eslint-plugin-perfectionist": "^4.9.0",
Expand Down