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"
|
"promise/no-multiple-resolved": "error"
|
||||||
},
|
},
|
||||||
"overrides": [
|
"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"],
|
"files": ["!*.json"],
|
||||||
"plugins": ["prettier"],
|
"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/graphql](http://localhost:4000/graphql) | GraphQL API |
|
||||||
| [http://localhost:4000/playground](http://localhost:4000/playground) | GraphQL Playground |
|
| [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
|
## Database setup
|
||||||
|
|
||||||
The project is set up for a `sqlite` database.
|
The project is set up for a `sqlite` database.
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
"db:reset": "TZ=UTC npx prisma migrate reset --force",
|
"db:reset": "TZ=UTC npx prisma migrate reset --force",
|
||||||
"db:seed": "TZ=UTC npx prisma db seed",
|
"db:seed": "TZ=UTC npx prisma db seed",
|
||||||
"test:lint": "npm run test:lint:eslint && npm run test:lint:remark",
|
"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:lint:remark": "remark . --quiet --frail",
|
||||||
"test:unit": "TZ=UTC jest --runInBand --forceExit --detectOpenHandles",
|
"test:unit": "TZ=UTC jest --runInBand --forceExit --detectOpenHandles",
|
||||||
"test": "npm run test:lint && npm run test:unit",
|
"test": "npm run test:lint && npm run test:unit",
|
||||||
|
|||||||
@ -16,6 +16,6 @@ main()
|
|||||||
console.error(e)
|
console.error(e)
|
||||||
throw e
|
throw e
|
||||||
})
|
})
|
||||||
.finally(async () => {
|
.finally(() => {
|
||||||
await prisma.$disconnect()
|
void prisma.$disconnect()
|
||||||
})
|
})
|
||||||
|
|||||||
@ -3,7 +3,9 @@ import { startStandaloneServer } from '@apollo/server/standalone'
|
|||||||
import { listen } from './server'
|
import { listen } from './server'
|
||||||
|
|
||||||
jest.mock('@apollo/server/standalone', () => {
|
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 {
|
return {
|
||||||
__esModule: true,
|
__esModule: true,
|
||||||
...originalModule,
|
...originalModule,
|
||||||
|
|||||||
@ -5,5 +5,5 @@ export const deleteAll = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const disconnect = async () => {
|
export const disconnect = async () => {
|
||||||
prisma.$disconnect()
|
await prisma.$disconnect()
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user