From 4406a7e681c1cf57c3ca5894f10dc622e1d52f93 Mon Sep 17 00:00:00 2001 From: Juri Date: Mon, 20 Jan 2025 11:35:49 +0100 Subject: [PATCH] docs(nx-dev): article about TypeScript monorepo package linking strategies --- ...025-01-28-managing-ts-pkgs-in-monorepos.md | 680 ++++++++++++++++++ .../bg-managing-typescript-packages.jpg | Bin 0 -> 126518 bytes 2 files changed, 680 insertions(+) create mode 100644 docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md create mode 100644 docs/blog/images/articles/bg-managing-typescript-packages.jpg diff --git a/docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md b/docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md new file mode 100644 index 0000000000..05d695290f --- /dev/null +++ b/docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md @@ -0,0 +1,680 @@ +--- +title: 'Managing TypeScript Packages in Monorepos' +slug: managing-ts-packages-in-monorepos +authors: [Juri Strumpflohner] +tags: [typescript, monorepo, nx] +cover_image: /blog/images/articles/bg-managing-typescript-packages.jpg +--- + +{% callout type="deepdive" title="TypeScript Project References Series" %} + +This article is part of the TypeScript Project References series: + +- [Everything You Need to Know About TypeScript Project References](/blog/typescript-project-references) +- **Managing TypeScript Packages in Monorepos** +- _A new Nx Experience For TypeScript Monorepos and Beyond_ (coming soon) + +{% /callout %} + +Managing TypeScript packages in a monorepo presents unique challenges. As your monorepo grows, so does the complexity of structuring and resolving dependencies between packages. From using simple relative imports to taking advantage of TypeScript path aliases, project references, and your package manager’s workspaces feature, developers have a variety of strategies at their disposal. But which approach is the best fit for you? + +{% toc /%} + +## What Does it Mean to Manage and Share TypeScript Code in a Monorepo? + +When you work in a monorepo, the goal is to split logic into separate packages. Why? To create smaller, self-contained, and maintainable units. This approach not only enhances reusability but also helps scale: whether that's scaling teams or optimizing CI pipelines. + +As you split logic into packages, you'll inevitably need to somehow connect them together. At the **code level**, this is typically expressed through an import statement on the consumer side—whether that's an application using a package or one package depending on another. + +```ts +import { something } from '@tsmono/mypackage'; +``` + +To have this work we need to be able to resolve the `@tsmono/mypackage` import to the actual file path. This needs to happen during: + +- **Build:** This includes type checking and compilation/transpilation. +- **Runtime:** This is when the application runs in the browser/on the server. + +In this article we'll mostly **focus on the building part, in particular type checking**. In real world applications you'll most often have some sort of bundler in the pipeline where `tsc` is used for type checking and the actual compilation part is being taken care of by the bundler (e.g. esbuild, Rspack, or Vite). + +There are several approaches to connect TypeScript packages in a monorepo, each with its own trade-offs. Let's explore them in detail. + +## Using Relative Imports + +Example: [Stackblitz](https://stackblitz.com/github/juristr/ts-monorepo-linking/tree/relative-imports) - [Github](https://github.com/juristr/ts-monorepo-linking/tree/relative-imports) + +The simplest approach to connecting packages is using relative imports. Here's an example of the setup: + +``` +└─ . + ├─ apps + │ └─ myapp + │ ├─ src + │ │ └─ index.ts + │ └─ tsconfig.json + ├─ packages + │ └─ lib-a + │ ├─ src + │ │ └─ index.ts + │ └─ tsconfig.json + └─ tsconfig.base.json + +``` + +Here's the content of the main TypeScript configuration files: + +{% tabs %} +{% tab label="tsconfig.base.json" %} + +Starting at the root, the `tsconfig.base.json` looks as follows. It is meant to set some of the base compilation properties which can then be adjusted further by individual projects in your workspace. + +```json {% fileName="tsconfig.base.json" %} +{ + "compilerOptions": { + "target": "ES2020", + "module": "NodeNext", + "strict": true, + "moduleResolution": "NodeNext", + "baseUrl": ".", + "rootDir": "." + } +} +``` + +{% /tab %} +{% tab label="apps/myapp/tsconfig.json" %} + +The application extends from the `tsconfig.base.json` and adds some minor adjustments which are relatively uninteresting for our setup: + +```json {% fileName="apps/myapp/tsconfig.json" %} +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "../../dist", + "declaration": true + }, + "include": ["src/**/*"] +} +``` + +{% /tab %} +{% tab label="packages/lib-a/tsconfig.json" %} + +Similarly this is the config for our `lib-a` package. The library package has its own TypeScript configuration: + +```json {% fileName="packages/lib-a/tsconfig.json" %} +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "../../dist", + "declaration": true + }, + "include": ["src/**/*"] +} +``` + +{% /tab %} +{% /tabs %} + +With this setup, the main application can consume the library **using a relative import**: + +```ts {% fileName="apps/myapp/src/index.ts" %} +import { greet } from '../../../packages/lib-a/src/index'; + +console.log(greet('World')); +``` + +We can have some scripts in our main `package.json` at the workspace root to run our TypeScript code directly, compile it to JavaScript and for performing type checking. + +```json {% fileName="package.json" %} +{ + "name": "ts-monorepo-linking", + "private": true, + "devDependencies": { + "typescript": "^5.3.3", + "tsx": "^4.1.0" + }, + "scripts": { + "dev": "tsx apps/myapp/src/index.ts", + "build": "tsc -p apps/myapp/tsconfig.json", + "typecheck": "tsc -p apps/myapp/tsconfig.json --noEmit" + } +} +``` + +### Observations: Relative Imports + +**Dependency resolution:** +Relative imports are the simplest way to link packages, but they are fragile. Restructuring your codebase will require updating import paths, which can become unmanageable in larger workspaces. + +**Modularity:** +This setup enables modularization at the organizational level. Apps and libraries are placed in separate folders, making the workspace easier to navigate. However, from TypeScript's perspective, the entire workspace is treated as a single, unified project. This means there are no strict boundaries between packages at the type-checking level. + +**Performance:** +Treating the entire workspace as a single TypeScript project generally works for small setups but can become problematic as the workspace grows. Type checking and compilation span the entire repo, which may lead to higher memory usage, slower builds, and sluggish editor responsiveness in larger workspaces. + +## Fixing Relative Imports with TypeScript Path Aliases + +Example: [Stackblitz](https://stackblitz.com/github/juristr/ts-monorepo-linking/tree/ts-path-aliases) - [Github](https://github.com/juristr/ts-monorepo-linking/tree/ts-path-aliases) + +Relative imports are functional but difficult to maintain in larger workspaces. A simple improvement is to use **TypeScript path aliases**. These allow you to create custom paths for imports, making the codebase easier to navigate and refactor. + +In the `tsconfig.base.json` you can define a path alias for the `lib-a` package: + +```json {% fileName="tsconfig.base.json" %} +{ + "compilerOptions": { + ... + "paths": { + "@ts-monorepo-linking/lib-a": ["packages/lib-a/src/index.ts"] + } + } +} +``` + +> Note you can use whatever name you want for the alias. Choosing `@ts-monorepo-linking/lib-a` makes it look like an actual import of an external package, thus closer to a structure we want to achieve. + +With this setup, you can simplify the import in your application: + +```ts {% fileName="apps/myapp/src/index.ts" %} +import { greet } from '@ts-monorepo-linking/lib-a'; + +console.log(greet('World')); +``` + +### Observations: TypeScript Path Aliases + +**Dependency resolution:** +Path aliases eliminate the need for relative imports, resulting in a cleaner and more maintainable structure. If the underlying paths change, you only need to update the alias in `tsconfig.base.json`. + +> As a side note: While this article focuses on the build and type-checking phase, it's worth noting that running the transpiled TypeScript code directly wouldn't work out of the box. This is because TypeScript path aliases are purely a compile-time construct—they don't exist in the output JavaScript. To run the application, you'd need a runtime plugin or bundler (like Webpack, esbuild, or Vite) that can resolve these aliases to actual file paths. + +**Modularity:** +This approach doesn't change the modularity from the relative imports setup. TypeScript still treats the entire workspace as one large project, without enforcing strict boundaries between packages. + +**Performance:** +Path aliases don't improve performance compared to relative imports. The entire workspace is still treated as a single TypeScript project, so type checking and compilation remain unchanged. This approach focuses on maintainability and readability rather than optimizing performance. + +## Improving Performance with Project References + +Example: [Stackblitz](https://stackblitz.com/github/juristr/ts-monorepo-linking/tree/ts-proj-references-simple) - [Github](https://github.com/juristr/ts-monorepo-linking/tree/ts-proj-references-simple) + +TypeScript project references let you break a large TypeScript project into smaller, manageable units. This approach aligns with monorepo structures, allowing each package to act as its own TypeScript program while maintaining relationships between them. + +To use project references: + +- Add the `references` property in `tsconfig.json` files to point to dependent projects. +- Enable `composite: true` in `compilerOptions` (this also enables `incremental` and `declaration` by default). +- Use `tsc --build` (`tsc -b`) for compilation and type checking. + +> For a more deep-dive on TypeScript project references, make sure to check out our article on ["Everything You Need to Know About TypeScript Project References"](/blog/typescript-project-references). + +Our workspace structure still remains the same with the exception of adding another root-level `tsconfig.json`: + +``` +ts-monorepo-linking + ├─ apps + │ └─ myapp + │ ├─ src + │ │ └─ index.ts + │ └─ tsconfig.json + ├─ packages + │ └─ lib-a + │ ├─ src + │ │ └─ index.ts + │ └─ tsconfig.json + ├─ tsconfig.base.json + └─ tsconfig.json +``` + +This new `tsconfig.json` is the entry point for TypeScript project references, pointing to all individual TypeScript configs of the projects that are part of the monorepo workspace. + +```json {% fileName="tsconfig.json" %} +{ + "files": [], + "references": [{ "path": "./packages/lib-a" }, { "path": "./apps/myapp" }] +} +``` + +This is distinct from `tsconfig.base.json`, which is used to share common configurations across the workspace: + +```diff {% fileName="tsconfig.base.json" %} +{ + "compilerOptions": { + "target": "ES2020", + "module": "NodeNext", + "strict": true, + "moduleResolution": "NodeNext", ++ "composite": true, ++ "declaration": true, ++ "declarationMap": true, + "sourceMap": true, + "baseUrl": ".", +- "rootDir": ".", + "paths": { + "@ts-monorepo-linking/lib-a": ["packages/lib-a/src/index.ts"] + } + } +} +``` + +Note that in the `tsconfig.base.json` we removed the `rootDir` from our TypeScript configuration (compared to the pure TypeScript path aliases setup). The reason is that we no longer treat the entire workspace as a single TypeScript project. Instead, each project's `tsconfig.json` forms its own TypeScript root and will be processed by TypeScript's project references individually. + +The `myapp` and `lib-a` configurations look as follows: + +{% tabs %} + +{% tab label="apps/myapp/tsconfig.json" %} + +```json {% fileName="apps/myapp/tsconfig.json" %} +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "../../dist/apps/myapp", + "rootDir": "src", + "tsBuildInfoFile": "../../dist/apps/myapp/tsconfig.tsbuildinfo" + }, + "references": [{ "path": "../../packages/lib-a" }], + "include": ["src/**/*"] +} +``` + +{% /tab %} + +{% tab label="lib-a TSConfig" %} + +```json {% fileName="packages/lib-a/tsconfig.json" %} +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "../../dist/packages/lib-a", + "rootDir": "src", + "tsBuildInfoFile": "../../dist/packages/lib-a/tsconfig.tsbuildinfo" + }, + "include": ["src/**/*"] +} +``` + +{% /tab %} +{% /tabs %} + +Changing the configuration alone isn't enough. If you continue using `tsc` (or `tsc -p`), TypeScript will ignore your project references and treat the workspace as a single large project. To fully leverage project references, you must switch to using the `--build` (`-b`) flag with `tsc`. This mode enables TypeScript to process each project individually, respecting dependencies defined in the references property. + +```json {% fileName="package.json" %} +{ + "name": "ts-monorepo-linking", + ... + "scripts": { + "dev": "tsx --tsconfig tsconfig.base.json apps/myapp/src/index.ts", + "build": "tsc --build", + "clean": "tsc --build --clean", + "typecheck": "tsc --build --emitDeclarationOnly" + } +} +``` + +> Note: `--noEmit` is not compatible with the `--build` flag. Use `--emitDeclarationOnly`. + +### Observations: Project References + +**Dependency resolution:** +Imports remain the same, relying on TypeScript path aliases to resolve dependencies. Project references don't change how TypeScript resolves paths; they focus on modularizing type checking and compilation. + +**Modularity:** +Project references create stronger boundaries by treating each package as an independent TypeScript program. This enforces better isolation and ensures dependencies are type-checked at the package level. + +**Performance:** +This approach introduces incremental builds, where only modified packages are recompiled. TypeScript generates `.tsbuildinfo` files to track changes, reducing memory usage and speeding up type checking and compilation. This is particularly beneficial for large workspaces or CI pipelines. + +From a TypeScript program structure we now don't have a single TypeScript program, but multiple ones. + +``` +ts-monorepo-linking + ├─ apps + │ └─ myapp + │ ├─ src + │ └─ tsconfig.json <<< myapp TS program + ├─ packages + │ └─ lib-a + │ ├─ src + │ └─ tsconfig.json <<< lib-a TS program + ├─ tsconfig.base.json + └─ tsconfig.json <<< root-level solution tsconfig +``` + +The incremental nature of project references allows TypeScript to track changes and skip unnecessary recompilation, resulting in: + +- **Faster builds:** Only projects affected by changes are recompiled, saving time during development and on CI. +- **Lower memory usage:** Processing smaller, isolated projects is more memory efficient, which is particularly helpful in large workspaces or resource-constrained environments like CI pipelines. +- **Improved editor performance:** TypeScript's incremental setup ensures quicker type-checking and autocomplete, even in large monorepos. + +## Combining TypeScript Project References and Package Manager Workspaces + +Example: [Stackblitz](https://stackblitz.com/github/juristr/ts-monorepo-linking/tree/workspaces-ts-proj-refs) - [Github](https://github.com/juristr/ts-monorepo-linking/tree/workspaces-ts-proj-refs) + +Modern package managers like NPM, PNPM, Yarn, and Bun have a so-called "workspaces feature" that allows for a more seamless resolution of local packages that allows for a more seamless resolution of local packages. + +{% tabs %} + +{% tab label="NPM/Yarn/Bun Workspaces" %} + +For most package managers, you can use the `workspaces` property in the root `package.json` to define the packages that are part of the monorepo. + +```json {% fileName="package.json" %} +{ + "name": "ts-monorepo-linking", + ... + "workspaces": [ + "apps/*", + "packages/*" + ] +} + +``` + +{% /tab %} + +{% tab label="PNPM Workspaces" %} + +PNPM uses a `pnpm-workspace.yaml` file to define the packages that are part of the monorepo. + +```yaml {% fileName="pnpm-workspace.yaml" %} +packages: + - 'apps/*' + - 'packages/*' +``` + +{% /tab %} +{% /tabs %} + +This approach **eliminates the need for TypeScript path aliases for module resolution**. + +```diff {% fileName="tsconfig.base.json" %} +{ + "compilerOptions": { + "target": "ES2020", + "module": "NodeNext", + "strict": true, + "moduleResolution": "NodeNext", + "composite": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, +- "baseUrl": ".", +- "paths": { +- "@ts-monorepo-linking/lib-a": ["packages/lib-a/src/index.ts"] +- } + } +} +``` + +Instead, the package manager's workspaces feature makes sure to link the packages properly such that they can be resolved correctly at build and runtime. This doesn't have any impact on our TypeScript project references setup which cares about type checking and resolves dependencies via the `references` property. + +> Note, setting up package resolution with workspaces is the generally recommended approach. More on that later. + +In an NPM/Yarn/PNPM workspace packages tend to be more self-contained. As such it is common to have the output directly in a `dist` folder within the package itself. We also adjust the `baseUrl` to be at the package root. + +{% tabs %} + +{% tab label="apps/myapp/tsconfig.json" %} + +```json {% fileName="apps/myapp/tsconfig.json" highlightLines=[4,6,7] %} +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "baseUrl": ".", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "references": [{ "path": "../../packages/lib-a" }], + "include": ["src/**/*"] +} +``` + +{% /tab %} + +{% tab label="packages/lib-a/tsconfig.json" %} + +```json {% fileName="packages/lib-a/tsconfig.json" highlightLines=[4,6,7] %} +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo" + }, + "include": ["src/**/*"] +} +``` + +{% /tab %} +{% /tabs %} + +Each package requires to have a `package.json` that defines the contract for its entry points, types, and dependencies on other packages. + +Here's our updated `package.json` for `lib-a`: + +```json {% fileName="packages/lib-a/package.json" %} +{ + "name": "@ts-monorepo-linking/lib-a", + ... + "type": "module", + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./src/index.ts", + "default": "./src/index.ts" + }, + "./package.json": "./package.json" + }, + "main": "./src/index.ts", + "types": "./src/index.ts", + "module": "./src/index.ts" +} +``` + +Note how it directly exports the `index.ts` file, eliminating the need for pre-compilation. This approach works regardless of whether you use TypeScript project references, as long as the consuming application handles compilation or transpilation. The package manager's workspaces feature makes sure that the packages are properly linked s.t. they can be resolved at runtime (by Node or respective bundler). + +### Do I need to reference dependent packages in the consuming package's `package.json`? + +For NPM workspaces you don't necessarily have to reference dependent packages in the consuming package's `package.json`. Like in our example, `myapp` has a dependency on `lib-a`, so **we could list it in the `dependencies` section, but we don't have to**: + +```json {% fileName="apps/myapp/package.json" %} +{ + "name": "@ts-monorepo-linking/myapp", + ... + "dependencies": { + "@ts-monorepo-linking/lib-a": "*" // optional for NPM workspaces + } +} +``` + +> The `*` version specifier tells the package manager to resolve the dependency locally if available. + +There's an exception to this: + +- **publishable packages**: Clearly, if you want to [publish a package](/features/manage-releases), it needs to have all its dependencies listed properly in the `package.json`. +- **PNPM workspaces**: Due to how PNPM links packages, you need to reference the dependent packages in the consuming package's `package.json`. To avoid having to manually maintain such dependency in every consumer `package.json` you could resort to declaring such dependencies in the root `package.json` instead. + +Also note that [PNPM](https://pnpm.io/workspaces), [Yarn v2+](https://yarnpkg.com/features/workspaces) and [Bun](https://bun.sh/docs/install/workspaces) support a dedicated "Workspaces Protocol" allowing you to prefix local dependencies with `workspace:`. This makes it more evident that the dependency is resolved locally. For example: + +```json {% fileName="apps/myapp/package.json" %} +{ + "name": "@ts-monorepo-linking/myapp", + ... + "dependencies": { + "@ts-monorepo-linking/lib-a": "workspace:*" + } +} +``` + +### Observations: Workspaces and Project References + +**Dependency resolution:** +With workspaces we delegate the package resolution to the package manager, making it independent of TypeScript. Unlike the previous solution with TypeScript path aliases, this approach works seamlessly at runtime since the package resolution is handled natively by Node.js or the package manager. This makes the setup more robust and platform-aligned. + +**Modularity:** +Each package's `package.json` defines its public API and dependencies, making the structure explicit and easy to understand. One important detail is that in our example the `package.json` directly exports TypeScript files, making the consumer responsible for transpilation and bundling. As a result, these libraries are primarily intended for local use within the monorepo workspace. + +**Performance:** +Compared to previous solutions, performance remains largely the same in this setup. The TypeScript project references still handle incremental type checking and compilation, which guarantees performance improvements. Package resolution is handled by the package manager's workspaces feature and Node itself, so it doesn't impact TypeScript's performance. + +## Using TypeScript Project References, Workspaces and Pre-building Packages + +Example: [Stackblitz](https://stackblitz.com/github/juristr/ts-monorepo-linking/tree/workspaces-ts-proj-refs-precompiled) - [Github](https://github.com/juristr/ts-monorepo-linking/tree/workspaces-ts-proj-refs-precompiled) + +In the previous setup, the `lib-a` package directly exported TypeScript files through its `package.json`: + +```json {% fileName="packages/lib-a/package.json" %} +{ + "name": "@ts-monorepo-linking/lib-a", + ... + "type": "module", + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./src/index.ts", + "default": "./src/index.ts" + }, + "./package.json": "./package.json" + }, + "main": "./src/index.ts", + "types": "./src/index.ts" +} +``` + +This configuration works well for local monorepo use cases but delegates the responsibility of bundling to the consumer. To avoid that, you can pre-compile the package. You'll need to: + +- Adjust our `lib-a`'s `package.json` to point to the compiled artifacts in `dist`. +- Setting up a pre-compilation step. +- Ensure all projects are compiled in the correct order based on their dependencies. + +In our simple setup, the TypeScript project references already establish a dependency graph. Running `tsc --build` from the root of the workspace ensures that projects are compiled in the correct order based on their dependencies. + +> In a more complex setup you might need to rely on additional tooling such as Nx that has [a task pipelines functionality](/concepts/task-pipeline-configuration) built-in. + +The resulting structure of the `dist` folder looks like this: (notice the `*.js` and `*.d.ts` files) + +``` +ts-monorepo-linking + ├─ apps + │ └─ myapp + │ ├─ ... + │ ├─ package.json + │ └─ tsconfig.json + ├─ package.json + ├─ packages + │ └─ lib-a + │ ├─ dist + │ │ ├─ index.d.ts + │ │ ├─ index.d.ts.map + │ │ ├─ index.js + │ │ ├─ index.js.map + │ │ └─ tsconfig.tsbuildinfo + │ ├─ package.json + │ ├─ src + │ │ └─ index.ts + │ └─ tsconfig.json + ├─ tsconfig.base.json + └─ tsconfig.json +``` + +To make the compiled `lib-a` usable for other packages, we need to update its `package.json` to point to the compiled artifacts in `dist`. Here's the updated version: + +```json {% fileName="packages/lib-a/package.json" %} +{ + "name": "@ts-monorepo-linking/lib-a", + "version": "0.0.0", + "private": true, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + }, + "./package.json": "./package.json" + }, + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "module": "./dist/index.js" +} +``` + +### Observations: Pre-building Packages + +**Dependency resolution:** +Precompiling dependent packages allows the application bundler to rely on prebuilt outputs, avoiding the need to compile package dependencies during application bundling. A [task pipeline](/concepts/task-pipeline-configuration) ensures that packages are compiled beforehand, streamlining the workflow. + +**Modularity:** +Compared to the previous approach of directly referencing TypeScript source files, this setup slightly increases modularity. Each package is now self-contained, with its compiled outputs and defined entry points in the `package.json`. By precompiling and packaging the library, it can be distributed outside the monorepo if needed, which enhances its modularity and reusability. However, the primary focus remains internal use within the monorepo. + +**Performance:** +This setup can slightly improve type-checking performance, especially within code editors. Since the type information is already generated as `.d.ts` files during precompilation, the editor can directly rely on these instead of processing TypeScript source files through project references. While cached project references can achieve similar speeds, precompiled declaration files might potentially reduce some overhead. + +## Which One Should I Choose? + +Here are some thoughts on which approach to use. + +**TypeScript Path Aliases: A Simple Option** + +TypeScript path aliases have been a reliable way to manage package resolution, particularly before package managers introduced the workspaces feature. They're straightforward to set up, requiring only a global `tsconfig.json` without additional. However, there are limitations to consider as they require additional bundling support/alias resolvers at runtime and might come with some performance degradation in large workspaces. + +{% callout type="deepdive" title="Isn't Nx using TS Path Aliases?" %} +Yes and no. Nx has been around since before package managers introduced workspaces. As a result, the default setup in Nx traditionally leveraged a root-level `tsconfig.base.json` containing path aliases to link packages within the monorepo. + +That said, Nx can also be used in combination with NPM/Yarn/PNPM/Bun workspaces, as [shown here](/recipes/adopting-nx/adding-to-monorepo). This led to two distinct setups for monorepos with Nx: one using TypeScript path aliases and the other leveraging workspaces. To address the confusion this created, the Nx team has spent the last year enhancing Nx to unify these approaches. The goal is to align with "the platform" by adopting and promoting package manager workspaces, while updating Nx plugins to fully support it, preserving the developer experience (DX) benefits Nx users have come to love. + +If you're currently using the TypeScript path aliases approach, there's no need to worry. The Nx team is working on comprehensive documentation and semi-automated tools to help with migration. Additionally, it's possible to migrate manually and even incrementally, allowing you to adopt the workspaces at your own pace. +{% /callout %} + +**Workspaces: The Recommended Approach** + +With widespread support in modern package managers (NPM, PNPM, Yarn, Bun), the workspaces feature has become the preferred method for managing package resolution. It aligns closely with the Node.js platform, leveraging native package resolution mechanisms that also work at runtime. This eliminates the portability issues inherent to TypeScript path aliases. + +When combined with **TypeScript project references**, this method becomes even more powerful. Workspaces handles package linking such that Node can resolve them properly, while TypeScript project references optimize type-checking and enable incremental builds (for TypeScript). Together, they improve performance, reduce memory usage, and simplify dependency management in larger workspaces. This combination is the recommended way to structure and manage TypeScript packages in a monorepo. + +**To Prebuild or Not to Prebuild?** + +Prebuilding packages isn't always necessary. Modern bundlers like Vite and Rspack are optimized for speed, often making in-place compilation sufficient. Some things to consider: + +- **Cost of Prebuilding:** Precompiling packages introduces a small overhead, as each package must be built individually. Tools like Nx mitigate this cost with [computation caching](/features/cache-task-results), allowing you to skip redundant builds. If cache results are available, builds can be significantly faster. +- **Selective Prebuilding:** Prebuilding doesn't have to be applied universally. You can start without prebuilding and add it for specific subsets of your projects, such as the leaf nodes in your monorepo's project graph. +- **External Publishing:** Prebuilding is essential if your packages need to be published outside the monorepo with tools like [Nx release](/features/manage-releases). + +## Are There Any Downsides to TypeScript Project References? + +While TypeScript project references offer significant benefits, they can be maintenance-heavy, especially in large workspaces where their incremental type-checking capabilities are most valuable. The challenge lies in keeping the references array in each `tsconfig.json` file up to date, ensuring all project dependencies are correctly linked. + +This is where Nx comes in, eliminating much of the manual effort involved in maintaining TypeScript project references: + +- **Automated Setup with Generators:** Nx provides generators for scaffolding applications and library packages. These generators handle the `tsconfig.json` setup automatically, ensuring that TypeScript project references are correctly configured from the start. +- **Automatic Synchronization:** Nx includes a [sync command](/concepts/sync-generators) that is automatically triggered before critical operations like building or serving a project. This command verifies whether the TypeScript project references are in sync across the workspace. If discrepancies are found, Nx automatically updates the references arrays, keeping your configuration consistent and accurate without manual intervention. + +## Wrapping Up + +We've explored various strategies for configuring TypeScript-based packages in a monorepo, starting with relative imports, moving to TS path aliases, and finally leveraging the workspaces in combination with TypeScript project references. + +If you want to try these approaches, check out the companion GitHub repository at [https://github.com/juristr/ts-monorepo-linking](https://github.com/juristr/ts-monorepo-linking), or create a new workspace with Nx: + +```shell +npx create-nx-workspace mymonorepo --workspaces +``` + +> Note `--workspaces` is a temporary flag to instruct Nx to generate a workspaces based monorepo setup. + +Also check out our docs: + +- [TypeScript Project Linking](/concepts/typescript-project-linking) +- [Switching to Workspaces and Project References](/recipes/tips-n-tricks/switch-to-workspaces-project-references) + +--- + +## Learn More + +- 🧠 [Nx Docs](/getting-started/intro) +- 👩‍💻 [Nx GitHub](https://github.com/nrwl/nx) +- 💬 [Nx Official Discord Server](https://go.nx.dev/community) +- 📹 [Nx Youtube Channel](https://www.youtube.com/nrwl_io) diff --git a/docs/blog/images/articles/bg-managing-typescript-packages.jpg b/docs/blog/images/articles/bg-managing-typescript-packages.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dd0d737b7a6fb5b4a6d0e0796167819d62fc8fbc GIT binary patch literal 126518 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%0AlL^NCo?eA0RLIYrGDg>83Bsou2cR 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

