1
0
mirror of https://github.com/uetchy/namae.git synced 2025-03-16 12:10:32 +09:00
This commit is contained in:
uetchy 2020-07-19 13:39:15 +09:00
parent 536821d055
commit 96c2c70e28
Signed by: uetchy
GPG Key ID: 72A3B30FCD0AA810
8 changed files with 37 additions and 41 deletions

View File

@ -1,8 +1,5 @@
{
"jsxBracketSameLine": true,
"semi": true,
"singleQuote": true,
"trailingComma": "all",
"arrowParens": "always",
"bracketSpacing": true
"arrowParens": "always"
}

View File

@ -1,6 +1,5 @@
/build
/tests
/.dependabot
/.envrc
/.env
/.github

View File

@ -1,11 +1,11 @@
import {send, sendError, fetch} from '../../../util/http';
import {NowRequest, NowResponse} from '@vercel/node';
import { NowRequest, NowResponse } from '@vercel/node';
import { fetch, send, sendError } from '../../../util/http';
export default async function handler(
req: NowRequest,
res: NowResponse,
): Promise<void> {
const {query} = req.query;
const { query } = req.query;
if (!query || typeof query !== 'string') {
return sendError(res, new Error('No query given'));
@ -21,7 +21,7 @@ export default async function handler(
'GET',
).then((res) => res.json());
const availability = response.valid;
send(res, {availability});
send(res, { availability });
} catch (err) {
sendError(res, err);
}

View File

@ -60,7 +60,6 @@
"mutationobserver-shim": "^0.3.5",
"nock": "^12.0.3",
"prettier": "^2.0.5",
"prettier-plugin-organize-imports": "^1.1.1",
"pretty-quick": "^2.0.1",
"ts-jest": "26.1.0",
"typescript": "^3.9.5"

View File

@ -4,7 +4,7 @@ import 'rc-tooltip/assets/bootstrap.css';
import React from 'react';
import ReactDOM from 'react-dom';
import { Router } from 'react-router-dom';
import { toast, ToastContainer } from 'react-toastify';
import { ToastContainer } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
@ -36,21 +36,23 @@ ReactDOM.render(
document.getElementById('root'),
);
serviceWorker.register({
onUpdate: (registration) => {
console.log('Update available');
serviceWorker.unregister();
// TODO: gracefully update service worker
// serviceWorker.register({
// onUpdate: (registration) => {
// console.log('Update available');
toast.dark('New version available! Click here to update.', {
onClose: () => {
window.location.reload();
},
position: 'top-right',
autoClose: false,
closeButton: false,
closeOnClick: true,
});
if (registration && registration.waiting) {
registration.waiting.postMessage({ type: 'SKIP_WAITING' });
}
},
});
// toast.dark('New version available! Click here to update.', {
// onClose: () => {
// window.location.reload();
// },
// position: 'top-right',
// autoClose: false,
// closeButton: false,
// closeOnClick: true,
// });
// if (registration && registration.waiting) {
// registration.waiting.postMessage({ type: 'SKIP_WAITING' });
// }
// },
// });

View File

@ -1,5 +1,5 @@
import {History} from 'history';
import {action, createTypedHooks, Action, createStore} from 'easy-peasy';
import { action, Action, createStore, createTypedHooks } from 'easy-peasy';
import { History } from 'history';
interface StatsModel {
availableCount: number;

View File

@ -1,22 +1,21 @@
import nock from 'nock';
import {mockProvider} from '../util/testHelpers';
import provider from '../api/services/existence/[query]';
import { mockProvider } from '../util/testHelpers';
test('return false if name is taken', async () => {
const result = await mockProvider(provider, {query: 'github.com/uetchy'});
expect(result).toStrictEqual({availability: false});
const result = await mockProvider(provider, { query: 'github.com/uetchy' });
expect(result).toStrictEqual({ availability: false });
});
test('return true if name is not taken', async () => {
const result = await mockProvider(provider, {
query: 'github.com/uetchyasdf',
});
expect(result).toStrictEqual({availability: true});
expect(result).toStrictEqual({ availability: true });
});
beforeEach(() => {
nock('https://github.com:443', {encodedQueryParams: true})
nock('https://github.com:443', { encodedQueryParams: true })
.head('/uetchyasdf')
.reply(404, [], {
Date: 'Wed, 14 Aug 2019 10:52:54 GMT',
@ -46,7 +45,7 @@ beforeEach(() => {
'Content-Encoding': 'gzip',
'X-GitHub-Request-Id': 'BA06:51D6:125A0F:1A9B4A:5D53E806',
});
nock('https://github.com:443', {encodedQueryParams: true})
nock('https://github.com:443', { encodedQueryParams: true })
.head('/uetchy')
.reply(200, [], {
Date: 'Wed, 14 Aug 2019 10:43:09 GMT',

View File

@ -1,5 +1,5 @@
import nodeFetch, {Response} from 'node-fetch';
import {NowResponse} from '@vercel/node';
import { NowResponse } from '@vercel/node';
import nodeFetch, { Response } from 'node-fetch';
export type HttpMethod =
| 'GET'
@ -15,7 +15,7 @@ export function fetch(
url: string,
method: HttpMethod = 'HEAD',
): Promise<Response> {
return nodeFetch(url, {method: method});
return nodeFetch(url, { method: method });
}
export function send(res: NowResponse, data: object): void {
@ -24,5 +24,5 @@ export function send(res: NowResponse, data: object): void {
}
export function sendError(res: NowResponse, error: Error): void {
res.status(400).json({error: error.message});
res.status(400).json({ error: error.message });
}