An alternative web client for Mastodon, focused on speed and simplicity.
 
 
 
Go to file
Nolan Lawson 985dede8e3 more efforts to get this to work 2018-03-05 07:29:58 -08:00
assets add dynamic favicon 2018-02-16 08:59:44 -08:00
bin more efforts to get this to work 2018-03-05 07:29:58 -08:00
fixtures add titles to external links, plus tests 2018-03-04 15:31:31 -08:00
original-assets build svgs automatically 2018-01-27 12:48:22 -08:00
routes Clean up usage of delegate keys 2018-03-04 17:22:34 -08:00
scss add ability to remove media 2018-03-02 21:55:04 -08:00
templates implement post privacy 2018-03-03 13:23:26 -08:00
tests add titles to external links, plus tests 2018-03-04 15:31:31 -08:00
.gitignore add favorite/unfavorite feature 2018-02-24 14:49:28 -08:00
README.md allow testing in multiple browsers 2018-02-19 18:36:54 -08:00
package-lock.json try modifying the test database 2018-03-05 06:32:05 -08:00
package.json try modifying the test database 2018-03-05 06:32:05 -08:00
server.js use standard 2018-02-08 22:29:29 -08:00
webpack.client.config.js fix sourcemap config 2018-03-04 16:42:04 -08:00
webpack.server.config.js use standard 2018-02-08 22:29:29 -08:00

README.md

Pinafore

An alternative web client for Mastodon.

Building

npm install
npm run build
PORT=4002 npm start

Development

npm run dev

Testing in development mode

In separate terminals:

1. Run a Mastodon dev server (note this destroys the mastodon_development database and inserts canned data):

npm run run-mastodon

2. Run a Pinafore dev server:

npm run dev

3. Run a debuggable TestCafé instance:

npx testcafe --hostname localhost --skip-js-errors --debug-mode firefox tests/spec

If you want to export the current data in the Mastodon instance as canned data, so that it can be loaded later:

npm run backup-mastodon-data

Testing

Lint:

npm run lint

Run integration tests:

npm test

Run tests for a particular browser:

BROWSER=chrome npm run test-browser
BROWSER=chrome:headless npm run test-browser
BROWSER=firefox npm run test-browser
BROWSER=firefox:headless npm run test-browser
BROWSER=safari npm run test-browser
BROWSER=edge npm run test-browser

Automatically fix most linting issues:

npx standard --fix