GithubHelp home page GithubHelp logo

facebookarchive / nuclide Goto Github PK

View Code? Open in Web Editor NEW
7.8K 299.0 684.0 185.33 MB

An open IDE for web and native mobile development, built on top of Atom

Home Page: https://nuclide.io

License: Other

JavaScript 58.79% CSS 0.85% Hack 0.09% Python 36.64% Shell 0.09% PHP 0.01% Objective-C 0.01% HTML 0.03% C++ 0.66% OCaml 0.01% Java 2.61% CoffeeScript 0.07% Thrift 0.06% C 0.08% Batchfile 0.01% Makefile 0.01%

nuclide's Introduction

Nuclide

Circle Status

Nuclide is a collection of features for Atom to provide IDE-like functionality for a variety of programming languages and technologies.

The Nuclide license has certain limitations around distribution and should not be considered an open source license. However, this does not affect your ability to fork the project and make contributions.


Documentation

The full documentation for Nuclide provides information for:

nuclide's People

Contributors

aadisriram avatar aadsm avatar aaronabramov avatar bolinfest avatar captbaritone avatar cs01 avatar ebluestein avatar evangrayk avatar hansonw avatar hchau-fb avatar jamesgpearce avatar jgebhardt avatar joelmarcey avatar johnislarry avatar kevinatorchen avatar ljw1004 avatar matthewwithanm avatar mostafaeweda avatar natthu avatar nmote avatar pelmers avatar peterhal avatar rageandqq avatar scv119 avatar stepanhruda avatar velocityboy avatar vjeux avatar walter-erquinigo avatar zardra avatar zertosh 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

nuclide's Issues

packages are failed to load due to trailing comma in function call

There are several packages failed to be loaded in atom because of trailing comma in function call. AFAIK trailing comma in function arguments is illegal which makes it a bug in nuclide package, not atom.

I don't know if it's because it's not installed properly but If this is unexpected I can go ahead and make a PR for it : )

 56   _subscribeEventOnServer(serviceName: string, methodName: string, serviceOptions: mi>
 57     return this.callServiceFrameworkMethod(
 58       'serviceFramework',
 59       'subscribeEvent',
 60       /*methodArgs*/ [this.socket.id, serviceName, methodName],
 61       serviceOptions,
 62    );

log

/Users/huang47/Documents/projects/nuclide/pkg/nuclide/server/lib/NuclideRemoteEventbus.js: Unexpected token (62:3)
Hide Stack Trace
SyntaxError: /Users/huang47/Documents/projects/nuclide/pkg/nuclide/server/lib/NuclideRemoteEventbus.js: Unexpected token (62:3)
  60 |       /*methodArgs*/ [this.socket.id, serviceName, methodName],
  61 |       serviceOptions,
> 62 |    );
     |    ^
  63 |   }
  64 | 
  65 |   _unsubscribeEventFromServer(serviceName: string, methodName: string, serviceOptions: mixed): Promise {
    at Parser.pp.raise (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/location.js:73:13)
    at Parser.pp.unexpected (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/parseutil.js:87:8)
    at Parser.pp.parseExprAtom (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/expression.js:393:12)
    at Parser.parseExprAtom (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/node_modules/acorn-jsx/inject.js:624:24)
    at Parser.pp.parseExprSubscripts (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/expression.js:217:19)
    at Parser.pp.parseMaybeUnary (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/expression.js:199:19)
    at Parser.pp.parseExprOps (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/expression.js:155:19)
    at Parser.pp.parseMaybeConditional (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/expression.js:138:19)
    at Parser.pp.parseMaybeAssign (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/expression.js:106:19)
    at Parser.pp.parseExprList (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/lib/acorn/src/expression.js:731:124)

Failed to activate 'click-to-symbol' package: Cannot read property 'on' of undefined

[Enter steps to reproduce below:]

  1. Launch Atom
  2. Error renders

Atom Version: 0.207.0
System: Mac OS X 10.10.3
Thrown From: nuclide-click-to-symbol package, v0.0.0

Stack Trace

Failed to activate the nuclide-click-to-symbol package

At Cannot read property 'on' of undefined

TypeError: Cannot read property 'on' of undefined
  at new ClickToSymbol (/Users/wmelton/nuclide/pkg/nuclide/click-to-symbol/lib/ClickToSymbol.js:45:20)
  at addClickToSymbolToEditorView (/Users/wmelton/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:47:27)
  at Workspace.module.exports.Workspace.observeTextEditors (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:267:9)
  at Object.activate (/Users/wmelton/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:51:45)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:770:25
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:177:20)

Commands

     -0:00.6.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused)
     -0:00.6.0 core:close (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "linter-bootlint",
      "linter-flow",
      "linter-jshint",
      "linter-swiftc",
      "remote-edit"
    ]
  }
}

Installed Packages

# User
linter, v0.12.6
linter-php, v0.0.15
nuclide-click-to-symbol, v0.0.0
nuclide-code-format, v0.0.0
nuclide-diff-view, v0.0.0
nuclide-file-tree, v0.0.0
nuclide-flow, v0.0.0
nuclide-hack, v0.0.0
nuclide-hg-repository, v0.0.0
nuclide-remote-projects, v0.0.0
nuclide-ssh-dialog, v0.0.0
nuclide-tabs, v0.0.0
nuclide-type-hint, v0.0.0

# Dev
No dev packages

ui/tree doesn't support file-icons package

