{"action":"created","issue":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/6241","repository_url":"https://api.github.com/repos/mrdoob/three.js","labels_url":"https://api.github.com/repos/mrdoob/three.js/issues/6241/labels{/name}","comments_url":"https://api.github.com/repos/mrdoob/three.js/issues/6241/comments","events_url":"https://api.github.com/repos/mrdoob/three.js/issues/6241/events","html_url":"https://github.com/mrdoob/three.js/issues/6241","id":62178419,"node_id":"MDU6SXNzdWU2MjE3ODQxOQ==","number":6241,"title":"cyclic dependencies","user":{"login":"ghost","id":10137,"node_id":"MDQ6VXNlcjEwMTM3","avatar_url":"https://avatars3.githubusercontent.com/u/10137?v=4","gravatar_id":"","url":"https://api.github.com/users/ghost","html_url":"https://github.com/ghost","followers_url":"https://api.github.com/users/ghost/followers","following_url":"https://api.github.com/users/ghost/following{/other_user}","gists_url":"https://api.github.com/users/ghost/gists{/gist_id}","starred_url":"https://api.github.com/users/ghost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghost/subscriptions","organizations_url":"https://api.github.com/users/ghost/orgs","repos_url":"https://api.github.com/users/ghost/repos","events_url":"https://api.github.com/users/ghost/events{/privacy}","received_events_url":"https://api.github.com/users/ghost/received_events","type":"User","site_admin":false},"labels":[{"id":175827,"node_id":"MDU6TGFiZWwxNzU4Mjc=","url":"https://api.github.com/repos/mrdoob/three.js/labels/Suggestion","name":"Suggestion","color":"ffffcf","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":61,"created_at":"2015-03-16T19:00:06Z","updated_at":"2018-06-19T08:07:21Z","closed_at":null,"author_association":"NONE","body":"Hey everyone.\n\n@kumavis and I have been hard at work trying to find an efficient way to move THREE.js over to a browserify architecture. We made good progress, even up to the point of having all of the files moved over to a browserify build system and being able to generate a three.min.js with gulp.\n\nUnfortunately, the examples don't work, because unlike commonjs browserify cannot handle cyclic dependencies, of which there are many in THREE.js.\n\nI have made an interactive graph depicting the dependency relationships <a target=\"_blank\" href=\"http://jsbin.com/medezu/2/edit?html,js,output\">here</a>.\n\nUnless and until these get untangled, we will not be able to move THREE.js over to a browserify build.\n\nI do not consider this a deficiency of browserify, but rather a problem with THREE.js. Circular dependencies are a bad thing to have in software in general, and lead to all sorts of problems.\n"},"comment":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/comments/398312342","html_url":"https://github.com/mrdoob/three.js/issues/6241#issuecomment-398312342","issue_url":"https://api.github.com/repos/mrdoob/three.js/issues/6241","id":398312342,"node_id":"MDEyOklzc3VlQ29tbWVudDM5ODMxMjM0Mg==","user":{"login":"roomle-build","id":25369515,"node_id":"MDQ6VXNlcjI1MzY5NTE1","avatar_url":"https://avatars1.githubusercontent.com/u/25369515?v=4","gravatar_id":"","url":"https://api.github.com/users/roomle-build","html_url":"https://github.com/roomle-build","followers_url":"https://api.github.com/users/roomle-build/followers","following_url":"https://api.github.com/users/roomle-build/following{/other_user}","gists_url":"https://api.github.com/users/roomle-build/gists{/gist_id}","starred_url":"https://api.github.com/users/roomle-build/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roomle-build/subscriptions","organizations_url":"https://api.github.com/users/roomle-build/orgs","repos_url":"https://api.github.com/users/roomle-build/repos","events_url":"https://api.github.com/users/roomle-build/events{/privacy}","received_events_url":"https://api.github.com/users/roomle-build/received_events","type":"User","site_admin":false},"created_at":"2018-06-19T08:07:21Z","updated_at":"2018-06-19T08:07:21Z","author_association":"NONE","body":"@mrdoob we use Rollup to only use the parts of Three.js we really need. When we run the built we still get the following warning: \r\n\r\n```\r\n(!) Circular dependency: node_modules/three/src/math/Vector3.js -> node_modules/three/src/math/Matrix4.js -> node_modules/three/src/math/Vector3.js\r\n(!) Circular dependency: node_modules/three/src/math/Vector3.js -> node_modules/three/src/math/Quaternion.js -> node_modules/three/src/math/Vector3.js\r\n(!) Circular dependency: node_modules/three/src/math/Sphere.js -> node_modules/three/src/math/Box3.js -> node_modules/three/src/math/Sphere.js\r\n(!) Circular dependency: node_modules/three/src/objects/LineSegments.js -> node_modules/three/src/objects/Line.js -> node_modules/three/src/objects/LineSegments.js\r\n``` \r\nAre there still circular dependencies in Three.js or are we doing something wrong?\r\n"}}
{"actor":{"display_login":"roomle-build"}}