From 30a7709d71283c97c172fa4aa0d8324e60bbb3f9 Mon Sep 17 00:00:00 2001 From: Isaac Mann Date: Tue, 6 May 2025 18:43:57 -0400 Subject: [PATCH] chore(nx-dev): block linking to preview urls (#31081) Catch links to preview urls --- docs/blog/2024-09-25-introducing-nx-powerpack.md | 2 +- scripts/documentation/internal-link-checker.ts | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/blog/2024-09-25-introducing-nx-powerpack.md b/docs/blog/2024-09-25-introducing-nx-powerpack.md index 530bd14750..da475f740a 100644 --- a/docs/blog/2024-09-25-introducing-nx-powerpack.md +++ b/docs/blog/2024-09-25-introducing-nx-powerpack.md @@ -130,7 +130,7 @@ Read all about how to [configure Codeowners for your project in our docs](/nx-en We're releasing the `@nx/conformance` plugin in an early preview. This new package focuses specifically on the maintainability of your monorepo. It allows you to encode your organization's standards so they can be enforced automatically. In this first version, the workspace conformance package ships with: -- [Enforce Module Boundaries](/nx-api/conformance#enforce-module-boundaries): Similar to the Nx ESLint [Enforce Module Boundaries rule](https://nx-dev-git-docs-powerpack-nrwl.vercel.app/features/enforce-module-boundaries), but enforces boundaries on every project dependency, not just those created from TypeScript imports or `package.json` dependencies. +- [Enforce Module Boundaries](/nx-api/conformance#enforce-module-boundaries): Similar to the Nx ESLint [Enforce Module Boundaries rule](/features/enforce-module-boundaries), but enforces boundaries on every project dependency, not just those created from TypeScript imports or `package.json` dependencies. - [Ensure Owners](/nx-api/conformance#ensure-owners): Requires every project to have an owner defined for the `@nx/owners` plugin. To get started, install the following package: diff --git a/scripts/documentation/internal-link-checker.ts b/scripts/documentation/internal-link-checker.ts index 8585d98dd4..a81964e139 100644 --- a/scripts/documentation/internal-link-checker.ts +++ b/scripts/documentation/internal-link-checker.ts @@ -16,7 +16,9 @@ function readFileContents(path: string): string { function isLinkInternal(linkPath: string): boolean { return ( - (linkPath.startsWith('/') || linkPath.startsWith('https://nx.dev')) && + (linkPath.startsWith('/') || + linkPath.startsWith('https://nx.dev') || + linkPath.startsWith('https://nx-dev')) && !linkPath.startsWith('/tutorials') ); } @@ -178,7 +180,10 @@ for (let file in documentLinks) { ) { continue; } - if (link.startsWith('https://nx.dev')) { + if ( + link.startsWith('https://nx.dev') || + link.startsWith('https://nx-dev') + ) { localLinkErrors.push({ file, link }); } else if ( link.includes('#') &&