The file-icons package (https://atom.io/packages/file-icons) expects two things to be able to customize the file tree:

  1. File items put the name of the file in a data-name attribute
  2. All files aside from READMEs use the icon-file-text class name

ui/tree can easily fulfill the first, but 2. requires that ui/tree doesn't do any customization of its own. Can we come up with a better API that both the standard Atom tree could use and Nuclide's?

Opened based on a comment in #27

nuclide-file-tree bugs

Hey guys!

First of all, thanks for the invitation and I'm happy to contribute and will do as much as I can.
I thought it'd be nice to file a meta bug for Nuclide's specific feature and reference them to any known bug, and I'm not sure if that's a good thing to do but if isn't the right workflow please feel free to close this bug and I will file a new bug for my issue that I've found.

  • Two file/directory tree on sidebar - #3
  • Clicked on the item on the tree does not open the file right away (needs to double click to do so).
  • Clicked on the folder does not expand the item.

So I'm not sure if they are intentional there for the last two?

[Bug] Default language JSX for js files.

When I create a new .js file, the language for that file becomes JSX. And, sometimes that happens for my existing .js files too. But, not always. Then, I have to change it using Ctrl + Shift + L

documentation issue? seems all setup to run a react native project, but I don't have the toolbars I noticed in the f8 nuclide keynote

I'm not sure if not everything is available in the master branch, but when I open my react native project with the additional

"nuclide": {
"packageType": "Node",
"testRunner": "npm"
},

added to the package.json

I don't see the toolbars (select simulator, play, ...), or any options to get them to show up.
https://youtu.be/X0VH78ye4yY?t=1383

I know that the packages for nuclide are installed because I checked them in the atom installed packages pane.

My goal is to replicate the presentation to build and test react-native without xcode.

Unhandled promise rejection on Startup

Abstract: Promise Exception is thrown anytime, I try to open a folder.

Ubuntu 14.04, Node 0.10.38, Python 2.7

Installation worked without a problem (had to use sudo privileges, see #23 (comment))

How I can reproduce the exception:

  1. Start atom on a directory, eg ./atom /home/foobar/baz or open atom and do 'file > open folder'
  2. Window will be empty and show the daily tooltip

Problem:
Project Directory Tree is missing

I get the following exception:

Unhandled promise rejection
raise/usr/share/atom/resources/app/node_modules/babel-core/node_modules/acorn-babel/acorn_csp.js:2278 unexpected/usr/share/atom/resources/app/node_modules/babel-core/node_modules/acorn-babel/acorn_csp.js:2266 expect/usr/share/atom/resources/app/node_modules/babel-core/node_modules/acorn-babel/acorn_csp.js:4564 parseFunctionTypeParam/usr/share/atom/resources/app/node_modules/babel-core/node_modules/acorn-babel/acorn_csp.js:4573 parseFunctionTypeParams/usr/share/atom/resources/app/node_modules/babel-core/node_modules/acorn-babel/acorn_csp.js:4688 parsePrimaryType
...

The Promise

{
_babel: trueloc: Objectcolumn: 20line: 16__proto__: Object,
message: "/home/stepan/tmp/nuclide/nuclide/pkg/nuclide/file-tree/lib/LazyFileTreeNode.js: Unexpected token (16:20)↵  14 | class LazyFileTreeNode extends LazyTreeNode {↵  15 | ↵> 16 |   _file: (atom$File | atom$Directory);↵     |                     ^↵  17 | ↵  18 |   constructor(↵  19 |       file: atom$File | atom$Directory,"
pos: 346,
raisedAt: 348
}

Promise {[[PromiseStatus]]: "rejected", [[PromiseValue]]: SyntaxError: /home/foobar/tmp/nuclide/nuclide/pkg/nuclide/file-tree/lib/LazyFileTreeNode.js: Unexpec…}__proto__: Promisecatch: function catch() { [native code] }chain: function chain() { [native code] }constructor: function Promise() { [native code] }then: function then() { [native code] }Symbol(Symbol.toStringTag): "Promise"Symbol(Symbol.toStringTag): "Promise"__proto__: Object[[PromiseStatus]]: "rejected"[[PromiseValue]]: SyntaxError: /home/stepan/tmp/nuclide/nuclide/pkg/nuclide/file-tree/lib/LazyFileTreeNode.js: Unexpected token (16:20)
  14 | class LazyFileTreeNode extends LazyTreeNode {
  15 | 
> 16 |   _file: (atom$File | atom$Directory);
     |                     ^
  17 | 
  18 |   constructor(
  19 |       file: atom$File | atom$Directory,

Nuclide file tree in different colours

I disabled the atom file tree and now I just got the nuclide file tree. How do I get this effect that saved projects turn orange? You know, the diferent colours in the file-tree.
In all those pictures I saw it worked. How do I enable it. Using a Mac, OS X, installed atom packages: nuclide, linter and react. Atom tells me that all the nuclide packages are enabled.
I created a react-native example project for demonstration, obviously written in jsx.

nuclidetree

Remote: Connection status

While trying out the remote feature in Nuclide, the only way I was able to check that a connection was successful was by looking at the console and waiting for the remote project to appear. I think that having a status icon for the connection and perhaps one for when the Hack tools are working would help out people trying to debug connectivity issues or server setup problems (like a slow coffee shop wifi or firewall issues on the server side). Here's a quick mockup:
nuclidestatus

Cannot install on Windows

This is my setup:

Windows 7
Python 2.7.2 installed to C:\Python27
Node.js 0.12.4 and NPM 2.10.1 installed via the Windows installer
Atom 0.208.0 and APM 0.171.0 installed via the Windows installer

I keep receiving the following errors when executing the scripts\dev\setup file. I'm also running this as an administration through the command prompt.

START INSTALL: 2015-06-10 19:53:21.311000
Installing dependencies for Node package nuclide-node-transpiler...
Traceback (most recent call last):
  File "scripts\dev\setup", line 44, in <module>
    package_manager.install_dependencies(npm, include_packages_that_depend_on_atom=include_apm)
  File "scripts\dev\../lib\package_manager.py", line 47, in install_dependencies
    installer.install()
  File "scripts\dev\../lib\package_manager.py", line 151, in install
    self._do_serial_install()
  File "scripts\dev\../lib\package_manager.py", line 157, in _do_serial_install
    install_dependencies(config, self._npm)
  File "scripts\dev\../lib\package_manager.py", line 315, in install_dependencies
    npm.install(package_config['packageRootAbsolutePath'], local_packages=package_config['localDependencies'], include_dev_dependencies=package_config['includeDevDependencies'])
  File "scripts\dev\../lib\npm.py", line 49, in install
    self._npm_install(package_root, include_dev_dependencies)
  File "scripts\dev\../lib\npm.py", line 55, in _npm_install
    self._execute(npm_command, cwd=package_root)
  File "scripts\dev\../lib\npm.py", line 85, in _execute
    output = fs.cross_platform_check_output(cmd_args, cwd=cwd, stderr=devnull)
  File "scripts\dev\../lib\fs.py", line 91, in cross_platform_check_output
    raise subprocess.CalledProcessError(returncode, cmd_args, output=stdout)
subprocess.CalledProcessError: Command '['npm', 'install']' returned non-zero exit status 1

My projects are installed to a separate drive, the E: drive, so I'm curious if that's an issue in itself.

I've also tried this patch found in another issue, no go. https://github.com/apuckey/nuclide/commit/f33bdcef41125de52724e36a224f0f2688d03124

Any help would be appreciated.

Hack: can override builtins

Probably because there's no hhi files.

<?hh

function array_pop() {}

Expected: Name already bound: array_pop
Actual: no error

Nuclide hack not installing

When i run

./scripts/dev/setup

this happens

START INSTALL: 2015-06-04 12:13:30.224077
Installing dependencies for Atom package language-hack...
Installing dependencies for Node package nuclide-hack-common...
Installing dependencies for Atom package nuclide-diff-view...
Installing dependencies for Node package nuclide-node-transpiler...
Done installing dependencies for nuclide-hack-common
Installing dependencies for Node package nuclide-service-hub-plus...
Done installing dependencies for language-hack
Running apm link /Applications/meanstack-3.0.3-0/nuclide/pkg/nuclide/language-hack...
Done installing dependencies for nuclide-diff-view
Running apm link /Applications/meanstack-3.0.3-0/nuclide/pkg/nuclide/diff-view...
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /Applications/meanstack-3.0.3-0/common/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /Applications/meanstack-3.0.3-0/common/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Done installing dependencies for nuclide-node-transpiler
Installing dependencies for Node package nuclide-commons...
Done installing dependencies for nuclide-service-hub-plus
Installing dependencies for Node package nuclide-atom-interfaces...
Done installing dependencies for nuclide-commons
Installing dependencies for Node package nuclide-version...
Done installing dependencies for nuclide-atom-interfaces
Installing dependencies for Node package nuclide-service-transformer...
Done installing dependencies for nuclide-version
Installing dependencies for Node package nuclide-test-helpers...
/usr/local/bin/apm: line 28: 8456 Trace/BPT trap: 5 "$binDir/$nodeBin" --harmony_collections > > > > "$binDir/../lib/cli.js" "$@"
Process Process-1:
Traceback (most recent call last):
File "/Applications/meanstack-3.0.3-0/python/lib/python2.7/multiprocessing/process.py", line 258, in > > _bootstrap
self.run()
File "/Applications/meanstack-3.0.3-0/python/lib/python2.7/multiprocessing/process.py", line 114, in > > run
self._target(_self._args, *_self._kwargs)
File "./scripts/dev/../lib/package_manager.py", line 324, in install_dependencies
fs.cross_platform_check_call(args)
File "./scripts/dev/../lib/fs.py", line 83, in cross_platform_check_call
stderr=stderr,
File "/Applications/meanstack-3.0.3-0/python/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['apm', 'link', '/Applications/meanstack-3.0.3-0/nuclide/pkg/nuclide/language-hack']' returned non-zero exit status 133
Traceback (most recent call last):
File "./scripts/dev/setup", line 44, in
package_manager.install_dependencies(npm, include_packages_that_depend_on_atom=include_apm)
File "./scripts/dev/../lib/package_manager.py", line 45, in install_dependencies
installer.install()
File "./scripts/dev/../lib/package_manager.py", line 151, in install
self._do_multiprocess_install()
File "./scripts/dev/../lib/package_manager.py", line 197, in _do_multiprocess_install
(config['name'], exitcode))
Exception: Installing package language-hack failed with exit code 1
/usr/local/bin/apm: line 28: 8469 Trace/BPT trap: 5 "$binDir/$nodeBin" --harmony_collections "$binDir/../lib/cli.js" "$@"
Process Process-3:
Traceback (most recent call last):
File "/Applications/meanstack-3.0.3-0/python/lib/python2.7/multiprocessing/process.py", line 258, in >_bootstrap
self.run()
File "/Applications/meanstack-3.0.3-0/python/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(_self._args, *_self._kwargs)
File "./scripts/dev/../lib/package_manager.py", line 324, in install_dependencies
fs.cross_platform_check_call(args)
File "./scripts/dev/../lib/fs.py", line 83, in cross_platform_check_call
stderr=stderr,
File "/Applications/meanstack-3.0.3-0/python/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['apm', 'link', '/Applications/meanstack-3.0.3-0/nuclide/pkg/nuclide/diff-view']' returned non-zero exit status 133
Done installing dependencies for nuclide-service-transformer
Done installing dependencies for nuclide-test-helpers

Could anyone help me why not installed hack ?

Thanks.

Nuclide spawning multiple hh_server instances

My Atom log is filled with:

[2015-06-06T17:40:07.516Z] [ERROR] nuclide - failed to parse hh_client output: Server launched with the following command:
    'hh_server' -d '/var/www/decouple' 
Spawned hh_server (child pid=5754)
Logs will go to /tmp/hh_server/zSvarzSwwwzSdecouple.log
The server will be ready in a few seconds (a couple of minutes if your files are cold)!

Edit: Atom seems to be launching 10 hh_server instances simultaneously by design.

Installing package nuclide-server failed

OSX 10.10.3
Atom 0.208.0

Building from master now gives me this error:

Done installing dependencies for nuclide-clang
Skip Libclang installation for open source version.
Done linking nuclide-file-tree
Done installing dependencies for nuclide-hg-repository-base
Done installing dependencies for nuclide-path-search
Installing dependencies for Node package nuclide-server...
Process Process-36:
Traceback (most recent call last):
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "./scripts/dev/../lib/package_manager.py", line 308, in install_dependencies
    symlink(src_dir, dest_dir)
  File "./scripts/dev/../lib/fs.py", line 50, in symlink
    os.remove(dest)
OSError: [Errno 1] Operation not permitted: '/Users/erik/projects/nuclide/pkg/nuclide/server/node_modules/nuclide-clang'
Traceback (most recent call last):
  File "./scripts/dev/setup", line 44, in <module>
    package_manager.install_dependencies(npm, include_packages_that_depend_on_atom=include_apm)
  File "./scripts/dev/../lib/package_manager.py", line 45, in install_dependencies
    installer.install()
  File "./scripts/dev/../lib/package_manager.py", line 151, in install
    self._do_multiprocess_install()
  File "./scripts/dev/../lib/package_manager.py", line 197, in _do_multiprocess_install
    (config['name'], exitcode))
Exception: Installing package nuclide-server failed with exit code 1
Done installing dependencies for nuclide-click-to-symbol
Running `apm link /Users/erik/projects/nuclide/pkg/nuclide/click-to-symbol`...
Done linking nuclide-click-to-symbol

I tried sudo running the dev script that was suggested in another issue, but no luck.

Install/setup issues

Hi, I am trying to get Nuclide work, but have some issues with install process.
Command: python ./scripts/dev/setup
My Configuration: Windows 7, npm 2.9.1, node 0.12.3, Python 3.4.2, git 1.9.4.msysgit.1
What APM said: apm 0.168.0, npm 2.5.1, node 0.10.35, python, git 1.9.4.msysgit.1

Firstly I had issue with long path - longer that allowed on Windows OS. This issue is fixed in NPM somehow but in your python script it's not. I temporary solved this by moving it closer to core path.

I would like to ask if there is someone who is developing also on Windows or I am alone ? :)

And another issue:

C:\nuclide>python ./scripts/dev/setup
START INSTALL: 2015-06-03 08:36:41.076494
Installing dependencies for Node package nuclide-node-transpiler...
Done installing dependencies for nuclide-node-transpiler
Installing dependencies for Node package nuclide-atom-interfaces...
Traceback (most recent call last):
File "./scripts/dev/setup", line 44, in
package_manager.install_dependencies(npm, include_packages_that_depend_on_atom=include_apm)
File "./scripts/dev../lib\package_manager.py", line 45, in install_dependencies
installer.install()
File "./scripts/dev../lib\package_manager.py", line 149, in install
self._do_serial_install()
File "./scripts/dev../lib\package_manager.py", line 155, in _do_serial_install
install_dependencies(config, self._npm)
File "./scripts/dev../lib\package_manager.py", line 307, in install_dependencies
link_dependencys_executable(src_path, local_dependency)
File "./scripts/dev../lib\package_manager.py", line 355, in link_dependencys_executable
shutil.copyfile(absolute_src_path, absolute_dst_path)
File "C:\Python34\lib\shutil.py", line 108, in copyfile
with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\nuclide\pkg\nuclide\atom-interfaces\node_modules.bin\jasmine-node-transpiled'

Folder pkg/nuclide/atom-interfaces/node_modules/.bin not exists.

Hack click-to-symbol / Go To Declaration for XHP & Namespaced Classes

Currently in my fresh Ubuntu 14.10 installation, click-to-symbol will activate for classes defined in the root namespace, but fails for classes contained inside of a namespace & XHP elements.

Given the following example:
click-to-symbol
I would hope to be able to navigate to the definitions of TestA, DebugRegistry, Debug\DebugRegistry, and test:element.
Currently, only TestA is compatible with click-to-symbol / go to declaration.

I would also like to be able to use click-to-symbol for :xhp and other classes/elements defined in vendor code.

nuclide-tabs not working

i just installed atom, linter package and after that, installed nuclide on my os x and when i open a file, look the tabs:

captura de tela 2015-06-09 as 09 38 24

But "nuclide-tabs" was successfully installed, look:

captura de tela 2015-06-09 as 09 42 17

What can i do ?
Thanks.

nuclide plugin causes wrong autocomplete for javascript file

After installing the plugin, javascript development becomes a little bit hassle. I constantly need to press Esc key to ignore wrong autocomplete.

for example, after simple type of 'use strict'; I get export{}, image is provided.

screen shot 2015-05-27 at 10 37 32 am

so I have to hit Esc key and then press Enter key. :(

Failed to activate the nuclide-click-to-symbol package

Try to say any file

Atom Version: 0.206.0
System: Mac OS X 10.10.3
Thrown From: nuclide-click-to-symbol package, v0.0.0

Stack Trace

Failed to activate the nuclide-click-to-symbol package

At Cannot read property 'on' of undefined

TypeError: Cannot read property 'on' of undefined
  at new ClickToSymbol (/Users/nkt/Projects/fb/nuclide/pkg/nuclide/click-to-symbol/lib/ClickToSymbol.js:45:20)
  at addClickToSymbolToEditorView (/Users/nkt/Projects/fb/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:46:27)
  at Workspace.module.exports.Workspace.observeTextEditors (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:267:9)
  at Object.activate (/Users/nkt/Projects/fb/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:50:45)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:770:25
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:177:20)

Commands

     -0:01.3.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused)
     -0:01.2.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "one-light-syntax"
    ],
    "disabledPackages": [
      "jsdoc",
      "tool-bar-main",
      "tool-bar",
      "welcome",
      "csscomb",
      "linter-jsonlint",
      "pretty-json",
      "tree-view",
      "autocomplete-modules",
      "atom-beautify",
      "react",
      "docblockr",
      "linter-eslint",
      "racer",
      "atom-ternjs",
      "pigments"
    ]
  }
}

Installed Packages

# User
circle-ci, v0.10.0
file-icons, v1.5.7
language-hack, v0.0.0
language-nginx, v0.5.2
language-rust, v0.4.3
linter, v0.12.6
nuclide-click-to-symbol, v0.0.0
nuclide-code-format, v0.0.0
nuclide-diff-view, v0.0.0
nuclide-file-tree, v0.0.0
nuclide-flow, v0.0.0
nuclide-hack, v0.0.0
nuclide-hg-repository, v0.0.0
nuclide-remote-projects, v0.0.0
nuclide-ssh-dialog, v0.0.0
nuclide-tabs, v0.0.0
nuclide-type-hint, v0.0.0

# Dev
No dev packages

Failed to load the nuclide-flow package Cannot find module 'ssh2-streams'

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.206.0
System: Mac OS X 10.10.3
Thrown From: Atom Core

Stack Trace

Failed to load the nuclide-flow package

At Cannot find module 'ssh2-streams'

Error: Cannot find module 'ssh2-streams'
    at Module._resolveFilename (module.js:328:15)
    at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:270:25)
    at Module.require (module.js:357:17)
    at require (module.js:376:17)
    at Object.<anonymous> (/Users/dotcoolgirl/Documents/nuclide/nuclide/pkg/nuclide/remote-connection/node_modules/ssh2/lib/client.js:6:20)
    at Module._compile (module.js:452:26)
    at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/babel.js:162:21)
    at Module.load (module.js:347:32)
    at Function.Module._load (module.js:302:12)

