anchor.diff:    )
   )
   
  -IF NOT DEFINED KUDU_SYNC_CMD (  
  +IF NOT DEFINED KUDU_SYNC_CMD (
     :: Install kudu sync
     echo Installing Kudu Sync
     call npm install kudusync -g --silent
  
positive.code: 
  :: ----------------------
  :: KUDU Deployment Script
  :: Version: 0.1.10
  :: ----------------------
  
  :: Prerequisites
  :: -------------
  
  :: Verify node.js installed
  where node 2>nul >nul  
  IF %ERRORLEVEL% NEQ 0 (  
    echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment.
    goto error
  )
  
negative.code:   :: Locally just running "kuduSync" would also work
    SET KUDU_SYNC_CMD=%appdata%\npm\kuduSync.cmd
  )
  goto Deployment
  
  :: Utility Functions
  :: -----------------
  
  :SelectNodeVersion
  
  IF DEFINED KUDU_SELECT_NODE_VERSION_CMD (
    :: The following are done only on Windows Azure Websites environment
    call %KUDU_SELECT_NODE_VERSION_CMD% "%DEPLOYMENT_SOURCE%" "%DEPLOYMENT_TARGET%" "%DEPLOYMENT_TEMP%"
    IF !ERRORLEVEL! NEQ 0 goto error
  
    IF EXIST "%DEPLOYMENT_TEMP%\__nodeVersion.tmp" (
      SET /p NODE_EXE=<"%DEPLOYMENT_TEMP%\__nodeVersion.tmp"
      IF !ERRORLEVEL! NEQ 0 goto error
    )
    
    IF EXIST "%DEPLOYMENT_TEMP%\__npmVersion.tmp" (
      SET /p NPM_JS_PATH=<"%DEPLOYMENT_TEMP%\__npmVersion.tmp"
      IF !ERRORLEVEL! NEQ 0 goto error
    )
  
    IF NOT DEFINED NODE_EXE (
      SET NODE_EXE=node
    )
  
    SET NPM_CMD="!NODE_EXE!" "!NPM_JS_PATH!"
  ) ELSE (
    SET NPM_CMD=npm
    SET NODE_EXE=node
  )
  
  goto :EOF
  
  ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  :: Deployment
  :: ----------
  
  :Deployment
  echo Handling node.js deployment.
  
  :: 1. KuduSync
  IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
    call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
    IF !ERRORLEVEL! NEQ 0 goto error
  )
  
  :: 2. Select node version
  call :SelectNodeVersion
  
  :: 3. Install npm packages
  IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
    pushd "%DEPLOYMENT_TARGET%"
    call :ExecuteCmd !NPM_CMD! install
    IF !ERRORLEVEL! NEQ 0 goto error
    popd
  )
  
  
  :: 4. Install bower packages
  IF EXIST "%DEPLOYMENT_TARGET%\bower.json" (
    pushd "%DEPLOYMENT_TARGET%"
    call :ExecuteCmd .\node_modules\.bin\bower install
    IF !ERRORLEVEL! NEQ 0 goto error
    popd
  )
  
  
  :: 5. Run gulp transformations
  IF EXIST "%DEPLOYMENT_TARGET%\gulpfile.js" (
    pushd "%DEPLOYMENT_TARGET%"
    call :ExecuteCmd .\node_modules\.bin\gulp
    IF !ERRORLEVEL! NEQ 0 goto error
    popd
  )
  
  
  
  ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  
  :: Post deployment stub
  IF DEFINED POST_DEPLOYMENT_ACTION call "%POST_DEPLOYMENT_ACTION%"
  IF !ERRORLEVEL! NEQ 0 goto error
  
  goto end
  
  :: Execute command routine that will echo out when error
  :ExecuteCmd
  setlocal
  set _CMD_=%*
  call %_CMD_%
  if "%ERRORLEVEL%" NEQ "0" echo Failed exitCode=%ERRORLEVEL%, command=%_CMD_%
  exit /b %ERRORLEVEL%
  
  :error
  endlocal
  echo An error has occurred during web site deployment.
  call :exitSetErrorLevel
  call :exitFromFunction 2>nul
  
  :exitSetErrorLevel
  