eslint-plugin-project recructure
확장 가능하고 일관성 있고 잘 구조화 된 프로젝트를 달성하는 데 도움이되는 규칙이있는 강력한 Eslint 플러그인.
나만의 프레임 워크를 만드십시오! 폴더 구조, 파일 구성, 고급 이름 지정 규칙을 정의하고 독립 모듈을 작성하십시오.
프로젝트를 다음 단계로 끌어 올리고 건강한 프로젝트의 주요 원리에 대한 검토를 자동화하여 시간을 절약하십시오!
? 일반 정보
? Eslint-Plugin-Project 구조 규칙을위한 놀이터.
최신 릴리스를 확인하고 새로운 기능과 변경 사항으로 업데이트하십시오.
커뮤니티의 일원이 되십시오!
A를 남겨두고 친구들과 링크를 공유하십시오.
- 궁금한 점이 있거나 요구 사항을 충족하는 구성을 만드는 데 도움이 필요한 경우 도움을 받으십시오.
- 문서에서 버그 또는 오류를 발견 한 경우 문제를보고하십시오.
- 새로운 기능에 대한 아이디어가 있거나 기존 기능에 대한 개선 아이디어가 있다면 아이디어.
- 다른 프레임 워크에서 프로젝트 구조에 대해 논의하거나 제안 된 아이디어, 토론에 투표하려면.
선적 서류 비치
- 프로젝트 구조/폴더 구조
- 프로젝트 구조/독립 모듈
- 프로젝트 구조/파일 조성
프로젝트 구조/폴더 구조
폴더 구조에 대한 규칙을 시행하여 프로젝트를 일관되고 질서 정연하고 잘 생각할 수 있도록합니다.
- 폴더 구조의 검증. 구조 외부의 모든 파일/폴더는 오류로 간주됩니다.
- WildCard
* 및 Treating과 같은 기능을 사용한 파일/폴더 이름 Regex 유효성 검사 . 캐릭터로서 다른 편의와 함께. - 유효성 검사를 위해 빌드하십시오.
- 폴더 이름을 상속합니다. 파일/폴더는 폴더의 이름이 위치한 폴더의 이름을 상속합니다. 자신의 접두사/접미사를 추가하거나 케이스를 변경하는 옵션.
- 특정 파일/폴더가 존재할 때 파일/폴더의 존재를 시행합니다. 예를 들어
./src/Component.tsx 가 존재하면 ./src/Component.test.tsx 및 ./src/stories/Component.stories.tsx 도 존재해야합니다. - 폴더 구조에 대한 재사용 가능한 규칙.
- TypeScript 지원으로 별도의 구성 파일을 작성하는 옵션입니다.
- 주어진 폴더의 중첩/플랫 구조를 강제합니다.
- 모든 파일 확장에 대한 지원.
- 폴더 재귀. 폴더 구조를 반복적으로 중첩하고 중첩 깊이에 제한을 설정할 수 있습니다. 폴더 구조를 평평하게하는 것과 같이 최종 수준에서 규칙을 변경할 수있는 옵션도 있습니다.
- 폴더 구조를 트리로 표시하여 깊게 중첩 된 폴더 (재귀)의 경우 반복과 정확한 오류 메시지가 적습니다.
- 경로의 길이를 확인하고 한도가 초과되는시기에 알립니다.
프로젝트 구조/독립 모듈
건강한 프로젝트의 주요 원칙은 하나의 기능을 제거하거나 편집하면 전체 프로젝트에 영향을 미치는 연쇄 반응을 유발하는 대규모 종속성 트리의 생성을 방지하는 것입니다.
가져올 수있는 것을 제어 할 수있는 모듈을 만듭니다. 폴더 나 파일 사이의 불필요한 종속성을 제거하여 진정한 독립적 인 기능을 구축하십시오.
- 가져올 수있는 것을 제어하는 모듈 작성 (예 : 유형, 함수, 한 기능의 구성 요소는 다른 기능으로 가져올 수 없습니다).
- 중첩 된 폴더 구조에 대해서도 매우 상세한 규칙을 만들 수 있습니다. 큰 모듈, 하위 모듈 또는 단일 파일이든 제한이 없습니다.
-
require() , import() , jest.mock() 및 jest.requireActual() 포함한 모든 유형의 가져 오기 및 ExportAllDeclaration 및 ExportNamedDeclaration . - 주어진 모듈에 대한 외부 가져 오기 (node_modules) 비활성화 (예외 추가 옵션).
- 비 관계형/상대 수입 지원.
- 내장 된 가져 오기 RESOLVER이므로 추가 플러그인을 설치할 필요가 없습니다. 또한 가장 인기있는 파일 확장에 대한 내장 구성이 포함되어 있으므로 수동으로 구성 할 필요가 없습니다.
- 재사용 가능한 가져 오기 패턴.
- 경로 별칭 지원. 플러그인은 TSConfig.json을 자동으로 감지하고 설정을 사용합니다. 수동으로 입력하는 옵션도 있습니다.
- TypeScript 지원으로 별도의 구성 파일을 작성하는 옵션입니다.
프로젝트 구조/파일 구성
이상적인 파일을 작성하십시오!
선택기의 순서와 수량을 완전히 제어하십시오.
고급 명명 규칙을 정의하고 주어진 파일에서 특정 선택기의 사용을 금지합니다.
- 파일 구성 유효성 검사.
- 지원되는 선택기 :
class , function , arrowFunction , type , interface , enum , variable , variableExpression , propertyDefinition . - 파일 이름을 선택기 이름으로 상속합니다. 자신의 접두사/접미사를 추가하거나 케이스를 변경하거나 파일 이름의 일부를 제거하는 옵션.
- 주어진 파일에서 주어진 선택기의 사용을 금지합니다. 예를 들어,
**/*.consts.ts 파일에는 변수 만 포함 할 수 있습니다. **/*.types.ts 파일은 인터페이스와 유형 만 포함 할 수 있습니다. - 선택기가 주어진 파일에 나타나야하는 순서를 정의하십시오. 순서를 자동으로 수정하기 위해
--fix 지원합니다. - 내보내는 선택기, 파일 루트의 선택기 및 파일의 중첩/모든 선택기에 대한 규칙. 그들은 함께 함께 사용할 수 있습니다.
- 파일 당 최대 하나의 기본 구성 요소/함수/클래스를 시행합니다.
- 주어진 파일의 루트에서 특정 선택기의 발생에 대한 특정 제한을 설정하는 기능.
- 선택기 이름 Regex 유효성 검사.
- 유효성 검사를 위해 빌드하십시오.
- 다른 파일에 대한 다른 규칙.
- TypeScript 지원으로 별도의 구성 파일을 작성하는 옵션입니다.
지원해 주신 모든 스폰서에게 큰 감사를드립니다! 당신은 나에게 계속 갈 힘과 동기를 준다!
당신 덕분에 다른 사람들이 이상적인 프로젝트를 만들도록 도울 수 있습니다!