Skip to content

Commit 1dd513f

Browse files
committed
eslinted code
1 parent 32d15f7 commit 1dd513f

7 files changed

Lines changed: 47 additions & 87 deletions

File tree

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module.exports = {
66
},
77
extends: [
88
'plugin:@typescript-eslint/recommended', // Uses the recommended rules from the @typescript-eslint/eslint-plugin
9-
"plugin:prettier/recommended"
9+
'plugin:prettier/recommended',
1010
],
1111
rules: {
1212
// Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs

index.ts

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,24 @@
11
import { getGithubUsersFromGoogle } from './src/google'
2-
import {
3-
getGithubUsersFromGithub,
4-
addUsersToGitHubOrg,
5-
removeUsersToGitHubOrg
6-
} from './src/github'
2+
import { getGithubUsersFromGithub, addUsersToGitHubOrg, removeUsersToGitHubOrg } from './src/github'
73

8-
export async function run () {
4+
export async function run() {
95
const googleUsers = await getGithubUsersFromGoogle()
106
console.log(`Users from google: ${Array.from(googleUsers).join(', ')}`)
117

128
const gitHubUsers = await getGithubUsersFromGithub()
139
console.log(`Users from github: ${Array.from(gitHubUsers).join(', ')}`)
1410

15-
const usersNotInGithub = new Set(
16-
Array.from(googleUsers).filter(x => !gitHubUsers.has(x))
17-
)
11+
const usersNotInGithub = new Set(Array.from(googleUsers).filter((x) => !gitHubUsers.has(x)))
1812

19-
const usersNotInGoogle = new Set(
20-
Array.from(gitHubUsers).filter(x => !googleUsers.has(x))
21-
)
13+
const usersNotInGoogle = new Set(Array.from(gitHubUsers).filter((x) => !googleUsers.has(x)))
2214
if (usersNotInGithub.size > 0) {
23-
console.log(
24-
`Users not in github: ${Array.from(usersNotInGithub).join(', ')}`
25-
)
26-
if (process.env.ADD_USERS.toLowerCase() === 'true')
27-
await addUsersToGitHubOrg(usersNotInGithub)
15+
console.log(`Users not in github: ${Array.from(usersNotInGithub).join(', ')}`)
16+
if (process.env.ADD_USERS.toLowerCase() === 'true') await addUsersToGitHubOrg(usersNotInGithub)
2817
}
2918

3019
if (usersNotInGoogle.size > 0) {
31-
console.log(
32-
`Users not in google: ${Array.from(usersNotInGoogle).join(', ')}`
33-
)
34-
if (process.env.REMOVE_USERS.toLowerCase() === 'true')
35-
await removeUsersToGitHubOrg(usersNotInGoogle)
20+
console.log(`Users not in google: ${Array.from(usersNotInGoogle).join(', ')}`)
21+
if (process.env.REMOVE_USERS.toLowerCase() === 'true') await removeUsersToGitHubOrg(usersNotInGoogle)
3622
}
3723

3824
if (usersNotInGoogle.size > 0 || usersNotInGithub.size > 0)

jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module.exports = {
44
},
55
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
66
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
7-
testEnvironment: "node",
7+
testEnvironment: 'node',
88
coverageReporters: ['lcovonly', 'text'],
99
collectCoverage: true,
1010
coverageDirectory: 'coverage',

src/github.ts

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,50 +4,40 @@ const ignoredUsers = process.env.IGNORED_USERS.toLowerCase().split(',')
44

55
const octokit = getAuthenticatedOctokit()
66

7-
export function getAuthenticatedOctokit () {
7+
export function getAuthenticatedOctokit() {
88
return new Octokit({
99
authStrategy: createAppAuth,
1010
auth: {
1111
appId: process.env.GITHUB_APP_ID,
12-
privateKey: Buffer.from(
13-
process.env.GITHUB_PRIVATE_KEY,
14-
'base64'
15-
).toString('utf-8'),
16-
installationId: process.env.GITHUB_INSTALLATION_ID
17-
}
12+
privateKey: Buffer.from(process.env.GITHUB_PRIVATE_KEY, 'base64').toString('utf-8'),
13+
installationId: process.env.GITHUB_INSTALLATION_ID,
14+
},
1815
})
1916
}
2017

21-
export async function getGithubUsersFromGithub () {
18+
export async function getGithubUsersFromGithub() {
2219
const members = await octokit.paginate(octokit.orgs.listMembers, {
23-
org: process.env.GITHUB_ORG
20+
org: process.env.GITHUB_ORG,
2421
})
2522

26-
const pendingInvites = await octokit.paginate(
27-
octokit.orgs.listPendingInvitations,
28-
{
29-
org: process.env.GITHUB_ORG
30-
}
31-
)
23+
const pendingInvites = await octokit.paginate(octokit.orgs.listPendingInvitations, {
24+
org: process.env.GITHUB_ORG,
25+
})
3226
const pendingGithubAccounts = formatUserList(pendingInvites)
3327

3428
const githubAccounts = formatUserList(members)
3529

3630
if (pendingGithubAccounts.size > 0)
37-
console.log(
38-
`Outstanding GitHub invites for ${Array.from(pendingGithubAccounts).join(
39-
', '
40-
)}`
41-
)
31+
console.log(`Outstanding GitHub invites for ${Array.from(pendingGithubAccounts).join(', ')}`)
4232

4333
return new Set([...githubAccounts, ...pendingGithubAccounts])
4434
}
4535

46-
export function formatUserList (users): Set<string> {
47-
return new Set(users.map(user => user.login.toLowerCase()))
36+
export function formatUserList(users): Set<string> {
37+
return new Set(users.map((user) => user.login.toLowerCase()))
4838
}
4939

50-
export async function getUserIdFromUsername (username: string) {
40+
export async function getUserIdFromUsername(username: string) {
5141
console.log(`Looking up user ${username}`)
5242
let user
5343
try {
@@ -59,13 +49,13 @@ export async function getUserIdFromUsername (username: string) {
5949
return user.data.id
6050
}
6151

62-
export async function addUsersToGitHubOrg (users: Set<string>) {
52+
export async function addUsersToGitHubOrg(users: Set<string>) {
6353
for (const user of users) {
6454
await addUserToGitHubOrg(user)
6555
}
6656
}
6757

68-
export async function addUserToGitHubOrg (user: string) {
58+
export async function addUserToGitHubOrg(user: string) {
6959
if (ignoredUsers.includes(user.toLowerCase())) {
7060
console.log(`Ignoring add for ${user}`)
7161
return false
@@ -74,27 +64,25 @@ export async function addUserToGitHubOrg (user: string) {
7464
console.log(`Inviting ${user} (${userId} to ${process.env.GITHUB_ORG})`)
7565
await octokit.orgs.createInvitation({
7666
org: process.env.GITHUB_ORG,
77-
invitee_id: userId
67+
invitee_id: userId,
7868
})
79-
console.log(
80-
`Invitation sent to ${user} (${userId} to ${process.env.GITHUB_ORG})`
81-
)
69+
console.log(`Invitation sent to ${user} (${userId} to ${process.env.GITHUB_ORG})`)
8270
}
8371

84-
export async function removeUsersToGitHubOrg (users: Set<string>) {
72+
export async function removeUsersToGitHubOrg(users: Set<string>) {
8573
for (const user of users) {
8674
await removeUserToGitHubOrg(user)
8775
}
8876
}
8977

90-
export async function removeUserToGitHubOrg (user: string) {
78+
export async function removeUserToGitHubOrg(user: string) {
9179
if (ignoredUsers.includes(user.toLowerCase())) {
9280
console.log(`Ignoring remove for ${user}`)
9381
return false
9482
}
9583
console.log(`Removing user/invitation ${user} from ${process.env.GITHUB_ORG}`)
9684
return octokit.orgs.removeMembershipForUser({
9785
org: process.env.GITHUB_ORG,
98-
username: user
86+
username: user,
9987
})
10088
}

src/google.ts

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,27 @@
11
const { google } = require('googleapis')
22

3-
const privatekey = JSON.parse(
4-
Buffer.from(process.env.GOOGLE_CREDENTIALS, 'base64').toString('utf-8')
5-
)
3+
const privatekey = JSON.parse(Buffer.from(process.env.GOOGLE_CREDENTIALS, 'base64').toString('utf-8'))
64

75
export const googleAuth = async () => {
86
const jwtClient = new google.auth.JWT(
97
privatekey.client_email,
108
null,
119
privatekey.private_key,
1210
['https://www.googleapis.com/auth/admin.directory.user.readonly'],
13-
process.env.GOOGLE_EMAIL_ADDRESS
11+
process.env.GOOGLE_EMAIL_ADDRESS,
1412
)
1513
await jwtClient.authorize()
1614
return jwtClient
1715
}
1816

19-
export async function getAdminService () {
17+
export async function getAdminService() {
2018
return google.admin({
2119
version: 'directory_v1',
22-
auth: await googleAuth()
20+
auth: await googleAuth(),
2321
})
2422
}
2523

26-
export async function getGithubUsersFromGoogle () {
24+
export async function getGithubUsersFromGoogle() {
2725
const service = await getAdminService()
2826

2927
const userList: {
@@ -33,7 +31,7 @@ export async function getGithubUsersFromGoogle () {
3331
maxResults: 250,
3432
projection: 'custom',
3533
fields: 'users(customSchemas/Accounts/github(value))',
36-
customFieldMask: 'Accounts'
34+
customFieldMask: 'Accounts',
3735
})
3836

3937
const githubAccounts = formatUserList(userList.data.users)
@@ -44,15 +42,11 @@ interface userResponseEntry {
4442
customSchemas: { Accounts: { github: Array<{ value: string }> } }
4543
}
4644

47-
export function formatUserList (users: Array<userResponseEntry>): Set<string> {
45+
export function formatUserList(users: Array<userResponseEntry>): Set<string> {
4846
return new Set(
4947
users
50-
.map(user =>
51-
user?.customSchemas?.Accounts?.github.map(account =>
52-
account.value.toLowerCase()
53-
)
54-
)
48+
.map((user) => user?.customSchemas?.Accounts?.github.map((account) => account.value.toLowerCase()))
5549
.flat()
56-
.filter(Boolean)
50+
.filter(Boolean),
5751
)
5852
}

tests/github.spec.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,8 @@ describe('github integration', () => {
99
it.todo('removeUserToGitHubOrg')
1010

1111
it('formatUserList', () => {
12-
const response = [
13-
{ login: 'chrisns' },
14-
{ login: 'chrisns' },
15-
{ login: 'foo' }
16-
]
12+
const response = [{ login: 'chrisns' }, { login: 'chrisns' }, { login: 'foo' }]
1713

18-
return expect(mod.formatUserList(response)).toEqual(
19-
new Set(['chrisns', 'foo'])
20-
)
14+
return expect(mod.formatUserList(response)).toEqual(new Set(['chrisns', 'foo']))
2115
})
2216
})

tests/google.spec.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,15 @@ describe('google integration', () => {
1414
{ customSchemas: { Accounts: { github: [{ value: 'chrisns' }] } } },
1515
{
1616
customSchemas: {
17-
Accounts: { github: [{ value: 'Foo' }, , { value: 'tar' }] }
18-
}
17+
Accounts: { github: [{ value: 'Foo' }, , { value: 'tar' }] },
18+
},
1919
},
2020
{
2121
customSchemas: {
22-
Accounts: { github: [{ value: 'foo' }, { value: 'bar' }] }
23-
}
24-
}
22+
Accounts: { github: [{ value: 'foo' }, { value: 'bar' }] },
23+
},
24+
},
2525
]
26-
return expect(mod.formatUserList(response)).toEqual(
27-
new Set(['chrisns', 'foo', 'bar', 'tar'])
28-
)
26+
return expect(mod.formatUserList(response)).toEqual(new Set(['chrisns', 'foo', 'bar', 'tar']))
2927
})
3028
})

0 commit comments

Comments
 (0)