{"action":"created","issue":{"url":"https://api.github.com/repos/thejameskyle/babel-plugin-handbook/issues/17","labels_url":"https://api.github.com/repos/thejameskyle/babel-plugin-handbook/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/thejameskyle/babel-plugin-handbook/issues/17/comments","events_url":"https://api.github.com/repos/thejameskyle/babel-plugin-handbook/issues/17/events","html_url":"https://github.com/thejameskyle/babel-plugin-handbook/issues/17","id":120272877,"number":17,"title":"Is there any way to define the relations of other plugins?","user":{"login":"hax","id":159840,"avatar_url":"https://avatars.githubusercontent.com/u/159840?v=3","gravatar_id":"","url":"https://api.github.com/users/hax","html_url":"https://github.com/hax","followers_url":"https://api.github.com/users/hax/followers","following_url":"https://api.github.com/users/hax/following{/other_user}","gists_url":"https://api.github.com/users/hax/gists{/gist_id}","starred_url":"https://api.github.com/users/hax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hax/subscriptions","organizations_url":"https://api.github.com/users/hax/orgs","repos_url":"https://api.github.com/users/hax/repos","events_url":"https://api.github.com/users/hax/events{/privacy}","received_events_url":"https://api.github.com/users/hax/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-12-03T21:22:33Z","updated_at":"2015-12-07T08:01:39Z","closed_at":"2015-12-03T21:53:22Z","body":"For example, \r\n- Exclusive: https://github.com/hax/babel-plugin-transform-es2015-generator-return should not be used with `transform-regenerator`.\r\n- Order: `transform-async-to-generator` should prior to `transform-es2015-parameters` (see babel bug: https://phabricator.babeljs.io/T2776)\r\n\r\nCurrently I found `pluginStack` in  `visitors: { XXX(path, state) { state.file.pluginStack } }`, so I could check the plugins and throw error in runtime, but that seems too hacky.\r\n"},"comment":{"url":"https://api.github.com/repos/thejameskyle/babel-plugin-handbook/issues/comments/162442663","html_url":"https://github.com/thejameskyle/babel-plugin-handbook/issues/17#issuecomment-162442663","issue_url":"https://api.github.com/repos/thejameskyle/babel-plugin-handbook/issues/17","id":162442663,"user":{"login":"hax","id":159840,"avatar_url":"https://avatars.githubusercontent.com/u/159840?v=3","gravatar_id":"","url":"https://api.github.com/users/hax","html_url":"https://github.com/hax","followers_url":"https://api.github.com/users/hax/followers","following_url":"https://api.github.com/users/hax/following{/other_user}","gists_url":"https://api.github.com/users/hax/gists{/gist_id}","starred_url":"https://api.github.com/users/hax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hax/subscriptions","organizations_url":"https://api.github.com/users/hax/orgs","repos_url":"https://api.github.com/users/hax/repos","events_url":"https://api.github.com/users/hax/events{/privacy}","received_events_url":"https://api.github.com/users/hax/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T08:01:39Z","updated_at":"2015-12-07T08:01:39Z","body":"> Plugins shouldn't know about each other at all\r\n\r\n@thejameskyle I found that many plugins depend on other plugin by `inherits` it (for examples, [transform-async-functions](https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-async-functions/src/index.js) and `transform-es2015-modules-*`).\r\nInheritance is a very strong relationship, so I don't think your proposition \"should not know about each other\" accord to current codes.\r\nIf inheritance is allowed, why not support other relationships?"}}