Skip to content

atom-typescript specific settings shouldn't be in tsconfig.json #594

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
slikts opened this issue Sep 20, 2015 · 8 comments
Closed

atom-typescript specific settings shouldn't be in tsconfig.json #594

slikts opened this issue Sep 20, 2015 · 8 comments

Comments

@slikts
Copy link

slikts commented Sep 20, 2015

It's really untidy to have atom-typescript specific settings mixed in with normal TS settings. It's not clear that they relate to atom-typescript to anyone unfamiliar with atom-typescript. It confused me when I started using atom-typescript, since I'm also new to TS. The norm is for tools to create their own config files, like tsd does with tsd.json. This makes it easy to manage the settings and prevents confusion.

@basarat
Copy link
Member

basarat commented Sep 21, 2015

This makes it easy to manage the settings and prevents confusion

Agreed. However I'd rather it be under a key like atom-typescript. But I'm not looking forward to making that breaking change anytime soon.

@slikts
Copy link
Author

slikts commented Sep 21, 2015

Doesn't seem right to just close valid and unresolved issues. This is polluting the TS config and should be fixed.

@basarat
Copy link
Member

basarat commented Sep 22, 2015

Doesn't seem right to just close valid and unresolved issues.

Sure. It's open and up for grabs.

Implementor's guide

🌹

@slikts
Copy link
Author

slikts commented Sep 22, 2015

You shouldn't put non-TS settings in the TS config file. It's invalid according to the tsconfig.json schema, and coupling the TS and atom-ts settings makes them both more difficult to manage, because you need to edit JSON in cases where you would otherwise be able to just work with files. Every other tool uses its own config files too. It should just be atomts.json or something for this tool as well. It should also be fixed sooner than later because it's needed and putting off breaking changes makes implementing them harder.

@nycdotnet
Copy link
Contributor

Thank you for your feedback.

@nickroberts
Copy link

Agreed. If I can get some time in the near future, I'll take a stab at this.

@nycdotnet
Copy link
Contributor

Early on, the TypeScript team said they were OK with third-party extensions to the tsconfig.json file as long as they didn't conflict with first-party functionality.

The extensions used by atom-typescript (and now grunt-ts as of v5 beta) have been around for a long time and do not conflict with present or anticipated first-party functionality to my knowledge (if I am wrong here, please let me know). They are also quite useful to thousands of developers in their present state. Therefore, this seems like needless work for the person writing the change, the TypeStrong team, and our end users.

I don't see the value in taking a breaking change for this. I appreciate your comments @slikts and @nickroberts, but I think your time might be much better spent on either improving atom-typescript's documentation for this issue (to lessen any confusion), to advocate for an official mechanism for third party extensions for tsconfig.json with the TypeScript team (in which case it would be worth taking a breaking change), or on our many other issues.

In particular, we could really use a globbing library that supports exclusions.

@TypeStrong TypeStrong locked and limited conversation to collaborators Sep 28, 2015
@basarat
Copy link
Member

basarat commented Sep 28, 2015

Agreed. If I can get some time in the near future, I'll take a stab at this.

@nickroberts don't. Based on @nycdotnet's comments I've re-evaluated the stance and decided that the options we have make a lot of sense for the community (and its not just my opinion).

All the options we have are documented here : https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#options

I'll be (and have been in the past) very careful adding further extensions. We will no longer think of moving / or removing any of the options we have right now without very strong justification.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants