blessing-skin-server/package.json
2020-03-20 16:19:28 +08:00

241 lines
6.1 KiB
JSON

{
"name": "blessing-skin-server",
"version": "5.0.0-beta.5",
"description": "A web application brings your custom skins back in offline Minecraft servers.",
"repository": {
"type": "git",
"url": "https://github.com/bs-community/blessing-skin-server"
},
"author": "printempw",
"license": "MIT",
"private": true,
"scripts": {
"dev": "webpack-dev-server",
"build": "webpack --mode=production -p --progress",
"lint": "eslint --ext=js,vue,ts -f=beauty .",
"test": "jest"
},
"dependencies": {
"@babel/runtime": "^7.8.0",
"@fortawesome/fontawesome-free": "^5.12.0",
"@hot-loader/react-dom": "^16.11.0",
"@tweenjs/tween.js": "^18.4.2",
"admin-lte": "^3.0.1",
"blessing-skin-shell": "^0.1.0",
"echarts": "^4.6.0",
"jquery": "^3.4.1",
"lodash.debounce": "^4.0.8",
"nanoid": "^2.1.11",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-draggable": "^4.2.0",
"react-hot-loader": "^4.12.18",
"rxjs": "^6.5.3",
"skinview-utils": "^0.2.1",
"skinview3d": "^1.2.1",
"spectre.css": "^0.5.8",
"vue": "^2.6.11",
"vue-good-table": "^2.18.1",
"vue-recaptcha": "^1.2.0",
"vuejs-paginate": "^2.1.0",
"xterm": "^4.4.0",
"xterm-addon-fit": "^0.3.0"
},
"devDependencies": {
"@babel/core": "^7.8.7",
"@babel/plugin-transform-runtime": "^7.8.3",
"@babel/preset-env": "^7.8.7",
"@gplane/tsconfig": "^1.0.0",
"@testing-library/jest-dom": "^5.0.2",
"@testing-library/react": "^9.4.0",
"@types/bootstrap": "^4.3.1",
"@types/echarts": "^4.4.2",
"@types/jest": "^24.0.25",
"@types/jquery": "^3.3.29",
"@types/js-yaml": "^3.12.2",
"@types/lodash.debounce": "^4.0.6",
"@types/nanoid": "^2.1.0",
"@types/react": "^16.9.17",
"@types/react-dom": "^16.9.4",
"@types/tween.js": "^17.2.0",
"@types/webpack": "^4.41.2",
"@typescript-eslint/eslint-plugin": "^2.8.0",
"@typescript-eslint/parser": "^2.8.0",
"@vue/test-utils": "^1.0.0-beta.29",
"autoprefixer": "^9.7.3",
"babel-jest": "^24.9.0",
"babel-loader": "^8.0.6",
"babel-plugin-dynamic-import-node": "^2.3.0",
"cache-loader": "^4.1.0",
"css-loader": "^3.4.2",
"eslint": "^6.7.1",
"eslint-config-gplane": "^6.2.1",
"eslint-formatter-beauty": "^3.0.0",
"eslint-plugin-vue": "^6.1.2",
"file-loader": "^5.0.2",
"jest": "^24.9.0",
"jest-extended": "^0.11.2",
"js-yaml": "^3.13.1",
"mini-css-extract-plugin": "^0.9.0",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"postcss-loader": "^3.0.0",
"sass": "^1.25.0",
"sass-loader": "^8.0.2",
"style-loader": "^1.1.2",
"stylus": "^0.54.7",
"stylus-loader": "^3.0.2",
"ts-jest": "^24.3.0",
"ts-loader": "^6.2.1",
"typescript": "^3.8.3",
"url-loader": "^3.0.0",
"vue-jest": "^4.0.0-beta.2",
"vue-loader": "^15.8.3",
"vue-template-compiler": "^2.6.11",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.10.1",
"webpack-manifest-plugin": "^2.2.0"
},
"resolutions": {
"caniuse-lite": "*"
},
"browserslist": [
"> 1%",
"not dead",
"not ie 11",
"Chrome > 52"
],
"prettier": {
"printWidth": 80,
"semi": false,
"singleQuote": true,
"trailingComma": "all",
"arrowParens": "avoid",
"tabWidth": 2
},
"eslintConfig": {
"root": true,
"extends": [
"gplane",
"gplane/vue"
],
"parser": "vue-eslint-parser",
"env": {
"node": true,
"es6": true,
"jquery": true
},
"globals": {
"blessing": "readonly"
},
"rules": {
"camelcase": [
2,
{
"properties": "never",
"ignoreDestructuring": true
}
],
"max-len": [
2,
120
],
"prefer-destructuring": 0
},
"overrides": [
{
"files": [
"*.ts"
],
"extends": [
"gplane",
"gplane/typescript",
"gplane/vue"
],
"parserOptions": {
"parser": "@typescript-eslint/parser"
},
"plugins": [
"@typescript-eslint"
],
"rules": {
"@typescript-eslint/camelcase": [
2,
{
"properties": "never",
"ignoreDestructuring": true
}
],
"@typescript-eslint/no-invalid-this": 0,
"@typescript-eslint/no-unnecessary-condition": 0,
"no-invalid-this": 0
}
},
{
"files": [
"resources/assets/tests/**/*.ts",
"*.d.ts"
],
"rules": {
"@typescript-eslint/no-empty-function": 0,
"@typescript-eslint/unbound-method": 0,
"@typescript-eslint/no-extra-parens": 0,
"max-len": [
2,
120
]
}
},
{
"files": [
"resources/assets/src/components/mixins/*.ts"
],
"rules": {
"@typescript-eslint/no-extra-parens": 0
}
}
]
},
"jest": {
"preset": "ts-jest",
"resetMocks": true,
"timers": "fake",
"transform": {
".*\\.js$": "babel-jest",
".*\\.tsx?$": "ts-jest",
".*\\.vue$": "vue-jest"
},
"moduleFileExtensions": [
"js",
"ts",
"tsx",
"vue",
"json",
"node"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/resources/assets/src/$1",
"\\.(s?css|styl)$": "<rootDir>/resources/assets/tests/__mocks__/style.ts",
"\\.(png|jpg)$": "<rootDir>/resources/assets/tests/__mocks__/file.ts"
},
"setupFilesAfterEnv": [
"<rootDir>/resources/assets/tests/setup.ts"
],
"coveragePathIgnorePatterns": [
"/node_modules/",
"<rootDir>/resources/assets/tests/setup",
"<rootDir>/resources/assets/tests/utils"
],
"testMatch": [
"<rootDir>/resources/assets/tests/**/*.test.ts",
"<rootDir>/resources/assets/tests/**/*.test.tsx"
],
"globals": {
"ts-jest": {
"tsConfig": "<rootDir>/resources/assets/tests/tsconfig.json",
"isolatedModules": true
}
}
}
}