_qT@LI-tnb`a0VHe7Mq5{|EV*1lgt0U}MxbJ!*G z7O;to5q$9a+T3$-HNc%B2!_92I`Wlg-S`41yv@)~*=x?ki?~D6=O$&5mKl7mxi#}e zZfbds1t~iTe&^TPl~Gq>cHggHg80mTfc%6l}9A55nqw@)@=>QmfBC!Hn0l>yE5!-zxYdDJk>&~(i zPT3AA|KyQV#og#5)@SEA%P*Z&FPx}QwHKM^WX~r=JS(jGUjEQJ^G+#j)!hBvL3!y8 z@$hNanvfGilbDR&nM~dll;`q!pRB>`e^t>Cyuy3y+!{A_OI5$65q9vlL$XRwGq2bS{5PBT6FVn0txMF1oJ8oAd*yk*uXLD@H$}>Ym)7d(KH3k6Mm9MZS zpoL#>WT10t2kTcK1K=C_+zT1w7?F1;a%K9sI3y?JRZf=<=6Li9QJ^)HN%sm>{*O@y{`OX8 zjQabJR`p>4xswKf(1GWYP7P* zxhZ|F;&Y8KWzI(_xh*4YzRIcyZ2GbX?k0*Y91Wo$n?v@!%yK&WOsMUJ*V>lpV)Lc} zVv;m@cBfZf9d3g!YIQEaLDtT$?y^1qH6Qo;@dAr>wPQs(xBqBj-m??l>BBB?w2X7F z7WhWi6_9 zuMPWe&<6f2YTGJtaGk=gbfI`&;`q?|Fj{;4wNoR<=|B4?-bt9v4w|`nY%}c^exs*H5!vb{E#g4ms0PcU-@dTSgzaSAtW<^mXTOVmMRVBRx&B zb(C^cqSu^xpR_)FCD-GAOz8B`$;_0!o{@WLg?l^X{;pW1@yDr>jZ8Hh^7S`oP??T>xC*R02n1&F*S=4(p4s#c`Rk1K$`ZZ$1V4MuavhsfDxQeLcY55j}tC7l97}q|3%er_cWTJW(R_k`>mkGYQ(K6D7ol z$1D?1p0+2LgBoyv8tPh$tx1mpk7r|!Z}=L6Yj2gHMLR_pr&wdI^6^r7UvA`dL$0mD zUArT<_nFK0BG9)UJ|9EP*jb%pgVK@sv zk`BU37Rz4@EiF~0;Ic9=W&4_!zo2igsl-J@IDQLM(%CTa4aGY&{!ZzSZ#+4DC}S|p zUBmg^EWiPcPP|s-d$f8{E~2&`XrH|Blo8jFn?7Qi4?%wMamg=uusTMjzw>mkN$Z`V?Y)Ap7xm{cm&5F;mGrf%O{AbCq4Td?k^mSZ z0b(VATB!y1`opg;^{s(#_%dC5bQNf9x>;Z%z|Cu0{9(bxmxU;nMjiCtUwxvBi?8*T z+?+E{SVCY)2KNOkJS#}Ze6S?o6-KXnBV8uDGZw3t_&uS6NFdLM_&;_M#X5IB4n6?_2j(uUig1qt~)>FNt&PEeha5UAaQ)bjSK zM~7@GzYB7DJPae&k*sD@cz}WQ{3YV>NqL>Tj_hWhb`_&fn--I3RhK1V2nj0JIIGNG zqv_+O2mF7$^a*#ToIJH|`7#NHwI&XrOQnt(M}9w^Vg1R9<(UBTnT!BHgjw0_41Y?4 z)Bcxj9sf_l1w*B;F4(S4$U&@b6?P}b2zKV21*0<0{Z|hYY;c}P zb%~ErmBO4D%bQLP`A@luX_ zwl6bO-tP~F%q?{cKaQ83xxNODK}e#fuDqELcM#2ShD`N{jN+)iJjz!J`DDw8ys6su zFcAAVdry1BrC~3v-0c|u9_}Se=eC451%7O+a+;R{!_h}R&~DdXu17y%AE9E{N^=>E#i{zbr3CNJ$Ij<*qsEyS(q9a6tm{rzS#_0Qtucq(vWMvh|L z`e3NrjSb##4d%;VT_K?Ua<)3CEg*sk6n@`!KsN&HzT?CQ^!~y!k`upGJ(QnBS;l%= zfnQOR>CAEo4wr4OkQ2tzE||M09Eoc+Hm53t75XVVRcL>Z*w=Wou>9(i+7;_e1$=|u z{)6#6c_jd(Y5A*%my|$)x_tuA2RXvenXg3u5Apxnm75Ckp)N zw!V-$tj0lkp5V2?UyXHg4AOfIQhjIYClbeJy@wIU0rHr-o)E$MRM(7sKDmR~+-C6E zCp3&?xd}qPcec!g;S8@U)Yx1$8sG)1a!y{-B?iU?Rv-h}HE~<$pyf;TSy5vUFm*%s z*@lGbHn)G&-hVdfaf0l@g5NC z^XU=n@UeC_h!0c?P1}TNbx?A7sf$r7; z-`k`fwlo`yQ6lO42n5hQ9>MzmCCa5@|4T%g48t_%tRT66w%_7e^nt#LK}q#pY1ZaZ zG}QkgzuGxg_-Rpzwt`3v6R~>tY#ZeD1xv6%AUW!6kjOKe!Zr<4QFm=PP>D1bXHj z_^hPv;Bh5zm_cPbi8%=^fmQ9V(H|Yv8^>0Sz^L@@D z65ItXsCBO8k6!6HWb`_S7*a2`+5oOol$X)R+;cIVE9m4a{fW&?`Dwq`l1Ce^P3m+B zl}E+fMHQM$jTNP+71loqYw7!_Vx0Ndl(WdXmRu@9DDJp@^s0++Lr`ta`zjMy-&vkF zz)`v`F*&R)HVYhp!vt8X zI+RKFy5cvxxGz!W&4;snikHrDb&gIdzx_PF zMv-&!emVs@DcXHVllJ=In5b5<%6q3q4u#G|oMd}^p6xYS1q#$S=D>B?sd*8q-ftV| zfX2!130JN_>EoBz?h^Ql41zgJy)>O)CWnnWiriL_L(_&N%4nNB1mkak2N3qHh{o2*;`U4>r=pBvZw}7QhTG?vmuliW^(MA=ktqs6*g8*IF&HnNg&3)^}58U2-;FL1)_?v!R}c;kDwh zCXR+`_+|G!?kg|wa5d;XiWy}tK3x}KS{U~^44gl(1bZ+WB+(NzVLXE!>6M2V!()``%=ALqUw41^5d~QzHrl_a;&TZ!y^a;g#x`~f z?oMZsS<4!(7FBYrUI+XW;@W(lFD9ll=>@S~EB)%lR}qjNBZ|8owHO@0V@-X}!d;9; zpUaRt&E)u-acwY{1U$eJgRS#ByX})kn7o}DJ)rCqDNpp$GEhTeA>cm#Yk$VqW?Qyk@N&IT+qQ5Po zv>P>O8l_CnDCGq=!{804MKUA%-z{6ums({R%E4ahQ^8l0Y`8!>9X~_X3+7^DI|B&0 zhk)F(@AHm1*>-^~0)8TC5(tl{J$(ztoMF}Cqka7$ETi?yJ+mPi zr@dr#{<+=I`f7Z-v96SGzL5$J^eN)R0>YSA_(EW*s@}`|F$OSmZiPA*cdg5gc?o%+ zzvR*7_j+PtOO*S`3m$+6j4*DmLoW8nj*<}u$`BnwANSGCePGOz#A-R-psTd8bbXr9C4GrPVFtII|r%`m;=cMrs6`+UNlda`BvL9T_$OG%PnpL$PK~c(ih0yi;mJ{a6yv%ns zZ)yetz07&P4G-Q6Oyzy**R_7PM0G|^A>2M?x~=|SDqwG@`|iGLv>gkIE+95@4ptEN z3GEvHeClg8?eHRzejU6lXc59I4SMZvo?i;s4)DiPrV}{ZnNW8ZU**bZFoD0jCw#rv zNOSv&c&2uiH&>;tVM?1=L4Sg>!2g;$DBA}0V92fR-CX`)t6KS@PpDbjl(Rl>V@u+% zJ$lsZKq5jLSZBzeX1@#oIH{WeL!MHg&p8vJ#gM4QE7pq{WM}kn4SyqbCvyAlwI*`w?nOrHP`2@&1-^5V=Q0eJDko2`BQh86KbCgJ?7~(pj z0FZC!1Cdpzt*zrV!iC${kXn*>SnV}Uv4RO^rZW)->8*6Ipqqsh z&%b{rrJT&E_CxOS#=2GcfpcLKEr>z%rNR|2(H?pU1P8Oq=qJ2&;B#g@_i1cmOq zgw)hjnSM2Eg^1Juz8Q~pYTW$5rD?rJ#SNX`R>D{>d0r9(D2dnYx@RseK^)4~c2!Sc zYfRA^A5GPueQ(!3&;LE)*`q+{z)73Jp2eH)P!;m=UJSrQ?@$pD%*&++x zrs1&ZN6`B`!y)@JgA(pq)$$H`3{F08t(PZXQ#^fV8k2cJhJ9MEhLMb{jO4P^PwFim z725zZFThw}Bj(4MjU8}1ty|_&d*Ed|3Dofvnp+>9o<374=Xsc?i)l>sJ0V%5JC?mt z#-y0x3vgwo$2D0oJ49DCvHl+LG6miMmQgvo^@R!>Jq*=SMfdlp4IZ`nN8gD^c;t|v zI5)sRX()#dI5kC=go}tPL8$=&sv>*Ba65fv(4C$6+z2_td##8Ns%48ie~C0cT$OYB z(UTM9tVIN*92@i`P{KnIccC&uvWOwl7S!=yBDpLw#T*>v4S@VnroeK=gFfr}OGKY- z^9nJ^o{Esez@f~^`S zh;?M^jk~7dCv<<3B`NzT>u5Re8Oe6tu{17f9i{m?*?)z8cStZRE*;DUoO>(X4l?~IEf&|k@V!%ag*;>*z(E- z|7g^VBnItgC7n=S*S%jle57Q*r#uosj+y8-Ce=|a7lXcL8A-uLbSELC_%5n1LPzr8 zVpFHAr;hrEuUqJ1VoHteNNwr7ANO}~3Qo!yp-H;ug$vSU^o9_1loovVbQrq*KJtd1 zP=de0*`Q%+mR|D%F1oR_fmD7BOZ>jdrC$?{c`Hdo&-nFmyM7^9vG0UB9e|0pp2qcZ#-+KC$VvD$BWdRR&yt3J3UryZT* zc>e+M=Yk%M=$EhmQ)D$cM+Go)pMT-?k0SlQixL0Nt_=S&zZ~HHFE6NoKSJF%VUgTN z3O*@>PH)hKMA?l7#2whL^L6kgIWQo%Jq=WQKSBTr0h;=D>n|n{>Z|L7#SljSm|#zT z1(~L(Y)1E;$i6>;&<#;$p9WJ*P^s`)qy+21rk7C3a6ltI$?pM{@x*yQAH$;#rqNif z2wG>iOH+f2NmFqAx~lb+b6PY+Haf{@ufyhy_@|1#bmiR9gp#vVFDyMX`$mRS4n3xM z`5~wcDn4m>AU~3WV7IFQnr^gm(iZk%8<_;UJ}YVp?yp3-orny49c<$@`V0?~B*aMM zWb%K6**JSq$a)tzX%L?{A9d@RdmY557pK(ozY0P*NAQBng? zhroA$Hid=36y(3Wo%3Jcev{DMi+ut`InMzTQGjJQmKLA^J$nK0XJ+t;z>sd@2r$7; z4*Vn1Z^fNAae#Pa8L!|T0F-orEYN@8>n0z&)5l{BS+LOxh6(TcxY4)HA1@H0(uzk?_+7(QB=6fPZk&BC9c+|D11MSwfCS@wJ~|+2U$ACxktA4lszYUFbfnO?>(3EKfIED@!8KW)l9^ znLG3%NVQc>Y4Ska%&AMaMyjbgTZ9MTsNCQlKuqAjikHE-0%#m9w74uxdbr>YYGz;D zkOZ8y)akXtLe~4yOWZsGy#Ko~=idaTsaIj^fjkB`O=r!OJ!@f1eN+kKh&5c)>JSAo zA@t-+g{1LO@_jMmrOuGol0>YWPo!5ZEooKg$BHN{R=@uXcc=vu(UFU;ym~*+(gxkQ zlyfgfF{ih9xgTvH6a8l|E628ECCPe|SbT;we3OaV!ZbgyX&@d~fbF*6bD5HYrbN=Ys4{$qon8U&z7a2bHdSz0PsYn%k z#k9M*u>Vdi?Tzy&iZd7TyJE?{((4htQ;CKf?T*gpoE|inWVv{jsbfNVvAKN%#>g(M zW@-6_E61a|-WIWFGX4)x)L)_)*e&sqn2G|ZzWE&!-H>ZB;*ZNQL#(pl)NAqXBl3O* z!?2q61o7O6AaP)Ce2gEHiz&DiGym?KJQ*(CEByc#!-1B6{2bEqReprW>S2!|ZO3Zp zq=DX=Xk?BMI=lOcZRY0wV^y^au>o@?uJES=gbeuiD+{yBaQZ<1?sQ3PRrV0&)6UsPoEZ&OeU*;_x3^*zg@(T% z$r~^;`^)p2o7E~V4qvD4aRy{4y!i>vqZ|ZKE9d={vcCK)OY})iqq-9(iY3>GE)|AZ zuiI;{?dzeU7A1#uQmhHAHZE=UxM90lD%N5{?!A%Xf0$45m6WUQ=r?^o>DUlSty}NU zvB}j^vOA%B&zU}q0P>EGfw$fTt}O-9)-^@#Te(Q-llhUH0@uOW5TJ!&7a)tvT?54^ z&;ZX1+IM4|Q(wJXXJJt?EnP@P@-Z+HL!hr>P_>`X&}W^$g+=J za*1+@SZclOr+DIv>YqG)4>`*6X%(^e5XJax!adxRy^j2jy+uJDE>&u&;m0{LYzz204}TK~fO6}HF*-R{Y=*zT zA$hLyH03braqcsD!SR6WXq!&REvNRi`!k+-?wqws3NiBwhdk?-_hE(S zz-$vDe*`FDKDpWXw^yCuelwMK-FWlL{3VyFIuVTuCwUKFd1YwcriZr5KPc{hDgeXX z@$u~&<)*M%5obKL40_-UG`mN5(bI%$kMdmw1@L2$n_2L3ro-iN9tNKr8L|X z|ASgV1n5n_orRr93wHB!KT?=PqC*$sfr)%Fe>6KmlO_zbcM3~_L+}l-4W2dbi%s_{ zB>c{Q;l#iR3++dA=mfl56Tx*71mL&FoW|qM?60OA4lP*y?UJpy3Jtk;^lZ!Mu!ks6 zF%9DtgPD%zZ;Y`fby1k~68W1#M6l)32_uFvQ1VhHz;;5&L;Z>q>6;%tMjStUP?h+Yn5MsMXq256k8}FUO4#~cK+`>KceLGms-OUG z4q(3>AcxPSH+#BS3$DCviqZc8O#3UmuUpmh zx8zCuU66$wt(TAUO+fKuk{5a(BG}Qbu@}5g$VEh43{bBWwqN_s(#V}k$%m_+FC{wo zPzBZj5v~6l2p?Ajx+O@)0-|M=@@cE7P9HG!`_3*B4X+nr`ya zvKP70Y?>K#1lkLetZ#+GD@}R1?Ji}jwn@K_ZCp~FUkT2@Y}=!oS%3|GL1Pp){x$W2o7>dL&i;wU{tfqzvWlRA zW|gJ6FUlB+snq=JPJxOvBoUU9)92#Pwv=x0|h|>&oVKGCfpH2AlL*61}aZ zxWgQAK>x1!?8B+v4-98<^7ysU-*E`(Po58#F5;3cECvArgXFY`F?+r z@up^3C$YISZMXEIpEpP`^E?y@>Lv#+m0`2j`9F(05h|Z3ebs;R3op3xrr@YuflI2W zvkH(8NK}yAW|e=l#f_uk^MuqVg3wj97V*@dLP6Mh<0DA8!hJ4k3^oS-M6Aa~!Aft} z;;lC3uZ7TgVsSZ2p9;Ty{QDSIjeA&8w`kUyboN2p|1tngNu!S@s6L!C|oy_x~3UMss|AF+@p+Bok5dVDa5;a!Gu(7F-oNf)~Ss)wKul5i66H0 zln@x+j!xy@X3|x`4hYc!(nX*%haPn-qwBfwYP{m&b+ zbvptJKI@8ajdjKlpyhi$5C(tNU(=tTr5iS7lIB{d+RK#xM!|i5&-g~gH{mk-3(u+K zrROyr6RNr|K3=<(GE-7Ma0Z^YSntV=t3-K-Qa5CLGgP;N#=bSx4Eb6@SPyaCOW79e z+)Z(`=RxJplM%FPVKeN29El7r6ETPX3fovv!@E`iOOg+d`fj)X)X(OBN*;D0^@y-X z2=oCW(s;2O`=pUWkfe?HA{=)42VogvbSG2#t5>|?tc*++;~jwf1KkHak72j3_%Sv= z0i+|&XLVlrdp}FGzkm4A_-2I0J*P)=TSOaNS?MKa;yLC_obF<8s}K%fxxNq|gs zpJ4=!DxGgt4oe?>W95tdMc~zKf&_p^!sUFhRlCWmcX9-a<~aYz$VjpTd~i)v-0*){8_;Ez5c}Ok)($SRR#zAG zr!iw%3aOap1sIg?YQW1Sa_7LBjV*TK&bOD079RhKUY~Nh$rT*Re^eO(qz?fUXpg@{ zoto>yZ%xfjLf$vF39_lWPD}M_ziOL&_25);bUt5l{+qSg|5|dW>j@_$Ey_UFSQu3AeQ|9b@wIkQ0@KyW8Wi& zq>!?Wr7VN8i?I)8#!?efN@lDn63Ld7$eI{J%#1Ce$WoR>Dk;XGB$e%oC`x3z|L+;y z``mk<=l9(E-2b!ue$VS==A1Kg%$YOi^Zk6@pZDi;zVGRo_Us^0@!KxPJ^-###@BY4 zy%W%2GJDQwU-UIvb_sv%c6IHZ8$eE_ZKVU@Ugh7E02ACFFS)D{T)q24WUetZ7nhz_ z(^t?mJ5cOwHmwCdrX47>hXaN7yW!vt8nd!fYxkR$9TYFD0@ylQyO=fQ2Riz??aSlC z_#IX+&esB&*Lrw7Yv-72Yu#AH6N9nkrf2uUzeaufu(oyac6pnUcg4`4#tLtUwx!k9 zFwtAUwR>fLl8me7XA3TAccEpR{@VH3w0-OfKX1YZv$6Zr2M=}ZdhmRJ=RwdcdiN#! z7%Qd2sLOM`7rsSsd@O%!zbtWa`R2R2Pt$?n{3}f5i(g0VVjl!OMyA`Ho;!V6U~4uj z>ul}kh~r(K4;r;E%k96^Nn5=0u1tNc%-irxc+&sqJsRxiXWa2 zT(Sn}yx?suz3S<6@$9ZiBJNtZu!3!uQdVPBqa1w~_?z+blOg!tJVKx(*Way_PMw$T z?+L$M_%LDT8>372hct6`OI@^fJatNP5<(wJWVy)rB(9OITiuS3LR8E;s+?Z9%B^Oe zQNKBO=lZ)aqR&pQXR~4tcOLqVoqASOm-j4MwW!~$9DeORX@}2MDQhXKuGo=Xs}!JD z(BrvBowNNRl16;4)RxpIudmrl)P`)ludyk~ZfnGblF z@7U=8KbjHwV#EBj0myJJ8EkPGm~a*MQ#YwddeSf2Tzi$x2(#M8I?^xKg<0OUV$pR* zsF)}su{}yBcwX?X#rV71VGp*yWTy=VCFKaf9QH(avi(UUw3< z@bx*VWgZHgxqCq8#H5PXdjpZR=Q$f@?{$_1t!C_<~mLs1)OWq4oSloUxjU3 zz};_~V!v2Td|a`**->)fRj$f|QROOh;>VPymP>Pp6K!Q?9)z>KcSJ~U?!R(5{*LQ} z7gDI@ss7RZ{x@=MGc6V{2Sxg62Gs^_F1uPqg4TpSwLNhec%VX>n-t1;nI=$qeWLl8 z^kp@6o&HX`(S9y40lOp9FN6X(aG;&kGBLX8gE}Z+7tk8xSMM~99{kj_8ixK6mZyB? zhrj>6Nu#uW>|=+SH@C`L{T5Ai?at_wpli%~N14^y$Ig%B=ei9d7G6zwwRo~daY}D| zw7s~rlyjA@Vlk9GYc^`?A?XAPeroB&z>v`+WzEGWkM6l&*~?$ck)3^}Y#AT^_(%hw zpRB@HnHw*!X0L5e6kkM0HKl3ZrLskRlpDWte9meyGJ1x;s60E|%l4bn)u#FPU=-&$ z`ZsB047Dfp59U@qUrDlhURJmkZ@K8(IJ!y=AB}Pi^D+2x*unNB=b|s*p#*@?4Aa;0 z55N`6E*SKEUg~di_|4|V*9p1a!AE1kTm{!Z9NF%IR^}^y{CJa!+e3?aZz+S1Vy&y0 z$QQaBKgGJtrk8Ctt@|vebAHR?2o;B=t8eCq>-b-Ev>CXAX?fmd#kM-lhLsEowP#5V zu?${+zQTOBY2b4!#`7TmjWb$qf*ifaI?P15Syhudo8MnW%#TybP8&b{#&a0((Q%@|W(C2r#YY1dk_!(g!Tr+( z<*TJ_q@6KaQpFQ)JDW3&oGFA!`WNx9a976lwMp*je;IzuqnQ6fqY%+myx~Dv8tuTX zV{7}YdHA1Za=bez=5+6Ddk8oMzt&4-vS!T6j@?&GLpmg%H7$P3#G_pV6OXQDu4tYS zdTSu?yyQ$ug5{{?sQW_DkFdMXSHIkneAu|FUt_aIn4cXTL|vED$7KMty!QdzVyV46 z^);%msbY@6=bT$*S~B^Z1cZhr_v77K_ics zdI?1owR=f63wphmd}Xzl^tokeLk+ijd*Pr3Yil_7lTEx~HKrWBF=t{AIoZ z-9mT^%GLp|C|&397k6!tYDmoEZ7;aYA$=sm=sDBl{jZtzO^eIi(kI6iLxTtQj~(CY z84Wd-a1?9Ir`IhjPSn(xhOx9>b=15i-U06$9)*P}vf~nOo~`a$)Op7rxh7aUyXivU z$=bU$_@f=IP4ff%V=`xo zsEx&|@y|{s3h`Uyt=Z!37bWNERsl`t&dSxCYg7o%HSas>o;NtPX`lP^mw@L3F#X7a zWa3S~vt0(f>7HY=r_Sd)@#=O=Y#&vb`eCQR?8oPQ_iTp&NpR`XaPBhq>+p&3a@Wys9(rjY% zJ%_gk{5Yq&UhYS4-78Xkbz}P;acR@FZ@TlZvy+_^)`qhky5y%k&h&bn(74f|QAIOW zSnW@Ut619TI`)ZWcxS_@;VD1<$^P3!kyGYt2W(E=vo1QQlPE1fcKe~m@)i9@*fC{& zuaqUH3p@G5>U&7Un2f%0x#=ARR)s4j zDJ$2P^(owziLU~ROeGIqv0dSGy5iI)A=9^l7~vNnu5ry0DP?Upp7_WSG(}|KV_QF! zr|;m1QthXl*tM*U&$`yVm~zM`M__;%q`{%Vk`%P|q^e~Ii%X*VqByyu^o$ivw@Oyg zOe>(~D5o0#>U`B%jW=t(_!PaFNa_xLHTkjHjdx|7c zEPkUV__TdtCOlR$%v|?alQaF!b%(lG<8jr4PQiB`x~P9W6RH^VN>}U%*Y+iqm&xDy zl__U-efs!-R{tX`K_g?P@#&dIJ}usk#~(FIU)?jYTjHJ*;oWq&&EoC1Xw!!lj)d+rq1Kuj5)-W8Z>xGK62HPUtM$y!!TPYwe1h;(P6$J>5TqP06z* z+|4Nzr!TbIG*$<0(#9qlNjSwHk>EQ_Y?_jTRDGQKC1e(D-{o$x9C#L4tXwd7?W4@i zm)C>z4)~h#-{f5KxCLf^laQdzJS!OXarro%|7}3a$ZrG3!n0xX6_m58fKx3+1#%1;itag+-1A%&R@Ta*RUTW*)zZHeOF!Fp_Sx$$a}hUc_ySTTWCfeSlgecIsk zh}&^6+ZZSe;a3Y9l?Y4Ialy7N0pxmT@3O!X0<8f)%aw&CQB2SG8n(0K@_ZVv3w_sl zw%v&~I`>g&Oz@$t@#VawC^gP6vK4(8y5_N>wcaJ^fn#kJ)$FDsOJ(;?n66&he&I!! zX;=8$z4x3+%O`C6S2$*0wNw%Y3d}a->$`i>SnFz1w^o^~zMElUb>C5a+{xh9wE`F4 zJF`b-UmcsVI4nN9_9=;jl*iO1o~}*eMdaC9|y1HN{xURPw@jC`xgGQE;Y9Cnf$BrUw*T-5RCV`c=Nkw^V#w_MB^SfE^Iuav0K9lY}yRV z@!9a%0U4plR9|wZiWnY-C3a?Cvs*#}WxI6I2(9FKTT_a4;|1+?=vgKfh?B zNqXL+3)Ez6GFs7&RT|LnZ3ONvRyG1RSka^bIblfd&?k@cPWK(kE7Jib)&m4h`YVEF zx0}=}BYaw!>;UXS96?wWPLpSdr7}wQM{sC!6fzD>>|d1@VF~0zAe9!NovW-O2sHM7 z3D$0R?X2a+JokM;Sw~Li)Md#Arw~X{`ZaZ43WFeh$T6%%nZOHRe zssL0m)-|3$9iI(+y9<|ZzOTPiK)I^zas8CX!H-)`ll0y=Z?rEemQSCV9G(lxnK^wd zv++wxoreMTbWsry=73+>R=n-9kvLe_c-1=a`M@{6vdQzj?j2eIKJ7ibZ-7tc5C&u;0DN3mlUQ+VXikB2G0yLZ|O&slT#{_dCBg;aglyc=?p}IemwE+#r%>8M;m z8w2TN$IH1li38qeU9XiK9FRS6hbK1vtYKduoXN|M?iaY(gcLK@IT&4Ft7r~>Du@3; zvQdFhXGj#w`e^ipdJcRjR`e%PW`}8={q!%*rddTpFQXree6BjZa-jri$JStsYocfC z7lZ`{jW9lYoJfIhF#kc~3(V=2e<=aX;;63NrCRxE*?%x>UMF1d!RH%%J09fT{%l4F z|GFwZB)zvo^ZIrUHx6YX72T2D5A{k@f#*XKT(@_{#^{QTdvP4qIz^1xcx8hll7nM2 zEH&OA*6Hy^-GbkJ90*lbZS=CG`>?C54T37UYz%mTfk;prKy?eu}hE4RP$!v^MA! z8E5z2&&S}r)4+L~VH@dWL84ZTR=@_9^&i##Z~UlDgD-yN(PkA@+enw`jJT5u;D=l>PvfK;vcjZkqL!MFm zI7PXHd-5Z{uowM}>;5ZQ1>*kTOZduj#_l(Wnq83*Nw2l#SC~qiu3pvZ*<9``TMHT{ zv+thu$oq}7jJ=1Mlc~a!0M6apXc$AWkHcZ7-_9L8&?~kTGHBuU9*rb0iUQEJ}VOp>C!b+k@$!O;z!!zgRwT0bG&35!(|J{Vlc z1^eK&b2Bv^h4Qs1JvFB!h0*^uN;=!8?5xyTY9K%i!f<|=S6mKmH;D@}G=LEs`U*5g z8+`^p+sZAB1+;(Gi2fQoPgyozqA!~ViD%xFJ80}WyDa-edRF8fdvLYw>W0SS;NAYp zwN6*HZe7KjQ|gPUc2@Go?wBNGZmv=BPM(V%xK+OU3E%dD(6qDK&x&W=Te*!Mr5LQj zuRJ*r3`9}R8T%9y1zOpe&HSGH#dV#**B}pnmQ2nhr`SaNC_7jc5&H0lS3=z- z(}@?#y#>k=rl)V^n4kAB4Bz2g^L-~d?Xc(}ZJjb#t2*nNfakh}rB9X<$I)tfCZ_L3 zJ`2b0Eo61l^_A>Po#tPibpEo;aqpyUQEBC|&zlpmr)5*8XTt-hvbEI0LrA{lwfU`I zmidRYGXgvAsvWSYt*s7FaYb-T(kiQ8pR%K;nT3MUQj)#4`l+pDt1AW-ecU#m3&IvCET}*lVrYjP4CDQvIw%twQ@6bpB+K784k+;x0 zEYzz~R6Eo`7h9(p$r_TG^TI!G4SAimeT$wuw&nsaYux*8!zGq|Ku(E?I5{&s=dLk0 z_gr;y4n&NLR3Iv5!yX|E=Kk8trz_@W&1cSM$Y)N?5Mr@q&&L7TcXLEb?pEpe8fLOU zA`Y*B4Y`ylKpUpc#THZM+8dlIlTK`lY;-BCMkyS+tSy#_BRuLD!!BI<2+|pT<}kvW7eFv)gm>K3-h z9z#Ad1$mw!iN<4zK%iine-9BblsyUZROasQ`l@U|#}8KZlbB3ZnjPaEs2PtP1gZ0X zEyVK|nVH{vPgqH}lsk@mZsi5_oEb{nC>A*YDI~G{Geo%l*L?;X+>SZUpGxZyn6+Wg zK%i8lfuOPp-)=EC8?kJ$>+Co7@AZ|l7uU|EVCkkeGonN##$DNWFFBs+*?jbvFSTrH z6Vu*T?aeI7D=|lBO0#O}&)rR(VaVh4Zj#Rp+)~0v_sxH6Tc6O&KByX{h~HKLZkvInJ8TBm?5N$uR?dGb~&I*`@)Zx;w|U) zrax?>)SufhBK<|;$}yhRZgZf*lUJY-km^mov2#<`S^IOl@>YsEWeL10jnQ-DmL>it zQ3S3$7M=+M1;#6#o2e?>LinGgvUFicdp%*zUnH-HN`PIVH=4h|X&iYJ*(}2c;O)o> zd2%OAR3a*A1ng_+&dYCPCJ~hq-^Khkgj+?AO=fc*yOn^OWxU3bgQo0T`P~l$UJY9- zYpl{c+@nUiZT;jBrlL5*-p4u51O@5m5nw%N3wPtotv3?k8aPN0!)ga@E=zGekE%!V43L{a*_@^n3N$ zMByJ;!A9YBfo6Iwyf(iXwOzzJ&M$qaR}a3AQ}+(o&5xK9rxXzlmSD4Z7A0b6G*(kB zWh!3MCL_XJEi7Gn8D(Y;zWTpjeLMdby*>ZBbvBr?JUI`?)B;IJ3Csd9N$hxrAj^St zP9<;ru+is=M-s1Nj=l%6lu&PH_UK;q{=S)-C)o#+ojOMt@n#5`cO!3}_n@>cCP5QZY_N zMqmjDbqm8ba()VA8w~#oE9CZ3R*^sq7r^JK+fl{o*YTN%NQK^4wza)zg|YHM;y_|6 z!rKq=Z4=OIw8qVqcVWjfjc=O+WpNLnt7=UXv+iQKZ2@GHdql}Jk2vctCXzbXbQg(- zj>!wO$k|gOSb(Ubh4mp6aNKo3M6!#eRPFPOR$rBu_7qqo-g;VCuMSKfr)SdpwE1F* zI=0%hcbf_gm!O%%Whqa|V}m5qXRS?uFE(%aJ3tQ@5CjCNkl-Om?b511!U>0A$5Y~9 zcm%=|q@aw9N?-t-{vY_9zXFw9J$XyGN#uln+R}9%a5g|3lM$FqJq4<;7?4@YD8s-} zaZD*;5A5vc!g}oNE5J`pKJ-({`G0$fW4IDL2K>0%krsF{jq=>%4Y4yLKTL)?$ecPP zwlR|WKIZvS|61U=r~6WDEJ{gj{R2BKi&qEy^&2|vO0xPo^7gGu^8zJGhQ#)^b*)KH zCLq>0_>*w2-FNB64Zt%)>Xau;A?Zd~T|RUjEg6^iFAM^NARr6QKulSiT*6XJs?~7J z_ND1>PWGCVg7V49K6;~+l{>-qQIn-}4}7KIy%p&w4io<5m**$KGxq?Lew%K z)Okqy`!`v3hgLQn7cQ31zYVw#8IWFEFr*Qo%LidX@WS7JFhjzeZo0TO6s{%tLjn}!G zWT_4g4QcUmF-CwjNY2~9Cd3qAj>o_=88#`tWy)zv|7^m1LBaOW`~o@}+hEcg&8%58 z0JH&%VGn)+6KRm`xYaLk7mOu(daxJe^1_4^ANB09a=w8&uh8^R zrGi&oXX~`oLz*{P zU?BGJsnQcPrrL8gGI2l0Tlr;X{su%ra^jWD^I3Q*t@rGgrYvsX4%W%$HEG)DA@`kW zj=9$kHwYPg64QU}+Y})5jmb=5Mnt{WVuEW$;mCO$O>3nDNW0&a94BnJE;UhtczKGC zw?sbw7StTUKnDN7vKjh)LAZyQVsMYyA9Mo0H6hCeHf<7k6d3`8B6SJi1(jcT*$l|b zOYuV1P7SXoia}WZzXK3c$iNL7f?qIwU|yWeMlgwnLsNqa`IB099ivi=R9Plpp*RB>S7MFbnX+Eus9iKeKIRVa3Rvc?L|fcEJo9fR^vwYz{Ni-jlV*aDHh2Pl7S4gsG7)M z?}ZN+$axr*!$AW#z6S$a?Tr91_-99~Zn%L=?t}w?V1e2ulK$NnTUyhYUgm=hCOXz5 zo+erap1YXG)3dA$dG_~&Z|bX3)b<-*>N%h$({-~~$R5De!)lsTu@gAHZDIrjS`*}j zcJhq86$P&Fe-H*j7HJJxq!d8iz#>8J22At2S~bHNBRrWByXX#zUo?by_r~sM&^6~D z5*CN^rV?w6(U58S$Oq_jF>kzFWuN0_5R9ola6P}-47K~AS%Ve@3jcp+%NzOg$KvY`?2^bMzmKbxuQZZm3gcq!7G$_quP*)(%Ue}rpBd&Sr zuUqO7C*s8t(;`x(=mTryI91FLNfX1NkqpR#u_E~>|LLsgpW&NW(!LgY6cp~VAzV1? z*=bhWUE9T)S)d^?Vme|d=n+p3P1urH4YMMtV|kMW19ce|1={A>tqbG`4LaDlkuZ6#fi4w`sbU5SdyprYlK_Z&W+CH&KTIb zJ8kNYG)*ac^Xi+>5&q;l$#)J4_zI9nm@_lL!FpU{Fj>FNF8*p8WE529xL_)`KUHd& zjE@J2nGC*~-`GK<%xD2kusyDKDPq=?kT+}Uh1mf3fNlT=fKydB=YTMQmAU(O)cXPC zW;+SIft!Kvjc}&*c;<0n(D{*<^Hbt!Oawv|mg(h#jc=d&yc2wo8Hq1pu_jr~(*fA8b1!d7-I|TQ}Eucl1wGnNc3sl-~LSl-{M>MC=7D=M+ z?I~QODdGhuSTRcrBc8#ak_5h)(J^C^7~Ek%9mhV=&rg(JiX;7x>p_N&M-@(!OL^5) zh;^dU_SJ5{>HaB}?{7lNKMFn9_XE``XgHGO^Y}b7TwkX7&0ktOvEP~^TFSfeezA{- ziuKl$6K2&1=+`&o2Y=%zU+irNH9Q@ za+Esf z1%Gy9zq#BD^7UW-8f8L$>z_2{-}+F7aThPQ6y#rPwWyG+Cr~)4J<-V@4f*oPgJpC( zJIQ*_ijCbi@@7PzZQR$ixuXhgqDV|%FeufSb;bh#N`(A6Ic$MahRGQ1dQ&{fb#_&j z#WO!H`TI^kB{=`SB`Bdb195~1?yepxo3&s-Vd0`?2f>Lmp}fB`lMTrb`jpjs<) zwoYZu^du-XW`VXLk^#!RtN=w80lY9o3{yHmIU;Gpjj8Ad4A?L-Q`1L!newEyhi^CO z(2a*uR1&}o=cUNVsx&C*{q{@3{zf+SuXzn_M~D#nqa*uokY;}s)}VdF!Ij*)H8CV; z%r_r0RdZmMgsEocJPvV%qZ5ccNf2m&Bn3455E0*P9OB$y3cwO=h+O*f|5S5iBvH(9 zV8R|)emn-SQU$+C2>&PVfQW#+44?q53`La2=Z^j`lf!3GWL&+{wp`Xf<)FB?yR|Fh z$PX-u6nwv-=~?+U{e4e;?Y~lo$*gUnkl-21aS%ZY;1RwEXaO6<#07%6f~v4xp5Uq5 z@E33w5rOTtGGv#hQ1V#Ybl}`}hzl?ZoXLhc0)`k);`WC(W3a9M$1!pKB{omFCOS>G z^j#zMX9^t}&Q?(B+Jkgq(%4+|BuNdFB@E>#olc#ylTOA;v|bl_R*bSvq#x1&J)AI{ zpcB)PN$JE6>AlyAL(Xj4G9q83=JE0tcX38y?EXh-rL}X`A z>H=T_@sD7kKWbS2TlTZQ#%7EyG(vNR!7-qW_}!dH5I+IFVibtEFuGdUWCrwP&Hn$N zv;w3E83-3j8OY@wz6O-@R81KIdfyl8%6hd0@DISeec)Ag%vgp`{7akbudp}+?}AhV z8wW$oR+{lPppc+6;96^>yWM`04coT=_EmRpzxwcNGEWakKUyxN;QH;3p1}@Zh1V7{ zeLspXLe;hnn)<2$K8L8yV<%Z2ho^xVuL5PZ3I2?Q@s@ZPf({sdku+{Ld3Y-f7g4xf zWCAfP@|Bv(lN@QoOx`F-#BBar_@re7R>)+-8CD$BGj`~Bem3H`Rh&}GFgIQmrK3{M zouc|IOhG%@nJG@t?S^2@?xN2|qcn`iCT7qc(PKew24yoTB#pouM9{)nP{)&EX9|!{ zX&w=hBz5b~&19C(ri>D_0Wy#{S{V&S8)RuU6u9@>PFcHC;+%a>vm7enjv90<_ESWgRE-~l7c};|C+bV|{ z-~qF{$^F)rvGT$xi^}lFg}_8zVv=(3-IZa86DXa^mwYc8)4UH_;w^W!Jks1n*|Lci z-%SGRUUFOQH>h^*?=;#qi>a3>6-Y(PMiHpDMTIO#dkF|mP_*+U0D=yxD}%Ify?z2p z$|N7q0a1Vi6}uRSL*@qc1dwg~rI`JbYx{3nVs{x~=$E>1d&So~CjQcg!N4Pc2{Pm+ zZd&d|yvG;}k)?n~F#eNt8AOX!!LVHj6pT5W4R(ayv1uUzd2_oG7HXnwkl43SGI}Ur zE40<#u!W;x>y4eLI92Qii7(y~Uji!XMC9Ah6`|eW?@7z(?gC-W`yWm3ns4|F+LL8h*|pQ7M#m+L#WCPyvmI+EV_F)17-!R%qB0%j0C^dCfSS#V^6ede#Ha z2l<)XZfu;94ZKypFt39N4PRVa>M?YU2(YEtlA?s}7pprd-)HnZSdfgxL2nH($A>x) zc?RcI2izEy+2T{O)h$Fz#7*HFKbTHu0!QTb{ z;=BpsMx1e1ubF@7rnHs(tH?H8Zs#5*Ks|xh3czqMxH%Z0q@c~V0%Teym8BS1<>7A7 zvSY|&XBkW+%_WnvE@t$VeF0j(~u9#6itvKU1=hJ^wd@kY9o!y%6rB zdu-udv4Fl|0o6|Y&)LFHB|?~n(CTCo=|VP%6~qszKbPqNi(%Le4DU~dzcaje-StP< zl>-jkdXrV+o2DFZ|BfAH z_L=?xI=#<&9sTYa_X;j3k_d&+HT97}kdYC_D0W5#`R8~npJyk}C{96q?^eX@>N{)r zm*o}`^Qc)g)+0ahdZ9F^xMk$~s1`G=73&Z<*<}usW6K^ySpXQ$I-5=8R zRc6MNK+Psl^W4!=Q2Q?fjx*YS@g zaGbD7sQH1%0wu!&8qA>j8)yrK?Idy;#8Hcmd_;34i4h9L4&7+BBruL)PWbu8qhBGi z{}l82Z#}Nv1}HBSOK8bLscsmQA4F7P{KacAwK&iGw+8+N{!|RA`RqH>ch>orB34@x zS~5|an5;Zf;t)S|2mNf+P_Fn#9)Q;+L~sLJ&5wZNVvx8PRiUyKl9`SR2Qf=LXv!&dCkN8RCJ7ju#kPk?u(AAnTw=47wGd zgSr=iC%* z%Vuo;&2N=UiBA$W4LkN>pulgl76p-kt8uo!!Tz3Vu3;{D64`h z737FO+Y7h@gng$c!;%1oVRYyz1ADb~ctg=YcS{|RqG$~kfgbek9`rVDfFXaC>@cT; zRDcH@&{AIDovrOX1y%5b$OB67*GLJ3mu0NlalQlsFW$Kabi6~>yFPH_^H{@ciFfCL z##@gAc?#I8D1nbXg?w1d5@!J#BtS$apteCRUMNil01%>>D42Y75Wk-q-L{iZkO#WU zf(YvC(E@ao0q<(5&Zxw#H@5%;V5fQlV-S*(pIV%kZnEyO4~rQa0i#PQ3t>#%Qqm-l@u1KwgvKLP6yT z_9C3Ws(8f6{yTK8ek(Zw#J{i-6-(Z z{qQ`x+bAxwjMV_D2_#RMb6|Va^aufZo&ZVINmSj9E!!rJ((<1#@Si6$KVDF{ksCry z{`{rnLja*6!qO6