Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
PaulDalek committed Jul 24, 2024
2 parents 7e0f274 + 87613fa commit 493fbb0
Show file tree
Hide file tree
Showing 124 changed files with 13,083 additions and 11,524 deletions.
127 changes: 72 additions & 55 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -1,69 +1,86 @@
# Export config
EXPORT_DEFAULT_TYPE = png
EXPORT_DEFAULT_CONSTR = chart
# HIGHCHARTS CONFIG
HIGHCHARTS_VERSION = latest
HIGHCHARTS_CDN_URL = https://code.highcharts.com/
HIGHCHARTS_CORE_SCRIPTS =
HIGHCHARTS_MODULE_SCRIPTS =
HIGHCHARTS_INDICATOR_SCRIPTS =
HIGHCHARTS_FORCE_FETCH = false
HIGHCHARTS_CACHE_PATH =
HIGHCHARTS_ADMIN_TOKEN =

# EXPORT CONFIG
EXPORT_TYPE = png
EXPORT_CONSTR = chart
EXPORT_DEFAULT_HEIGHT = 400
EXPORT_DEFAULT_WIDTH = 600
EXPORT_DEFAULT_SCALE = 1
EXPORT_RASTERIZATION_TIMEOUT = 1500

# Highcharts config
HIGHCHARTS_VERSION = latest
HIGHCHARTS_CDN = https://code.highcharts.com/
HIGHCHARTS_FORCE_FETCH = false
HIGHCHARTS_CORE_SCRIPTS =
HIGHCHARTS_MODULES =
HIGHCHARTS_INDICATORS =
# CUSTOM LOGIC CONFIG
CUSTOM_LOGIC_ALLOW_CODE_EXECUTION = false
CUSTOM_LOGIC_ALLOW_FILE_RESOURCES = false

# Custom code config
HIGHCHARTS_ALLOW_CODE_EXECUTION = false
HIGHCHARTS_ALLOW_FILE_RESOURCES = false
# SERVER CONFIG
SERVER_ENABLE = false
SERVER_HOST = 0.0.0.0
SERVER_PORT = 7801
SERVER_BENCHMARKING = false

# Server config
HIGHCHARTS_SERVER_ENABLE = false
HIGHCHARTS_SERVER_HOST = 0.0.0.0
HIGHCHARTS_SERVER_PORT = 7801
# SERVER PROXY CONFIG
SERVER_PROXY_HOST =
SERVER_PROXY_PORT =
SERVER_PROXY_TIMEOUT = 5000

# Server SSL config
HIGHCHARTS_SERVER_SSL_ENABLE = false
HIGHCHARTS_SERVER_SSL_FORCE = false
HIGHCHARTS_SERVER_SSL_PORT = 443
HIGHCHARTS_SERVER_SSL_CERT_PATH =
# SERVER RATE LIMITING CONFIG
SERVER_RATE_LIMITING_ENABLE = false
SERVER_RATE_LIMITING_MAX_REQUESTS = 10
SERVER_RATE_LIMITING_WINDOW = 1
SERVER_RATE_LIMITING_DELAY = 0
SERVER_RATE_LIMITING_TRUST_PROXY = false
SERVER_RATE_LIMITING_SKIP_KEY =
SERVER_RATE_LIMITING_SKIP_TOKEN =

# Server rate limiting config
HIGHCHARTS_RATE_LIMIT_ENABLE = false
HIGHCHARTS_RATE_LIMIT_MAX = 10
HIGHCHARTS_RATE_LIMIT_WINDOW = false
HIGHCHARTS_RATE_LIMIT_DELAY = 0
HIGHCHARTS_RATE_LIMIT_TRUST_PROXY = false
HIGHCHARTS_RATE_LIMIT_SKIP_KEY =
HIGHCHARTS_RATE_LIMIT_SKIP_TOKEN =
# SERVER SSL CONFIG
SERVER_SSL_ENABLE = false
SERVER_SSL_FORCE = false
SERVER_SSL_PORT = 443
SERVER_SSL_CERT_PATH =

# Pool config
HIGHCHARTS_POOL_MIN_WORKERS = 8
HIGHCHARTS_POOL_MAX_WORKERS = 8
HIGHCHARTS_POOL_WORK_LIMIT = 40
HIGHCHARTS_POOL_ACQUIRE_TIMEOUT = 5000
HIGHCHARTS_POOL_CREATE_TIMEOUT = 5000
HIGHCHARTS_POOL_DESTROY_TIMEOUT = 5000
HIGHCHARTS_POOL_IDLE_TIMEOUT = 30000
HIGHCHARTS_POOL_CREATE_RETRY_INTERVAL = 200
HIGHCHARTS_POOL_REAPER_INTERVAL = 1000
HIGHCHARTS_POOL_BENCHMARKING = false
HIGHCHARTS_POOL_LISTEN_TO_PROCESS_EXITS = true
# POOL CONFIG
POOL_MIN_WORKERS = 4
POOL_MAX_WORKERS = 8
POOL_WORK_LIMIT = 40
POOL_ACQUIRE_TIMEOUT = 5000
POOL_CREATE_TIMEOUT = 5000
POOL_DESTROY_TIMEOUT = 5000
POOL_IDLE_TIMEOUT = 30000
POOL_CREATE_RETRY_INTERVAL = 200
POOL_REAPER_INTERVAL = 1000
POOL_BENCHMARKING = false

