Archived
* Updated tsconfig options to nodenext module resolution to resolve module not found error
* Created .npmrc and .nvmrc files. Set .nvmrc file to Node 22, currently the latest LTS ver * Created envConfig util for importing API key from local env file.
This commit is contained in:
+1
-9
@@ -19,8 +19,6 @@ hoistedDependencies:
|
||||
'@inquirer/number': private
|
||||
'@inquirer/password@4.0.2(@types/node@22.10.1)':
|
||||
'@inquirer/password': private
|
||||
'@inquirer/prompts@7.1.0(@types/node@22.10.1)':
|
||||
'@inquirer/prompts': private
|
||||
'@inquirer/rawlist@4.0.2(@types/node@22.10.1)':
|
||||
'@inquirer/rawlist': private
|
||||
'@inquirer/search@3.0.2(@types/node@22.10.1)':
|
||||
@@ -55,10 +53,6 @@ hoistedDependencies:
|
||||
mute-stream: private
|
||||
os-tmpdir@1.0.2:
|
||||
os-tmpdir: private
|
||||
run-async@3.0.0:
|
||||
run-async: private
|
||||
rxjs@7.8.1:
|
||||
rxjs: private
|
||||
safer-buffer@2.1.2:
|
||||
safer-buffer: private
|
||||
signal-exit@4.1.0:
|
||||
@@ -69,8 +63,6 @@ hoistedDependencies:
|
||||
strip-ansi: private
|
||||
tmp@0.0.33:
|
||||
tmp: private
|
||||
tslib@2.8.1:
|
||||
tslib: private
|
||||
type-fest@0.21.3:
|
||||
type-fest: private
|
||||
undici-types@6.20.0:
|
||||
@@ -88,7 +80,7 @@ layoutVersion: 5
|
||||
nodeLinker: isolated
|
||||
packageManager: pnpm@9.2.0
|
||||
pendingBuilds: []
|
||||
prunedAt: Thu, 28 Nov 2024 17:36:55 GMT
|
||||
prunedAt: Fri, 29 Nov 2024 17:52:13 GMT
|
||||
publicHoistPattern:
|
||||
- '*eslint*'
|
||||
- '*prettier*'
|
||||
|
||||
+3
-38
@@ -11,12 +11,12 @@ importers:
|
||||
'@google/generative-ai':
|
||||
specifier: ^0.21.0
|
||||
version: 0.21.0
|
||||
'@inquirer/prompts':
|
||||
specifier: ^7.1.0
|
||||
version: 7.1.0(@types/node@22.10.1)
|
||||
dotenv:
|
||||
specifier: ^16.4.5
|
||||
version: 16.4.5
|
||||
inquirer:
|
||||
specifier: ^12.1.0
|
||||
version: 12.1.0(@types/node@22.10.1)
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^22.10.1
|
||||
@@ -162,12 +162,6 @@ packages:
|
||||
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
inquirer@12.1.0:
|
||||
resolution: {integrity: sha512-3/iexk64jn3EF0tjWYfOJi/DNWtcSSwg4ER67cnopO2xlCTUQjFCTMH9NBNQAMO/+dC3sEvKJtGJsqXnCkSsFg==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
|
||||
is-fullwidth-code-point@3.0.0:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -180,13 +174,6 @@ packages:
|
||||
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
run-async@3.0.0:
|
||||
resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
|
||||
rxjs@7.8.1:
|
||||
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
|
||||
|
||||
safer-buffer@2.1.2:
|
||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||
|
||||
@@ -206,9 +193,6 @@ packages:
|
||||
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
|
||||
engines: {node: '>=0.6.0'}
|
||||
|
||||
tslib@2.8.1:
|
||||
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
|
||||
|
||||
type-fest@0.21.3:
|
||||
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -379,29 +363,12 @@ snapshots:
|
||||
dependencies:
|
||||
safer-buffer: 2.1.2
|
||||
|
||||
inquirer@12.1.0(@types/node@22.10.1):
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.0(@types/node@22.10.1)
|
||||
'@inquirer/prompts': 7.1.0(@types/node@22.10.1)
|
||||
'@inquirer/type': 3.0.1(@types/node@22.10.1)
|
||||
'@types/node': 22.10.1
|
||||
ansi-escapes: 4.3.2
|
||||
mute-stream: 2.0.0
|
||||
run-async: 3.0.0
|
||||
rxjs: 7.8.1
|
||||
|
||||
is-fullwidth-code-point@3.0.0: {}
|
||||
|
||||
mute-stream@2.0.0: {}
|
||||
|
||||
os-tmpdir@1.0.2: {}
|
||||
|
||||
run-async@3.0.0: {}
|
||||
|
||||
rxjs@7.8.1:
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
|
||||
safer-buffer@2.1.2: {}
|
||||
|
||||
signal-exit@4.1.0: {}
|
||||
@@ -420,8 +387,6 @@ snapshots:
|
||||
dependencies:
|
||||
os-tmpdir: 1.0.2
|
||||
|
||||
tslib@2.8.1: {}
|
||||
|
||||
type-fest@0.21.3: {}
|
||||
|
||||
typescript@5.7.2: {}
|
||||
|
||||
+7
-3
@@ -7,12 +7,16 @@
|
||||
"packageManager": "pnpm@9.2.0+sha1.886364ebd6dae009284bebc56ed4296bb6dd557a",
|
||||
"dependencies": {
|
||||
"@google/generative-ai": "^0.21.0",
|
||||
"dotenv": "^16.4.5",
|
||||
"inquirer": "^12.1.0"
|
||||
"@inquirer/prompts": "^7.1.0",
|
||||
"dotenv": "^16.4.5"
|
||||
},
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "tsc",
|
||||
"transpile": "tsc",
|
||||
"build": "tsc --build && node dist/index.js"
|
||||
},
|
||||
"engines": {
|
||||
"pnpm": "^9.2.0",
|
||||
"node": "22"
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+3
-38
@@ -11,12 +11,12 @@ importers:
|
||||
'@google/generative-ai':
|
||||
specifier: ^0.21.0
|
||||
version: 0.21.0
|
||||
'@inquirer/prompts':
|
||||
specifier: ^7.1.0
|
||||
version: 7.1.0(@types/node@22.10.1)
|
||||
dotenv:
|
||||
specifier: ^16.4.5
|
||||
version: 16.4.5
|
||||
inquirer:
|
||||
specifier: ^12.1.0
|
||||
version: 12.1.0(@types/node@22.10.1)
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^22.10.1
|
||||
@@ -162,12 +162,6 @@ packages:
|
||||
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
inquirer@12.1.0:
|
||||
resolution: {integrity: sha512-3/iexk64jn3EF0tjWYfOJi/DNWtcSSwg4ER67cnopO2xlCTUQjFCTMH9NBNQAMO/+dC3sEvKJtGJsqXnCkSsFg==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
|
||||
is-fullwidth-code-point@3.0.0:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -180,13 +174,6 @@ packages:
|
||||
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
run-async@3.0.0:
|
||||
resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
|
||||
rxjs@7.8.1:
|
||||
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
|
||||
|
||||
safer-buffer@2.1.2:
|
||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||
|
||||
@@ -206,9 +193,6 @@ packages:
|
||||
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
|
||||
engines: {node: '>=0.6.0'}
|
||||
|
||||
tslib@2.8.1:
|
||||
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
|
||||
|
||||
type-fest@0.21.3:
|
||||
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -379,29 +363,12 @@ snapshots:
|
||||
dependencies:
|
||||
safer-buffer: 2.1.2
|
||||
|
||||
inquirer@12.1.0(@types/node@22.10.1):
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.0(@types/node@22.10.1)
|
||||
'@inquirer/prompts': 7.1.0(@types/node@22.10.1)
|
||||
'@inquirer/type': 3.0.1(@types/node@22.10.1)
|
||||
'@types/node': 22.10.1
|
||||
ansi-escapes: 4.3.2
|
||||
mute-stream: 2.0.0
|
||||
run-async: 3.0.0
|
||||
rxjs: 7.8.1
|
||||
|
||||
is-fullwidth-code-point@3.0.0: {}
|
||||
|
||||
mute-stream@2.0.0: {}
|
||||
|
||||
os-tmpdir@1.0.2: {}
|
||||
|
||||
run-async@3.0.0: {}
|
||||
|
||||
rxjs@7.8.1:
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
|
||||
safer-buffer@2.1.2: {}
|
||||
|
||||
signal-exit@4.1.0: {}
|
||||
@@ -420,8 +387,6 @@ snapshots:
|
||||
dependencies:
|
||||
os-tmpdir: 1.0.2
|
||||
|
||||
tslib@2.8.1: {}
|
||||
|
||||
type-fest@0.21.3: {}
|
||||
|
||||
typescript@5.7.2: {}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
import { config } from 'dotenv';
|
||||
|
||||
export function envConfig() {
|
||||
// Load environment variables from multiple .env files
|
||||
config({ path: '.env.local' });
|
||||
config({ path: '.env' });
|
||||
}
|
||||
+5
-2
@@ -1,18 +1,21 @@
|
||||
import { GoogleGenerativeAI } from "@google/generative-ai";
|
||||
import 'dotenv/config';
|
||||
import { input } from '@inquirer/prompts';
|
||||
import { envConfig } from './envConfig.js';
|
||||
|
||||
export async function geminiClient() {
|
||||
envConfig();
|
||||
|
||||
const genAI = new GoogleGenerativeAI(process.env.API_KEY as string);
|
||||
|
||||
const model = genAI.getGenerativeModel({ model: "gemini-1.5-pro" });
|
||||
|
||||
const prompt = ``;
|
||||
const prompt = await input({ message: "Enter your prompt", required: true });
|
||||
|
||||
const result = await model.generateContent(prompt);
|
||||
|
||||
const modelResponse = result.response.text();
|
||||
return modelResponse;
|
||||
}
|
||||
|
||||
const query = await geminiClient()
|
||||
console.log(query);
|
||||
+7
-6
@@ -8,9 +8,9 @@
|
||||
"lib": [
|
||||
"es2022"
|
||||
],
|
||||
"module": "ES2022",
|
||||
"module": "NodeNext",
|
||||
"preserveConstEnums": true,
|
||||
"moduleResolution": "bundler",
|
||||
"moduleResolution": "nodenext",
|
||||
"strict": true,
|
||||
"sourceMap": true,
|
||||
"target": "es2022",
|
||||
@@ -21,8 +21,9 @@
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
],
|
||||
"files": [
|
||||
"src/index.ts"
|
||||
],
|
||||
],
|
||||
"include": [
|
||||
"src"
|
||||
]
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user