npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

bookish-press

v0.6.53

Published

A platform for reading and writing readable, accessible, beautiful online books.

Downloads

175

Readme

Bookish

Bookish is a framework and platform for writing and publishing web-based books. I originally created it to make it easier to maintain the many online books on my website (amyjko.com), while adding more sophisticated features to support reading. I'm slowly evolving it to be a simple free online service for authoring and reading online books.

Status

I'm working on a 1.0 of the platform at bookish.press and expect to maintain the platform for the foreseeable future. Let me know if you'd like to help!

Deployment notes

There are two major components to Bookish: the authoring platform and the reading front end. Changes to the authoring platform that do not affect reading can be verified and deployed to Firebase without any other coordination. However, changes to the reading experience have downstream dependencies that need to be managed. Here's the general deployment workflow, which I'm currently using as reminders for myself:

  1. Ensure you're working in the dev branch
  2. Fix bugs, add features
  3. Ensure there are no type errors (npm run check) or failed tests (npm run test).
  4. Test with emulator (npm run emu), if possible. (Some features aren't possible to perfectly emulate, such as authentication, hosting configurations, permissions.)
  5. Test on the staging server (npm run stage).
  6. Bump the version in package.json
  7. Describe the changes in CHANGELOG.md, linking to any issues closed
  8. Commit changes to dev, referring to any issues addressed
  9. Release to production (npm run release)
  10. Verify the change in production on bookish.press
  11. Merge dev to main (npm run merge)
  12. If any of the changes affected the reading experience (essentially if any .svelte file or its dependencies in /src/lib/components changed), then we need to update the reader package for authors who pre-build their books manually:
    1. Update the bookish package with the Sveltekit package tooling (npm run package)
    2. Publish the package to npm (npm publish)
    3. Open the bookish-reader repository
    4. Pull the revisions (npm update), ensuring you update the repository's package.json dependencies, in case there was a major version change
    5. Update reader's CHANGELOG.md to describe any changes.
    6. Bump the reader's version in package.json
    7. Commit the changes directly to main, and sync them
    8. For any of these changes to make it to pre-built books, authors need ot use the updated bookish-reader repo to rebuild their books. That generally involves:
      1. Cloning the reader repo: git clone https://github.com/amyjko/bookish-reader
      2. Entering the repo directory: cd bookish-reader
      3. Binding the book: bind.sh
      4. Deploying the bound book in the newly created build folder to wherever it's hosted.