Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .eslintignore

This file was deleted.

19 changes: 0 additions & 19 deletions .eslintrc

This file was deleted.

26 changes: 26 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
module.exports = {
parser: '@typescript-eslint/parser',
extends: [
'eslint:recommended',
'prettier'
],
plugins: ['@typescript-eslint', 'prettier'],
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module'
},
env: {
node: true,
es6: true,
mocha: true
},
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-unused-vars': 'error',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-non-null-assertion': 'warn'
},
ignorePatterns: ['lib/', 'node_modules/', '*.js']
};
8 changes: 8 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 100,
"tabWidth": 2,
"useTabs": false
}
110 changes: 110 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
import js from '@eslint/js';
import tseslint from 'typescript-eslint';
import prettier from 'eslint-plugin-prettier';
import globals from 'globals';

export default [
// Base JavaScript configuration
js.configs.recommended,
{
languageOptions: {
globals: {
...globals.node,
},
},
plugins: {
prettier,
},
rules: {
'prettier/prettier': 'error',
'no-unused-vars': 'off',
'no-console': 'warn',
'prefer-const': 'error',
'no-var': 'error',
},
},

// JavaScript files - more lenient
// {
// files: ['**/*.js'],
// rules: {
// '@typescript-eslint/no-require-imports': 'off',
// '@typescript-eslint/no-var-requires': 'off',
// 'no-undef': 'off', // Allow global requires in JS files
// },
// },

// TypeScript configuration - only for .ts files except test
...tseslint.configs.recommended,
{
files: ['**/*.ts'],
ignores: ['test/**/*', '**/*.test.ts', '**/*.spec.ts'],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
project: './tsconfig.build.json',
},
},
rules: {
'@typescript-eslint/no-unused-vars': 'error',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-non-null-assertion': 'warn',
'@typescript-eslint/no-require-imports': 'error',
'@typescript-eslint/no-var-requires': 'error',
'@typescript-eslint/no-empty-object-type': 'warn',
'@typescript-eslint/no-unsafe-function-type': 'warn',
},
},

// Test files - no project for TypeScript
{
files: ['test/**/*.{js,ts}', '**/*.test.{js,ts}', '**/*.spec.{js,ts}'],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
// No project for test files
},
globals: {
describe: 'readonly',
it: 'readonly',
before: 'readonly',
after: 'readonly',
beforeEach: 'readonly',
afterEach: 'readonly',
expect: 'readonly',
},
},
rules: {
'no-console': 'off',
'@typescript-eslint/no-unused-vars': 'off', // Test files often have unused setup vars
'@typescript-eslint/no-explicit-any': 'off', // Test files often need any for mocking
'@typescript-eslint/no-require-imports': 'off', // Allow require in tests
'@typescript-eslint/no-var-requires': 'off', // Allow require in tests
},
},

// Examples - more lenient
{
files: ['examples/**/*.{js,ts}'],
rules: {
'no-console': 'off',
'@typescript-eslint/no-unused-vars': 'warn',
},
},

// Ignore patterns
{
ignores: [
'lib/**/*',
'node_modules/**/*',
'docs/**/*',
'coverage/**/*',
'*.min.js',
'dist/**/*',
'**/*.js',

],
},
];
1 change: 0 additions & 1 deletion examples/game/game.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
/**
* This example demonstrates using HTML5 games with Telegram.
*/
/* eslint-disable no-console */

const TOKEN = process.env.TELEGRAM_TOKEN || 'YOUR_TELEGRAM_BOT_TOKEN';
const gameName = process.env.TELEGRAM_GAMENAME || 'YOUR_TELEGRAM_GAMENAME';
Expand Down
2 changes: 2 additions & 0 deletions examples/polling.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=polling.d.ts.map
1 change: 1 addition & 0 deletions examples/polling.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

122 changes: 55 additions & 67 deletions examples/polling.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions examples/polling.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading