## Description This PR fixes an issue where asset files copied during a build using the `@nx/js:tsc` executor are placed in the wrong directory depending on the current working directory from which the `nx` command is executed. This behavior becomes particularly problematic in scenarios like release workflows that rely on `preVersionCommand` to run E2E tests. For instance, when using tools like Jest from the root of an E2E project, scripts like `start-local-registry` may trigger a build and run the `preVersionCommand`. However, instead of placing assets in the expected `dist` folder of the project, they are incorrectly copied relative to the E2E folder’s location. ## Reproduction Steps 1. Create a new Nx workspace: ```bash npx --yes create-nx-workspace assets-issue --preset=ts --no-interactive cd assets-issue ``` 2. Add the Nx Plugin package: ```bash nx add @nx/plugin ``` 3. Generate a new plugin: ```bash nx g @nx/plugin:plugin packages/my-plugin --linter eslint --unitTestRunner jest ``` 4. Add a generator to the plugin: ```bash nx g @nx/plugin:generator packages/my-plugin/src/generators/my-generator ``` 5. Build the plugin from the workspace root: ```bash nx build my-plugin ``` ✅ Assets are copied correctly: ``` dist/packages/my-plugin/generators/files/src/index.ts.template dist/packages/my-plugin/generators/schema.json dist/packages/my-plugin/generators/schema.d.ts ``` 6. Now build the same project from a nested folder: ```bash mkdir e2e && cd e2e nx build my-plugin --skip-nx-cache ``` ❌ Assets are copied relative to the current folder: ``` e2e/packages/my-plugin/dist/generators/files/src/index.ts.template e2e/packages/my-plugin/dist/generators/schema.json e2e/packages/my-plugin/dist/generators/schema.d.ts ``` ## Expected Behavior The build output—especially copied assets—should always respect the project’s `outputPath` configuration regardless of where the `nx` command is invoked from. The behavior should be consistent and **not influenced by `process.cwd()`**.
{{links}}
Nx: Smart Repos · Fast Builds
An AI-first build platform that connects everything from your editor to CI. Helping you deliver fast, without breaking things.
This package is a JavaScript/TypeScript plugin for Nx.
{{content}}