chore: update dependencies, prep for release (#8)

Closes #6

Reviewed-on: https://codeberg.org/nhcarrigan/eslint-config/pulls/8
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
This commit is contained in:
Naomi Carrigan 2024-12-09 16:41:50 +00:00 committed by Naomi the Technomancer
parent ed921cc9b7
commit e402de2201
11 changed files with 658 additions and 788 deletions

View File

@ -0,0 +1,69 @@
name: 🐛 Bug Report
description: Something isn't working as expected? Let us know!
title: '[BUG] - '
labels:
- "🚦 status: awaiting triage"
body:
- type: checkboxes
id: attestations
attributes:
label: Attestations
description: "By checking the boxes below, I certify that:"
options:
- label: "I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)"
validations:
required: true
- label: I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
validations:
required: true
- label: I have confirmed that the issue I am opening is unique, and has not already been reported (whether closed or not).
validations:
required: true
- label: I have reviewed the [Security Policy](https://docs.nhcarrigan.com/legal/security/) and have determined that this is not a security vulnerability.
validations:
required: true
- type: textarea
id: description
attributes:
label: "Describe your Issue:"
description: A clear and concise description of what the bug is.
validations:
required: true
- type: dropdown
id: reproduce
attributes:
label: Can you reproduce this issue?
options:
- Yes
- No
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: "Steps to Reproduce:"
description: Steps to reproduce the behavior.
- type: input
id: os
attributes:
label: "Operating System:"
description: The operating system you are using, including the version/build number.
validations:
required: true
# Remove this section for non-web apps.
- type: input
id: browser
attributes:
label: "Browser:"
description: The browser you are using, including the version number.
validations:
required: true
- type: dropdown
attributes:
label: Are you willing and able to contribute a fix?
options:
- Yes
- No
validations:
required: true

View File

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: "Discord"
url: "https://chat.nhcarrigan.com"
about: "Chat with us directly."

View File

@ -0,0 +1,46 @@
name: 💭 Feature Proposal
description: Have an idea for how we can improve? Share it here!
title: '[FEAT] - '
labels:
- "🚦 status: awaiting triage"
body:
- type: checkboxes
id: attestations
attributes:
label: Attestations
description: "By checking the boxes below, I certify that:"
options:
- label: "I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)"
validations:
required: true
- label: I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
validations:
required: true
- label: I have confirmed that the issue I am opening is unique, and has not already been reported (whether closed or not).
validations:
required: true
- label: I have reviewed the [Security Policy](https://docs.nhcarrigan.com/legal/security/) and have determined that this is not a security vulnerability.
validations:
required: true
- type: textarea
id: description
attributes:
label: "Describe your Idea:"
description: A clear and concise description of the feature you would like added.
validations:
required: true
- type: textarea
id: solution
attributes:
label: "What problem does this feature solve?"
description: Why are you requesting this feature? How would it improve your experience with the product?
validations:
required: true
- type: dropdown
attributes:
label: Are you willing and able to contribute this feature?
options:
- Yes
- No
validations:
required: true

View File

@ -0,0 +1,34 @@
name: ❓ Other Issue
description: I have something that is neither a bug nor a feature request.
title: '[OTHER] - '
labels:
- "🚦 status: awaiting triage"
body:
- type: checkboxes
id: attestations
attributes:
label: Attestations
description: "By checking the boxes below, I certify that:"
options:
- label: "I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)"
validations:
required: true
- label: I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
validations:
required: true
- label: I have confirmed that the issue I am opening is unique, and has not already been reported (whether closed or not).
validations:
required: true
- label: I have reviewed the [Security Policy](https://docs.nhcarrigan.com/legal/security/) and have determined that this is not a security vulnerability.
validations:
required: true
- label: This is not a feature request or bug report that I am mis-filing to avoid the issue template.
validations:
required: true
- type: textarea
id: description
attributes:
label: "Share your thoughts:"
description: Why are you opening this issue?
validations:
required: true

View File

@ -0,0 +1,93 @@
name: "Pull Request Template"
about: "Template for pulls"
labels:
- "🔍 pull: ready for review"
body:
- type: textarea
id: explain
attributes:
label: "Explanation"
description: "Briefly explain WHY this pull request is necessary. Do not explain what it does, as that's evidenced in the changes."
validations:
required: true
- type: input
id: issue
attributes:
label: "Issue"
description: "My pull request relates to or resolves the following issue number:"
validations:
required: true
is_number: true
- type: checkboxes
id: attestations
attributes:
label: Attestations
description: "By checking the boxes below, I certify that:"
options:
- label: "I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)"
validations:
required: true
- label: I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
validations:
required: true
- label: My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).
validations:
required: true
- type: checkboxes
id: dependencies
attributes:
label: Dependencies
description: "My pull request adds or updates dependencies, so:"
options:
- label: I have pinned the dependencies to a specific patch version.
validations:
required: false
- type: checkboxes
id: style
attributes:
label: Style
description: "My contribution adheres to the following style guidelines:"
options:
- label: I have run the linter and resolved any errors.
validations:
required: true
- label: My pull request uses an appropriate title, matching the conventional commit standards.
validations:
required: true
- label: My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.
validations:
required: true
- type: checkboxes
id: tests
attributes:
label: Tests
description: "My contribution includes the following tests:"
options:
- label: My contribution adds new code, and I have added tests to cover it.
validations:
required: false
- label: My contribution modifies existing code, and I have updated the tests to reflect these changes.
validations:
required: false
- label: All new and existing tests pass locally with my changes.
validations:
required: true
- label: Code coverage remains at or above the configured threshold.
validations:
required: true
- type: input
id: docs
attributes:
label: Documentation
description: "I have made the following PR to update the documentation site with my changes:"
validations:
required: true
- type: dropdown
id: version
attributes:
label: Versioning
description: "I believe my changes should be included in the following release:"
options:
- "Major - My pull request introduces a breaking change."
- "Minor - My pull request introduces a new non-breaking feature."
- "Patch - My pull request introduces bug fixes ONLY."

View File

@ -1,4 +1,4 @@
/.github/ /.forgejo/
.prettierrc.json .prettierrc.json
.gitattributes .gitattributes
/src/ /src/

View File

@ -1 +0,0 @@
"@nhcarrigan/prettier-config"

View File

@ -28,20 +28,20 @@ import NaomisConfig from "@nhcarrigan/eslint-config";
export default [ export default [
...NaomisConfig, ...NaomisConfig,
// Any overrides you need, such as: // Any overrides you need, such as:
// { {
// rules: { rules: {
// complexity: "off", complexity: "off",
// "max-lines-per-function": "off", "max-lines-per-function": "off",
// "max-statements": "off", "max-statements": "off",
// "jsdoc/require-file-overview": "off" "jsdoc/require-file-overview": "off"
// }, },
// }, },
// { {
// files: ["test/__mocks__/Database.mock.ts"], files: ["test/__mocks__/Database.mock.ts"],
// rules: { rules: {
// "require-await": "off" "require-await": "off"
// } }
// }, },
]; ];
``` ```
@ -105,7 +105,7 @@ Before interacting with our community, please read our [Code of Conduct](CODE_OF
## License ## License
This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license). This software is licensed under our [global software license](https://docs.nhcarrigan.com/legal/license/).
Copyright held by Naomi Carrigan. Copyright held by Naomi Carrigan.

View File

@ -16,8 +16,8 @@
"url": "git@codeberg.org:naomi-lgbt/eslint-config.git" "url": "git@codeberg.org:naomi-lgbt/eslint-config.git"
}, },
"engines": { "engines": {
"node": "20", "node": ">=22",
"pnpm": "9" "pnpm": ">=9"
}, },
"keywords": [ "keywords": [
"eslint" "eslint"
@ -29,23 +29,21 @@
}, },
"homepage": "https://codeberg.org/naomi-lgbt/eslint-config", "homepage": "https://codeberg.org/naomi-lgbt/eslint-config",
"dependencies": { "dependencies": {
"@eslint/compat": "1.1.1", "@eslint/compat": "1.2.4",
"@eslint/eslintrc": "3.1.0", "@eslint/eslintrc": "3.2.0",
"@eslint/js": "9.11.1", "@eslint/js": "9.16.0",
"@stylistic/eslint-plugin": "2.8.0", "@stylistic/eslint-plugin": "2.12.0",
"@typescript-eslint/eslint-plugin": "8.7.0", "@typescript-eslint/eslint-plugin": "8.17.0",
"@typescript-eslint/parser": "8.7.0", "@typescript-eslint/parser": "8.17.0",
"@vitest/eslint-plugin": "1.1.4", "@vitest/eslint-plugin": "1.1.14",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-deprecation": "3.0.0", "eslint-plugin-deprecation": "3.0.0",
"eslint-plugin-import": "2.30.0", "eslint-plugin-import": "2.31.0",
"eslint-plugin-jsdoc": "50.2.5", "eslint-plugin-jsdoc": "50.6.0",
"eslint-plugin-playwright": "1.6.2", "eslint-plugin-playwright": "2.1.0",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-react": "7.37.2",
"eslint-plugin-react": "7.36.1",
"eslint-plugin-sort-keys-fix": "1.1.2", "eslint-plugin-sort-keys-fix": "1.1.2",
"eslint-plugin-unicorn": "55.0.0", "eslint-plugin-unicorn": "56.0.1",
"globals": "15.9.0" "globals": "15.13.0"
}, },
"peerDependencies": { "peerDependencies": {
"eslint": ">=9", "eslint": ">=9",
@ -55,11 +53,10 @@
"vitest": ">=2" "vitest": ">=2"
}, },
"devDependencies": { "devDependencies": {
"@nhcarrigan/prettier-config": "3.2.0",
"@nhcarrigan/typescript-config": "4.0.0", "@nhcarrigan/typescript-config": "4.0.0",
"@types/eslint": "9.6.1", "@types/eslint": "9.6.1",
"@types/node": "20.14.12", "@types/node": "22.10.1",
"typescript": "5.6.2", "typescript": "5.7.2",
"vitest": "2.1.1" "vitest": "2.1.8"
} }
} }

