From e712b9f6e40c05a35063019771e9c51792146336 Mon Sep 17 00:00:00 2001 From: BracketJohn Date: Thu, 2 Mar 2023 15:05:40 +0100 Subject: [PATCH 1/3] feat: initialize prisma, add first table --- .env.development | 2 ++ .github/app.png | Bin 0 -> 108437 bytes README.md | 20 +++++++++++++++++ package-lock.json | 51 +++++++++++++++++++++++++++++++++++++++++++ package.json | 5 ++++- prisma/schema.prisma | 19 ++++++++++++++++ 6 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 .env.development create mode 100644 .github/app.png create mode 100644 prisma/schema.prisma diff --git a/.env.development b/.env.development new file mode 100644 index 00000000..50c5a3f6 --- /dev/null +++ b/.env.development @@ -0,0 +1,2 @@ +# Prisma environment variables +DATABASE_URL="file:./db.sqlite" diff --git a/.github/app.png b/.github/app.png new file mode 100644 index 0000000000000000000000000000000000000000..6a9c893e00255f6c7d40cf995ca9dc24d3dae741 GIT binary patch literal 108437 zcmdSAhg(xk_clro0s@LkZ=wP!U1}hqiii*d6p*TPDWP`=MFf>zM35>7q6i2GQUfY2 zbSa^S9(qqg0!hC3yzj4^bKdU{I9%7hGTD1(&#YN%*1Ffd!Yd;~-SbR5OjJ}<=k@Ms z8&grynNm^FL@+W??&R^9s!&leRk>(Ookyk`m&By$7LNIy2~17;!KtIQ@=m!_<7a5y-ny% ze3RrAZJkx?1@-`39&SF^cQ6;f>p;rJ@8QY0jZ`V+?%$NoKc*A1&JaJxwqM%a)j8^| zMa96QE+9t5uOO<`&%(@19p66*@9P$zGMEOwO>ZO-apar#t!x+oRAMZP*E|_S`4>&% zle~VXJ)km*V~3Lt9~@k>)p~bRgGc-1;M!4HutQpUDOY0t>sKr|4fD%Xs;>s#?o$hK z3q^!niA!D)#$R<8Sz^**6d7t4Q41I6d|DzYt?}$PBV^6_8u2E-^cfPY!lL#y3Arq5Ei4X+St9fD;oQsw&l_TRjF+WW`L;;X|eHs6<1X;V#q#>BF1 z+wFS~(TrE^os{&s)L<{=j76fI?ZX@*Ufr>p07EVv6{k@NKi6w66n~v>6cC z!Tg;9(Px8e{qdQYu2no?pi8@VsWW@N=E+i>w1ujag!;bK)YOrzAJ}=%{iNpjO?73TJ|es2a=P=SliQb_^9t`FiaD$^HtUb1TI7AdbguFJ1W ztjqezH=PUT4hPI73uwT)Q)F_ud=qZHjD6L)FViQ3e|NF}=>w59rZoX4_M;1LI{#F6 znLE1+DX_kewth7iJs0QEZqpuM52!9y;xjz&oaEabyEOUZffdM;ZC7kpbyvZY9d}MD z4%soYNIWD)^?GflB5{hk|_F0fvBa;||f=7sl%izDyW z4HK@FvirXJ_&a3j@{;{hsIs!Mnlfi2y^m(2zt2aX?$yd(Okem7@$~+Cpc1;YjJiy} z7k*L4k;nNDZt$kI_8hD{IDG7L9)A%pj!#$BnZKWZeJIoRmaQb}8qAWENTbnV6jfer zF05Omy;$;7A{P0YPDeyXP^W&0r_-l%^mXg&;`^7bTYfb9==V|L{`dRHOdGM~jKmCL zMk68^0mzgRXEQRo6#kkmR%=RKS-Vk_yX0AUm+2Mx*eCbY?(UQ%eG>bk^hx_mg^{?K z@|QolS|bTAx1aEQjSq;P&^ndXbz}8qg$}MMV|+b_xJ|~5FvhFpS3W6xnl~YSxNCM~ zqW@^7a-ssO&HvT2v`sy{kr08owOJ+qiN}+NFOepZgNIH2se#;p*Fa_tKpuEU_j}!U zn!4XlLhB@5TPI3gLtV>U_QpVEY86@|2g4UOx5t#Lj?yYMo&Suke?0CxzF=)Ir*2*D z`O&j%_ecIWn~eF8R)$tlf_C`Jh#Hb1QGs}YmOmz#;S0+qivZ6>7Veiczvf=N5ri&T^c^x#|&1Czv&nNo^0EWuHTd@cqZ

