bundle exectuable

This commit is contained in:
Flam3rboy 2021-07-10 19:01:53 +02:00
parent cce9358d85
commit c22fe86c46
5 changed files with 68 additions and 20 deletions

40
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,40 @@
on:
workflow_dispatch:
push:
# Sequence of patterns matched against refs/tags
tags:
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
name: Publish Release
jobs:
build:
name: Publish Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build # This would actually build your project, using zip for an example artifact
run: |
npm install
npm run bundle
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: true
prerelease: true
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/api-linux
asset_name: server-api-linux
asset_content_type: application/x-binary

1
.gitignore vendored
View File

@ -81,6 +81,7 @@ typings/
# Nuxt.js build / generate output # Nuxt.js build / generate output
.nuxt .nuxt
dist dist
build
# Gatsby files # Gatsby files
.cache/ .cache/

38
package-lock.json generated
View File

@ -30,7 +30,7 @@
"i18next-node-fs-backend": "^2.1.3", "i18next-node-fs-backend": "^2.1.3",
"image-size": "^1.0.0", "image-size": "^1.0.0",
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"lambert-server": "^1.2.5", "lambert-server": "^1.2.7",
"missing-native-js-functions": "^1.2.6", "missing-native-js-functions": "^1.2.6",
"mongoose": "^5.12.3", "mongoose": "^5.12.3",
"mongoose-autopopulate": "^0.12.3", "mongoose-autopopulate": "^0.12.3",
@ -43,7 +43,7 @@
"api": "dist/start.js" "api": "dist/start.js"
}, },
"devDependencies": { "devDependencies": {
"@types/bcrypt": "^3.0.0", "@types/bcrypt": "^5.0.0",
"@types/express": "^4.17.9", "@types/express": "^4.17.9",
"@types/i18next-node-fs-backend": "^2.1.0", "@types/i18next-node-fs-backend": "^2.1.0",
"@types/jsonwebtoken": "^8.5.0", "@types/jsonwebtoken": "^8.5.0",
@ -1070,10 +1070,13 @@
} }
}, },
"node_modules/@types/bcrypt": { "node_modules/@types/bcrypt": {
"version": "3.0.1", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-3.0.1.tgz", "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.0.tgz",
"integrity": "sha512-SwBrq5wb6jXP0o3O3jStdPWbKpimTImfdFD/OZE3uW+jhGpds/l5wMX9lfYOTDOa5Bod2QmOgo9ln+tMp2XP/w==", "integrity": "sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==",
"dev": true "dev": true,
"dependencies": {
"@types/node": "*"
}
}, },
"node_modules/@types/body-parser": { "node_modules/@types/body-parser": {
"version": "1.19.0", "version": "1.19.0",
@ -6142,9 +6145,9 @@
} }
}, },
"node_modules/lambert-server": { "node_modules/lambert-server": {
"version": "1.2.5", "version": "1.2.7",
"resolved": "https://registry.npmjs.org/lambert-server/-/lambert-server-1.2.5.tgz", "resolved": "https://registry.npmjs.org/lambert-server/-/lambert-server-1.2.7.tgz",
"integrity": "sha512-ZbbO15JgPgmqmSSFxsKVLwBCdEMv5V0OB3YfYzGSL+xIc+c3BpKKpVQDt2hdbvYYwrjrHtT9PWtdRIJj5cQ8SQ==", "integrity": "sha512-g2cMr5pY9dWORmLdt6Gro6ErqWk5gbOkmSXzGThiWbaAJ7MXup5QkuJHbW1OWeZVdfRg/mzY5qAM185q3TFQVQ==",
"dependencies": { "dependencies": {
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"express": "^4.17.1", "express": "^4.17.1",
@ -11910,10 +11913,13 @@
} }
}, },
"@types/bcrypt": { "@types/bcrypt": {
"version": "3.0.1", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-3.0.1.tgz", "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.0.tgz",
"integrity": "sha512-SwBrq5wb6jXP0o3O3jStdPWbKpimTImfdFD/OZE3uW+jhGpds/l5wMX9lfYOTDOa5Bod2QmOgo9ln+tMp2XP/w==", "integrity": "sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==",
"dev": true "dev": true,
"requires": {
"@types/node": "*"
}
}, },
"@types/body-parser": { "@types/body-parser": {
"version": "1.19.0", "version": "1.19.0",
@ -16214,9 +16220,9 @@
} }
}, },
"lambert-server": { "lambert-server": {
"version": "1.2.5", "version": "1.2.7",
"resolved": "https://registry.npmjs.org/lambert-server/-/lambert-server-1.2.5.tgz", "resolved": "https://registry.npmjs.org/lambert-server/-/lambert-server-1.2.7.tgz",
"integrity": "sha512-ZbbO15JgPgmqmSSFxsKVLwBCdEMv5V0OB3YfYzGSL+xIc+c3BpKKpVQDt2hdbvYYwrjrHtT9PWtdRIJj5cQ8SQ==", "integrity": "sha512-g2cMr5pY9dWORmLdt6Gro6ErqWk5gbOkmSXzGThiWbaAJ7MXup5QkuJHbW1OWeZVdfRg/mzY5qAM185q3TFQVQ==",
"requires": { "requires": {
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"express": "^4.17.1", "express": "^4.17.1",

View File

@ -11,7 +11,7 @@
"start": "npm run build && node dist/start", "start": "npm run build && node dist/start",
"build": "tsc -b .", "build": "tsc -b .",
"dev": "tsnd --respawn src/start.ts", "dev": "tsnd --respawn src/start.ts",
"bundle": "npm run build && pkg package.json" "bundle": "npm run build && pkg --no-bytecode --public-packages=* package.json"
}, },
"pkg": { "pkg": {
"scripts": [ "scripts": [
@ -19,7 +19,8 @@
], ],
"assets": [ "assets": [
"locales", "locales",
"assets" "assets",
"client_test"
], ],
"targets": [ "targets": [
"latest-linux-x64", "latest-linux-x64",
@ -67,7 +68,7 @@
"i18next-node-fs-backend": "^2.1.3", "i18next-node-fs-backend": "^2.1.3",
"image-size": "^1.0.0", "image-size": "^1.0.0",
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"lambert-server": "^1.2.5", "lambert-server": "^1.2.7",
"missing-native-js-functions": "^1.2.6", "missing-native-js-functions": "^1.2.6",
"mongoose": "^5.12.3", "mongoose": "^5.12.3",
"mongoose-autopopulate": "^0.12.3", "mongoose-autopopulate": "^0.12.3",

View File

@ -105,7 +105,7 @@ export class FosscordServer extends Server {
app.use("/api/v9", prefix); app.use("/api/v9", prefix);
this.app = app; this.app = app;
this.app.use(ErrorHandler); this.app.use(ErrorHandler);
const indexHTML = await fs.readFile(path.join(__dirname, "..", "client_test", "index.html"), { encoding: "utf8" }); const indexHTML = fs.readFileSync(path.join(__dirname, "..", "client_test", "index.html"), { encoding: "utf8" });
this.app.use("/assets", express.static(path.join(__dirname, "..", "assets"))); this.app.use("/assets", express.static(path.join(__dirname, "..", "assets")));