Skip to content

Nx graph ends up in a deadlock with a package base mono + @nx/vite/plugin + a local vite plugin library #27244

Open
@beaussan

Description

@beaussan

Current Behavior

The Nx graph is in a half broken state, and so it won't let me build a library that dosn't depends on a broken inference library. The library are in a broken state because a nx crystal plugin is trying to import their configs that depends on a workspace package that needs building (more info in the reproduction readme)

Expected Behavior

Either nx lets me build a library that is not affected by a broken inference project, or I have the tools to easily create my own plugin from building blocs from Nx's plugins, see #22099 (reply in thread)

GitHub Repo

https://github.com/beaussan/nx-repro-crystal-loop

Steps to Reproduce

Here is defined in the repo above.

If you want to make it yourself:

  • Create a library that is build with tsc (so it's minimal)
  • Expose a vite plugin from that library
  • Create another library
  • Import the plugin you create into the vite config
  • Nx reset + fresh workspace
  • Things should break

Nx Report

NX   Report complete - copy this into the issue template

Node           : 20.11.1
OS             : darwin-arm64
Native Target  : aarch64-macos
yarn           : 4.3.1

nx             : 19.5.4
@nx/js         : 19.5.4
@nx/linter     : 19.5.4
@nx/eslint     : 19.5.4
@nx/workspace  : 19.5.4
@nx/cypress    : 19.5.4
@nx/devkit     : 19.5.4
@nx/react      : 19.5.4
@nx/storybook  : 19.5.4
@nrwl/tao      : 19.5.4
@nx/vite       : 19.5.4
@nx/web        : 19.5.4
typescript     : 5.5.4
---------------------------------------
Registered Plugins:
@nx/vite/plugin

Failure Logs

No response

Package Manager Version

yarn@4.3.1

Operating System

  • macOS
  • Linux
  • Windows
  • Other (Please specify)

Additional Information

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions