Git Product home page Git Product logo

nylas / nylas-mail Goto Github PK

View Code? Open in Web Editor NEW
24.8K 464.0 1.4K 84.99 MB

:love_letter: An extensible desktop mail app built on the modern web. Forks welcome!

Home Page: https://nylas.com/nylas-mail/

License: MIT License

Shell 0.26% CoffeeScript 21.17% JavaScript 52.72% CSS 5.73% HTML 20.06% Batchfile 0.01% Visual Basic 0.01% Python 0.04% PHP 0.01%
electron javascript react flux macos windows linux productivity email babel

nylas-mail's Introduction

Nylas Mail - the open-source, extensible mail client

N1 Screenshot

Nylas Mail was an open-source mail client built on the modern web with Electron, React, and Flux. It was designed to be easy to extend, and many third-party plugins are available that add functionality to the client.

⚠️ Nylas Mail was initially released and open-sourced in early 2015 and was maintained by Nylas until Spring 2017. While Nylas no longer supports Nylas Mail, you can download the latest release or build it from source. There are also several forks that are being actively developed and maintained.

Getting Started

Setup your Environment (Mac):

  1. Install Homebrew
  2. Install NVM & Redis brew install nvm redis
  3. Install Node 6 via NVM: nvm install 6
  4. npm install

Setup your Environment (Linux - Debian/Ubuntu):

  1. Install Node 6+ via NodeSource (trusted):
  2. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
  3. sudo apt-get install -y nodejs
  4. Install Redis locally sudo apt-get install -y redis-server redis-tools benefit of letting us use subdomains.
  5. npm install

Running Nylas Mail

  1. npm run client: Starts the app
  2. npm run test-client: Run the tests
  3. npm run lint-client: Lint the source (ESLint + Coffeelint + LESSLint)

Exploring the Source

This repository contains the full source code to the Nylas Mail client and it's backend services. It is divided into the following packages:

  1. Isomorphic Core: Shared code across local client and cloud servers
  2. Client App: The main Electron app for Nylas Mail mirrored to open source repo.
  3. Client Sync: The local mailsync engine integreated in Nylas Mail
  4. Client Private Plugins: Private Nylas Mail plugins (like SFDC)
  5. Cloud API: The cloud-based auth and metadata APIs for N1
  6. Cloud Core: Shared code used in all remote cloud services
  7. Cloud Workers: Cloud workers for services like send later

See /packages for the separate pieces. Each folder in /packages is designed to be its own stand-alone repository. They are all bundled here for the ease of source control management.

Digging Deeper

In early 2016, the Nylas Mail team wrote extensive documentation for the app that was intended for plugin developers. This documentation lives on GitHub Pages and offers a great overview of the app's architecture and important classes. Here are some good places to get started:

The team has also given conference talks and published blog posts about the client:

Running the Cloud

When you download and build Nylas Mail from source it runs without its cloud components. The concept of a "Nylas ID" / subscription has been removed, and plugins that require server-side processing are disabled by default. (Plugins like Snooze, Send Later, etc.)

In order to use these plugins and get the full Nylas Mail experience, you need to deploy the backend infrastructure located in the cloud-* packages. Deploying these services is challenging because they are implemented as microservices and designed to be run at enterprise scale with Redis, Postgres, etc. Because these backend services must access your email account, it is also important to use security best-practices (at the very least, SSL, encryption at rest, and a partitioned VPC). For more information about building and deploying this part of the stack, check out the cloud-core README.

Themes

The Nylas Mail user interface is styled using CSS, which means it's easy to modify and extend. Nylas Mail comes stock with a few beautiful themes, and there are many more which have been built by community developers

N1 Themes

Bundled Themes

Community Themes

