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

@socketsupply/socket-darwin-arm64

v0.6.0-rc.8

Published

A Cross-Platform, Native Runtime for Desktop and Mobile Apps — Create apps using HTML, CSS, and JavaScript. Written from the ground up to be small and maintainable.

Downloads

164

Readme

image

Description

Web Developers use Socket runtime to create apps for any OS, desktop, and mobile. You can use plain old HTML, CSS, and JavaScript, as well as your favorite front-end libraries like Next.js, React, Svelte, or Vue.

The Socket runtime CLI outputs hybrid native-web apps that combine your code with the runtime. Your code is rendered using the OS's native "WebView" component. Platform features are implemented natively and made available to the JavaScript environment in a way that is secure and fully sandboxed on every platform. Native APIs like Bluetooth and UDP make local-first and peer-to-peer software design patterns as first class considerations.

Features

  • Any backend — Business logic can be written in any language, Python, Rust, Node.js, etc. The backend is even completely optional.
  • Any frontend — Use your favorite frontend framework to create your UIs: React, Svelte, Vue, and more.
  • Batteries Included — Native Add-ons are supported, but we ship everything you need for the majority of use cases.
  • Local-first — A full-featured, familiar File system API, native add-ons and full cross platform support for Bluetooth.
  • Not just Cloud — P2P helps you reliably move work out of the cloud, beyond the edge, and onto the devices that can communicate directly with each other.
  • Maintainable — Socket runtime has Zero external dependencies, and a smaller code base than any other competing project.
  • Lean & Fast — Socket runtime has a smaller memory footprint and creates smaller binaries than any other competing project.

Compatibility Matrix

Socket Supports both ESM and CommonJS

[!NOTE] Socket supports many of the Node.js APIs. It is NOT a drop in replacement for Node.js, it most likely wont ever be since Socket is for building software and node.js is for building servers. Below is a high level overview of fully or partially supported APIs and modules.

| Module | Node.js | Socket | | ----------------- | ---------- | -------- | | assert | √ | ⏱ | | async_hooks | √ | √ | | buffer | √ | √ | | child_process | √ | √ | | cluster | √ | § | | console | √ | √ | | crypto | √ | √ * | | dgram (udp) | √ | √ | | diagnostics_channel | √ | √ | | dns | √ | √ | | encoding | √ | √ | | events | √ | √ | | fetch | √ | √ | | fs | √ | √ | | fs/promises | √ | √ | | http | √ | √ | | http2 | √ | √ | | https | √ | √ | | inspector | √ | ⏱ | | module | √ | √ | | net | √ | ⏱ | | os | √ | √ | | path | √ | √ | | process | √ | √ | | streams | √ | √ | | string_decoder | √ | √ | | test | √ | √ | | timers | √ | √ | | tls | √ | ⏱ | | tty | √ | √ | | URL | √ | √ | | uuid | √ | ⏱ ☀︎ | | vm | √ | √ | | worker_threads | √ | √ |

| Symbol | Meaning | | :----: | :-------------------------------------------------------------------------- | | ⏱ | Planned support | | § | Not Relevant or not necessary since socket doesn't require high-concurrency | | * | Supported but Works differently; may be refactored to match the nodejs API | | ☀︎ | Use crypto.randomUUID() instead |

FAQ

Check the FAQs on our Website to learn more.

Building your first Socket app!

Create Socket App is similar to React's Create React App, we provide a few basic boilerplates and some strong opinions so you can get coding on a production-quality app as quickly as possible.
Please check create-socket-app Repo to get started and to learn more.
You can also check our Examples in the Examples Repo.
§§§

Documentation

The full documentation can be found on the Socket Runtime website.
The Socket Runtime documentation covers Socket APIs, includes examples, multiple guides (Apple, Desktop, and Mobile), P2P documentation, and more.

Development

If you are developing socket, and you want your apps to point to your dev branch.

Step 1

cd ~/projects/socket            # navigate into the location where you cloned this repo
./bin/uninstall.sh              # remove existing installation
npm rm -g @socketsupply/socket  # remove any global links or prior global npm installs
npm run relink                  # this will call `./bin/publish-npm-modules.sh --link` (accepts NO_ANDROID=1, NO_IOS=1, and DEBUG=1)

Step 2

cd ~/projects/<myapp>           # navigate into your project (replacing <myapp> with whatever it's actually called
npm link @socketsupply/socket   # link socket and you'll be ready to go.

Testing

Socket provides a built-in test runner similar to node:test which outputs the test results in TAP format. You can also check test/ for the unit and integration test suite.

Contributing

We welcome contributions from everyone! Please check our Contribution Guide to learn more. Don't hesitate to stop by Discord and ask the team about your issue and if someone is already working on it.
Please connect with any current project contributors: @heapwolf, @jwerle, and @chicoxyzzy if you want to contribute to the Socket Runtime project itself.
Thank you for your interest in reporting/fixing issues and contributing to Socket!