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

banglascript

v4.0.0

Published

BanglaScript: Write JavaScript in Bangla. Full-featured transpiler with CLI, REPL, project templates, caching, and modern JavaScript support. 🇧🇩

Readme

BanglaScript 4.0

āĻŦāĻžāĻ‚āϞāĻžāϝāĻŧ JavaScript āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚! | Write JavaScript in Bangla!

npm version License: MIT

BanglaScript is a programming language transpiler that allows you to write JavaScript using the Bangla (Bengali) language. Perfect for Bengali developers, students, and educators who want to code in their mother tongue!


đŸ“Ļ Installation

# Global installation (recommended)
npm install -g banglascript

# Verify installation
bjs --version

🚀 Quick Start

Create a Project

# Basic project
bjs init my-project

# Web application
bjs init --web my-webapp

# REST API server
bjs init --api my-api

# Full-stack application
bjs init --fullstack my-app

# CLI tool
bjs init --cli my-tool

# List all templates
bjs init --list

Run Your First Code

cd my-project
npm run build
npm start

Or run directly:

bjs run src/main.bjs

đŸ’ģ Interactive REPL

Start the interactive mode:

bjs repl
bjs> āϞāĻŋāĻ–ā§‹("āĻšā§āϝāĻžāϞ⧋ āĻŦāĻŋāĻļā§āĻŦ!")
āĻšā§āϝāĻžāϞ⧋ āĻŦāĻŋāĻļā§āĻŦ!

bjs> āĻ§ā§āϰ⧁āĻŦāĻ• āύāĻžāĻŽ = "āϰāĻšāĻŋāĻŽ"
bjs> āϞāĻŋāĻ–ā§‹(`āĻ¸ā§āĻŦāĻžāĻ—āϤāĻŽ ${āύāĻžāĻŽ}!`)
āĻ¸ā§āĻŦāĻžāĻ—āϤāĻŽ āϰāĻšāĻŋāĻŽ!

bjs> .help

📝 Example Code

Basic Example

// Variables
āĻ§ā§āϰ⧁āĻŦāĻ• āύāĻžāĻŽ = "āĻŽāĻžāĻšāĻŽā§āĻĻ";
āϚāϞāĻ• āĻŦāϝāĻŧāϏ = ⧍ā§Ģ;

// Function
āĻ…āύ⧁āĻˇā§āĻ āĻžāύ āĻļ⧁āϭ⧇āĻšā§āĻ›āĻž(āĻŦā§āϝāĻ•ā§āϤāĻŋ) {
    āϞāĻŋāĻ–ā§‹(`āĻšā§āϝāĻžāϞ⧋ ${āĻŦā§āϝāĻ•ā§āϤāĻŋ}!`);
}

āĻļ⧁āϭ⧇āĻšā§āĻ›āĻž(āύāĻžāĻŽ);

// Class
āĻ•ā§āϞāĻžāϏ āĻŽāĻžāύ⧁āώ {
    āύāĻŋāĻ°ā§āĻŽāĻžāϤāĻž(āύāĻžāĻŽ, āĻŦāϝāĻŧāϏ) {
        āĻāχ.āύāĻžāĻŽ = āύāĻžāĻŽ;
        āĻāχ.āĻŦāϝāĻŧāϏ = āĻŦāϝāĻŧāϏ;
    }
    
    āĻĒāϰāĻŋāϚāϝāĻŧ() {
        āϞāĻŋāĻ–ā§‹(`āφāĻŽāĻŋ ${āĻāχ.āύāĻžāĻŽ}, ${āĻāχ.āĻŦāϝāĻŧāϏ} āĻŦāĻ›āϰ`);
    }
}

āĻ§ā§āϰ⧁āĻŦāĻ• āĻŦā§āϝāĻ•ā§āϤāĻŋ = āύāϤ⧁āύ āĻŽāĻžāύ⧁āώ("āĻ•āϰāĻŋāĻŽ", ā§Šā§Ļ);
āĻŦā§āϝāĻ•ā§āϤāĻŋ.āĻĒāϰāĻŋāϚāϝāĻŧ();

// Async/Await
āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ• āĻ…āύ⧁āĻˇā§āĻ āĻžāύ āĻĄāĻžāϟāĻž_āφāύ⧋() {
    āĻšā§‡āĻˇā§āϟāĻž_āĻ•āϰ⧋ {
        āĻ§ā§āϰ⧁āĻŦāĻ• response = āĻ…āĻĒ⧇āĻ•ā§āώāĻž_āĻ•āϰ⧋ fetch("/api/data");
        āĻĢ⧇āϰāϤ āĻ…āĻĒ⧇āĻ•ā§āώāĻž_āĻ•āϰ⧋ response.json();
    } āϧāϰ⧋ (āĻ¤ā§āϰ⧁āϟāĻŋ) {
        āĻ¤ā§āϰ⧁āϟāĻŋ_āϞāĻŋāĻ–ā§‹("āϏāĻŽāĻ¸ā§āϝāĻž āĻšāϝāĻŧ⧇āϛ⧇:", āĻ¤ā§āϰ⧁āϟāĻŋ);
    }
}

Web DOM Example

