From 1cb9f24a9c1078d3a560c1726b6cb060ecbea44f Mon Sep 17 00:00:00 2001 From: zack-derose Date: Thu, 16 Jan 2025 12:14:37 -0500 Subject: [PATCH 1/3] pin --- docs/blog/2025-01-10-project-references.md | 168 +++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 docs/blog/2025-01-10-project-references.md diff --git a/docs/blog/2025-01-10-project-references.md b/docs/blog/2025-01-10-project-references.md new file mode 100644 index 0000000000000..58b21cf302765 --- /dev/null +++ b/docs/blog/2025-01-10-project-references.md @@ -0,0 +1,168 @@ +--- +title: What Are TypeScript Project References? Setting Up Your TS Monorepo the Right Way +slug: typescript-project-references +authors: [Your Name] +tags: [typescript, monorepo, nx] +cover_image: /blog/images/2025-01-10/ts-project-references.png +--- + +## Connecting Projects At The Typescript Level + +Consider the following workspace: + +```filesysten +is-even + index.ts + tsconfig.json +is-odd + index.tx + tsconfig.json +tsconfig.base.json +``` + +// stackblitz example + +If we try to run our build script on the `is-odd` project, we see that Typescript is unable to run the `tsc` command because at the typescript level, `is-odd` is not aware of the `is-even` module: + +```shell + . > cd is-odd + is-odd > npm run build + +> build +> tsc + +index.ts:1:24 - error TS2792: Cannot find module 'is-even'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? + +1 import { isEven } from 'is-even'; + ~~~~~~~~~ + + +Found 1 error in index.ts:1 + +``` + +There are actually 2 issues we're contending with. For this import statement: + +```typescript +import { isEven } from 'is-even'; +``` + +The first is that we need to be able to resolve the "is-even" name to it's module. The other issue is we need to mark to Typescript that this + +## What Are TypeScript Project References? + +You can think of [Project References]() as a way to define explicit relationships between TypeScript projects. Instead of treating your monorepo like one big pile of code, Project References let TypeScript treat each project as a standalone unit with its own boundaries. + +Here’s a basic example: + +```json +{ + "compilerOptions": { + "composite": true, + "declaration": true + }, + "references": [{ "path": "../shared" }] +} +``` + +In this setup: + +1. The `composite` flag enables incremental builds, ensuring that only changed projects are recompiled. +2. The `references` field declares dependencies on other projects, so TypeScript knows the order in which to compile them. + +It’s like handing TypeScript a map of your monorepo, which speeds up builds and improves IntelliSense accuracy. + +--- + +## Benefits of TypeScript Project References in Monorepos + +Why go through the trouble of setting up Project References? Here are the standout benefits: + +### 1. **Faster Builds with Incremental Compilation** + +Instead of rebuilding your entire monorepo every time, Project References allow TypeScript to compile only the projects that have changed. This drastically reduces memory usage and build times, especially in CI pipelines. + +### 2. **Clear Boundaries Between Projects** + +Path aliases (`"@my-org/shared"`) are convenient, but they don't enforce boundaries. With Project References, TypeScript ensures that a project imports only what it’s supposed to, reducing the risk of circular dependencies. + +### 3. **Better IntelliSense in Large Workspaces** + +Large monorepos can overwhelm editors, leading to sluggish IntelliSense. By breaking your workspace into smaller, well-defined projects, you make it easier for TypeScript to "understand" your code. + +--- + +## How to Set Up TypeScript Project References + +Here’s a step-by-step guide to get started: + +### 1. **Enable Composite Builds** + +In each project’s `tsconfig.json`, set `composite` to `true`: + +```json +{ + "compilerOptions": { + "composite": true, + "declaration": true + } +} +``` + +### 2. **Add References** + +Add a `references` field pointing to dependent projects: + +```json +{ + "references": [{ "path": "../shared" }] +} +``` + +### 3. **Update Your Build Pipeline** + +Use `tsc -b` to build your workspace with project references: + +```shell +tsc -b +``` + +This ensures that TypeScript compiles projects in the correct order based on their dependencies. + +--- + +## Challenges and Caveats + +Before you jump in, be aware of a few limitations: + +1. **Circular Dependencies**: TypeScript won’t allow circular references between projects. Use this as an opportunity to refactor! +2. **Additional Setup**: You'll need to update your CI/CD pipeline to use `tsc -b`. +3. **Configuration Overhead**: Managing references can be tedious in large repos, though tools like `nx sync` can automate this. + +For a full list of caveats, check out [the official documentation](https://www.typescriptlang.org/docs/handbook/project-references.html#caveats-for-project-references). + +--- + +## How Nx Makes It Easier + +Setting up and maintaining TypeScript Project References manually can be tricky, especially as your monorepo grows. This is where Nx shines: + +1. **Automated Setup**: Nx’s generators automatically configure Project References for you. +2. **Syncing References**: With the `nx sync` command, Nx keeps your references up to date, even as projects are added or moved. +3. **Optimized Builds**: Nx integrates TypeScript incremental builds with its own caching and task distribution, giving you the best of both worlds. + +Want to see it in action? Try creating a new Nx workspace with TypeScript Project References: + +```shell +npx create-nx-workspace@latest my-workspace --preset=ts +``` + +--- + +## Wrapping Up + +TypeScript Project References can transform how you manage monorepos, offering faster builds, better IntelliSense, and stronger project boundaries. Whether you’re starting fresh or looking to optimize an existing setup, these features are worth exploring. + +And if you’re using Nx, you’ve got the tools to take it to the next level. Check out [Nx’s docs on TypeScript Project References](https://nx.dev/nx-api/js/documents/typescript-project-references) for more! + +Have questions or insights to share? Jump into [our Discord community](https://go.nx.dev/community) or hit us up on [Twitter](https://twitter.com/nxdevtools). From a1f27c7727cb6ddbda0925dd9e746ced943dc73d Mon Sep 17 00:00:00 2001 From: zack-derose Date: Tue, 21 Jan 2025 08:40:47 -0500 Subject: [PATCH 2/3] docs(misc): project references blog --- docs/blog/2025-01-10-project-references.md | 168 ------------------- docs/blog/2025-01-21-project-references.md | 183 +++++++++++++++++++++ docs/blog/images/2025-01-21/results.png | Bin 0 -> 183650 bytes docs/blog/images/2025-01-21/ts-islands.png | Bin 0 -> 53612 bytes 4 files changed, 183 insertions(+), 168 deletions(-) delete mode 100644 docs/blog/2025-01-10-project-references.md create mode 100644 docs/blog/2025-01-21-project-references.md create mode 100644 docs/blog/images/2025-01-21/results.png create mode 100644 docs/blog/images/2025-01-21/ts-islands.png diff --git a/docs/blog/2025-01-10-project-references.md b/docs/blog/2025-01-10-project-references.md deleted file mode 100644 index 58b21cf302765..0000000000000 --- a/docs/blog/2025-01-10-project-references.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -title: What Are TypeScript Project References? Setting Up Your TS Monorepo the Right Way -slug: typescript-project-references -authors: [Your Name] -tags: [typescript, monorepo, nx] -cover_image: /blog/images/2025-01-10/ts-project-references.png ---- - -## Connecting Projects At The Typescript Level - -Consider the following workspace: - -```filesysten -is-even - index.ts - tsconfig.json -is-odd - index.tx - tsconfig.json -tsconfig.base.json -``` - -// stackblitz example - -If we try to run our build script on the `is-odd` project, we see that Typescript is unable to run the `tsc` command because at the typescript level, `is-odd` is not aware of the `is-even` module: - -```shell - . > cd is-odd - is-odd > npm run build - -> build -> tsc - -index.ts:1:24 - error TS2792: Cannot find module 'is-even'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? - -1 import { isEven } from 'is-even'; - ~~~~~~~~~ - - -Found 1 error in index.ts:1 - -``` - -There are actually 2 issues we're contending with. For this import statement: - -```typescript -import { isEven } from 'is-even'; -``` - -The first is that we need to be able to resolve the "is-even" name to it's module. The other issue is we need to mark to Typescript that this - -## What Are TypeScript Project References? - -You can think of [Project References]() as a way to define explicit relationships between TypeScript projects. Instead of treating your monorepo like one big pile of code, Project References let TypeScript treat each project as a standalone unit with its own boundaries. - -Here’s a basic example: - -```json -{ - "compilerOptions": { - "composite": true, - "declaration": true - }, - "references": [{ "path": "../shared" }] -} -``` - -In this setup: - -1. The `composite` flag enables incremental builds, ensuring that only changed projects are recompiled. -2. The `references` field declares dependencies on other projects, so TypeScript knows the order in which to compile them. - -It’s like handing TypeScript a map of your monorepo, which speeds up builds and improves IntelliSense accuracy. - ---- - -## Benefits of TypeScript Project References in Monorepos - -Why go through the trouble of setting up Project References? Here are the standout benefits: - -### 1. **Faster Builds with Incremental Compilation** - -Instead of rebuilding your entire monorepo every time, Project References allow TypeScript to compile only the projects that have changed. This drastically reduces memory usage and build times, especially in CI pipelines. - -### 2. **Clear Boundaries Between Projects** - -Path aliases (`"@my-org/shared"`) are convenient, but they don't enforce boundaries. With Project References, TypeScript ensures that a project imports only what it’s supposed to, reducing the risk of circular dependencies. - -### 3. **Better IntelliSense in Large Workspaces** - -Large monorepos can overwhelm editors, leading to sluggish IntelliSense. By breaking your workspace into smaller, well-defined projects, you make it easier for TypeScript to "understand" your code. - ---- - -## How to Set Up TypeScript Project References - -Here’s a step-by-step guide to get started: - -### 1. **Enable Composite Builds** - -In each project’s `tsconfig.json`, set `composite` to `true`: - -```json -{ - "compilerOptions": { - "composite": true, - "declaration": true - } -} -``` - -### 2. **Add References** - -Add a `references` field pointing to dependent projects: - -```json -{ - "references": [{ "path": "../shared" }] -} -``` - -### 3. **Update Your Build Pipeline** - -Use `tsc -b` to build your workspace with project references: - -```shell -tsc -b -``` - -This ensures that TypeScript compiles projects in the correct order based on their dependencies. - ---- - -## Challenges and Caveats - -Before you jump in, be aware of a few limitations: - -1. **Circular Dependencies**: TypeScript won’t allow circular references between projects. Use this as an opportunity to refactor! -2. **Additional Setup**: You'll need to update your CI/CD pipeline to use `tsc -b`. -3. **Configuration Overhead**: Managing references can be tedious in large repos, though tools like `nx sync` can automate this. - -For a full list of caveats, check out [the official documentation](https://www.typescriptlang.org/docs/handbook/project-references.html#caveats-for-project-references). - ---- - -## How Nx Makes It Easier - -Setting up and maintaining TypeScript Project References manually can be tricky, especially as your monorepo grows. This is where Nx shines: - -1. **Automated Setup**: Nx’s generators automatically configure Project References for you. -2. **Syncing References**: With the `nx sync` command, Nx keeps your references up to date, even as projects are added or moved. -3. **Optimized Builds**: Nx integrates TypeScript incremental builds with its own caching and task distribution, giving you the best of both worlds. - -Want to see it in action? Try creating a new Nx workspace with TypeScript Project References: - -```shell -npx create-nx-workspace@latest my-workspace --preset=ts -``` - ---- - -## Wrapping Up - -TypeScript Project References can transform how you manage monorepos, offering faster builds, better IntelliSense, and stronger project boundaries. Whether you’re starting fresh or looking to optimize an existing setup, these features are worth exploring. - -And if you’re using Nx, you’ve got the tools to take it to the next level. Check out [Nx’s docs on TypeScript Project References](https://nx.dev/nx-api/js/documents/typescript-project-references) for more! - -Have questions or insights to share? Jump into [our Discord community](https://go.nx.dev/community) or hit us up on [Twitter](https://twitter.com/nxdevtools). diff --git a/docs/blog/2025-01-21-project-references.md b/docs/blog/2025-01-21-project-references.md new file mode 100644 index 0000000000000..18217ffcf02d5 --- /dev/null +++ b/docs/blog/2025-01-21-project-references.md @@ -0,0 +1,183 @@ +--- +title: What Are TypeScript Project References? +slug: typescript-project-references +authors: [Zack DeRose] +tags: [typescript, monorepo, nx] +cover_image: /blog/images/2025-01-21/ts-islands.png +--- + +## Connecting Projects At The Typescript Level + +Consider the following workspace: + +```filesysten +is-even + index.ts + tsconfig.json +is-odd + index.tx + tsconfig.json +tsconfig.base.json +``` + +If we try to run our build script on the `is-odd` project, we see that Typescript is unable to run the `tsc` command because at the typescript level, `is-odd` is not aware of the `is-even` module: + +```shell + . > cd is-odd + is-odd > npm run build + +> build +> tsc + +index.ts:1:24 - error TS2792: Cannot find module 'is-even'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? + +1 import { isEven } from 'is-even'; + ~~~~~~~~~ + + +Found 1 error in index.ts:1 + +``` + +As we can see, there's an error associated with this line: + +```typescript +import { isEven } from 'is-even'; +``` + +Typescript needs to be informed as to how to find the module named `is-even`. The error message here actually recomends here that we may have forgotten to add aliases to the 'paths' option. To do this we can adjust our `tsconfig.base.json` file: + +```json +{ + "compilerOptions": { + "paths": { + "is-even": ["./is-even/index.ts"], + "is-odd": ["./is-odd/index.ts"] + } + } +} +``` + +By having the individual `tsconfig.json` files `extend` this base config, they will all get these paths, and now our build command will work: + +```shell +is-odd > npm run build + +> build +> tsc +``` + +This solution that we just implemented is how Nx has set up tsconfigs in the past. Before the new "Project References" feature that this article will look at next, this was the best option available for allowing you to import from a another named project inside of your monorepo. + +Before we look at project references though - one of the important things we should do is understand the downsides of this "paths"-based approach. + +The biggest one being that this approach does not enforce any boundaries within your monorepo at the Typescript level - instead we treat the entire monorepo as one "unit", but by adding `paths` we are adding aliases to specific files (usually the `index.ts` barrel files for each project in our monorepo) so we can reference them in our import statements. + +## Typescript Project References + +By adding boundaries at the Typescript level, we can significantly cut down on the "surface area" that Typescript has to contend with when doing it's job. This way, rather than Typescript seeing our entire monorepo as one unit, it can now understand our workspace as a series of connected "islands" or nodes. + +![Islands of Typescript](/blog/images/2025-01-21/ts-islands.png) + +To add this to our previous example, we'll adjust the `tsconfig.json` file for `is-odd` since it depends on `is-even`: + +```json +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true + }, + "references": [{ "path": "../is-even" }] +} +``` + +Note that we still actually need path aliases for our example. This is because we still need a mechanism to resolve the location in the import statement: + +```ts +import { isEven } from 'is-even'; +``` + +There are alternatives to path aliases to allow for this name to be resolved. The most recent enhancements at Nx we use the `workspaces` functionality your package-manager of choice (npm/pnpm/yarn/bun) as the way of resolving these names. + +With this set up, we can now use the `-b` or `--build` option when building `is-odd` - let's run it now with the `--verbose` flag on: + +```shell + % tsc -b is-odd --verbose +Projects in this build: + * is-even/tsconfig.json + * is-odd/tsconfig.json + +Project 'is-even/tsconfig.json' is out of date because buildinfo file 'is-even/tsconfig.tsbuildinfo' indicates that file 'is-odd/index.ts' was root file of compilation but not any more. + +Building project '/Users/zackderose/monorepo-project-references/is-even/tsconfig.json'... + +Project 'is-odd/tsconfig.json' is out of date because buildinfo file 'is-odd/tsconfig.tsbuildinfo' indicates that program needs to report errors. + +Building project '/Users/zackderose/monorepo-project-references/is-odd/tsconfig.json'... +``` + +Notice our filesystem now: + +```filesysten +is-even + index.d.ts + index.js + index.ts + tsconfig.json + tsconfig.tsbuildinfo +is-odd + index.d.ts + index.js + index.tx + tsconfig.json + tsconfig.tsbuildinfo +tsconfig.base.json +``` + +Notice how both `is-even` AND `is-odd` now have a compiled `index.d.ts` declaration file and `index.js`. They also both have a `tsconfig.base.json` file now (this holds the additional data typescript needs to determine which builds are needed). With the `--build` option, Typescript is now operating as a build orchestrator - by finding all referenced projects, determining if they are out-of-date, and then building them in the correct order. + +## So What Does This Mean For You + +As a practical/pragmatic developer - the TLDR of all of this information is project references allow for more performant builds. + +We've put together [a repo to demonstrate the perfomance gains](https://github.com/jaysoo/typecheck-timings), summarized by this graphic: + +![results](/blog/images/2025-01-21/results.png) + +In addition to the time savings we saw reduced memory usage (~ < 1GB vs 3 GB). This makes sense given what we saw about how project references work. This is actually a very good thing for CI pipelines, as exceeding memory usuage is a common issue we see with our clients for their Typescript builds. Less memory usuage means we can use smaller machines, which saves on the CI costs. + +In general, while it's good to understand the mechanics around everything, we believe it's better to use tools for this (like Nx!). This way you can off-shore your mental capacity to the tool and instead focus on building your solution. + +To setup a similar workspace as our example we started with, we can use: + +```shell +npx create-nx-workspace@latest foo --preset=ts +cd foo +nx g lib packages/is-even +nx g lib packages/is-odd +``` + +After making the adjustments to the contents of the `is-even` and `is-odd`, we can now simply build `is-even` and Nx will automatically prompt us to "sync" our workspace (updating our project references since `is-odd` now depends on `is-even`): + +```shell +% nx build is-odd + + NX The workspace is out of sync + +[@nx/js:typescript-sync]: Some TypeScript configuration files are missing project references to the projects they depend on or contain outdated project references. + +This will result in an error in CI. + +? Would you like to sync the identified changes to get your workspace up to date? … +Yes, sync the changes and run the tasks +No, run the tasks without syncing the changes + +You can skip this prompt by setting the `sync.applyChanges` option to `true` in your `nx.json`. +For more information, refer to the docs: https://nx.dev/concepts/sync-generators. +``` + +So, offshore the mental load to your tools, focus on building your solution, and you should have the best of all worlds. diff --git a/docs/blog/images/2025-01-21/results.png b/docs/blog/images/2025-01-21/results.png new file mode 100644 index 0000000000000000000000000000000000000000..65fe0343e71179e15250380a10a24a637c14aa0e GIT binary patch literal 183650 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 D(r6dg literal 0 HcmV?d00001 diff --git a/docs/blog/images/2025-01-21/ts-islands.png b/docs/blog/images/2025-01-21/ts-islands.png new file mode 100644 index 0000000000000000000000000000000000000000..24b2b01e66384e89918fd9ee830c0ba77587df9a GIT binary patch literal 53612 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 Date: Tue, 21 Jan 2025 08:52:46 -0500 Subject: [PATCH 3/3] docs(misc): typos fixed --- docs/blog/2025-01-21-project-references.md | 40 +++++++++------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/docs/blog/2025-01-21-project-references.md b/docs/blog/2025-01-21-project-references.md index 18217ffcf02d5..420278524e55c 100644 --- a/docs/blog/2025-01-21-project-references.md +++ b/docs/blog/2025-01-21-project-references.md @@ -6,28 +6,25 @@ tags: [typescript, monorepo, nx] cover_image: /blog/images/2025-01-21/ts-islands.png --- -## Connecting Projects At The Typescript Level +## Connecting Projects At The TypeScript Level Consider the following workspace: -```filesysten +```filesystem is-even index.ts tsconfig.json is-odd - index.tx + index.ts tsconfig.json tsconfig.base.json ``` -If we try to run our build script on the `is-odd` project, we see that Typescript is unable to run the `tsc` command because at the typescript level, `is-odd` is not aware of the `is-even` module: +If we try to run our build script on the `is-odd` project, we see that TypeScript is unable to run the `tsc` command because at the TypeScript level, `is-odd` is not aware of the `is-even` module: ```shell . > cd is-odd - is-odd > npm run build - -> build -> tsc + is-odd > tsc index.ts:1:24 - error TS2792: Cannot find module 'is-even'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? @@ -45,7 +42,7 @@ As we can see, there's an error associated with this line: import { isEven } from 'is-even'; ``` -Typescript needs to be informed as to how to find the module named `is-even`. The error message here actually recomends here that we may have forgotten to add aliases to the 'paths' option. To do this we can adjust our `tsconfig.base.json` file: +TypeScript needs to be informed as to how to find the module named `is-even`. The error message here actually suggests that we may have forgotten to add aliases to the 'paths' option. To do this we can adjust our `tsconfig.json` file at the root of the monorepo: ```json { @@ -61,23 +58,20 @@ Typescript needs to be informed as to how to find the module named `is-even`. Th By having the individual `tsconfig.json` files `extend` this base config, they will all get these paths, and now our build command will work: ```shell -is-odd > npm run build - -> build -> tsc +is-odd > tsc ``` -This solution that we just implemented is how Nx has set up tsconfigs in the past. Before the new "Project References" feature that this article will look at next, this was the best option available for allowing you to import from a another named project inside of your monorepo. +This solution that we just implemented is how Nx has set up tsconfigs in the past. Before the new "Project References" feature that this article will look at next, this was the best option available for allowing you to import from another named project inside of your monorepo. Before we look at project references though - one of the important things we should do is understand the downsides of this "paths"-based approach. -The biggest one being that this approach does not enforce any boundaries within your monorepo at the Typescript level - instead we treat the entire monorepo as one "unit", but by adding `paths` we are adding aliases to specific files (usually the `index.ts` barrel files for each project in our monorepo) so we can reference them in our import statements. +The biggest one being that this approach does not enforce any boundaries within your monorepo at the TypeScript level - instead, we treat the entire monorepo as one "unit," but by adding `paths`, we are adding aliases to specific files (usually the `index.ts` barrel files for each project in our monorepo) so we can reference them in our import statements. -## Typescript Project References +## TypeScript Project References -By adding boundaries at the Typescript level, we can significantly cut down on the "surface area" that Typescript has to contend with when doing it's job. This way, rather than Typescript seeing our entire monorepo as one unit, it can now understand our workspace as a series of connected "islands" or nodes. +By adding boundaries at the TypeScript level, we can significantly cut down on the "surface area" that TypeScript has to contend with when doing its job. This way, rather than TypeScript seeing our entire monorepo as one unit, it can now understand our workspace as a series of connected "islands" or nodes. -![Islands of Typescript](/blog/images/2025-01-21/ts-islands.png) +![Islands of TypeScript](/blog/images/2025-01-21/ts-islands.png) To add this to our previous example, we'll adjust the `tsconfig.json` file for `is-odd` since it depends on `is-even`: @@ -101,7 +95,7 @@ Note that we still actually need path aliases for our example. This is because w import { isEven } from 'is-even'; ``` -There are alternatives to path aliases to allow for this name to be resolved. The most recent enhancements at Nx we use the `workspaces` functionality your package-manager of choice (npm/pnpm/yarn/bun) as the way of resolving these names. +There are alternatives to path aliases to allow for this name to be resolved. The most recent enhancements in Nx use the `workspaces` functionality of your package manager of choice (npm/pnpm/yarn/bun) as the way of resolving these names. With this set up, we can now use the `-b` or `--build` option when building `is-odd` - let's run it now with the `--verbose` flag on: @@ -122,7 +116,7 @@ Building project '/Users/zackderose/monorepo-project-references/is-odd/tsconfig. Notice our filesystem now: -```filesysten +```filesystem is-even index.d.ts index.js @@ -138,7 +132,7 @@ is-odd tsconfig.base.json ``` -Notice how both `is-even` AND `is-odd` now have a compiled `index.d.ts` declaration file and `index.js`. They also both have a `tsconfig.base.json` file now (this holds the additional data typescript needs to determine which builds are needed). With the `--build` option, Typescript is now operating as a build orchestrator - by finding all referenced projects, determining if they are out-of-date, and then building them in the correct order. +Notice how both `is-even` AND `is-odd` now have a compiled `index.d.ts` declaration file and `index.js`. They also both have a `tsconfig.base.json` file now (this holds the additional data TypeScript needs to determine which builds are needed). With the `--build` option, TypeScript is now operating as a build orchestrator - by finding all referenced projects, determining if they are out-of-date, and then building them in the correct order. ## So What Does This Mean For You @@ -148,7 +142,7 @@ We've put together [a repo to demonstrate the perfomance gains](https://github.c ![results](/blog/images/2025-01-21/results.png) -In addition to the time savings we saw reduced memory usage (~ < 1GB vs 3 GB). This makes sense given what we saw about how project references work. This is actually a very good thing for CI pipelines, as exceeding memory usuage is a common issue we see with our clients for their Typescript builds. Less memory usuage means we can use smaller machines, which saves on the CI costs. +In addition to the time savings we saw reduced memory usage (~< 1GB vs 3 GB). This makes sense given what we saw about how project references work. This is actually a very good thing for CI pipelines, as exceeding memory usuage is a common issue we see with our clients for their TypeScript builds. Less memory usuage means we can use smaller machines, which saves on the CI costs. In general, while it's good to understand the mechanics around everything, we believe it's better to use tools for this (like Nx!). This way you can off-shore your mental capacity to the tool and instead focus on building your solution. @@ -180,4 +174,4 @@ You can skip this prompt by setting the `sync.applyChanges` option to `true` in For more information, refer to the docs: https://nx.dev/concepts/sync-generators. ``` -So, offshore the mental load to your tools, focus on building your solution, and you should have the best of all worlds. +So, offload the mental load to your tools, focus on building your solution, and you should have the best of all worlds.