       throw Error("Root directory does not exist: #{@getPath()}") if @isRoot()
 
       @getParent().create().then =>
-        Q.Promise (resolve, reject) =>
+        new Promise (resolve, reject) =>
           fs.mkdir @getPath(), mode, (error) ->
             if error
               reject error

  # Public: Returns a promise that resolves to a {Boolean}, true if the
  # directory exists, false otherwise.
  exists: ->
    Q.Promise (resolve, reject) =>
      fs.exists(@getPath(), resolve)

  # Public: Returns a {Boolean}, true if the directory exists, false otherwise.
  existsSync: ->

{Emitter, Disposable} = require 'event-kit'
fs = require 'fs-plus'
Grim = require 'grim'

File = require './file'
PathWatcher = require './main'
