Atom apm

Warning

apm is deprecated. See the deprecation notice.

Atom’s package manager, from the sunset Atom editor.

apm installed packages and themes for GitHub’s Atom editor, exposing an npm-style CLI whose queries mpm parses from --json output.

Atom was sunset on December 15, 2022, so apm is flagged deprecated here. mpm keeps the wrapper while doing so stays cheap: the community fork atom-community/apm has been floated but never produced a usable drop-in, and per the project’s stability policy a deprecated manager may be dropped without notice once it becomes a burden to maintain.

Platforms

  • 🅱️ BSD

  • 🐧 Linux

  • 🍎 macOS

  • 🪟 Windows

Operations

Operation

Supported

Notes

installed

outdated

search

exact search backfilled by mpm

install

upgrade

upgrade_all

remove

sync

cleanup

Ecosystem

  • Accepted purl types: pkg:apm

Usage

$ mpm --apm installed
$ mpm --apm search "query"
$ mpm --apm upgrade --all
$ mpm install pkg:apm/hello
$ mpm --dry-run --apm upgrade --all

Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.

Deselect the manager for a single run with --no-apm, disable it from your configuration, or tune its invocation attributes with per-manager overrides.

Command line

  • CLI names, in lookup order: apm

The version is probed by running:

$ apm --version
apm  2.6.2
npm  6.14.13
node 12.14.1 x64
atom 1.58.0
python 2.7.16
git 2.33.0

and extracted with:

r"apm\s+(?P<version>\S+)"

Privilege escalation

mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.

See privilege escalation for the full policy.

Cooldown

State of Atom apm’s release-age gating, from the cooldown support table:

  • Status: ➖ N/A (archived June 2022)

  • Reference: atom/apm

With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.

Reference traces

Raw native outputs captured in the manager source: the reference mpm’s parsers were written against. If you know Atom apm well and a transcript below looks wrong, or a newer release changed its output format, report it.

$ apm list --json
{
  "core": [
    {
      "name": "background-tips",
      "version": "0.26.1",
      "description": "Displays tips about Atom in the background."
    }
  ],
  "user": [
    {
      "name": "file-icons",
      "version": "2.0.9",
      "description": "Assign file extension icons"
    }
  ]
}
$ apm outdated --compatible --json
[
  {
    "name": "file-icons",
    "version": "2.0.9",
    "latestVersion": "2.0.10",
    "description": "Assign file extension icons"
  }
]