mirror of
https://github.com/keanuplayz/TravBot-v3.git
synced 2024-08-15 02:33:12 +00:00
Fixed GitHub Actions and addressed CodeQL issues
This commit is contained in:
parent
3cd05cd48c
commit
6361b83c05
4 changed files with 80 additions and 6 deletions
8
.github/workflows/image.yml
vendored
8
.github/workflows/image.yml
vendored
|
@ -3,7 +3,6 @@ on:
|
|||
push:
|
||||
branches:
|
||||
- typescript
|
||||
- docker
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
|
@ -16,9 +15,12 @@ jobs:
|
|||
fetch-depth: 2
|
||||
|
||||
- name: Setup Node.JS
|
||||
uses: actions/setup-node@v2-beta
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: "12"
|
||||
node-version: "14"
|
||||
# https://github.com/npm/cli/issues/558#issuecomment-580018468
|
||||
# Error: "npm ERR! fsevents not accessible from jest-haste-map"
|
||||
# (supposed to just be a warning b/c optional dependency, but CI environment causes it to fail)
|
||||
- run: npm ci
|
||||
|
||||
- name: Build codebase
|
||||
|
|
67
Dockerfile
67
Dockerfile
|
@ -1,4 +1,69 @@
|
|||
FROM node:current-alpine
|
||||
###############
|
||||
# Solution #1 #
|
||||
###############
|
||||
# https://github.com/geekduck/docker-node-canvas
|
||||
# Took 20m 55s
|
||||
|
||||
#FROM node:12
|
||||
#
|
||||
#RUN apt-get update \
|
||||
# && apt-get install -qq build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
|
||||
#
|
||||
#RUN mkdir -p /opt/node/js \
|
||||
# && cd /opt/node \
|
||||
# && npm i canvas
|
||||
#
|
||||
#WORKDIR /opt/node/js
|
||||
#
|
||||
#ENTRYPOINT ["node"]
|
||||
|
||||
###############
|
||||
# Solution #2 #
|
||||
###############
|
||||
# https://github.com/Automattic/node-canvas/issues/729#issuecomment-352991456
|
||||
# Took 22m 50s
|
||||
|
||||
#FROM ubuntu:xenial
|
||||
#
|
||||
#RUN apt-get update && apt-get install -y \
|
||||
# curl \
|
||||
# git
|
||||
#
|
||||
#RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - \
|
||||
# && curl -sL https://deb.nodesource.com/setup_8.x | bash - \
|
||||
# && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
||||
# && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
||||
#
|
||||
#RUN apt-get update && apt-get install -y \
|
||||
# nodejs \
|
||||
# yarn \
|
||||
# libcairo2-dev \
|
||||
# libjpeg-dev \
|
||||
# libpango1.0-dev \
|
||||
# libgif-dev \
|
||||
# libpng-dev \
|
||||
# build-essential \
|
||||
# g++
|
||||
|
||||
###############
|
||||
# Solution #3 #
|
||||
###############
|
||||
# https://github.com/Automattic/node-canvas/issues/866#issuecomment-330001221
|
||||
# Took 7m 29s
|
||||
|
||||
FROM node:10.16.0-alpine
|
||||
FROM mhart/alpine-node:8.5.0
|
||||
|
||||
RUN apk add --no-cache \
|
||||
build-base \
|
||||
g++ \
|
||||
cairo-dev \
|
||||
jpeg-dev \
|
||||
pango-dev \
|
||||
bash \
|
||||
imagemagick
|
||||
|
||||
# The rest of the commands to execute
|
||||
|
||||
COPY . .
|
||||
|
||||
|
|
|
@ -43,6 +43,9 @@
|
|||
"tsc-watch": "^4.2.9",
|
||||
"typescript": "^3.9.7"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "^2.1.2"
|
||||
},
|
||||
"author": "Keanu Timmermans",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
|
|
|
@ -139,12 +139,16 @@ export interface GenericJSON {
|
|||
[key: string]: any;
|
||||
}
|
||||
|
||||
// In order to define a file to write to while also not:
|
||||
// - Using the delete operator (which doesn't work on properties which cannot be undefined)
|
||||
// - Assigning it first then using Object.defineProperty (which raises a flag on CodeQL)
|
||||
// A non-null assertion is used on the class property to say that it'll definitely be assigned.
|
||||
export abstract class GenericStructure {
|
||||
private __meta__ = "generic";
|
||||
private __meta__!: string;
|
||||
|
||||
constructor(tag?: string) {
|
||||
this.__meta__ = tag || this.__meta__;
|
||||
Object.defineProperty(this, "__meta__", {
|
||||
value: tag || "generic",
|
||||
enumerable: false
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue