New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

js-env-utility

Package Overview
Dependencies
Maintainers
0
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

js-env-utility

A comprehensive utility module to detect the execution environment (Node.js, Browser, Web Worker) and platform information.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

JS-Env Utility

A comprehensive utility module to detect the execution environment (Node.js, Browser, Web Worker) and platform information.

Demo

View live Demo

Table of Contents

Introduction

JS-Env is a utility module designed to help developers quickly detect the environment in which their JavaScript code is running, whether it be Node.js, a web browser, or even a Web Worker. This module provides detailed information about the platform, browser, operating system, and support for various web APIs.

Features

  • Detect if the environment is Node.js, a web browser, or a Web Worker.
  • Identify the operating system in Node.js or browser.
  • Recognize popular browsers (e.g., Chrome, Firefox, Safari).
  • Check support for various web APIs (e.g., Service Worker, localStorage, fetch).
  • Retrieve network information, such as connection type and speed.
  • Provide a comprehensive overview of the current environment.

Installation

npm install js-env-utility

Usage

Importing the Module

Ensure you have Node.js installed on your system. To use JS-Env, import the module in your JavaScript code.

import { 
    isNode, 
    isBrowser, 
    detectPlatform, 
    detectOperatingSystem, 
    detectBrowser, 
    detectApiSupport, 
    detectNetworkInfo, 
    getEnvironmentInfo 
} from 'js-env-utility';

Functions

  • isNode(): returns true if the code is running in a Node.js environment.
  • isBrowser(): returns true if the code is running in a browser environment.
  • detectPlatform(): returns the string Node.js or Browser based on the detected environment.
  • detectOperatingSystem(): identifies the operating system and returns values like Windows, MacOS, Linux, etc.
  • detectBrowser(): identifies the browser and returns values like Chrome, Firefox, Safari, etc.
  • detectApiSupport(): returns an object indicating support for web APIs, such as serviceWorker, webGL, localStorage, and more.
  • detectNetworkInfo(): provides network-related information (e.g., connection type, downlink speed, RTT).
  • getEnvironmentInfo(): returns an object containing all the above information.

Running Tests

To ensure the module works as expected, you can run the provided test script:

  1. Make sure you are in the project directory:
cd js-env-utility
  1. Run the test script with Node.js:
npm run test

Sample Output

The output should log various information about the environment, such as:

Platform: Browser
Operating System: Windows
Browser: Chrome
API Support: { serviceWorker: true, webGL: true, ... }
Network Info: { type: '4g', downlink: 10, rtt: 50, saveData: false }
Full Environment Info: { ... }

Project Structure

The project is structured as follows:

  • src/jsEnv.js: The main module containing the utility functions.
  • test/test.js: The test script for running the tests.
  • package.json: The project's package configuration.
  • README.md: The project's README file.

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue.

License

This project is licensed under the MIT License.

Keywords

FAQs

Package last updated on 14 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc