From 3ca46d7c4427ad584bde7f7852f7554a810bd999 Mon Sep 17 00:00:00 2001 From: lgandecki Date: Mon, 7 Aug 2023 09:22:50 +0200 Subject: [PATCH] feat: a few more updates to the scaffold, eslint, jest, tsconfig. Ignore a stupid import breaking typesript check in the generated code --- scaffold/.eslintrc | 36 +++++++++++++++++++++++++++--------- scaffold/fix-generated.js | 7 +++++++ scaffold/jest.config.js | 2 +- scaffold/tsconfig.json | 11 ++++------- 4 files changed, 39 insertions(+), 17 deletions(-) diff --git a/scaffold/.eslintrc b/scaffold/.eslintrc index b8b8a0a4..07ac471e 100644 --- a/scaffold/.eslintrc +++ b/scaffold/.eslintrc @@ -13,42 +13,60 @@ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", - "prettier/@typescript-eslint", "plugin:prettier/recommended" ], - "plugins": ["@typescript-eslint", "prettier"], + "plugins": [ + "@typescript-eslint", + "import" + ], "rules": { "import/no-extraneous-dependencies": [ "error", - { "devDependencies": ["**/*.test.ts", "**/*.spec.ts"] } + { + "devDependencies": [ + "**/*.test.ts", + "**/*.spec.ts" + ] + } ], - "prettier/prettier": "error", "import/prefer-default-export": 0, "no-underscore-dangle": 0, - "no-cond-assign": ["error", "except-parens"], + "no-cond-assign": [ + "error", + "except-parens" + ], "import/no-cycle": 0, "@typescript-eslint/interface-name-prefix": 0, + "@typescript-eslint/no-unused-vars": 1, "@typescript-eslint/naming-convention": [ "error", { "selector": "default", - "format": ["camelCase"] + "format": [ + "camelCase" + ] }, { "selector": "variable", "format": null, "filter": { - "regex": ".*resolveReference$", + "regex": ".*(resolveReference|resolveType)$", "match": true } }, { "selector": "variable", - "format": ["camelCase", "UPPER_CASE", "PascalCase"] + "format": [ + "camelCase", + "UPPER_CASE", + "PascalCase" + ] }, { "selector": "typeLike", - "format": ["PascalCase"] + "format": [ + "PascalCase" + ] } ] }, diff --git a/scaffold/fix-generated.js b/scaffold/fix-generated.js index afaa2e64..8e4beee3 100644 --- a/scaffold/fix-generated.js +++ b/scaffold/fix-generated.js @@ -6,3 +6,10 @@ shell.sed( "", "./generated/graphql/types.ts" ); + +shell.sed( + "-i", + /(import { ReadStream } from "fs-capacitor";)/, + '// @ts-ignore\n$1', + "./generated/graphql/types.ts" +); diff --git a/scaffold/jest.config.js b/scaffold/jest.config.js index 020ea6f0..88e302c7 100644 --- a/scaffold/jest.config.js +++ b/scaffold/jest.config.js @@ -1,5 +1,5 @@ -const { pathsToModuleNameMapper } = require("ts-jest/utils"); const { compilerOptions } = require("./tsconfig"); +const { pathsToModuleNameMapper } = require("ts-jest"); module.exports = { preset: "ts-jest", diff --git a/scaffold/tsconfig.json b/scaffold/tsconfig.json index 0a751f5a..c151090d 100644 --- a/scaffold/tsconfig.json +++ b/scaffold/tsconfig.json @@ -1,17 +1,14 @@ { + "extends": "@tsconfig/node18/tsconfig.json", "compilerOptions": { - "module": "commonjs", - "target": "es2019", + "allowJs": true, "sourceMap": true, + "strict": true, "outDir": "./lib/", - "esModuleInterop": true, "baseUrl": "./", "paths": { "~app/*": ["./src/*"], "~generated/*": ["./generated/*"] } - }, - "exclude": [ - "./node_modules" - ] + } }