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

bengaliscript

v1.0.0

Published

🚀 BengaliScript — Code in pure āĻŦāĻžāĻ‚āϞāĻž! Write, run, and see output entirely in Bengali. Break language barriers, bring code closer to culture. Crafted with â¤ī¸ by Atikin Verse.

Downloads

20

Readme

đŸĩī¸ BengaliScript Programming Language

BengaliScript brings the elegance of āĻŦāĻžāĻ‚āϞāĻž (Bengali) to coding — write expressive, native-language code with ease and clarity.

🎉 Developed by: Atikin Verse


đŸ“Ļ āĻĢāĻžāχāϞ āϤāĻĨā§āϝ

  • āĻĢāĻžāχāϞ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ: .bs
  • CLI āϟ⧁āϞ: bengaliscript
  • āĻ­āĻŋāĻ¤ā§āϤāĻŋ: JavaScript (āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖāĻ­āĻžāĻŦ⧇)
  • āϚāĻžāϞāĻžāύ⧋ āĻšāϝāĻŧ: BengaliScript interpreter
  • āύ⧇āϟāĻŋāĻ­ āφāωāϟāĻĒ⧁āϟ: āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦāĻžāĻ‚āϞāĻž āĻŦāĻžāĻ°ā§āϤāĻž āĻ“ āϞāĻ—

🌐 āĻŦāĻžāĻ‚āϞāĻž āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻ…āύ⧁āĻŦāĻžāĻĻ

| 🧠 āĻŦāĻžāĻ‚āϞāĻž āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ | đŸ’ģ JavaScript āϏāĻŽāϤ⧁āĻ˛ā§āϝ | | ------------------- | ---------------------- | | āĻĢāĻžāĻ‚āĻļāύ | function | | āĻŽā§āĻĻā§āϰāĻŖ() | console.log() | | āϧāϰ | let | | āĻ§ā§āϰ⧁āĻŦ | const | | āϝāĻĻāĻŋ | if | | āĻ…āĻ¨ā§āϝāĻĨāĻž āϝāĻĻāĻŋ | else if | | āĻ…āĻ¨ā§āϝāĻĨāĻž | else | | āϝāĻžāĻŦāϤ | while | | āϜāĻ¨ā§āϝ | for | | āĻĢ⧇āϰāϤ | return | | āĻļā§āϰ⧇āĻŖā§€ | class | | āύāϤ⧁āύ | new | | āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰ | await | | āĻĒā§āϰāϤāĻŋāĻļā§āϰ⧁āϤāĻŋ | Promise | | āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰ | resolve | | āĻŦā§āϝāĻ°ā§āĻĨ āĻ•āϰ | reject |


🚀 āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ

| 🌟 āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ | āĻŦāĻŋāĻŦāϰāĻŖ | | ------------------- | --------------------------------------------- | | āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻžāĻ‚āϞāĻž āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ | āϏāĻŽāĻ¸ā§āϤ āϕ⧋āĻĄ āĻŦāĻžāĻ‚āϞāĻž āĻ­āĻžāώāĻžāϝāĻŧ āϞ⧇āĻ–āĻž āĻšāϝāĻŧāĨ¤ | | āĻŦāĻžāĻ‚āϞāĻž CLI | bengaliscript CLI āĻĻāĻŋāϝāĻŧ⧇ .bs āĻĢāĻžāχāϞ āϚāĻžāϞāĻžāύāĨ¤ | | āĻļāĻŋāĻ•ā§āώāĻžāĻŦāĻžāĻ¨ā§āϧāĻŦ | āύāϤ⧁āύ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻžāϰāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻšāϜ āĻ“ āϏāϰāϞāĨ¤ | | JavaScript āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• | āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖāĻ­āĻžāĻŦ⧇ JS āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāϰāĻžāϏāϰāĻŋ āĻĻ⧇āĻ–āĻž āϝāĻžāϝāĻŧ āύāĻžāĨ¤ | | āĻŦāĻžāĻ‚āϞāĻž āφāωāϟāĻĒ⧁āϟ | āϏāĻŽāĻ¸ā§āϤ āφāωāϟāĻĒ⧁āϟ āĻŦāĻžāĻ‚āϞāĻž āĻ­āĻžāώāĻžāϝāĻŧ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšāϝāĻŧāĨ¤ |


✨ āωāĻĻāĻžāĻšāϰāĻŖ

📄 hello.bs

