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 🙏

© 2025 – Pkg Stats / Ryan Hefner

slid_desktop

v2.4.0

Published

Slid For Desktop

Downloads

5

Readme

Setting up a local development repo

Setting up the web

  • git clone https://github.com/Slid-Team/slid_web.git
  • `cd slid_web``
  • git checkout develop
  • npm install
  • npm start

Setting up the desktop repo

  • git clone https://github.com/Slid-Team/slid_desktop.git
  • cd slid_desktop
  • git checkout develop
  • npm install
  • npm start (Install yarn by npm install --global yarn if necessary.)

Building and Releasing a new version

Getting ready for making a release

  • [ ] Merge all changes into develop branch
  • [ ] Update the version in the following files:
    • [ ] version.js
    • [ ] version2.js
    • [ ] package.json
    • [ ] forge.config.js packagerConfig.makers
    • [ ] src/windows/primaryWindow dev & prod html files title, and iframe source url
    • [ ] src/env.json update all versions
  • [ ] do npm install to update package-lock.json file
  • [ ] Test in development mode
  • [ ] Deploy the corresponding changes in slid_web if any
  • [ ] In src/env.json change to production mode and test
  • [ ] Switch back to develeopment branch mode commit any changes you may have done if any

Building a release

  • [ ] Create a release branch off develop branch ex: git checkout -b release/1.0.0 develeop
  • [ ] In main.js change ENV to production mode
  • [ ] Commit git commit -m "releasing version 1.0.0"
  • [ ] Make a release tag git tag 1.0.0
  • [ ] Push the tag git push origin 1.0.0
  • [ ] Push to the remote release branch ``git push origin release/1.0.0`
  • [ ] merge the release branch into the master branch
  • [ ] Make a build npm run make

Code signing the build

On Windows

  • [ ] Connect the EV Codesigning certificate usb
  • [ ] Launch the command line: hit the windows button, type cmd and hit enter
  • [ ] Navigate to the codesign tool by doing: cd C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86
  • [ ] Code sign the executable: signtool.exe sign /s my "C:\Users\USER\Desktop\workspace\slid_desktop\out\make\squirrel.windows\x64\Slid-0.0.3 Setup.exe" (your path may be different)
  • [ ] You will be prompted to enter the codesigning password (refer to notion doc for it)
  • [ ] Verify that your build was signed: signtool.exe verify /v /pa "C:\Users\USER\Desktop\workspace\slid_desktop\out\make\squirrel.windows\x64\Slid-0.0.3 Setup.exe"

Additional Steps On Mac

  • On Mac we wanna build in a zip format as it si the only format that will support auto updates
  • Begin by creating a new branch: git checkout -b release/mac/1.0.0 develop
  • In main.js change ENV to production mode
  • Make the necessary changes to make sure the version works well on Mac
  • Push all changes
  • merge the release branch into the master branch
  • Do npm run make
  • Navigate to out/make/zip/darwin/x64 there you will find a zip build, we need to unzip that: then sign and notarize the Slid.app inside it, and then put it back
  • unzip the file and sign the .app as follows: electron-osx-sign ./out/make/zip/darwin/x64/Slid.app --entitlements=./entitlements.plist --entitlements-inherit=./entitlements.plist --hardened-runtime --identity="Developer ID Application" --platform=darwin --provisioning-profile=./slid_desktop.provisionprofile
  • The proceed to notarize it by running the notarize script: node notarize.js
  • Now you have a signed and notarized Slid.app
  • delete the old .zip and compress the signed .app to make a new zip with exactly the same name as the original one
  • We will upload the .zip file on github, and on s3 `
  • As always test everything before deploying

Test the build

  • [ ] Uninstall the previous version of slid that may be installed on your machine
  • [ ] Install the new signed build, check if installation goes well, and test all functionalities

Creating a new release to the github public repo

  • [ ] Navigate to the public release repository
  • [ ] Click on releases, then draft new release
  • [ ] Add the correct tag version; (should always be in format v1.1.1)
  • [ ] Keep release target to main
  • [ ] For the release title simple use the same as tag version
  • [ ] For description, describe briefly which changes this new release introduce
  • [ ] Drag and drop the build artifacts into the "attach binary" section
    1. Fow windows: out/make/squirrel.windows/x64 all the 3 files inside
    2. For mac: (coming soon)
  • [ ] Click Publish release

Uploading the new release to AWS S3

  • [ ] Navigate to aws s3
  • [ ] go to slid_desktop_builds/ and click upload
  • [ ] drag and drop the signed executable
  • [ ] Go to permissions -> Predefined ACLs -> Grant public-read access and tick the box, as well as the confirmation box

Updating the download url through from firebase

  • [ ] Navigate to firebase remote config
  • [ ] Edit the feature flag by only changing the slid_desktop_version and save the changes

Testing

  • [ ] Download the new version from slid website and test it
  • [ ] Test if previous versions run well and update after 5 minutes of activity

Congratulations !!!

Crisis Management

You have deployed a new version and all of sudden you realize that users are having issues with it, here are the steps to take:

Urgent Steps:

  1. Prevent Installed Apps from updating to the problematic version by going to the public release repository, edit the problematic release by ticking the box that sets it as a pre-release and save updates
  2. Prevent further downloads of the problematic version by going to firebase remote config and changing the desktop version to the last version that worked well.

Figure out if the problem is in slid_desktop or in slid_web codebase

  1. Check is the problem is happening both on Mac and Windows
  2. If the problem is with both OS:
    • Open the open the codebases: slid_desktop and slid_web
    • Start slid_web master branch
    • In slid_desktop checkout to the branch that was used to build the problematic version (format: release/1.0.0)
    • In main.js chance ENV to development
    • npm start
    • Start debugging the issue
  3. If the issue is Mac Only:
    • Open the open the codebases: slid_desktop and slid_web
    • Start slid_web master branch
    • In slid_desktop checkout to the branch that was used to build the problematic version (format: release/mac/1.0.0)
    • In main.js chance ENV to development
    • npm start
    • Start debugging the issue
    • For Mac you will need to package the app in order for some features to work (ex: authentication)

You found that the problem was in the slid_web codebase

  1. Follow the standard procedure for making a new release in slid_web repo
  2. Tell the users who experience the issue to go to view --> Clear Cache for the new iframe code to be loaded
  3. If the problem is too nasty it may be better to just make a whole new desktop version so that even the silent users will have theit apps updates and pick up web changes

You found that the problem was in slid_desktop codebase

  1. Make a whole new release following the procedure mentioned in this file