Skip to content

Commit

Permalink
refactor: eslint now orders imports
Browse files Browse the repository at this point in the history
  • Loading branch information
martinmcwhorter committed Feb 4, 2020
1 parent 5a53903 commit c590f4a
Show file tree
Hide file tree
Showing 18 changed files with 224 additions and 46 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
dist
node_modules
15 changes: 11 additions & 4 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,24 @@
"node": true
},
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint", "prettier"],
"plugins": ["@typescript-eslint", "prettier", "import"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier/@typescript-eslint"
"prettier/@typescript-eslint",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript"
],
"rules": {
"prettier/prettier": "error",
"semi": "error",
"no-prototype-builtins": "off",
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"no-sparse-arrays": "off"
"no-sparse-arrays": "off",
"import/order": "error"
},
"overrides": [
{
Expand All @@ -26,5 +30,8 @@
"@typescript-eslint/no-non-null-assertion": "off"
}
}
]
],
"settings": {
"import/extensions": [".ts", ".js"]
}
}
8 changes: 4 additions & 4 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"singleQuote": true,
"tabWidth": 2,
"useTabs": false,
"printWidth": 120
"singleQuote": true,
"tabWidth": 2,
"useTabs": false,
"printWidth": 120
}
165 changes: 165 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"scripts": {
"test": "jest",
"build": "tsc -p tsconfig.build.json",
"lint": "eslint ."
"lint": "eslint . --ext=\".js,.ts\""
},
"keywords": [
"commitizen",
Expand All @@ -25,6 +25,7 @@
"cz-conventional-changelog": "^3.0.2",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.9.0",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-prettier": "^3.1.2",
"husky": "^4.2.0",
"jest": "^25.1.0",
Expand Down
2 changes: 1 addition & 1 deletion src/build-scope.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { buildScope } from './build-scope';
import { ListQuestion } from 'inquirer';
import { buildScope } from './build-scope';

describe('buildScope', () => {
describe('when', () => {
Expand Down
2 changes: 1 addition & 1 deletion src/build-scope.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Rules } from '@commitlint/load';
import { DistinctQuestion } from 'inquirer';
import { whenFactory } from './when';
import { validate, emptyValidator, maxLengthValidator, minLengthValidator, caseValidator } from './validators';
import { caseValidator, emptyValidator, maxLengthValidator, minLengthValidator, validate } from './validators';
import { wordCaseFilter } from './filters';

export function buildScope(rules: Rules, questions: DistinctQuestion[]): DistinctQuestion[] {
Expand Down
12 changes: 6 additions & 6 deletions src/engine.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import { CommitlintConfig, Rules } from '@commitlint/load';
import { DistinctQuestion, PromptModule } from 'inquirer';
import { Commit } from 'commitizen';
import { pipeWith } from './utils';
import { PromptModule, DistinctQuestion } from 'inquirer';
import { buildType } from './build-type';
import { typeMaker } from './type-maker';
import { buildBreakingChange } from './build-breaking-change';
import { buildBody } from './build-body';
import { subjectMaker } from './subect-maker';
import { buildScope } from './build-scope';
import { Commit } from 'commitizen';
import { subjectMaker } from './subject-maker';

function buildQuestions(rules: Rules) {
const combinedQuestions = pipeWith<DistinctQuestion[]>(
[],
x => buildType(rules, x),
x => typeMaker(x, rules),
x => buildScope(rules, x),
x => subjectMaker(rules, x),
x => subjectMaker(x, rules),
x => buildBody(rules, x),
x => buildBreakingChange(rules, x)
);
Expand Down
2 changes: 1 addition & 1 deletion src/filters.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { leadingBlankFilter, fullStopFilter, wordCaseFilter, wordWrapFilter } from './filters';
import { Level } from '@commitlint/load';
import { fullStopFilter, leadingBlankFilter, wordCaseFilter, wordWrapFilter } from './filters';

describe('filters', () => {
describe('leadingBlankFilter', () => {
Expand Down
4 changes: 2 additions & 2 deletions src/filters.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Rule, Level, Case } from '@commitlint/load';
import { wordCase } from './utils';
import { Case, Level, Rule } from '@commitlint/load';
import wordWrap from 'word-wrap';
import { wordCase } from './utils';

export function leadingBlankFilter(value: string, rule: Rule<void>): string {
const [level, applicable] = rule;
Expand Down
8 changes: 4 additions & 4 deletions src/subect-maker.ts → src/subject-maker.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Rules } from '@commitlint/load';
import { DistinctQuestion, Answers } from 'inquirer';
import { validate, maxLengthValidator, emptyValidator, minLengthValidator, caseValidator } from './validators';
import { wordCaseFilter, fullStopFilter } from './filters';
import { Answers, DistinctQuestion } from 'inquirer';
import { pipeWith, valueFromRule } from './utils';
import { caseValidator, emptyValidator, maxLengthValidator, minLengthValidator, validate } from './validators';
import { fullStopFilter, wordCaseFilter } from './filters';

export function header(type: string, scope?: string, subject?: string): string {
let header = `${type}`;
Expand Down Expand Up @@ -91,7 +91,7 @@ export function messageFactory(rules: Rules) {
};
}

export function subjectMaker(rules: Rules, questions: DistinctQuestion[]): DistinctQuestion[] {
export function subjectMaker(questions: DistinctQuestion[], rules: Rules): DistinctQuestion[] {
const question: DistinctQuestion = {
message: messageFactory(rules),
name: 'subject',
Expand Down
Loading

0 comments on commit c590f4a

Please sign in to comment.