{ "name": "juick", "private": true, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "compile:css": "postcss --verbose --map style.css.map src/main/assets/style.css -d src/main/resources/static/", "compile:js": "webpack", "compile": "cross-env NODE_ENV=production concurrently \"npm run compile:css\" \"npm run compile:js\"", "lint": "eslint .", "vnext:test": "jest", "vnext:build:css": "postcss --verbose --map style.css.map vnext/src/index.css -d public/", "vnext:build:js": "esbuild vnext/src/index.js --bundle --target=safari11 --loader:.js=jsx --loader:.png=file --loader:.svg=file --outdir=public", "vnext:build": "cross-env NODE_ENV=production concurrently \"npm run vnext:build:css\" \"npm run vnext:build:js -- --sourcemap --keep-names --minify\"", "vnext:build:ssr": "npm run vnext:build && esbuild --bundle --sourcemap --minify --keep-names --platform=node --target=node18 --loader:.js=jsx --loader:.png=file --loader:.svg=file --outfile=public/server.js vnext/server/index.js", "vnext:start-ssr": "npm run vnext:build:ssr && cross-env DEBUG=http node public/server.js", "vnext:start": "cross-env NODE_ENV=development concurrently \"npm run vnext:build:js -- --watch\" \"npm run vnext:build:css -- -w\" \"live-server -V --entry-file=index.html public/\"", "vnext:lint": "eslint vnext/src/**/*.js" }, "repository": { "type": "git", "url": "https://github.com/juick/juick.git" }, "license": "AGPL-3.0-or-later", "babel": { "presets": [ [ "@babel/preset-env", { "corejs": 3, "useBuiltIns": "entry", "modules": false, "exclude": [ "es.symbol.*" ] } ] ] }, "devDependencies": { "@babel/core": "^7.21.0", "@babel/preset-env": "^7.20.2", "@swc/core": "^1.3.37", "@swc/jest": "^0.2.24", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", "@typescript-eslint/eslint-plugin": "^5.54.0", "babel-loader": "^9.1.2", "concurrently": "^7.6.0", "copy-webpack-plugin": "^11.0.0", "core-js": "^3.29.0", "cross-env": "^7.0.3", "cssnano": "^5.1.15", "esbuild": "^0.17.11", "eslint": "8.35.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-jest": "^27.2.1", "eslint-plugin-jest-dom": "^4.0.3", "eslint-plugin-jsdoc": "^40.0.1", "eslint-plugin-only-ascii": "0.0.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-testing-library": "^5.10.2", "eslint-webpack-plugin": "^4.0.0", "file-loader": "^6.2.0", "jest": "^29.4.3", "jest-environment-jsdom": "^29.4.3", "live-server": "^1.2.2", "postcss": "^8.4.21", "postcss-cli": "^10.1.0", "postcss-import": "^15.1.0", "postcss-preset-env": "^8.0.1", "postcss-url": "^10.1.3", "react-test-renderer": "^18.2.0", "regenerator-runtime": "^0.13.11", "stylelint": "^15.2.0", "stylelint-config-standard": "^30.0.1", "webpack": "^5.75.0", "webpack-cli": "^5.0.1" }, "dependencies": { "axios": "^1.3.4", "axios-cache-interceptor": "^1.0.1", "body-parser": "^1.20.2", "classlist.js": "^1.1.20150312", "config": "^3.3.9", "dayjs": "^1.11.7", "element-closest": "3.0.2", "evil-icons": "^1.10.1", "express": "^4.18.2", "formdata-polyfill": "^4.0.10", "mailparser": "^3.6.4", "node-pushnotifications": "^2.0.3", "node-telegram-bot-api": "^0.61.0", "react": "^18.2.0", "react-content-loader": "^6.2.0", "react-cookie": "^4.1.1", "react-dom": "^18.2.0", "react-helmet": "^6.1.0", "react-hook-form": "^7.43.4", "react-hot-toast": "^2.4.0", "react-router-dom": "^6.8.2", "svg4everybody": "^2.1.9", "url-polyfill": "^1.1.12", "whatwg-fetch": "^3.6.2", "xml2js": "^0.4.23" } }