- Switched to pnpm - Updated to typescript 4.9.5 - JSX transforms switched to react-jsx - Use swc for typescript transforms - Remove deprecated dependencies - Cleanup unused types - Some ESM fixes - PostCSS config now lives in package.json - Bump support target TODO: - switch to vite or plain esbuild - jest to vitest / uvu - jquery to cash-dom - pure ESM (lodash-es, etc.) - drop prettier & husky (lint-staged is okay) - drop wasm cli & xterm.js - update bootstrap
154 lines
4.6 KiB
JSON
154 lines
4.6 KiB
JSON
{
|
|
"name": "blessing-skin-server",
|
|
"version": "6.0.2",
|
|
"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"
|
|
},
|
|
"type": "module",
|
|
"author": "printempw",
|
|
"license": "MIT",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "webpack serve",
|
|
"build": "webpack --env production --progress",
|
|
"lint": "eslint --ext=ts -f=beauty .",
|
|
"fmt": "prettier --write resources/assets tools webpack.config.ts",
|
|
"fmt:check": "prettier --check resources/assets tools webpack.config.ts",
|
|
"type:check": "tsc -p . --noEmit && tsc -p ./resources/assets/tests --noEmit",
|
|
"test": "jest",
|
|
"build:urls": "ts-node tools/generateUrls.ts",
|
|
"prepare": "husky install"
|
|
},
|
|
"dependencies": {
|
|
"@emotion/react": "^11.11.1",
|
|
"@emotion/styled": "^11.11.0",
|
|
"@fortawesome/fontawesome-free": "^6.4.0",
|
|
"@hot-loader/react-dom": "^17.0.2",
|
|
"@tweenjs/tween.js": "^21.0.0",
|
|
"admin-lte": "^3.2.0",
|
|
"blessing-skin-shell": "^0.3.4",
|
|
"bootstrap": "^4.6.2",
|
|
"cac": "6.7.14",
|
|
"cli-spinners": "^2.9.0",
|
|
"clsx": "^1.2.1",
|
|
"echarts": "^5.4.2",
|
|
"immer": "^10.0.2",
|
|
"jquery": "^3.7.0",
|
|
"lodash.debounce": "^4.0.8",
|
|
"nanoid": "^4.0.2",
|
|
"prompts": "^2.4.2",
|
|
"react": "^17.0.2",
|
|
"react-autosuggest": "^10.1.0",
|
|
"react-dom": "^17.0.2",
|
|
"react-draggable": "^4.4.5",
|
|
"react-hot-loader": "^4.13.1",
|
|
"react-loading-skeleton": "^3.3.1",
|
|
"react-use": "^17.4.0",
|
|
"reaptcha": "^1.12.1",
|
|
"rxjs": "^7.8.1",
|
|
"skinview-utils": "^0.7.0",
|
|
"skinview3d": "3.0.0-alpha.1",
|
|
"spectre.css": "^0.5.9",
|
|
"use-immer": "^0.9.0",
|
|
"xterm": "^5.2.1",
|
|
"xterm-addon-fit": "^0.7.0"
|
|
},
|
|
"devDependencies": {
|
|
"@gplane/tsconfig": "^5.0.0",
|
|
"@swc/register": "^0.1.10",
|
|
"@testing-library/jest-dom": "^5.16.5",
|
|
"@testing-library/react": "^12.1.5",
|
|
"@types/bootstrap": "^5.2.6",
|
|
"@types/jest": "^29.5.2",
|
|
"@types/jquery": "^3.5.16",
|
|
"@types/js-yaml": "^4.0.5",
|
|
"@types/lodash.debounce": "^4.0.7",
|
|
"@types/prompts": "^2.4.4",
|
|
"@types/react": "17",
|
|
"@types/react-autosuggest": "^10.1.6",
|
|
"@types/react-dom": "^17.0.20",
|
|
"@types/testing-library__jest-dom": "^5.14.7",
|
|
"@typescript-eslint/eslint-plugin": "^5.61.0",
|
|
"@typescript-eslint/parser": "^5.61.0",
|
|
"autoprefixer": "^10.4.14",
|
|
"css-loader": "^6.8.1",
|
|
"css-minimizer-webpack-plugin": "^5.0.1",
|
|
"eslint": "^8.44.0",
|
|
"eslint-formatter-beauty": "^3.0.0",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"html-webpack-plugin": "^5.5.3",
|
|
"husky": "^8.0.3",
|
|
"jest": "^29.6.1",
|
|
"jest-environment-jsdom": "^29.6.1",
|
|
"jest-extended": "^4.0.0",
|
|
"js-yaml": "^4.1.0",
|
|
"mini-css-extract-plugin": "^2.7.6",
|
|
"postcss": "^8.4.25",
|
|
"postcss-loader": "^7.3.3",
|
|
"prettier": "^2.8.8",
|
|
"pretty-quick": "^3.1.3",
|
|
"style-loader": "^3.3.3",
|
|
"ts-jest": "^29.1.1",
|
|
"ts-loader": "^9.4.4",
|
|
"typescript": "^4.9.5",
|
|
"webpack": "^5.88.1",
|
|
"webpack-cli": "^5.1.4",
|
|
"webpack-dev-server": "^4.15.1"
|
|
},
|
|
"browserslist": [
|
|
"Chrome >= 87",
|
|
"Firefox >= 84",
|
|
"iOS >= 12.5",
|
|
"not dead"
|
|
],
|
|
"prettier": {
|
|
"printWidth": 80,
|
|
"semi": false,
|
|
"singleQuote": true,
|
|
"trailingComma": "all",
|
|
"tabWidth": 2
|
|
},
|
|
"postcss": {
|
|
"autoprefixer": {}
|
|
},
|
|
"jest": {
|
|
"preset": "ts-jest",
|
|
"resetMocks": true,
|
|
"testEnvironment": "jsdom",
|
|
"moduleNameMapper": {
|
|
"\\.css$": "<rootDir>/resources/assets/tests/__mocks__/style.ts",
|
|
"\\.(png|webp)$": "<rootDir>/resources/assets/tests/__mocks__/file.ts",
|
|
"^@/(.*)$": "<rootDir>/resources/assets/src/$1"
|
|
},
|
|
"setupFilesAfterEnv": [
|
|
"<rootDir>/resources/assets/tests/setup.ts"
|
|
],
|
|
"coveragePathIgnorePatterns": [
|
|
"/node_modules/",
|
|
"<rootDir>/resources/assets/src/styles",
|
|
"<rootDir>/resources/assets/src/scripts/extra.ts",
|
|
"<rootDir>/resources/assets/src/scripts/urls.ts",
|
|
"<rootDir>/resources/assets/tests/setup",
|
|
"<rootDir>/resources/assets/tests/utils",
|
|
"<rootDir>/resources/assets/tests/scripts/cli/stdio"
|
|
],
|
|
"testMatch": [
|
|
"<rootDir>/resources/assets/tests/**/*.test.ts",
|
|
"<rootDir>/resources/assets/tests/**/*.test.tsx"
|
|
],
|
|
"testPathIgnorePatterns": [
|
|
"/node_modules/",
|
|
"<rootDir>/resources/assets/tests/(views|components)/.*\\.ts$"
|
|
],
|
|
"maxWorkers": "50%",
|
|
"globals": {
|
|
"ts-jest": {
|
|
"tsconfig": "<rootDir>/resources/assets/tests/tsconfig.json",
|
|
"isolatedModules": true
|
|
}
|
|
}
|
|
}
|
|
}
|