Skip to content

Commit 11c6ebc

Browse files
ESLint の定義を更新する #32
1 parent a8f549f commit 11c6ebc

File tree

4 files changed

+84
-17
lines changed

4 files changed

+84
-17
lines changed

.eslintrc.cjs

Lines changed: 72 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,82 @@ module.exports = {
66
ignorePatterns: ['*.cjs'],
77
overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
88
settings: {
9-
'svelte3/typescript': () => require('typescript')
9+
'svelte3/typescript': () => require('typescript'),
1010
},
1111
parserOptions: {
1212
sourceType: 'module',
13-
ecmaVersion: 2020
13+
ecmaVersion: 2020,
1414
},
1515
env: {
1616
browser: true,
1717
es2017: true,
18-
node: true
19-
}
20-
};
18+
node: true,
19+
},
20+
rules: {
21+
'@typescript-eslint/explicit-member-accessibility': ['error'],
22+
'@typescript-eslint/explicit-function-return-type': ['warn'],
23+
'@typescript-eslint/naming-convention': [
24+
'error',
25+
{
26+
selector: 'typeParameter',
27+
format: ['UPPER_CASE'],
28+
},
29+
{
30+
selector: ['class', 'interface', 'typeAlias'],
31+
format: ['PascalCase'],
32+
},
33+
{
34+
selector: ['method', 'function'],
35+
modifiers: ['private'],
36+
format: ['camelCase'],
37+
leadingUnderscore: 'require',
38+
},
39+
{
40+
selector: ['method', 'function'],
41+
modifiers: ['protected'],
42+
format: ['camelCase'],
43+
leadingUnderscore: 'require',
44+
},
45+
{
46+
selector: ['method', 'function'],
47+
format: ['camelCase', 'UPPER_CASE'],
48+
},
49+
{
50+
selector: [
51+
'property',
52+
'accessor',
53+
'parameter',
54+
'parameterProperty',
55+
'variable',
56+
'enumMember',
57+
],
58+
modifiers: ['private'],
59+
format: ['snake_case'],
60+
leadingUnderscore: 'require',
61+
},
62+
{
63+
selector: [
64+
'property',
65+
'accessor',
66+
'parameter',
67+
'parameterProperty',
68+
'variable',
69+
'enumMember',
70+
],
71+
modifiers: ['protected'],
72+
format: ['snake_case'],
73+
leadingUnderscore: 'require',
74+
},
75+
{
76+
selector: ['accessor', 'parameter', 'parameterProperty', 'enumMember'],
77+
format: ['snake_case'],
78+
},
79+
{
80+
selector: ['property', 'variable'],
81+
format: ['snake_case', 'UPPER_CASE', 'camelCase'],
82+
},
83+
// TODO: 引数、関数、クラス、インターフェイス、enumのメンバー名のルール
84+
],
85+
},
86+
}
87+

src/lib/cookies_manager.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import type { Cookies } from "@sveltejs/kit";
22

33
export class CookiesManager {
4-
constructor(private readonly _cookies: Cookies) {}
4+
public constructor(private readonly _cookies: Cookies) {}
55

6-
setSessionId(session_id: string) {
6+
public setSessionId(session_id: string): void {
77
this._cookies.set('session_id', session_id, {
88
path: '/',
99
maxAge: 60 * 60 * 24 * 30,

src/lib/nodemailer_manager.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import * as nodemailer from 'nodemailer';
33
export class NodemailerManager {
44
private readonly _transporter: nodemailer.Transporter
55

6-
constructor() {
6+
public constructor() {
77
this._transporter = nodemailer.createTransport({
88
service: 'gmail',
99
port: 465,
@@ -15,7 +15,7 @@ export class NodemailerManager {
1515
})
1616
}
1717

18-
async sendMail(to: string, subject: string, text: string) {
18+
public async sendMail(to: string, subject: string, text: string): Promise<unknown> {
1919
const from = process.env.GMAIL_USER
2020

2121
return await this._transporter.sendMail({ from, to, subject, text })

src/routes/pin_code/+page.server.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { db } from '$lib/database'
33
import { NodemailerManager as NodeMailerManager } from '$lib/nodemailer_manager'
44
import type { PageServerLoad } from '.svelte-kit/types/src/routes/$types'
55
import type { User } from '@prisma/client'
6-
import { invalid, redirect, type Actions } from '@sveltejs/kit'
6+
import { invalid, redirect, type Action, type Actions } from '@sveltejs/kit'
77

88
enum Roles {
99
admin = 'admin',
@@ -19,7 +19,7 @@ export const load: PageServerLoad = async ({ locals, url, request }) => {
1919
if (request.method != 'POST') redirect(302, '/')
2020
}
2121

22-
function createPinCode(length = 6) {
22+
function createPinCode(length = 6): string {
2323
const pin_code_chars = '0123456789'
2424

2525
let pin_code = ''
@@ -31,7 +31,7 @@ function createPinCode(length = 6) {
3131
return pin_code
3232
}
3333

34-
async function sendMail(user: User, pin_code: string) {
34+
async function sendMail(user: User, pin_code: string): Promise<void> {
3535
const nodeMailerManager = new NodeMailerManager()
3636

3737
try {
@@ -45,11 +45,11 @@ async function sendMail(user: User, pin_code: string) {
4545
}
4646
}
4747

48-
async function findUser(email: string, canRegister = true) {
48+
async function findUser(email: string, can_register = true): Promise<User | undefined> {
4949
const user = await db.user.findUnique({ where: { email } })
5050

5151
if (user) return user;
52-
if (!canRegister) return undefined;
52+
if (!can_register) return undefined;
5353

5454
try {
5555
return await db.user.create({
@@ -64,13 +64,13 @@ async function findUser(email: string, canRegister = true) {
6464
}
6565
}
6666

67-
async function login(request: Request, canRegister = true) {
67+
async function login(request: Request, can_register = true): Promise<Action> {
6868
const data = await request.formData()
6969
const email = data.get('email')?.toString() ?? ''
7070

7171
if (!email) throw redirect(302, '/')
7272

73-
const user = await findUser(email, canRegister)
73+
const user = await findUser(email, can_register)
7474

7575
if (!user) return { success: true, email, missing: false, credentials: false }
7676

@@ -80,7 +80,7 @@ async function login(request: Request, canRegister = true) {
8080

8181
const user_id = user.id
8282

83-
await db.authPin.upsert({
83+
const a = await db.authPin.upsert({
8484
where: { user_id },
8585
update: { pin_code },
8686
create: { user_id, pin_code },

0 commit comments

Comments
 (0)