{"action":"created","issue":{"url":"https://api.github.com/repos/DynamicTyped/Griddle/issues/100","labels_url":"https://api.github.com/repos/DynamicTyped/Griddle/issues/100/labels{/name}","comments_url":"https://api.github.com/repos/DynamicTyped/Griddle/issues/100/comments","events_url":"https://api.github.com/repos/DynamicTyped/Griddle/issues/100/events","html_url":"https://github.com/DynamicTyped/Griddle/issues/100","id":58768114,"number":100,"title":"Problems with using a custom griddle build","user":{"login":"FoxxMD","id":4663766,"avatar_url":"https://avatars.githubusercontent.com/u/4663766?v=3","gravatar_id":"","url":"https://api.github.com/users/FoxxMD","html_url":"https://github.com/FoxxMD","followers_url":"https://api.github.com/users/FoxxMD/followers","following_url":"https://api.github.com/users/FoxxMD/following{/other_user}","gists_url":"https://api.github.com/users/FoxxMD/gists{/gist_id}","starred_url":"https://api.github.com/users/FoxxMD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FoxxMD/subscriptions","organizations_url":"https://api.github.com/users/FoxxMD/orgs","repos_url":"https://api.github.com/users/FoxxMD/repos","events_url":"https://api.github.com/users/FoxxMD/events{/privacy}","received_events_url":"https://api.github.com/users/FoxxMD/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"ryanlanciaux","id":85041,"avatar_url":"https://avatars.githubusercontent.com/u/85041?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanlanciaux","html_url":"https://github.com/ryanlanciaux","followers_url":"https://api.github.com/users/ryanlanciaux/followers","following_url":"https://api.github.com/users/ryanlanciaux/following{/other_user}","gists_url":"https://api.github.com/users/ryanlanciaux/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanlanciaux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanlanciaux/subscriptions","organizations_url":"https://api.github.com/users/ryanlanciaux/orgs","repos_url":"https://api.github.com/users/ryanlanciaux/repos","events_url":"https://api.github.com/users/ryanlanciaux/events{/privacy}","received_events_url":"https://api.github.com/users/ryanlanciaux/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-02-24T17:00:25Z","updated_at":"2015-03-24T04:50:23Z","closed_at":null,"body":"I have been trying to use a custom build of griddle with my app and have been running into a bunch of roadblocks.\r\n\r\n---\r\n**Using a fork as an npm module**\r\n\r\nBecause griddle is registered with npmregistry you can ship a custom tar.gz package that includes everything needed to run griddle. There is no documentation indicating that if a user forks Griddle and wants to use their fork as an npm module they cannot do so out-of-the-box.\r\n\r\nTrying to do so:\r\n* `npm install FoxxMD/Griddle --save`\r\n* `require('griddle-react`)\r\nResults in\r\n```\r\nERROR in ./app/Users/Merchants/list.jsx\r\nModule not found: Error: Cannot resolve module 'griddle-react' in /Users/Code/myproject/app/Users/Merchants\r\n @ ./app/Users/Merchants/list.jsx 13:14-38\r\n```\r\n\r\nAfter looking at the structure of your npm package it becomes clear you must first build from source, which feels counter-intuitive to having Griddle setup as an npm package. \r\n\r\nAfter building from source the result is worse:\r\n\r\n```\r\nERROR in ./Griddle/modules/gridTitle.jsx.js\r\nModule not found: Error: Cannot resolve 'file' or 'directory' ./columnProperties.js in /Users/Code/myproject/Griddle/modules\r\n @ ./Griddle/modules/gridTitle.jsx.js 8:23-55\r\n\r\nERROR in ./Griddle/modules/gridRow.jsx.js\r\nModule not found: Error: Cannot resolve 'file' or 'directory' ./columnProperties.js in /Users/Code/myproject/Griddle/modules\r\n @ ./Griddle/modules/gridRow.jsx.js 8:23-55\r\n\r\nERROR in ./Griddle/modules/gridRowContainer.jsx.js\r\nModule not found: Error: Cannot resolve 'file' or 'directory' ./columnProperties.js in /Users/Code/myproject/Griddle/modules\r\n @ ./Griddle/modules/gridRowContainer.jsx.js 8:23-55\r\n\r\nERROR in ./Griddle/modules/gridTable.jsx.js\r\nModule not found: Error: Cannot resolve 'file' or 'directory' ./columnProperties.js in /Users/Code/myproject/Griddle/modules\r\n @ ./Griddle/modules/gridTable.jsx.js 9:23-55\r\n\r\nERROR in ./Griddle/modules/griddle.jsx.js\r\nModule not found: Error: Cannot resolve 'file' or 'directory' ./columnProperties in /Users/Code/myproject/Griddle/modules\r\n @ ./Griddle/modules/griddle.jsx.js 18:23-52\r\n```\r\n\r\n---\r\n**Using griddle.js from /build**\r\n\r\nThe problem doesn't get much better even when using the pre-built file. Attempting to use `griddle.js` -- straight from DynamicTyped/Griddle/build, as documented in the readme:\r\n\r\nWith `require('react')` elsewhere in my app I get a huge amount of warnings as Griddle references react as `require('React')`\r\n\r\n```\r\nWARNING in ./~/React/lib/toArray.js\r\nThere is another module with an equal name when case is ignored.\r\nThis can lead to unexpected behavior when compiling on a filesystem with other case-semantic.\r\nRename module if multiple modules are expected or use equal casing if one module is expected.\r\n....\r\n```\r\n\r\nEven after the errors\r\n```\r\nERROR in ./app/griddle.js\r\nModule not found: Error: Cannot resolve module '_' in /Users/Code/myproject/app\r\n @ ./app/griddle.js 3:45-57\r\n```\r\nalthough I have underscore installed.\r\n\r\nSo, in order to get `griddle.js` working I need to \r\n* Edit `griddle.js` and make sure references to react use `react` instead of `React`\r\n* Be using webpack and make sure to include `'_'` in `externals`\r\n\r\nThis ^^ does actually work. **However**, trying to do the same thing when building from source (ie a fork or the repo) does NOT work. Following the same steps results in [an issue that has appear before](https://github.com/DynamicTyped/Griddle/issues/27) related to React possibly being loaded twice.\r\n\r\n---\r\n\r\nSo, to add a grain of salt\r\n* some of these problems may be solved by implicit reasoning (such as the npm entry point -- if it's not there it's obvious you have to build from source)\r\n* they may also be due to error on my part however I have tried to use as vanilla a configuration as possible (griddle.js straight from repo, building from repo source)\r\n\r\nI'm not trying to say you guys are doing it wrong/lousy/whatever. I love this component, you've done amazing work and I hope to rely on it in my project as it is extremely powerful but \r\n* there is a bunch of missing documentation on how to use griddle-react if you want to use anything other than the npm module served from the registry\r\n* there should not be that much configuration and manual intervention required to run the pre-built `griddle.js` file\r\n\r\nAlso I'm still stuck on finding exactly where React is duplicated in griddle's source, preventing me from using my custom build and also preventing me from making any progress that I could then contribute back to the project -- I would love to get [this feature](https://github.com/DynamicTyped/Griddle/issues/75) up to date with the master branch so a pull request can be made for it but I am hampered by all these roadblocks."},"comment":{"url":"https://api.github.com/repos/DynamicTyped/Griddle/issues/comments/85337721","html_url":"https://github.com/DynamicTyped/Griddle/issues/100#issuecomment-85337721","issue_url":"https://api.github.com/repos/DynamicTyped/Griddle/issues/100","id":85337721,"user":{"login":"ryanlanciaux","id":85041,"avatar_url":"https://avatars.githubusercontent.com/u/85041?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanlanciaux","html_url":"https://github.com/ryanlanciaux","followers_url":"https://api.github.com/users/ryanlanciaux/followers","following_url":"https://api.github.com/users/ryanlanciaux/following{/other_user}","gists_url":"https://api.github.com/users/ryanlanciaux/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanlanciaux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanlanciaux/subscriptions","organizations_url":"https://api.github.com/users/ryanlanciaux/orgs","repos_url":"https://api.github.com/users/ryanlanciaux/repos","events_url":"https://api.github.com/users/ryanlanciaux/events{/privacy}","received_events_url":"https://api.github.com/users/ryanlanciaux/received_events","type":"User","site_admin":false},"created_at":"2015-03-24T04:50:23Z","updated_at":"2015-03-24T04:50:23Z","body":"So sorry about the delay here and thank you for detailing this all out! We're just about to break up the project into a couple smaller projects (e.g. move docs to it's own thing) so Griddle can just be griddle and hope to address these issues as part of that. \r\n"}}