199 lines
7.0 KiB
JSON
199 lines
7.0 KiB
JSON
{
|
|
"name": "pinafore",
|
|
"description": "Alternative web client for Mastodon",
|
|
"version": "0.12.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*",
|
|
"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",
|
|
"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-prod-travis": "now alias pinafore.social --team nolanlawson --token $NOW_TOKEN",
|
|
"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": "run-s stage-dev launch-travis alias-dev-travis cleanup-travis; fi",
|
|
"deploy-prod-travis": "if echo $TRAVIS_COMMIT_MESSAGE | grep -q -E '\\d+\\.\\d+\\.\\d+'; then run-s stage-prod launch-travis alias-prod-travis cleanup-travis; fi",
|
|
"deploy-all-travis": "if [ $TRAVIS_BRANCH = master -a $TRAVIS_PULL_REQUEST = false ]; then run-s deploy-dev-travis deploy-prod-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",
|
|
"browserslist": "^4.3.4",
|
|
"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": "^1.0.1",
|
|
"emoji-regex": "^7.0.1",
|
|
"escape-html": "^1.0.3",
|
|
"esm": "^3.0.84",
|
|
"events": "^3.0.0",
|
|
"express": "^4.16.4",
|
|
"file-api": "^0.10.4",
|
|
"font-awesome-svg-png": "^1.2.2",
|
|
"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",
|
|
"lodash-es": "^4.17.11",
|
|
"lodash-webpack-plugin": "^0.11.5",
|
|
"mini-css-extract-plugin": "^0.4.5",
|
|
"mkdirp": "^0.5.1",
|
|
"node-fetch": "^2.3.0",
|
|
"node-sass": "^4.10.0",
|
|
"npm-run-all": "^4.1.5",
|
|
"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.1",
|
|
"quick-lru": "^2.0.0",
|
|
"requestidlecallback": "^0.3.0",
|
|
"sapper": "github:nolanlawson/sapper#for-pinafore-8",
|
|
"serve-static": "^1.13.2",
|
|
"stringz": "^1.0.0",
|
|
"style-loader": "^0.23.1",
|
|
"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",
|
|
"web-animations-js": "^2.3.1",
|
|
"webpack": "^4.26.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.8",
|
|
"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",
|
|
"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"
|
|
]
|
|
},
|
|
"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"
|
|
}
|