+Ts 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 8" } }, + "node_modules/@prisma/client": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.11.0.tgz", + "integrity": "sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==", + "hasInstallScript": true, + "dependencies": { + "@prisma/engines-version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/engines": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.11.0.tgz", + "integrity": "sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==", + "devOptional": true, + "hasInstallScript": true + }, + "node_modules/@prisma/engines-version": { + "version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.11.0-57.8fde8fef4033376662cad983758335009d522acb.tgz", + "integrity": "sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g==" + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -2157,6 +2191,23 @@ "node": ">= 0.8.0" } }, + "node_modules/prisma": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.11.0.tgz", + "integrity": "sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "@prisma/engines": "4.11.0" + }, + "bin": { + "prisma": "build/index.js", + "prisma2": "build/index.js" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", diff --git a/package.json b/package.json index 246357f9..7afd6e49 100644 --- a/package.json +++ b/package.json @@ -6,16 +6,19 @@ "license": "AGPL-3", "scripts": { "dev": "vite-node index.ts", - "lint": "eslint \"./**/*.{ts,tsx}\" --max-warnings=0", + "postinstall": "prisma generate", + "lint": "eslint \"./**/*.{ts,tsx}\" --max-warnings=0", "typecheck": "tsc --noEmit" }, "dependencies": { + "@prisma/client": "^4.11.0", "vite-node": "^0.29.2" }, "devDependencies": { "@types/node": "^18.14.2", "eslint": "^8.35.0", "eslint-config-airbnb-base": "^15.0.0", + "prisma": "^4.11.0", "typescript": "^4.9.5" } } diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 00000000..cbc2e277 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,19 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "sqlite" + url = env("DATABASE_URL") +} + +model CoreUnit { + id String @id @default(cuid()) + code String + shortCode String + name String + imageSource String + descriptionSentence String + descriptionParagraph String + descriptionParagraphImageSource String +} From 4d4e9dfa30cdd923ec075f4db566bd878206a469 Mon Sep 17 00:00:00 2001 From: BracketJohn Date: Thu, 2 Mar 2023 15:19:34 +0100 Subject: [PATCH 2/3] feat: move into src-style structure, add database module with get prisma util, write first hello world code --- .eslintrc | 12 +- index.ts | 14 -- package-lock.json | 481 ++++++++++++++++++++++++++++++++++++++++++ package.json | 6 +- src/database/index.ts | 11 + src/index.ts | 24 +++ 6 files changed, 530 insertions(+), 18 deletions(-) delete mode 100644 index.ts create mode 100644 src/database/index.ts create mode 100644 src/index.ts diff --git a/.eslintrc b/.eslintrc index 47c23e8c..97cabba4 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,13 @@ { // From: https://github.com/airbnb/javascript/issues/451 - we want airbnb, but not it's react rules (because we don't use react) - "extends": "airbnb-base", + "extends": [ + "airbnb-base" + ], + "parser": "@typescript-eslint/parser", + "plugins": [ + "@typescript-eslint" + ], + "root": true, "overrides": [ { "files": [ @@ -24,6 +31,7 @@ "rules": { "no-return-await": [ "error" - ] + ], + "import/prefer-default-export": "off" } } diff --git a/index.ts b/index.ts deleted file mode 100644 index 64f92bee..00000000 --- a/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -const main = async () => { - console.info('GM MakerDao'); -}; - -main().catch((err) => { - console.error('Shutting down...'); - if (err instanceof Error) { - console.error(err); - } else { - console.error('An unknown error has occurred. Please open an issue on github (https://github.com/makerdao-ses/switchboard-boilerplate/issues/new) with the below context:'); - console.info(err); - } - process.exit(1); -}); diff --git a/package-lock.json b/package-lock.json index 09553f9c..9d284208 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "powerhouse-switchboard", "version": "0.0.1", + "hasInstallScript": true, "license": "AGPL-3", "dependencies": { "@prisma/client": "^4.11.0", @@ -14,6 +15,8 @@ }, "devDependencies": { "@types/node": "^18.14.2", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", "eslint": "^8.35.0", "eslint-config-airbnb-base": "^15.0.0", "prisma": "^4.11.0", @@ -482,6 +485,12 @@ "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.11.0-57.8fde8fef4033376662cad983758335009d522acb.tgz", "integrity": "sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g==" }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -495,6 +504,267 @@ "integrity": "sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==", "devOptional": true }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", + "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/type-utils": "5.54.0", + "@typescript-eslint/utils": "5.54.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", + "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/typescript-estree": "5.54.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", + "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/visitor-keys": "5.54.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", + "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.54.0", + "@typescript-eslint/utils": "5.54.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", + "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", + "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/visitor-keys": "5.54.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", + "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/typescript-estree": "5.54.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", + "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.54.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -581,6 +851,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/array.prototype.flat": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", @@ -647,6 +926,18 @@ "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -775,6 +1066,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1216,6 +1519,34 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -1249,6 +1580,18 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -1436,6 +1779,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -1711,6 +2074,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", @@ -1916,6 +2288,40 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1971,6 +2377,12 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -2139,6 +2551,15 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/pathe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", @@ -2149,6 +2570,18 @@ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/pkg-types": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", @@ -2412,6 +2845,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -2511,6 +2953,18 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.14.2", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", @@ -2524,6 +2978,27 @@ "strip-bom": "^3.0.0" } }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -2740,6 +3215,12 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 7afd6e49..5467af06 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,9 @@ "author": "makerdao", "license": "AGPL-3", "scripts": { - "dev": "vite-node index.ts", + "dev": "vite-node src/index.ts", "postinstall": "prisma generate", - "lint": "eslint \"./**/*.{ts,tsx}\" --max-warnings=0", + "lint": "eslint \"./**/*.{ts,tsx}\" --max-warnings=0", "typecheck": "tsc --noEmit" }, "dependencies": { @@ -16,6 +16,8 @@ }, "devDependencies": { "@types/node": "^18.14.2", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", "eslint": "^8.35.0", "eslint-config-airbnb-base": "^15.0.0", "prisma": "^4.11.0", diff --git a/src/database/index.ts b/src/database/index.ts new file mode 100644 index 00000000..964f4429 --- /dev/null +++ b/src/database/index.ts @@ -0,0 +1,11 @@ +import { PrismaClient } from '@prisma/client'; + +let prisma: PrismaClient; + +export const getPrisma = () => { + if (!prisma) { + prisma = new PrismaClient(); + } + + return prisma; +}; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 00000000..c561caf3 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,24 @@ +import { getPrisma } from './database/index'; + +const main = async () => { + console.info('GM MakerDao'); + + const prisma = getPrisma(); + console.info('Here are all core-units: ', await prisma.coreUnit.findMany()); +}; + +main() + .then(() => { + // This should never happen, is only here until we add the real API which of course runs forever + console.info('API execution ended'); + }) + .catch((err) => { + console.error('Shutting down...'); + if (err instanceof Error) { + console.error(err); + } else { + console.error('An unknown error has occurred. Please open an issue on github (https://github.com/makerdao-ses/switchboard-boilerplate/issues/new) with the below context:'); + console.info(err); + } + process.exit(1); + }); From 45dcbb1803399478ebd2561c074740737f315dd7 Mon Sep 17 00:00:00 2001 From: KirillDogadin-std <59374892+KirillDogadin-std@users.noreply.github.com> Date: Thu, 2 Mar 2023 16:42:21 +0100 Subject: [PATCH 3/3] fix: linter also understands typescript now (#14) --- .eslintrc | 7 ++++++- package-lock.json | 16 ++++++++++++++++ package.json | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/.eslintrc b/.eslintrc index 97cabba4..e097f73a 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,9 +1,13 @@ { // From: https://github.com/airbnb/javascript/issues/451 - we want airbnb, but not it's react rules (because we don't use react) "extends": [ - "airbnb-base" + "airbnb-base", + "airbnb-typescript/base" ], "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "./tsconfig.json" + }, "plugins": [ "@typescript-eslint" ], @@ -35,3 +39,4 @@ "import/prefer-default-export": "off" } } + diff --git a/package-lock.json b/package-lock.json index 9d284208..0212aeda 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@typescript-eslint/parser": "^5.54.0", "eslint": "^8.35.0", "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^17.0.0", "prisma": "^4.11.0", "typescript": "^4.9.5" } @@ -1302,6 +1303,21 @@ "eslint-plugin-import": "^2.25.2" } }, + "node_modules/eslint-config-airbnb-typescript": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.0.0.tgz", + "integrity": "sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.13.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3" + } + }, "node_modules/eslint-import-resolver-node": { "version": "0.3.7", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", diff --git a/package.json b/package.json index 5467af06..6228c99f 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@typescript-eslint/parser": "^5.54.0", "eslint": "^8.35.0", "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^17.0.0", "prisma": "^4.11.0", "typescript": "^4.9.5" }