1.0.404 • Published 8 years ago

n1pluginupdater v1.0.404

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

Deprecated - only works on Nylas v0.4.52 or earlier

N1 changed the notification system to add support for a greater array of notification types. Unfortunately this new system now uses internal states to trigger notifications rather than a callable action

n1pluginupdater

Alerts users that an updated plugin has been released using the N1 official notification bar!

Example N1 Plugin Notification

How to Install

NPM

  1. Add this npm module: npm install n1pluginupdater --save

  2. Require the package.json information and this module (somewhere at the top of your main.jsx file):

    const config = require(`${__dirname}/../package.json`); // the path to your package.json
    const n1pluginupdater = require('n1pluginupdater');
  3. Initialize the updater in the activate block of main.jsx:

    activate: () => {
      n1pluginupdater.checkForUpdate({
        repositoryName: "your_Github_Repository_Name",
        repositoryOwner: "your_Github_Username",
        currentVersion: config.version,
      });
      // Other code...etc.
    },
  4. OPTIONAL: BREAK IT and test it out. Try hardcoding values you know won't work and see the notification appear after refreshing Nylas:

    activate: () => {
      n1pluginupdater.checkForUpdate({
        repositoryName: "n1-unsubscribe",
        repositoryOwner: "colinking",
        currentVersion: "1.3.0",
      });
      // Other code...etc.
    },
  5. For good measure, turn off the listeners:

    deactivate: () => {
      n1pluginupdater.deactivate();
      // etc.
    }
  6. Make your own style. In your main.less or other stylesheet) add:

    // Style the plugin notification bar to differentiate from the
    // N! regular updates and other plugin updates
    .notifications-sticky .notification-developer {
    	background-color: #60CBF1 !important;
    }
    // This colors the notification bar bright blue like the screenshot above

The Fine Print

To use this package you need to be specific about making releases. The version number in the package.json needs to match the tag you use on the release.

Note on tag use