Skip to content

Abandoned? #48

Open
Open
@gtsop

Description

@gtsop

Hey, awesome plugin, I see it hasn't been updated in years. It looks like it's abandoned. What the way forwards? Forking? Adding collaborators?

Activity

selaux

selaux commented on Jul 28, 2020

@selaux
Owner

Yes. I am no longer actively maintaining this. Please feel free to fork.

gtsop

gtsop commented on Jul 28, 2020

@gtsop
Author

Thanks for the reply. I respect your decision, can you please add a notice in the README so people are aware? Thanks a lot for your work :)

pinned this issue on Jul 29, 2020
selaux

selaux commented on Jul 29, 2020

@selaux
Owner

I added the note and will leave this open as a pinned issue, so it is clear to visitors.

dolsem

dolsem commented on Aug 11, 2020

@dolsem

If you're looking for alternatives, let me shamelessly advertise my own plugin I've created https://github.com/dolsem/eslint-plugin-filename-rules.

loeffel-io

loeffel-io commented on Dec 8, 2020

@loeffel-io

You can also just checkout ls-lint

pmcelhaney

pmcelhaney commented on Jan 20, 2021

@pmcelhaney

@dolsem How about we copy the three rules from this plugin into eslint-plugin-filename-rules, so that everyone can seamlessly switch? If you're interested, I'm happy to send a pull request.

gajus

gajus commented on Oct 25, 2021

@gajus

All of these rules have been added to eslint-plugin-canonical.

dolsem

dolsem commented on Oct 29, 2021

@dolsem

@pmcelhaney sorry I missed the message, but if you submit a PR, I am happy to review and potentially merge it. Or, perhaps eslint-plugin-canonical mentioned above will better suit your needs.

Igorkowalski94

Igorkowalski94 commented on Oct 1, 2023

@Igorkowalski94

As an alternative, you can use eslint-plugin-project-structure

Cloud Shows an illustrated sun in light mode and a moon with stars in dark mode. Cloud

FolderOwl
eslint‑plugin-project‑structure

ESLint plugin with rules to help you achieve a scalable, consistent, and well-structured project.

Create your own framework! Define your folder structure, advanced naming conventions, file composition, and create independent modules.

Take your project to the next level and save time by automating the review of key principles of a healthy project!

npmnpm downloadsCheck, test, buildSponsorGitHub Repo stars

project‑structure/​folder‑structure

Enforce rules on folder structure to keep your project consistent, orderly and well thought out.

Rocket Features:

  • Validation of folder structure. Any files/folders outside the structure will be considered an error.
  • File/Folder name regex validation with features like wildcard * and treating . as a character, along with other conveniences.
  • Build in case validation.
  • Inheriting the folder's name. The file/folder inherits the name of the folder in which it is located. Option of adding your own prefixes/suffixes or changing the case.
  • Enforcing the existence of a files/folders when a specific file/folder exists. For example, if ./src/Component.tsx exists, then ./src/Component.test.tsx and ./src/stories/Component.stories.tsx must also exist.
  • Reusable rules for folder structures.
  • An option to create a separate configuration file with TypeScript support.
  • Forcing a nested/flat structure for a given folder.
  • Support for all file extensions.
  • Folder recursion. You can repeatedly nest a folder structure and set a limit on the nesting depth. There is also an option to change the rule at the final level, such as flattening the folder structure.
  • Fewer repetitions and precise error messages, even for deeply nested folders (recursion), by representing the folder structure as a tree.
  • Checking the length of paths and notifying when the limit is exceeded.

project‑structure/​independent‑modules

A key principle of a healthy project is to prevent the creation of a massive dependency tree, where removing or editing one feature triggers a chain reaction that impacts the entire project.

Create independent modules to keep your project scalable and easy to maintain. Get rid of dependencies between modules and create truly independent functionalities.

Rocket Features:

  • Creating independent modules in which you control what can be imported (e.g. types, functions, components of one functionality cannot be imported into another functionality).
  • The ability to create very detailed rules, even for nested folder structures. Whether it's a large module, a sub-module, or a single file, there are no limitations.
  • Disabling external imports (node_modules) for a given module (Option to add exceptions).
  • Non-relative/relative imports support.
  • Support for imports without extension.
  • Reusable import patterns.
  • Support for path aliases. The plugin will automatically detect your tsconfig.json and use your settings. There is also an option to enter them manually.
  • An option to create a separate configuration file with TypeScript support.

project‑structure/​file‑composition

Enforce advanced naming rules and prohibit the use of given selectors in a given file.

Have full control over what your file can contain and the naming conventions it must follow.

Rocket Features:

  • File composition validation.
  • Supported selectors: class, function, arrowFunction, type, interface, enum, variable, variableCallExpression, variableTaggedTemplateExpression.
  • Rules for exported selectors, selectors in the root of the file and nested/all selectors in the file. They can be used together in combination.
  • Prohibit the use of given selectors in a given file. For example, **/*.consts.ts files can only contain variables, **/*.types.ts files can only contain enums, interfaces and types.
  • Enforcing a maximum of one main function/class per file.
  • Inheriting the filename as the selector name. Option to add your own prefixes/suffixes, change the case, or remove parts of the filename.
  • Selector name regex validation.
  • Build in case validation.
  • Different rules for different files.
  • An option to create a separate configuration file with TypeScript support.
dukeluo

dukeluo commented on Feb 23, 2024

@dukeluo

Thank you for author's contribution, I wanted to share another alternative plugin I created: https://github.com/dukeluo/eslint-plugin-check-file, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Abandoned? · Issue #48 · selaux/eslint-plugin-filenames