ToogaBooga Material Monokai
Agapanthus—Inbox-inspired theme Stripe Kleinstein—Hides account sidebar
Arc Dark Solarized Dark Darkish
Predawn Ido—Polymail-inspired theme Berend
ElementaryOS LevelUp Sunrise
BoraBora Honeyduke Snow
Hull Express DarkSoda
Bemind Dracula MouseEatsCat
Sublime Dark Firefox Gmail

To install community themes:

  1. Download and unzip the repo
  2. In Nylas Mail, select Developer > Install a Package Manually...
  3. Navigate to where you downloaded the theme and select the root folder. The theme is copied into the ~/.nylas-mail folder for your convinence
  4. Select Change Theme... from the top level menu, and you'll see the newly installed theme. That's it!

Want to dive in more? Try creating your own theme!

Plugins

Some plugins come pre-installed, and are a great starting points for creating your own:

Community Plugins

Note these are not tested or officially supported by Nylas, but we still think they are really cool! If you find bugs with them, please open GitHub issues on their individual project pages, not the Nylas Mail (N1) repo page. Thanks!

Jiffy—Insert animated GIFs Weather Todoist
Unsubscribe Squirt Speed Reader Website Launcher—Opens a URL in separate window
Cypher—PGP Encryption Avatars Events Calendar (WIP)
Mail in Chat (WIP) Evernote Wunderlist
Participants Display GitHub

When you install packages, they're moved to ~/.nylas-mail/packages, and Nylas Mail runs apm install on the command line to fetch dependencies listed in the package's package.json

Forks

There are several forks of Nylas Mail that you should check out. If you're just learning about Nylas Mail, it is highly recommended you use one of these instead.

  • Mailspring - Significant rewrite by one of the original authors focused on performance and cloud plugins
  • Nylas Mail Lives - Community effort to fix bugs and improve the client! (Seeking Maintainers)

nylas-mail's People

Contributors

agsdot avatar bengotow avatar courajs avatar dillonforrest avatar dregitsky avatar emorikawa avatar flyingclimber avatar gm-polyakov avatar grinich avatar jackiehluo avatar jamiewilson avatar jathpala avatar jerm avatar jstejada avatar kartiktalwar avatar kevinmartin avatar khamidou avatar koenpunt avatar logandavis avatar mbilker avatar mhahnenberg avatar mxstbr avatar noahbuscher avatar ojford avatar paulxuca avatar pfista avatar rclai avatar ridem avatar sbstnmsch-zz avatar spang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nylas-mail's Issues

Microsoft Exchange server settings

I couldn't sync to my work exchange server because they require custom server address. Would be great if there's support for entering custom server address in Nylas N1.

Web-based client?

I understand that N1 is currently built on Electron, but are there plans (or is it already reasonably simple) to decouple from Electron and deploy as a web-based application, rather than desktop client?

How do I run N1 without registering nylas.com?

I got there from some news articles claiming that there is a new open source alternative to Thunderbird. I tried to download a release, but it's not there and when I built the code, it says that I have to get an invitation from nylas.com. Is there a way I can actually run N1 without registering there?

Exposed AWS Access and Secret Keys

In src/tasks/ship-logs-task.coffee, the accessKeyId and secretKey for a AWS S3 bucket, specifically edgehill-client-logs. I did not attempt to retrieve or upload anything from the bucket as I consider it morally wrong. Are there appropriate access restrictions in place to allow this sensitive information to be stored in plain text in a public repository?

GPL

With GPL based license many of the extensions become also GPL. In the spirit of extension is it possible to add an exception or better still adopt a license like ASL 2.0.

How does N1 (and Sync Engine) communicate with email provider's APIs?

I've had a quick look around the docs for N1 and your Sync Engine, and rather than digging into the code of N1, I figured I'd post an issue as others might be curious too.

I'd like some clarifications on the following questions:

  • Does N1 communicate directly with Gmail/Yahoo/Outlook/Exchange/etc APIs? Or does it communicate with a Sync Engine instance running on your servers which in turn communicates directly with the email providers' APIs?
  • If N1 does communicate via a Sync Engine instance on your servers:
    • Can Sync Engine be embedded into N1 itself?
    • Can a person/company run their own private instance of Sync Engine and have N1 connect to said instance instead of your public one?
    • What kind of data protection procedures do you have in place to protect your users' private email in the case you got hacked?

