Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# This is a basic workflow to help you get started with Actions

name: Build

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [main]
pull_request:
branches: [main]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
check:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run build
- run: npm run lintApi

5 changes: 3 additions & 2 deletions api/difficulty.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import axios from 'axios';
import { Handler } from '@netlify/functions';
import axios, { isAxiosError } from 'axios';

import { processResponse } from './responseModels/apiResponse';
import { parseDifficultyResponse } from './responseModels/difficultyResponse';

Expand Down Expand Up @@ -29,7 +30,7 @@ export const handler: Handler = async event => {
return processResponse(parseDifficultyResponse, response.data);
}
catch (err) {
if (!axios.isAxiosError(err)) {
if (!isAxiosError(err)) {
throw err;
}

Expand Down
7 changes: 4 additions & 3 deletions api/evaluate.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import axios from 'axios';
import { Handler } from '@netlify/functions';
import { parseEvaluateResponse } from './responseModels/evaluateResponse';
import axios, { isAxiosError } from 'axios';

import { processResponse } from './responseModels/apiResponse';
import { parseEvaluateResponse } from './responseModels/evaluateResponse';

const { SEMRUSH_API_KEY } = process.env;

Expand Down Expand Up @@ -29,7 +30,7 @@ export const handler: Handler = async event => {
return processResponse(parseEvaluateResponse, response.data);
}
catch (err) {
if (!axios.isAxiosError(err)) {
if (!isAxiosError(err)) {
throw err;
}

Expand Down
5 changes: 3 additions & 2 deletions api/fullsearch.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import axios from 'axios';
import { Handler } from '@netlify/functions';
import axios, { isAxiosError } from 'axios';

import { processResponse } from './responseModels/apiResponse';
import { parseFullSearchResponse } from './responseModels/fullSearchResponse';

Expand Down Expand Up @@ -31,7 +32,7 @@ export const handler: Handler = async event => {
}
catch (err) {
console.log('err: ', err);
if (!axios.isAxiosError(err)) {
if (!isAxiosError(err)) {
throw err;
}

Expand Down
5 changes: 3 additions & 2 deletions api/related.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import axios from 'axios';
import { Handler } from '@netlify/functions';
import axios, { isAxiosError } from 'axios';

import { processResponse } from './responseModels/apiResponse';
import { parseRelatedResponse } from './responseModels/relatedResponse';

Expand Down Expand Up @@ -30,7 +31,7 @@ export const handler: Handler = async event => {
return processResponse(parseRelatedResponse, response.data);
}
catch (err) {
if (!axios.isAxiosError(err)) {
if (!isAxiosError(err)) {
throw err;
}

Expand Down
5 changes: 3 additions & 2 deletions api/responseModels/apiResponse.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { isParseError, not, ParseResult } from './parseUtils';
import { errorMessageMap } from './errorMessageMap';
import { Response } from '@netlify/functions/dist/function/response';

import { errorMessageMap } from './errorMessageMap';
import { isParseError, not, ParseResult } from './parseUtils';

export type ApiResponse<Result extends AnyReadonlyRecord> = Readonly<{
schema: Schema<Result>;
results: ReadonlyArray<Result>;
Expand Down
2 changes: 1 addition & 1 deletion api/responseModels/difficultyResponse.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ParseResult } from './parseUtils';
import { ApiResponse, createParseResponse } from './apiResponse';
import { ParseResult } from './parseUtils';

export type DifficultyResponse = ApiResponse<DifficultyResult>;

Expand Down
2 changes: 1 addition & 1 deletion api/responseModels/evaluateResponse.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ParseResult } from './parseUtils';
import { ApiResponse, createParseResponse } from './apiResponse';
import { ParseResult } from './parseUtils';

export type EvaluateResponse = ApiResponse<EvaluateResult>;

Expand Down
Loading