{ "name": "semaphore", "description": "Alternative web client for Mastodon", "version": "1.0.0-beta", "type": "module", "engines": { "node": "^12.20.0 || ^14.13.1 || ^16.0.0 || ^18.0.0" }, "scripts": { "lint": "standard && standard --plugin html 'src/routes/**/*.html'", "lint-fix": "standard --fix && standard --fix --plugin html 'src/routes/**/*.html'", "dev": "run-s before-build serve-dev", "serve-dev": "run-p --race build-template-html-watch sapper-dev", "sapper-dev": "cross-env NODE_ENV=development PORT=4002 WEBPACK_CONFIG_FILE=webpack/webpack.config.cjs SERVER_FILE_EXT=cjs node ./node_modules/sapper/sapper dev", "before-build": "run-p build-template-html build-assets build-webpack-config", "build": "cross-env NODE_ENV=production run-s build-steps", "build-steps": "run-s before-build sapper-export build-vercel-json", "sapper-build": "cross-env WEBPACK_CONFIG_FILE=webpack/webpack.config.cjs SERVER_FILE_EXT=cjs node ./node_modules/sapper/sapper build", "start": "node server.js", "build-and-start": "run-s build start", "build-template-html": "node ./bin/build-template-html.js", "build-template-html-watch": "node ./bin/build-template-html.js --watch", "build-assets": "node ./bin/build-assets.js", "build-webpack-config": "rollup -c ./webpack/rollup.config.js", "clone-mastodon": "node ./bin/clone-mastodon.js", "install-mastodon": "node ./bin/install-mastodon.js", "run-mastodon": "node ./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-mastodon-suite0": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe-suite0", "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 2 $BROWSER tests/spec/0*", "testcafe-suite1": "cross-env-shell testcafe $BROWSER tests/spec/1*", "test-unit": "NODE_ENV=test mocha -r bin/browser-shim.js tests/unit/", "test-in-ci-suite0": "cross-env BROWSER=chrome:headless run-p --race run-mastodon start test-mastodon-suite0", "test-in-ci-suite1": "cross-env BROWSER=chrome:headless run-p --race run-mastodon start test-mastodon-suite1", "test-vercel-json": "run-s test-vercel-json-copy build test-vercel-json-test", "test-vercel-json-copy": "./bin/copy-vercel-json.sh", "test-vercel-json-test": "./bin/test-vercel-json-unchanged.sh", "wait-for-mastodon-to-start": "node bin/wait-for-mastodon-to-start.js", "wait-for-mastodon-data": "node bin/wait-for-mastodon-data.js", "backup-mastodon-data": "./bin/backup-mastodon-data.sh", "sapper-export": "cross-env PORT=22939 WEBPACK_CONFIG_FILE=webpack/webpack.config.cjs SERVER_FILE_EXT=cjs node ./node_modules/sapper/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-vercel-json": "node bin/build-vercel-json.js" }, "dependencies": { "@formatjs/intl-listformat": "^7.1.3", "@formatjs/intl-locale": "^3.0.7", "@formatjs/intl-pluralrules": "^5.1.4", "@formatjs/intl-relativetimeformat": "^11.1.4", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^14.1.0", "@rollup/plugin-replace": "^2.4.2", "@stdlib/utils-noop": "^0.0.13", "arrow-key-navigation": "^1.2.0", "blurhash": "^1.1.5", "cheerio": "1.0.0-rc.10", "child-process-promise": "^2.2.1", "chokidar": "^3.5.3", "circular-dependency-plugin": "^5.2.2", "compression": "^1.7.4", "country-flag-emoji-polyfill": "^0.1.4", "cross-env": "^7.0.3", "css-dedoupe": "^0.1.1", "emoji-picker-element": "^1.13.1", "emoji-picker-element-data": "^1.3.0", "emoji-regex": "^10.2.1", "encoding": "^0.1.13", "es-main": "^1.2.0", "escape-html": "^1.0.3", "esm": "^3.2.25", "events-light": "^1.0.5", "express": "^4.18.2", "file-api": "^0.10.4", "file-drop-element": "^1.0.1", "file-loader": "^6.2.0", "focus-visible": "^5.2.0", "form-data": "^4.0.0", "format-message-interpret": "^6.2.4", "format-message-parse": "^6.2.4", "glob": "^7.2.0", "is-emoji-supported": "^0.0.5", "li": "^1.3.0", "localstorage-memory": "^1.0.3", "mkdirp": "^1.0.4", "node-fetch": "^2.6.7", "npm-run-all": "^4.1.5", "p-any": "^4.0.0", "page-lifecycle": "^0.1.2", "pinch-zoom-element": "^1.1.1", "promise-worker": "^2.0.1", "prop-types": "^15.8.1", "requestidlecallback": "^0.3.0", "rollup": "^2.67.3", "rollup-plugin-terser": "^7.0.2", "rtl-detect": "^1.0.4", "safari-14-idb-fix": "^1.0.4", "sapper": "nolanlawson/sapper#for-pinafore-26", "sass": "^1.56.1", "stringz": "^2.1.0", "svelte": "^2.16.1", "svelte-extras": "^2.0.2", "svelte-loader": "^2.13.6", "svelte-transitions": "^1.2.0", "svgo": "^2.8.0", "terser-webpack-plugin": "^5.3.6", "tesseract.js": "^2.1.5", "tesseract.js-core": "^2.2.0", "text-encoding": "^0.7.0", "tiny-queue": "^0.2.1", "webpack": "^5.75.0", "webpack-bundle-analyzer": "^4.7.0", "worker-loader": "^3.0.8" }, "devDependencies": { "assert": "^2.0.0", "eslint-plugin-html": "^7.1.0", "fake-indexeddb": "^4.0.0", "globby": "^13.1.2", "husky": "^8.0.2", "lint-staged": "^13.0.3", "mocha": "^10.1.0", "standard": "^17.0.0", "testcafe": "^1.20.1" }, "standard": { "ignore": [ "webpack/*.cjs" ], "globals": [ "AbortController", "Blob", "CSS", "DOMParser", "Element", "Element", "Event", "FormData", "HTMLElement", "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", "queueMicrotask", "requestAnimationFrame", "requestIdleCallback", "self", "test" ] }, "esm": { "mode": "auto", "cjs": "vars" }, "repository": { "type": "git", "url": "git+https://github.com/semaphore-social/semaphore.git" }, "keywords": [], "author": "Nolan Lawson ", "license": "AGPL-3.0-only", "bugs": { "url": "https://github.com/semaphore-social/semaphore/issues" }, "homepage": "https://github.com/semaphore-social/semaphore#readme", "lint-staged": { "*.js": "standard --fix", "*.html": "standard --fix --plugin html 'src/routes/**/*.html'" }, "volta": { "node": "14.21.1", "yarn": "1.22.19" } }