Skip to content

Commit d4a7664

Browse files
authored
Merge pull request #16 from maks-rafalko/feature/semi
Use semicolons in prettier and eslint
2 parents 25368ba + 8634207 commit d4a7664

File tree

5 files changed

+76
-71
lines changed

5 files changed

+76
-71
lines changed

.eslintrc.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@
4444
"@typescript-eslint/require-array-sort-compare": "error",
4545
"@typescript-eslint/restrict-plus-operands": "error",
4646
"semi": "off",
47-
"@typescript-eslint/semi": ["error", "never"],
47+
"@typescript-eslint/semi": ["error", "always"],
4848
"@typescript-eslint/type-annotation-spacing": "error",
49-
"@typescript-eslint/unbound-method": "error"
49+
"@typescript-eslint/unbound-method": "error",
50+
"prettier/prettier": ["error", { "semi": true }]
5051
},
5152
"env": {
5253
"node": true,

.prettierrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"printWidth": 80,
33
"tabWidth": 2,
44
"useTabs": false,
5-
"semi": false,
5+
"semi": true,
66
"singleQuote": true,
77
"trailingComma": "none",
88
"bracketSpacing": false,

__tests__/main.test.ts

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
import {expect, test} from '@jest/globals'
1+
import {expect, test} from '@jest/globals';
22

33
import {
44
getTouchedSourceFilesRequireTests,
55
getTouchedTestFiles,
66
File
7-
} from '../src/fileFilters'
7+
} from '../src/fileFilters';
88

99
test('getTouchedSourceFilesRequireTests should filter out files by file extensions', () => {
1010
const files: File[] = [
1111
{filename: 'README.md'},
1212
{filename: 'foo.php'},
1313
{filename: 'bar.ts'}
14-
]
15-
const extensions = ['.php']
14+
];
15+
const extensions = ['.php'];
1616

17-
const filteredFiles = getTouchedSourceFilesRequireTests(files, extensions)
17+
const filteredFiles = getTouchedSourceFilesRequireTests(files, extensions);
1818

19-
expect(filteredFiles.length).toBe(1)
20-
expect(filteredFiles[0].filename).toBe('foo.php')
21-
})
19+
expect(filteredFiles.length).toBe(1);
20+
expect(filteredFiles[0].filename).toBe('foo.php');
21+
});
2222

2323
test('getTouchedTestFiles should return test files from the list of different files', () => {
2424
const files: File[] = [
@@ -30,57 +30,61 @@ test('getTouchedTestFiles should return test files from the list of different fi
3030
{filename: 'a/test/bar3.ts'},
3131
{filename: 'a/tests/bar4.ts'},
3232
{filename: 'test_test.ts'}
33-
]
33+
];
3434

35-
const filteredFilesTestDir = getTouchedTestFiles(files, 'lib/tests', '')
36-
expect(filteredFilesTestDir.length).toBe(2)
37-
expect(filteredFilesTestDir[0].filename).toBe('lib/tests/bar1.ts')
38-
expect(filteredFilesTestDir[1].filename).toBe('lib/tests/foo1.ts')
35+
const filteredFilesTestDir = getTouchedTestFiles(files, 'lib/tests', '');
36+
expect(filteredFilesTestDir.length).toBe(2);
37+
expect(filteredFilesTestDir[0].filename).toBe('lib/tests/bar1.ts');
38+
expect(filteredFilesTestDir[1].filename).toBe('lib/tests/foo1.ts');
3939

4040
const filteredFilesTestPatternSimple = getTouchedTestFiles(
4141
files,
4242
'',
4343
'*_test.ts'
44-
)
45-
expect(filteredFilesTestPatternSimple.length).toBe(1)
46-
expect(filteredFilesTestPatternSimple[0].filename).toBe('test_test.ts')
44+
);
45+
expect(filteredFilesTestPatternSimple.length).toBe(1);
46+
expect(filteredFilesTestPatternSimple[0].filename).toBe('test_test.ts');
4747

4848
const filteredFilesTestPatternSubdir = getTouchedTestFiles(
4949
files,
5050
'',
5151
'*/test/*.ts'
52-
)
53-
expect(filteredFilesTestPatternSubdir.length).toBe(1)
54-
expect(filteredFilesTestPatternSubdir[0].filename).toBe('a/test/bar3.ts')
52+
);
53+
expect(filteredFilesTestPatternSubdir.length).toBe(1);
54+
expect(filteredFilesTestPatternSubdir[0].filename).toBe('a/test/bar3.ts');
5555

