7876f82871
* fix: build inline script using Rollup This reduces code duplication and allows the theme engine to work the same without modifying the code in two places. It does extra extra deps, but I tried to keep them to a minimum. * change code comment * remove unnecessary constant
203 lines
7.2 KiB
JSON
203 lines
7.2 KiB
JSON
{
|
|
"name": "pinafore",
|
|
"description": "Alternative web client for Mastodon",
|
|
"version": "0.13.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": "^2.0.0",
|
|
"emoji-regex": "^7.0.1",
|
|
"escape-html": "^1.0.3",
|
|
"esm": "^3.0.84",
|
|
"events-light": "^1.0.5",
|
|
"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",
|
|
"localstorage-memory": "^1.0.3",
|
|
"lodash-es": "^4.17.11",
|
|
"lodash-webpack-plugin": "^0.11.5",
|
|
"mini-css-extract-plugin": "^0.5.0",
|
|
"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",
|
|
"rollup": "^0.67.4",
|
|
"rollup-plugin-replace": "^2.1.0",
|
|
"rollup-plugin-terser": "^3.0.0",
|
|
"sapper": "github:nolanlawson/sapper#for-pinafore-9",
|
|
"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"
|
|
}
|