Skip to content

Commit 022ed54

Browse files
committed
tweaks
1 parent 16ace03 commit 022ed54

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

_blogposts/2020-09-25-release-8-3-2.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Note such vertical integration not only brings better performance, smaller sizes
4141
## Build system enhancements for editor diagnostics
4242

4343
When people are coding in their favorite editors, they expect to see syntax and type errors in real-time.
44-
There are multiple ways to achieve this. The most and reliable way is to always invoke the build system whenever the user saves a file. Due to not having an in-memory cache, our build system is very reliable. However we didn't yet optimize the build system for live feedback in editors.
44+
There are multiple ways to achieve this. The most reliable way is to always invoke the build system whenever the user saves a file. Due to not having an in-memory cache, our build system is very reliable. However we didn't yet optimize the build system for live feedback in editors.
4545
what syntax errors, type checking errors do they have when editing? There are multiple ways to achieve this, the most easy
4646
and reliable way is to always invoke the build system whenever the user saves the files, since it's the same build system
4747
without any in-memory cache, the reliability is very high, however, there's several challenges to use the build system output as editor diagnostics.
@@ -58,7 +58,7 @@ For a typical file based build system, if the file A is compiled successfully wi
5858
This is problematic if we use the build system output for editor diagnostics. Since the second build will not capture those warnings, we
5959
could use some caching mechanism to cache previous build output. But… stateful systems are not reliable and come with a whole range of different problems.
6060

61-
To solve such challenging problem, we did some innovations to co-ordinate the compiler and build system. When the file A is compiled with warnings,
61+
To solve such a challenging problem, we did some innovations to co-ordinate the compiler and build system. When the file A is compiled with warnings,
6262
the compiler will produce some marks to the build system, the build system will keep building but such marks are encoded in the build rules
6363
so that the second build will do the rebuild.
6464

@@ -75,7 +75,7 @@ To get the build output, instead of communicating through IPC, we adopted a simp
7575
This makes the editor integration build-system agnostic, it does not need talk to the build system directly.
7676

7777
It also makes our build tool work with other watchers including Facebook's [watchman](https://facebook.github.io/watchman/).
78-
Watchman is a more scalable watcher tool for specific platform and less memory hungry, however, we still need a watchman-client to get the output of triggered job.
78+
Watchman is a more scalable watcher tool for some specific platforms and less memory hungry, however, we still need a watchman-client to get the output of triggered job.
7979
We write the output to `.compiler.log` per each build, allowing clients to read compiler diagnostics when they want.
8080

8181
## A better algorithm for removing stale outputs
@@ -100,7 +100,7 @@ In general, strategy two is more reliable and efficient.
100100
- When we change the in-source build to out-source build, it will still do the pruning properly
101101

102102
However, strategy one is easier for tooling like `genType`. Not every tool has knowledge of the build system.
103-
we employ a combination of the two strategies.
103+
104104

105105
Sometimes a combination of both strategies is needed.
106106
- When removing .cm* files, we use the first strategy.

0 commit comments

Comments
 (0)