Repository: eslint-functional/eslint-plugin-functional
Pull request #837 (2024-06-19 06:22:32)

refactor: simplify paths

graphite-app[bot]: ## Your org has enabled the Graphite merge queue for merging into main

Add the label “Status: Merge Queue” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “Status: Hotfix” to add to the merge queue as a hot fix.

You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using [this link](https://app.graphite.dev/invite/github/eslint-functional?ref=merge-queue-instructions-comment&prId=5207056108).
RebeccaStevens: * **#837** <a href="https://app.graphite.dev/github/pr/eslint-functional/eslint-plugin-functional/837?utm_source=stack-comment-icon" target="_blank"><img src="https://static.graphite.dev/graphite-32x32-black.png" alt="Graphite" width="10px" height="10px"/></a> 👈
* `main`

This stack of pull requests is managed by Graphite. <a href="https://stacking.dev/?utm_source=stack-comment">Learn more about stacking.</a>
<h2></h2>

 Join @RebeccaStevens and the rest of your teammates on <a href="https://graphite.dev?utm-source=stack-comment"><img src="https://static.graphite.dev/graphite-32x32-black.png" alt="Graphite" width="11px" height="11px"/> <b>Graphite</b></a>
  <!-- Current dependencies on/for this PR: -->
graphite-app[bot]: ### Merge activity

* **Jun 19, 2:23 AM EDT**: `RebeccaStevens` added this pull request to the [Graphite merge queue](https://app.graphite.dev/merges?org=eslint-functional&repo=eslint-plugin-functional).


Patch:
diff --git a/cz-adapter/engine.ts b/cz-adapter/engine.ts
index 02d9e6c..d5d1e3f 100644
--- a/cz-adapter/engine.ts
+++ b/cz-adapter/engine.ts
@@ -1,7 +1,7 @@
 import chalk from "chalk";
 import wrap from "word-wrap";
 
-import { rules } from "#eslint-plugin-functional/rules";
+import { rules } from "#/rules";
 
 import { type Options } from "./options";
 
diff --git a/rollup.config.ts b/rollup.config.ts
index a720ffd..9661deb 100644
--- a/rollup.config.ts
+++ b/rollup.config.ts
@@ -31,7 +31,7 @@ const classicCJS = {
           ...resolvedConfig,
           paths: {
             ...resolvedConfig.paths,
-            "#eslint-plugin-functional/conditional-imports/*": [
+            "#/conditional-imports/*": [
               "src/utils/conditional-imports/cjs/*",
             ],
           },
@@ -65,7 +65,7 @@ const classicESM = {
           ...resolvedConfig,
           paths: {
             ...resolvedConfig.paths,
-            "#eslint-plugin-functional/conditional-imports/*": [
+            "#/conditional-imports/*": [
               "src/utils/conditional-imports/esm/*",
             ],
           },
@@ -99,7 +99,7 @@ const flatCJS = {
           ...resolvedConfig,
           paths: {
             ...resolvedConfig.paths,
-            "#eslint-plugin-functional/conditional-imports/*": [
+            "#/conditional-imports/*": [
               "src/utils/conditional-imports/cjs/*",
             ],
           },
@@ -133,7 +133,7 @@ const flatESM = {
           ...resolvedConfig,
           paths: {
             ...resolvedConfig.paths,
-            "#eslint-plugin-functional/conditional-imports/*": [
+            "#/conditional-imports/*": [
               "src/utils/conditional-imports/esm/*",
             ],
           },
diff --git a/src/classic.ts b/src/classic.ts
index 21ca483..02c1d81 100644
--- a/src/classic.ts
+++ b/src/classic.ts
@@ -1,21 +1,21 @@
 import { type Linter } from "@typescript-eslint/utils/ts-eslint";
 
-import all from "#eslint-plugin-functional/configs/all";
-import currying from "#eslint-plugin-functional/configs/currying";
-import disableTypeChecked from "#eslint-plugin-functional/configs/disable-type-checked";
-import externalTypeScriptRecommended from "#eslint-plugin-functional/configs/external-typescript-recommended";
-import externalVanillaRecommended from "#eslint-plugin-functional/configs/external-vanilla-recommended";
-import lite from "#eslint-plugin-functional/configs/lite";
-import noExceptions from "#eslint-plugin-functional/configs/no-exceptions";
-import noMutations from "#eslint-plugin-functional/configs/no-mutations";
-import noOtherParadigms from "#eslint-plugin-functional/configs/no-other-paradigms";
-import noStatements from "#eslint-plugin-functional/configs/no-statements";
-import off from "#eslint-plugin-functional/configs/off";
-import recommended from "#eslint-plugin-functional/configs/recommended";
-import strict from "#eslint-plugin-functional/configs/strict";
-import stylistic from "#eslint-plugin-functional/configs/stylistic";
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import all from "#/configs/all";
+import currying from "#/configs/currying";
+import disableTypeChecked from "#/configs/disable-type-checked";
+import externalTypeScriptRecommended from "#/configs/external-typescript-recommended";
+import externalVanillaRecommended from "#/configs/external-vanilla-recommended";
+import lite from "#/configs/lite";
+import noExceptions from "#/configs/no-exceptions";
+import noMutations from "#/configs/no-mutations";
+import noOtherParadigms from "#/configs/no-other-paradigms";
+import noStatements from "#/configs/no-statements";
+import off from "#/configs/off";
+import recommended from "#/configs/recommended";
+import strict from "#/configs/strict";
+import stylistic from "#/configs/stylistic";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default {
   rules,
diff --git a/src/configs/all.ts b/src/configs/all.ts
index 362f382..a107efa 100644
--- a/src/configs/all.ts
+++ b/src/configs/all.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default {
   ...Object.fromEntries(
diff --git a/src/configs/currying.ts b/src/configs/currying.ts
index c6e571f..2f3f2a4 100644
--- a/src/configs/currying.ts
+++ b/src/configs/currying.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/disable-type-checked.ts b/src/configs/disable-type-checked.ts
index 76827e5..d699f8d 100644
--- a/src/configs/disable-type-checked.ts
+++ b/src/configs/disable-type-checked.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/external-typescript-recommended.ts b/src/configs/external-typescript-recommended.ts
index f0c089f..3eb9806 100644
--- a/src/configs/external-typescript-recommended.ts
+++ b/src/configs/external-typescript-recommended.ts
@@ -1,6 +1,6 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import externalVanillaRecommended from "#eslint-plugin-functional/configs/external-vanilla-recommended";
+import externalVanillaRecommended from "#/configs/external-vanilla-recommended";
 
 const tsConfig = {
   "@typescript-eslint/prefer-readonly": "error",
diff --git a/src/configs/lite.ts b/src/configs/lite.ts
index 79bb9a2..ce71f64 100644
--- a/src/configs/lite.ts
+++ b/src/configs/lite.ts
@@ -1,10 +1,10 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import * as functionalParameters from "#eslint-plugin-functional/rules/functional-parameters";
-import * as immutableData from "#eslint-plugin-functional/rules/immutable-data";
-import * as noConditionalStatements from "#eslint-plugin-functional/rules/no-conditional-statements";
-import * as noExpressionStatements from "#eslint-plugin-functional/rules/no-expression-statements";
-import * as preferImmutableTypes from "#eslint-plugin-functional/rules/prefer-immutable-types";
+import * as functionalParameters from "#/rules/functional-parameters";
+import * as immutableData from "#/rules/immutable-data";
+import * as noConditionalStatements from "#/rules/no-conditional-statements";
+import * as noExpressionStatements from "#/rules/no-expression-statements";
+import * as preferImmutableTypes from "#/rules/prefer-immutable-types";
 
 import recommended from "./recommended";
 
diff --git a/src/configs/no-exceptions.ts b/src/configs/no-exceptions.ts
index d067a14..288aa70 100644
--- a/src/configs/no-exceptions.ts
+++ b/src/configs/no-exceptions.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/no-mutations.ts b/src/configs/no-mutations.ts
index 6b7aa60..b839e44 100644
--- a/src/configs/no-mutations.ts
+++ b/src/configs/no-mutations.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/no-other-paradigms.ts b/src/configs/no-other-paradigms.ts
index f062743..beb8a27 100644
--- a/src/configs/no-other-paradigms.ts
+++ b/src/configs/no-other-paradigms.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/no-statements.ts b/src/configs/no-statements.ts
index 49bda40..3807aea 100644
--- a/src/configs/no-statements.ts
+++ b/src/configs/no-statements.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/off.ts b/src/configs/off.ts
index c5fbfc0..ca6966b 100644
--- a/src/configs/off.ts
+++ b/src/configs/off.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules).map(([name]) => [`${ruleNameScope}/${name}`, "off"]),
diff --git a/src/configs/recommended.ts b/src/configs/recommended.ts
index f03fa03..a4877d1 100644
--- a/src/configs/recommended.ts
+++ b/src/configs/recommended.ts
@@ -1,17 +1,17 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 import { Immutability } from "is-immutable-type";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import * as functionalParameters from "#eslint-plugin-functional/rules/functional-parameters";
-import * as noConditionalStatements from "#eslint-plugin-functional/rules/no-conditional-statements";
-import * as noLet from "#eslint-plugin-functional/rules/no-let";
-import * as noThisExpressions from "#eslint-plugin-functional/rules/no-this-expressions";
-import * as noThrowStatements from "#eslint-plugin-functional/rules/no-throw-statements";
-import * as noTryStatements from "#eslint-plugin-functional/rules/no-try-statements";
-import * as preferImmutableTypes from "#eslint-plugin-functional/rules/prefer-immutable-types";
-import * as typeDeclarationImmutability from "#eslint-plugin-functional/rules/type-declaration-immutability";
-import { RuleEnforcementComparator } from "#eslint-plugin-functional/rules/type-declaration-immutability";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import * as functionalParameters from "#/rules/functional-parameters";
+import * as noConditionalStatements from "#/rules/no-conditional-statements";
+import * as noLet from "#/rules/no-let";
+import * as noThisExpressions from "#/rules/no-this-expressions";
+import * as noThrowStatements from "#/rules/no-throw-statements";
+import * as noTryStatements from "#/rules/no-try-statements";
+import * as preferImmutableTypes from "#/rules/prefer-immutable-types";
+import * as typeDeclarationImmutability from "#/rules/type-declaration-immutability";
+import { RuleEnforcementComparator } from "#/rules/type-declaration-immutability";
+import { ruleNameScope } from "#/utils/misc";
 
 const recommended = Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/strict.ts b/src/configs/strict.ts
index aa0b6c0..cdb8eef 100644
--- a/src/configs/strict.ts
+++ b/src/configs/strict.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/configs/stylistic.ts b/src/configs/stylistic.ts
index 168593f..a3025e7 100644
--- a/src/configs/stylistic.ts
+++ b/src/configs/stylistic.ts
@@ -1,7 +1,7 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import { rules } from "#eslint-plugin-functional/rules";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { rules } from "#/rules";
+import { ruleNameScope } from "#/utils/misc";
 
 export default Object.fromEntries(
   Object.entries(rules)
diff --git a/src/flat.ts b/src/flat.ts
index b839116..cc12848 100644
--- a/src/flat.ts
+++ b/src/flat.ts
@@ -1,21 +1,21 @@
 import { type FlatConfig } from "@typescript-eslint/utils/ts-eslint";
 
-import all from "#eslint-plugin-functional/configs/all";
-import currying from "#eslint-plugin-functional/configs/currying";
-import disableTypeChecked from "#eslint-plugin-functional/configs/disable-type-checked";
-import externalTypeScriptRecommended from "#eslint-plugin-functional/configs/external-typescript-recommended";
-import externalVanillaRecommended from "#eslint-plugin-functional/configs/external-vanilla-recommended";
-import lite from "#eslint-plugin-functional/configs/lite";
-import noExceptions from "#eslint-plugin-functional/configs/no-exceptions";
-import noMutations from "#eslint-plugin-functional/configs/no-mutations";
-import noOtherParadigms from "#eslint-plugin-functional/configs/no-other-paradigms";
-import noStatements from "#eslint-plugin-functional/configs/no-statements";
-import off from "#eslint-plugin-functional/configs/off";
-import recommended from "#eslint-plugin-functional/configs/recommended";
-import strict from "#eslint-plugin-functional/configs/strict";
-import stylistic from "#eslint-plugin-functional/configs/stylistic";
-import { rules } from "#eslint-plugin-functional/rules";
-import { __VERSION__ } from "#eslint-plugin-functional/utils/constants";
+import all from "#/configs/all";
+import currying from "#/configs/currying";
+import disableTypeChecked from "#/configs/disable-type-checked";
+import externalTypeScriptRecommended from "#/configs/external-typescript-recommended";
+import externalVanillaRecommended from "#/configs/external-vanilla-recommended";
+import lite from "#/configs/lite";
+import noExceptions from "#/configs/no-exceptions";
+import noMutations from "#/configs/no-mutations";
+import noOtherParadigms from "#/configs/no-other-paradigms";
+import noStatements from "#/configs/no-statements";
+import off from "#/configs/off";
+import recommended from "#/configs/recommended";
+import strict from "#/configs/strict";
+import stylistic from "#/configs/stylistic";
+import { rules } from "#/rules";
+import { __VERSION__ } from "#/utils/constants";
 
 const meta = {
   name: "eslint-plugin-functional",
diff --git a/src/options/ignore.ts b/src/options/ignore.ts
index 2029134..1c5d82b 100644
--- a/src/options/ignore.ts
+++ b/src/options/ignore.ts
@@ -3,22 +3,16 @@ import { type JSONSchema4ObjectSchema } from "@typescript-eslint/utils/json-sche
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 import escapeRegExp from "escape-string-regexp";
 
-import {
-  getNodeCode,
-  getNodeIdentifierTexts,
-} from "#eslint-plugin-functional/utils/misc";
-import { type BaseOptions } from "#eslint-plugin-functional/utils/rule";
-import {
-  isInClass,
-  isInFunctionBody,
-} from "#eslint-plugin-functional/utils/tree";
+import { getNodeCode, getNodeIdentifierTexts } from "#/utils/misc";
+import { type BaseOptions } from "#/utils/rule";
+import { isInClass, isInFunctionBody } from "#/utils/tree";
 import {
   isAssignmentExpression,
   isClassLike,
   isMemberExpression,
   isPropertyDefinition,
   isThisExpression,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The option to ignore patterns.
diff --git a/src/rules/functional-parameters.ts b/src/rules/functional-parameters.ts
index 6130439..08bc46d 100644
--- a/src/rules/functional-parameters.ts
+++ b/src/rules/functional-parameters.ts
@@ -12,14 +12,14 @@ import {
   shouldIgnorePattern,
   type IgnoreIdentifierPatternOption,
   type IgnorePrefixSelectorOption,
-} from "#eslint-plugin-functional/options";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
-import { type ESFunction } from "#eslint-plugin-functional/utils/node-types";
+} from "#/options";
+import { ruleNameScope } from "#/utils/misc";
+import { type ESFunction } from "#/utils/node-types";
 import {
   createRuleUsingFunction,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 import {
   isArgument,
   isGetter,
@@ -27,8 +27,8 @@ import {
   isPropertyAccess,
   isPropertyName,
   isSetter,
-} from "#eslint-plugin-functional/utils/tree";
-import { isRestElement } from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/tree";
+import { isRestElement } from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/immutable-data.ts b/src/rules/immutable-data.ts
index 1854463..e5c62c8 100644
--- a/src/rules/immutable-data.ts
+++ b/src/rules/immutable-data.ts
@@ -15,22 +15,19 @@ import {
   type IgnoreAccessorPatternOption,
   type IgnoreClassesOption,
   type IgnoreIdentifierPatternOption,
-} from "#eslint-plugin-functional/options";
-import {
-  isExpected,
-  ruleNameScope,
-} from "#eslint-plugin-functional/utils/misc";
+} from "#/options";
+import { isExpected, ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   getTypeOfNode,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 import {
   findRootIdentifier,
   isDefinedByMutableVariable,
   isInConstructor,
-} from "#eslint-plugin-functional/utils/tree";
+} from "#/utils/tree";
 import {
   isArrayConstructorType,
   isArrayExpression,
@@ -41,7 +38,7 @@ import {
   isNewExpression,
   isObjectConstructorType,
   isTSAsExpression,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-classes.ts b/src/rules/no-classes.ts
index df2378e..6e9752a 100644
--- a/src/rules/no-classes.ts
+++ b/src/rules/no-classes.ts
@@ -1,13 +1,13 @@
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
-import { type ESClass } from "#eslint-plugin-functional/utils/node-types";
+import { ruleNameScope } from "#/utils/misc";
+import { type ESClass } from "#/utils/node-types";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-conditional-statements.ts b/src/rules/no-conditional-statements.ts
index ae20989..57c436b 100644
--- a/src/rules/no-conditional-statements.ts
+++ b/src/rules/no-conditional-statements.ts
@@ -3,14 +3,14 @@ import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 import { type Type } from "typescript";
 
-import tsApiUtils from "#eslint-plugin-functional/conditional-imports/ts-api-utils";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import tsApiUtils from "#/conditional-imports/ts-api-utils";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   getTypeOfNode,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 import {
   isBlockStatement,
   isBreakStatement,
@@ -20,7 +20,7 @@ import {
   isReturnStatement,
   isSwitchStatement,
   isThrowStatement,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-expression-statements.ts b/src/rules/no-expression-statements.ts
index 43294fc..9926ec2 100644
--- a/src/rules/no-expression-statements.ts
+++ b/src/rules/no-expression-statements.ts
@@ -6,27 +6,21 @@ import {
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 import { deepmerge } from "deepmerge-ts";
 
-import tsApiUtils from "#eslint-plugin-functional/conditional-imports/ts-api-utils";
-import typescript from "#eslint-plugin-functional/conditional-imports/typescript";
+import tsApiUtils from "#/conditional-imports/ts-api-utils";
+import typescript from "#/conditional-imports/typescript";
 import {
   ignoreCodePatternOptionSchema,
   shouldIgnorePattern,
   type IgnoreCodePatternOption,
-} from "#eslint-plugin-functional/options";
-import {
-  isDirectivePrologue,
-  ruleNameScope,
-} from "#eslint-plugin-functional/utils/misc";
+} from "#/options";
+import { isDirectivePrologue, ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   getTypeOfNode,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import {
-  isCallExpression,
-  isYieldExpression,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/rule";
+import { isCallExpression, isYieldExpression } from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-let.ts b/src/rules/no-let.ts
index 591e299..49e259d 100644
--- a/src/rules/no-let.ts
+++ b/src/rules/no-let.ts
@@ -11,14 +11,14 @@ import {
   shouldIgnoreInFunction,
   shouldIgnorePattern,
   type IgnoreIdentifierPatternOption,
-} from "#eslint-plugin-functional/options";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+} from "#/options";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import { isInForLoopInitializer } from "#eslint-plugin-functional/utils/tree";
+} from "#/utils/rule";
+import { isInForLoopInitializer } from "#/utils/tree";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-loop-statements.ts b/src/rules/no-loop-statements.ts
index 03c4beb..fc43fce 100644
--- a/src/rules/no-loop-statements.ts
+++ b/src/rules/no-loop-statements.ts
@@ -1,13 +1,13 @@
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
-import { type ESLoop } from "#eslint-plugin-functional/utils/node-types";
+import { ruleNameScope } from "#/utils/misc";
+import { type ESLoop } from "#/utils/node-types";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-mixed-types.ts b/src/rules/no-mixed-types.ts
index 6e5e725..b3011ee 100644
--- a/src/rules/no-mixed-types.ts
+++ b/src/rules/no-mixed-types.ts
@@ -2,13 +2,13 @@ import { type TSESTree } from "@typescript-eslint/utils";
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRuleUsingFunction,
   getTypeOfNode,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 import {
   isFunctionLikeType,
   isIdentifier,
@@ -20,7 +20,7 @@ import {
   isTSPropertySignature,
   isTSTypeLiteral,
   isTSTypeReference,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-promise-reject.ts b/src/rules/no-promise-reject.ts
index 58330c2..7300fe0 100644
--- a/src/rules/no-promise-reject.ts
+++ b/src/rules/no-promise-reject.ts
@@ -2,16 +2,13 @@ import { type TSESTree } from "@typescript-eslint/utils";
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import {
-  isIdentifier,
-  isMemberExpression,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/rule";
+import { isIdentifier, isMemberExpression } from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-return-void.ts b/src/rules/no-return-void.ts
index 2c9e0bb..8563f2c 100644
--- a/src/rules/no-return-void.ts
+++ b/src/rules/no-return-void.ts
@@ -1,21 +1,21 @@
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import tsApiUtils from "#eslint-plugin-functional/conditional-imports/ts-api-utils";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
-import { type ESFunctionType } from "#eslint-plugin-functional/utils/node-types";
+import tsApiUtils from "#/conditional-imports/ts-api-utils";
+import { ruleNameScope } from "#/utils/misc";
+import { type ESFunctionType } from "#/utils/node-types";
 import {
   createRule,
   getTypeOfNode,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 import {
   isFunctionLike,
   isTSNullKeyword,
   isTSUndefinedKeyword,
   isTSVoidKeyword,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-this-expressions.ts b/src/rules/no-this-expressions.ts
index 57b718a..d11b5fc 100644
--- a/src/rules/no-this-expressions.ts
+++ b/src/rules/no-this-expressions.ts
@@ -2,12 +2,12 @@ import { type TSESTree } from "@typescript-eslint/utils";
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-throw-statements.ts b/src/rules/no-throw-statements.ts
index 90b6219..f6cae2d 100644
--- a/src/rules/no-throw-statements.ts
+++ b/src/rules/no-throw-statements.ts
@@ -2,13 +2,13 @@ import { type TSESTree } from "@typescript-eslint/utils";
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import { isInFunctionBody } from "#eslint-plugin-functional/utils/tree";
+} from "#/utils/rule";
+import { isInFunctionBody } from "#/utils/tree";
 
 /**
  * The name of this rule.
diff --git a/src/rules/no-try-statements.ts b/src/rules/no-try-statements.ts
index 75cde1e..0699c00 100644
--- a/src/rules/no-try-statements.ts
+++ b/src/rules/no-try-statements.ts
@@ -2,12 +2,12 @@ import { type TSESTree } from "@typescript-eslint/utils";
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 
 /**
  * The name of this rule.
diff --git a/src/rules/prefer-immutable-types.ts b/src/rules/prefer-immutable-types.ts
index ab31d5b..4ca41f2 100644
--- a/src/rules/prefer-immutable-types.ts
+++ b/src/rules/prefer-immutable-types.ts
@@ -16,9 +16,9 @@ import {
   shouldIgnoreInFunction,
   shouldIgnorePattern,
   type IgnoreClassesOption,
-} from "#eslint-plugin-functional/options";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
-import { type ESFunctionType } from "#eslint-plugin-functional/utils/node-types";
+} from "#/options";
+import { ruleNameScope } from "#/utils/misc";
+import { type ESFunctionType } from "#/utils/node-types";
 import {
   createRule,
   getReturnTypesOfFunction,
@@ -27,7 +27,7 @@ import {
   isImplementationOfOverload,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 import {
   hasID,
   isArrayPattern,
@@ -40,7 +40,7 @@ import {
   isPropertyDefinition,
   isTSParameterProperty,
   isTSTypePredicate,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/prefer-property-signatures.ts b/src/rules/prefer-property-signatures.ts
index 47c4ce6..17cde24 100644
--- a/src/rules/prefer-property-signatures.ts
+++ b/src/rules/prefer-property-signatures.ts
@@ -2,13 +2,13 @@ import { type TSESTree } from "@typescript-eslint/utils";
 import { type JSONSchema4 } from "@typescript-eslint/utils/json-schema";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import { isInReadonly } from "#eslint-plugin-functional/utils/tree";
+} from "#/utils/rule";
+import { isInReadonly } from "#/utils/tree";
 
 /**
  * The name of this rule.
diff --git a/src/rules/prefer-readonly-type.ts b/src/rules/prefer-readonly-type.ts
index 1ba8604..08df965 100644
--- a/src/rules/prefer-readonly-type.ts
+++ b/src/rules/prefer-readonly-type.ts
@@ -8,20 +8,17 @@ import {
   shouldIgnorePattern,
   type IgnoreAccessorPatternOption,
   type IgnoreCodePatternOption,
-} from "#eslint-plugin-functional/options";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
-import { type ESArrayTupleType } from "#eslint-plugin-functional/utils/node-types";
+} from "#/options";
+import { ruleNameScope } from "#/utils/misc";
+import { type ESArrayTupleType } from "#/utils/node-types";
 import {
   createRule,
   getTypeOfNode,
   type BaseOptions,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import {
-  isInInterface,
-  isInReturnType,
-} from "#eslint-plugin-functional/utils/tree";
+} from "#/utils/rule";
+import { isInInterface, isInReturnType } from "#/utils/tree";
 import {
   isArrayType,
   isAssignmentPattern,
@@ -36,7 +33,7 @@ import {
   isTSTypeLiteral,
   isTSTypeOperator,
   isTSTypeReference,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/prefer-tacit.ts b/src/rules/prefer-tacit.ts
index 2b9ed5f..0aa215c 100644
--- a/src/rules/prefer-tacit.ts
+++ b/src/rules/prefer-tacit.ts
@@ -10,24 +10,24 @@ import {
 import * as semver from "semver";
 import { type Type } from "typescript";
 
-import ts from "#eslint-plugin-functional/conditional-imports/typescript";
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
-import { type ESFunction } from "#eslint-plugin-functional/utils/node-types";
+import ts from "#/conditional-imports/typescript";
+import { ruleNameScope } from "#/utils/misc";
+import { type ESFunction } from "#/utils/node-types";
 import {
   createRule,
   getTypeOfNode,
   getTypeOfTSNode,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import { isNested } from "#eslint-plugin-functional/utils/tree";
+} from "#/utils/rule";
+import { isNested } from "#/utils/tree";
 import {
   isBlockStatement,
   isCallExpression,
   isIdentifier,
   isMemberExpression,
   isReturnStatement,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/readonly-type.ts b/src/rules/readonly-type.ts
index 4267788..3989a91 100644
--- a/src/rules/readonly-type.ts
+++ b/src/rules/readonly-type.ts
@@ -5,13 +5,13 @@ import {
   type RuleContext,
 } from "@typescript-eslint/utils/ts-eslint";
 
-import { ruleNameScope } from "#eslint-plugin-functional/utils/misc";
+import { ruleNameScope } from "#/utils/misc";
 import {
   createRule,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import { getReadonly } from "#eslint-plugin-functional/utils/tree";
+} from "#/utils/rule";
+import { getReadonly } from "#/utils/tree";
 import {
   isDefined,
   isPropertyDefinition,
@@ -19,7 +19,7 @@ import {
   isTSParameterProperty,
   isTSPropertySignature,
   isTSTypeReference,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/rules/type-declaration-immutability.ts b/src/rules/type-declaration-immutability.ts
index d80f2db..e2b24f3 100644
--- a/src/rules/type-declaration-immutability.ts
+++ b/src/rules/type-declaration-immutability.ts
@@ -11,19 +11,16 @@ import {
   ignoreIdentifierPatternOptionSchema,
   shouldIgnorePattern,
   type IgnoreIdentifierPatternOption,
-} from "#eslint-plugin-functional/options";
-import {
-  getNodeIdentifierTexts,
-  ruleNameScope,
-} from "#eslint-plugin-functional/utils/misc";
-import { type ESTypeDeclaration } from "#eslint-plugin-functional/utils/node-types";
+} from "#/options";
+import { getNodeIdentifierTexts, ruleNameScope } from "#/utils/misc";
+import { type ESTypeDeclaration } from "#/utils/node-types";
 import {
   createRule,
   getTypeImmutabilityOfNode,
   type NamedCreateRuleCustomMeta,
   type RuleResult,
-} from "#eslint-plugin-functional/utils/rule";
-import { isTSInterfaceDeclaration } from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/rule";
+import { isTSInterfaceDeclaration } from "#/utils/type-guards";
 
 /**
  * The name of this rule.
diff --git a/src/utils/conditional-imports/cjs/ts-api-utils.ts b/src/utils/conditional-imports/cjs/ts-api-utils.ts
index a45047c..9225c88 100644
--- a/src/utils/conditional-imports/cjs/ts-api-utils.ts
+++ b/src/utils/conditional-imports/cjs/ts-api-utils.ts
@@ -1,6 +1,6 @@
 import type tsApiUtils from "ts-api-utils";
 
-import ts from "#eslint-plugin-functional/conditional-imports/typescript";
+import ts from "#/conditional-imports/typescript";
 
 export default (() => {
   if (ts !== undefined) {
diff --git a/src/utils/conditional-imports/esm/ts-api-utils.ts b/src/utils/conditional-imports/esm/ts-api-utils.ts
index 4ec4321..ba04bcc 100644
--- a/src/utils/conditional-imports/esm/ts-api-utils.ts
+++ b/src/utils/conditional-imports/esm/ts-api-utils.ts
@@ -1,6 +1,6 @@
 import type tsApiUtils from "ts-api-utils";
 
-import ts from "#eslint-plugin-functional/conditional-imports/typescript";
+import ts from "#/conditional-imports/typescript";
 
 export default await ((): Promise<typeof tsApiUtils | undefined> => {
   if (ts !== undefined) {
diff --git a/src/utils/misc.ts b/src/utils/misc.ts
index 576303c..3a8f360 100644
--- a/src/utils/misc.ts
+++ b/src/utils/misc.ts
@@ -1,8 +1,8 @@
 import { AST_NODE_TYPES, type TSESTree } from "@typescript-eslint/utils";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import { type BaseOptions } from "#eslint-plugin-functional/utils/rule";
-import { getKeyOfValueInObjectExpression } from "#eslint-plugin-functional/utils/tree";
+import { type BaseOptions } from "#/utils/rule";
+import { getKeyOfValueInObjectExpression } from "#/utils/tree";
 import {
   hasID,
   hasKey,
@@ -16,7 +16,7 @@ import {
   isTSTypeAnnotation,
   isUnaryExpression,
   isVariableDeclaration,
-} from "#eslint-plugin-functional/utils/type-guards";
+} from "#/utils/type-guards";
 
 export const ruleNameScope = "functional";
 
diff --git a/src/utils/rule.ts b/src/utils/rule.ts
index 49d4be3..cb9910e 100644
--- a/src/utils/rule.ts
+++ b/src/utils/rule.ts
@@ -16,10 +16,10 @@ import {
 } from "is-immutable-type";
 import { type Node as TSNode, type Type, type TypeNode } from "typescript";
 
-import ts from "#eslint-plugin-functional/conditional-imports/typescript";
-import { getImmutabilityOverrides } from "#eslint-plugin-functional/settings";
-import { __VERSION__ } from "#eslint-plugin-functional/utils/constants";
-import { type ESFunction } from "#eslint-plugin-functional/utils/node-types";
+import ts from "#/conditional-imports/typescript";
+import { getImmutabilityOverrides } from "#/settings";
+import { __VERSION__ } from "#/utils/constants";
+import { type ESFunction } from "#/utils/node-types";
 
 /**
  * Any custom rule meta properties.
diff --git a/src/utils/tree.ts b/src/utils/tree.ts
index d80d9bc..7ad1b2c 100644
--- a/src/utils/tree.ts
+++ b/src/utils/tree.ts
@@ -2,7 +2,7 @@ import { type TSESTree } from "@typescript-eslint/utils";
 import { getParserServices } from "@typescript-eslint/utils/eslint-utils";
 import { type RuleContext } from "@typescript-eslint/utils/ts-eslint";
 
-import typescript from "#eslint-plugin-functional/conditional-imports/typescript";
+import typescript from "#/conditional-imports/typescript";
 
 import { type BaseOptions } from "./rule";
 import {
diff --git a/src/utils/type-guards.ts b/src/utils/type-guards.ts
index cef1c57..507dc55 100644
--- a/src/utils/type-guards.ts
+++ b/src/utils/type-guards.ts
@@ -5,7 +5,7 @@
 import { AST_NODE_TYPES, type TSESTree } from "@typescript-eslint/utils";
 import { type Type, type UnionType } from "typescript";
 
-import ts from "#eslint-plugin-functional/conditional-imports/typescript";
+import ts from "#/conditional-imports/typescript";
 
 /*
  * TS Types.
diff --git a/tsconfig.base.json b/tsconfig.base.json
index 436171c..81c0c12 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -31,18 +31,18 @@
     "types": ["vitest/importMeta"],
     "baseUrl": ".",
     "paths": {
-      "#eslint-plugin-functional/flat": ["src/flat.ts"],
-      "#eslint-plugin-functional/classic": ["src/classic.ts"],
-      "#eslint-plugin-functional/configs/*": ["src/configs/*"],
-      "#eslint-plugin-functional/options": ["src/options"],
-      "#eslint-plugin-functional/rules": ["src/rules"],
-      "#eslint-plugin-functional/rules/*": ["src/rules/*"],
-      "#eslint-plugin-functional/settings": ["src/settings"],
-      "#eslint-plugin-functional/utils/*": ["src/utils/*"],
-      "#eslint-plugin-functional/conditional-imports/*": [
+      "#/flat": ["src/flat.ts"],
+      "#/classic": ["src/classic.ts"],
+      "#/configs/*": ["src/configs/*"],
+      "#/options": ["src/options"],
+      "#/rules": ["src/rules"],
+      "#/rules/*": ["src/rules/*"],
+      "#/settings": ["src/settings"],
+      "#/utils/*": ["src/utils/*"],
+      "#/conditional-imports/*": [
         "src/utils/conditional-imports/cjs/*"
       ],
-      "#eslint-plugin-functional/tests/*": ["tests/*"]
+      "#/tests/*": ["tests/*"]
     }
   },
   "exclude": ["dist/"]


Test patch:
diff --git a/tests/common/ignore-options.test.ts b/tests/common/ignore-options.test.ts
index 2c576cb..7a7e910 100644
--- a/tests/common/ignore-options.test.ts
+++ b/tests/common/ignore-options.test.ts
@@ -9,16 +9,10 @@ import {
   type IgnoreAccessorPatternOption,
   type IgnoreCodePatternOption,
   type IgnoreIdentifierPatternOption,
-} from "#eslint-plugin-functional/options";
-import { getRuleTester } from "#eslint-plugin-functional/tests/helpers/RuleTester";
-import {
-  configs,
-  filename,
-} from "#eslint-plugin-functional/tests/helpers/configs";
-import {
-  addFilename,
-  createDummyRule,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/options";
+import { getRuleTester } from "#/tests/helpers/RuleTester";
+import { configs, filename } from "#/tests/helpers/configs";
+import { addFilename, createDummyRule } from "#/tests/helpers/util";
 
 /**
  * Create a dummy rule that operates on AssignmentExpression nodes.
diff --git a/tests/configs.test.ts b/tests/configs.test.ts
index bb65727..3c6be3b 100644
--- a/tests/configs.test.ts
+++ b/tests/configs.test.ts
@@ -1,17 +1,17 @@
 import { describe, expect, it } from "vitest";
 
-import all from "#eslint-plugin-functional/configs/all";
-import currying from "#eslint-plugin-functional/configs/currying";
-import lite from "#eslint-plugin-functional/configs/lite";
-import noExceptions from "#eslint-plugin-functional/configs/no-exceptions";
-import noMutations from "#eslint-plugin-functional/configs/no-mutations";
-import noOtherParadigms from "#eslint-plugin-functional/configs/no-other-paradigms";
-import noStatements from "#eslint-plugin-functional/configs/no-statements";
-import off from "#eslint-plugin-functional/configs/off";
-import recommended from "#eslint-plugin-functional/configs/recommended";
-import strict from "#eslint-plugin-functional/configs/strict";
-import stylistic from "#eslint-plugin-functional/configs/stylistic";
-import { rules } from "#eslint-plugin-functional/rules";
+import all from "#/configs/all";
+import currying from "#/configs/currying";
+import lite from "#/configs/lite";
+import noExceptions from "#/configs/no-exceptions";
+import noMutations from "#/configs/no-mutations";
+import noOtherParadigms from "#/configs/no-other-paradigms";
+import noStatements from "#/configs/no-statements";
+import off from "#/configs/off";
+import recommended from "#/configs/recommended";
+import strict from "#/configs/strict";
+import stylistic from "#/configs/stylistic";
+import { rules } from "#/rules";
 
 describe("Configs", () => {
   const allRules = Object.values(rules);
diff --git a/tests/helpers/testers.ts b/tests/helpers/testers.ts
index 5f998a8..10a710f 100644
--- a/tests/helpers/testers.ts
+++ b/tests/helpers/testers.ts
@@ -1,4 +1,4 @@
-import { type RuleDefinition } from "#eslint-plugin-functional/utils/rule";
+import { type RuleDefinition } from "#/utils/rule";
 
 import { getRuleTester } from "./RuleTester";
 import { configs } from "./configs";
diff --git a/tests/helpers/util.ts b/tests/helpers/util.ts
index e9d0145..97c8dd7 100644
--- a/tests/helpers/util.ts
+++ b/tests/helpers/util.ts
@@ -13,7 +13,7 @@ import {
   createRuleUsingFunction,
   type RuleDefinition,
   type RuleFunctionsMap,
-} from "#eslint-plugin-functional/utils/rule";
+} from "#/utils/rule";
 
 import { filename as dummyFilename } from "./configs";
 
diff --git a/tests/index.test.ts b/tests/index.test.ts
index 1035529..beb143c 100644
--- a/tests/index.test.ts
+++ b/tests/index.test.ts
@@ -6,8 +6,8 @@ import { readdirSync } from "node:fs";
 
 import { describe, expect, it } from "vitest";
 
-import classic from "#eslint-plugin-functional/classic";
-import flat from "#eslint-plugin-functional/flat";
+import classic from "#/classic";
+import flat from "#/flat";
 
 describe("Flat", () => {
   it("should have all the rules", () => {
diff --git a/tests/rules/functional-parameters/es2015/index.test.ts b/tests/rules/functional-parameters/es2015/index.test.ts
index c9b7dfb..3888ca5 100644
--- a/tests/rules/functional-parameters/es2015/index.test.ts
+++ b/tests/rules/functional-parameters/es2015/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/functional-parameters";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/functional-parameters";
+import { testRule } from "#/tests/helpers/testers";
 
 import es3Invalid from "../es3/invalid";
 import es3Valid from "../es3/valid";
diff --git a/tests/rules/functional-parameters/es2015/invalid.ts b/tests/rules/functional-parameters/es2015/invalid.ts
index 775a994..4e71205 100644
--- a/tests/rules/functional-parameters/es2015/invalid.ts
+++ b/tests/rules/functional-parameters/es2015/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/functional-parameters";
+import { type rule } from "#/rules/functional-parameters";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/functional-parameters/es2015/valid.ts b/tests/rules/functional-parameters/es2015/valid.ts
index d8b5adc..6279de3 100644
--- a/tests/rules/functional-parameters/es2015/valid.ts
+++ b/tests/rules/functional-parameters/es2015/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/functional-parameters";
-import {
-  type ValidTestCaseSet,
-  type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/functional-parameters";
+import { type ValidTestCaseSet, type OptionsOf } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/functional-parameters/es3/index.test.ts b/tests/rules/functional-parameters/es3/index.test.ts
index fc6fba0..a68f3c2 100644
--- a/tests/rules/functional-parameters/es3/index.test.ts
+++ b/tests/rules/functional-parameters/es3/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/functional-parameters";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/functional-parameters";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/functional-parameters/es3/invalid.ts b/tests/rules/functional-parameters/es3/invalid.ts
index 9da6814..4ab2950 100644
--- a/tests/rules/functional-parameters/es3/invalid.ts
+++ b/tests/rules/functional-parameters/es3/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/functional-parameters";
+import { type rule } from "#/rules/functional-parameters";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/functional-parameters/es3/valid.ts b/tests/rules/functional-parameters/es3/valid.ts
index 0dc52ce..1ce78b5 100644
--- a/tests/rules/functional-parameters/es3/valid.ts
+++ b/tests/rules/functional-parameters/es3/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/functional-parameters";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/functional-parameters";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/immutable-data/ts/array/index.test.ts b/tests/rules/immutable-data/ts/array/index.test.ts
index 1aa99db..90cfe0f 100644
--- a/tests/rules/immutable-data/ts/array/index.test.ts
+++ b/tests/rules/immutable-data/ts/array/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/immutable-data";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/immutable-data";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/immutable-data/ts/array/invalid.ts b/tests/rules/immutable-data/ts/array/invalid.ts
index f9ebd1e..00b4268 100644
--- a/tests/rules/immutable-data/ts/array/invalid.ts
+++ b/tests/rules/immutable-data/ts/array/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/immutable-data";
+import { type rule } from "#/rules/immutable-data";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/immutable-data/ts/array/valid.ts b/tests/rules/immutable-data/ts/array/valid.ts
index 37ed380..e6f05b2 100644
--- a/tests/rules/immutable-data/ts/array/valid.ts
+++ b/tests/rules/immutable-data/ts/array/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/immutable-data";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/immutable-data";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   // Allowed non-array mutation patterns.
diff --git a/tests/rules/immutable-data/ts/object/index.test.ts b/tests/rules/immutable-data/ts/object/index.test.ts
index 1aa99db..90cfe0f 100644
--- a/tests/rules/immutable-data/ts/object/index.test.ts
+++ b/tests/rules/immutable-data/ts/object/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/immutable-data";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/immutable-data";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/immutable-data/ts/object/invalid.ts b/tests/rules/immutable-data/ts/object/invalid.ts
index 90e4542..e302c07 100644
--- a/tests/rules/immutable-data/ts/object/invalid.ts
+++ b/tests/rules/immutable-data/ts/object/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/immutable-data";
+import { type rule } from "#/rules/immutable-data";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/immutable-data/ts/object/valid.ts b/tests/rules/immutable-data/ts/object/valid.ts
index c41ade6..788f81b 100644
--- a/tests/rules/immutable-data/ts/object/valid.ts
+++ b/tests/rules/immutable-data/ts/object/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/immutable-data";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/immutable-data";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   // Allowed non-object mutation patterns.
diff --git a/tests/rules/index.test.ts b/tests/rules/index.test.ts
index 9dbcc93..11cdaf3 100644
--- a/tests/rules/index.test.ts
+++ b/tests/rules/index.test.ts
@@ -2,7 +2,7 @@ import * as fs from "node:fs";
 
 import { describe, expect, it } from "vitest";
 
-import { rules } from "#eslint-plugin-functional/rules";
+import { rules } from "#/rules";
 
 describe("rules index", () => {
   it("to import all rule files", () => {
diff --git a/tests/rules/no-class/es2015/index.test.ts b/tests/rules/no-class/es2015/index.test.ts
index 5e59f99..98b29c1 100644
--- a/tests/rules/no-class/es2015/index.test.ts
+++ b/tests/rules/no-class/es2015/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-classes";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-classes";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-class/es2015/invalid.ts b/tests/rules/no-class/es2015/invalid.ts
index 363fd8e..ea53f88 100644
--- a/tests/rules/no-class/es2015/invalid.ts
+++ b/tests/rules/no-class/es2015/invalid.ts
@@ -1,11 +1,11 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-classes";
+import { type rule } from "#/rules/no-classes";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-class/es2015/valid.ts b/tests/rules/no-class/es2015/valid.ts
index 2f8d779..47f6962 100644
--- a/tests/rules/no-class/es2015/valid.ts
+++ b/tests/rules/no-class/es2015/valid.ts
@@ -1,8 +1,5 @@
-import { type rule } from "#eslint-plugin-functional/rules/no-classes";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-classes";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-conditional-statement/ts/index.test.ts b/tests/rules/no-conditional-statement/ts/index.test.ts
index 476c9f1..55dd79a 100644
--- a/tests/rules/no-conditional-statement/ts/index.test.ts
+++ b/tests/rules/no-conditional-statement/ts/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/no-conditional-statements";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-conditional-statements";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-conditional-statement/ts/invalid.ts b/tests/rules/no-conditional-statement/ts/invalid.ts
index 4a1e445..c655ed8 100644
--- a/tests/rules/no-conditional-statement/ts/invalid.ts
+++ b/tests/rules/no-conditional-statement/ts/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-conditional-statements";
+import { type rule } from "#/rules/no-conditional-statements";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-conditional-statement/ts/valid.ts b/tests/rules/no-conditional-statement/ts/valid.ts
index f1406b7..994fd35 100644
--- a/tests/rules/no-conditional-statement/ts/valid.ts
+++ b/tests/rules/no-conditional-statement/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-conditional-statements";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-conditional-statements";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-expression-statement/ts/index.test.ts b/tests/rules/no-expression-statement/ts/index.test.ts
index a936a77..16d607b 100644
--- a/tests/rules/no-expression-statement/ts/index.test.ts
+++ b/tests/rules/no-expression-statement/ts/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/no-expression-statements";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-expression-statements";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-expression-statement/ts/invalid.ts b/tests/rules/no-expression-statement/ts/invalid.ts
index 5aca561..99584b7 100644
--- a/tests/rules/no-expression-statement/ts/invalid.ts
+++ b/tests/rules/no-expression-statement/ts/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-expression-statements";
+import { type rule } from "#/rules/no-expression-statements";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-expression-statement/ts/valid.ts b/tests/rules/no-expression-statement/ts/valid.ts
index daa3565..3cbd537 100644
--- a/tests/rules/no-expression-statement/ts/valid.ts
+++ b/tests/rules/no-expression-statement/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-expression-statements";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-expression-statements";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   // Defining variable should still be allowed.
diff --git a/tests/rules/no-let/es2015/index.test.ts b/tests/rules/no-let/es2015/index.test.ts
index 9286943..be5909c 100644
--- a/tests/rules/no-let/es2015/index.test.ts
+++ b/tests/rules/no-let/es2015/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-let";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-let";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-let/es2015/invalid.ts b/tests/rules/no-let/es2015/invalid.ts
index 3c15852..640930a 100644
--- a/tests/rules/no-let/es2015/invalid.ts
+++ b/tests/rules/no-let/es2015/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-let";
+import { type rule } from "#/rules/no-let";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-let/es2015/valid.ts b/tests/rules/no-let/es2015/valid.ts
index df3e9da..38b247c 100644
--- a/tests/rules/no-let/es2015/valid.ts
+++ b/tests/rules/no-let/es2015/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-let";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-let";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-loop-statement/es2015/index.test.ts b/tests/rules/no-loop-statement/es2015/index.test.ts
index 721d26a..5e8a594 100644
--- a/tests/rules/no-loop-statement/es2015/index.test.ts
+++ b/tests/rules/no-loop-statement/es2015/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-loop-statements";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-loop-statements";
+import { testRule } from "#/tests/helpers/testers";
 
 import es3Invalid from "../es3/invalid";
 import es3Valid from "../es3/valid";
diff --git a/tests/rules/no-loop-statement/es2015/invalid.ts b/tests/rules/no-loop-statement/es2015/invalid.ts
index 061fdfb..ccca1a5 100644
--- a/tests/rules/no-loop-statement/es2015/invalid.ts
+++ b/tests/rules/no-loop-statement/es2015/invalid.ts
@@ -1,11 +1,11 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-loop-statements";
+import { type rule } from "#/rules/no-loop-statements";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-loop-statement/es2015/valid.ts b/tests/rules/no-loop-statement/es2015/valid.ts
index 6d01507..779391f 100644
--- a/tests/rules/no-loop-statement/es2015/valid.ts
+++ b/tests/rules/no-loop-statement/es2015/valid.ts
@@ -1,8 +1,5 @@
-import { type rule } from "#eslint-plugin-functional/rules/no-loop-statements";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-loop-statements";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [];
 
diff --git a/tests/rules/no-loop-statement/es3/index.test.ts b/tests/rules/no-loop-statement/es3/index.test.ts
index b8dc2c3..181d203 100644
--- a/tests/rules/no-loop-statement/es3/index.test.ts
+++ b/tests/rules/no-loop-statement/es3/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-loop-statements";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-loop-statements";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-loop-statement/es3/invalid.ts b/tests/rules/no-loop-statement/es3/invalid.ts
index 6970179..f5d6eab 100644
--- a/tests/rules/no-loop-statement/es3/invalid.ts
+++ b/tests/rules/no-loop-statement/es3/invalid.ts
@@ -1,11 +1,11 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-loop-statements";
+import { type rule } from "#/rules/no-loop-statements";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-loop-statement/es3/valid.ts b/tests/rules/no-loop-statement/es3/valid.ts
index 623f4f1..2b32aa6 100644
--- a/tests/rules/no-loop-statement/es3/valid.ts
+++ b/tests/rules/no-loop-statement/es3/valid.ts
@@ -1,8 +1,5 @@
-import { type rule } from "#eslint-plugin-functional/rules/no-loop-statements";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-loop-statements";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-mixed-type/ts/index.test.ts b/tests/rules/no-mixed-type/ts/index.test.ts
index 6f79d78..7e59c44 100644
--- a/tests/rules/no-mixed-type/ts/index.test.ts
+++ b/tests/rules/no-mixed-type/ts/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-mixed-types";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-mixed-types";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-mixed-type/ts/invalid.ts b/tests/rules/no-mixed-type/ts/invalid.ts
index c201549..290984e 100644
--- a/tests/rules/no-mixed-type/ts/invalid.ts
+++ b/tests/rules/no-mixed-type/ts/invalid.ts
@@ -1,9 +1,9 @@
-import { type rule } from "#eslint-plugin-functional/rules/no-mixed-types";
+import { type rule } from "#/rules/no-mixed-types";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-mixed-type/ts/valid.ts b/tests/rules/no-mixed-type/ts/valid.ts
index bbd1a22..5395762 100644
--- a/tests/rules/no-mixed-type/ts/valid.ts
+++ b/tests/rules/no-mixed-type/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-mixed-types";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-mixed-types";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   // // Only properties should not produce failures.
diff --git a/tests/rules/no-promise-reject/es2015/index.test.ts b/tests/rules/no-promise-reject/es2015/index.test.ts
index 0847b2d..ec1ea3c 100644
--- a/tests/rules/no-promise-reject/es2015/index.test.ts
+++ b/tests/rules/no-promise-reject/es2015/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-promise-reject";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-promise-reject";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-promise-reject/es2015/invalid.ts b/tests/rules/no-promise-reject/es2015/invalid.ts
index caeecc2..9ccb196 100644
--- a/tests/rules/no-promise-reject/es2015/invalid.ts
+++ b/tests/rules/no-promise-reject/es2015/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-promise-reject";
+import { type rule } from "#/rules/no-promise-reject";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-promise-reject/es2015/valid.ts b/tests/rules/no-promise-reject/es2015/valid.ts
index c16a96f..b9d12dc 100644
--- a/tests/rules/no-promise-reject/es2015/valid.ts
+++ b/tests/rules/no-promise-reject/es2015/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-promise-reject";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-promise-reject";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-return-void/ts/index.test.ts b/tests/rules/no-return-void/ts/index.test.ts
index 4700660..22bd874 100644
--- a/tests/rules/no-return-void/ts/index.test.ts
+++ b/tests/rules/no-return-void/ts/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-return-void";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-return-void";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-return-void/ts/invalid.ts b/tests/rules/no-return-void/ts/invalid.ts
index 460fea5..67e9800 100644
--- a/tests/rules/no-return-void/ts/invalid.ts
+++ b/tests/rules/no-return-void/ts/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-return-void";
+import { type rule } from "#/rules/no-return-void";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-return-void/ts/valid.ts b/tests/rules/no-return-void/ts/valid.ts
index 6035b33..e9985bc 100644
--- a/tests/rules/no-return-void/ts/valid.ts
+++ b/tests/rules/no-return-void/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-return-void";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-return-void";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-this-expression/es3/index.test.ts b/tests/rules/no-this-expression/es3/index.test.ts
index ba5d49f..acc5b08 100644
--- a/tests/rules/no-this-expression/es3/index.test.ts
+++ b/tests/rules/no-this-expression/es3/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/no-this-expressions";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-this-expressions";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-this-expression/es3/invalid.ts b/tests/rules/no-this-expression/es3/invalid.ts
index 88ad6e9..980f21f 100644
--- a/tests/rules/no-this-expression/es3/invalid.ts
+++ b/tests/rules/no-this-expression/es3/invalid.ts
@@ -1,11 +1,11 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-this-expressions";
+import { type rule } from "#/rules/no-this-expressions";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-this-expression/es3/valid.ts b/tests/rules/no-this-expression/es3/valid.ts
index 8db6f1c..80dfd1e 100644
--- a/tests/rules/no-this-expression/es3/valid.ts
+++ b/tests/rules/no-this-expression/es3/valid.ts
@@ -1,8 +1,5 @@
-import { type rule } from "#eslint-plugin-functional/rules/no-this-expressions";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-this-expressions";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-throw-statement/es2016/index.test.ts b/tests/rules/no-throw-statement/es2016/index.test.ts
index 6311817..d839b0c 100644
--- a/tests/rules/no-throw-statement/es2016/index.test.ts
+++ b/tests/rules/no-throw-statement/es2016/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/no-throw-statements";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-throw-statements";
+import { testRule } from "#/tests/helpers/testers";
 
 import es3Invalid from "../es3/invalid";
 import es3Valid from "../es3/valid";
diff --git a/tests/rules/no-throw-statement/es2016/invalid.ts b/tests/rules/no-throw-statement/es2016/invalid.ts
index 8c7b342..99e511d 100644
--- a/tests/rules/no-throw-statement/es2016/invalid.ts
+++ b/tests/rules/no-throw-statement/es2016/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-throw-statements";
+import { type rule } from "#/rules/no-throw-statements";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-throw-statement/es2016/valid.ts b/tests/rules/no-throw-statement/es2016/valid.ts
index b7aafaf..e3968e8 100644
--- a/tests/rules/no-throw-statement/es2016/valid.ts
+++ b/tests/rules/no-throw-statement/es2016/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-throw-statements";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-throw-statements";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-throw-statement/es3/index.test.ts b/tests/rules/no-throw-statement/es3/index.test.ts
index e214dea..548e95d 100644
--- a/tests/rules/no-throw-statement/es3/index.test.ts
+++ b/tests/rules/no-throw-statement/es3/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/no-throw-statements";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-throw-statements";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-throw-statement/es3/invalid.ts b/tests/rules/no-throw-statement/es3/invalid.ts
index f8501e4..1d131a7 100644
--- a/tests/rules/no-throw-statement/es3/invalid.ts
+++ b/tests/rules/no-throw-statement/es3/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-throw-statements";
+import { type rule } from "#/rules/no-throw-statements";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-throw-statement/es3/valid.ts b/tests/rules/no-throw-statement/es3/valid.ts
index 02a9838..2f2ab23 100644
--- a/tests/rules/no-throw-statement/es3/valid.ts
+++ b/tests/rules/no-throw-statement/es3/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-throw-statements";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-throw-statements";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/no-try-statement/es3/index.test.ts b/tests/rules/no-try-statement/es3/index.test.ts
index b9ab7dd..d9e71d3 100644
--- a/tests/rules/no-try-statement/es3/index.test.ts
+++ b/tests/rules/no-try-statement/es3/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/no-try-statements";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/no-try-statements";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/no-try-statement/es3/invalid.ts b/tests/rules/no-try-statement/es3/invalid.ts
index 27523e8..1a27be8 100644
--- a/tests/rules/no-try-statement/es3/invalid.ts
+++ b/tests/rules/no-try-statement/es3/invalid.ts
@@ -1,11 +1,11 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 
-import { type rule } from "#eslint-plugin-functional/rules/no-try-statements";
+import { type rule } from "#/rules/no-try-statements";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/no-try-statement/es3/valid.ts b/tests/rules/no-try-statement/es3/valid.ts
index e65386e..ed0b971 100644
--- a/tests/rules/no-try-statement/es3/valid.ts
+++ b/tests/rules/no-try-statement/es3/valid.ts
@@ -1,8 +1,5 @@
-import { type rule } from "#eslint-plugin-functional/rules/no-try-statements";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/no-try-statements";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/prefer-immutable-types/ts/parameters/index.test.ts b/tests/rules/prefer-immutable-types/ts/parameters/index.test.ts
index da3ffba..d2429ec 100644
--- a/tests/rules/prefer-immutable-types/ts/parameters/index.test.ts
+++ b/tests/rules/prefer-immutable-types/ts/parameters/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/prefer-immutable-types";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/prefer-immutable-types";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/prefer-immutable-types/ts/parameters/invalid.ts b/tests/rules/prefer-immutable-types/ts/parameters/invalid.ts
index cc2a297..2d35145 100644
--- a/tests/rules/prefer-immutable-types/ts/parameters/invalid.ts
+++ b/tests/rules/prefer-immutable-types/ts/parameters/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-immutable-types";
+import { type rule } from "#/rules/prefer-immutable-types";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/prefer-immutable-types/ts/parameters/valid.ts b/tests/rules/prefer-immutable-types/ts/parameters/valid.ts
index 17c1edf..3bf8c07 100644
--- a/tests/rules/prefer-immutable-types/ts/parameters/valid.ts
+++ b/tests/rules/prefer-immutable-types/ts/parameters/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-immutable-types";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/prefer-immutable-types";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/prefer-immutable-types/ts/return-types/index.test.ts b/tests/rules/prefer-immutable-types/ts/return-types/index.test.ts
index da3ffba..d2429ec 100644
--- a/tests/rules/prefer-immutable-types/ts/return-types/index.test.ts
+++ b/tests/rules/prefer-immutable-types/ts/return-types/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/prefer-immutable-types";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/prefer-immutable-types";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/prefer-immutable-types/ts/return-types/invalid.ts b/tests/rules/prefer-immutable-types/ts/return-types/invalid.ts
index 6cc0424..238528b 100644
--- a/tests/rules/prefer-immutable-types/ts/return-types/invalid.ts
+++ b/tests/rules/prefer-immutable-types/ts/return-types/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-immutable-types";
+import { type rule } from "#/rules/prefer-immutable-types";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/prefer-immutable-types/ts/return-types/valid.ts b/tests/rules/prefer-immutable-types/ts/return-types/valid.ts
index 1d8a421..1d64e9d 100644
--- a/tests/rules/prefer-immutable-types/ts/return-types/valid.ts
+++ b/tests/rules/prefer-immutable-types/ts/return-types/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-immutable-types";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/prefer-immutable-types";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/prefer-immutable-types/ts/variables/index.test.ts b/tests/rules/prefer-immutable-types/ts/variables/index.test.ts
index da3ffba..d2429ec 100644
--- a/tests/rules/prefer-immutable-types/ts/variables/index.test.ts
+++ b/tests/rules/prefer-immutable-types/ts/variables/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/prefer-immutable-types";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/prefer-immutable-types";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/prefer-immutable-types/ts/variables/invalid.ts b/tests/rules/prefer-immutable-types/ts/variables/invalid.ts
index a4a28f4..c724f0d 100644
--- a/tests/rules/prefer-immutable-types/ts/variables/invalid.ts
+++ b/tests/rules/prefer-immutable-types/ts/variables/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-immutable-types";
+import { type rule } from "#/rules/prefer-immutable-types";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/prefer-immutable-types/ts/variables/valid.ts b/tests/rules/prefer-immutable-types/ts/variables/valid.ts
index 0d481a1..811e58f 100644
--- a/tests/rules/prefer-immutable-types/ts/variables/valid.ts
+++ b/tests/rules/prefer-immutable-types/ts/variables/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-immutable-types";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/prefer-immutable-types";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/prefer-property-signatures/ts/index.test.ts b/tests/rules/prefer-property-signatures/ts/index.test.ts
index 67f189a..dfc32f1 100644
--- a/tests/rules/prefer-property-signatures/ts/index.test.ts
+++ b/tests/rules/prefer-property-signatures/ts/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/prefer-property-signatures";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/prefer-property-signatures";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/prefer-property-signatures/ts/invalid.ts b/tests/rules/prefer-property-signatures/ts/invalid.ts
index 7389654..7c5cc46 100644
--- a/tests/rules/prefer-property-signatures/ts/invalid.ts
+++ b/tests/rules/prefer-property-signatures/ts/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-property-signatures";
+import { type rule } from "#/rules/prefer-property-signatures";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/prefer-property-signatures/ts/valid.ts b/tests/rules/prefer-property-signatures/ts/valid.ts
index 8a7c23c..c25235b 100644
--- a/tests/rules/prefer-property-signatures/ts/valid.ts
+++ b/tests/rules/prefer-property-signatures/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-property-signatures";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/prefer-property-signatures";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/prefer-readonly-type/ts/index.test.ts b/tests/rules/prefer-readonly-type/ts/index.test.ts
index cf130cf..45256be 100644
--- a/tests/rules/prefer-readonly-type/ts/index.test.ts
+++ b/tests/rules/prefer-readonly-type/ts/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/prefer-readonly-type";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/prefer-readonly-type";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/prefer-readonly-type/ts/invalid.ts b/tests/rules/prefer-readonly-type/ts/invalid.ts
index f244154..89d2af3 100644
--- a/tests/rules/prefer-readonly-type/ts/invalid.ts
+++ b/tests/rules/prefer-readonly-type/ts/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-readonly-type";
+import { type rule } from "#/rules/prefer-readonly-type";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/prefer-readonly-type/ts/valid.ts b/tests/rules/prefer-readonly-type/ts/valid.ts
index e2cfbae..70412b0 100644
--- a/tests/rules/prefer-readonly-type/ts/valid.ts
+++ b/tests/rules/prefer-readonly-type/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-readonly-type";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/prefer-readonly-type";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   // Should not fail on explicit ReadonlyArray parameter.
diff --git a/tests/rules/prefer-tacit/ts/index.test.ts b/tests/rules/prefer-tacit/ts/index.test.ts
index 62d9f93..fca4ac9 100644
--- a/tests/rules/prefer-tacit/ts/index.test.ts
+++ b/tests/rules/prefer-tacit/ts/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/prefer-tacit";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/prefer-tacit";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/prefer-tacit/ts/invalid.ts b/tests/rules/prefer-tacit/ts/invalid.ts
index 21e775a..c1a4ce9 100644
--- a/tests/rules/prefer-tacit/ts/invalid.ts
+++ b/tests/rules/prefer-tacit/ts/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-tacit";
+import { type rule } from "#/rules/prefer-tacit";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/prefer-tacit/ts/valid.ts b/tests/rules/prefer-tacit/ts/valid.ts
index 3963020..3d65647 100644
--- a/tests/rules/prefer-tacit/ts/valid.ts
+++ b/tests/rules/prefer-tacit/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/prefer-tacit";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/prefer-tacit";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   {
diff --git a/tests/rules/readonly-type/ts/index.test.ts b/tests/rules/readonly-type/ts/index.test.ts
index 693e544..5e21e24 100644
--- a/tests/rules/readonly-type/ts/index.test.ts
+++ b/tests/rules/readonly-type/ts/index.test.ts
@@ -1,5 +1,5 @@
-import { name, rule } from "#eslint-plugin-functional/rules/readonly-type";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/readonly-type";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/readonly-type/ts/invalid.ts b/tests/rules/readonly-type/ts/invalid.ts
index c986bb2..8f5678a 100644
--- a/tests/rules/readonly-type/ts/invalid.ts
+++ b/tests/rules/readonly-type/ts/invalid.ts
@@ -1,12 +1,12 @@
 import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/readonly-type";
+import { type rule } from "#/rules/readonly-type";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const tests: Array<
   InvalidTestCaseSet<MessagesOf<typeof rule>, OptionsOf<typeof rule>>
diff --git a/tests/rules/readonly-type/ts/valid.ts b/tests/rules/readonly-type/ts/valid.ts
index f0e0c85..ae01123 100644
--- a/tests/rules/readonly-type/ts/valid.ts
+++ b/tests/rules/readonly-type/ts/valid.ts
@@ -1,10 +1,7 @@
 import dedent from "dedent";
 
-import { type rule } from "#eslint-plugin-functional/rules/readonly-type";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/readonly-type";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const tests: Array<ValidTestCaseSet<OptionsOf<typeof rule>>> = [
   // Not readonly
diff --git a/tests/rules/type-declaration-immutability/ts/index.test.ts b/tests/rules/type-declaration-immutability/ts/index.test.ts
index 5e0347d..f591363 100644
--- a/tests/rules/type-declaration-immutability/ts/index.test.ts
+++ b/tests/rules/type-declaration-immutability/ts/index.test.ts
@@ -1,8 +1,5 @@
-import {
-  name,
-  rule,
-} from "#eslint-plugin-functional/rules/type-declaration-immutability";
-import { testRule } from "#eslint-plugin-functional/tests/helpers/testers";
+import { name, rule } from "#/rules/type-declaration-immutability";
+import { testRule } from "#/tests/helpers/testers";
 
 import invalid from "./invalid";
 import valid from "./valid";
diff --git a/tests/rules/type-declaration-immutability/ts/invalid.ts b/tests/rules/type-declaration-immutability/ts/invalid.ts
index 7212b54..6575858 100644
--- a/tests/rules/type-declaration-immutability/ts/invalid.ts
+++ b/tests/rules/type-declaration-immutability/ts/invalid.ts
@@ -2,12 +2,12 @@ import { AST_NODE_TYPES } from "@typescript-eslint/utils";
 import dedent from "dedent";
 import { Immutability } from "is-immutable-type";
 
-import { type rule } from "#eslint-plugin-functional/rules/type-declaration-immutability";
+import { type rule } from "#/rules/type-declaration-immutability";
 import {
   type InvalidTestCaseSet,
   type MessagesOf,
   type OptionsOf,
-} from "#eslint-plugin-functional/tests/helpers/util";
+} from "#/tests/helpers/util";
 
 const recommended = {
   rules: [
diff --git a/tests/rules/type-declaration-immutability/ts/valid.ts b/tests/rules/type-declaration-immutability/ts/valid.ts
index e073efd..196d9d2 100644
--- a/tests/rules/type-declaration-immutability/ts/valid.ts
+++ b/tests/rules/type-declaration-immutability/ts/valid.ts
@@ -1,11 +1,8 @@
 import dedent from "dedent";
 import { Immutability } from "is-immutable-type";
 
-import { type rule } from "#eslint-plugin-functional/rules/type-declaration-immutability";
-import {
-  type OptionsOf,
-  type ValidTestCaseSet,
-} from "#eslint-plugin-functional/tests/helpers/util";
+import { type rule } from "#/rules/type-declaration-immutability";
+import { type OptionsOf, type ValidTestCaseSet } from "#/tests/helpers/util";
 
 const recommended = {
   rules: [