JSPM

applescript

1.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 17524
    • Score
      100M100P100Q159638F

    Easily execute arbitrary AppleScript code on OS X through NodeJS.

    Package Exports

    • applescript

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (applescript) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    node-applescript

    A high-level way to execute AppleScript code through NodeJS, and retrieve the result as a native JavaScript object. Underneath the hood, this module is just a simple wrapper around the OS X osascript command.

    Why?

    AppleScripts are the only way to communicate and interact with certain external OS X processes, for example iTunes.

    Easy Install

    $ npm install applescript

    Requirements

    • Mac (or Hackintosh) running OS X (tested with Snow Leopard)
    • NodeJS (v0.2.0 or newer)

    Usage

    The node-applescript module provides execString and execFile functions to easily execute AppleScript commands and buffer the output into a calback.

    var applescript = require('applescript');
    
    // Very basic AppleScript command. Returns the song name of each
    // currently selected track in iTunes as an 'Array' of 'String's.
    var script = 'tell application "iTunes" to get name of selection';
    
    applescript.execString(script, function(err, rtn) {
      if (err) {
        // Something went wrong!
      }
      if (Array.isArray(rtn)) {
        rtn.forEach(function(songName) {
          console.log(songName);
        });
      }
    });

    execFile works the exact same way, except you pass the path of the AppleScript (*.applescript) file as the first argument instead of the command itself, and you may pass an optional Array of String arguments to send to the applescript file.

    Licence

    The node-applescript module is licensed under the MIT license, of course!