chore: update XRAY_CORE_VERSION in Dockerfile to v26.6.27, and adjust dependencies

This commit is contained in:
kastov 2026-06-27 20:45:26 +03:00
parent 87049e46d8
commit 7ca4d00cd1
No known key found for this signature in database
GPG key ID: 1B27BE29057F4C90
7 changed files with 1119 additions and 627 deletions

56
.oxfmtrc.json Normal file
View file

@ -0,0 +1,56 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"tabWidth": 4,
"singleQuote": true,
"printWidth": 100,
"ignorePatterns": ["node_modules"],
"overrides": [
{
"files": [
"*.json",
"**/*.json",
"*.jsonc",
"**/*.jsonc",
"*.yaml",
"**/*.yaml",
"*.yml",
"**/*.yml",
"*.md",
"**/*.md"
],
"options": { "tabWidth": 2 }
}
],
"sortImports": {
"newlinesBetween": true,
"internalPattern": ["~/**"],
"groups": [
"type",
["value-builtin", "value-external"],
"type-internal",
"value-internal",
"nestJs",
"remnawave",
"aliasCommon",
{ "newlinesBetween": false },
"aliasLibs",
"aliasIntegrationModules",
"aliasModules",
"aliasScheduler",
"aliasQueue",
["type-parent", "type-sibling", "type-index"],
["value-parent", "value-sibling", "value-index"],
"unknown"
],
"customGroups": [
{ "groupName": "nestJs", "elementNamePattern": ["@nestjs/**"] },
{ "groupName": "remnawave", "elementNamePattern": ["@remnawave/**"] },
{ "groupName": "aliasCommon", "elementNamePattern": ["@common/**"] },
{ "groupName": "aliasLibs", "elementNamePattern": ["@libs/**"] },
{ "groupName": "aliasIntegrationModules", "elementNamePattern": ["@integration-modules/**"] },
{ "groupName": "aliasModules", "elementNamePattern": ["@modules/**"] },
{ "groupName": "aliasScheduler", "elementNamePattern": ["@scheduler/**"] },
{ "groupName": "aliasQueue", "elementNamePattern": ["@queue/**"] }
]
}
}

28
.oxlintrc.json Normal file
View file

@ -0,0 +1,28 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"jsPlugins": ["eslint-plugin-perfectionist"],
"plugins": ["typescript", "eslint", "import", "unicorn", "oxc", "node", "promise"],
"env": { "node": true },
"categories": { "correctness": "error" },
"ignorePatterns": ["node_modules", "**/*.js", "**/*.d.ts"],
"rules": {
"perfectionist/sort-decorators": [
"error",
{
"type": "alphabetical",
"order": "asc",
"groups": ["unknown", "httpCodes", "filters", "controllers", "nestJSMethods"],
"customGroups": [
{ "groupName": "httpCodes", "elementNamePattern": "^HttpCode$" },
{ "groupName": "filters", "elementNamePattern": "^UseFilters$" },
{ "groupName": "controllers", "elementNamePattern": "^Controller$" },
{
"groupName": "nestJSMethods",
"elementNamePattern": "^(Post|Get|Put|Delete|Patch|Options|Head)$"
}
]
}
],
"no-console": "warn"
}
}

View file

@ -1,21 +0,0 @@
{
"bracketSpacing": true,
"tabWidth": 4,
"printWidth": 100,
"singleQuote": true,
"trailingComma": "all",
"overrides": [
{
"files": ["*.js", "*.jsx", "*.ts", "*.tsx"],
"options": {
"parser": "typescript"
}
},
{
"files": ["*.md", "*.json", "*.yaml", "*.yml"],
"options": {
"tabWidth": 2
}
}
]
}

View file

@ -14,7 +14,7 @@ RUN npm run build \
FROM alpine:3.21 AS xray
ARG XRAY_CORE_VERSION=v26.6.22
ARG XRAY_CORE_VERSION=v26.6.27
ARG UPSTREAM_REPO=XTLS
ARG XRAY_CORE_INSTALL_SCRIPT=https://raw.githubusercontent.com/remnawave/scripts/main/scripts/install-xray.sh
ARG ASN_LMDB_URL=https://github.com/remnawave/asn-index/releases/latest/download/asn-prefixes-lmdb.tar.gz

View file

