import { type ProjectConfiguration, type Tree } from '@nx/devkit'; /** * Adds the gonx plugin to the nx.json if it's not already there. * * @param tree project tree object */ export declare const addNxPlugin: (tree: Tree) => void; /** * Ensures that go configuration files are included as a sharedGlobal, * so any changes will trigger projects to be flagged as affected. * * @param tree project tree object */ export declare const ensureGoConfigInSharedGlobals: (tree: Tree) => void; /** * Ensures the workspace's nx.json defines the `goSource` named input, * falling back to `GO_SOURCE_FILE_PATTERNS` when it's missing. * * Every gonx-inferred project already defines `goSource` in its own * `namedInputs` (see `createNodesInternal`), which is enough for the * `^goSource` inputs on build/test/lint/tidy to resolve for Go -> Go * dependencies. But Nx's hasher errors with "Input 'goSource' is not * defined" when `^goSource` is expanded for a dependency project that * doesn't define it itself -- which happens if a user adds an * `implicitDependencies` (or similar) edge from a Go project to a * non-Go project. This workspace-level fallback in nx.json covers that * case; for non-Go projects the patterns simply match nothing, so it's a * safe no-op default. A user-defined `goSource` is never overwritten. * * @param tree project tree object */ export declare const ensureGoSourceNamedInput: (tree: Tree) => void; /** * Checks if a Nx project is using the naxodev plugin. * * @param project project configuration object */ export declare const isProjectUsingNxGo: (project: ProjectConfiguration) => boolean;