[
https://issues.apache.org/jira/browse/THRIFT-2940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14303936#comment-14303936
]
Randy Abernethy commented on THRIFT-2940:
-----------------------------------------
Hey Roger,
Thanks for looking into this!
Working on things over the last day I am now using npm install/run from the
root of the thrift repo. This is a little weird. I can live with it but there
is a strong code/project structure smell. I think this change also means that
each release (the tgz we post for "npm install thrift") is going to have to be
packaged from the root. That bit is something I think we really should avoid.
This is how bower works and it is pretty ugly. Not sure if there is a right or
good solution for this the way our repo is structured.
Jake mentioned an idea to me which centered around breaking Apache Thrift into
a master repo and sub module repos for each lib lang. Git sub modules are
pretty unwieldy in many settings but actually might work well for the Thrift
use case. The Thrift use case being: the libs have nothing to do with each
other except that they are part of Apache Thrift. This would allow each lib to
stand alone, work with all of the package managers that only understand atomic
git repos and make it easy for folks to clone just the langs they want/need.
The more I think about it the more I think this might be a really great
solution. Package.json would live in the root of the JavaScript repo (with
browser and nodejs code merged [work in progress right now]). The Thrift root
would be the home of the compiler and the global build system and the global
test drivers, as well as the cross tests. It is a pretty clean hierarchical
relationship.
No incremental change to be sure! Wonder what you think about this?
-Randy
> Allow installing Thrift from git as NPM module by providing package.json in
> top level directory
> -----------------------------------------------------------------------------------------------
>
> Key: THRIFT-2940
> URL: https://issues.apache.org/jira/browse/THRIFT-2940
> Project: Thrift
> Issue Type: Improvement
> Components: Node.js - Library
> Reporter: Radoslaw Gruchalski
> Assignee: Roger Meier
>
> Allow installing thirft from git as NPM module by providing package.json in
> top level directory. Currently, result is similar to:
> {noformat}
> drone:gossiperl-client-js rad$ npm install
> npm WARN excluding symbolic link tutorial/erl/client.sh -> server.sh
> npm ERR! Error: ENOENT, open
> '/var/folders/gd/jkx3kmg53gj85lwjslf79n6m0000gn/T/npm-36445-mmwd9VRJ/1421011402511-0.04021586640737951/package/package.json'
> npm ERR! If you need help, you may report this log at:
> npm ERR! <http://github.com/isaacs/npm/issues>
> npm ERR! or email it to:
> npm ERR! <[email protected]>
> npm ERR! System Darwin 14.0.0
> npm ERR! command "node" "/usr/local/bin/npm" "install"
> npm ERR! cwd /Users/rad/dev/my/gossiperl-client-js
> npm ERR! node -v v0.10.22
> npm ERR! npm -v 1.3.14
> npm ERR! path
> /var/folders/gd/jkx3kmg53gj85lwjslf79n6m0000gn/T/npm-36445-mmwd9VRJ/1421011402511-0.04021586640737951/package/package.json
> npm ERR! code ENOENT
> npm ERR! errno 34
> npm ERR!
> npm ERR! Additional logging details can be found in:
> npm ERR! /Users/rad/dev/my/gossiperl-client-js/npm-debug.log
> npm ERR! not ok code 0
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)