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

simple-os-platform

v1.1.0

Published

A helper that returns a simplified version the current user's operating system. Eg. "Windows", "Linux", "Android", "Mac", "iOS" etc.

Downloads

95

Readme

A helper that returns the current user's operating system. Eg. "Windows", "Linux", "Android", "MacOS", "iOS" etc.

Installation

yarn add simple-os-platform

or

npm install simple-os-platform

Usage

Here's an example of a component that renders a shortcut phrase based off the user's operating system:

// ES6/ES7/ESNext
import { getOS, isMac, isNotMac } from 'simple-os-platform'

getOS(); // returns your Operating System Eg. Mac, Windows etc (see list below)
isMac(); // returns true if your operating system is a Mac
isNotMac(); // returns false if your operating system is a Mac

// CommonJS
var simpleOSPlatform = require('simple-os-platform');

simpleOSPlatform.getOS(); // returns your Operating System Eg. Mac, Windows etc (see list below)
simpleOSPlatform.isMac(); // returns true if your operating system is a Mac
simpleOSPlatform.isNotMac(); // returns false if your operating system is a Mac

If the user's operating system is a Mac, the shortcut phrase renders cmd + click, otherwise it renders ctrl + click.

List of Possible Results [helper boolean functions]

If the user's operating system doesn't fall under the category of any of these list items, then the window.navigator.platform result will be returned instead.

Testing

Testing is handled by Jest and the packages has the following commands setup

  • yarn test
  • yarn test:watch

Contributing

TODO: Write Unit Tests for the isHelpers

All contributions are welcome, and can be done by cloning the repo and running yarn install.

Ensure that there are no errors in the tests or linter and ensure that your commit messages comply to the following format:

  • break: COMMIT_MSG - changes in the code that changes the way other users would need to implement it.
  • feat: COMMIT_MSG - adding a new feature or capability to the helper.
  • fix: COMMIT_MSG - any bugs or minor updates that fixes the existing code without adding or removing any capabilities.
  • none: COMMIT_MSG - used for simple updates like documentation, aka NO code has changed.

There are git hooks configured to ensure commit message format as well as test and linter compliance.

Discover the release history by heading on over to the releases page.

Unless stated otherwise all works are:

and licensed under: