flex-sdk

A Node.js module to download and "install" the latest open source Apache/Adobe Flex SDK.

npm install flex-sdk
23 downloads in the last day
19 681 downloads in the last week
20 013 downloads in the last month

Build Status

flex-sdk

An NPM wrapper for the Apache Flex SDK / Adobe Flex SDK.

Building and Installing

npm install flex-sdk

Or grab the source and

npm install .

What this is really doing is just grabbing a particular "blessed" (by this module) version of the Flex SDK. As new versions of the Apache/Adobe Flex SDK are released and vetted, this module will be updated accordingly.

The package has been set up to fetch the Flex SDK and run mxmlc for MacOS (darwin), Linux based platforms (as identified by Node.js), and Windows. If you spot any platform weirdnesses, let me know or send a patch.

External Dependencies

If you intend to use this module after it is installed, almost all of the Flex SDK binary/executable files have an implicit dependency on Java being installed on the system and that it is available in the PATH such that it can be invoked just by typing the command java.

Running

bin/mxmlc [mxmlc arguments]

Check out the full list of mxmlc command line options for more information.

And npm will install a link to the binary in node_modules/.bin as it is wont to do.

Running via node

The package exports an object contains:

  • a binDir string which is the path to the "bin" directory of the Flex SDK
  • a bin object which contains an entry for each executable included in the "bin" directory of the Flex SDK (e.g. flexSdk.bin.mxmlc will provide the path to the mxmlc executable).
  • a refresh function if you ever need to refresh the bin object (e.g. if you have an existing flex-sdk module reference object but then downloaded a new Flex SDK).

Below is an example of using this package via node.

var childProcess = require('child_process');
var flexSdk = require('flex-sdk');
var binPath = flexSdk.bin.mxmlc;

var childArgs = [
  'arguments to pass to mxmlc',
  path.join(__dirname, 'fileToCompile.as')
];

childProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {
  // handle results
});

Versioning

The NPM package version tracks the version of the Flex SDK that will be installed, with an additional build number that is used for revisions to the installer when necessary.

As such, 4.6.0-0, 4.6.0-1, and 4.6.0-2 will all install Flex SDK v4.6.0 but each has newer changes to the installer than the previous.

For the full list of available versions, see FlexSDKs.md.

Purpose

This is an NPM wrapper and can be used to make the various binary executables from the Apache/Adobe Flex SDKs (e.g. mxmlc) conveniently available. It is not a Node.js wrapper.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • Adobe Flex SDK v4.6.0 → npm install flex-sdk@~4.6.0
  • Adobe Flex SDK v4.5.1 → npm install flex-sdk@~4.5.1
  • Adobe Flex SDK v4.5.0 → npm install flex-sdk@~4.5.0
  • Adobe Flex SDK v4.1.0 → npm install flex-sdk@~4.1.0
  • Adobe Flex SDK v4.0.0 → npm install flex-sdk@~4.0.0
  • Adobe Flex SDK v3.6.0 → npm install flex-sdk@~3.6.0
  • Adobe Flex SDK v3.5.0 → npm install flex-sdk@~3.5.0
  • Adobe Flex SDK v3.4.1 → npm install flex-sdk@~3.4.1
  • Adobe Flex SDK v3.4.0 → npm install flex-sdk@~3.4.0
  • Adobe Flex SDK v3.3.0 → npm install flex-sdk@~3.3.0
  • Adobe Flex SDK v3.2.0 → npm install flex-sdk@~3.2.0
  • Adobe Flex SDK v3.1.0 → npm install flex-sdk@~3.1.0
  • Adobe Flex SDK v3.0.1 → npm install flex-sdk@~3.0.1
  • Adobe Flex SDK v3.0.0 → npm install flex-sdk@~3.0.0

License

Copyright (c) 2014 James M. Greene
Licensed under the MIT license.

npm loves you