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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dimer47/capacitor-plugin-asam

v2.1.1

Published

Easily integrate Autonomous Single App Mode in your app, allowing it to control Single App Mode sessions for focused, distraction-free user experiences. Ideal for educational, testing, or kiosk applications.

Readme

📱 Capacitor Plugin ASAM (Autonomous Single App Mode)

Release Last update Dependency size Repo size Downloads License iOS 15+ Capacitor 5+

⚠️ iOS only — This plugin uses native iOS APIs and is not available on Android or Web.

Easily integrate Autonomous Single App Mode (ASAM) in your iOS app, allowing it to control Single App Mode sessions for focused, distraction-free user experiences. Ideal for educational, testing, or kiosk applications. 🎓🏪

🎉 Features

  • 🔒 Enable / Disable Single App Mode programmatically
  • 🔍 Check if ASAM is currently enabled
  • Async/Await support — all methods return Promises
  • 📦 Compatible with Capacitor 5, 6, 7 & 8
  • 🍎 Supports iOS 15 through iOS 26+

📍 Install

npm install capacitor-plugin-asam
npx cap sync

⚙️ Configuration

To enable the Autonomous Single App Mode (ASAM) on iOS devices, administrators must utilize a Mobile Device Management (MDM) system or Apple Configurator.

These tools are essential for setting up and managing ASAM, as they provide the ability to create and deploy specific configuration profiles to iOS devices.

These profiles dictate which applications can run in ASAM, ensuring controlled and secure usage of the devices in environments like schools, businesses, or public kiosks. Without MDM or Apple Configurator, activating ASAM on iOS devices is not feasible.

💡 Tip: Make sure to allowlist your app's bundle ID in the MDM configuration for Autonomous Single App Mode.

🕹️ Usage

// import the plugin
import { Asam } from "capacitor-plugin-asam";

// --------------------
// ✅ Enable ASAM using setASAM

let r = await Asam.setASAM({ enable: true });
if (!r.success)
    console.error("Failed to enable ASAM");

let isEnabled = (await Asam.isASAMEnabled()).enabled;
console.log("ASAM is enabled: " + isEnabled);

// --------------------
// ✅ Another way to enable ASAM using enableASAM

r = await Asam.enableASAM();
if (!r.success)
    console.error("Failed to enable ASAM");

isEnabled = (await Asam.isASAMEnabled()).enabled;
console.log("ASAM is enabled: " + isEnabled);

// --------------------
// 🛑 Disable ASAM using disableASAM

r = await Asam.disableASAM();
if (!r.success)
    console.error("Failed to disable ASAM");

isEnabled = (await Asam.isASAMEnabled()).enabled;
console.log("ASAM is enabled: " + isEnabled);

// --------------------
// 🛑 Another way to disable ASAM using setASAM

r = await Asam.setASAM({ enable: false });
if (!r.success)
    console.error("Failed to disable ASAM");

🧮 API

📖 Full documentation with detailed examples: docs/api.md

setASAM(...)

setASAM(options: { enable: boolean; }) => Promise<{ success: boolean; }>

Enable or disable Autonomous Single App Mode (ASAM) based on the enable parameter.

| Param | Type | Description | | ------------- | --------------------------------- | --------------------------------------------------------- | | options | { enable: boolean; } | - enable: true to activate ASAM, false to deactivate. |

Returns: Promise<{ success: boolean; }>


enableASAM()

enableASAM() => Promise<{ success: boolean; }>

Enable Autonomous Single App Mode (ASAM) on the device. Shortcut for setASAM({ enable: true }).

Returns: Promise<{ success: boolean; }>


disableASAM()

disableASAM() => Promise<{ success: boolean; }>

Disable Autonomous Single App Mode (ASAM) on the device. Shortcut for setASAM({ enable: false }).

Returns: Promise<{ success: boolean; }>


isASAMEnabled()

isASAMEnabled() => Promise<{ enabled: boolean; }>

Check whether Autonomous Single App Mode (ASAM) is currently active on the device.

Returns: Promise<{ enabled: boolean; }>


isSupervised()

isSupervised() => Promise<{ supervised: boolean; }>

Check whether the device is in supervised mode. Only supervised iOS devices can use ASAM.

Returns: Promise<{ supervised: boolean; }>


🧪 Testing

npm test

This runs the iOS unit tests via Xcode on the iOS Simulator.

🧾 License

MIT