         @updateTo3_1_0()
       ).then( =>
         @updateTo3_1_4()
+      ).then( =>
+        @ensurePackageJsonExists()
       ).then( =>
         @ensureNoBadGruntDeps()
       ).then( =>


    return deferred.promise


  addGruntSteroidsDependency: ->
    deferred = Q.defer()

    console.log("Adding #{chalk.bold("grunt-steroids")} devDependency to #{chalk.bold("package.json")}...")

    packageJson = require(paths.application.configs.packageJson)

    if packageJson.devDependencies?
      packageJson.devDependencies["grunt-steroids"] = "0.x"


    console.log "Checking for erroneous npm dependencies..."

    packageJsonData = fs.readFileSync paths.application.configs.packageJson, 'utf-8'
    packageJson = JSON.parse(packageJsonData)

    if (packageJson?.devDependencies?["grunt-extend-config"]? ||
       packageJson?.devDependencies?["grunt-contrib-clean"]? ||
