{ "name": "novelai", "description": "GPT-Powered AI Storyteller", "author": "NovelAI", "license": "UNLICENSED", "version": "0.1.0", "homepage": "./", "repository": { "type": "git", "url": "https://github.com/NovelAI/novelai-web" }, "private": true, "type": "commonjs", "packageManager": "pnpm@7.11.0", "scripts": { "start": "concurrently -m 1 npm:start:clean npm:start:start", "start:clean": "rimraf .next", "start:start": "cross-env NODE_ENV=development NODE_OPTIONS='--max-old-space-size=16384' node dev-server.js", "build": "concurrently -m 1 npm:build:clean npm:build:build npm:build:export npm:build:postexport", "build:clean": "rimraf -o build .next", "build:build": "cross-env NODE_ENV=production NODE_OPTIONS='--max-old-space-size=8192' next build", "build:start": "cross-env NODE_ENV=production next start", "build:export": "cross-env NODE_ENV=production next export -o build", "build:postexport": "rimraf build/**/*.map", "check": "concurrently npm:check:types npm:check:lint npm:check:test", "check:lint": "next lint", "check:test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest", "check:types": "tsc", "check:test:ci": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --ci", "prepare": "simple-git-hooks" }, "dependencies": { "@emotion/is-prop-valid": "^1.2.0", "@popperjs/core": "^2.11.6", "@sentry/nextjs": "^7.14.1", "@sentry/tracing": "^7.14.1", "@szhsin/react-menu": "^3.2.0", "chardet": "^1.4.0", "compromise": "^14.5.0", "dayjs": "^1.11.5", "diff-match-patch": "^1.0.5", "express": "^4.18.2", "fflate": "^0.7.4", "file-saver": "^2.0.5", "framer-motion": "^7.5.1", "html-entities": "^2.3.3", "html-to-image": "^1.10.8", "http-proxy-middleware": "^2.0.6", "idb": "^7.1.0", "js-cookie": "^3.0.1", "jszip": "^3.10.1", "libsodium-wrappers": "^0.7.10", "moize": "^6.1.3", "msgpackr": "1.7.2", "nprogress": "^0.2.0", "omnibus-rxjs": "^1.3.0", "pnpm": "^7.13.2", "polished": "^4.2.2", "prop-types": "^15.8.1", "prosemirror-history": "^1.3.0", "prosemirror-model": "^1.18.1", "prosemirror-state": "^1.4.1", "prosemirror-transform": "^1.7.0", "prosemirror-view": "1.29.0", "rambda": "^7.3.0", "react": "^18.2.0", "react-canvas-confetti": "^1.3.0", "react-colorful": "^5.6.1", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "^18.2.0", "react-icons": "^4.4.0", "react-is": "^18.2.0", "react-joyride": "^2.5.3", "react-lazy-load-image-component": "^1.5.5", "react-popper": "^2.3.0", "react-select": "^5.4.0", "react-smooth-scroll-hook": "^1.3.4", "react-textarea-autosize": "^8.3.4", "react-toastify": "^9.0.8", "react-tsparticles": "^2.3.3", "recharts": "=2.1.12", "recoil": "^0.7.5", "reseter.css": "^2.0.0", "rxjs": "^7.5.7", "safari-14-idb-fix": "^3.0.0", "serializr": "^2.0.5", "sse.js": "^0.6.1", "styled-components": "^5.3.6", "tern": "^0.24.3", "ts_dependency_graph": "^1.4.1", "tsparticles": "^2.3.4", "tsparticles-engine": "^2.3.3", "typescript-fsa": "^3.0.0", "typewriter-effect": "^2.19.0", "uuid": "^9.0.0", "w3c-keyname": "^2.2.6", "webfontloader": "^1.6.28" }, "devDependencies": { "@babel/core": "^7.19.3", "@babel/preset-env": "^7.19.3", "@jest/globals": "^29.1.2", "@next/bundle-analyzer": "^12.3.1", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@types/diff-match-patch": "^1.0.32", "@types/file-saver": "^2.0.5", "@types/js-cookie": "^3.0.2", "@types/libsodium-wrappers": "^0.7.9", "@types/node": "^18.8.0", "@types/nprogress": "^0.2.0", "@types/prosemirror-dev-tools": "^3.0.2", "@types/react": "^18.0.21", "@types/react-dom": "^18.0.6", "@types/react-lazy-load-image-component": "^1.5.2", "@types/styled-components": "^5.1.26", "@types/uuid": "^8.3.4", "@types/webfontloader": "^1.6.35", "@types/webpack-env": "^1.18.0", "@typescript-eslint/eslint-plugin": "^5.38.1", "@typescript-eslint/parser": "^5.38.1", "concurrently": "^7.4.0", "cross-env": "^7.0.3", "dependency-cruiser": "^11.16.1", "eslint": "^8.24.0", "eslint-config-next": "^12.3.1", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-typescript": "^3.5.1", "eslint-plugin-compat": "^4.0.2", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.6.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.31.8", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-unicorn": "^43.0.2", "intercept-stdout": "^0.1.2", "jest": "^29.1.2", "jest-environment-jsdom": "^29.1.2", "lint-staged": "^13.0.3", "next": "^12.2.6", "prettier": "^2.7.1", "prosemirror-dev-tools": "^3.1.0", "rimraf": "^3.0.2", "simple-git-hooks": "^2.8.0", "typescript": "^4.8.4", "user-agent-data-types": "^0.3.0", "webcrypto": "^0.1.1", "webpack": "^5.74.0" } }