UNPKG

@neabyte/chart-to-image

Version:

Convert trading charts to images using Node.js canvas with advanced features: 6 chart types, VWAP/EMA/SMA indicators, custom colors, themes, hide elements, scaling, and PNG/JPEG export formats.

93 lines (88 loc) 2.41 kB
import js from '@eslint/js' import tseslint from '@typescript-eslint/eslint-plugin' import tsparser from '@typescript-eslint/parser' import importPlugin from 'eslint-plugin-import' import sonarjs from 'eslint-plugin-sonarjs' import prettier from 'eslint-config-prettier' export default [ js.configs.recommended, { files: ['**/*.ts'], languageOptions: { parser: tsparser, parserOptions: { ecmaVersion: 'latest', sourceType: 'module', ecmaFeatures: { jsx: true } }, globals: { console: 'readonly', process: 'readonly', Buffer: 'readonly', __dirname: 'readonly', __filename: 'readonly', global: 'readonly', module: 'readonly', require: 'readonly', exports: 'readonly', setTimeout: 'readonly', clearTimeout: 'readonly', setInterval: 'readonly', clearInterval: 'readonly', document: 'readonly', window: 'readonly', btoa: 'readonly', atob: 'readonly', HTMLCanvasElement: 'readonly', HTMLElement: 'readonly', CanvasRenderingContext2D: 'readonly' } }, plugins: { '@typescript-eslint': tseslint, import: importPlugin, sonarjs: sonarjs }, rules: { // TypeScript rules '@typescript-eslint/no-unused-vars': 'error', '@typescript-eslint/explicit-function-return-type': 'warn', '@typescript-eslint/no-explicit-any': 'warn', // General rules 'semi': ['error', 'never'], 'quotes': ['error', 'single'], 'comma-dangle': ['error', 'never'], 'no-trailing-spaces': 'error', 'eol-last': 'error', // Import rules 'import/order': [ 'error', { 'groups': [ 'builtin', 'external', 'internal', 'parent', 'sibling', 'index' ], 'newlines-between': 'always', 'alphabetize': { 'order': 'asc', 'caseInsensitive': true } } ], // SonarJS rules 'sonarjs/cognitive-complexity': ['error', 15], 'sonarjs/no-duplicate-string': 'warn', // Code style 'curly': ['error', 'all'], 'no-inline-comments': 'error', 'no-undef': 'error' } }, prettier ]