Node port

148 views
Skip to first unread message

codewarrior

unread,
Mar 14, 2014, 7:29:22 AM3/14/14
to objec...@googlegroups.com
Will the node.js port be releasing any time soon ?

Aparajita Fishman

unread,
Mar 14, 2014, 7:41:47 AM3/14/14
to objec...@googlegroups.com
In geologic time, yes. In calendar time, probably about 2 months away.

yvess

unread,
Mar 14, 2014, 11:33:08 AM3/14/14
to objec...@googlegroups.com
It would be really great if you could give something back to your backers for the node port.
Something like the kickstarter updates. 
A monthly progress report for example. Whats missing and whats working etc. 
It's doesn't needs to be very much, just something. Even a "this month has slow progess" is valuable.   

Than you don't need to answer the monthly question how the node port is going along :-)

So good luck with the node port and thanks for doing this! Eagerly waiting for it :-)

Greetings Yves

Andrew Hankinson

unread,
Mar 14, 2014, 1:37:24 PM3/14/14
to objec...@googlegroups.com
I second this. It’s been almost a year since it was funded, so it would be great to have a small progress report on what has been done and what is left to do.

-Andrew

--
You received this message because you are subscribed to the Google Groups "Cappuccino & Objective-J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to objectivej+...@googlegroups.com.
To post to this group, send email to objec...@googlegroups.com.
Visit this group at http://groups.google.com/group/objectivej.
For more options, visit https://groups.google.com/d/optout.

Kevin Ingwersen

unread,
Mar 14, 2014, 4:36:18 PM3/14/14
to objec...@googlegroups.com
I actually wonder why the port takes so long, as for nodejs, the process is rather easy.

- You add a new handler to require.extensions with a custom function.
- The custom function takes the .j file, parses it, and the generated javascript is then eval()’d and the module.exports / exports is returned.

So, the runtime only needs to add stuff like objj_msgSend and such to the GLOBAL object, so the code can be evaluated correctly. And…uh, thats it, actualy o.o’

Maybe a good resource is to download nodejs-v0.10.x source and open …/js/module.js, as it very nicely details the require api for the ‚.js‘ extension.

I would do it myself, but the runtime looks like it has been obfuscated - so I cant do a derp x)

Kind regards, Ingwie

Andrew Hankinson

unread,
Mar 14, 2014, 4:38:10 PM3/14/14
to objec...@googlegroups.com
The node project wasn’t just running it on Node, it was converting the entire build system to Node as well. (Replacing Rhino/JSC/Jake/etc.)

-Andrew

Kevin Ingwersen

unread,
Mar 14, 2014, 4:39:24 PM3/14/14
to objec...@googlegroups.com
Thats quite cool actualy. :) Would recommend using commander and minimist for stuff like that, it just simplifies stuff imo o.o

Aparajita Fishman

unread,
Mar 19, 2014, 9:15:06 AM3/19/14
to objec...@googlegroups.com
You're right, sorry for not communicating before.

What's done:
- Rewrote the acorn parser to provide a full implementation (well, 95%) of the GCC C preprocessor and work well with source maps.
- Did a bunch of work on the objj compiler (objjc) to support the new preprocessor and the new grunt-based workflow.
- Wrote a grunt objj compiler plugin.

What's left:
- A lot. This is not just a matter of a quick switch to node, I'm addressing some fundamental weaknesses in the build and deployment system.


Why has it taken so long? A few reasons:

- I rewrote SublimeLinter to work with Sublime Text 3. I expected it to take 3 weeks...it took almost 3 months. A real disaster.

- I have been traveling in Europe since January, and it has been hard to focus on the project. I'll be back in New York at the beginning of April and will stay for at least 3 months. I'll be focusing intensely on finishing up this project during that time.

daboe01

unread,
Mar 19, 2014, 10:31:00 AM3/19/14
to objec...@googlegroups.com
aparajita,
you are my hero!
please keep your excellent work.
best greetings,
daniel

Andrew Hankinson

unread,
Mar 19, 2014, 10:39:34 AM3/19/14
to objec...@googlegroups.com
Mine too! Thanks for the update.


Kjell Nilsson

unread,
Mar 19, 2014, 11:11:11 AM3/19/14
to objec...@googlegroups.com
Hi

I see some good idéas in the document but hopefully this job is divided into a couple of milestones. Parts like the .h files and watcher process for compiling is something that can be done after the actual node conversion and the build system. Hopefully this will shorten the first working version date.

Otherwise its a good plan and I eagerly await the possibility to be able to run Obj-J serverside under node. We have some really nice idéas to share if
this will be happening.

Keep up the good job

Regards
kerusan

Aparajita Fishman

unread,
Mar 19, 2014, 11:24:58 AM3/19/14
to objec...@googlegroups.com
Hey,

I dropped the idea of .h files, haven't updated the doc accordingly. The watcher process is trivial to implement, it's a grunt plugin.

Once I get farther along, I would definitely like to talk about what you have been doing.

yvess

unread,
Mar 21, 2014, 7:31:20 PM3/21/14
to objec...@googlegroups.com
Awesome! Thanks for the progress updates! 
This makes the waiting for the node port easier and harder at the same time ;-). 
Now I'm impatient to try out all the cool stuff you mention, and on the other hand I'm confident that the project is going well.

yves
Reply all
Reply to author
Forward
0 new messages