Repository: JoshuaKGoldberg/template-typescript-node-package (ts)

Issue:
🛠 Tooling: Disable n/no-missing-import altogether
### Bug Report Checklist

- [X] I have tried restarting my IDE and the issue persists.
- [X] I have pulled the latest `main` branch of the repository.
- [X] I have [searched for related issues](https://github.com/JoshuaKGoldberg/template-typescript-node-package/issues?q=is%3Aissue) and found none that matched my issue.

### Overview

I realized just now that it's mostly duplicating the work from `import/extensions` + TypeScript. No need for it when we have both of those things already.

### Additional Info

_No response_
🛠 Tooling: Remove eslint-plugin-typescript-sort-keys altogether
### Bug Report Checklist

- [X] I have tried restarting my IDE and the issue persists.
- [X] I have pulled the latest `main` branch of the repository.
- [X] I have [searched for related issues](https://github.com/JoshuaKGoldberg/template-typescript-node-package/issues?q=is%3Aissue) and found none that matched my issue.

### Overview

It's still referenced in the repo. No need for that.

### Additional Info

_No response_

Pull request description:
fix: cleaned up eslint-plugin-n templating
<!-- 👋 Hi, thanks for sending a PR to template-typescript-node-package! 💖.
Please fill out all fields below and make sure each item is true and [x] checked.
Otherwise we may not be able to review your PR. -->

## PR Checklist

- [x] Addresses an existing open issue: fixes #558; fixes #559
- [x] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/template-typescript-node-package/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in [CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/template-typescript-node-package/blob/main/.github/CONTRIBUTING.md) were taken

## Overview

Applies some cleanups around the ESLint plugin.

Patch:
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index ce31fa3..18363df 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -126,15 +126,10 @@ module.exports = {
 		// These off/less-strict-by-default rules work well for this repo and we like them on.
 		"@typescript-eslint/no-unused-vars": ["error", { caughtErrors: "all" }],
 		"import/extensions": ["error", "ignorePackages"],
-		"n/no-missing-import": [
-			"error",
-			{
-				allowModules: ["template-typescript-node-package"],
-			},
-		],
 		"no-only-tests/no-only-tests": "error",
 
 		// These on-by-default rules don't work well for this repo and we like them off.
+		"n/no-missing-import": "off",
 		"no-case-declarations": "off",
 		"no-constant-condition": "off",
 		"no-inner-declarations": "off",
diff --git a/src/hydrate/steps/finalizeDependencies.ts b/src/hydrate/steps/finalizeDependencies.ts
index 925b844..b2d781a 100644
--- a/src/hydrate/steps/finalizeDependencies.ts
+++ b/src/hydrate/steps/finalizeDependencies.ts
@@ -20,6 +20,7 @@ export async function finalizeDependencies({
 		"eslint-plugin-jsdoc",
 		"eslint-plugin-jsonc",
 		"eslint-plugin-markdown",
+		"eslint-plugin-n",
 		"eslint-plugin-perfectionist",
 		"eslint-plugin-regexp",
 		"eslint-plugin-yml",
diff --git a/src/hydrate/steps/writing/creation/rootFiles.ts b/src/hydrate/steps/writing/creation/rootFiles.ts
index 1450234..f4b319d 100644
--- a/src/hydrate/steps/writing/creation/rootFiles.ts
+++ b/src/hydrate/steps/writing/creation/rootFiles.ts
@@ -142,20 +142,16 @@ module.exports = {
 		"import",
 		"jsdoc",${values.unitTests ? `\n"no-only-tests",` : ""}
 		"perfectionist",
-		"regexp",
-		"typescript-sort-keys",${values.unitTests ? `\n"vitest",` : ""}
+		"regexp",${values.unitTests ? `\n"vitest",` : ""}
 	],
 	root: true,
 	rules: {
 		// These off/less-strict-by-default rules work well for this repo and we like them on.
 		"@typescript-eslint/no-unused-vars": ["error", { caughtErrors: "all" }],
 		"import/extensions": ["error", "ignorePackages"],
-		"n/no-missing-import": [
-			"error",
-			{
-				allowModules: ["template-typescript-node-package"],
-			},
-		],${values.unitTests ? `\n"no-only-tests/no-only-tests": "error",` : ""}
+		"n/no-missing-import": "off",${
+			values.unitTests ? `\n"no-only-tests/no-only-tests": "error",` : ""
+		}
 
 		// These on-by-default rules don't work well for this repo and we like them off.
 		"no-case-declarations": "off",


Test patch:
diff --git a/src/hydrate/steps/finalizeDependencies.test.ts b/src/hydrate/steps/finalizeDependencies.test.ts
index ab00352..4e598de 100644
--- a/src/hydrate/steps/finalizeDependencies.test.ts
+++ b/src/hydrate/steps/finalizeDependencies.test.ts
@@ -30,6 +30,7 @@ describe("finalize", () => {
 				"eslint-plugin-jsdoc@latest",
 				"eslint-plugin-jsonc@latest",
 				"eslint-plugin-markdown@latest",
+				"eslint-plugin-n@latest",
 				"eslint-plugin-perfectionist@latest",
 				"eslint-plugin-regexp@latest",
 				"eslint-plugin-yml@latest",
@@ -73,6 +74,7 @@ describe("finalize", () => {
 				"eslint-plugin-jsdoc@latest",
 				"eslint-plugin-jsonc@latest",
 				"eslint-plugin-markdown@latest",
+				"eslint-plugin-n@latest",
 				"eslint-plugin-perfectionist@latest",
 				"eslint-plugin-regexp@latest",
 				"eslint-plugin-yml@latest",