/** * Single source of truth for DDK 3.x workspace-level configuration. * * Both paths to a 3.x workspace consume these: * - `upgrade-to-3` migration → applies them to an existing 2.x workspace * - `preset` generator → applies them to a freshly scaffolded workspace * * Keeping the nx.json / overrides / tsconfig.base / toolchain-pin logic here * guarantees a migrated workspace and a freshly-scaffolded one are byte-identical * at the config level — so a fix made in one place can never drift from the other. * * These are config only. The migration's legacy-code codemods (HOC spread, CUI * bootstrap, nodejs timer, cms strip, …) intentionally live with the migration: * a fresh scaffold has no legacy code to transform. */ import { Tree } from "@nx/devkit"; export declare const REACT_VERSION = "18.3.1"; export declare const TYPES_REACT_VERSION = "18.3.1"; export declare const TYPES_REACT_DOM_VERSION = "18.3.0"; export declare const TYPESCRIPT_VERSION = "5.9.3"; export declare const TSLIB_VERSION = "^2.6.0"; /** * Pin the React + TypeScript toolchain to the KOS-standard versions. Used by the * preset so a fresh scaffold doesn't ride @nx/react 21's React-19 default. * * Writes the versions directly with `updateJson` rather than * `addDependenciesToPackageJson`: the @nx/devkit helper refuses to downgrade an * existing range, @nx/react has already written react@19.0.0, and leaving 19 in * place makes `npm install` fail with ERESOLVE against the SDK's react ^18.2.0 peer. */ export declare function applyToolchainPins(host: Tree): void; /** * package.json overrides + resolutions — pin the webpack toolchain deterministically * (webpack MF is sensitive to webpack/tslib/chokidar drift). */ export declare function patchOverrides(host: Tree): void; /** * nx.json: disable inference plugins (forces explicit project targets, which the * SDK's target-shaping relies on), set npm as the package manager, and declare the * MF dev-remote env inputs on @nx/webpack:webpack. * * The preset calls this before running the @nx/* sub-generators so they write * explicit build/serve targets to project.json rather than inferred ones. */ export declare function patchNxJson(host: Tree): void; /** * tsconfig.base.json — kos-ddk's verbatim modern compilerOptions (esnext + bundler * resolution, the full strict-flag set, @emotion/react JSX). Idempotent. */ export declare function patchTsconfigBase(host: Tree): void; //# sourceMappingURL=three-x-workspace-config.d.ts.map