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

@drunk-pulumi/intune-components

v0.0.8

Published

The custom components for Pulumi Microsoft Intune resources.

Readme

drunk-pulumi-intune-components

The Microsoft Intune Pulumi Components - A TypeScript library for managing Microsoft Intune resources with Pulumi.

Overview

This library provides custom Pulumi components for managing Microsoft Intune resources using infrastructure as code. It enables programmatic configuration of device management policies, compliance settings, and corporate device identifiers through the Microsoft Graph API.

Features

  • IntuneManagement Component: Orchestrate macOS device policies, compliance, and security settings
  • Device Policies: Configure compliance policies, antivirus, disk encryption, and firewall settings
  • Custom Configurations: Import and deploy custom .mobileconfig profiles
  • Policy Assignments: Flexible group-based policy targeting
  • TypeScript Support: Full type safety with TypeScript definitions
  • Base Components: Reusable abstractions for building custom Intune resources

Installation

npm install @drunk-pulumi/intune-components
# or
pnpm add @drunk-pulumi/intune-components

Quick Start

import { IntuneManagement } from '@drunk-pulumi/intune-components';

const intune = new IntuneManagement('corporate-intune', {
  macOs: {
    compliancePolicy: {
      displayName: 'Corporate macOS Compliance',
      passwordRequired: true,
      passwordMinimumLength: 12,
      storageRequireEncryption: true,
      assignments: {
        includeAllDevices: true
      }
    }
  }
});

export const outputs = intune.getOutputs();

Authentication

Graph API calls support two credential shapes:

  • Explicit client secret — set all three INTUNE_AZURE_TENANT_ID, INTUNE_AZURE_CLIENT_ID and INTUNE_AZURE_CLIENT_SECRET together, and all three must be non-empty.
  • Identity-based (preferred) — set none of the INTUNE_AZURE_* vars and let DefaultAzureCredential resolve the identity, including via OIDC federation (GitHub Actions / Azure Pipelines) or managed identity in CI, so the stack needs no long-lived application secret.

Upgrade note: credential selection now requires all three INTUNE_AZURE_* variables together — a mixed combination (e.g. INTUNE_AZURE_TENANT_ID alongside an unprefixed AZURE_CLIENT_SECRET) now resolves through DefaultAzureCredential instead. A consumer relying on that mix will stop authenticating on upgrade and must move fully to one shape or the other.

Documentation

GitHub Copilot Skills

This repository includes comprehensive GitHub Copilot skills in the Skills/ folder to help you work effectively with the library:

These skills are designed to work with GitHub Copilot to provide context-aware assistance when developing with this library.

Development

Prerequisites

  • Node.js 16+ (tested with Node.js 20)
  • pnpm or npm
  • TypeScript

Setup

# Install dependencies
pnpm install

# Build the library
pnpm run build

# Run tests
pnpm run test

# Type check
npx tsc --noEmit

Project Structure

src/
  IntuneManagement.ts        # Main orchestration component
  base/                      # Base classes
  devices/                   # Device-specific components
  helpers.ts                 # Graph API utilities
  types.ts                   # Shared TypeScript types

Examples

See the pulumi-test/ directory for working examples.

Contributing

Contributions are welcome! Please read the Skills documentation to understand the project structure and best practices.

License

MIT

Author

Steven Hoang