1120
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -8,14 +8,11 @@ import { fixupPluginRules } from "@eslint/compat";
import stylistic from "@stylistic/eslint-plugin"; import stylistic from "@stylistic/eslint-plugin";
import tslint from "@typescript-eslint/eslint-plugin"; import tslint from "@typescript-eslint/eslint-plugin";
import parser from "@typescript-eslint/parser"; import parser from "@typescript-eslint/parser";
// eslint-disable-next-line import/default, import/no-named-as-default, import/no-named-as-default-member -- Issues with the import.
import vitest from "@vitest/eslint-plugin"; import vitest from "@vitest/eslint-plugin";
import deprecation from "eslint-plugin-deprecation"; import deprecation from "eslint-plugin-deprecation";
import importPlugin from "eslint-plugin-import"; import importPlugin from "eslint-plugin-import";
// eslint-disable-next-line import/default, import/no-named-as-default, import/no-named-as-default-member -- Issues with the import.
import jsdoc from "eslint-plugin-jsdoc"; import jsdoc from "eslint-plugin-jsdoc";
import playwright from "eslint-plugin-playwright"; import playwright from "eslint-plugin-playwright";
// @ts-expect-error There's no typedef...
import react from "eslint-plugin-react"; import react from "eslint-plugin-react";
import sortKeysFix from "eslint-plugin-sort-keys-fix"; import sortKeysFix from "eslint-plugin-sort-keys-fix";
import unicorn from "eslint-plugin-unicorn"; import unicorn from "eslint-plugin-unicorn";
@ -133,7 +130,6 @@ const config: Array<Linter.Config> = [
"@typescript-eslint": tslint, "@typescript-eslint": tslint,
"import": fixupPluginRules(importPlugin as ESLint.Plugin), "import": fixupPluginRules(importPlugin as ESLint.Plugin),
"jsdoc": jsdoc, "jsdoc": jsdoc,
// @ts-expect-error I'm not actually sure what's going on here...
"playwright": playwright, "playwright": playwright,
"sort-keys-fix": sortKeysFix as ESLint.Plugin, "sort-keys-fix": sortKeysFix as ESLint.Plugin,
@ -180,8 +176,7 @@ const config: Array<Linter.Config> = [
"deprecation": fixupPluginRules(deprecation), "deprecation": fixupPluginRules(deprecation),
"import": fixupPluginRules(importPlugin as ESLint.Plugin), "import": fixupPluginRules(importPlugin as ESLint.Plugin),
"jsdoc": jsdoc, "jsdoc": jsdoc,
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- No typedef means it's unsafe... "react": react as ESLint.Plugin,
"react": react,
"sort-keys-fix": sortKeysFix as ESLint.Plugin, "sort-keys-fix": sortKeysFix as ESLint.Plugin,
// @ts-expect-error They haven't typedef this yet because it technically doesn't support eslint9 // @ts-expect-error They haven't typedef this yet because it technically doesn't support eslint9
"stylistic": fixupPluginRules(stylistic), "stylistic": fixupPluginRules(stylistic),