mirror of
https://github.com/nolanlawson/pinafore
synced 2025-02-03 07:15:47 +01:00
bc3a74bbcb
There are two issues here: - if IDB is blocked, then the promise never resolves when you log out (and call indexedDB.deleteDatabase) and the app remains in a permanently hung state - why is IDB blocked? well, something seems to have changed in Chrome 70 such that doing these operations in a web worker causes the blocked error. The benefits of workerizing IDB is so small that I'd rather just remove it at this point.
194 lines
6.7 KiB
JSON
194 lines
6.7 KiB
JSON
{
|
|
"name": "pinafore",
|
|
"description": "Alternative web client for Mastodon",
|
|
"version": "0.9.0",
|
|
"scripts": {
|
|
"lint": "standard && standard --plugin html 'routes/**/*.html'",
|
|
"lint-fix": "standard --fix && standard --fix --plugin html 'routes/**/*.html'",
|
|
"dev": "run-s build-svg build-inline-script serve-dev",
|
|
"serve-dev": "run-p --race build-sass-watch serve",
|
|
"serve": "node server.js",
|
|
"build": "cross-env NODE_ENV=production npm run build-steps",
|
|
"build-steps": "run-s globalize-css build-sass build-svg build-inline-script sapper-build deglobalize-css",
|
|
"sapper-build": "sapper build",
|
|
"start": "cross-env NODE_ENV=production npm run serve",
|
|
"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*",
|
|
"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",
|
|
"globalize-css": "node ./bin/globalize-css.js",
|
|
"deglobalize-css": "node ./bin/globalize-css.js --reverse",
|
|
"stage-dev": "printf 'User-agent: *\nDisallow: /' > assets/robots.txt",
|
|
"stage-prod": "rm -f assets/robots.txt",
|
|
"launch": "now -e SAPPER_TIMESTAMP=$(date +%s%3N) --team nolanlawson && sleep 60",
|
|
"launch-travis": "now -e SAPPER_TIMESTAMP=$(date +%s%3N) --team nolanlawson --token $NOW_TOKEN && sleep 60",
|
|
"alias-prod": "now alias pinafore.social --team nolanlawson",
|
|
"alias-dev": "now alias dev.pinafore.social --team nolanlawson",
|
|
"alias-dev-travis": "now alias dev.pinafore.social --team nolanlawson --token $NOW_TOKEN",
|
|
"cleanup": "now rm pinafore --safe --yes --team nolanlawson",
|
|
"cleanup-travis": "now rm pinafore --safe --yes --team nolanlawson --token $NOW_TOKEN",
|
|
"deploy-prod": "run-s stage-prod launch alias-prod cleanup",
|
|
"deploy-dev": "run-s stage-dev launch alias-dev cleanup",
|
|
"deploy-dev-travis": "if [ $TRAVIS_BRANCH = master -a $TRAVIS_PULL_REQUEST = false ]; then run-s stage-dev launch-travis alias-dev-travis cleanup-travis; fi",
|
|
"backup-mastodon-data": "PGPASSWORD=pinafore pg_dump -U pinafore -w pinafore_development > fixtures/dump.sql && cd mastodon/public/system && tar -czf ../../../fixtures/system.tgz ."
|
|
},
|
|
"dependencies": {
|
|
"@gamestdio/websocket": "^0.2.8",
|
|
"a11y-dialog": "^4.0.1",
|
|
"browserslist": "^4.1.1",
|
|
"cheerio": "^1.0.0-rc.2",
|
|
"child-process-promise": "^2.2.1",
|
|
"chokidar": "^2.0.4",
|
|
"cross-env": "^5.2.0",
|
|
"css-loader": "^1.0.0",
|
|
"emoji-regex": "^7.0.1",
|
|
"escape-html": "^1.0.3",
|
|
"esm": "^3.0.84",
|
|
"events": "^3.0.0",
|
|
"express": "^4.16.3",
|
|
"fg-loadcss": "^2.0.1",
|
|
"file-api": "^0.10.4",
|
|
"font-awesome-svg-png": "^1.2.2",
|
|
"form-data": "^2.3.2",
|
|
"glob": "^7.1.3",
|
|
"helmet": "^3.13.0",
|
|
"idb-keyval": "^3.1.0",
|
|
"indexeddb-getall-shim": "^1.3.5",
|
|
"intersection-observer": "^0.5.0",
|
|
"lodash-es": "^4.17.11",
|
|
"lodash-webpack-plugin": "^0.11.5",
|
|
"mini-css-extract-plugin": "^0.4.3",
|
|
"mkdirp": "^0.5.1",
|
|
"node-fetch": "^2.2.0",
|
|
"node-sass": "^4.9.3",
|
|
"npm-run-all": "^4.1.3",
|
|
"optimize-css-assets-webpack-plugin": "^5.0.1",
|
|
"p-any": "^1.1.0",
|
|
"page-lifecycle": "^0.1.1",
|
|
"performance-now": "^2.1.0",
|
|
"pify": "^4.0.0",
|
|
"quick-lru": "^1.1.0",
|
|
"requestidlecallback": "^0.3.0",
|
|
"sapper": "github:nolanlawson/sapper#for-pinafore-8",
|
|
"serve-static": "^1.13.2",
|
|
"shrink-ray-current": "^2.1.2",
|
|
"stringz": "^1.0.0",
|
|
"style-loader": "^0.23.0",
|
|
"svelte": "^2.13.5",
|
|
"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",
|
|
"timeago.js": "^3.0.2",
|
|
"tiny-queue": "^0.2.1",
|
|
"web-animations-js": "^2.3.1",
|
|
"webpack": "^4.20.2",
|
|
"webpack-bundle-analyzer": "^3.0.2"
|
|
},
|
|
"devDependencies": {
|
|
"eslint-plugin-html": "^4.0.6",
|
|
"now": "^11.4.6",
|
|
"standard": "^12.0.1",
|
|
"testcafe": "^0.22.0"
|
|
},
|
|
"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"
|
|
],
|
|
"ignore": [
|
|
"dist",
|
|
"routes/_utils/asyncModules.js",
|
|
"routes/_components/dialog/asyncDialogs.js"
|
|
]
|
|
},
|
|
"esm": {
|
|
"mode": "auto",
|
|
"cjs": "vars"
|
|
},
|
|
"now": {
|
|
"type": "npm",
|
|
"env": {
|
|
"NODE_ENV": "production"
|
|
},
|
|
"files": [
|
|
"assets",
|
|
"bin",
|
|
"original-assets",
|
|
"routes",
|
|
"scss",
|
|
"templates",
|
|
"package.json",
|
|
"package-lock.json",
|
|
"server.js",
|
|
"inline-script.js",
|
|
"webpack.client.config.js",
|
|
"webpack.server.config.js"
|
|
],
|
|
"engines": {
|
|
"node": "^8.0.0"
|
|
}
|
|
},
|
|
"greenkeeper": {
|
|
"ignore": [
|
|
"sapper",
|
|
"a11y-dialog"
|
|
]
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/nolanlawson/pinafore.git"
|
|
},
|
|
"keywords": [],
|
|
"author": "Nolan Lawson <nolan@nolanlawson.com>",
|
|
"license": "AGPL-3.0-only",
|
|
"bugs": {
|
|
"url": "https://github.com/nolanlawson/pinafore/issues"
|
|
},
|
|
"homepage": "https://github.com/nolanlawson/pinafore#readme"
|
|
}
|