5656
const filteredFilesTestPatternAllInTests = getTouchedTestFiles(
5757
files,
5858
'',
5959
'**/tests/*.ts'
60-
)
61-
expect(filteredFilesTestPatternAllInTests.length).toBe(3)
60+
);
61+
expect(filteredFilesTestPatternAllInTests.length).toBe(3);
6262
expect(filteredFilesTestPatternAllInTests[0].filename).toBe(
6363
'lib/tests/bar1.ts'
64-
)
64+
);
6565
expect(filteredFilesTestPatternAllInTests[1].filename).toBe(
6666
'lib/tests/foo1.ts'
67-
)
68-
expect(filteredFilesTestPatternAllInTests[2].filename).toBe('a/tests/bar4.ts')
67+
);
68+
expect(filteredFilesTestPatternAllInTests[2].filename).toBe(
69+
'a/tests/bar4.ts'
70+
);
6971

7072
const filteredFilesTestBothDirAndPattern = getTouchedTestFiles(
7173
files,
7274
'lib/testsxxx',
7375
'**/tests/*.ts'
74-
)
75-
expect(filteredFilesTestBothDirAndPattern.length).toBe(4)
76+
);
77+
expect(filteredFilesTestBothDirAndPattern.length).toBe(4);
7678
expect(filteredFilesTestBothDirAndPattern[0].filename).toBe(
7779
'lib/testsxxx/bar2.ts'
78-
)
80+
);
7981
expect(filteredFilesTestBothDirAndPattern[1].filename).toBe(
8082
'lib/tests/bar1.ts'
81-
)
83+
);
8284
expect(filteredFilesTestBothDirAndPattern[2].filename).toBe(
8385
'lib/tests/foo1.ts'
84-
)
85-
expect(filteredFilesTestBothDirAndPattern[3].filename).toBe('a/tests/bar4.ts')
86-
})
86+
);
87+
expect(filteredFilesTestBothDirAndPattern[3].filename).toBe(
88+
'a/tests/bar4.ts'
89+
);
90+
});

src/fileFilters.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
1-
import {minimatch} from 'minimatch'
1+
import {minimatch} from 'minimatch';
22

33
export type File = {
4-
filename: string
5-
}
4+
filename: string;
5+
};
66

77
export function getTouchedSourceFilesRequireTests(
88
files: File[],
99
fileExtensions: string[]
1010
): File[] {
1111
return files.filter(file => {
1212
return fileExtensions.find((fileExtension: string) => {
13-
return file.filename.endsWith(fileExtension)
14-
})
15-
})
13+
return file.filename.endsWith(fileExtension);
14+
});
15+
});
1616
}
1717

1818
export function getTouchedTestFiles(
1919
files: File[],
2020
testDir: string,
2121
testPattern: string
2222
): File[] {
23-
let filtered: File[] = []
23+
let filtered: File[] = [];
2424

2525
if (testDir) {
2626
filtered = files.filter(file => {
27-
return file.filename.startsWith(`${testDir}/`)
28-
})
27+
return file.filename.startsWith(`${testDir}/`);
28+
});
2929
}
3030
if (testPattern) {
3131
filtered = filtered.concat(
3232
files.filter(file => {
33-
return minimatch(file.filename, testPattern)
33+
return minimatch(file.filename, testPattern);
3434
})
35-
)
35+
);
3636
}
37-
return filtered
37+
return filtered;
3838
}

