diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml new file mode 100644 index 0000000..6f99139 --- /dev/null +++ b/.github/workflows/ci-cd.yml @@ -0,0 +1,27 @@ +--- +name: "CI/CD: Continuous integration and continuous deployment" +on: [pull_request] +permissions: + contents: read + +jobs: + build-check: + name: 'Build & check format' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Node + uses: actions/setup-node@v4 + with: + node-version: "lts/*" + cache: "npm" + + - name: Install NPM dependencies + run: yarn install --frozen-lockfile + + - name: Check code formatting + run: npm run format:check + + diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..385644c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +node_modules +dist +build +coverage \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index 6b6f44e..3658bf1 100644 --- a/.prettierrc +++ b/.prettierrc @@ -6,4 +6,4 @@ "bracketSpacing": true, "trailingComma": "es5", "tabWidth": 2 -} +} \ No newline at end of file diff --git a/package.json b/package.json index 734a59f..9d0f583 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "codestyle": "prettier \"src/**/*.{ts,js,json}\" --write", "test": "node scripts/test.js", "test:ci": "CI=true node scripts/test.js", - "test:staged": "CI=true node scripts/test.js --bail --findRelatedTests" + "test:staged": "CI=true node scripts/test.js --bail --findRelatedTests", + "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"", + "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"" }, "lint-staged": { "*.{ts,js}": [ @@ -98,7 +100,7 @@ "jest-resolve": "^24.5.0", "lint-staged": "^9.0.0", "nodemon": "^1.18.10", - "prettier": "^2.3.0", + "prettier": "^2.8.8", "ts-jest": "^24.1.0", "ts-node-dev": "^1.1.6", "tslint": "^6.1.3", @@ -109,6 +111,7 @@ "underscore": "^1.12.1", "minimist": "^1.2.6", "json-schema": "^0.4.0", - "@babel/traverse": "^7.23.2" + "@babel/traverse": "^7.23.2", + "form-data": "^4.0.1" } } diff --git a/src/types/generated/resolver-types.ts b/src/types/generated/resolver-types.ts index 5ca5c03..5a5a055 100644 --- a/src/types/generated/resolver-types.ts +++ b/src/types/generated/resolver-types.ts @@ -1,8 +1,9 @@ import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql' export type Maybe = T | null export type Omit = Pick> -export type RequireFields = { [X in Exclude]?: T[X] } & - { [P in K]-?: NonNullable } +export type RequireFields = { [X in Exclude]?: T[X] } & { + [P in K]-?: NonNullable +} /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string diff --git a/yarn.lock b/yarn.lock index 1bda327..1210f6e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8783,10 +8783,10 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= -prettier@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18" - integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== +prettier@^2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== pretty-format@^24.9.0: version "24.9.0"