Commands

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "one-light-syntax"
    ]
  },
  "editor": {
    "invisibles": {}
  }
}

Installed Packages

# User
nuclide-code-format, v0.0.0
nuclide-diff-view, v0.0.0
nuclide-file-tree, v0.0.0
nuclide-flow, v0.0.0
nuclide-hack, v0.0.0
nuclide-hg-repository, v0.0.0
nuclide-remote-projects, v0.0.0
nuclide-ssh-dialog, v0.0.0
nuclide-tabs, v0.0.0
nuclide-type-hint, v0.0.0
react, v0.12.0

# Dev
No dev packages

Reveal in file-tree doesn't clearly 'reveal' the file

Problem

Selecting 'Reveal in File Tree' doesn't consistently put focus on the current file in the file tree.

NOTE: this is with atom's default tree-view disabled

Repro

Atom 0.205.0
OS X Yosemite 10.10.3
nuclide HEAD as of dc7d1c5

  • Cloned https://github.com/hhvm/hack-example-site to ~/temp/hack-example-site
  • Open a new instance of Atom
  • Open ~/temp/hack-example-site
  • Use CMD+T to Fuzzy File Name Search for and open GetController.php
  • Secondary click (you know, 'right-click') to pull up menu and select 'Reveal in File Tree'

The result is folders are not expanded recursively and you'll need to select 'Reveal in File Tree' multiple times for files more than one directory deep. It looks like to me like find in the revealActiveFile function of FileTreeController.js#L514 is the problem, but I don't have a chance now to debug it.