# 1ī¸âƒŖ Simple Hello World

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟ⧧() {
  āĻŽā§āĻĻā§āϰāĻŖ("āĻšā§āϝāĻžāϞ⧋, āĻŦāĻŋāĻļā§āĻŦ!");
}
āĻŸā§‡āĻ¸ā§āϟ⧧();

# Output: āĻšā§āϝāĻžāϞ⧋, āĻŦāĻŋāĻļā§āĻŦ!

---

# 2ī¸âƒŖ Variables & Addition

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟ⧍() {
  āϧāϰ āĻ• = 5;
  āϧāϰ āĻ– = 3;
  āĻŽā§āĻĻā§āϰāĻŖ("āϝ⧋āĻ—āĻĢāϞ: " + (āĻ• + āĻ–));
}
āĻŸā§‡āĻ¸ā§āϟ⧍();

# Output: āϝ⧋āĻ—āĻĢāϞ: 8

---

# 3ī¸âƒŖ If-Else

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āĻŸā§Š() {
  āϧāϰ āĻ¸ā§āϕ⧋āϰ = 75;
  āϝāĻĻāĻŋ (āĻ¸ā§āϕ⧋āϰ >= 80) {
    āĻŽā§āĻĻā§āϰāĻŖ("āĻĻāĻžāϰ⧁āĻŖ!");
  } āĻ…āĻ¨ā§āϝāĻĨāĻž āϝāĻĻāĻŋ (āĻ¸ā§āϕ⧋āϰ >= 60) {
    āĻŽā§āĻĻā§āϰāĻŖ("āĻ­āĻžāϞ⧋!");
  } āĻ…āĻ¨ā§āϝāĻĨāĻž {
    āĻŽā§āĻĻā§āϰāĻŖ("āĻĒāĻžāĻļ!");
  }
}
āĻŸā§‡āĻ¸ā§āĻŸā§Š();

# Output: āĻ­āĻžāϞ⧋!

---

# 4ī¸âƒŖ While Loop

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟā§Ē() {
  āϧāϰ āĻ—āĻŖāύāĻž = 1;
  āϝāĻžāĻŦāϤ (āĻ—āĻŖāύāĻž <= 3) {
    āĻŽā§āĻĻā§āϰāĻŖ("āĻ—āĻŖāύāĻž: " + āĻ—āĻŖāύāĻž);
    āĻ—āĻŖāύāĻž = āĻ—āĻŖāύāĻž + 1;
  }
}
āĻŸā§‡āĻ¸ā§āϟā§Ē();

# Output:
# āĻ—āĻŖāύāĻž: 1
# āĻ—āĻŖāύāĻž: 2
# āĻ—āĻŖāύāĻž: 3

---

# 5ī¸âƒŖ For Loop

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟā§Ģ() {
  āϜāĻ¨ā§āϝ (āϧāϰ i = 1; i <= 3; i = i + 1) {
    āĻŽā§āĻĻā§āϰāĻŖ("āφāχāĻŸā§‡āĻŽ: " + i);
  }
}
āĻŸā§‡āĻ¸ā§āϟā§Ģ();


# Output:
# āφāχāĻŸā§‡āĻŽ: 1
# āφāχāĻŸā§‡āĻŽ: 2
# āφāχāĻŸā§‡āĻŽ: 3

---

# 6ī¸âƒŖ Array Usage

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟā§Ŧ() {
  āϧāϰ āϤāĻžāϞāĻŋāĻ•āĻž = ["āφāĻŽ", "āĻ•āϞāĻž", "āϞāĻŋāϚ⧁"];
  āϤāĻžāϞāĻŋāĻ•āĻž.āĻĒā§āϰāϤāĻŋ(āĻĢāĻžāĻ‚āĻļāύ(āĻĢāϞ) {
    āĻŽā§āĻĻā§āϰāĻŖ("āĻĢāϞ: " + āĻĢāϞ);
  });
}
āĻŸā§‡āĻ¸ā§āϟā§Ŧ();

# Output:
# āĻĢāϞ: āφāĻŽ
# āĻĢāϞ: āĻ•āϞāĻž
# āĻĢāϞ: āϞāĻŋāϚ⧁

---

# 7ī¸âƒŖ Function with Return


āĻĢāĻžāĻ‚āĻļāύ āϝ⧋āĻ—(āĻ•, āĻ–) {
  āĻĢ⧇āϰāϤ āĻ• + āĻ–;
}
āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟ⧭() {
  āĻŽā§āĻĻā§āϰāĻŖ("āĻĢāϞāĻžāĻĢāϞ: " + āϝ⧋āĻ—(10, 15));
}
āĻŸā§‡āĻ¸ā§āϟ⧭();