I'm not a security expert, and sure email is mostly "public" as it flows across the internet, but I'd still be more cautious about using N1 if all my email flows through a 3rd-party server.

As a final note, N1 seems really cool, aside from some syncing issues I have with it for now, I'm liking it :)

Build on Ubuntu 15.04 fails

➜  N1 git:(master) ./script/bootstrap 
Node: v0.12.6
npm: v2.11.2

---> Installing N1 build tools
     This goes inside the `build` folder and runs `npm install`
     It will use the system `npm` to bootstrap our own N1 npm.
     Our build tools (like Grunt) need to be compiled against Node via `npm`.
     Everything else needs to be compiled against Chromium with `apm`.

     $ npm --userconfig=/home/david/Sources/N1/.npmrc install --loglevel error --cwd=/home/david/Sources/N1/build --ignoreStdout=true 



---> Installing apm
     This installs apm via N1's `npm`
     We use this local apm copy to install all N1 dependencies & packages

     $ /home/david/Sources/N1/build/node_modules/.bin/npm --userconfig=/home/david/Sources/N1/.npmrc install --loglevel error --cwd=/home/david/Sources/N1/apm --ignoreStdout=true 

child_process: customFds option is deprecated, use stdio instead.
Package gnome-keyring-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-keyring-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnome-keyring-1' found
gyp: Call to 'pkg-config --libs-only-l gnome-keyring-1' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/david/Sources/N1/build/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Linux 3.19.0-30-generic
gyp ERR! command "node" "/home/david/Sources/N1/build/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/david/Sources/N1/apm/node_modules/atom-package-manager/node_modules/keytar
gyp ERR! node -v v0.12.6
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok 
child_process: customFds option is deprecated, use stdio instead.
child_process: customFds option is deprecated, use stdio instead.
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the keytar package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls keytar
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.19.0-30-generic
npm ERR! command "node" "/home/david/Sources/N1/build/node_modules/.bin/npm" "--userconfig=/home/david/Sources/N1/.npmrc" "install" "--loglevel" "error"
npm ERR! cwd /home/david/Sources/N1/apm
npm ERR! node -v v0.12.6
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

Removing label doesn't move to next thread

If I'm currently viewing list of emails in label 'foo', and remove the label 'foo' from the email I'm currently viewing, I expect the next email with 'foo' to show up.

Windows build

I would like to try N1 in Windows 8.1 (64-bit). I installed cloned the repo and installed the dependencies.How to build the repo for windows.
I tried running build.cmd i get an error

Node: v0.12.7
npm: v2.11.3
Python: v2.7.9
F:\GitHub\N1\script\bootstrap:44
    throw new Error("Building for win32 with architecture "+targetArch+". Are
          ^
Error: Building for win32 with architecture x64. Are you sure you meant to do th
is?
    at makeSqlite3Command (F:\GitHub\N1\script\bootstrap:44:11)
    at bootstrap (F:\GitHub\N1\script\bootstrap:72:31)
    at F:\GitHub\N1\script\bootstrap:192:3
    at F:\GitHub\N1\script\utils\verify-requirements.js:21:9
    at F:\GitHub\N1\script\utils\verify-requirements.js:115:5
    at ChildProcess.exithandler (child_process.js:742:7)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)

Custom signatures

I want to have custom signatures that are appended to messages I send. These should probably be configurable per-account, so I can have a different signature at work versus my personal address.

"Back" multitouch gesture

In the List View theme, it'd be great to have a trackpad gesture to go back to the list view from the message view. I don't like to take my hand off the trackpad, and it's much slower to hit even a big click target.

Most apps, like Twitter and Reeder, support this.