Opening a folder?

screen shot 2015-05-25 at 2 02 53 am

This seems like a pretty basic issue but it seems that opening a folder with Nuclide opens a duplicate of the same project? I tried opening the same folder (i.e. 'atom [foldername]') with and without the nuclide packages. Had expected behavior with vanilla atom (one folder opened), but got the results above after installing the Nuclide packages.

On a side note, I think this issue also affects horizontally resizing the project pane sidebar. If you slightly adjust the sidebar when you have this problem, then the adjustments are very glitchy.

Atom's built-in tree view still active.

After first installing, I had two file tree view panels on the left side. The built-in Atom tree view was present. I fixed by going into Packager Manger > tree-view > Disable. Would it be possible for the installer to disable it?

Hack: Provide better information on error when related to different line

You could often receive an error like this:

... This is an int
... It is incompatible with object of type...

Nuclide however shows only the This is an int error on the line where it's an int. You'd have to start hh_client to find the erroring line.

Example with error with different implementations in inheritance:
The real error is in a child class, which can be confusing.
nucl3

Failed to activate the nuclide-click-to-symbol package

Cannot read property 'on' of undefined

TypeError: Cannot read property 'on' of undefined
  at new ClickToSymbol (/Users/yubo/Downloads/nuclide-master/pkg/nuclide/click-to-symbol/lib/ClickToSymbol.js:45:20)
  at addClickToSymbolToEditorView (/Users/yubo/Downloads/nuclide-master/pkg/nuclide/click-to-symbol/lib/main.js:46:27)
  at Workspace.module.exports.Workspace.observeTextEditors (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:267:9)
  at Object.activate (/Users/yubo/Downloads/nuclide-master/pkg/nuclide/click-to-symbol/lib/main.js:50:45)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:770:25
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:177:20)

Hack built-in autocompletion

I'm not sure if this is a bug or a feature that hasn't been implemented, but I'm not seeing any built-in support for Hack. When I autocomplete for $this-> I get the autocompletion for my class:
image

But when I attempt to autocomplete for a built-in, like Map, I get nothing:
image

Error when updating nuclide: Exception thrown when installing 'nuclide-server'

What are the steps when I update my local nuclide repository? Do I need to run the setup again? If so, every time a do that, an exception is thrown and the setup terminates.

