![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
eslint-plugin-path-alias
Advanced tools
Enforces usage of path aliases where available instead of relative paths. This helps ensure consistency in how modules are imported across your codebase.
Enforces usage of path aliases where available instead of relative paths. This helps ensure consistency in how modules are imported across your codebase.
Using npm:
npm install --save-dev eslint-plugin-path-alias
Using pnpm:
pnpm add --save-dev eslint-plugin-path-alias
Using Yarn:
yarn add --dev eslint-plugin-path-alias
Examples of incorrect code for this rule:
// src/lib/speak.js
// With the following path aliases:
// - @/lib ➝ src/lib
// - @/constants ➝ src/constants
import foo from "./greet"; // Should use "@/lib"
import bar from "../constants/hello.i18n.js"; // Sould use "@/constants"
Examples of correct code for this rule:
// src/lib/speak.js
// With the following path aliases:
// - @/lib ➝ src/lib
// - @/constants ➝ src/constants
import foo from "@/lib/greet";
import bar from "@/constants/hello.i18n.js";
import styles from "../styles/foo.css"; // No matching alias so this is okay
You can define your path aliases as options to the path-alias/no-relative
rule:
import pathAlias from 'eslint-plugin-path-alias';
import { resolve } from 'node:path';
export default [
{
plugins: {
'path-alias': pathAlias,
},
rules: {
'path-alias/no-relative': ['error', {
paths: {
// It's recommended to resolve path alias directories as
// relative paths will be resolved relative to cwd. This
// may cause unexpected behavior in monorepo setups
'@': resolve(import.meta.dirname, './src'),
},
}],
},
},
];
If no paths
options is provided to the rule, this plugin will attempt to find the nearest tsconfig.json
and infer path aliases from the paths
option there.
If no paths are founded in either the rule or a tsconfig.json
, this plugin will attempt to find the nearest package.json
and infer path aliases from the imports
field there. For now, conditional imports are not supported
exceptions
This option permits using relative paths to import sibling files that match a given pattern. This may be useful if you prefer relative paths for files that are collocated and tightly coupled — e.g. importing styles into a React component. Patterns are matched against the basenames and not full file paths. This option also only applies to files in the same directory, not ones in parent or descendent directories.
The exceptions
options takes an array of nanomatch globs:
{
"rules": {
"path-alias/no-relative": [
"error",
{
"exceptions": ["*.module.css"]
}
]
}
}
Examples of correct code with the settings above:
// In src/components/Button.js
// Path alias: @/components ➝ src/components
import foo from "@/components/Text";
import styles from "./Button.module.css";
// Or you can still use an alias
import styles from "@/components/Button.module.css";
import/no-unresolved
from eslint-plugin-import for thatrequire()
FAQs
Enforces usage of path aliases where available instead of relative paths. This helps ensure consistency in how modules are imported across your codebase.
The npm package eslint-plugin-path-alias receives a total of 0 weekly downloads. As such, eslint-plugin-path-alias popularity was classified as not popular.
We found that eslint-plugin-path-alias demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.