Multi account merged list view

One thing I really appreciate using Mail.app is the ability to have a quick glance over all my unread mails of all the accounts I added. Is it a planned feature for N1 ?

Initial sync Error

Initial sync encountered error. Waiting to try again.

Is this maybe because of Two factor Auth or something, I can send email but cannot receive, I use gmail.

Add Persian language support

Please add Persian (or any other RTL language) support. We can at least start with RTL support in the editor.

just like Gmail, as I start typing in an RTL language like Persian, the direction of text should change to RTL.

Calendar integration

Are there any plans related to calendar integrations ? If any, what the scope of the feature would be ?

Translation, Internationalization, i18n, localization, & other languages support

Current volunteers for languages, with ISO 639-1 codes. (edited by @grinich)

Related: Add RTL support - Issue #124

npm install fails on OS X El Capitan

N1 fails on a new build of OS X El Capitan


> [email protected] preinstall /Users/colby/Desktop/Projects/N1
> node -e 'process.exit(0)'

npm WARN deprecated [email protected]: 6to5 is now 'babel': https://babeljs.io/blog/2015/02/15/not-born-to-die
npm WARN deprecated [email protected]: Please use node-uuid instead. It is much better.
npm WARN engine [email protected]: wanted: {"node":"~0.8.x"} (current: {"node":"4.1.1","npm":"2.14.4"})
npm WARN deprecated [email protected]: some edge cases fail to transform
npm WARN installMany asserts.js was bundled with [email protected], but bundled package wasn't found in unpacked tree
npm WARN installMany fn.js was bundled with [email protected], but bundled package wasn't found in unpacked tree
npm WARN installMany observer.js was bundled with [email protected], but bundled package wasn't found in unpacked tree

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/nslog
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/nslog/src/main.o
In file included from ../src/main.cc:3:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/main.cc:3:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/main.cc:3:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/main.cc:3:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:3:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:3:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:3:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/nslog/src/main.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/nslog
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/scrollbar-style
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/scrollbar-style-observer/src/scrollbar-style-observer-mac.o
In file included from ../src/scrollbar-style-observer-mac.mm:2:
In file included from ../src/scrollbar-style-observer.h:4:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/scrollbar-style-observer-mac.mm:2:
In file included from ../src/scrollbar-style-observer.h:4:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/scrollbar-style-observer-mac.mm:2:
In file included from ../src/scrollbar-style-observer.h:4:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/scrollbar-style-observer-mac.mm:2:
In file included from ../src/scrollbar-style-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/scrollbar-style-observer-mac.mm:2:
In file included from ../src/scrollbar-style-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/scrollbar-style-observer-mac.mm:2:
In file included from ../src/scrollbar-style-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/scrollbar-style-observer-mac.mm:2:
In file included from ../src/scrollbar-style-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/scrollbar-style-observer/src/scrollbar-style-observer-mac.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/scrollbar-style
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/runas
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/runas/src/main.o
In file included from ../src/main.cc:1:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/main.cc:1:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/main.cc:1:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/runas/src/main.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/runas
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/atom-keymap/node_modules/keyboard-layout
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/keyboard-layout-observer/src/keyboard-layout-observer-mac.o
In file included from ../src/keyboard-layout-observer-mac.mm:2:
In file included from ../src/keyboard-layout-observer.h:4:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/keyboard-layout-observer-mac.mm:2:
In file included from ../src/keyboard-layout-observer.h:4:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/keyboard-layout-observer-mac.mm:2:
In file included from ../src/keyboard-layout-observer.h:4:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/keyboard-layout-observer-mac.mm:2:
In file included from ../src/keyboard-layout-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/keyboard-layout-observer-mac.mm:2:
In file included from ../src/keyboard-layout-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/keyboard-layout-observer-mac.mm:2:
In file included from ../src/keyboard-layout-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/keyboard-layout-observer-mac.mm:2:
In file included from ../src/keyboard-layout-observer.h:4:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/keyboard-layout-observer/src/keyboard-layout-observer-mac.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/atom-keymap/node_modules/keyboard-layout
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/pathwatcher
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/pathwatcher/src/main.o
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/pathwatcher/src/main.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/pathwatcher
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/atom-keymap/node_modules/pathwatcher
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/pathwatcher/src/main.o
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/pathwatcher/src/main.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/atom-keymap/node_modules/pathwatcher
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/text-buffer/node_modules/pathwatcher
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/pathwatcher/src/main.o
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../src/common.h:6:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/pathwatcher/src/main.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/text-buffer/node_modules/pathwatcher
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/spellchecker
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/spellchecker/src/main.o
In file included from ../src/main.cc:1:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/main.cc:1:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/main.cc:1:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/spellchecker/src/main.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/spellchecker
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/colby/Desktop/Projects/N1/node_modules/git-utils
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CC(target) Release/obj.target/libgit2/deps/libgit2/src/attr.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/attr_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/attrcache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/blame_git.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/blame.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/blob.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/branch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/buf_text.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/buffer.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/cache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/checkout.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/cherrypick.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/clone.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/commit.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/commit_list.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/config.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/config_cache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/config_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/crlf.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/date.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/delta-apply.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/delta.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_driver.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_patch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_print.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_stats.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_tform.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_xdiff.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/errors.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fetch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fetchhead.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/filebuf.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fileops.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/filter.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fnmatch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/global.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/graph.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/hash.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/hashsig.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/ident.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/ignore.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/index.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/indexer.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/iterator.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/merge.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/merge_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/message.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/mwindow.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/netops.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/notes.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/object.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/object_api.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb_loose.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb_mempack.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb_pack.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/oid.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pack-objects.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pack.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/path.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pathspec.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pool.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/posix.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pqueue.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/push.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refdb.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refdb_fs.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/reflog.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refs.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refspec.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/remote.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/repository.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/reset.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/revert.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/revparse.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/revwalk.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/settings.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/sha1_lookup.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/signature.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/sortedcache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/stash.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/status.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/strmap.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/submodule.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/sysdir.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tag.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/thread-utils.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/trace.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transport.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tree-cache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tree.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tsort.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/util.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/vector.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/zstream.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/cred.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/cred_helpers.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/git.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/http.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/local.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/smart.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/smart_pkt.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/smart_protocol.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/ssh.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/winhttp.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xdiffi.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xemit.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xhistogram.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xmerge.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xpatience.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xprepare.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xutils.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/hash/hash_generic.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/unix/map.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/unix/realpath.o
  LIBTOOL-STATIC Release/git2.a
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/adler32.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/crc32.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/deflate.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/inffast.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/inflate.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/inftrees.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/trees.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/zutil.o
  LIBTOOL-STATIC Release/zlib.a
  CC(target) Release/obj.target/http_parser/deps/libgit2/deps/http-parser/http_parser.o
  LIBTOOL-STATIC Release/http_parser.a
  CXX(target) Release/obj.target/git/src/repository.o