I'm on OSX Yosemite, and I have all nuclide`s needed dependencies.

The error shown:

Installing dependencies for Node package nuclide-server...
Process Process-36:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "./scripts/dev/../lib/package_manager.py", line 308, in install_dependencies
    symlink(src_dir, dest_dir)
  File "./scripts/dev/../lib/fs.py", line 50, in symlink
    os.remove(dest)
OSError: [Errno 1] Operation not permitted: '/Users/abaptista/projects/nuclide/pkg/nuclide/server/node_modules/nuclide-clang'
Traceback (most recent call last):
  File "./scripts/dev/setup", line 44, in <module>
    package_manager.install_dependencies(npm, include_packages_that_depend_on_atom=include_apm)
  File "./scripts/dev/../lib/package_manager.py", line 45, in install_dependencies
    installer.install()
  File "./scripts/dev/../lib/package_manager.py", line 151, in install
    self._do_multiprocess_install()
  File "./scripts/dev/../lib/package_manager.py", line 197, in _do_multiprocess_install
    (config['name'], exitcode))
Exception: Installing package nuclide-server failed with exit code 1

Symbol search shortcut conflicts with Ubuntu default

In Ubuntu, ctrl-alt-s defaults to collapsing the current window. This takes priority over Nuclide, so the symbol search can't be invoked by default.

Current workaround is to go into Settings > Keyboard > Shortcuts > Windows, select "Toggle shaded state" and hit backspace to disable the setting in Ubuntu. Or change the shortcut in Nuclide settings.

Hack: top level code not causing an error

In strict mode, Hack doesn't allow top-level code.

<?hh // strict

echo 'Hello world!';

Expected: Remove all toplevel statements except for requires (to match the output from hh_client)
Actual: no error

Flow autocomplete not working

I cloned the flow repo and opened the examples but I don't see any autocomplete suggestions or type hints.

I installed flow via homebrew.

nuclide-file-tree error when trying to create a file

This issue reproduces when no file or folder is selected in tree. For example when you just opened a project or you clicked on sub-folder or file and then collapsed parent.

Steps to reproduce

  1. Select sub-folder of root folder
  2. Collapse root folder
  3. Click right mouse button on tree free space
  4. Click on "New → File" or "New → Folder"

Appears error: Uncaught ReferenceError: rootDirectory is not defined

Debug information

Atom Version: 0.204.0
System: Mac OS X 10.10.3
Thrown From: nuclide-file-tree package, v0.0.0

Stack Trace

Uncaught ReferenceError: rootDirectory is not defined

At /Users/bogus/Projects/nuclide/pkg/nuclide/file-tree/lib/FileTreeController.js:831

ReferenceError: rootDirectory is not defined
  at FileTreeController._getSelectedEntryAndDirectoryAndRoot (/Users/bogus/Projects/nuclide/pkg/nuclide/file-tree/lib/FileTreeController.js:831:13)
  at FileTreeController._openAddDialog (/Users/bogus/Projects/nuclide/pkg/nuclide/file-tree/lib/FileTreeController.js:695:28)
  at FileTreeController.openAddFileDialog (/Users/bogus/Projects/nuclide/pkg/nuclide/file-tree/lib/FileTreeController.js:665:12)
  at HTMLDivElement.nuclideFileTreeAddFile (/Users/bogus/Projects/nuclide/pkg/nuclide/file-tree/lib/FileTreeController.js:244:22)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:238:29)
  at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
  at CommandRegistry.module.exports.CommandRegistry.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:153:19)
  at [object Object].jQuery.fn.trigger (/Applications/Atom.app/Contents/Resources/app.asar/src/space-pen-extensions.js:64:23)
  at EventEmitter.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:76:67)
  at emitTwo (events.js:87:13)
  at EventEmitter.emit (events.js:169:7)
  at EventEmitter.ipc.sendSync (/Applications/Atom.app/Contents/Resources/atom.asar/renderer/api/lib/ipc.js:21:31)
  at BrowserWindow.RemoteMemberFunction [as emit] (/Applications/Atom.app/Contents/Resources/atom.asar/renderer/api/lib/remote.js:110:29)
  at ContextMenuManager.module.exports.ContextMenuManager.showForEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/context-menu-manager.js:170:31)
  at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:149:33)
  at HTMLDocument.handler (/Applications/Atom.app/Contents/Resources/app.asar/src/space-pen-extensions.js:112:34)
  at HTMLDocument.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/space-pen/vendor/jquery.js:4681:9)
  at HTMLDocument.elemData.handle (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/space-pen/vendor/jquery.js:4359:46)

Commands

     -2:40.6.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused)
     -2:40.5.0 core:save (atom-text-editor.editor.is-focused)
     -2:33 core:move-left (atom-text-editor.editor.is-focused)
  2x -2:28.4.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused.autocomplete-active)
     -2:27.6.0 core:save (atom-text-editor.editor.is-focused)
     -2:12.4.0 core:backspace (atom-text-editor.editor.is-focused)
     -2:11.5.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused)
     -2:11.5.0 core:save (atom-text-editor.editor.is-focused)
     -2:10.8.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused)
  4x -2:10.8.0 core:close (atom-text-editor.editor.is-focused)
     -1:57.5.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused)
     -1:57.4.0 core:save (atom-text-editor.editor.is-focused)
     -0:10.4.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:10.4.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:07.2.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
  2x -0:07.2.0 core:cancel (atom-text-editor.editor.mini.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "linter-htmlhint",
      "markdown-preview-plus",
      "mathjax-wrapper",
      "linter-tidy",
      "tree-view",
      "autocomplete-paths"
    ],
    "themes": [
      "isotope-ui",
      "one-dark-syntax"
    ],
    "projectHome": "/Users/bogus/Projects"
  }
}

Installed Packages