# Logging config
HIGHCHARTS_LOG_LEVEL = 4
HIGHCHARTS_LOG_FILE = highcharts-export-server.log
HIGHCHARTS_LOG_DEST = log/
# LOGGING CONFIG
LOGGING_LEVEL = 4
LOGGING_FILE = highcharts-export-server.log
LOGGING_DEST = log/
LOGGING_TO_CONSOLE = true
LOGGING_TO_FILE = true

# UI config
HIGHCHARTS_UI_ENABLE = true
HIGHCHARTS_UI_ROUTE = /
# UI CONFIG
UI_ENABLE = true
UI_ROUTE = /

# Other config
HIGHCHARTS_NO_LOGO = false
# OTHER CONFIG
OTHER_NODE_ENV = production
OTHER_LISTEN_TO_PROCESS_EXITS = true
OTHER_NO_LOGO = false
OTHER_HARD_RESET_PAGE = false
OTHER_BROWSER_SHELL_MODE = true

# Proxy config
PROXY_SERVER_HOST =
PROXY_SERVER_PORT =
PROXY_SERVER_TIMEOUT =
# DEBUG CONFIG
DEBUG_ENABLE = false
DEBUG_HEADLESS = true
DEBUG_DEVTOOLS = false
DEBUG_LISTEN_TO_CONSOLE = false
DEBUG_DUMPIO = false
DEBUG_SLOW_MO = 0
DEBUG_DEBUGGING_PORT = 9222
18 changes: 12 additions & 6 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,28 +1,34 @@
module.exports = {
env: {
browser: true,
es2021: true,
node: true
},
root: true,
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module'
},
plugins: ['import', 'prettier'],
extends: [
'eslint:recommended',
'plugin:import/recommended',
'plugin:prettier/recommended'
],
plugins: ['import', 'prettier'],
overrides: [
{
files: ['*.test.js', '*.spec.js'],
env: {
jest: true
}
}
],
rules: {
'no-unused-vars': 'off',
'no-unused-vars': 0,
'import/no-cycle': 2,
'prettier/prettier': [
'error',
{
singleQuote: true,
trailingComma: 'none',
semi: true,
tabWidth: 2,
endOfLine: require('os').EOL === '\r\n' ? 'crlf' : 'lf'
}
]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-and-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '16.4.0'
node-version: '18.x.x'

- name: Install Dependencies
run: npm ci
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/eslint-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: ESLint check

on: [ pull_request ]

jobs:
eslint:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x.x'

- name: Install Dependencies
run: npm install

- name: Run ESLint
id: eslint
continue-on-error: true
run: |
ESLINT_OUTPUT=$(npx eslint . --ext .js,.jsx,.ts,.tsx)
echo "::set-output name=result::$ESLINT_OUTPUT"
if [ -z "$ESLINT_OUTPUT" ]; then
echo "ESLint found no issues :white_check_mark:"
echo "::set-output name=status::success"
else
echo "$ESLINT_OUTPUT"
echo "::set-output name=status::failure"
exit 1
fi
- name: Success Message
if: steps.eslint.outputs.status == 'success'
run: echo "✅ ESLint check passed successfully!"

- name: Failure Message
if: failure()
run: echo "❌ ESLint check failed. Please fix the issues."
26 changes: 26 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Unit tests

on:
pull_request:
branches: [ master ]

jobs:
testing:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x.x'

- name: Install dependencies
run: npm ci

- name: Run unit tests
run: npm run unit:test
env:
CI: true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ log/
tests/_temp
tmp/
dist/
.cert/

.DS_Store
.cache
Expand All @@ -12,6 +13,8 @@ dist/

tests/**/_results/

resources.json

**/*.png
**/*.pdf
**/*.svg
Expand Down
2 changes: 2 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npm run lint
npm run unit:test
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules/
dist/*
README.md
5 changes: 3 additions & 2 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"semi": true,
"singleQuote": true,
"arrowParens": "always",
"tabWidth": 2,
"printWidth": 80,
"trailingComma": "none"
}

8 changes: 8 additions & 0 deletions .puppeteerrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const { join } = require('path');

/**
* @type {import("puppeteer").Configuration}
*/
module.exports = {
cacheDirectory: join(__dirname, 'node_modules', '.puppeteer-cache')
};
Loading

0 comments on commit 493fbb0

Please sign in to comment.