break up library, move bots to their own repositories
This commit is contained in:
33
packages/eve-data/.env.development
Normal file
33
packages/eve-data/.env.development
Normal file
@@ -0,0 +1,33 @@
|
||||
#/-------------------[DOTENV_PUBLIC_KEY]--------------------/
|
||||
#/ public-key encryption for .env files /
|
||||
#/ [how it works](https://dotenvx.com/encryption) /
|
||||
#/----------------------------------------------------------/
|
||||
DOTENV_PUBLIC_KEY_DEVELOPMENT="02572da3d4f3a844588a944214c0e142a5a01deaa6551456af146d34b574024416"
|
||||
|
||||
# .env.development
|
||||
#/-------------------[DOTENV_PUBLIC_KEY]--------------------/
|
||||
#/ public-key encryption for .env files /
|
||||
#/ [how it works](https://dotenvx.com/encryption) /
|
||||
#/----------------------------------------------------------/
|
||||
DOTENV_PUBLIC_KEY="02292a330aa041b5f7efc51504e0c208accba67a6877a217ab43cbb59c3c0c3e66"
|
||||
|
||||
# .env
|
||||
DEBUG="encrypted:BL9a2Dle847wiqvjnB1ryC8L5vJy0pn/5BZJdEMSWBIzcxPN3MhXoHsQ4KQcRXW4xuWLpHq00aAH5kNda3Bu7kPPbnltvhcYoqQSz3giItL8th1T/qm4zc+gM7lNHl/+5G0xJFE="
|
||||
PORT="encrypted:BKVA322kVuBfcDbptjVrvp9O8+1w0iCNT7Sv777MfCuLHTdJdUZr5jZbcKBD8yxPGpkc6sNdB4j6n2flC5NwExHdO/mdGD1VEBpdcZQCcSO7MYOYt1j0pfLNkvEqpuHnD1tkxT8="
|
||||
NODE_ENV="encrypted:BLNNdnKOW0f8d614oe1ur73es5z/2MhyJIXmeMNvU/VlOBL1dg/mT4vHosXG908eCyM2Nx1v7GxAfXmdpVSzWltfODwJzPw/lPZV3JFB2yIt4f8zJIHvkHKPMFLupK9bDUUS2m63uvZ4IE0v"
|
||||
LOG_LEVEL="encrypted:BOZXADbkv9vkzwx7/JC/EcBC00W5li6rbluRVGwy5t0fIj2WaoWXkwlTmHf5NiczQLPCgB+HD6LJxAeef8uEMgN0hwDCBXVGl53HWwDjkmxmmDAdfBmOeldJhDQbFNXumyrmKIOu"
|
||||
BASE_URL="encrypted:BFjoUMvbNCwqcd8j74dNe+4MZn1STXKTVq8LoP+CPuunNfL9QQkjyR+ryH0rgOH0W0LVLQBszEEpEiFFOohq3/uZlN/UTsqkQXntINvBMvT2S2dTTTafB4jgSoNrS6VDSx3mipO15IzQZ/QlADQrqVI5Y+iB7Y2lAx7M"
|
||||
EVE_CLIENT_ID="encrypted:BPpft3gC8xuWAg5SzhnoG009FhlJ9K65Ku7QoRrjZFAm7VaR2WDbH7lPMXoXY1/tu2sFln2+iCA0J8VMwqnvmHgocQtE2qPmRHdZUUSuGph76uIU4CNaIRICpXyn3jOfPIjsyBXcsKrMwLEdfeEwkxazDJ8ZAw/r+WHre9xr+iwK"
|
||||
EVE_CLIENT_SECRET="encrypted:BNXhx7jO6z2IfGU0TLUxMnONUXYWlQvM+RxUYDuOb+Tsncr32aJ4j6pFMHMeUYcqrQIogads6GDNb73trhk9XvpPu8kBgrksdkCtErp47u5++6yRGLkqTmkdpZeja2KCaGx0Bcu4EfP5DS/H9Mc6nvb6+wctj8s/w2MguF6O5gg/2LNDNT3tbrI="
|
||||
EVE_CALLBACK_URL="encrypted:BPzYFYlfnfLhPQuwRyUZs3F3wxjy6TEHQKNjbu+XnztSS6rJh8eAuW0ThYxee8lBAzLSGgKmjIt1PkYljnTekrR2CKyp3hMhag6W08tzxJDs4qyAsi+X91mEHXrd+ekmr4d5iAZu+sr/rHiK9jkzAsVWA8e8ttAVtW5Us7sb6ovZ1bjWM20oXk+4e5Gg"
|
||||
ESI_USER_AGENT="encrypted:BI/g/h+eCwT468Io0A9DhVU+z1iWiJwOI75mNDqZMJB1LWyhd/+pneYlcEAJJEsAPP4+YN66qAZ/8PzgH6rVcXS5H27FqwC+/mJFsMfC9jAkFDl38nxDogpKJUAimpG53ERM7LegMMcxAsnr085JduloijL5ylCwEwpiewzWwN+xqOOcQrW6UcQgsgbyonIlqaYstN4NdplvdSC2zvrYN5OnToEoQ2YFiAtU7dTxSx0="
|
||||
DISCORD_APP_ID="encrypted:BIiCdiy6ypeM3LK9pvkqoNIn0Js7XS5rUQqBNzZcywm9eH21gSit2rb+cwYGBGzYmkv/xG6Zf/CnUA7STrtRFfOD57vF46DVam0now4IVrTWr7X3CZLgBa0TBJgph72rTSTg8HKz8OheH/y7u730uN0OLhw="
|
||||
DISCORD_APP_SECRET="encrypted:BHNfy9BO/85OpyEQgehnwAByFz0jyE3b/YiK69aVFFKotBjeh9rj/0eg2/LsJvPsAHW3NDHmSWIvo+0gqTMuFbbA52wyLk4HeZmX5yNV6sQfGLitwJVCiyfXWpW81dkwTWF4bPNu/zTDlN7hJVuOTz9o6QN5WRSlbCiuP3n7Ojk8"
|
||||
DISCORD_PUBLIC_KEY="encrypted:BMzCllTpNrIQy9DkWGqE6tW7XxIEdui58eV5PqmMtwizEptjZVGp+IRtin9SUXBOtugzUUn51KP4+8AQauyFP4/oiEpiCa04lPLy2OF0pTzF61zC6jBb+gGL6fbvA2DWORXkR98sK6IAO5+OaGXy1SnHU1qjM7J5GFBaAywdPmDdLpuD4zJLvXggpooepaHHKer4ViyBAev9QU2Zb9/Ants="
|
||||
DISCORD_BOT_TOKEN="encrypted:BKJPnAvriqdaKV5eirAAs6TgtmtJMj7ZMjf8Y8sbD+T3WK/tbh8mgNNlyPk+ztre5mQD46vuWMa9F9uYCZcBmlk3XcRiYFwtyIGeaUPw2hT5kswk+jcaj66HKTknF09KwOhjvg3O2394d9p0jNFsx6ioT1ddzoSEKcQkyeBuJAsOTGnPVQKkfUNCRCWXMf6C3pxqVmFP/azfFFQNy8yevXnhZU97Zk9Ohg=="
|
||||
DISCORD_TEST_GUILD_ID="encrypted:BP+e5/IUX1gJP+/ZtG1LxwWcLeYsYwhM6boSbJv1YDhg3FF/qDM6A3OXsneSBP3PTDwW7e14M5U0jRIMT9YemyuF9r7895fMgBnFbPfSY+WaRDruibFI6QW1RvEcTuFjoU2/kRT6s69C/I1frYEMja2rfw=="
|
||||
JANICE_KEY="encrypted:BIb85AGnz4hgENGxJYhDmtEE6rEPjfBKZBtJ4KuDNtAjyIEI4kRKQNkOudVxc4BXQ6MXIqhIPIuTE6DdCN03olEfk3Fo5/FmwOr1bWF6pYFbwMxdVgjc9Cj9Lie3+tAnr3MaOfT0y+P+zUiAMWRJELpLv0TzSNhmTAF1LS+9zjUV"
|
||||
PERPLEXITY_API_KEY="encrypted:BNy5gd/Ku1Dilcfc9VftzIJn5xxDCT0NapIw5i+4h1srz2nNVgDc8w6GvmdBBz/NiPut9x+7Wv5hKVuXh2N07HaO67bTugzZ7dwabQdDJGlRp8mo/TEJMIN9Pm1ztI5HZW4UGfMY4xNILHRJb+JRBNdI4GZSh13i6vyc8ym9BgOXLVTR3ZSCJwFqzeDTgR9R3NhIjUa3"
|
||||
STAR_KITTEN_KV_DB_PATH="encrypted:BPZyMGyF1A+mQQ+OKNtHJLM+EGyrgkfhO6hHs1YHaoifLsMbJz2NDZmOzDg+ubPTUyjOJ+XbjcVdEFLn23QoOqKtW/WSk6WPPNAgWnWrTl+5XJI7bfGKaaZ1LR1PaB4ftPyMLFyoWVZ2iPHBP1xv"
|
||||
POSTGRES_URL="encrypted:BLUN+6NZpCkc+8WvJkhB3v8sYoX88maPYzkBi2WXItAOtA2r/1a65yZThcumddnba7WzaaN7xPv0CUA6LZpszP8t59LJ2ewKNJJyi9Z5bHINoedLh57kwlu0TcGsoO/EUPS81V0FZAlxLnmuVvMn/xYxmXJWiTeQRCe4vxLSctMNWgvcWXuQivGrLFh6AMtgfi+FxtkaH5zYXIjDn1Q/U2gKTwyLxmPBrXxFnYx8aGI9Leios605d/4lugra"
|
||||
NEO4J_URL="encrypted:BGphrNITLIGqF5aVoY9F2IaDVP+IRXuPvtfTRKtNqL8u5JIqkbEBpRknfB3wA2XoYiDsQ2ADfwwSuw5uvj1IWU2/ZS9AEukGJGYa6RP1dI/R0XvRAqS7O9waOH8nuH3KPaTSiEfeLqd+c+3J8MAKgpaysNp1nKGsZa6RzjhYEWxsKw3Yp4LY5d3yRloqxWsAJsd3WnH8cJWvJi0gT04PEJ73gX4TyHlPuduH37uo6os="
|
||||
23
packages/eve-data/.env.production
Normal file
23
packages/eve-data/.env.production
Normal file
@@ -0,0 +1,23 @@
|
||||
#/-------------------[DOTENV_PUBLIC_KEY]--------------------/
|
||||
#/ public-key encryption for .env files /
|
||||
#/ [how it works](https://dotenvx.com/encryption) /
|
||||
#/----------------------------------------------------------/
|
||||
DOTENV_PUBLIC_KEY_PRODUCTION="02f0469506f6722d8fcc179c199ff159ca32f082000c8e7a1465891adb50a4c031"
|
||||
|
||||
# .env.production
|
||||
DEBUG="encrypted:BK1eaaKoyGmDyiuLd+fIdaEdCGyYgLyUv5tsNcXvZ8CTMMXi7SBcNSy0K5hI0VC0ptEIX7iO/sZQcQ1K0V9gBFCoNDpuTvO+c3bFKU2nKQ0BBULlXhJNDoETmZ2p9L7KLNDFYQ6d"
|
||||
PORT="encrypted:BOpbRvBpbB3ra5St/8dv2h/93aL1vu1rVbc9u/V0YZyvP6nJv88rToz2/zfyNDeqsjBA2IO4s3+v3ZtxSJ6XXwd3+or3++yGs7A8t7bGoxVRyzb0uluHh6hWx+DKdxZE7HIYAh0="
|
||||
NODE_ENV="encrypted:BORW/YY5Y5EV7Lh5L3fSOfKsbyH5/ZBtMH/iuurGnJZlvFhBsZTBm5ms02dLJgFN/F1HFYskR8xLyEnnCCndK3YpdzrPYbVYSPr5EuWsVeX6DbCROi7RY1Zd27kYBSA5QjxHJOxWCIL0djY="
|
||||
LOG_LEVEL="encrypted:BHAO8Gg4Y3bo9Cwi1+YOvtc0dSgYUS6+UWNTcHfWISsrv4XX1sj/T9wjEGb8Y6dCmenqPSSI0DaBaEoLXDG3S31mdhTPmMfNBWRQQFbIxrz17WtqIDN6MGiI7/6ki5qryzup6ME="
|
||||
BASE_URL="encrypted:BAAw6UxbwTW7snM4pjPLGsYtZGbyOSDR9BwIo2oPDGPernDYD5YS80ffc7N1cRpLt807Vg41YoDsuj5PnwjmU9Zg7rl6cUnFKnLcvuFHNWdiULcl7bPQjHgZq1/wXwmYRt8p1DOI1nAgZIaxf58hi/c/9pUy5IpE"
|
||||
DISCORD_APP_ID="encrypted:BEneta1lCVd+uZCdIEOCtilukJb8W/57BZRvSzg7a6MnFkNxqlT2CXiZH6kvO9k+s3qj8zCUdsb6vQP0BzLlmDmmFLQGMn6q/NOlYArn0WlIUz+81JvMOZnv1YH6uFnJczJugtPoBy8d9Jjvn1u6vT+6pfM="
|
||||
DISCORD_APP_SECRET="encrypted:BG4R0eH2AHda/W+EkwT82dhO1UAjQZAbrXfn0+vOeNT/E3EQZ3VH/o5N1Ed3Hjg/mf90jv+ey3HBimt747dN+IBgkzkYpbs44h/TVZukSPwN5wJR14nVRwtU+ZZYX9UUsb/wjWFn7n5DCCOIs2N5Z/bqbRw4mPruKwBzJ5SD8JgD"
|
||||
DISCORD_PUBLIC_KEY="encrypted:BBTLdwJa7/tbzH4bddef00+PpJN9ZKCnSKxIWLuc10oKkg5g5TRSt9cnTRZvAsWGeacKxrECyl2WjoPYYI0qqDPZv/OHRejQ1EwDpfEVJVVoL7Xdm3c5Ncs0Vog03al3gEMbc2Zs6X3Teyt4K96PybwZ/fyhqsoHwmJ0mSvafD+2ASYii3tP23TkFewtnOenlZTBblXGkLy5C9Vkvodu1Qg="
|
||||
DISCORD_BOT_TOKEN="encrypted:BKIDa8iPhX1BKarlpoJOd/qhn/wLz0LsSI3joaCKWcEWpRynWAU1e1lfAA85j1EzVsX2BE2AcUbDS+FDzuacRooOgXk1fcywf2RSA+skDqdSGwNXDUQvOlptTdGyb8Eq10MkQOtUCHn50npULOCFkoGVHunzHCOtLAKzq0n758X8SOswfdWgDLQP8vtB9BF6SfkCu93bDDeZU+gJvYU3x/GwLqlaaJdF0A=="
|
||||
EVE_CLIENT_ID="encrypted:BA6dxhE8M8b3pDjcXDFBPdMw8aIBd1CUlN+NqnzC9XCZUc5Y7g4n2le0NPk6BwlgbrM9iRRdxzNkfmXiopJ1C33N4t095F/qd2cHAmya05//XAEOnOjA8MYA889rA/Jn1TXY2dSrLfp8UAMFo2pdu7r8QDAXdRUWoefAW/CmD0vR"
|
||||
EVE_CLIENT_SECRET="encrypted:BP7JP9rGeAWdVBashqAcGmB9v2WstOu7jJiB72jyzEK8PtSXA8eZK4MdFjwkfilZJr9k0kQcIYH4E/koKEW6BANDr5Ph8pYRz+r/lS11fsoJ1HZhujPKyuKIaIVEHxGb94FU7bJb6tAE0ozEZPZzeEZFGKJe5x9dR8qbAuD3oRC9JbidH4Lu2kQ="
|
||||
EVE_CALLBACK_URL="encrypted:BBOyw5Un+FeDukVE387oHdUZ6k3rMn69WX0Wi8qVWhyW1koCKTAot5jgZA24tKq4JPI71kYb1/5Z7baZCNekfOSUQsVbuFH8g9I9KffWeIIW7AhKA0TWPZCVxGCEFIj/x54DqmXtCnd7YRxYxXaWaSVrCos7lZAR5mnoTN2hBEEQFCWOhA1cX4iP"
|
||||
ESI_USER_AGENT="encrypted:BADtioS3QPCdtq+RvA90WTk61cnHPadpaeTE4JJDEaWuFygvtbouvrcbPhp6MmkXTrVb1E6Fs6dS74ocCMP+4wSfE4UuJpDos2lTo5eHp/Y65ERqdByQbAUVPQ1tf1vuqrDqBYFiM3LfiQUnulASsmhGsDUgroxPTv0g4hv+4m5/DMR4mClgn5Cb+UoguJRRptWyZi5jCvXwxQzTtRQ1NYqr8WNNMA65oiGCkw=="
|
||||
AUTH_DB_PATH="encrypted:BOgXzNmmct1BCPLRgrKbrCtERDEUCxyv1gJPEQupSgVmxyjoDCZLu+7dgfMvB7AeDfy2BtelFDpT3geWg+zazyUZO2aN/EvEv56YShh6iTDFONXHWx6l+8uu+l7Dmj9saL8MCJRcTBv4AtYseu7Y4AErK4wbNAEF"
|
||||
JANICE_KEY="encrypted:BKdgDHUyDpAx5e72lhaOA33hszd6OTCz5p3cDk8AkkLK4JumLtKYJSelkKeHsl+jSSpYgLbwDgS42RL5bYBOJZUXmTCSn01PlxQguoseHzjtyd4HqdRtXtK3AucQOX27ZbY0tEZFzW467suq9NpDKie2cB3mdSJrfS/CJX58VgRi"
|
||||
PERPLEXITY_API_KEY="encrypted:BL8MWGlcOic+n/V0yWSWai2Pwo8lbYbjcRkD2N7uDf38ogp7dUUdye/1dNWYzjm+ICsWXi5SQNEDkSdysegsJmoUtxBtEnX0Y0GJrQZaY5MEFobSicV5sjSdlh2y1gDcRrGPmvgsDXL/ehs3PWzz2DI0J71BnsziR4CmumkzwSxqot/mtTQMJQaO3UKFXB0RL5bwCWwv"
|
||||
8
packages/eve-data/.prettierrc.yaml
Normal file
8
packages/eve-data/.prettierrc.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
trailingComma: all
|
||||
tabWidth: 2
|
||||
useTabs: false
|
||||
semi: true
|
||||
singleQuote: true
|
||||
printWidth: 140
|
||||
experimentalTernaries: true
|
||||
quoteProps: consistent
|
||||
23
packages/eve-data/README copy.md
Normal file
23
packages/eve-data/README copy.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# tsdown-starter
|
||||
|
||||
A starter for creating a TypeScript package.
|
||||
|
||||
## Development
|
||||
|
||||
- Install dependencies:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
- Run the unit tests:
|
||||
|
||||
```bash
|
||||
npm run test
|
||||
```
|
||||
|
||||
- Build the library:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
15
packages/eve-data/README.md
Normal file
15
packages/eve-data/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# eve-utils
|
||||
|
||||
To install dependencies:
|
||||
|
||||
```bash
|
||||
bun install
|
||||
```
|
||||
|
||||
To run:
|
||||
|
||||
```bash
|
||||
bun run index.ts
|
||||
```
|
||||
|
||||
This project was created using `bun init` in bun v1.3.5. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime.
|
||||
7
packages/eve-data/bunfig.toml
Normal file
7
packages/eve-data/bunfig.toml
Normal file
@@ -0,0 +1,7 @@
|
||||
[test]
|
||||
coverage = true
|
||||
coverageSkipTestFiles = true
|
||||
coverageReporter = ["text", "lcov"]
|
||||
|
||||
[run]
|
||||
bun = true
|
||||
29
packages/eve-data/package.json
Normal file
29
packages/eve-data/package.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "@star-kitten/eve-data",
|
||||
"module": "src/main.ts",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"@dotenvx/dotenvx": "^1.52.0",
|
||||
"@types/bun": "^1.3.9"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "^5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@duckdb/node-api": "^1.4.4-r.1",
|
||||
"neo4j-driver": "^6.0.1",
|
||||
"pg": "^8.18.0",
|
||||
"redis": "^5.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"link": "bun link",
|
||||
"test": "bun test",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"release": "bumpp && npm publish",
|
||||
"dev": "bunx @dotenvx/dotenvx run -f .env.development -- bun run src/main.ts && tsdown --watch",
|
||||
"build": "bunx @dotenvx/dotenvx run -f .env.production -- bun src/main.ts && tsdown",
|
||||
"encrypt": "bunx dotenvx encrypt -f .env.development && bunx dotenvx encrypt -f .env.production",
|
||||
"decrypt": "bunx dotenvx decrypt -f .env.development && bunx dotenvx decrypt -f .env.production"
|
||||
}
|
||||
}
|
||||
72
packages/eve-data/src/download-and-extract.ts
Normal file
72
packages/eve-data/src/download-and-extract.ts
Normal file
@@ -0,0 +1,72 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import { Readable } from "stream";
|
||||
import { exec } from "child_process";
|
||||
|
||||
export async function downloadAndExtract(
|
||||
url: string,
|
||||
outputDir: string
|
||||
): Promise<void> {
|
||||
if (!fs.existsSync(outputDir)) {
|
||||
fs.mkdirSync(outputDir, { recursive: true });
|
||||
}
|
||||
|
||||
console.log(`Starting download from ${url}...`);
|
||||
const response = await fetch(url);
|
||||
if (!response.ok || !response.body)
|
||||
throw new Error(`Failed to download ${url}`);
|
||||
const nodeStream = Readable.fromWeb(response.body as any);
|
||||
|
||||
const compressedFilePath = path.join(outputDir, "archive.tar.xz");
|
||||
const fileStream = fs.createWriteStream(compressedFilePath);
|
||||
|
||||
nodeStream.pipe(fileStream);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
fileStream.on("finish", () => {
|
||||
// Use native tar command to extract files
|
||||
exec(
|
||||
`tar -xJf ${compressedFilePath} -C ${outputDir}`,
|
||||
(error, stdout, stderr) => {
|
||||
if (error) {
|
||||
console.error(`Extraction error: ${stderr}`);
|
||||
reject(error);
|
||||
} else {
|
||||
console.log("Extraction complete");
|
||||
|
||||
// Clean up the archive file
|
||||
fs.unlink(compressedFilePath, (err) => {
|
||||
if (err) {
|
||||
console.error(`Error removing archive: ${err.message}`);
|
||||
reject(err);
|
||||
} else {
|
||||
console.log("Archive cleaned up");
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
fileStream.on("error", (err) => {
|
||||
console.error("File stream error", err);
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// CLI execution (only runs when file is executed directly)
|
||||
if (import.meta.main) {
|
||||
const args = process.argv.slice(2);
|
||||
if (args.length !== 2) {
|
||||
console.error("Usage: bun run downloadAndExtract.ts <url> <outputDir>");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const [url, outputDir] = args;
|
||||
|
||||
downloadAndExtract(url, outputDir).catch((err) =>
|
||||
console.error("Download failed", err)
|
||||
);
|
||||
}
|
||||
19
packages/eve-data/src/export-solar-systems.ts
Normal file
19
packages/eve-data/src/export-solar-systems.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { Database } from "bun:sqlite";
|
||||
import { join } from "node:path";
|
||||
|
||||
const db = new Database(join(process.cwd(), 'data/evestatic.db'));
|
||||
|
||||
const query = db.query("SELECT * FROM mapSolarSystems");
|
||||
const results = query.all();
|
||||
|
||||
const output = results.reduce((acc: any, system: any) => {
|
||||
acc[system.solarSystemID] = system;
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const jsonData = JSON.stringify(output, null, 2);
|
||||
|
||||
const fs = await import('fs/promises');
|
||||
await fs.writeFile(join(process.cwd(), 'data/reference-data/solar_systems.json'), jsonData);
|
||||
|
||||
db.close();
|
||||
26
packages/eve-data/src/main.ts
Normal file
26
packages/eve-data/src/main.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { downloadAndExtract } from "./download-and-extract";
|
||||
|
||||
async function main() {
|
||||
const referenceDataUrl =
|
||||
"https://data.everef.net/reference-data/reference-data-latest.tar.xz";
|
||||
const hoboleaksSDEUrl =
|
||||
"https://data.everef.net/hoboleaks-sde/hoboleaks-sde-latest.tar.xz";
|
||||
const referenceDataOutputDir = "./data/reference-data";
|
||||
const hoboleaksSDEOutputDir = "./data/hoboleaks-sde";
|
||||
|
||||
try {
|
||||
await downloadAndExtract(referenceDataUrl, referenceDataOutputDir);
|
||||
console.log("Reference data downloaded and extracted successfully");
|
||||
} catch (err) {
|
||||
console.error("Error during download and extraction", err);
|
||||
}
|
||||
|
||||
try {
|
||||
await downloadAndExtract(hoboleaksSDEUrl, hoboleaksSDEOutputDir);
|
||||
console.log("Hoboleaks SDE downloaded and extracted successfully");
|
||||
} catch (err) {
|
||||
console.error("Error during download and extraction", err);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
25
packages/eve-data/tsconfig copy.json
Normal file
25
packages/eve-data/tsconfig copy.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"composite": true,
|
||||
"strict": false,
|
||||
"noImplicitAny": false,
|
||||
"skipLibCheck": true,
|
||||
"lib": ["ESNext"],
|
||||
"typeRoots": ["src/types", "./node_modules/@types"],
|
||||
"paths": {
|
||||
"@/*": ["./src/*"],
|
||||
"@data/*": ["./data/*"],
|
||||
"@types/*": ["./types/*"]
|
||||
},
|
||||
"emitDeclarationOnly": true,
|
||||
"noEmit": false,
|
||||
"noEmitOnError": false,
|
||||
"declaration": true,
|
||||
"outDir": "dist/types",
|
||||
"rootDir": ".",
|
||||
"allowImportingTsExtensions": true
|
||||
},
|
||||
"include": ["src"],
|
||||
"exclude": ["node_modules", "build", "**/*.test.ts"]
|
||||
}
|
||||
22
packages/eve-data/tsconfig.json
Normal file
22
packages/eve-data/tsconfig.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"composite": true,
|
||||
"strict": false,
|
||||
"noImplicitAny": false,
|
||||
"skipLibCheck": true,
|
||||
"lib": ["ESNext"],
|
||||
"typeRoots": ["src/types", "./node_modules/@types"],
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
},
|
||||
"emitDeclarationOnly": true,
|
||||
"noEmit": false,
|
||||
"noEmitOnError": false,
|
||||
"declaration": true,
|
||||
"rootDir": "src",
|
||||
"allowImportingTsExtensions": true
|
||||
},
|
||||
"include": ["src"],
|
||||
"exclude": ["node_modules", "build", "**/*.test.ts"]
|
||||
}
|
||||
16
packages/eve-data/tsdown.config.ts
Normal file
16
packages/eve-data/tsdown.config.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { defineConfig } from 'tsdown';
|
||||
|
||||
export default defineConfig([
|
||||
{
|
||||
entry: [
|
||||
'./src/**/*.ts',
|
||||
'!./src/**/*.test.ts',
|
||||
],
|
||||
platform: 'node',
|
||||
dts: true,
|
||||
minify: false,
|
||||
sourcemap: true,
|
||||
unbundle: true,
|
||||
external: ['bun:sqlite', 'bun'],
|
||||
},
|
||||
]);
|
||||
Reference in New Issue
Block a user