# User
Stylus, v1.0.0
angularjs, v0.3.0
atom-beautify, v0.27.10
autoclose-html, v0.17.0
autocomplete-modules, v0.3.5
color-picker, v2.0.4
editorconfig, v1.0.0
emmet, v2.3.10
file-icons, v1.5.7
highlight-selected, v0.9.3
isotope-ui, v2.4.0
language-latex, v0.6.1
language-svg, v0.8.0
latex, v0.24.1
linter, v0.12.6
linter-csslint, v0.0.13
linter-eslint, v0.5.8
linter-scss-lint, v1.0.4
linter-stylint, v0.6.0
minimap, v4.9.3
minimap-find-and-replace, v4.2.0
minimap-git-diff, v4.1.3
minimap-highlight-selected, v4.3.0
minimap-selection, v4.2.0
nuclide-click-to-symbol, v0.0.0
nuclide-code-format, v0.0.0
nuclide-diff-view, v0.0.0
nuclide-file-tree, v0.0.0
nuclide-flow, v0.0.0
nuclide-hack, v0.0.0
nuclide-hg-repository, v0.0.0
nuclide-remote-projects, v0.0.0
nuclide-ssh-dialog, v0.0.0
nuclide-tabs, v0.0.0
nuclide-type-hint, v0.0.0
project-manager, v1.15.7
react, v0.12.0
recent-files-fuzzy-finder, v0.1.3
save-session, vundefined
svg-preview, v0.6.0
webbox-color, v0.5.7

# Dev
No dev packages

Exception: TEST FAILED: npm test nuclide-buck-bas

I was running test, i encountered following problem.

Running npm test in /Users/Ravikiran/Desktop/nuclide-master/pkg/nuclide/watchman-helpers...
Traceback (most recent call last):
File "./test", line 55, in
test_runner.run_tests()
File "./../lib/js_test_runner.py", line 55, in run_tests
raise async_result.get()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 554, in get
raise self._value
Exception: TEST FAILED: npm test nuclide-buck-base

Q: What's the goal of nuclide?

Do we want to have:

  1. A pre-configured atom with useful packages and configuration (per se IDE), so a developer can download it and use out of the box?
  2. Or is it just for the sake of developing packages for atom?

In my opinion is the 1st option. If that is the case, should we take care of styling atom as well (so the editor is more readable)?

At the moment I use sublime for any React development, as it has the Oceanic Next theme, which is brilliant for:

  • JSX
  • ES6

This is what would make me switch to atom (nuclide) and do React dev there. At the moment there is a Oceanic Next for atom but it's far from the one in Sublime. I can imagine that good syntax highlighting would need to be done for PHP and other languages to have unified theme for everyone. By syntax highlighting I don't mean colors but the theme's syntax support for specific language.

I'd like to know others opinion on that

Unable to rename folder symlink in nuclide-file-tree if path ends with /

Steps to reproduce

  1. In console: mkdir orig && ln -s orig link
  2. Click right mouse button on link in file tree
  3. Click "Rename"
  4. Change symlink name in appeared window and make sure that it ends with / (Please note: by default it ends with /)

Expected result: symlink renamed
Actual result: symlink is NOT renamed

Consume Linter-Plus

This is a meta bug about replacing AtomLinter with it's rewrite Linter-Plus, This rewrite features an extremely easy and flexible to use API along, which removes almost all of the limitations, including the complete project linting for hack.
Linter-Plus provides it's providers three types of messages

class LinterTrace
  constructor:(@Message, @File, @Position)
class LinterError
  constructor:(@Message, @File, @Position, @Trace)
class LinterWarning
  constructor:(@Message, @File, @Position, @Trace)

That, when consumed properly results like this
screenshot from 2015-05-27 09-02-29
Fixes #1
Fixes #5
Fixes #6
Fixes #7
Fixes #8
Blocked on AtomLinter/linter-plus#6 (it's ready to ship, will be shipped in a few hours maybe?)

Issue During First Open

I'm on Mac OS X 10.10 and I get this stack trace on the nuclide-click-to-symbol package:

TypeError: Cannot read property 'on' of undefined
  at new ClickToSymbol (/Users/jackmccracken/sources/Other/nuclide/pkg/nuclide/click-to-symbol/lib/ClickToSymbol.js:45:20)
  at addClickToSymbolToEditorView (/Users/jackmccracken/sources/Other/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:48:27)
  at Workspace.module.exports.Workspace.observeTextEditors (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:267:9)
  at Object.activate (/Users/jackmccracken/sources/Other/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:52:45)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:770:25
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:177:20)

Cannot read property 'on' of undefined

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.207.0
System: Mac OS X 10.10.3
Thrown From: nuclide-click-to-symbol package, v0.0.0

Stack Trace

Failed to activate the nuclide-click-to-symbol package

At Cannot read property 'on' of undefined

TypeError: Cannot read property 'on' of undefined
  at new ClickToSymbol (/Users/r624009/apps/nuclide/pkg/nuclide/click-to-symbol/lib/ClickToSymbol.js:45:20)
  at addClickToSymbolToEditorView (/Users/r624009/apps/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:47:27)
  at Workspace.module.exports.Workspace.observeTextEditors (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:267:9)
  at Object.activate (/Users/r624009/apps/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:51:45)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:770:25
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:177:20)

Commands

     -1:31.5.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-atom-dark-ui)
  2x -1:13.4.0 deprecation-cop:view (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-atom-dark-ui)
     -0:24 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:18.6.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:17.4.0 core:backspace (atom-text-editor.editor.is-focused)
  8x -0:16.3.0 core:move-down (atom-text-editor.editor.is-focused)
  2x -0:13.5.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:07.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:03.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:02.5.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:00.9.0 nuclide-click-to-symbol:activate (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:00.8.0 core:save (atom-text-editor.editor.is-focused.autocomplete-active)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "one-dark-syntax"
    ],
    "disabledPackages": [
      "jshint",
      "linter",
      "nuclide-remote-projects",
      "language-coffee-script-angular",
      "node-resolver",
      "npm-docs",
      "rails-rspec",
      "refactor"
    ]
  }
}

