Almost all of our packages have the triple slash reference. Is it time to revisit the requirement of this linting rule?
Discussion started here: https://github.com/Azure/azure-sdk-for-js/pull/10730/files#r474308108.
cc @bterlson, @xirzec, @willmtemple
I definitely agree we should remove the rule if we want to keep using reference comments in our packages.
I'm less sure as to if we should be using the triple slash stuff in the first place or not. It seems like we are in a bad place right now where we would love to have TS check our usage of platform pieces... but given that lib.d.ts is versioned along with TS and our consumers might be using a different version (or targeting a different environment like electron) I'm not sure we have a good solution here other than trying to stub it out ourselves (which gets ugly fast for large surfaces.)
@bterlson suggested a better approach is to only flag /// references of non-local types.
What does non-local types mean in this context? We use file references as well as library references as part of a shimming pattern in core-http (see the .d.ts files in that package).
The core-http one is an exception I seem to recall. But in general, // reference a type you declared in your package (like shims), no problem. // reference to lib or to d.ts library, generally good to avoid.