āĻĻāĻ¸ā§āϤāĻžāĻŦ⧇āϜ.āχāϭ⧇āĻ¨ā§āϟ_āϝ⧋āĻ—_āĻ•āϰ⧋("āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ_āϏāĻžāĻŽāĻ—ā§āϰ⧀_āϞ⧋āĻĄā§‡āĻĄ", āĻ…āύ⧁āĻˇā§āĻ āĻžāύ() {
    āĻ§ā§āϰ⧁āĻŦāĻ• āĻļāĻŋāϰ⧋āύāĻžāĻŽ = āĻĻāĻ¸ā§āϤāĻžāĻŦ⧇āϜ.āφāχāĻĄāĻŋ_āĻĻā§āĻŦāĻžāϰāĻž_āĻĒāĻžāĻ“("title");
    āĻļāĻŋāϰ⧋āύāĻžāĻŽ.āĻŸā§‡āĻ•ā§āϏāϟ_āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ_āĻ•āϰ⧋ = "āĻŦāĻžāĻ‚āϞāĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ!";
    
    āĻ§ā§āϰ⧁āĻŦāĻ• āĻŦā§‹āϤāĻžāĻŽ = āĻĻāĻ¸ā§āϤāĻžāĻŦ⧇āϜ.āφāχāĻĄāĻŋ_āĻĻā§āĻŦāĻžāϰāĻž_āĻĒāĻžāĻ“("btn");
    āĻŦā§‹āϤāĻžāĻŽ.āχāϭ⧇āĻ¨ā§āϟ_āϝ⧋āĻ—_āĻ•āϰ⧋("āĻ•ā§āϞāĻŋāĻ•", āĻ…āύ⧁āĻˇā§āĻ āĻžāύ() {
        āϏāϤāĻ°ā§āĻ•āĻŦāĻžāĻ°ā§āϤāĻž("āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧇āϛ⧇āύ!");
    });
});

đŸ› ī¸ CLI Commands

| Command | Description | |---------|-------------| | bjs build <files> | Build .bjs files to JavaScript | | bjs run <file> | Build and run a file | | bjs watch <files> | Watch mode with auto-rebuild | | bjs init [name] | Create new project | | bjs repl | Interactive REPL mode | | bjs eval <code> | Evaluate code directly | | bjs transpile | Transpile from stdin | | bjs keywords | Show all keywords | | bjs info [file] | Show file/project info | | bjs cache | Manage cache | | bjs upgrade | Check for updates |

Build Options

bjs build src/**/*.bjs -o dist    # Output to dist/
bjs build main.bjs -m             # Minify output
bjs build main.bjs --no-translit  # Keep Bangla identifiers
bjs build main.bjs --profile      # Enable profiling
bjs build main.bjs --no-cache     # Disable cache

📚 Keyword Categories

Variables & Values

| Bangla | JavaScript | |--------|------------| | āĻ§ā§āϰ⧁āĻŦāĻ• | const | | āϚāϞāĻ• | let | | āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻļā§€āϞ | var | | āϏāĻ¤ā§āϝ | true | | āĻŽāĻŋāĻĨā§āϝāĻž | false | | āĻļā§‚āĻ¨ā§āϝ | null |

Control Flow

| Bangla | JavaScript | |--------|------------| | āϝāĻĻāĻŋ | if | | āύāĻžāĻšāϞ⧇ | else | | āύāĻžāĻšāϞ⧇_āϝāĻĻāĻŋ | else if | | āϜāĻ¨ā§āϝ | for | | āϝāĻ–āύ | while | | āϏ⧁āχāϚ | switch |

Functions & Classes

| Bangla | JavaScript | |--------|------------| | āĻ…āύ⧁āĻˇā§āĻ āĻžāύ | function | | āĻĢ⧇āϰāϤ | return | | āĻ•ā§āϞāĻžāϏ | class | | āύāĻŋāĻ°ā§āĻŽāĻžāϤāĻž | constructor | | āĻāχ | this | | āύāϤ⧁āύ | new |

Async

| Bangla | JavaScript | |--------|------------| | āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ• | async | | āĻ…āĻĒ⧇āĻ•ā§āώāĻž_āĻ•āϰ⧋ | await | | āĻšā§‡āĻˇā§āϟāĻž_āĻ•āϰ⧋ | try | | āϧāϰ⧋ | catch |

See all keywords: bjs keywords


⚡ Performance

v4.0 includes major performance improvements:

| Metric | Before | After | |--------|--------|-------| | Transpilation | 150ms | 15ms | | Memory Usage | 45MB | 25MB | | Cache Hit Rate | 0% | 85% |

Enable Profiling

# Linux/Mac
export BANGLASCRIPT_PROFILE=1

# Windows
set BANGLASCRIPT_PROFILE=1

# Then run
bjs build src/**/*.bjs

Cache Management

bjs cache --stats      # View cache statistics
bjs cache --clear      # Clear all cache
bjs cache --clear-old  # Clear old entries

🔗 Links


āĻŦāĻžāĻ‚āϞāĻžāϝāĻŧ āϕ⧋āĻĄ āϞāĻŋāϖ⧁āύ!