@bitecraft/jswhere v0.0.4
_ ____ __ ___
| / ___| \ \ / / |__ ___ _ __ ___
_ | \___ \ \ \ /\ / /| '_ \ / _ \ '__/ _ \
| |_| |___) | \ V V / | | | | __/ | | __/
\___/|____/ \_/\_/ |_| |_|\___|_| \___|JSWhere š
A lightweight and precise JavaScript library that detects the exact runtime environment of your application, including React Native, Expo, Vite, Next.js, NestJS, and more. š
Table of Contents
⢠Overview
⢠Features
⢠Installation
⢠Usage
⢠Supported Environments
⢠Development
⢠API Reference
⢠Contributing
⢠License
Overview šÆ
Runtime Environment Detector is a powerful utility that helps you identify the current JavaScript runtime environment your code is executing in. Whether you're running in Vite, React Native, Expo, or other environments, this library provides accurate detection.
Features āØ
- š Accurate runtime environment detection
- šÆ Type-safe implementation
- š Zero dependencies
- šØ Lightweight and fast
- š Easy integration
- š¦ Tree-shakeable
Installation š¦
# Using npm
npm install @bitecraft/jswhere
# Using Bun
bun install @bitecraft/jswhere
# Using pnpm
pnpm install @bitecraft/jswhere
# Using yarn
yarn add @bitecraft/jswhereUsage š
import { detectEnvironment } from '@bitecraft/jswhere';
const environment = detectEnvironment();
console.log(`Current runtime environment: ${environment}`);Supported Environments ā
Current implementation status:
- Vite
- React Native
- Expo
- Next.js (Coming soon)
- NestJS (Coming soon)
- Browser (Coming soon)
- Node.js (Coming soon)
- Electron (Coming soon)
- Remix (Coming soon)
- Nuxt (Coming soon)
- SvelteKit (Coming soon)
- Deno (Coming soon)
- Bun (Coming soon)
Development š ļø
Prerequisites
- Node.js >= 14.0.0
- TypeScript/Javascript knowledge
Setting Up Development Environment
- Clone the repository:
git clone https://github.com/BiteCraft/jswhere.git
cd jswhere- Install dependencies:
npm install- Start development
npm run devBuilding the Project
npm run buildAPI Reference š
Main Function
function detectEnvironment(): RuntimeEnvironmentReturns one of the following types:
type RuntimeEnvironment =
| "expo"
| "react-native"
| "vite"
| "nextjs"
| "nestjs"
| "browser"
| "node"
| "electron"
| "remix"
| "nuxt"
| "sveltekit"
| "deno"
| "bun"
| "unknown";Contributing š¤
This project is currently a work in progress, and we welcome contributions! If you'd like to help, here are some ways you can contribute:
- Implement missing environment detectors
- Improve existing detectors
- Add tests
- Improve documentation
To contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/NewDetector) - Commit your changes(
git commit -m 'feat: add new environment detector') - Push to the branch (
git push origin feature/NewDetector) - Open a Pull Request
License š
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ā¤ļø using TypeScript
10 months ago