Installed Packages

# User
angularjs, v0.3.0
auto-detect-indentation, v0.4.2
git-diff-details, v0.18.0
minimap, v4.9.4
node-debugger, v1.0.5
nuclide-click-to-symbol, v0.0.0
nuclide-code-format, v0.0.0
nuclide-file-tree, v0.0.0
nuclide-flow, v0.0.0
nuclide-hack, v0.0.0
nuclide-hg-repository, v0.0.0
nuclide-ssh-dialog, v0.0.0
nuclide-tabs, v0.0.0
nuclide-type-hint, v0.0.0
react, v0.12.0
terminal-panel, v1.14.1

# Dev
No dev packages

Initial open after install failed

Everything installed fine when I ran ./scripts/dev/setup no error or anything, but on first boot of Atom immediately this error popped up.

screenshot 2015-06-03 07 32 16

After a reboot of Atom everything worked just fine.

I'm on a Mac model # A1398 Late 2013 rMBP
OSX 10.10.4
2.3GHz i7
16GB RAM

Failed to activate the nuclide-click-to-symbol package

When I start Atom 207 from Alfred I'm getting this error:
image

Cannot read property 'on' of undefined

TypeError: Cannot read property 'on' of undefined
  at new ClickToSymbol (/Users/fibric/Projects/nuclide/pkg/nuclide/click-to-symbol/lib/ClickToSymbol.js:45:20)
  at addClickToSymbolToEditorView (/Users/fibric/Projects/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:48:27)
  at Workspace.module.exports.Workspace.observeTextEditors (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/workspace.js:267:9)
  at Object.activate (/Users/fibric/Projects/nuclide/pkg/nuclide/click-to-symbol/lib/main.js:52:45)
  at Package.module.exports.Package.activateNow (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package.js:770:25
  at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:177:20)

When I start Atom from iTerm2 via atom . then the error does not show up.

Used head revision a2f1dc6c to execute ./scripts/dev/setup

Atom is installed via brew cask install atom on OS X 10.10.4 (14E26a)

Hack: Special-cased `idx` not generating errors

<?hh // strict

function a(): void {
  $a = idx([]);
}

Expected: Too few arguments
Actual: no error

<?hh // strict

function a(array<string, string> $v): int {
  return idx($v, 'hello', 'world');
}

Expected: Invalid return type
Actual: no error

Local Hack development setting wrong path?

I'm working completely locally on my Mac on a Hack project -- I'm using the OS X version of Atom/Nuclide, as well as hh_client/hh_server. No remote development. (Getting hh_client/hh_server working directly on a Mac is kind of a PITA right now, LMK if you want binaries to test with.)

The Hack plugin appears to be having trouble communicating with hh_client -- I think it's setting the working directory improperly, or not passing the file path, or something like that? Here's part of a set of error messages in Atom's developer console when I deliberately introduce a simple syntax error into a file:

Error: failed to parse hh_client output: Error: could not find a .hhconfig file in / or any of its parent directories. Do you have a .hhconfig in your code's root directory?
 {stack: (...), message: "failed to parse hh_client output: Error: could not… have a .hhconfig in your code's root directory?↵"}

That error text comes from hh_client itself, so it's correctly finding and attempting to invoke the hh_client binary, but is just doing so in such a way that hh_client is confused, since .hhconfig definitely exists alongside the file I was editing, and hh_client in a terminal works fine.

Here's a bunch more spew from the Atom developer console, not sure how well it copy-pasted or how useful it is, LMK if you need more info.

[2015-05-31T19:32:27.668Z] [ERROR] nuclide - failed to parse hh_client output: 
index.js:14 Unhandled promise rejection Promise with error: Error: failed to parse hh_client output: message: "failed to parse hh_client output: "stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: dindex.js:14 (anonymous function)events.js:87 emitTwoevents.js:169 emitnode.js:422 emitPendingUnhandledRejectionsnode.js:342 runMicrotasksCallbacknode.js:357 _tickCallback
consoleAppender.js:38 [2015-05-31T19:32:27.689Z] [ERROR] nuclide - failed to parse hh_client output: 
index.js:14 Unhandled promise rejection Promise with error: Error: failed to parse hh_client output: message: "failed to parse hh_client output: "stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: dindex.js:14 (anonymous function)events.js:87 emitTwoevents.js:169 emitnode.js:422 emitPendingUnhandledRejectionsnode.js:368 _tickCallback
consoleAppender.js:38 [2015-05-31T19:32:29.536Z] [ERROR] nuclide - failed to parse hh_client output: Error: could not find a .hhconfig file in / or any of its parent directories. Do you have a .hhconfig in your code's root directory?

consoleAppender.js:38 [2015-05-31T19:32:29.536Z] [ERROR] nuclide - Hack: getServerDiagnostics failed Error: failed to parse hh_client output: Error: could not find a .hhconfig file in / or any of its parent directories. Do you have a .hhconfig in your code's root directory?
 {stack: (...), message: "failed to parse hh_client output: Error: could not… have a .hhconfig in your code's root directory?↵"}message: "failed to parse hh_client output: Error: could not find a .hhconfig file in / or any of its parent directories. Do you have a .hhconfig in your code's root directory?↵"stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: d
consoleAppender.js:38 [2015-05-31T19:32:29.583Z] [ERROR] nuclide - failed to parse hh_client output: 
consoleAppender.js:38 [2015-05-31T19:32:29.584Z] [WARN] nuclide - getHackDependencies error: Error: failed to parse hh_client output:  {stack: (...), message: "failed to parse hh_client output: "}message: "failed to parse hh_client output: "stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: d

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.