mirror of
https://github.com/remnawave/node.git
synced 2026-08-31 23:53:30 +00:00
chore: update XRAY_CORE_VERSION in Dockerfile to v26.6.27, and adjust dependencies
This commit is contained in:
parent
87049e46d8
commit
7ca4d00cd1
7 changed files with 1119 additions and 627 deletions
56
.oxfmtrc.json
Normal file
56
.oxfmtrc.json
Normal 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
28
.oxlintrc.json
Normal 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"
|
||||
}
|
||||
}
|
||||
21
.prettierrc
21
.prettierrc
|
|
@ -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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
1431
package-lock.json
generated
File diff suppressed because it is too large
Load diff
39
package.json
39
package.json
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue