{ "name": "pinafore", "description": "Alternative web client for Mastodon", "version": "0.14.1", "scripts": { "lint": "standard && standard --plugin html 'src/routes/**/*.html'", "lint-fix": "standard --fix && standard --fix --plugin html 'src/routes/**/*.html'", "dev": "run-s build-svg build-inline-script serve-dev", "serve-dev": "run-p --race build-sass-watch sapper-dev", "sapper-dev": "cross-env NODE_ENV=development PORT=4002 sapper dev", "sapper-prod": "cross-env PORT=4002 node __sapper__/build", "build": "cross-env NODE_ENV=production npm run build-steps", "build-steps": "run-s build-sass build-svg build-inline-script sapper-build", "sapper-build": "sapper build", "start": "cross-env NODE_ENV=production npm run sapper-prod", "build-and-start": "run-s build start", "build-svg": "node ./bin/build-svg.js", "build-inline-script": "node -r esm ./bin/build-inline-script.js", "build-sass": "node ./bin/build-sass.js", "build-sass-watch": "node ./bin/build-sass.js --watch", "run-mastodon": "node -r esm ./bin/run-mastodon.js", "test": "cross-env BROWSER=chrome:headless npm run 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 --hostname localhost --skip-js-errors -c 4 $BROWSER tests/spec/0*", "testcafe-suite1": "cross-env-shell testcafe --hostname localhost --skip-js-errors $BROWSER tests/spec/1*", "test-unit": "mocha -r esm 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": "sapper export", "print-export-info": "node ./bin/print-export-info.js", "export": "run-s build sapper-export print-export-info" }, "dependencies": { "@gamestdio/websocket": "^0.2.8", "@webcomponents/custom-elements": "^1.2.1", "browserslist": "^4.3.6", "cheerio": "^1.0.0-rc.2", "child-process-promise": "^2.2.1", "chokidar": "^2.0.4", "compression": "^1.7.3", "cross-env": "^5.2.0", "css-loader": "^2.0.1", "emoji-regex": "^7.0.1", "encoding": "^0.1.12", "escape-html": "^1.0.3", "esm": "^3.0.84", "events-light": "^1.0.5", "express": "^4.16.4", "file-api": "^0.10.4", "file-drop-element": "0.0.9", "form-data": "^2.3.3", "glob": "^7.1.3", "helmet": "^3.15.0", "idb-keyval": "^3.1.0", "indexeddb-getall-shim": "^1.3.5", "intersection-observer": "^0.5.1", "localstorage-memory": "^1.0.3", "lodash-es": "^4.17.11", "lodash-webpack-plugin": "^0.11.5", "mkdirp": "^0.5.1", "node-fetch": "^2.3.0", "node-sass": "^4.11.0", "npm-run-all": "^4.1.5", "p-any": "^1.1.0", "page-lifecycle": "^0.1.1", "performance-now": "^2.1.0", "pify": "^4.0.1", "quick-lru": "^2.0.0", "requestidlecallback": "^0.3.0", "rollup": "^0.67.4", "rollup-plugin-replace": "^2.1.0", "rollup-plugin-terser": "^3.0.0", "sapper": "github:nolanlawson/sapper#nolan/sw-index-html-built", "serve-static": "^1.13.2", "stringz": "^1.0.0", "svelte": "^2.15.3", "svelte-extras": "^2.0.2", "svelte-loader": "^2.11.0", "svelte-transitions": "^1.2.0", "svgo": "^1.1.1", "terser-webpack-plugin": "^1.1.0", "tiny-queue": "^0.2.1", "uuid": "^3.3.2", "web-animations-js": "^2.3.1", "webpack": "^4.27.1", "webpack-bundle-analyzer": "^3.0.3" }, "devDependencies": { "assert": "^1.4.1", "eslint-plugin-html": "^5.0.0", "mocha": "^5.2.0", "now": "^12.1.12", "standard": "^12.0.1", "testcafe": "^0.23.2" }, "engines": { "node": ">= 8" }, "standard": { "globals": [ "fetch", "IDBKeyRange", "IDBObjectStore", "indexedDB", "requestAnimationFrame", "requestIdleCallback", "location", "localStorage", "IntersectionObserver", "URL", "Event", "history", "performance", "self", "caches", "__routes__", "__shell__", "__assets__", "test", "fixture", "Element", "FormData", "atob", "btoa", "Blob", "Element", "Image", "NotificationEvent", "NodeList", "DOMParser", "CSS" ], "ignore": [ "dist", "src/routes/_utils/asyncModules.js", "src/routes/_utils/asyncPolyfills.js", "src/routes/_components/dialog/asyncDialogs.js" ] }, "esm": { "mode": "auto", "cjs": "vars" }, "now": { "type": "npm", "env": { "NODE_ENV": "production" }, "files": [ "bin", "inline-script.js", "original-static", "scss", "src", "static", "package.json", "package-lock.json", "webpack", "webpack.config.js" ], "engines": { "node": "^8.0.0" } }, "greenkeeper": { "ignore": [ "sapper" ] }, "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" }