chore(repo): update nx to 22.7.0-beta.3#3073
Conversation
|
View your CI Pipeline Execution ↗ for commit ac63c0e
☁️ Nx Cloud last updated this comment at |
There was a problem hiding this comment.
Important
At least one additional CI pipeline execution has run since the conclusion below was written and it may no longer be applicable.
Nx Cloud is proposing a fix for your failed CI:
We updated import paths for ConfigurationSourceMaps (moved to a new sub-module in Nx 22.7.0-beta.3) and fixed type incompatibilities in CliOption caused by PropertyDescription.items widening to PropertyDescription | PropertyDescription[]. These changes align the codebase with the updated Nx internal APIs introduced by this upgrade.
Warning
❌ We could not verify this fix.
Suggested Fix changes
diff --git a/libs/shared/nx-workspace-info/src/lib/get-nx-workspace-config.ts b/libs/shared/nx-workspace-info/src/lib/get-nx-workspace-config.ts
index d9b2f741..14d1194f 100644
--- a/libs/shared/nx-workspace-info/src/lib/get-nx-workspace-config.ts
+++ b/libs/shared/nx-workspace-info/src/lib/get-nx-workspace-config.ts
@@ -8,7 +8,7 @@ import type {
ProjectGraph,
} from 'nx/src/devkit-exports';
import type { ProjectGraphError } from 'nx/src/project-graph/error-types';
-import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration-utils';
+import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration/source-maps';
import { performance } from 'perf_hooks';
import {
getNxOutput,
diff --git a/libs/shared/nx-workspace-info/src/lib/workspace.ts b/libs/shared/nx-workspace-info/src/lib/workspace.ts
index cf75a569..1f632b03 100644
--- a/libs/shared/nx-workspace-info/src/lib/workspace.ts
+++ b/libs/shared/nx-workspace-info/src/lib/workspace.ts
@@ -17,7 +17,7 @@ import { getNxVersion } from './get-nx-version';
import { getNxWorkspaceConfig } from './get-nx-workspace-config';
import { getNxDaemonClient } from './get-nx-workspace-package';
import type { ProjectGraph } from 'nx/src/devkit-exports';
-import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration-utils';
+import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration/source-maps';
import { execSync } from 'child_process';
const enum Status {
diff --git a/libs/shared/schema/src/normalize-schema.spec.ts b/libs/shared/schema/src/normalize-schema.spec.ts
index de11a56a..b2418c9d 100644
--- a/libs/shared/schema/src/normalize-schema.spec.ts
+++ b/libs/shared/schema/src/normalize-schema.spec.ts
@@ -25,7 +25,6 @@ describe('utils', () => {
};
it('should work with schema without any properties', async () => {
- // @ts-expect-error absence of required property "properties" is needed to test failure resistance
const r = await normalizeSchema({});
expect(r).toEqual([]);
});
diff --git a/libs/shared/schema/src/normalize-schema.ts b/libs/shared/schema/src/normalize-schema.ts
index 75f5bb8e..c761dfd1 100644
--- a/libs/shared/schema/src/normalize-schema.ts
+++ b/libs/shared/schema/src/normalize-schema.ts
@@ -163,13 +163,11 @@ function isFieldRequired(
}
function getItems(option: CliOption): { items: string[] } | undefined {
- return (
- option.items && {
- items:
- (option.items as ItemsWithEnum).enum ||
- ((option.items as string[]).length && option.items),
- }
- );
+ if (!option.items) return undefined;
+ const enumItems = (option.items as ItemsWithEnum).enum;
+ if (enumItems) return { items: enumItems };
+ const stringItems = option.items as string[];
+ return stringItems.length ? { items: stringItems } : undefined;
}
function isLongFormXPrompt(xPrompt: XPrompt): xPrompt is LongFormXPrompt {
diff --git a/libs/shared/schema/src/schema.ts b/libs/shared/schema/src/schema.ts
index 6a30b631..9e990ec0 100644
--- a/libs/shared/schema/src/schema.ts
+++ b/libs/shared/schema/src/schema.ts
@@ -18,7 +18,9 @@ export type CliOption = {
alias?: string;
hidden?: boolean;
deprecated?: boolean | string;
-} & OptionPropertyDescription;
+} & Omit<OptionPropertyDescription, 'items'> & {
+ items?: string[] | ItemsWithEnum;
+ };
export interface Option extends CliOption {
tooltip?: string;
diff --git a/libs/shared/types/src/lib/nx-workspace.ts b/libs/shared/types/src/lib/nx-workspace.ts
index b48338b4..7f646d8c 100644
--- a/libs/shared/types/src/lib/nx-workspace.ts
+++ b/libs/shared/types/src/lib/nx-workspace.ts
@@ -5,7 +5,7 @@ import type {
ProjectFileMap,
ProjectGraph,
} from 'nx/src/devkit-exports';
-import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration-utils';
+import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration/source-maps';
export type NxProjectConfiguration = ProjectConfiguration & {
files?: { file: string }[];
diff --git a/libs/shared/watcher/src/lib/passive-daemon-watcher.ts b/libs/shared/watcher/src/lib/passive-daemon-watcher.ts
index edee858a..cfb27f70 100644
--- a/libs/shared/watcher/src/lib/passive-daemon-watcher.ts
+++ b/libs/shared/watcher/src/lib/passive-daemon-watcher.ts
@@ -5,7 +5,7 @@ import {
import { Logger } from '@nx-console/shared-utils';
import { randomUUID } from 'crypto';
import type { ProjectGraph } from 'nx/src/config/project-graph';
-import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration-utils';
+import type { ConfigurationSourceMaps } from 'nx/src/project-graph/utils/project-configuration/source-maps';
import { AnyEventObject, createActor, fromPromise, setup } from 'xstate';
export type WatcherStatus = 'operational' | 'daemonDisabled' | 'notRunning';
Or Apply changes locally with:
npx nx-cloud apply-locally nul2-vLyY
Apply fix locally with your editor ↗ View interactive diff ↗
🎓 Learn more about Self-Healing CI on nx.dev
Updating Nx from 22.6.0-beta.2 to 22.7.0-beta.3