In the context of Dojo 2.0 discussions: for RequireJS I have the
optimizer/build tool running on Node, and had some questions about
community interest/concerns about using Node vs. Rhino. More info
here:

http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2

James

Search Discussions

  • Eugene Lazutkin at Jan 21, 2011 at 3:52 pm
    I am totally fine with node. I suspect it'll be faster than Rhino
    running a build --- if this is the case, I would even prefer Node.

    Cheers,

    Eugene Lazutkin
    http://lazutkin.com/

    On 01/21/2011 02:38 PM, James Burke wrote:
    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:

    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2

    James
  • Dustin Machi at Jan 21, 2011 at 3:56 pm
    Replied on the list, but needs moderation. My main concern is that windows isnt' easy to get running on windows (has cygwin as a dependency to event attempt the build as far as I know). More comments in the other list.

    Dustin
    On Jan 21, 2011, at 3:38 PM, James Burke wrote:

    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:

    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Tom Elliott at Jan 21, 2011 at 4:03 pm
    With a good web or air-based build tool that would be much less of an issue
    IMO
    On 21 January 2011 20:56, Dustin Machi wrote:

    Replied on the list, but needs moderation. My main concern is that windows
    isnt' easy to get running on windows (has cygwin as a dependency to event
    attempt the build as far as I know). More comments in the other list.

    Dustin
    On Jan 21, 2011, at 3:38 PM, James Burke wrote:

    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:

    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2
    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/0e7785f6/attachment.htm
  • Dustin Machi at Jan 21, 2011 at 4:10 pm
    First, I meant to say is that it isn't easy to get node running on windows.

    Tom Elliot - I assume you mean run the build using the js interpreter from adobe air or make a service call to a remote service and not ship with any direct build tool?

    It seems to me that using a pure js ast parser, gives the flexibility to run in any of these places is ideal, where tying it to a particular implementation like node might make things more challenging to support these users. On the other hand if we say we're not going to have a local tool ship with dojo and you'll have to use a service, that minimizes this indeed, though won't necessarily be great for people integrating into their tool chains (though not impossible of course).

    Dustin

    On Jan 21, 2011, at 4:03 PM, Tom Elliott wrote:

    With a good web or air-based build tool that would be much less of an issue IMO

    On 21 January 2011 20:56, Dustin Machi wrote:
    Replied on the list, but needs moderation. My main concern is that windows isnt' easy to get running on windows (has cygwin as a dependency to event attempt the build as far as I know). More comments in the other list.

    Dustin
    On Jan 21, 2011, at 3:38 PM, James Burke wrote:

    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:

    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • James Burke at Jan 21, 2011 at 4:18 pm

    On Fri, Jan 21, 2011 at 1:10 PM, Dustin Machi wrote:
    It seems to me that using a pure js ast parser, gives the flexibility to run in any of these places is ideal, where tying it to a particular implementation like node might make things more challenging to support these users. ?On the other hand if we say we're not going to have a local tool ship with dojo and you'll have to use a service, that minimizes this indeed, though won't necessarily be great for people integrating into their tool chains (though not impossible of course).
    Agreed, and with UglifyJS, it is a JS-generated AST, and a minifier to
    boot. If it does not work out, I am very open to using the JS AST that
    Rawld has done for backdraft, but having a minifier that is pure JS
    seemed to push it in favor of starting with UglifyJS.

    James
  • Richard Backhouse at Jan 21, 2011 at 4:31 pm
    James,

    As an FYI I have been doing my own investigation of using UglifyJS for
    compression and one thing I found when trying to compress dojo 1.5 code was
    that I had ensure that "make_seqs" flag was set to false when calling
    ast_squeeze. If I left this flag set to true the code would not load.

    Richard

    ------------>
    From: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    James Burke <jburke at dojotoolkit.org> |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    To: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    "dojo dev." <dojo-contributors at mail.dojotoolkit.org> |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Date: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    01/21/2011 04:20 PM |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Subject: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    Re: [dojo-contributors] Using Node for the build tool |
    --------------------------------------------------------------------------------------------------------------------------------------------------|



    On Fri, Jan 21, 2011 at 1:10 PM, Dustin Machi wrote:
    It seems to me that using a pure js ast parser, gives the flexibility to
    run in any of these places is ideal, where tying it to a particular
    implementation like node might make things more challenging to support
    these users. ?On the other hand if we say we're not going to have a local
    tool ship with dojo and you'll have to use a service, that minimizes this
    indeed, though won't necessarily be great for people integrating into their
    tool chains (though not impossible of course).

    Agreed, and with UglifyJS, it is a JS-generated AST, and a minifier to
    boot. If it does not work out, I am very open to using the JS AST that
    Rawld has done for backdraft, but having a minifier that is pure JS
    seemed to push it in favor of starting with UglifyJS.

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/338008ff/attachment-0001.htm
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: graycol.gif
    Type: image/gif
    Size: 105 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/338008ff/attachment-0002.gif
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: ecblank.gif
    Type: image/gif
    Size: 45 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/338008ff/attachment-0003.gif
  • James Burke at Jan 21, 2011 at 4:38 pm
    2011/1/21 Richard Backhouse <backhous at us.ibm.com>
    James,

    As an FYI I have been doing my own investigation of using UglifyJS for
    compression and one thing I found when trying to compress dojo 1.5 code was
    that I had ensure that "make_seqs" flag was set to false when calling
    ast_squeeze. If I left this flag set to true the code would not load.
    Thanks Richard, I'll check that out!

    James
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/f41cd954/attachment.htm
  • Tom Elliott at Jan 21, 2011 at 4:25 pm
    I meant, carry on shipping with a command line tool. But if there's a really
    good GUI tool that does the same job, and that is officially supported,
    making it harder to run the command line build tool on Windows is less of an
    issue. I should point out that I don't ever use Windows, so perhaps I'm
    underestimating how much of a pain this would be for people. But I figure by
    the time people are building complex enough apps to want to do a build
    they're going to be able to figure out how to do a cygwin install if they
    really need to.

    I also like the idea of using a pure js parser, and potentially shipping a
    few different runtimes (i.e. is there any reason to remove the Java/Rhino
    based solution in favour of a Node based version rather than let the two can
    co-exist?)

    Tom
    On 21 January 2011 21:10, Dustin Machi wrote:

    First, I meant to say is that it isn't easy to get node running on windows.

    Tom Elliot - I assume you mean run the build using the js interpreter from
    adobe air or make a service call to a remote service and not ship with any
    direct build tool?

    It seems to me that using a pure js ast parser, gives the flexibility to
    run in any of these places is ideal, where tying it to a particular
    implementation like node might make things more challenging to support these
    users. On the other hand if we say we're not going to have a local tool
    ship with dojo and you'll have to use a service, that minimizes this indeed,
    though won't necessarily be great for people integrating into their tool
    chains (though not impossible of course).

    Dustin

    On Jan 21, 2011, at 4:03 PM, Tom Elliott wrote:

    With a good web or air-based build tool that would be much less of an issue IMO
    On 21 January 2011 20:56, Dustin Machi wrote:
    Replied on the list, but needs moderation. My main concern is that
    windows isnt' easy to get running on windows (has cygwin as a dependency to
    event attempt the build as far as I know). More comments in the other
    list.
    Dustin
    On Jan 21, 2011, at 3:38 PM, James Burke wrote:

    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:
    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2
    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/42022dc7/attachment.htm
  • James Burke at Jan 21, 2011 at 4:36 pm

    2011/1/21 Tom Elliott <mrtom at cantab.net>:
    I also like the idea of using a pure js parser, and potentially shipping a
    few different runtimes (i.e. is there any reason to remove the Java/Rhino
    based solution in favour of a Node based version rather than let the two can
    co-exist?)
    That is the plan as of right now, support both. However I'm only doing
    that mainly as a stunt to show that environment-based loading can work
    with RequireJS, particularly outside the browser. As time goes on, I
    would consider dropping the Java env branch, but based on community
    feedback.

    Side note, with the env! plugin, browser environment modules could be
    written for the RequireJS optimizer to allow it to run directly in the
    browser. Not all of the operations would be supported (copy directory
    for instance), but basic "fetch these modules and combine them and
    their dependencies" likely would.

    But I think for hardcore building, you want something that can fetch
    things via a package manager or some other network aware tool, have
    better disk access, so purely browser-based build tool has limited
    use. It will likely need a "server" or command line component to do
    really big builds, similar to what James Thomas has done with the
    existing (very cool!) Dojo web builder.

    James
  • James Thomas at Jan 24, 2011 at 4:54 am

    On 21 January 2011 21:36, James Burke wrote:
    2011/1/21 Tom Elliott <mrtom at cantab.net>:
    I also like the idea of using a pure js parser, and potentially shipping a
    few different runtimes (i.e. is there any reason to remove the Java/Rhino
    based solution in favour of a Node based version rather than let the two can
    co-exist?)
    That is the plan as of right now, support both. However I'm only doing
    that mainly as a stunt to show that environment-based loading can work
    with RequireJS, particularly outside the browser. As time goes on, I
    would consider dropping the Java env branch, but based on community
    feedback.
    +1 on the idea of a pure JS parser.

    It'd be really nice to have the build system relatively independent of
    the platform and we could
    provide a series of host plugins to cover the "last mile" to get it
    working on Rhino, Node, In-Browser, etc.

    There are certain things that would have to be platform-specific like
    file access.
  • Sam foster at Jan 25, 2011 at 3:57 pm
    This is exactly the motivation for commonJs - writing engine and
    platform independent js. So its a bit sad that there's this gap
    between node.js and commonjs' API (the sadness is the commonjs
    initiative's synchronous-everything mindset, not necessarily node's
    deviation from the proposals as I understand it). That said, I would
    have expected the async file i/o node.js provides to make builds run
    faster. However, a good portion (> 50%) of the build time I've
    experienced is actually in shrinksafe -what's the plan there? Does v8
    provide any access to the ast to do the same job we do with
    shrinksafe?

    Btw I know cygwin is a dirty word in some companies, something do with
    with POSIX compliance? One of my previous employers had banned it
    entirely and scorn was heaped upon all who installed it, followed by a
    visit from engineering support to install MKS. Anyhow, point is some
    will not regard it as a solution for running node (and our build
    tools) on windows. Perhaps those people would rather do build tasks on
    a *unix server anyhow...

    /Sam
  • Eugene Lazutkin at Jan 25, 2011 at 4:44 pm
    Inline.
    On 1/25/11 2:57 PM, sam foster wrote:
    This is exactly the motivation for commonJs - writing engine and
    platform independent js. So its a bit sad that there's this gap
    between node.js and commonjs' API (the sadness is the commonjs
    initiative's synchronous-everything mindset, not necessarily node's
    deviation from the proposals as I understand it). That said, I would
    have expected the async file i/o node.js provides to make builds run
    faster. However, a good portion (> 50%) of the build time I've
    experienced is actually in shrinksafe -what's the plan there? Does v8
    provide any access to the ast to do the same job we do with
    shrinksafe?
    Does node.js implements web workers already? Compressing files in
    several parallel queues sounds like a good idea.
    Btw I know cygwin is a dirty word in some companies, something do with
    with POSIX compliance? One of my previous employers had banned it
    entirely and scorn was heaped upon all who installed it, followed by a
    visit from engineering support to install MKS. Anyhow, point is some
    will not regard it as a solution for running node (and our build
    tools) on windows. Perhaps those people would rather do build tasks on
    a *unix server anyhow...

    /Sam
    I was under impression that the Windows version of node.js was built on
    MinGW. I may be wrong --- I didn't go into details.

    Cheers,

    Eugene
  • James Burke at Jan 25, 2011 at 6:24 pm

    On Tue, Jan 25, 2011 at 11:44 AM, Eugene Lazutkin wrote:
    On 1/25/11 2:57 PM, sam foster wrote:
    However, a good portion (> 50%) of the build time I've
    experienced is actually in shrinksafe -what's the plan there? Does v8
    provide any access to the ast to do the same job we do with
    shrinksafe?
    Does node.js implements web workers already? Compressing files in
    several parallel queues sounds like a good idea.
    UglifyJS is a pure JS AST generator and minifier. From my very
    not-scientific tests, it seems fast. Although some of that is just
    switching to Node, and not having to take the Java startup hit -- my
    tests have all been a relatively small builds. UglifyJS is the
    minifier option in RequireJS if running on Node.

    James
  • Tom Trenka at Jan 21, 2011 at 4:52 pm
    Needing to reply to this one, and my apologies in advance to Tom.

    2011/1/21 Tom Elliott <mrtom at cantab.net>
    I meant, carry on shipping with a command line tool. But if there's a
    really good GUI tool that does the same job, and that is officially
    supported, making it harder to run the command line build tool on Windows is
    less of an issue. I should point out that I don't ever use Windows, so
    perhaps I'm underestimating how much of a pain this would be for people. But
    I figure by the time people are building complex enough apps to want to do a
    build they're going to be able to figure out how to do a cygwin install if
    they really need to.
    I've been doing development under Windows for many years. More importantly,
    I've been doing work for enterprise clients for at least 6 years and if
    there's one thing that is common, it is that *each* of them make their
    developers work under Windows. The past 4 years or so, the most common
    combo is XP + Eclipse.

    I've been through several Cygwin installs, and each and every one has left a
    very bad taste in my mouth (to put it in metaphorical terms).

    Forcing Cygwin on a set of at-large developers at this point, in my opinion,
    is such a no-go it's not funny, and I consider it one of the main reasons
    why Node has been a darling of the cutting-edge and is a curiosity for
    everyone else. A good GUI would be ideal, but coming back to something in
    order to force a set of developers-at-large off the environment that they
    know (and are forced!) to use is like saying you're going to release a
    web-based product and ignore Internet Explorer, and expect to succeed.

    My apologies, I know that is strong. I don't think you can look out at the
    current landscape and come to a different conclusion without ignoring large
    portions of what you see =)

    Regards,
    Tom Trenka


    I also like the idea of using a pure js parser, and potentially shipping a
    few different runtimes (i.e. is there any reason to remove the Java/Rhino
    based solution in favour of a Node based version rather than let the two can
    co-exist?)

    Tom
    On 21 January 2011 21:10, Dustin Machi wrote:

    First, I meant to say is that it isn't easy to get node running on
    windows.

    Tom Elliot - I assume you mean run the build using the js interpreter from
    adobe air or make a service call to a remote service and not ship with any
    direct build tool?

    It seems to me that using a pure js ast parser, gives the flexibility to
    run in any of these places is ideal, where tying it to a particular
    implementation like node might make things more challenging to support these
    users. On the other hand if we say we're not going to have a local tool
    ship with dojo and you'll have to use a service, that minimizes this indeed,
    though won't necessarily be great for people integrating into their tool
    chains (though not impossible of course).

    Dustin

    On Jan 21, 2011, at 4:03 PM, Tom Elliott wrote:

    With a good web or air-based build tool that would be much less of an issue IMO
    On 21 January 2011 20:56, Dustin Machi wrote:
    Replied on the list, but needs moderation. My main concern is that
    windows isnt' easy to get running on windows (has cygwin as a dependency to
    event attempt the build as far as I know). More comments in the other
    list.
    Dustin
    On Jan 21, 2011, at 3:38 PM, James Burke wrote:

    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:
    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2
    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/bee11e11/attachment.htm
  • James Burke at Jan 21, 2011 at 4:58 pm

    2011/1/21 Tom Trenka <ttrenka at gmail.com>:
    I've been through several Cygwin installs, and each and every one has left a
    very bad taste in my mouth (to put it in metaphorical terms).

    From bogus@does.not.exist.com Tue Jan 18 18:42:17 2011
    From: bogus@does.not.exist.com ()
    Date: Tue, 18 Jan 2011 23:42:17 -0000
    Subject: No subject
    Message-ID: <mailman.0.1295647132.13280.dojo-contributors@mail.dojotoolkit.org>

    mean installing cygwin. I was pointed to this directory of builds
    previously, and the win32 one includes the cygwin dll(s) with it. I
    have not tried it though.

    Your larger point is understood though, that it still may be a weird
    thing to ask for enterprise folks.

    James
  • James Burke at Jan 21, 2011 at 4:59 pm

    On Fri, Jan 21, 2011 at 1:58 PM, James Burke wrote:
    From what I understand, some cygwin dlls are needed, but it may not
    mean installing cygwin. I was pointed to this directory of builds
    previously, and the win32 one includes the cygwin dll(s) with it. I
    have not tried it though.
    Hrm, forgot the link:
    https://github.com/ajaxorg/node-builds
  • Rawld Gill at Jan 21, 2011 at 5:46 pm

    On Friday 21 January 2011 13:52:49 Tom Trenka wrote:

    Forcing Cygwin on a set of at-large developers at this point, in my
    opinion, is such a no-go it's not funny, and I consider it one of the main
    reasons why Node has been a darling of the cutting-edge and is a curiosity
    for everyone else. A good GUI would be ideal, but coming back to
    something in order to force a set of developers-at-large off the
    environment that they know (and are forced!) to use is like saying you're
    going to release a web-based product and ignore Internet Explorer, and
    expect to succeed.
    I agree that forcing Cygwin is worse than forcing Java. I'm not sure, but
    can't you construct/bundle a self contained Cygwin executable (of course
    you'll need Cygwin to build such a thing, but not use it).

    Best,
    Rawld
  • Dustin Machi at Jan 21, 2011 at 5:56 pm
    Yeah, that link that James sent out has node.exe that is linked against the cygwin dlls. So it is possible to ship pre-built for that, though all my previous comments about being tied to node's (or any impelmentations') parser stand. Node is 0.3.x and changes frequently and has no desire to achieve backwards compat at this stage (stated by ryah), so that approach could potentially leave us with several headaches.

    Dustin
    On Jan 21, 2011, at 5:46 PM, Rawld Gill wrote:
    On Friday 21 January 2011 13:52:49 Tom Trenka wrote:

    Forcing Cygwin on a set of at-large developers at this point, in my
    opinion, is such a no-go it's not funny, and I consider it one of the main
    reasons why Node has been a darling of the cutting-edge and is a curiosity
    for everyone else. A good GUI would be ideal, but coming back to
    something in order to force a set of developers-at-large off the
    environment that they know (and are forced!) to use is like saying you're
    going to release a web-based product and ignore Internet Explorer, and
    expect to succeed.
    I agree that forcing Cygwin is worse than forcing Java. I'm not sure, but
    can't you construct/bundle a self contained Cygwin executable (of course
    you'll need Cygwin to build such a thing, but not use it).

    Best,
    Rawld
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Alex Russell at Jan 21, 2011 at 6:09 pm

    On Fri, Jan 21, 2011 at 2:56 PM, Dustin Machi wrote:
    Yeah, that link that James sent out has node.exe that is linked against the cygwin dlls. ?So it is possible to ship pre-built for that, though all my previous comments about being tied to node's (or any impelmentations') parser stand. ?Node is 0.3.x and changes frequently and has no desire to achieve backwards compat ?at this stage (stated by ryah), so that approach could potentially leave us with several headaches.
    I wonder if the Node and cygwin code is license compatible such that
    we could do a statically-linked binary. Might simplify all of this.
    On Jan 21, 2011, at 5:46 PM, Rawld Gill wrote:
    On Friday 21 January 2011 13:52:49 Tom Trenka wrote:

    Forcing Cygwin on a set of at-large developers at this point, in my
    opinion, is such a no-go it's not funny, and I consider it one of the main
    reasons why Node has been a darling of the cutting-edge and is a curiosity
    for everyone else. ?A good GUI would be ideal, but coming back to
    something in order to force a set of developers-at-large off the
    environment that they know (and are forced!) to use is like saying you're
    going to release a web-based product and ignore Internet Explorer, and
    expect to succeed.
    I agree that forcing Cygwin is worse than forcing Java. I'm not sure, but
    can't you construct/bundle a self contained Cygwin executable (of course
    you'll need Cygwin to build such a thing, but not use it).

    Best,
    Rawld
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Dustin Machi at Jan 21, 2011 at 6:18 pm
    Could potentially simplify the distribution, though i'd still rather have pure js for the parser instead of being tied to one. But sending with the few dlls for cygwin to be dynamically linked doesn't seem too bad either...but building node with cygwin should certainly be out!

    Dustin
    On Jan 21, 2011, at 6:09 PM, Alex Russell wrote:
    On Fri, Jan 21, 2011 at 2:56 PM, Dustin Machi wrote:
    Yeah, that link that James sent out has node.exe that is linked against the cygwin dlls. So it is possible to ship pre-built for that, though all my previous comments about being tied to node's (or any impelmentations') parser stand. Node is 0.3.x and changes frequently and has no desire to achieve backwards compat at this stage (stated by ryah), so that approach could potentially leave us with several headaches.
    I wonder if the Node and cygwin code is license compatible such that
    we could do a statically-linked binary. Might simplify all of this.
    On Jan 21, 2011, at 5:46 PM, Rawld Gill wrote:
    On Friday 21 January 2011 13:52:49 Tom Trenka wrote:

    Forcing Cygwin on a set of at-large developers at this point, in my
    opinion, is such a no-go it's not funny, and I consider it one of the main
    reasons why Node has been a darling of the cutting-edge and is a curiosity
    for everyone else. A good GUI would be ideal, but coming back to
    something in order to force a set of developers-at-large off the
    environment that they know (and are forced!) to use is like saying you're
    going to release a web-based product and ignore Internet Explorer, and
    expect to succeed.
    I agree that forcing Cygwin is worse than forcing Java. I'm not sure, but
    can't you construct/bundle a self contained Cygwin executable (of course
    you'll need Cygwin to build such a thing, but not use it).

    Best,
    Rawld
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Kenneth G. Franqueiro at Jan 21, 2011 at 8:36 pm
    This is actually pretty funny - the idea of rewriting the build script
    under Node popped into my head randomly a couple of days ago as well
    (not that I think I'm nearly qualified to try it!).

    Speaking from experience at my company, we do perform nightly dojo
    builds as part of the build process of our entire web application, and
    it does take place on a windows machine. Our app is Java anyway so
    that's not a problem. But I would underline the fact that having a
    command-line, automatable build tool is a huge asset that I would hate
    to lose.

    Personally I wouldn't be entirely against the idea of node; I've had
    some success compiling/using 0.2.x on Cygwin 1.7 (NOT 1.5, where it dies
    a horrible death immediately upon compilation, last I tried). I
    wouldn't be against using Cygwin (especially 1.7) personally, though I'm
    not sure if it'd throw any curveballs at our build process.

    But I won't debate that in general people might scurry at the idea.

    --Ken
    On 1/21/2011 6:18 PM, Dustin Machi wrote:
    Could potentially simplify the distribution, though i'd still rather have pure js for the parser instead of being tied to one. But sending with the few dlls for cygwin to be dynamically linked doesn't seem too bad either...but building node with cygwin should certainly be out!

    Dustin
    On Jan 21, 2011, at 6:09 PM, Alex Russell wrote:

    On Fri, Jan 21, 2011 at 2:56 PM, Dustin Machiwrote:
    Yeah, that link that James sent out has node.exe that is linked against the cygwin dlls. So it is possible to ship pre-built for that, though all my previous comments about being tied to node's (or any impelmentations') parser stand. Node is 0.3.x and changes frequently and has no desire to achieve backwards compat at this stage (stated by ryah), so that approach could potentially leave us with several headaches.
    I wonder if the Node and cygwin code is license compatible such that
    we could do a statically-linked binary. Might simplify all of this.
    On Jan 21, 2011, at 5:46 PM, Rawld Gill wrote:
    On Friday 21 January 2011 13:52:49 Tom Trenka wrote:

    Forcing Cygwin on a set of at-large developers at this point, in my
    opinion, is such a no-go it's not funny, and I consider it one of the main
    reasons why Node has been a darling of the cutting-edge and is a curiosity
    for everyone else. A good GUI would be ideal, but coming back to
    something in order to force a set of developers-at-large off the
    environment that they know (and are forced!) to use is like saying you're
    going to release a web-based product and ignore Internet Explorer, and
    expect to succeed.
    I agree that forcing Cygwin is worse than forcing Java. I'm not sure, but
    can't you construct/bundle a self contained Cygwin executable (of course
    you'll need Cygwin to build such a thing, but not use it).

    Best,
    Rawld
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • James Thomas at Jan 24, 2011 at 5:22 am

    On 21 January 2011 22:46, Rawld Gill wrote:
    On Friday 21 January 2011 13:52:49 Tom Trenka wrote:

    Forcing Cygwin on a set of at-large developers at this point, in my
    opinion, is such a no-go it's not funny, and I consider it one of the main
    reasons why Node has been a darling of the cutting-edge and is a curiosity
    for everyone else. ?A good GUI would be ideal, but coming back to
    something in order to force a set of developers-at-large off the
    environment that they know (and are forced!) to use is like saying you're
    going to release a web-based product and ignore Internet Explorer, and
    expect to succeed.
    I agree that forcing Cygwin is worse than forcing Java. I'm not sure, but
    can't you construct/bundle a self contained Cygwin executable (of course
    you'll need Cygwin to build such a thing, but not use it).
    Mandating any third-party dependency that we don't ship with the
    toolkit will, IMHO, cause long term issues.

    One of the goals for the Web Builder is to lower the learning curve
    for the build tool for new users of the toolkit. I've tried to spend
    time talking with new toolkit users who have previously struggled to
    use the existing build tool.

    It's become obvious that I underestimated the difficulty certain users
    have with understand and running the command line tools, even though
    we already ship everything need to run the build and have good
    documentation.

    Asking these users to download and install third-party software, which
    may contain non-trivial installation steps, will probably be enough to
    stop some from continuing with the toolkit. I would imagine our
    mailing lists would also see a large increase in support requests from
    people having issues getting the third-party dependencies installed
    and working.
  • Rawld Gill at Jan 21, 2011 at 5:07 pm
    I am under the same impression as Dustin: node is not very easy on windows.

    Also, some (me, for example), find the Java dependency implied with Rhino +
    Rhino's horrible performance relative to others even more obnoxious.

    I hope that it is possible to build a win executable of the loader that can
    ship as a self-contained unit. Also, as hot as node is, it will almost
    certainly be on win sometime this year (there was a project to port to MSVC).

    Bottom line: I agree/support with your approach, James.

    fwiw, with bdBuild (https://github.com/altoviso/bdBuild) I've taken the
    approach of a 100% JavaScript on node solution with no external dependencies.
    It includes a JavaScript parser in JavaScript
    (https://github.com/altoviso/bdParse) which opens the possibility of doing
    lots of very cool things that are hard or impossible to do by manipulating
    AST's from other solutions. It is also very fast: bdBuild reads, parses,
    resolves dependencies and has-optimizes dojo + dijit + a small app in about 5s
    (freebsd on a vmare on kubuntu on old dual core laptop with 3G). Expect alpha
    release/announce of this over the next week.

    Re using a parser rather than using ASTs from other applications:
    It's often hard to hook into the token stream (which usually discards
    comments) and the AST often has more/less than you would like because that
    tree is being built with a particular use case in mind. It's also often harder
    to understand since the AST is part of another program (e.g., a JavaScript
    interpreter) that does a great deal more than just generating an AST. All this
    prohibits leveraging the parser to build "enhanced" ASTs to include things
    like dojo's inline documentation. In fact, with a proper parser, the
    documentation generation stuff could be easily rolled into the builder and we
    could generate docs in less than 10s rather than taking 2.5 hours. We could
    also roll things like Aptana help, code completion bundles, code browsers,
    etc. Finally, the current build pragmas can be made safer/better when you
    tokenize and parse the input rather than just using regexs.

    Best,
    Rawld

    On Friday 21 January 2011 12:38:33 James Burke wrote:
    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:

    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7
    ea2

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Tom Trenka at Jan 21, 2011 at 5:47 pm

    like dojo's inline documentation. In fact, with a proper parser, the
    documentation generation stuff could be easily rolled into the builder and
    we
    could generate docs in less than 10s rather than taking 2.5 hours.
    Actually (not meaning to distract off topic on this), I'm wondering why it
    takes everyone 2.5 hours to try to gen the docs. The only time I've had
    this happen to me was this past weekend, when I was trying to do it over an
    unoptimized build; every other time it takes less than 5 minutes. This is
    under both a Win 2k3 and Win 2k8 VM with not a huge amount of memory
    dedicated to it...am I missing something? Is everyone trying to do this on
    a built version of DTK?

    (Sorry for the distraction, carry on otherwise.)

    -- Tom
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110121/7a230f14/attachment.htm
  • Dustin Machi at Jan 21, 2011 at 5:53 pm
    I agree with rawld here. Shipping with binaries for node would be interesting and possible if those stay well maintained, though I really think we'd be doing ourselves a disservice to not stay 100% independent. While the rhino perf is pretty bad, I think that is more of a function of how we were abusing its parser rather than rhino itself (aside from the typical startup costs of java apps). Also note, that the minute or minute and a half that rhino takes to do a build is awful, but is usually (and unfortunately) a small percentage of the time that some of those overall build systems like eclipse/ant/maven impose anyway :).

    Using Uglify or bdParse, both pure js parsers with no other app stuff around them, seems to be by far the safest solution because any cases we don't directly cover, should be easily adapted to whatever interpreter is laying around. I agree that trying to use the native (node, rhino, spidermonkey, etc) ast is problematic because then we are either having to abstract from an abstraction or tied to that solution. Ultimately it should also make the docs and other system easy(ier) to accomplish. I did some preliminary testing on this a while back to prove to myself that it could be done, and with a well documented parser/ast it should be much better.


    On Jan 21, 2011, at 5:07 PM, Rawld Gill wrote:

    I am under the same impression as Dustin: node is not very easy on windows.

    Also, some (me, for example), find the Java dependency implied with Rhino +
    Rhino's horrible performance relative to others even more obnoxious.

    I hope that it is possible to build a win executable of the loader that can
    ship as a self-contained unit. Also, as hot as node is, it will almost
    certainly be on win sometime this year (there was a project to port to MSVC).

    Bottom line: I agree/support with your approach, James.

    fwiw, with bdBuild (https://github.com/altoviso/bdBuild) I've taken the
    approach of a 100% JavaScript on node solution with no external dependencies.
    It includes a JavaScript parser in JavaScript
    (https://github.com/altoviso/bdParse) which opens the possibility of doing
    lots of very cool things that are hard or impossible to do by manipulating
    AST's from other solutions. It is also very fast: bdBuild reads, parses,
    resolves dependencies and has-optimizes dojo + dijit + a small app in about 5s
    (freebsd on a vmare on kubuntu on old dual core laptop with 3G). Expect alpha
    release/announce of this over the next week.

    Re using a parser rather than using ASTs from other applications:
    It's often hard to hook into the token stream (which usually discards
    comments) and the AST often has more/less than you would like because that
    tree is being built with a particular use case in mind. It's also often harder
    to understand since the AST is part of another program (e.g., a JavaScript
    interpreter) that does a great deal more than just generating an AST. All this
    prohibits leveraging the parser to build "enhanced" ASTs to include things
    like dojo's inline documentation. In fact, with a proper parser, the
    documentation generation stuff could be easily rolled into the builder and we
    could generate docs in less than 10s rather than taking 2.5 hours. We could
    also roll things like Aptana help, code completion bundles, code browsers,
    etc. Finally, the current build pragmas can be made safer/better when you
    tokenize and parse the input rather than just using regexs.

    Best,
    Rawld

    On Friday 21 January 2011 12:38:33 James Burke wrote:
    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:

    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7
    ea2

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Dustin Machi at Jan 21, 2011 at 11:36 pm
    One more quick note on this topic. UglifyJS discards all comments at the parsing stage, so they never make it into the AST. So this particular parser won't be particularly useful if we wanted to look to using it for doc parsing in the future unless someone forks and adds it.

    Dustin
    On Jan 21, 2011, at 5:07 PM, Rawld Gill wrote:

    I am under the same impression as Dustin: node is not very easy on windows.

    Also, some (me, for example), find the Java dependency implied with Rhino +
    Rhino's horrible performance relative to others even more obnoxious.

    I hope that it is possible to build a win executable of the loader that can
    ship as a self-contained unit. Also, as hot as node is, it will almost
    certainly be on win sometime this year (there was a project to port to MSVC).

    Bottom line: I agree/support with your approach, James.

    fwiw, with bdBuild (https://github.com/altoviso/bdBuild) I've taken the
    approach of a 100% JavaScript on node solution with no external dependencies.
    It includes a JavaScript parser in JavaScript
    (https://github.com/altoviso/bdParse) which opens the possibility of doing
    lots of very cool things that are hard or impossible to do by manipulating
    AST's from other solutions. It is also very fast: bdBuild reads, parses,
    resolves dependencies and has-optimizes dojo + dijit + a small app in about 5s
    (freebsd on a vmare on kubuntu on old dual core laptop with 3G). Expect alpha
    release/announce of this over the next week.

    Re using a parser rather than using ASTs from other applications:
    It's often hard to hook into the token stream (which usually discards
    comments) and the AST often has more/less than you would like because that
    tree is being built with a particular use case in mind. It's also often harder
    to understand since the AST is part of another program (e.g., a JavaScript
    interpreter) that does a great deal more than just generating an AST. All this
    prohibits leveraging the parser to build "enhanced" ASTs to include things
    like dojo's inline documentation. In fact, with a proper parser, the
    documentation generation stuff could be easily rolled into the builder and we
    could generate docs in less than 10s rather than taking 2.5 hours. We could
    also roll things like Aptana help, code completion bundles, code browsers,
    etc. Finally, the current build pragmas can be made safer/better when you
    tokenize and parse the input rather than just using regexs.

    Best,
    Rawld

    On Friday 21 January 2011 12:38:33 James Burke wrote:
    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:

    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7
    ea2

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Bill Keese at Jan 22, 2011 at 12:10 am
    I had the same concern with needing Node.js to run less (to customize colors
    etc. in claro theme).

    I tried https://github.com/ajaxorg/node-builds on Windows(thanks for the
    link), and I got it working for less. It's still painful to setup for a
    novice, much harder than installing something like IE or Chrome. I
    documented it in
    http://bugs.dojotoolkit.org/browser/dijit/trunk/themes/claro/README.

    I'm sure things will improve over time.
    On Sat, Jan 22, 2011 at 5:38 AM, James Burke wrote:

    In the context of Dojo 2.0 discussions: for RequireJS I have the
    optimizer/build tool running on Node, and had some questions about
    community interest/concerns about using Node vs. Rhino. More info
    here:


    http://groups.google.com/group/requirejs/browse_thread/thread/a0e78d00d43c7ea2

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110122/b7075434/attachment.htm

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdojo-contributors @
categoriesdojo
postedJan 21, '11 at 3:38p
activeJan 25, '11 at 6:24p
posts28
users13
websitedojotoolkit.org

People

Translate

site design / logo © 2021 Grokbase