File tree Expand file tree Collapse file tree 9 files changed +290
-0
lines changed Expand file tree Collapse file tree 9 files changed +290
-0
lines changed Original file line number Diff line number Diff line change 1+ # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
2+
3+ # Logs
4+
5+ logs
6+ _.log
7+ npm-debug.log_
8+ yarn-debug.log *
9+ yarn-error.log *
10+ lerna-debug.log *
11+ .pnpm-debug.log *
12+
13+ # Caches
14+
15+ .cache
16+
17+ # Diagnostic reports (https://nodejs.org/api/report.html)
18+
19+ report. [0-9 ]_. [0-9 ]_. [0-9 ]_. [0-9 ]_.json
20+
21+ # Runtime data
22+
23+ pids
24+ _.pid
25+ _.seed
26+ * .pid.lock
27+
28+ # Directory for instrumented libs generated by jscoverage/JSCover
29+
30+ lib-cov
31+
32+ # Coverage directory used by tools like istanbul
33+
34+ coverage
35+ * .lcov
36+
37+ # nyc test coverage
38+
39+ .nyc_output
40+
41+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
42+
43+ .grunt
44+
45+ # Bower dependency directory (https://bower.io/)
46+
47+ bower_components
48+
49+ # node-waf configuration
50+
51+ .lock-wscript
52+
53+ # Compiled binary addons (https://nodejs.org/api/addons.html)
54+
55+ build /Release
56+
57+ # Dependency directories
58+
59+ node_modules /
60+ jspm_packages /
61+
62+ # Snowpack dependency directory (https://snowpack.dev/)
63+
64+ web_modules /
65+
66+ # TypeScript cache
67+
68+ * .tsbuildinfo
69+
70+ # Optional npm cache directory
71+
72+ .npm
73+
74+ # Optional eslint cache
75+
76+ .eslintcache
77+
78+ # Optional stylelint cache
79+
80+ .stylelintcache
81+
82+ # Microbundle cache
83+
84+ .rpt2_cache /
85+ .rts2_cache_cjs /
86+ .rts2_cache_es /
87+ .rts2_cache_umd /
88+
89+ # Optional REPL history
90+
91+ .node_repl_history
92+
93+ # Output of 'npm pack'
94+
95+ * .tgz
96+
97+ # Yarn Integrity file
98+
99+ .yarn-integrity
100+
101+ # dotenv environment variable files
102+
103+ .env
104+ .env.development.local
105+ .env.test.local
106+ .env.production.local
107+ .env.local
108+
109+ # parcel-bundler cache (https://parceljs.org/)
110+
111+ .parcel-cache
112+
113+ # Next.js build output
114+
115+ .next
116+ out
117+
118+ # Nuxt.js build / generate output
119+
120+ .nuxt
121+ dist
122+
123+ # Gatsby files
124+
125+ # Comment in the public line in if your project uses Gatsby and not Next.js
126+
127+ # https://nextjs.org/blog/next-9-1#public-directory-support
128+
129+ # public
130+
131+ # vuepress build output
132+
133+ .vuepress /dist
134+
135+ # vuepress v2.x temp and cache directory
136+
137+ .temp
138+
139+ # Docusaurus cache and generated files
140+
141+ .docusaurus
142+
143+ # Serverless directories
144+
145+ .serverless /
146+
147+ # FuseBox cache
148+
149+ .fusebox /
150+
151+ # DynamoDB Local files
152+
153+ .dynamodb /
154+
155+ # TernJS port file
156+
157+ .tern-port
158+
159+ # Stores VSCode versions used for testing VSCode extensions
160+
161+ .vscode-test
162+
163+ # yarn v2
164+
165+ .yarn /cache
166+ .yarn /unplugged
167+ .yarn /build-state.yml
168+ .yarn /install-state.gz
169+ .pnp. *
170+
171+ # IntelliJ based IDEs
172+ .idea
173+
174+ # Finder (MacOS) folder config
175+ .DS_Store
Original file line number Diff line number Diff line change 1+ # fastify_graphql_postgres
2+
3+ To install dependencies:
4+
5+ ``` bash
6+ bun install
7+ ```
8+
9+ To run:
10+
11+ ``` bash
12+ bun run index.ts
13+ ```
14+
15+ This project was created using ` bun init ` in bun v1.0.36. [ Bun] ( https://bun.sh ) is a fast all-in-one JavaScript runtime.
Original file line number Diff line number Diff line change 1+ import Fastify from "fastify" ;
2+ import { startStandaloneServer } from "@apollo/server/standalone" ;
3+ import { ApolloServer , type BaseContext } from '@apollo/server' ;
4+ import fastifyApollo , { fastifyApolloDrainPlugin } from "@as-integrations/fastify" ;
5+
6+
7+ const typeDefs = `
8+ type Book {
9+ title: String
10+ author: String
11+ }
12+ type Query {
13+ books: [Book]
14+ }
15+ ` ;
16+ const books = [
17+ {
18+ title : 'The Awakening' ,
19+ author : 'Kate Chopin' ,
20+ } ,
21+ {
22+ title : 'City of Glass' ,
23+ author : 'Paul Auster' ,
24+ } ,
25+ ] ;
26+ const resolvers = {
27+
28+ Query : {
29+
30+ books : ( ) => books ,
31+
32+ } ,
33+
34+ } ;
35+
36+ const fastify = Fastify ( {
37+ logger : false
38+ } )
39+ const apollo = new ApolloServer < BaseContext > ( {
40+ typeDefs,
41+ resolvers,
42+ plugins : [ fastifyApolloDrainPlugin ( fastify ) ] ,
43+ } ) ;
44+ // fastify.get("/", async () => {
45+ // return { hello: "helloooW" }
46+ // })
47+ await apollo . start ( )
48+ await fastify . register ( fastifyApollo ( apollo ) ) ;
49+
50+ fastify . listen ( { port : 3000 } )
Original file line number Diff line number Diff line change 1+ {
2+ "name" : " fastify_graphql_postgres" ,
3+ "module" : " index.ts" ,
4+ "type" : " module" ,
5+ "scripts" : {
6+ "start" : " bun index.js" ,
7+ "dev" : " bun index.ts --watch"
8+ },
9+ "devDependencies" : {
10+ "@types/bun" : " latest"
11+ },
12+ "peerDependencies" : {
13+ "typescript" : " ^5.0.0"
14+ },
15+ "dependencies" : {
16+ "@apollo/server" : " ^4.10.2" ,
17+ "@as-integrations/fastify" : " ^2.1.1" ,
18+ "body-parser" : " ^1.20.2" ,
19+ "cors" : " ^2.8.5" ,
20+ "fastify" : " ^4.26.2" ,
21+ "graphql" : " ^16.8.1"
22+ }
23+ }
Original file line number Diff line number Diff line change 1+ {
2+ "compilerOptions" : {
3+ // Enable latest features
4+ "lib" : [" ESNext" , " DOM" ],
5+ "target" : " ESNext" ,
6+ "module" : " ESNext" ,
7+ "moduleDetection" : " force" ,
8+ "jsx" : " react-jsx" ,
9+ "allowJs" : true ,
10+
11+ // Bundler mode
12+ "moduleResolution" : " bundler" ,
13+ "allowImportingTsExtensions" : true ,
14+ "verbatimModuleSyntax" : true ,
15+ "noEmit" : true ,
16+
17+ // Best practices
18+ "strict" : true ,
19+ "skipLibCheck" : true ,
20+ "noFallthroughCasesInSwitch" : true ,
21+
22+ // Some stricter flags (disabled by default)
23+ "noUnusedLocals" : false ,
24+ "noUnusedParameters" : false ,
25+ "noPropertyAccessFromIndexSignature" : false
26+ }
27+ }
You can’t perform that action at this time.
0 commit comments