1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/mipilin synced 2025-01-30 18:53:36 +00:00

compilation

Signed-off-by: roxwize <rae@roxwize.xyz>
This commit is contained in:
Rae 5e 2025-01-29 21:49:47 -05:00
parent dfd27154cd
commit a2e568e751
Signed by: rae
GPG key ID: 5B1A0FAB9BAB81EE
5 changed files with 79 additions and 45 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
node_modules/
dist/
.env

View file

@ -6,3 +6,32 @@
mipilin **mipilin**
![website screenshot](./screenshot.png)
## Running locally
```sh
## get repository
git clone https://git.sr.ht/~roxwize/mipilin
cd mipilin
## setup environment variables
cp .env.example .env
$EDITOR .env # If $EDITOR is not set, replace it with your text editor of choice
## start server
pnpm install
pnpm build # Compile TypeScript files to JavaScript in ./dist/
pnpm start
```
You can also run the server's TypeScript directly by using `pnpm dev`.
### Environment variables
Keep your `.env` file to yourself. The only non-sensitive field is `LISTEN_ON_SOCKET`.
| Variable | Description | Required |
| -------- | ----------- | -------- |
| `LISTEN_ON_SOCKET` | If set to `true` the server will run on a Unix socket at `/run/user/[UUID]/mipilin/mipilin.sock` | no |
| `DATABASE_URL` | URL where your PostgresQL database will be accessed | **yes** |
| `COOKIE_SECRET` | Can be any string, used to sign cookies | **yes** |

View file

@ -137,7 +137,7 @@ object-src 'none'; base-uri 'none';"
const path = process.env.LISTEN_ON_SOCKET === "true" ? `/run/user/${process.getuid()}/mipilin/mipilin.sock` : 1337;
app.listen(path, () => {
console.log(`mipilin is now listening on ${path}!! Requests will be printed below. Good Luck`);
console.log(`mipilin is now listening on ${typeof path === "number" ? "https://127.0.0.1:" + path + "/" : path}!! Requests will be printed below. Good Luck`);
});
})();

View file

@ -1,39 +1,41 @@
{
"name": "frontend",
"version": "1.0.0",
"description": "",
"type": "module",
"main": "main.ts",
"scripts": {
"start": "tsx main.ts"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^5.1.1",
"body-parser": "^1.20.3",
"connect-flash": "^0.1.1",
"connect-pg-simple": "^10.0.0",
"dayjs": "^1.11.13",
"dotenv": "^16.4.5",
"drizzle-orm": "^0.36.1",
"express": "^4.21.1",
"express-session": "^1.18.1",
"pg": "^8.13.1",
"pug": "^3.0.3",
"typescript": "^5.6.3"
},
"devDependencies": {
"@types/bcrypt": "^5.0.2",
"@types/body-parser": "^1.19.5",
"@types/connect-flash": "^0.0.40",
"@types/connect-pg-simple": "^7.0.3",
"@types/express": "^5.0.0",
"@types/express-session": "^1.18.0",
"@types/pg": "^8.11.10",
"@types/pug": "^2.0.10",
"drizzle-kit": "^0.28.0",
"tsx": "4.19.2"
}
"name": "frontend",
"version": "1.0.0",
"description": "",
"type": "module",
"main": "main.ts",
"scripts": {
"build": "tsc",
"start": "node dist/main.js",
"dev": "tsx main.ts"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^5.1.1",
"body-parser": "^1.20.3",
"connect-flash": "^0.1.1",
"connect-pg-simple": "^10.0.0",
"dayjs": "^1.11.13",
"dotenv": "^16.4.5",
"drizzle-orm": "^0.36.1",
"express": "^4.21.1",
"express-session": "^1.18.1",
"pg": "^8.13.1",
"pug": "^3.0.3",
"typescript": "^5.6.3"
},
"devDependencies": {
"@types/bcrypt": "^5.0.2",
"@types/body-parser": "^1.19.5",
"@types/connect-flash": "^0.0.40",
"@types/connect-pg-simple": "^7.0.3",
"@types/express": "^5.0.0",
"@types/express-session": "^1.18.0",
"@types/pg": "^8.11.10",
"@types/pug": "^2.0.10",
"drizzle-kit": "^0.28.0",
"tsx": "4.19.2"
}
}

View file

@ -1,9 +1,11 @@
{
"compilerOptions": {
"lib": ["ESNext"],
"target": "ES6",
"esModuleInterop": true,
"moduleResolution": "NodeNext",
"module": "NodeNext"
}
"compilerOptions": {
"lib": ["ESNext"],
"target": "ES6",
"esModuleInterop": true,
"moduleResolution": "NodeNext",
"module": "NodeNext",
"outDir": "dist/"
},
"exclude": ["node_modules/", "drizzle.config.ts"]
}