decentralised message store

Compare changes

Choose any two refs to compare.

Changed files
+55 -14
.github
workflows
src
lib
utils
+2
Dockerfile
···
COPY --from=builder /app/dist ./dist
+
COPY drizzle ./drizzle
+
EXPOSE 7337
CMD ["node", "dist/index.mjs"]
+5 -13
tsconfig.json
···
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
/* Modules */
-
"module": "nodenext" /* Specify what module code is generated. */,
+
"module": "bundler" /* Specify what module code is generated. */,
"rootDir": "./src/" /* Specify the root folder within your source files. */,
-
"moduleResolution": "nodenext" /* Specify how TypeScript looks up a file from a given module specifier. */,
+
"moduleResolution": "bundler" /* Specify how TypeScript looks up a file from a given module specifier. */,
"baseUrl": "./" /* Specify the base directory to resolve non-relative module names. */,
"paths": {
-
"@/*": [
-
"src/*"
-
]
+
"@/*": ["src/*"]
} /* Specify a set of entries that re-map imports to additional lookup locations. */,
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
···
}
]
},
-
"include": [
-
"src/**/*",
-
"index.ts"
-
],
-
"exclude": [
-
"node_modules",
-
"dist"
-
]
+
"include": ["src/**/*", "index.ts"],
+
"exclude": ["node_modules", "dist"]
}
+47
.github/workflows/push-image.yaml
···
+
name: Build and Push Docker Image
+
+
on:
+
push:
+
tags:
+
- "v*"
+
+
env:
+
REGISTRY: ghcr.io
+
IMAGE_NAME: ${{ github.repository }}
+
+
jobs:
+
build-and-push:
+
runs-on: ubuntu-latest
+
permissions:
+
contents: read
+
packages: write
+
+
steps:
+
- name: Checkout repository
+
uses: actions/checkout@v4
+
+
- name: Log in to GitHub Container Registry
+
uses: docker/login-action@v3
+
with:
+
registry: ${{ env.REGISTRY }}
+
username: ${{ github.actor }}
+
password: ${{ secrets.GITHUB_TOKEN }}
+
+
- name: Extract metadata (tags, labels)
+
id: meta
+
uses: docker/metadata-action@v5
+
with:
+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
+
tags: |
+
type=semver,pattern={{version}}
+
type=semver,pattern={{major}}.{{minor}}
+
type=semver,pattern={{major}}
+
type=raw,value=latest
+
+
- name: Build and push Docker image
+
uses: docker/build-push-action@v5
+
with:
+
context: .
+
push: true
+
tags: ${{ steps.meta.outputs.tags }}
+
labels: ${{ steps.meta.outputs.labels }}
+1 -1
src/lib/utils/gmstn.ts
···
.select()
.from(messagesTable)
.where(eq(messagesTable.channelAtUri, channelAtUriString))
-
.limit(100);
+
.limit(100000);
return { ok: true, data: messages };
};