SxS support for node versions #25

Closed
tjanczuk opened this Issue May 18, 2012 · 1 comment

Comments

Projects
None yet
1 participant
Owner

tjanczuk commented May 18, 2012

No description provided.

Owner

tjanczuk commented Jun 7, 2012

This is the design:

The package.json file at the root of the repository declares a list of semver versions of node engines that will be available to applications checked into the repository. For example:

{
    "azure": {
        "engines": [ "0.6.19", "0.7.9" ]
    }
}

Each node engine version must be downloadable from the http://nodejs.org/dist/v{version}/node.exe location.

If the package.json file at the root of the repository does not specify the engines, ['0.6.19'] is assumed (this default will be upgraded as new stable versions are released).

Next, each individual application declares the semver constraints of the node engine they require using the regular mechanisms of package.json, e.g.

{
    "engines": { 
        "node": "> 0.7.1 || 0.6.3" 
    }
}

At runtime, git-azure will run this application using the maximum node version from the installed versions of node that satisfies the semver constraint of the application.

So if you want to run an application with a particular version of node, make sure that version is listed in the package.json file at the root of the repository as well require the exact version in the package.json file of the application.

You can use git azure app --show to validate that the installed versions of node are sufficient to run all applications in the repository (if they are not, a validation error will appear).

tjanczuk closed this in 5238332 Jun 7, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment