Commit Graph

14 Commits

Author SHA1 Message Date
Jake Bailey
c65142244c Add dts bundling
This adds a "small" d.ts bundler script. This script is very basic,
using Node printing to produce its output. Generally speaking, this is
inadvisable as it completely disregards name shadowing, globals, etc.
However, in our case, we don't care about the globals, and we can opt to
restructure our codebase in order to avoid conflict, which we largely
had to do anyway when we were namespaces and everything was in scope.
2022-11-07 13:35:48 -08:00
Jake Bailey
d12116d8da Fix all internal JSDoc comments
If these are regular comments, then they won't appear in our d.ts files.
But, now we are relying on an external d.ts bundler to produce our final
merged, so they need to be present in the "input" d.ts files, meaning
they have to be JSDoc comments.

These comments only work today because all of our builds load their TS
files from scratch, so they see the actual source files and their
non-JSDoc comments.

The comments also need to be attached to a declaration, not floating,
otherwise they won't be used by api-extractor, so move them if needed.
2022-11-07 13:34:44 -08:00
Jake Bailey
07758c08ab Generated module conversion step - inlineImports
This step converts as many explicit accesses as possible in favor of direct imports from the modules in which things were declared. This restores the code (as much as possible) back to how it looked originally before the explicitify step, e.g. instead of "ts.Node" and "ts.Symbol", we have just "Node" and "Symbol".
2022-11-07 13:33:07 -08:00
Jake Bailey
b6c0538826 Generated module conversion step - stripNamespaces
This step converts each file into an exported module by hoisting the namespace bodies into the global scope and transferring internal markers down onto declarations as needed.

The namespaces are reconstructed as "barrel"-style modules, which are identical to the old namespace objects in structure. These reconstructed namespaces are then imported in the newly module-ified files, making existing expressions like "ts." valid.
2022-11-07 13:32:03 -08:00
Jake Bailey
9a0b85ce2a Generated module conversion step - explicitify
This step makes all implicit namespace accesses explicit, e.g. "Node" turns into "ts.Node".
2022-11-07 13:29:05 -08:00
Jake Bailey
94724a8c2e Generated module conversion step - unindent
This step makes further commits look clearer by unindenting all of the top level namespaces preemptively.
2022-11-07 13:28:13 -08:00
Michael Crane
f68a8393ef Load ETW module from a specified path (#39599) 2020-07-14 11:52:55 -07:00
Michael Crane
0fc388893e Remove redundant and misplaced perfLogger startup statement (#34551) 2019-10-18 09:13:40 -07:00
Alexander T
7ea134bacd Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/eslint 2019-09-05 09:52:04 +03:00
Orta
9920da291f Ensure that TS can run in a browser by checking for a process obj before using it in the perf logger (#33141) 2019-09-04 14:14:10 -07:00
Wesley Wigham
f8f8876832 Handle browserify-ignored module result for etw logger (#33225) 2019-09-04 11:44:10 -07:00
Alexander
455f8b5511 fix eslint errors. remove tslint:* comments 2019-08-07 21:35:05 +03:00
Michael Crane
d34cf52576 Use 'noop' for NullLogger 2019-08-02 10:20:17 -07:00
Michael Crane
fa3e9c86db Add PerfLogger and NullLogger to simplify conditional logic 2019-08-01 12:46:33 -07:00