mirror of
https://github.com/IT4Change/boilerplate-backend.git
synced 2025-12-13 10:25:49 +00:00
Merge pull request #5 from IT4Change/eslint-typescript-strict
fix(backend): eslint typescript strict
This commit is contained in:
commit
73f4ab6f37
4
.eslintignore
Normal file
4
.eslintignore
Normal file
@ -0,0 +1,4 @@
|
||||
node_modules/
|
||||
build/
|
||||
coverage/
|
||||
.vuepress/
|
||||
@ -118,6 +118,28 @@
|
||||
"promise/no-multiple-resolved": "error"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["*.ts", "*.tsx"],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"tsconfigRootDir": ".",
|
||||
"project": ["./tsconfig.json", "**/tsconfig.json"],
|
||||
"ecmaVersion": "latest",
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": ["@typescript-eslint"],
|
||||
"extends": [
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
||||
"plugin:@typescript-eslint/strict"
|
||||
],
|
||||
"rules": {
|
||||
// allow explicitly defined dangling promises
|
||||
"@typescript-eslint/no-floating-promises": ["error", { "ignoreVoid": true }],
|
||||
"no-void": ["error", { "allowAsStatement": true }]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["!*.json"],
|
||||
"plugins": ["prettier"],
|
||||
|
||||
25
README.md
25
README.md
@ -76,6 +76,31 @@ The following endpoints are provided given the right command is executed or all
|
||||
| [http://localhost:4000/graphql](http://localhost:4000/graphql) | GraphQL API |
|
||||
| [http://localhost:4000/playground](http://localhost:4000/playground) | GraphQL Playground |
|
||||
|
||||
## How to use as part of a project
|
||||
|
||||
If you want to use this as part of a larger project, e.g. in conjunction with a frontend also utilizing a boilerplate you cannot use the template mechanic provided by github for this repository.
|
||||
|
||||
You can use the following commands to include the whole git history of the boilerplate and be able to update according to changes to this repo using another remote.
|
||||
|
||||
```bash
|
||||
git remote add xxx_boilerplate_backend git@github.com:IT4Change/boilerplate-backend.git
|
||||
git fetch xxx_boilerplate_backend
|
||||
git merge -s ours --no-commit --allow-unrelated-histories xxx_boilerplate_backend/master
|
||||
git read-tree --prefix=xxx/ -u xxx_boilerplate_backend/master
|
||||
git commit -m "Imported boilerplate_backend as a subtree under xxx/."
|
||||
```
|
||||
|
||||
To update the subtree you can use
|
||||
|
||||
```bash
|
||||
git subtree pull -P xxx/ xxx_boilerplate_backend master
|
||||
git commit -m "Updated boilerplate_backend in subtree under xxx/."
|
||||
```
|
||||
|
||||
Where `xxx` refers to the folder and product part you want to use the boilerplate in. This assumes that you might need several copies of the frontend boilerplate for you product.
|
||||
|
||||
This mechanic was taken from this [source](https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another/8396318#8396318)
|
||||
|
||||
## Database setup
|
||||
|
||||
The project is set up for a `sqlite` database.
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"db:reset": "TZ=UTC npx prisma migrate reset --force",
|
||||
"db:seed": "TZ=UTC npx prisma db seed",
|
||||
"test:lint": "npm run test:lint:eslint && npm run test:lint:remark",
|
||||
"test:lint:eslint": "eslint --ext .ts,.tsx,.js,.jsx,.json,.yml,.yaml --max-warnings 0 --ignore-path .gitignore .",
|
||||
"test:lint:eslint": "eslint --ext .ts,.tsx,.js,.jsx,.json,.yml,.yaml --max-warnings 0 .",
|
||||
"test:lint:remark": "remark . --quiet --frail",
|
||||
"test:unit": "TZ=UTC jest --runInBand --forceExit --detectOpenHandles",
|
||||
"test": "npm run test:lint && npm run test:unit",
|
||||
|
||||
@ -16,6 +16,6 @@ main()
|
||||
console.error(e)
|
||||
throw e
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect()
|
||||
.finally(() => {
|
||||
void prisma.$disconnect()
|
||||
})
|
||||
|
||||
@ -3,7 +3,9 @@ import { startStandaloneServer } from '@apollo/server/standalone'
|
||||
import { listen } from './server'
|
||||
|
||||
jest.mock('@apollo/server/standalone', () => {
|
||||
const originalModule = jest.requireActual('@apollo/server/standalone')
|
||||
const originalModule = jest.requireActual<typeof import('@apollo/server/standalone')>(
|
||||
'@apollo/server/standalone',
|
||||
)
|
||||
return {
|
||||
__esModule: true,
|
||||
...originalModule,
|
||||
|
||||
@ -5,5 +5,5 @@ export const deleteAll = async () => {
|
||||
}
|
||||
|
||||
export const disconnect = async () => {
|
||||
prisma.$disconnect()
|
||||
await prisma.$disconnect()
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user