惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
Microsoft Azure Blog
Microsoft Azure Blog
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
D
DataBreaches.Net
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements

Nx Blog

Sharing Tailwind CSS Styles Across Apps in a Monorepo | Nx Blog How SiriusXM Stays Competitive by Iterating and Getting to Market Fast | Nx Blog Agentic Experience Is the New Developer Experience | Nx Blog Nx Joins the Linux Foundation and the Agentic AI Foundation | Nx Blog A Monorepo Is NOT a Monolith | Nx Blog Why we deleted (most of) our MCP tools | Nx Blog Teach Your AI Agent How to Work in a Monorepo | Nx Blog How Broadcom stays efficient and nimble with monorepos | Nx Blog Why Monorepos are King in the Age of AI | Nx Blog Nx 2026 Roadmap: Expanding Agent Autonomy, Improving Performance, Better Polyglot and More | Nx Blog End to End Autonomous AI Agent Workflows with Nx | Nx Blog Autonomous Agents at Scale | Nx Blog Scaling 700+ Projects: How Nx Became a 'No-Brainer' for Caseware | Nx Blog Configure Tailwind v4 with Angular in an Nx Monorepo | Nx Blog The Missing Multiplier for AI Agent Productivity | Nx Blog A Year of Nx Webinars | Nx Blog Wrapping Up 2025 | Nx Blog Nx 22.3 Release: Angular 21 Support, tsgo Compiler, and Prettier v3 | Nx Blog Nx Cloud Release: Agent Resource Usage | Nx Blog Nx Platform Outperforms DIY Cache by 5x | Nx Blog An Nx Carol: Past, Present, and Future of Your Monorepo | Nx Blog Nx 22.1 Release: Terminal UI on Windows, Storybook 10, Vitest 4, and more! | Nx Blog The Compounding Effect: How Nx Features Multiply Performance Gains | Nx Blog 10 Monorepo Myths Debunked: Separating Fact from Fiction | Nx Blog Nx Cloud Release: Enterprise Task Analytics | Nx Blog Watch and Rebuild Storybook Dependencies with Nx | Nx Blog Book - React for Enterprise: Timeless Architecture for Enterprise Apps | Nx Blog Beyond Remote Cache: Unlock 70% More CI Performance | Nx Blog Nx 22 Release: Expanding the build platform | Nx Blog What's the Point of Generating All This Code If You Can't Merge It? | Nx Blog
Introducing Nx Powerpack | Nx Blog
Juri Strumpflohner · 2024-09-26 · via Nx Blog

Update - December 10, 2025

Nx Powerpack is no longer available as a standalone product. Self-hosted caching remains free for everyone — see all our remote caching solutions. All packages, including Conformance and Owners, are still maintained and are now included as part of the Enterprise plan.

Today we're introducing our latest product, Nx Powerpack, a suite of paid extensions for Nx, specifically designed around common enterprise needs. Now, before anyone draws the wrong conclusions:

  • No, we're not going to restrict Nx's license, lock you in, and then harvest. Nx remains MIT licensed and fully open source.
  • No, we're not placing existing features behind a paywall. Nx Powerpack introduces new features on top of Nx (more about that below).
  • Yes, we still strongly believe in OSS and our community, and we will keep improving Nx more than ever; if anything, Powerpack will help us fund our OSS work on Nx core and ensure its long-term sustainability.

What about my open-source repo?

Open source projects can continue to use Nx Cloud for free the same way they always have, and they can continue to use Nx with all its features. If you are an open-source maintainer and you want to use Powerpack, you will get a free license. Just reach out to us at powerpack-support@nrwl.io.

So this leaves us with: Nx products and their licenses

But now to the fun, technical part! Nx Powerpack is a bundle that - in this very first release - comes with these major features:

  • Codeowners for monorepos
  • Workspace conformance (beta)

Let's dive in!

Get an Nx Powerpack License

All Powerpack features require a dedicated commercial license. You can get one here: Nx Powerpack.

Once you have your license, run the following command

npx nx register <your-activation-key>

Codeowners for Monorepos

Setting up Codeowners is highly recommended when designing a monorepo. If you're not familiar, Codeowners is a common feature of VCS providers (such as GitHub, GitLab, Bitbucket, etc.), allowing you to enforce specific code reviewers to approve PRs. This functionality is especially important in a monorepo, where you manage multiple projects with multiple teams. You want to ensure the right people are reviewing the code being submitted.

Here's a simple example of a GitHub CODEOWNERS definition:

/docs/ @doc-owner
/apps/orders   @orders-team
/apps/products   @products-team
/libs/orders/** @orders-team
/libs/products/** @products-team
/libs/shared/** @infra-team

One of the downsides of how codeowners works on today's VCS providers is that they are folder-based. That requires you to map your project paths to your codeowner files and keep maintaining that as you change your monorepo structure. And this is exactly what we're going to automate.

In a monorepo you reason based on projects. That's what you pass to your Nx run commands, what you see on the project graph and also where owners should be defined. To get started install the Codeowners Powerpack plugin:

This will allow you to define an owners section in your nx.json where you can define owners at the project level or even leverage project tags. Here's a small example:

{
    ...
    "owners": {
        "format": "github",
        "patterns": [
            {
                "description": "CI configuration",
                "owners": ["@devops"],
                "files": [".github/workflows/**"]
            },
            {
                "description": "Order team",
                "owners": ["@team-orders"],
                "projects": ["tag:scope:orders"]
            },
            {
                "description": "Product team",
                "owners": ["@team-products"],
                "projects": ["tag:scope:products"]
            },
            {
                "description": "Design team",
                "owners": ["@team-design"],
                "projects": ["tag:scope:design-system"]
            }
        ]
    },
  ...
}

A dedicated nx sync command automatically synchronizes these definitions to a CODEOWNERS file that matches your VCS provider:


# CI configuration
.github/workflows/** @devops

# Design team
/libs/shared/ui/angular/form-controls/ @team-design

# Design team
/libs/shared/ui/react/form-controls/ @team-design

# Product team
/libs/products/feat-product-detail/ @team-products

# Order team
/libs/orders/feat-current-orders/ @team-orders

...

Read all about how to configure Codeowners for your project in our docs.

Workspace Conformance (Beta)

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:

To get started, install the following package:

npx nx add @nx/conformance

This allows you to define conformance rules in your nx.json. Here is an example:

{
    ...
    "conformance": {
        "rules": [
            {
                "rule": "@nx/conformance/enforce-module-boundaries",
                "projects": ["!remix-app-e2e"],
                "options": {}
            },
            {
                "rule": "@nx/conformance/ensure-owners",
                "projects": ["!remix-app-e2e"]
            },
            {
                "rule": "./tools/local-conformance-rule.ts"
            }
        ]
    }
}

You can also define rules locally, as shown in the example above, which are simple TypeScript files:

import { createConformanceRule } from '@nx/conformance';

const rule = createConformanceRule({
  name: 'local-conformance-rule-example',
  category: 'security',
  reporter: 'project-reporter',
  implementation: async (context) => {
    return {
      severity: 'low',
      details: {
        violations: [],
      },
    };
  },
});

export default rule;

You can then run nx conformance to execute the conformance checks:

Screenshot of the conformance check output

In this first preview release, you'll only be able to run workspace conformance rules on a single workspace. In future iterations, you will be able to connect it to your existing Nx Cloud organization, allowing you to upload conformance rules and run them across connected workspaces.

Read all the details on how to get started with workspace conformance rules in our docs.

Learn More