This commit is contained in:
leca 2025-01-29 11:45:29 +03:00
parent ec687faaf8
commit 6dafe854b6
6 changed files with 8786 additions and 0 deletions

11
.prettierrc.json Normal file
View File

@ -0,0 +1,11 @@
{
"plugins": ["prettier-plugin-jsdoc", "prettier-plugin-sql"],
"tabWidth": 4,
"printWidth": 160,
"singleQuote": false,
"trailingComma": "all",
"singleAttributePerLine": false,
"quoteProps": "preserve",
"bracketSpacing": true,
"language": "postgresql"
}

44
eslint.config.mjs Normal file
View File

@ -0,0 +1,44 @@
import eslint from '@eslint/js';
import node from 'eslint-plugin-node';
import jsdoc from 'eslint-plugin-jsdoc';
import prettier from 'eslint-plugin-prettier';
import unusedImports from 'eslint-plugin-unused-imports';
import globals from 'globals';
export default [
eslint.configs.recommended,
// prettier.configs.recommended,
{
files: ['src/**/*.js', 'src/**/*.d.js', 'src/**/*.dto.js', 'src/**/*.cjs'],
languageOptions: {
sourceType: 'module',
globals: {
...globals.node,
atob: 'readonly',
structuredClone: 'readonly',
},
},
plugins: {
node,
prettier,
jsdoc,
unusedImports,
},
rules: {
'no-async-promise-executor': 'off',
'jsdoc/check-param-names': 'error',
'jsdoc/check-types': 'error',
'jsdoc/require-param-type': 'error',
'jsdoc/require-returns-type': 'error',
'jsdoc/check-syntax': 'error',
'jsdoc/valid-types': 'warn',
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],
...prettier.configs.recommended.rules,
},
},
{ ignores: ['node_modules', '.dev', '.devsrc', '.local', '**/*.test.ts', '**/*.test.js', 'src/global.d.ts'] },
];

8667
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

46
package.json Normal file
View File

@ -0,0 +1,46 @@
{
"name": "",
"version": "0.0.1",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"dev":"nodemon src/index.js"
},
"imports": {
"#*": [
"./src/*"
]
},
"author": "leca",
"license": "WTFPL",
"dependencies": {
"axios": "^1.6.2",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"knex": "^3.0.1",
"log4js": "^6.9.1",
"pg": "^8.11.3",
"zod": "^3.23.8"
},
"devDependencies": {
"@babel/core": "^7.23.6",
"@babel/preset-env": "^7.23.6",
"@babel/preset-typescript": "^7.24.7",
"@types/axios": "^0.14.0",
"@types/express": "^4.17.21",
"@types/jest": "^29.5.11",
"babel-jest": "^29.7.0",
"eslint": "^9.13.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jsdoc": "^50.3.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-unused-imports": "^4.1.4",
"jest": "^29.7.0",
"nodemon": "^3.1.9",
"prettier": "^3.3.3",
"prettier-plugin-jsdoc": "^1.3.0",
"prettier-plugin-sql": "^0.18.1"
}
}

0
src/index.js Normal file
View File

18
tsconfig.json Normal file
View File

@ -0,0 +1,18 @@
{
"compilerOptions": {
"strict": true,
"module": "NodeNext",
"target": "es2017",
"baseUrl": "./",
"paths": {
"#*": ["./src/*"]
},
"esModuleInterop": true,
"allowJs": true,
"checkJs": true,
"noEmit": true,
"skipLibCheck": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "src/**/*.test.*", "src/**/*.spec.*"]
}