Skip to content
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

Refactor fs (cache/tracing) layer into self-contained API #1161

Open
cspotcode opened this issue Nov 22, 2020 · 2 comments · May be fixed by #1518
Open

Refactor fs (cache/tracing) layer into self-contained API #1161

cspotcode opened this issue Nov 22, 2020 · 2 comments · May be fixed by #1518

Comments

@cspotcode
Copy link
Collaborator

We have multiple codepaths which both duplicate FS access code. Additionally, our source-map-support hook touches this FS caching layer.

Refactor into a single fs API which can be instantiated by a factory like createFsLayer() or createFsHost() and then used in all codepaths.

Having this layer may make future features, such as caching, easier to understand. For example, the fs layer can perform all writes into a cache, and all reads from either the cache or real filesystem, whichever is hit first.

@cspotcode cspotcode changed the title Refactor fs (cache/tracing) layer Refactor fs (cache/tracing) layer into self-contained API Nov 22, 2020
@frank-dspeed
Copy link

Wouldn't it be better to implement something like resolve? i mean pre resolved stuff and do not modify the cache? I think the best place to solve all that issues is the resolve part inside TS we need a way to supply configuration for that and there are hooks implmented in TS for custom reslovers i am not aware if they are exposed or not

But i think its worth investigation into that direction maybe that algins some how with import map support.

@cspotcode
Copy link
Collaborator Author

I think we're talking about different things. For FS caching, necessary to take advantage of --incremental, we need a way to persist what the compiler attempts to write to the filesystem without interfering with normal tsc invocations.

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

Successfully merging a pull request may close this issue.

2 participants