In file included from ../src/repository.cc:22:
In file included from ../src/repository.h:29:
../node_modules/nan/nan.h:260:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:255:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:660:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:671:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/colby/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/repository.cc:22:
In file included from ../src/repository.h:29:
../node_modules/nan/nan.h:675:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/repository.cc:22:
In file included from ../src/repository.h:29:
../node_modules/nan/nan.h:682:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/repository.cc:22:
In file included from ../src/repository.h:29:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:413:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/repository.cc:22:
In file included from ../src/repository.h:29:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:423:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/repository.cc:22:
In file included from ../src/repository.h:29:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1513:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/repository.cc:22:
In file included from ../src/repository.h:29:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/colby/.node-gyp/4.1.1/include/node/node.h:42:
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/colby/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1631:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:397:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/git/src/repository.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/colby/Desktop/Projects/N1/node_modules/git-utils
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.1.1
npm ERR! npm  v2.14.4
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the nslog package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls nslog
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/colby/Desktop/Projects/N1/npm-debug.log

Invite code input is missing from prompt

Hey folks.

I cloned the repo about an hour, ran the build script, and ran the app that got installed for me.

Eventually the onboarding takes me to this screen:

screen shot 2015-10-06 at 12 24 32 pm

Looking at token-auth-page.cjsx in the onboarding package, it looks like there's supposed to be an input at the bottom, but I don't see one! Do you know what's up?

Thanks

What to do next?

Link does not work....
Where can I get the code? On the mailbox does not come
2015-10-08 22-40-50

Add Account Switching keyboard shortcut

Many apps like Slack have this via cmd + shift + ] or cmd + shift + [ to move back and forth between accounts. Having this would it make it much easier navigating multiple accounts.

Email Account Sidebar

sidebar

An icon-based sidebar with notifications per account would allow for easier understanding of volume in multi-account situations.

Not building on OS X El Capitain

I'm trying to build from source:

$ script/bootstrap 
Node: v4.1.1
npm: v1.4.28

---> Installing N1 build tools
     This goes inside the `build` folder and runs `npm install`
     It will use the system `npm` to bootstrap our own N1 npm.
     Our build tools (like Grunt) need to be compiled against Node via `npm`.
     Everything else needs to be compiled against Chromium with `apm`.

     $ /Users/dankle/bin/N1/build/node_modules/.bin/npm --userconfig=/Users/dankle/bin/N1/.npmrc install --loglevel error --cwd=/Users/dankle/bin/N1/build --ignoreStdout=true 

(node) child_process: options.customFds option is deprecated. Use options.stdio instead.
gyp: /Users/dankle/.node-gyp/4.1.1/common.gypi not found (cwd: /Users/dankle/bin/N1/build/node_modules/runas) while reading includes of binding.gyp while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/dankle/bin/N1/build/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/Cellar/node/4.1.1/bin/node" "/Users/dankle/bin/N1/build/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/dankle/bin/N1/build/node_modules/runas
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok 
(node) child_process: options.customFds option is deprecated. Use options.stdio instead.
gyp: /Users/dankle/.node-gyp/4.1.1/common.gypi not found (cwd: /Users/dankle/bin/N1/build/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle) while reading includes of binding.gyp while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/dankle/bin/N1/build/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/Cellar/node/4.1.1/bin/node" "/Users/dankle/bin/N1/build/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/dankle/bin/N1/build/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok 

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the runas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls runas
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 15.0.0
npm ERR! command "/usr/local/Cellar/node/4.1.1/bin/node" "/Users/dankle/bin/N1/build/node_modules/.bin/npm" "--userconfig=/Users/dankle/bin/N1/.npmrc" "install" "--loglevel" "error"
npm ERR! cwd /Users/dankle/bin/N1/build
npm ERR! node -v v4.1.1
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

Not being used to either node nor javascript, I've no idea where to go from here.

cheers

Building on 10.10.5 fails

screen shot 2015-10-05 at 12 30 35 pm

I'm probably doing something dumb, e.g. maybe it's failing because my version of Node is super old?

I tried manually installing electron via brew cask install electron and then running ./N1.sh.

It still said:

Cannot locate electron. Be sure you have run script/bootstrap first from /Users/jarredsumner/N1

Just to check, I ran exec $SHELL and it still reported the same message.

If node is the issue, I can't upgrade it without hassle because this is my work computer and stuff depends on it

Cannot locate electron

sudo sh ./N1.sh
Cannot locate electron. Be sure you have run script/bootstrap first from /home/pmpo/Рабочий стол/N1-master.
What it is?

Not compiling

Gone through the bootstrapping, the package installing, but I can't get it to compile :-/

Right now getting:

script/grunt build
Running "build" task
Fatal error: Cannot copy non-existent electron/Electron.app to /var/folders/7v/fbqlxxbs0_30s0cbbzlcnkr80000gn/T/nylas-build/Nylas.app

Electron seems to be working fine

Pull from Gmail labels

I'm not sure how email is pulled locally, but when I access a gmail label that doesn't have any activity for a while there are no emails there. I'm guessing emails are pulled temporally (within past X days) and not by count (last X emails).

Gnu PGP support?

I just stumbled on your new e-mail client. It looks really nice. I would like to try this app but I need PGP support. I could not find anything in the source code, so I guess it is not supported.

Any plans to add this feature to your client or sync platform?

IMAP / SMTP Setup not working

When i try to add an email account it always says that i need to check the credentials.

I'm pretty sure that the credentials that i'm inputting are 100% correct, since i use them on Postbox (which auto detects these) and even on Airmail, and they work perfectly fine, without any hiccups.

Am i missing something?

Regards!

Sorry if this was issued before, but i couldn't find any issue by searching.

dead image in draft

I added an image and then removed it again, then closed the email and forgot about it. Then when I reopened the draft, the image was back, but dead.

screenshot 2015-10-05 22 24 28

Delete functionality for Gmail

The functionality for the gmail accounts is a little different than what I am used to with Exchange/Outlook. When I click delete on an email -> it looks like it moves them from one folder to trash. If I click delete on trash to clean it up -> it moves it back into the all mail section.

Deleting something from the inbox does not eliminate it from the all mail folder and vice versa.

It feels like the delete key interaction pattern is broken.

Arch Linux - [email protected] node-gyp failed

I attempted to build this package on Arch Linux (my daily desktop) without success. The installation fails to compile the native code associated with [email protected], which hasn't been updated since January and uses an old version of v8. This causes this error to be thrown when running script/bootstrap after a fresh clone:

Node: v4.1.1
npm: v3.3.5

---> Installing N1 build tools
     This goes inside the `build` folder and runs `npm install`
     It will use the system `npm` to bootstrap our own N1 npm.
     Our build tools (like Grunt) need to be compiled against Node via `npm`.
     Everything else needs to be compiled against Chromium with `apm`.

     $ npm --userconfig=/home/mbilker/src/n1/.npmrc install --loglevel error --cwd=/home/mbilker/src/n1/build --ignoreStdout=true 

In file included from ../../native-mate/vendor/src/native_mate/converter.h:13:0,
                 from ../../native-mate/vendor/src/native_mate/arguments.h:10,
                 from ../../native-mate/vendor/src/native_mate/arguments.cc:5:
../../native-mate/header_redirect/v8/include/v8.h:2:35: fatal error: ../deps/v8/include/v8.h: No such file or directory
compilation terminated.
make: *** [Release/obj.target/native_mate/../native-mate/vendor/src/native_mate/arguments.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.2.2-1-ARCH
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/mbilker/src/n1/build/node_modules/chromium-pickle
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm ERR! Linux 4.2.2-1-ARCH
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "--userconfig=/home/mbilker/src/n1/.npmrc" "install" "--loglevel" "error"
npm ERR! node v4.1.1
npm ERR! npm  v3.3.5
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the chromium-pickle package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls chromium-pickle
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/mbilker/src/n1/build/npm-debug.log

Can't build under Windows

When I try to build under Windows (Win10 x64), script\bootstrap succeeds, but when I run script\build I get to here:

Loading "prebuild-less-task.coffee" tasks...ERROR
>> Error: Cannot find module 'less/lib/less/fs.js'

Running "download-electron" task

Running "build" task
Fatal error: Cannot copy non-existent build\resources\win\N1.sh to C:\Users\M\AppData\Local\Temp\nylas-build\Nylas\resources\cli\N1.sh

I'm running Node 0.10.40 and npm 1.4.28. Any ideas? I applied @Solnj 's fix in issue #28 to make it build correctly with x64.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.