{ "name": "pinafore", "description": "Alternative web client for Mastodon", "version": "1.15.4", "scripts": { "lint": "standard && standard --plugin html 'src/routes/**/*.html'", "lint-fix": "standard --fix && standard --fix --plugin html 'src/routes/**/*.html'", "dev": "run-s build-template-html build-assets serve-dev", "serve-dev": "run-p --race build-template-html-watch sapper-dev", "sapper-dev": "cross-env NODE_ENV=development PORT=4002 sapper dev", "before-build": "run-s build-template-html build-assets", "build": "cross-env NODE_ENV=production run-s build-steps", "build-steps": "run-s before-build sapper-export build-now-json", "sapper-build": "sapper build", "start": "node server.js", "build-and-start": "run-s build start", "build-template-html": "node -r esm ./bin/build-template-html.js", "build-template-html-watch": "node -r esm ./bin/build-template-html.js --watch", "build-assets": "node -r esm ./bin/build-assets.js", "run-mastodon": "node -r esm ./bin/run-mastodon.js", "test": "cross-env BROWSER=chrome:headless run-s test-browser", "test-browser": "run-p --race run-mastodon build-and-start test-mastodon", "test-mastodon": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe", "test-browser-suite0": "run-p --race run-mastodon build-and-start test-mastodon-suite0", "test-mastodon-suite0": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe-suite0", "test-browser-suite1": "run-p --race run-mastodon build-and-start test-mastodon-suite1", "test-mastodon-suite1": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe-suite1", "testcafe": "run-s testcafe-suite0 testcafe-suite1", "testcafe-suite0": "cross-env-shell testcafe -c 4 $BROWSER tests/spec/0*", "testcafe-suite1": "cross-env-shell testcafe $BROWSER tests/spec/1*", "test-unit": "mocha -r esm -r bin/browser-shim.js tests/unit/", "wait-for-mastodon-to-start": "node -r esm bin/wait-for-mastodon-to-start.js", "wait-for-mastodon-data": "node -r esm bin/wait-for-mastodon-data.js", "deploy-prod": "DEPLOY_TYPE=prod ./bin/deploy.sh", "deploy-dev": "DEPLOY_TYPE=dev ./bin/deploy.sh", "deploy-all-travis": "./bin/deploy-all-travis.sh", "backup-mastodon-data": "./bin/backup-mastodon-data.sh", "sapper-export": "cross-env PORT=22939 sapper export", "print-export-info": "node ./bin/print-export-info.js", "export-steps": "run-s before-build sapper-export print-export-info", "export": "cross-env NODE_ENV=production run-s export-steps", "now-build": "run-s export", "build-now-json": "node -r esm ./bin/build-now-json.js" }, "dependencies": { "@babel/core": "^7.6.4", "@babel/plugin-transform-runtime": "^7.6.2", "@babel/preset-env": "^7.6.3", "@babel/runtime": "^7.6.3", "@webcomponents/custom-elements": "^1.3.0", "arrow-key-navigation": "^1.0.2", "babel-loader": "^8.0.6", "babel-plugin-transform-react-remove-prop-types": "^0.4.24", "blurhash": "^1.1.3", "cheerio": "^1.0.0-rc.2", "child-process-promise": "^2.2.1", "chokidar": "^3.2.2", "circular-dependency-plugin": "^5.2.0", "clean-css": "^4.2.1", "compression": "^1.7.4", "cross-env": "^6.0.3", "css-dedoupe": "^0.1.1", "css-loader": "^3.2.0", "emoji-mart": "^2.11.1", "emoji-regex": "^8.0.0", "encoding": "^0.1.12", "escape-html": "^1.0.3", "esm": "^3.2.25", "events-light": "^1.0.5", "express": "^4.17.1", "file-api": "^0.10.4", "file-drop-element": "0.2.0", "file-loader": "^4.2.0", "form-data": "^3.0.0", "glob": "^7.1.4", "indexeddb-getall-shim": "^1.3.5", "intersection-observer": "^0.7.0", "intl": "^1.2.5", "localstorage-memory": "^1.0.3", "lodash-es": "^4.17.15", "lodash-webpack-plugin": "^0.11.5", "mkdirp": "^0.5.1", "node-fetch": "^2.6.0", "node-sass": "4.13.0", "npm-run-all": "^4.1.5", "p-any": "^2.1.0", "page-lifecycle": "^0.1.2", "performance-now": "^2.1.0", "pinch-zoom-element": "^1.1.1", "preact": "^10.0.0", "promise-worker": "^2.0.1", "prop-types": "^15.7.2", "remount": "^0.11.0", "requestidlecallback": "^0.3.0", "rollup": "^1.24.0", "rollup-plugin-babel": "^4.3.3", "rollup-plugin-replace": "^2.2.0", "rollup-plugin-terser": "^5.1.2", "sapper": "nolanlawson/sapper#for-pinafore-14", "stringz": "^2.0.0", "svelte": "^2.16.1", "svelte-extras": "^2.0.2", "svelte-loader": "^2.13.6", "svelte-transitions": "^1.2.0", "svgo": "^1.3.2", "terser-webpack-plugin": "^2.1.3", "tesseract.js": "^2.0.0-beta.1", "tesseract.js-core": "^2.0.0-beta.13", "text-encoding": "^0.7.0", "tiny-queue": "^0.2.1", "webpack": "^4.41.2", "webpack-bundle-analyzer": "^3.5.2", "worker-loader": "^2.0.0" }, "devDependencies": { "assert": "^2.0.0", "eslint-plugin-html": "^6.0.0", "fake-indexeddb": "^2.1.1", "mocha": "^6.2.1", "now": "^16.3.1", "standard": "^14.3.1", "testcafe": "^1.6.1" }, "engines": { "node": ">= 8" }, "standard": { "globals": [ "AbortController", "Blob", "CSS", "DOMParser", "Element", "Element", "Event", "FormData", "IDBKeyRange", "IDBObjectStore", "Image", "ImageData", "IntersectionObserver", "MessageChannel", "NodeList", "NotificationEvent", "OffscreenCanvas", "PointerEvent", "Response", "URL", "WebSocket", "__assets__", "__routes__", "__shell__", "atob", "btoa", "caches", "customElements", "fetch", "fixture", "getComputedStyle", "history", "indexedDB", "localStorage", "location", "matchMedia", "performance", "postMessage", "requestAnimationFrame", "requestIdleCallback", "self", "test" ] }, "esm": { "mode": "auto", "cjs": "vars" }, "greenkeeper": { "ignore": [ "sapper", "svelte" ] }, "repository": { "type": "git", "url": "git+https://github.com/nolanlawson/pinafore.git" }, "keywords": [], "author": "Nolan Lawson ", "license": "AGPL-3.0-only", "bugs": { "url": "https://github.com/nolanlawson/pinafore/issues" }, "homepage": "https://github.com/nolanlawson/pinafore#readme" }