{"action":"closed","issue":{"url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2400","labels_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2400/labels{/name}","comments_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2400/comments","events_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/2400/events","html_url":"https://github.com/syl20bnr/spacemacs/issues/2400","id":97152461,"number":2400,"title":"HTML & JavaScript merge into Web? Or new React layer? Discussion of layering","user":{"login":"louy2","id":2263580,"avatar_url":"https://avatars.githubusercontent.com/u/2263580?v=3","gravatar_id":"","url":"https://api.github.com/users/louy2","html_url":"https://github.com/louy2","followers_url":"https://api.github.com/users/louy2/followers","following_url":"https://api.github.com/users/louy2/following{/other_user}","gists_url":"https://api.github.com/users/louy2/gists{/gist_id}","starred_url":"https://api.github.com/users/louy2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/louy2/subscriptions","organizations_url":"https://api.github.com/users/louy2/orgs","repos_url":"https://api.github.com/users/louy2/repos","events_url":"https://api.github.com/users/louy2/events{/privacy}","received_events_url":"https://api.github.com/users/louy2/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/syl20bnr/spacemacs/labels/discussion","name":"discussion","color":"eb6420"},{"url":"https://api.github.com/repos/syl20bnr/spacemacs/labels/JavaScript","name":"JavaScript","color":"207de5"},{"url":"https://api.github.com/repos/syl20bnr/spacemacs/labels/New%20Layer","name":"New Layer","color":"207de5"},{"url":"https://api.github.com/repos/syl20bnr/spacemacs/labels/Web","name":"Web","color":"207de5"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2015-07-24T21:38:18Z","updated_at":"2015-10-05T10:34:30Z","closed_at":"2015-10-05T10:34:30Z","body":"Cont. #2286 \r\nRel. #2399 #1769 #1770 \r\n\r\nThe reason emerged when I am configuring JSX, where I want indentation and syntax-highlight from `web-mode` but completion from `tern-mode`. To do that, either duplicated config of the `tern` is introduced in both `javascript` and `html`, or the layers in question are merged into one, `web`.\r\n\r\nAs @robbyoconnor has put, JavaScript being in a separate layer benefits Node.js users. Although popularized by web, JavaScript is indeed used in pure CLI's such as [Keybase](https://github.com/keybase/node-client). \r\n\r\nI have tried writing a separate layer as #2399 does as well as putting JSX into HTML layer. I do want to attract notice that #2399 actually introduces `!framework` category, which is another discussion we might have. In this case it is another form of duplication, where `react` layer shares some config with both `javascript` and `html`.\r\n"}}