From ed3ef6fc2184c4deab848460c20de71ca4902d05 Mon Sep 17 00:00:00 2001 From: Abel Luck Date: Mon, 13 Mar 2023 10:29:40 +0000 Subject: [PATCH] metamigo-api: use in-tree dev configs --- apps/metamigo-api/.eslintrc.js | 27 ++++++++++++++++++++++++++- apps/metamigo-api/babel.config.json | 5 ++--- apps/metamigo-api/jest.config.json | 4 ++++ apps/metamigo-api/package.json | 20 +++++++++----------- package-lock.json | 20 ++++++++------------ 5 files changed, 49 insertions(+), 27 deletions(-) create mode 100644 apps/metamigo-api/jest.config.json diff --git a/apps/metamigo-api/.eslintrc.js b/apps/metamigo-api/.eslintrc.js index d8da07c..72edea5 100644 --- a/apps/metamigo-api/.eslintrc.js +++ b/apps/metamigo-api/.eslintrc.js @@ -1 +1,26 @@ -require("../.eslintrc.js"); +require("eslint-config-link/patch/modern-module-resolution"); +module.exports = { + extends: [ + "eslint-config-link/profile/node", + "eslint-config-link/eslint-config-amigo/profile/typescript", + "eslint-config-link/eslint-config-amigo/profile/jest", + ], + parserOptions: { tsconfigRootDir: __dirname }, + rules: { + "new-cap": "off", + "import/no-extraneous-dependencies": [ + // enable this when this is fixed + // https://github.com/benmosher/eslint-plugin-import/pull/1696 + "off", + { + packageDir: [ + ".", + "node_modules/@digiresilience/amigo", + "node_modules/@digiresilience/amigo-dev", + ], + }, + ], + // TODO: enable this after jest fixes this issue https://github.com/nodejs/node/issues/38343 + "unicorn/prefer-node-protocol": "off" + }, +}; \ No newline at end of file diff --git a/apps/metamigo-api/babel.config.json b/apps/metamigo-api/babel.config.json index c0993b5..5fd8016 100644 --- a/apps/metamigo-api/babel.config.json +++ b/apps/metamigo-api/babel.config.json @@ -1,6 +1,5 @@ { "presets": [ - "@babel/preset-env", - "@babel/preset-typescript" + "babel-preset-link" ] -} +} \ No newline at end of file diff --git a/apps/metamigo-api/jest.config.json b/apps/metamigo-api/jest.config.json new file mode 100644 index 0000000..bd6efbc --- /dev/null +++ b/apps/metamigo-api/jest.config.json @@ -0,0 +1,4 @@ +{ + "preset": "jest-config-link", + "setupFiles": ["/src/setup.test.ts"] +} \ No newline at end of file diff --git a/apps/metamigo-api/package.json b/apps/metamigo-api/package.json index afb03a1..3855b00 100644 --- a/apps/metamigo-api/package.json +++ b/apps/metamigo-api/package.json @@ -37,13 +37,7 @@ "twilio": "^3.84.1" }, "devDependencies": { - "@babel/core": "7.20.12", - "@babel/preset-env": "7.20.2", - "@babel/preset-typescript": "7.18.6", - "@types/jest": "^29.2.5", - "eslint": "^8.32.0", "pino-pretty": "^9.1.1", - "prettier": "^2.8.3", "ts-node": "^10.9.1", "typescript": "4.9.4", "@types/hapi__wreck": "^17.0.1", @@ -52,7 +46,11 @@ "@types/node": "*", "camelcase-keys": "^8.0.2", "pg-monitor": "^2.0.0", - "typedoc": "^0.23.24" + "typedoc": "^0.23.24", + "tsconfig-link": "*", + "eslint-config-link": "*", + "jest-config-link": "*", + "babel-preset-link": "*" }, "nodemonConfig": { "ignore": [ @@ -62,16 +60,16 @@ }, "scripts": { "build": "tsc -p tsconfig.json", + "test": "JEST_CIRCUS=1 jest --coverage --forceExit --detectOpenHandles --reporters=default --reporters=jest-junit", + "fmt": "prettier \"src/**/*.ts\" --write", + "lint": "eslint src --ext .ts", + "lint-fmt": "prettier \"src/**/*.ts\" --list-different", "fix:lint": "eslint src --ext .ts --fix", - "fix:prettier": "prettier \"src/**/*.ts\" --write", "cli": "NODE_ENV=development nodemon --unhandled-rejections=strict build/main/cli/index.js", "serve": "NODE_ENV=development npm run cli server", "serve:prod": "NODE_ENV=production npm run cli server", "worker": "NODE_ENV=development npm run cli worker", "worker:prod": "NODE_ENV=production npm run cli worker", - "lint:lint": "eslint src --ext .ts", - "lint:prettier": "prettier \"src/**/*.ts\" --list-different", - "lint": "npm run lint:lint && npm run lint:prettier", "watch:build": "tsc -p tsconfig.json -w" } } diff --git a/package-lock.json b/package-lock.json index 696eef1..7820f13 100644 --- a/package-lock.json +++ b/package-lock.json @@ -664,20 +664,18 @@ "twilio": "^3.84.1" }, "devDependencies": { - "@babel/core": "7.20.12", - "@babel/preset-env": "7.20.2", - "@babel/preset-typescript": "7.18.6", "@types/hapi__wreck": "^17.0.1", - "@types/jest": "^29.2.5", "@types/long": "^4.0.2", "@types/node": "*", + "babel-preset-link": "*", "camelcase-keys": "^8.0.2", - "eslint": "^8.32.0", + "eslint-config-link": "*", + "jest-config-link": "*", "nodemon": "^2.0.20", "pg-monitor": "^2.0.0", "pino-pretty": "^9.1.1", - "prettier": "^2.8.3", "ts-node": "^10.9.1", + "tsconfig-link": "*", "typedoc": "^0.23.24", "typescript": "4.9.4" } @@ -40112,9 +40110,6 @@ "requires": { "@adiwajshing/baileys": "5.0.0", "@adiwajshing/keyed-db": "0.2.4", - "@babel/core": "7.20.12", - "@babel/preset-env": "7.20.2", - "@babel/preset-typescript": "7.18.6", "@digiresilience/hapi-nextauth": "1.0.0", "@digiresilience/hapi-pg-promise": "", "@digiresilience/montar": "0.1.7", @@ -40126,18 +40121,19 @@ "@hapipal/schmervice": "^2.1.0", "@hapipal/toys": "^3.2.0", "@types/hapi__wreck": "^17.0.1", - "@types/jest": "^29.2.5", "@types/long": "^4.0.2", "@types/node": "*", + "babel-preset-link": "*", "blipp": "^4.0.2", "camelcase-keys": "^8.0.2", - "eslint": "^8.32.0", + "eslint-config-link": "*", "fluent-ffmpeg": "^2.1.2", "graphile-migrate": "^1.4.1", "graphile-worker": "^0.13.0", "hapi-auth-jwt2": "^10.4.0", "hapi-postgraphile": "^0.11.0", "hapi-swagger": "^15.0.0", + "jest-config-link": "*", "joi": "^17.7.0", "jsonwebtoken": "^9.0.0", "jwks-rsa": "^3.0.1", @@ -40148,9 +40144,9 @@ "pg-promise": "^11.0.2", "pino-pretty": "^9.1.1", "postgraphile-plugin-connection-filter": "^2.3.0", - "prettier": "^2.8.3", "remeda": "^1.6.0", "ts-node": "^10.9.1", + "tsconfig-link": "*", "twilio": "^3.84.1", "typedoc": "^0.23.24", "typescript": "4.9.4"