{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/2261","labels_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/2261/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/2261/comments","events_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/2261/events","html_url":"https://github.com/Microsoft/TypeScript/issues/2261","id":60245542,"number":2261,"title":"Opt-In Language Features to prevent Embrace and Extend -- Compiler options on tsc.js","user":{"login":"matthiasg","id":231889,"avatar_url":"https://avatars.githubusercontent.com/u/231889?v=3","gravatar_id":"","url":"https://api.github.com/users/matthiasg","html_url":"https://github.com/matthiasg","followers_url":"https://api.github.com/users/matthiasg/followers","following_url":"https://api.github.com/users/matthiasg/following{/other_user}","gists_url":"https://api.github.com/users/matthiasg/gists{/gist_id}","starred_url":"https://api.github.com/users/matthiasg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthiasg/subscriptions","organizations_url":"https://api.github.com/users/matthiasg/orgs","repos_url":"https://api.github.com/users/matthiasg/repos","events_url":"https://api.github.com/users/matthiasg/events{/privacy}","received_events_url":"https://api.github.com/users/matthiasg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-08T07:25:11Z","updated_at":"2015-03-13T10:42:14Z","closed_at":null,"body":"I am missing the ability to disable certain typescript compiler features. E.g i would like to disable all non ES6 style module features (i am not talking about require of course, just the actual typescript inventions before ES6 modules).\r\n\r\nIn general, I believe tsc.js would benefit from having an optional configuration json file to ensure that all  team members are using the same subset of features.\r\n\r\nSince typescript is seemingly becoming a hybrid compiler, mixing ES6/7 stuff with typescript inventions, it makes my unsure whether i should jump on it without a change in defaults.\r\nI would much rather have it be a ES6 compiler first with non standard features such as e.g previous module syntaxes, AtScript or ES7 features etc as opt-in features in a compiler option file (flags on command line).\r\n\r\nIt could be argued of course to default-opt-in  into some features that are basically agreed upon etc, as long as you can always opt-out of them\r\n\r\nWithout that feature i think it will be difficult for my team to switch to TS since there would be a danger of accidentally using non-standardized language features which would prevent us from choosing another ES6/7 compiler at some point.\r\n\r\nPS: I did not find those in `node tsc\\tsc.js --help` nor in the Wiki. Next stop would be the code."},"comment":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/comments/78911266","html_url":"https://github.com/Microsoft/TypeScript/issues/2261#issuecomment-78911266","issue_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/2261","id":78911266,"user":{"login":"CyrusNajmabadi","id":4564579,"avatar_url":"https://avatars.githubusercontent.com/u/4564579?v=3","gravatar_id":"","url":"https://api.github.com/users/CyrusNajmabadi","html_url":"https://github.com/CyrusNajmabadi","followers_url":"https://api.github.com/users/CyrusNajmabadi/followers","following_url":"https://api.github.com/users/CyrusNajmabadi/following{/other_user}","gists_url":"https://api.github.com/users/CyrusNajmabadi/gists{/gist_id}","starred_url":"https://api.github.com/users/CyrusNajmabadi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CyrusNajmabadi/subscriptions","organizations_url":"https://api.github.com/users/CyrusNajmabadi/orgs","repos_url":"https://api.github.com/users/CyrusNajmabadi/repos","events_url":"https://api.github.com/users/CyrusNajmabadi/events{/privacy}","received_events_url":"https://api.github.com/users/CyrusNajmabadi/received_events","type":"User","site_admin":false},"created_at":"2015-03-13T10:42:14Z","updated_at":"2015-03-13T10:42:14Z","body":"@matthiasg Regarding \"and the ability to remain independent.\"  It's worth noting that TypeScript acts as a transpiler.  At the end of the day, nothing actually executes TypeScript code.  So our entire system is designed around creating javascript.  So if, at any point, you feel like you don't want to use TypeScript anymore, then simply compile your code, take the emitted javascript and just use that from now on.\r\n\r\nI think this addressed your initial concern of:\r\n\r\n> Without that feature i think it will be difficult for my team to switch to TS since there would be a danger of accidentally using non-standardized language features which would prevent us from choosing another ES6/7 compiler at some point.\r\n\r\nIf you intend to use another ES6/7 compiler then you should always be able to do so.  You just take the actual EcmaScript we produce and you go and use those compilers.  "}}