@ -1,169 +0,0 @@
import typescriptEslintEslintPlugin from '@typescript-eslint/eslint-plugin';
import perfectionist from 'eslint-plugin-perfectionist';
import tsParser from '@typescript-eslint/parser';
import { FlatCompat } from '@eslint/eslintrc';
import { fileURLToPath } from 'node:url';
import paths from 'eslint-plugin-paths';
import globals from 'globals';
import path from 'node:path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
});
export default [
{
ignores: [
'**/.eslintrc.js',
'prisma/**/*',
'.hygen.js',
'.hygen/**/*',
'webpack.config.js',
],
},
...compat.extends('plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'),
perfectionist.configs['recommended-alphabetical'],
{
plugins: {
'@typescript-eslint': typescriptEslintEslintPlugin,
paths,
},
languageOptions: {
globals: {
...globals.node,
},
parser: tsParser,
ecmaVersion: 'latest',
sourceType: 'commonjs',
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir: __dirname,
},
},
rules: {
'perfectionist/sort-imports': [
'error',
{
type: 'line-length',
order: 'desc',
ignoreCase: true,
specialCharacters: 'keep',
internalPattern: ['^~/.+'],
tsconfigRootDir: '.',
partitionByComment: false,
partitionByNewLine: false,
newlinesBetween: 'always',
maxLineLength: undefined,
tsconfigRootDir: __dirname,
groups: [
'type',
['builtin', 'external'],
'internal-type',
'internal',
'nestJs',
'remnawave',
'aliasCommon',
{ newlinesBetween: 'never' },
'aliasLibs',
'aliasIntegrationModules',
'aliasModules',
'aliasScheduler',
'aliasQueue',
['parent-type', 'sibling-type', 'index-type'],
['parent', 'sibling', 'index'],
'object',
'unknown',
],
customGroups: {
value: {
aliasModules: '@modules/*.',
aliasCommon: '@common/*.',
aliasLibs: '@libs/*.',
aliasIntegrationModules: '@integration-modules/*.',
aliasScheduler: '@scheduler/*.',
aliasQueue: '@queue/*.',
remnawave: '@remnawave/*.',
nestJs: '@nestjs/*.',
},
},
environment: 'node',
},
],
'perfectionist/sort-decorators': [
'error',
{
groups: [
'unknown',
'httpCodes',
'filters',
'guards',
'controllers',
'nestJSMethods',
],
customGroups: {
httpCodes: ['HttpCode'],
filters: ['UseFilters'],
guards: ['UseGuards'],
controllers: ['Controller'],
nestJSMethods: ['Post', 'Get', 'Put', 'Delete', 'Patch', 'Options', 'Head'],
},
},
],
'perfectionist/sort-objects': ['off'],
'perfectionist/sort-classes': ['off'],
'perfectionist/sort-switch-case': ['off'],
'perfectionist/sort-object-types': ['off'],
'perfectionist/sort-interfaces': ['off'],
'perfectionist/sort-union-types': ['off'],
'perfectionist/sort-named-imports': ['off'],
'perfectionist/sort-modules': ['off'],
'paths/alias': 'error',
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-namespace': 'off',
'linebreak-style': 0,
'no-console': 'warn',
'prettier/prettier': [
'error',
{
bracketSpacing: true,
tabWidth: 4,
printWidth: 100,
singleQuote: true,
trailingComma: 'all',
overrides: [
{
files: ['*.js', '*.jsx', '*.ts', '*.tsx'],
options: {
parser: 'typescript',
},
},
{
files: ['*.md', '*.json', '*.yaml', '*.yml'],
options: {
tabWidth: 2,
},
},
],
},
],
},
},
];

1431
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,34 +1,35 @@
{
"name": "@remnawave/node",
"version": "2.8.0",
"description": "Remnawave Node",
"private": false,
"type": "commonjs",
"description": "Remnawave Node",
"homepage": "https://github.com/remnawave",
"bugs": {
"url": "https://github.com/remnawave/node/issues"
},
"license": "AGPL-3.0-only",
"author": "REMNAWAVE <github.com/remnawave>",
"homepage": "https://github.com/remnawave",
"repository": {
"type": "git",
"url": "git+https://github.com/remnawave/node.git"
},
"bugs": {
"url": "https://github.com/remnawave/node/issues"
},
"bin": {
"cli": "dist/cli.js"
},
"type": "commonjs",
"scripts": {
"build": "nest build",
"trace": "node scripts/trace.mjs",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
"start:dev": "NODE_ENV=development nest start --watch",
"start:debug": "NODE_ENV=development nest start --debug --watch",
"start:prod": "NODE_ENV=production node --max-http-header-size=65536 dist/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
"lint:fix": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"lint:fix:imports": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix --rule 'perfectionist/sort-imports: error'",
"knip": "knip"
"format": "oxfmt --check",
"format:fix": "oxfmt",
"lint": "oxlint",
"lint:fix": "oxlint --fix",
"check": "oxfmt --check && oxlint",
"fix": "oxfmt && oxlint --fix"
},
"dependencies": {
"@henrygd/semaphore": "0.1.0",
@ -43,7 +44,7 @@
"@nestjs/schedule": "^6.1.3",
"@remnawave/hashed-set": "^0.0.4",
"@remnawave/node-plugins": "0.4.5",
"@remnawave/xtls-sdk": "0.15.0",
"@remnawave/xtls-sdk": "0.16.0",
"@remnawave/xtls-sdk-nestjs": "0.6.1",
"compression": "^1.8.1",
"consola": "^3.4.2",
@ -80,20 +81,14 @@
"@types/object-hash": "^3.0.6",
"@types/passport-jwt": "^4.0.1",
"@types/semver": "^7.7.1",
"@typescript-eslint/eslint-plugin": "8.49.0",
"@typescript-eslint/parser": "8.49.0",
"eslint": "9.39.1",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-paths": "^1.1.0",
"eslint-plugin-perfectionist": "^4.15.1",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-perfectionist": "5.9.1",
"knip": "^5.73.3",
"nf3": "^0.3.17",
"prettier": "^3.7.4",
"oxfmt": "^0.56.0",
"oxlint": "^1.71.0",
"source-map-support": "^0.5.21",
"ts-loader": "9.5.4",
"ts-node": "10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.9.3"
},
"overrides": {
@ -101,4 +96,4 @@
"multer": "2.2.0"
}
}
}
}