{"action":"created","issue":{"url":"https://api.github.com/repos/FormidableLabs/builder/issues/13","labels_url":"https://api.github.com/repos/FormidableLabs/builder/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/FormidableLabs/builder/issues/13/comments","events_url":"https://api.github.com/repos/FormidableLabs/builder/issues/13/events","html_url":"https://github.com/FormidableLabs/builder/issues/13","id":115060771,"number":13,"title":"Builder as installer for NPM scripts","user":{"login":"ianobermiller","id":897931,"avatar_url":"https://avatars.githubusercontent.com/u/897931?v=3","gravatar_id":"","url":"https://api.github.com/users/ianobermiller","html_url":"https://github.com/ianobermiller","followers_url":"https://api.github.com/users/ianobermiller/followers","following_url":"https://api.github.com/users/ianobermiller/following{/other_user}","gists_url":"https://api.github.com/users/ianobermiller/gists{/gist_id}","starred_url":"https://api.github.com/users/ianobermiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianobermiller/subscriptions","organizations_url":"https://api.github.com/users/ianobermiller/orgs","repos_url":"https://api.github.com/users/ianobermiller/repos","events_url":"https://api.github.com/users/ianobermiller/events{/privacy}","received_events_url":"https://api.github.com/users/ianobermiller/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-04T14:18:17Z","updated_at":"2015-11-04T15:55:07Z","closed_at":null,"body":"I love the idea of archetypes and staying true to NPM scripts, but I'm not sold on using another tool / task runner. I'd be really interested in using a tool like builder that instead of replacing `npm run`, simply uses archetypes to add entries to my scripts section. The postinstall hooks that have been copied around, many inspired by Radium, are a great example of something that'd be nicer as an installable package. The nice thing about plain NPM scripts is that they are very approachable to newcomers, and don't require learning or installing anything new.\r\n\r\nNice work on pushing towards simpler builds/tasks, I'm psyched to see where this can go!"},"comment":{"url":"https://api.github.com/repos/FormidableLabs/builder/issues/comments/153772081","html_url":"https://github.com/FormidableLabs/builder/issues/13#issuecomment-153772081","issue_url":"https://api.github.com/repos/FormidableLabs/builder/issues/13","id":153772081,"user":{"login":"ryan-roemer","id":445557,"avatar_url":"https://avatars.githubusercontent.com/u/445557?v=3","gravatar_id":"","url":"https://api.github.com/users/ryan-roemer","html_url":"https://github.com/ryan-roemer","followers_url":"https://api.github.com/users/ryan-roemer/followers","following_url":"https://api.github.com/users/ryan-roemer/following{/other_user}","gists_url":"https://api.github.com/users/ryan-roemer/gists{/gist_id}","starred_url":"https://api.github.com/users/ryan-roemer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryan-roemer/subscriptions","organizations_url":"https://api.github.com/users/ryan-roemer/orgs","repos_url":"https://api.github.com/users/ryan-roemer/repos","events_url":"https://api.github.com/users/ryan-roemer/events{/privacy}","received_events_url":"https://api.github.com/users/ryan-roemer/received_events","type":"User","site_admin":false},"created_at":"2015-11-04T15:55:07Z","updated_at":"2015-11-04T15:55:07Z","body":"@ianobermiller  ... thinking about this for a little bit longer, I guess the alternatives / refactors to `builder` that would potentially suite our workflows:\r\n\r\n* `npm` implements a plugin / module system to handle archetype-like scripts + dependencies. (But we're waiting on something in core `npm`...)\r\n* We refactor builder to instead of using installed archetypes in `node_modules/ARCHETYPE/package.json` to instead _rewrite_ and mutate a projects `package.json` and other various files. (I think capturing what you might favor?) However, this becomes really tough and complicated once a project goes \"off script\" and wants to override just one `scripts` command when you consider the **upgrade** scenario for the archetype -- you're dealing with real code diffs + merges + potentially having an archetype upgrade blow away your customizations. Perhaps there is a sane way to manage the conflicts, but one first considering this thought this morning, seems... complicated and risky.\r\n\r\nLove to hear your thoughts more, but perhaps you could aim to direct this issue into something actionable for builder (like a strawman refactor / rearchitecture that would be better) or close it?\r\n\r\nThanks!"}}