Skip to content
Automatically install dependencies for your atom packages
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci :facepalm: Rename circle ci config file name Dec 30, 2018
decls Run Flow in CI Aug 25, 2016
spec ARRGH Apr 20, 2019
src
.babelrc 🎨 Address review comments Dec 31, 2018
.eslintignore ⛔️ ESLint ignore the fixtures dir Aug 9, 2016
.eslintrc.json 🆕 Query latest version of packages Dec 30, 2018
.flowconfig 🆕 Add Flow and ESLint configs Aug 9, 2016
.gitignore 🆕 Use babel instead of ucompiler Aug 9, 2016
.npmignore ⛔️ Ignore decls and flowconfig in npm Feb 13, 2017
.prettierrc 🎨 Revamp scripts and add prettier Dec 30, 2018
CHANGELOG.md
LICENSE.md ⬆️ Upgrade License year Aug 9, 2016
README.md 🔥 Remove greenkeeper badge from docs Apr 20, 2019
package-lock.json ⬆️ Bump flow-bin from 0.101.0 to 0.101.1 Jun 21, 2019
package.json ⬆️ Bump flow-bin from 0.100.0 to 0.101.0 Jun 12, 2019

README.md

Atom-Package-Deps

Atom-Package-Deps is a module that lets your atom package depend on other atom packages, It's quite simple and shows a nice progress bar as a notification as the packages are installed.

How it works?

You need to have an array of package deps in your package manifest, like

{
  "name": "linter-ruby",
  ...
  "package-deps": ["linter"]
}

If you need to install package deps from a source other than https://atom.io, suffix a # character followed by a git remote (in any format supported by apm install):

{
  "name": "linter-ruby",
  ...
  "package-deps": ["linter#steelbrain/linter"]
}

If you need to install specific version of a package, you can add the minimum required version to the package name (semver doesn't work!), like this

{
  "name": "linter-ruby",
  ...
  "package-deps": ["linter:2.0.0"]
}

Because the package installation is async, it returns a promise that resolves when all the dependencies have been installed.

'use babel'

module.exports = {
  activate() {
    // replace the example argument 'linter-ruby' with the name of this Atom package
    require('atom-package-deps')
      .install('linter-ruby')
      .then(function() {
        console.log('All dependencies installed, good to go')
      })
  },
}

API

export function install(packageName, showPrompt = true)

Screenshots

Installation Prompt

Installation Progress

Installation Complete

License

This project is licensed under the terms of MIT license, See the license file or contact me for more info.

You can’t perform that action at this time.