src/main.ts

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
import * as core from '@actions/core'
2-
import * as github from '@actions/github'
1+
import * as core from '@actions/core';
2+
import * as github from '@actions/github';
33
import {
44
getTouchedSourceFilesRequireTests,
55
getTouchedTestFiles
6-
} from './fileFilters'
6+
} from './fileFilters';
77

88
function getFileExtensions(): string[] {
9-
const fileExtensionsInput = core.getInput('fileExtensions')
9+
const fileExtensionsInput = core.getInput('fileExtensions');
1010

1111
if (fileExtensionsInput === '') {
12-
return ['.php', '.ts', '.js', '.c', '.cs', '.cpp', '.rb', '.java']
12+
return ['.php', '.ts', '.js', '.c', '.cs', '.cpp', '.rb', '.java'];
1313
}
1414

15-
return fileExtensionsInput.split(',')
15+
return fileExtensionsInput.split(',');
1616
}
1717

1818
async function run(): Promise<void> {
1919
try {
20-
const {context} = github
20+
const {context} = github;
2121

2222
const config = {
2323
comment:
@@ -26,24 +26,24 @@ async function run(): Promise<void> {
2626
fileExtensions: getFileExtensions(),
2727
testDir: core.getInput('testDir') || 'tests',
2828
testPattern: core.getInput('testPattern') || ''
29-
}
29+
};
3030

3131
if (context.payload.pull_request == null) {
3232
core.debug(
3333
'This action is supposed to be run on pull_request event only.'
34-
)
34+
);
3535
}
3636

37-
const githubToken: string = core.getInput('GITHUB_TOKEN')
37+
const githubToken: string = core.getInput('GITHUB_TOKEN');
3838

39-
const octokit = github.getOctokit(githubToken)
40-
const issue = context.issue
39+
const octokit = github.getOctokit(githubToken);
40+
const issue = context.issue;
4141

42-
const pullRequestNumber = context.payload.pull_request?.number
42+
const pullRequestNumber = context.payload.pull_request?.number;
4343

4444
if (pullRequestNumber === undefined) {
45-
core.debug('Could not get pull request number from context, exiting')
46-
return
45+
core.debug('Could not get pull request number from context, exiting');
46+
return;
4747
}
4848

4949
const allFiles = await octokit.paginate(
@@ -54,27 +54,27 @@ async function run(): Promise<void> {
5454
pull_number: pullRequestNumber
5555
},
5656
res => res.data
57-
)
57+
);
5858

5959
const sourceFilesRequireTests = getTouchedSourceFilesRequireTests(
6060
allFiles,
6161
config.fileExtensions
62-
)
62+
);
6363

6464
if (sourceFilesRequireTests.length === 0) {
65-
core.debug('No source files require tests, exiting')
66-
return
65+
core.debug('No source files require tests, exiting');
66+
return;
6767
}
6868

6969
const testFiles = getTouchedTestFiles(
7070
allFiles,
7171
config.testDir,
7272
config.testPattern
73-
)
73+
);
7474

7575
if (testFiles.length !== 0) {
76-
core.debug('Test files were touched, exiting')
77-
return
76+
core.debug('Test files were touched, exiting');
77+
return;
7878
}
7979

8080
octokit.rest.pulls.createReview({
@@ -83,10 +83,10 @@ async function run(): Promise<void> {
8383
pull_number: pullRequestNumber,
8484
repo: issue.repo,
8585
owner: issue.owner
86-
})
86+
});
8787
} catch (error) {
88-
if (error instanceof Error) core.setFailed(error.message)
88+
if (error instanceof Error) core.setFailed(error.message);
8989
}
9090
}
9191

92-
run()
92+
run();

0 commit comments

Comments
 (0)