# Package

Source: https://developers.inkdrop.app/modules/package

Loads and activates a package's main module and resources like stylesheets, keymaps, and menus in Inkdrop.

---

## Package Deactivation Event Subscription `onDidDeactivate(callback)`

Invoke a callback function when all packages have been deactivated.

### Parameters

- **callback()** (function, required)

  A function to be called when all packages have been deactivated.

### Returns

A [Disposable](https://developers.inkdrop.app/event-subscription/disposable) on which `.dispose()` can be called to unsubscribe.

```js
const disposable = env.packages.onDidDeactivate(() => {
  console.log('All packages have been deactivated');
});
// To unsubscribe
disposable.dispose();
```

---

## Native Module Compatibility Check `isCompatible()`

Determine if all native modules required by this package are correctly compiled against the current version of Inkdrop.

Incompatible packages cannot be activated.

### Returns

A Boolean value: `true` if compatible, `false` if incompatible.

```js
const isPackageCompatible = env.packages.isCompatible();
console.log('Is compatible:', isPackageCompatible);
```