# Output: āĻĢāϞāĻžāĻĢāϞ: 25

---

# 8ī¸âƒŖ Object Usage

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āĻŸā§Ž() {
  āϧāϰ āĻŽāĻžāύ⧁āώ = {āύāĻžāĻŽ: "āφāϤāĻŋāĻ•āĻŋāύ", āĻŦ⧟āϏ: 25};
  āĻŽā§āĻĻā§āϰāĻŖ("āύāĻžāĻŽ: " + āĻŽāĻžāύ⧁āώ.āύāĻžāĻŽ);
  āĻŽā§āĻĻā§āϰāĻŖ("āĻŦ⧟āϏ: " + āĻŽāĻžāύ⧁āώ.Đąā§ŸāϏ);
}
āĻŸā§‡āĻ¸ā§āĻŸā§Ž();

# Output:
# āύāĻžāĻŽ: āφāϤāĻŋāĻ•āĻŋāύ
# āĻŦ⧟āϏ: 25

---

# 9ī¸âƒŖ Try-Catch

āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟ⧝() {
  āĻšā§‡āĻˇā§āϟāĻž {
    āύāĻŋāĻ•ā§āώ⧇āĻĒ "āĻ¤ā§āϰ⧁āϟāĻŋ āϘāĻŸā§‡āϛ⧇!";
  } āϧāϰāĻž (āϭ⧁āϞ) {
    āĻŽā§āĻĻā§āϰāĻŖ("āϧāϰāĻž āĻ¤ā§āϰ⧁āϟāĻŋ: " + āϭ⧁āϞ);
  }
}

āĻŸā§‡āĻ¸ā§āϟ⧝();

# Output: āϧāϰāĻž āĻ¤ā§āϰ⧁āϟāĻŋ: āĻ¤ā§āϰ⧁āϟāĻŋ āϘāĻŸā§‡āϛ⧇!

---

# 🔟 Async & Await (Simulated)


āĻ…āϏāĻŽ āĻĢāĻžāĻ‚āĻļāύ āĻŸā§‡āĻ¸ā§āϟ⧧ā§Ļ() {
  āĻŽā§āĻĻā§āϰāĻŖ("āĻĄāĻžāϟāĻž āφāύāϛ⧇...");
  āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰ āύāϤ⧁āύ āĻĒā§āϰāϤāĻŋāĻļā§āϰ⧁āϤāĻŋ(āĻĢāĻžāĻ‚āĻļāύ(āϏāĻŽāĻžāϧāĻžāύ) {
    āϏāĻŽāϝāĻŧāĻĒāϰ(āĻĢāĻžāĻ‚āĻļāύ() {
      āϏāĻŽāĻžāϧāĻžāύ();
    }, 1000);
  });

  āĻŽā§āĻĻā§āϰāĻŖ("āĻĄāĻžāϟāĻž āϞ⧋āĻĄ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ!");
}

āĻŸā§‡āĻ¸ā§āϟ⧧ā§Ļ();

# Output:
# āĻĄāĻžāϟāĻž āφāύāϛ⧇...
# (ā§§ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻĒāϰ)
# āĻĄāĻžāϟāĻž āϞ⧋āĻĄ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ!


---

### đŸ§Ē āĻŦā§āϝāĻŦāĻšāĻžāϰ
CLI āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ BengaliScript āĻĢāĻžāχāϞ āϚāĻžāϞāĻžāύ:
bengaliscript path/to/file.bs

---


🤝 āĻ…āĻŦāĻĻāĻžāύ āϰāĻžāĻ–āĻž
āφāĻŽāϰāĻž BengaliScript āφāϰāĻ“ āωāĻ¨ā§āύāϤ āĻ•āϰāϤ⧇ āĻ•āĻŽāĻŋāωāύāĻŋāϟāĻŋāϰ āϏāĻšāĻžāϝāĻŧāϤāĻž āĻ¸ā§āĻŦāĻžāĻ—āϤ āϜāĻžāύāĻžāχāĨ¤
āφāĻĒāύāĻŋ āĻ…āĻŦāĻĻāĻžāύ āϰāĻžāĻ–āϤ⧇ āϚāĻžāχāϞ⧇ āύāĻŋāĻšā§‡āϰ āϧāĻžāĻĒāϗ⧁āϞāĻŋ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧁āύ:

āĻāχ āϰāĻŋāĻĒā§‹āϜāĻŋāϟāϰāĻŋāϟāĻŋ fork āĻ•āϰ⧁āύāĨ¤

āφāĻĒāύāĻžāϰ āĻĢāĻŋāϚāĻžāϰ āĻŦāĻž āĻŦāĻžāĻ— āĻĢāĻŋāĻ•ā§āϏ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻŦā§āϰāĻžāĻžā§āϚ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύāĨ¤

āφāĻĒāύāĻžāϰ āϕ⧋āĻĄā§‡ āĻŸā§‡āĻ¸ā§āϟ āϞāĻŋāϖ⧁āύ āĻāĻŦāĻ‚ āϚāĻžāϞāĻžāύāĨ¤

āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞ⧋ commit āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ push āĻ•āϰ⧁āύāĨ¤

āĻāĻ•āϟāĻŋ Pull Request āĻĒāĻžāĻ āĻžāύāĨ¤

āĻĻāϝāĻŧāĻž āĻ•āϰ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϝ⧇ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧋āĻĄ āĻ¸ā§āϟāĻžāχāϞ āĻāĻŦāĻ‚ āĻŸā§‡āĻ¸ā§āϟāĻŋāĻ‚ āĻ—āĻžāχāĻĄāϞāĻžāχāύ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰāϛ⧇āĨ¤


---

📜 āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āχāϤāĻŋāĻšāĻžāϏ (Changelog)
v1.0.0 — Initial Release 🚀
BengaliScript āĻāϰ āĻĒā§āϰāĻĨāĻŽ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻĒā§āϰāĻ•āĻžāĻļāĨ¤

āĻŦāĻžāĻ‚āϞāĻž āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ‚ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϝ⧋āĻ— āĻ•āϰāĻžāĨ¤

CLI āϟ⧁āϞ bengaliscript āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāĨ¤

āωāĻĻāĻžāĻšāϰāĻŖ āĻĢāĻžāχāϞāϏāĻŽā§‚āĻš āϝ⧋āĻ— āĻ•āϰāĻž: hello.bs, variables.bs, loop.bs, if-else.bsāĨ¤

---


🔖 āϞāĻžāχāϏ⧇āĻ¨ā§āϏ
MIT License āĻāϰ āĻ…āϧ⧀āύ⧇ āϏāϰāĻŦāϰāĻžāĻš āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

---


🧑‍đŸ’ģ āύāĻŋāĻ°ā§āĻŽāĻžāϤāĻž
Atikin Verse
āĻ­āĻžāϞāĻŦāĻžāϏāĻž āĻĻāĻŋāϝāĻŧ⧇ āϤ⧈āϰāĻŋ — āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻļāĻŋāĻ•ā§āώāĻž āĻ“ āĻ­āĻžāώāĻžāϰ āĻĒā§āϰāϤāĻŋ āĻ­āĻžāϞ⧋āĻŦāĻžāϏāĻžāϰ āϜāĻ¨ā§āϝ â¤ī¸


## FOLLOW US ON For more information:

Join our social media for exciting updates, news, and insights! Follow us on :

<!--Table-->
| ACCOUNTS                 | USERNAME          |
|------------              | --------------    |
| FACEBOOK                 | atikinverse       |
| INSTAGRAM                | atikinverse       |
| LINKEDIN                 | atikinverse       |
| TWITTER (X)              | atikinverse       |
| THREADS                  | atikinverse       |
| PINTREST                 | atikinverse       |
| QUORA                    | atikinverse       |
| REDDIT                   | atikinverse       |
| TUMBLR                   | atikinverse       |
| SNAPCHAT                 | atikinverse       |
| SKYPE                    | atikinverse       |
| GITHUB                   | atikinverse       |

---


đŸ“Ŧ āϝ⧇ āϕ⧋āύāĻ“ āĻŽāϤāĻžāĻŽāϤ, āĻĒā§āϰāĻ¸ā§āϤāĻžāĻŦ, āĻŦāĻž āϏāĻšāϝ⧋āĻ—āĻŋāϤāĻžāϰ āϜāĻ¨ā§āϝ āφāĻŽāĻžāĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰ⧁āύāĨ¤

BengaliScript — āĻŦāĻžāĻ‚āϞāĻžāϝāĻŧ āϕ⧋āĻĄāĻŋāĻ‚ āĻāϰ āφāύāĻ¨ā§āĻĻ! 🚀