@aws/nx-plugin 1.3.2 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-THIRD-PARTY +21421 -10904
- package/migrations.json +12 -12
- package/package.json +4 -4
- package/src/agentcore-gateway/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/greengrass/component/python/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/migrations/v1.0.15/0001-py-agent-pillow-override/migration.d.ts +5 -5
- package/src/migrations/v1.0.15/0001-py-agent-pillow-override/migration.js +75 -3
- package/src/migrations/v1.0.15/0001-py-agent-pillow-override/migration.js.map +1 -1
- package/src/migrations/v1.3.1/0001-biome-markdown-yaml-formatter-off/migration.js.map +1 -0
- package/src/migrations/v1.3.2/0001-py-agentcore-launcher/migration.js.map +1 -0
- package/src/preset/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +6 -6
- package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +7 -7
- package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +4 -4
- package/src/py/agent/guardrails/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +12 -12
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/rdb/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +7 -7
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +8 -8
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +12 -12
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/agent/guardrails/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +14 -14
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +2 -2
- package/src/utils/docker.d.ts +1 -1
- package/src/utils/py.d.ts +0 -10
- package/src/utils/py.js +2 -59
- package/src/utils/py.js.map +1 -1
- package/src/utils/versions.d.ts +63 -71
- package/src/utils/versions.js +61 -74
- package/src/utils/versions.js.map +1 -1
- package/src/migrations/latest/biome-markdown-yaml-formatter-off/migration.js.map +0 -1
- package/src/migrations/latest/py-agentcore-launcher/migration.js.map +0 -1
- /package/src/migrations/{latest/biome-markdown-yaml-formatter-off → v1.3.1/0001-biome-markdown-yaml-formatter-off}/metadata.json +0 -0
- /package/src/migrations/{latest/biome-markdown-yaml-formatter-off → v1.3.1/0001-biome-markdown-yaml-formatter-off}/migration.d.ts +0 -0
- /package/src/migrations/{latest/biome-markdown-yaml-formatter-off → v1.3.1/0001-biome-markdown-yaml-formatter-off}/migration.js +0 -0
- /package/src/migrations/{latest/py-agentcore-launcher → v1.3.2/0001-py-agentcore-launcher}/metadata.json +0 -0
- /package/src/migrations/{latest/py-agentcore-launcher → v1.3.2/0001-py-agentcore-launcher}/migration.d.ts +0 -0
- /package/src/migrations/{latest/py-agentcore-launcher → v1.3.2/0001-py-agentcore-launcher}/migration.js +0 -0
package/src/utils/py.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import { joinPathFragments } from "@nx/devkit";
|
|
6
6
|
import { parsePipRequirementsLine } from "pip-requirements-js";
|
|
7
7
|
import { normalizeDistributionName } from "./names.js";
|
|
8
|
-
import { readToml,
|
|
9
|
-
import {
|
|
8
|
+
import { readToml, updateToml } from "./toml.js";
|
|
9
|
+
import { PY_VERSIONS, withPyVersions } from "./versions.js";
|
|
10
10
|
// Dedup key that distinguishes bare packages from the same package with
|
|
11
11
|
// extras (e.g. `foo` vs `foo[bar]`), so adding a bare dep doesn't drop a
|
|
12
12
|
// previously-added variant with extras.
|
|
@@ -43,63 +43,6 @@ const mergeDeps = (declaration, existing, deps)=>{
|
|
|
43
43
|
const projectToml = parse(tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'));
|
|
44
44
|
projectToml.project.dependencies = mergeDeps(declaration, projectToml.project?.dependencies, deps);
|
|
45
45
|
tree.write(joinPathFragments(projectRoot, 'pyproject.toml'), stringify(projectToml));
|
|
46
|
-
addUvOverrideDependencies(tree, projectToml.project.dependencies);
|
|
47
|
-
};
|
|
48
|
-
// PEP 503 name of a requirement, or undefined for one that names no package or
|
|
49
|
-
// cannot be parsed.
|
|
50
|
-
const requirementName = (requirement)=>{
|
|
51
|
-
if (typeof requirement !== 'string') {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
const parsed = parsePipRequirementsLine(requirement);
|
|
56
|
-
return parsed?.type === 'ProjectName' || parsed?.type === 'ProjectURL' ? normalizeDistributionName(parsed.name) : undefined;
|
|
57
|
-
} catch {
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Add the `PY_UV_OVERRIDES` entries for the packages named in `requirements`
|
|
63
|
-
* to the workspace root `[tool.uv] override-dependencies`, which is the only
|
|
64
|
-
* place uv reads overrides from.
|
|
65
|
-
*
|
|
66
|
-
* Existing entries keep their order, and a package the list already overrides
|
|
67
|
-
* is left as the user wrote it. The root file is written only when an entry is
|
|
68
|
-
* added. Returns whether it was.
|
|
69
|
-
*/ export const addUvOverrideDependencies = (tree, requirements)=>{
|
|
70
|
-
const rootPyprojectPath = 'pyproject.toml';
|
|
71
|
-
const toml = tryReadToml(tree, rootPyprojectPath);
|
|
72
|
-
if (!toml) {
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
const names = new Set(requirements.map(requirementName));
|
|
76
|
-
const overrides = Object.entries(PY_UV_OVERRIDES).flatMap(([dependency, entries])=>names.has(normalizeDistributionName(dependency)) ? entries : []);
|
|
77
|
-
if (overrides.length === 0) {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
const existing = toml.tool?.uv?.['override-dependencies'];
|
|
81
|
-
if (existing !== undefined && !Array.isArray(existing)) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
const merged = [
|
|
85
|
-
...existing ?? []
|
|
86
|
-
];
|
|
87
|
-
const overridden = new Set(merged.map(requirementName));
|
|
88
|
-
for (const entry of overrides){
|
|
89
|
-
const name = requirementName(entry);
|
|
90
|
-
if (!overridden.has(name)) {
|
|
91
|
-
merged.push(entry);
|
|
92
|
-
overridden.add(name);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (merged.length === (existing ?? []).length) {
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
toml.tool ??= {};
|
|
99
|
-
toml.tool.uv ??= {};
|
|
100
|
-
toml.tool.uv['override-dependencies'] = merged;
|
|
101
|
-
tree.write(rootPyprojectPath, stringify(toml));
|
|
102
|
-
return true;
|
|
103
46
|
};
|
|
104
47
|
export const addDependenciesToDependencyGroupInPyProjectToml = (tree, projectRoot, group, declaration, deps)=>{
|
|
105
48
|
const projectToml = parse(tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'));
|
package/src/utils/py.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { type JsonMap, parse, stringify } from '@iarna/toml';\nimport { joinPathFragments, type Tree } from '@nx/devkit';\nimport { parsePipRequirementsLine } from 'pip-requirements-js';\nimport type {\n DeclaredPy,\n DependencyDeclaration,\n} from './declared-dependencies.js';\nimport { normalizeDistributionName } from './names.js';\nimport type { UVPyprojectToml } from './nxlv-python.js';\nimport { readToml, tryReadToml, updateToml } from './toml.js';\nimport {\n type IPyDepVersion,\n PY_UV_OVERRIDES,\n PY_VERSIONS,\n withPyVersions,\n} from './versions.js';\n\n// Dedup key that distinguishes bare packages from the same package with\n// extras (e.g. `foo` vs `foo[bar]`), so adding a bare dep doesn't drop a\n// previously-added variant with extras.\nconst depKey = (dep: string): string => {\n const parsed = parsePipRequirementsLine(dep);\n if (parsed?.type !== 'ProjectName') {\n return dep;\n }\n const extras = [...(parsed.extras ?? [])].sort().join(',');\n return extras ? `${parsed.name}[${extras}]` : parsed.name;\n};\n\nconst mergeDeps = (\n declaration: DependencyDeclaration,\n existing: readonly string[] | undefined,\n deps: readonly IPyDepVersion[],\n): string[] => {\n // Update deps in place by key so re-running does not reorder the list:\n // existing deps keep their position (with their version refreshed), and only\n // genuinely-new deps are appended.\n const incoming = new Map(\n withPyVersions(declaration, deps).map((d) => [depKey(d), d]),\n );\n const merged = (existing ?? []).map(\n (dep) => incoming.get(depKey(dep)) ?? dep,\n );\n const existingKeys = new Set((existing ?? []).map(depKey));\n for (const [key, dep] of incoming) {\n if (!existingKeys.has(key)) {\n merged.push(dep);\n }\n }\n return merged;\n};\n\n/**\n * Add dependencies to a pyproject.toml file\n */\nexport const addDependenciesToPyProjectToml = <\n const D extends DependencyDeclaration,\n>(\n tree: Tree,\n projectRoot: string,\n declaration: D,\n deps: readonly DeclaredPy<D>[],\n) => {\n const projectToml = parse(\n tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'),\n ) as UVPyprojectToml;\n projectToml.project.dependencies = mergeDeps(\n declaration,\n projectToml.project?.dependencies,\n deps,\n );\n tree.write(\n joinPathFragments(projectRoot, 'pyproject.toml'),\n stringify(projectToml),\n );\n addUvOverrideDependencies(tree, projectToml.project.dependencies);\n};\n\n// PEP 503 name of a requirement, or undefined for one that names no package or\n// cannot be parsed.\nconst requirementName = (requirement: unknown): string | undefined => {\n if (typeof requirement !== 'string') {\n return undefined;\n }\n try {\n const parsed = parsePipRequirementsLine(requirement);\n return parsed?.type === 'ProjectName' || parsed?.type === 'ProjectURL'\n ? normalizeDistributionName(parsed.name)\n : undefined;\n } catch {\n return undefined;\n }\n};\n\n/**\n * Add the `PY_UV_OVERRIDES` entries for the packages named in `requirements`\n * to the workspace root `[tool.uv] override-dependencies`, which is the only\n * place uv reads overrides from.\n *\n * Existing entries keep their order, and a package the list already overrides\n * is left as the user wrote it. The root file is written only when an entry is\n * added. Returns whether it was.\n */\nexport const addUvOverrideDependencies = (\n tree: Tree,\n requirements: readonly string[],\n): boolean => {\n const rootPyprojectPath = 'pyproject.toml';\n const toml = tryReadToml(tree, rootPyprojectPath) as\n | UVPyprojectToml\n | undefined;\n if (!toml) {\n return false;\n }\n const names = new Set(requirements.map(requirementName));\n const overrides = Object.entries(PY_UV_OVERRIDES).flatMap(\n ([dependency, entries]) =>\n names.has(normalizeDistributionName(dependency)) ? entries : [],\n );\n if (overrides.length === 0) {\n return false;\n }\n\n const existing = toml.tool?.uv?.['override-dependencies'];\n if (existing !== undefined && !Array.isArray(existing)) {\n return false;\n }\n const merged = [...(existing ?? [])];\n const overridden = new Set(merged.map(requirementName));\n for (const entry of overrides) {\n const name = requirementName(entry);\n if (!overridden.has(name)) {\n merged.push(entry);\n overridden.add(name);\n }\n }\n if (merged.length === (existing ?? []).length) {\n return false;\n }\n\n toml.tool ??= {};\n toml.tool.uv ??= {};\n toml.tool.uv['override-dependencies'] = merged;\n tree.write(rootPyprojectPath, stringify(toml as JsonMap));\n return true;\n};\n\nexport const addDependenciesToDependencyGroupInPyProjectToml = <\n const D extends DependencyDeclaration,\n>(\n tree: Tree,\n projectRoot: string,\n group: string,\n declaration: D,\n deps: readonly DeclaredPy<D>[],\n) => {\n const projectToml = parse(\n tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'),\n ) as UVPyprojectToml;\n projectToml['dependency-groups'] = {\n ...projectToml['dependency-groups'],\n [group]: mergeDeps(\n declaration,\n projectToml['dependency-groups']?.[group],\n deps,\n ),\n };\n tree.write(\n joinPathFragments(projectRoot, 'pyproject.toml'),\n stringify(projectToml),\n );\n};\n\nexport interface UvxWithDep {\n dep: string;\n version: string;\n specifier?: string;\n}\n\n/**\n * Render a uvx command for a given dependency\n * Pins the version to the one specified in versions.ts\n * Optionally specify withDeps to render uvx --with dep==version\n */\nexport const uvxCommand = (\n dep: IPyDepVersion,\n args?: string,\n withDeps?: UvxWithDep[],\n): string => {\n // Pins the tool for a one-off invocation; nothing is added to a manifest, so\n // this needs no declaration.\n return `uvx --from ${dep}${PY_VERSIONS[dep]} ${\n withDeps\n ? `${withDeps\n .map(\n ({ dep, version, specifier }) =>\n `--with ${dep}${specifier ?? '=='}${version}`,\n )\n .join(' ')} `\n : ''\n }${dep}${args ? ` ${args}` : ''}`;\n};\n\n/**\n * Resolve the PEP 503 distribution name of a Python project from its\n * `pyproject.toml` `[project].name`, falling back to normalising the supplied\n * Nx project id when the project has no readable pyproject yet.\n *\n * This is the authoritative name uv writes into `uv.lock`, so it is the value\n * that must appear in a dependent's `[project].dependencies` /\n * `[tool.uv.sources]` for `@nxlv/python` to infer the workspace dependency\n * edge. Always normalised so the result is a valid distribution name even if\n * an older project still carries a dotted `[project].name`.\n */\nconst getPyDistributionName = (\n tree: Tree,\n project: { name?: string; root: string },\n): string => {\n const pyprojectPath = joinPathFragments(project.root, 'pyproject.toml');\n const projectName = tree.exists(pyprojectPath)\n ? (readToml(tree, pyprojectPath) as unknown as UVPyprojectToml).project\n ?.name\n : undefined;\n return normalizeDistributionName(projectName ?? project.name ?? '');\n};\n\n/**\n * Add a workspace dependency from one Python project to another.\n * Adds the dependency to [project].dependencies and [tool.uv.sources].\n *\n * Both projects are passed as Nx project configurations (not names): the\n * dependency's PEP 503 distribution name is derived from its own\n * `pyproject.toml` here, so callers cannot accidentally pass the dotted Nx id\n * (which @nxlv/python splits on `.` and drops, losing the project-graph edge).\n * This is the single entry point all generators use to wire a Python workspace\n * dependency.\n */\nexport const addWorkspaceDependencyToPyProject = (\n tree: Tree,\n dependentProject: { name?: string; root: string },\n dependencyProject: { name?: string; root: string },\n): void => {\n const pyprojectPath = joinPathFragments(\n dependentProject.root,\n 'pyproject.toml',\n );\n if (!tree.exists(pyprojectPath)) {\n return;\n }\n\n const distributionName = getPyDistributionName(tree, dependencyProject);\n\n updateToml(tree, pyprojectPath, (toml: UVPyprojectToml) => {\n // Add to [project].dependencies if not already present\n const deps = toml.project?.dependencies ?? [];\n if (\n !deps.some(\n (d) =>\n d === distributionName ||\n d.startsWith(`${distributionName}>=`) ||\n d.startsWith(`${distributionName}==`),\n )\n ) {\n toml.project.dependencies = [...deps, distributionName];\n }\n\n // Add to [tool.uv.sources] with workspace = true\n toml.tool = toml.tool ?? {};\n (toml.tool as any).uv = (toml.tool as any).uv ?? {};\n (toml.tool as any).uv.sources = (toml.tool as any).uv.sources ?? {};\n (toml.tool as any).uv.sources[distributionName] = {\n workspace: true,\n };\n\n return toml;\n });\n};\n"],"names":["parse","stringify","joinPathFragments","parsePipRequirementsLine","normalizeDistributionName","readToml","tryReadToml","updateToml","PY_UV_OVERRIDES","PY_VERSIONS","withPyVersions","depKey","dep","parsed","type","extras","sort","join","name","mergeDeps","declaration","existing","deps","incoming","Map","map","d","merged","get","existingKeys","Set","key","has","push","addDependenciesToPyProjectToml","tree","projectRoot","projectToml","read","project","dependencies","write","addUvOverrideDependencies","requirementName","requirement","undefined","requirements","rootPyprojectPath","toml","names","overrides","Object","entries","flatMap","dependency","length","tool","uv","Array","isArray","overridden","entry","add","addDependenciesToDependencyGroupInPyProjectToml","group","uvxCommand","args","withDeps","version","specifier","getPyDistributionName","pyprojectPath","root","projectName","exists","addWorkspaceDependencyToPyProject","dependentProject","dependencyProject","distributionName","some","startsWith","sources","workspace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { parse, stringify } from '@iarna/toml';\nimport { joinPathFragments, type Tree } from '@nx/devkit';\nimport { parsePipRequirementsLine } from 'pip-requirements-js';\nimport type {\n DeclaredPy,\n DependencyDeclaration,\n} from './declared-dependencies.js';\nimport { normalizeDistributionName } from './names.js';\nimport type { UVPyprojectToml } from './nxlv-python.js';\nimport { readToml, updateToml } from './toml.js';\nimport { type IPyDepVersion, PY_VERSIONS, withPyVersions } from './versions.js';\n\n// Dedup key that distinguishes bare packages from the same package with\n// extras (e.g. `foo` vs `foo[bar]`), so adding a bare dep doesn't drop a\n// previously-added variant with extras.\nconst depKey = (dep: string): string => {\n const parsed = parsePipRequirementsLine(dep);\n if (parsed?.type !== 'ProjectName') {\n return dep;\n }\n const extras = [...(parsed.extras ?? [])].sort().join(',');\n return extras ? `${parsed.name}[${extras}]` : parsed.name;\n};\n\nconst mergeDeps = (\n declaration: DependencyDeclaration,\n existing: readonly string[] | undefined,\n deps: readonly IPyDepVersion[],\n): string[] => {\n // Update deps in place by key so re-running does not reorder the list:\n // existing deps keep their position (with their version refreshed), and only\n // genuinely-new deps are appended.\n const incoming = new Map(\n withPyVersions(declaration, deps).map((d) => [depKey(d), d]),\n );\n const merged = (existing ?? []).map(\n (dep) => incoming.get(depKey(dep)) ?? dep,\n );\n const existingKeys = new Set((existing ?? []).map(depKey));\n for (const [key, dep] of incoming) {\n if (!existingKeys.has(key)) {\n merged.push(dep);\n }\n }\n return merged;\n};\n\n/**\n * Add dependencies to a pyproject.toml file\n */\nexport const addDependenciesToPyProjectToml = <\n const D extends DependencyDeclaration,\n>(\n tree: Tree,\n projectRoot: string,\n declaration: D,\n deps: readonly DeclaredPy<D>[],\n) => {\n const projectToml = parse(\n tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'),\n ) as UVPyprojectToml;\n projectToml.project.dependencies = mergeDeps(\n declaration,\n projectToml.project?.dependencies,\n deps,\n );\n tree.write(\n joinPathFragments(projectRoot, 'pyproject.toml'),\n stringify(projectToml),\n );\n};\n\nexport const addDependenciesToDependencyGroupInPyProjectToml = <\n const D extends DependencyDeclaration,\n>(\n tree: Tree,\n projectRoot: string,\n group: string,\n declaration: D,\n deps: readonly DeclaredPy<D>[],\n) => {\n const projectToml = parse(\n tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'),\n ) as UVPyprojectToml;\n projectToml['dependency-groups'] = {\n ...projectToml['dependency-groups'],\n [group]: mergeDeps(\n declaration,\n projectToml['dependency-groups']?.[group],\n deps,\n ),\n };\n tree.write(\n joinPathFragments(projectRoot, 'pyproject.toml'),\n stringify(projectToml),\n );\n};\n\nexport interface UvxWithDep {\n dep: string;\n version: string;\n specifier?: string;\n}\n\n/**\n * Render a uvx command for a given dependency\n * Pins the version to the one specified in versions.ts\n * Optionally specify withDeps to render uvx --with dep==version\n */\nexport const uvxCommand = (\n dep: IPyDepVersion,\n args?: string,\n withDeps?: UvxWithDep[],\n): string => {\n // Pins the tool for a one-off invocation; nothing is added to a manifest, so\n // this needs no declaration.\n return `uvx --from ${dep}${PY_VERSIONS[dep]} ${\n withDeps\n ? `${withDeps\n .map(\n ({ dep, version, specifier }) =>\n `--with ${dep}${specifier ?? '=='}${version}`,\n )\n .join(' ')} `\n : ''\n }${dep}${args ? ` ${args}` : ''}`;\n};\n\n/**\n * Resolve the PEP 503 distribution name of a Python project from its\n * `pyproject.toml` `[project].name`, falling back to normalising the supplied\n * Nx project id when the project has no readable pyproject yet.\n *\n * This is the authoritative name uv writes into `uv.lock`, so it is the value\n * that must appear in a dependent's `[project].dependencies` /\n * `[tool.uv.sources]` for `@nxlv/python` to infer the workspace dependency\n * edge. Always normalised so the result is a valid distribution name even if\n * an older project still carries a dotted `[project].name`.\n */\nconst getPyDistributionName = (\n tree: Tree,\n project: { name?: string; root: string },\n): string => {\n const pyprojectPath = joinPathFragments(project.root, 'pyproject.toml');\n const projectName = tree.exists(pyprojectPath)\n ? (readToml(tree, pyprojectPath) as unknown as UVPyprojectToml).project\n ?.name\n : undefined;\n return normalizeDistributionName(projectName ?? project.name ?? '');\n};\n\n/**\n * Add a workspace dependency from one Python project to another.\n * Adds the dependency to [project].dependencies and [tool.uv.sources].\n *\n * Both projects are passed as Nx project configurations (not names): the\n * dependency's PEP 503 distribution name is derived from its own\n * `pyproject.toml` here, so callers cannot accidentally pass the dotted Nx id\n * (which @nxlv/python splits on `.` and drops, losing the project-graph edge).\n * This is the single entry point all generators use to wire a Python workspace\n * dependency.\n */\nexport const addWorkspaceDependencyToPyProject = (\n tree: Tree,\n dependentProject: { name?: string; root: string },\n dependencyProject: { name?: string; root: string },\n): void => {\n const pyprojectPath = joinPathFragments(\n dependentProject.root,\n 'pyproject.toml',\n );\n if (!tree.exists(pyprojectPath)) {\n return;\n }\n\n const distributionName = getPyDistributionName(tree, dependencyProject);\n\n updateToml(tree, pyprojectPath, (toml: UVPyprojectToml) => {\n // Add to [project].dependencies if not already present\n const deps = toml.project?.dependencies ?? [];\n if (\n !deps.some(\n (d) =>\n d === distributionName ||\n d.startsWith(`${distributionName}>=`) ||\n d.startsWith(`${distributionName}==`),\n )\n ) {\n toml.project.dependencies = [...deps, distributionName];\n }\n\n // Add to [tool.uv.sources] with workspace = true\n toml.tool = toml.tool ?? {};\n (toml.tool as any).uv = (toml.tool as any).uv ?? {};\n (toml.tool as any).uv.sources = (toml.tool as any).uv.sources ?? {};\n (toml.tool as any).uv.sources[distributionName] = {\n workspace: true,\n };\n\n return toml;\n });\n};\n"],"names":["parse","stringify","joinPathFragments","parsePipRequirementsLine","normalizeDistributionName","readToml","updateToml","PY_VERSIONS","withPyVersions","depKey","dep","parsed","type","extras","sort","join","name","mergeDeps","declaration","existing","deps","incoming","Map","map","d","merged","get","existingKeys","Set","key","has","push","addDependenciesToPyProjectToml","tree","projectRoot","projectToml","read","project","dependencies","write","addDependenciesToDependencyGroupInPyProjectToml","group","uvxCommand","args","withDeps","version","specifier","getPyDistributionName","pyprojectPath","root","projectName","exists","undefined","addWorkspaceDependencyToPyProject","dependentProject","dependencyProject","distributionName","toml","some","startsWith","tool","uv","sources","workspace"],"mappings":"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"}
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -10,30 +10,30 @@ export declare const TS_VERSIONS: {
|
|
|
10
10
|
readonly '@a2a-js/sdk': "0.3.14";
|
|
11
11
|
readonly '@aws/aws-distro-opentelemetry-node-autoinstrumentation': "0.13.0";
|
|
12
12
|
readonly '@opentelemetry/propagator-jaeger': "2.12.0";
|
|
13
|
-
readonly minimatch: "
|
|
13
|
+
readonly minimatch: "11.0.1";
|
|
14
14
|
readonly 'deepmerge-ts': "8.0.2";
|
|
15
15
|
readonly mysql2: "3.24.6";
|
|
16
|
-
readonly '@aws-sdk/client-dynamodb': "3.
|
|
17
|
-
readonly '@aws-sdk/client-api-gateway': "3.
|
|
18
|
-
readonly '@aws-sdk/client-iam': "3.
|
|
19
|
-
readonly '@aws-sdk/client-bedrock-agentcore': "3.
|
|
20
|
-
readonly '@aws-sdk/client-bedrock-runtime': "3.
|
|
21
|
-
readonly '@aws-sdk/client-greengrassv2': "3.
|
|
22
|
-
readonly '@aws-sdk/client-s3': "3.
|
|
23
|
-
readonly '@aws-sdk/client-sts': "3.
|
|
24
|
-
readonly '@aws-sdk/client-cognito-identity-provider': "3.
|
|
25
|
-
readonly '@aws-sdk/credential-providers': "3.
|
|
26
|
-
readonly '@aws-sdk/credential-provider-cognito-identity': "3.972.
|
|
27
|
-
readonly '@aws-sdk/client-secrets-manager': "3.
|
|
28
|
-
readonly '@aws-sdk/rds-signer': "3.
|
|
29
|
-
readonly '@smithy/server-apigateway': "0.3.
|
|
30
|
-
readonly '@smithy/server-node': "0.3.
|
|
16
|
+
readonly '@aws-sdk/client-dynamodb': "3.1161.0";
|
|
17
|
+
readonly '@aws-sdk/client-api-gateway': "3.1161.0";
|
|
18
|
+
readonly '@aws-sdk/client-iam': "3.1161.0";
|
|
19
|
+
readonly '@aws-sdk/client-bedrock-agentcore': "3.1161.0";
|
|
20
|
+
readonly '@aws-sdk/client-bedrock-runtime': "3.1161.0";
|
|
21
|
+
readonly '@aws-sdk/client-greengrassv2': "3.1161.0";
|
|
22
|
+
readonly '@aws-sdk/client-s3': "3.1161.0";
|
|
23
|
+
readonly '@aws-sdk/client-sts': "3.1161.0";
|
|
24
|
+
readonly '@aws-sdk/client-cognito-identity-provider': "3.1161.0";
|
|
25
|
+
readonly '@aws-sdk/credential-providers': "3.1161.0";
|
|
26
|
+
readonly '@aws-sdk/credential-provider-cognito-identity': "3.972.79";
|
|
27
|
+
readonly '@aws-sdk/client-secrets-manager': "3.1161.0";
|
|
28
|
+
readonly '@aws-sdk/rds-signer': "3.1161.0";
|
|
29
|
+
readonly '@smithy/server-apigateway': "0.3.5";
|
|
30
|
+
readonly '@smithy/server-node': "0.3.5";
|
|
31
31
|
readonly '@aws-lambda-powertools/logger': "2.36.0";
|
|
32
32
|
readonly '@aws-lambda-powertools/metrics': "2.36.0";
|
|
33
33
|
readonly '@aws-lambda-powertools/parameters': "2.36.0";
|
|
34
34
|
readonly '@aws-lambda-powertools/tracer': "2.36.0";
|
|
35
35
|
readonly '@aws-lambda-powertools/parser': "2.36.0";
|
|
36
|
-
readonly '@aws-sdk/client-appconfigdata': "3.
|
|
36
|
+
readonly '@aws-sdk/client-appconfigdata': "3.1161.0";
|
|
37
37
|
readonly '@middy/core': "7.9.2";
|
|
38
38
|
readonly '@nxlv/python': "23.3.1";
|
|
39
39
|
readonly '@nx-extend/terraform': "10.4.1";
|
|
@@ -46,34 +46,34 @@ export declare const TS_VERSIONS: {
|
|
|
46
46
|
readonly '@nx/workspace': "23.3.1";
|
|
47
47
|
readonly 'create-nx-workspace': "23.3.1";
|
|
48
48
|
readonly '@swc-node/register': "1.12.1";
|
|
49
|
-
readonly '@swc/core': "1.16.
|
|
49
|
+
readonly '@swc/core': "1.16.21";
|
|
50
50
|
readonly '@modelcontextprotocol/sdk': "1.32.2";
|
|
51
51
|
readonly '@modelcontextprotocol/client': "2.4.0";
|
|
52
|
-
readonly '@modelcontextprotocol/inspector': "2.
|
|
52
|
+
readonly '@modelcontextprotocol/inspector': "2.13.0";
|
|
53
53
|
readonly '@ag-ui/a2ui-toolkit': "0.0.5";
|
|
54
54
|
readonly '@ag-ui/aws-strands': "1.0.1";
|
|
55
55
|
readonly '@ag-ui/client': "1.0.2";
|
|
56
56
|
readonly '@ag-ui/core': "1.0.2";
|
|
57
57
|
readonly '@ag-ui/encoder': "1.0.2";
|
|
58
58
|
readonly 'agent-chat-cli': "0.3.0";
|
|
59
|
-
readonly '@copilotkit/react-core': "1.
|
|
59
|
+
readonly '@copilotkit/react-core': "1.83.0";
|
|
60
60
|
readonly rxjs: "7.8.2";
|
|
61
|
-
readonly '@strands-agents/sdk': "1.
|
|
61
|
+
readonly '@strands-agents/sdk': "1.23.0";
|
|
62
62
|
readonly '@tanstack/react-router': "1.170.46";
|
|
63
63
|
readonly '@tanstack/router-plugin': "1.168.48";
|
|
64
64
|
readonly '@tanstack/router-generator': "1.167.46";
|
|
65
65
|
readonly '@tanstack/virtual-file-routes': "1.162.0";
|
|
66
66
|
readonly '@tanstack/router-utils': "1.162.4";
|
|
67
|
-
readonly '@cloudscape-design/board-components': "3.0.
|
|
68
|
-
readonly '@cloudscape-design/chat-components': "1.0.
|
|
69
|
-
readonly '@cloudscape-design/components': "3.0.
|
|
67
|
+
readonly '@cloudscape-design/board-components': "3.0.243";
|
|
68
|
+
readonly '@cloudscape-design/chat-components': "1.0.185";
|
|
69
|
+
readonly '@cloudscape-design/components': "3.0.1407";
|
|
70
70
|
readonly '@cloudscape-design/global-styles': "1.0.71";
|
|
71
|
-
readonly '@tanstack/react-query': "5.
|
|
72
|
-
readonly '@tanstack/react-query-devtools': "5.
|
|
73
|
-
readonly '@trpc/tanstack-react-query': "11.
|
|
74
|
-
readonly '@trpc/client': "11.
|
|
75
|
-
readonly '@trpc/server': "11.
|
|
76
|
-
readonly '@types/node': "26.6.
|
|
71
|
+
readonly '@tanstack/react-query': "5.105.0";
|
|
72
|
+
readonly '@tanstack/react-query-devtools': "5.105.0";
|
|
73
|
+
readonly '@trpc/tanstack-react-query': "11.22.1";
|
|
74
|
+
readonly '@trpc/client': "11.22.1";
|
|
75
|
+
readonly '@trpc/server': "11.22.1";
|
|
76
|
+
readonly '@types/node': "26.6.6";
|
|
77
77
|
readonly '@types/aws-lambda': "8.10.164";
|
|
78
78
|
readonly '@types/cors': "2.8.19";
|
|
79
79
|
readonly '@types/js-yaml': "4.0.9";
|
|
@@ -82,30 +82,30 @@ export declare const TS_VERSIONS: {
|
|
|
82
82
|
readonly '@types/express': "5.0.6";
|
|
83
83
|
readonly '@smithy/config-resolver': "4.7.2";
|
|
84
84
|
readonly '@smithy/node-config-provider': "4.6.2";
|
|
85
|
-
readonly '@smithy/node-http-handler': "4.
|
|
85
|
+
readonly '@smithy/node-http-handler': "4.14.1";
|
|
86
86
|
readonly '@smithy/types': "4.19.0";
|
|
87
87
|
readonly '@vitest/coverage-v8': "5.0.5";
|
|
88
88
|
readonly '@vitest/ui': "5.0.5";
|
|
89
89
|
readonly '@astrojs/react': "6.0.6";
|
|
90
|
-
readonly '@astrojs/starlight': "0.42.
|
|
91
|
-
readonly astro: "7.4.
|
|
90
|
+
readonly '@astrojs/starlight': "0.42.8";
|
|
91
|
+
readonly astro: "7.4.4";
|
|
92
92
|
readonly cookie: "2.0.1";
|
|
93
93
|
readonly aws4fetch: "1.0.20";
|
|
94
|
-
readonly 'aws-cdk': "2.
|
|
95
|
-
readonly 'aws-cdk-lib': "2.
|
|
94
|
+
readonly 'aws-cdk': "2.1147.0";
|
|
95
|
+
readonly 'aws-cdk-lib': "2.275.0";
|
|
96
96
|
readonly 'aws-iot-device-sdk-v2': "1.28.2";
|
|
97
97
|
readonly 'aws-xray-sdk-core': "3.12.0";
|
|
98
98
|
readonly constructs: "10.8.1";
|
|
99
99
|
readonly cors: "2.8.6";
|
|
100
100
|
readonly chalk: "6.0.1";
|
|
101
101
|
readonly 'class-variance-authority': "0.7.1";
|
|
102
|
-
readonly cn: "0.5.
|
|
102
|
+
readonly cn: "0.5.1";
|
|
103
103
|
readonly commander: "15.0.0";
|
|
104
104
|
readonly electrodb: "3.9.3";
|
|
105
105
|
readonly esbuild: "0.28.2";
|
|
106
106
|
readonly 'event-source-polyfill': "1.0.31";
|
|
107
107
|
readonly '@types/event-source-polyfill': "1.0.5";
|
|
108
|
-
readonly '@biomejs/biome': "2.6.
|
|
108
|
+
readonly '@biomejs/biome': "2.6.4";
|
|
109
109
|
readonly '@prisma/adapter-mariadb': "7.10.1";
|
|
110
110
|
readonly '@prisma/adapter-pg': "7.10.1";
|
|
111
111
|
readonly '@prisma/client': "7.10.1";
|
|
@@ -118,7 +118,7 @@ export declare const TS_VERSIONS: {
|
|
|
118
118
|
readonly '@types/fs-extra': "11.0.4";
|
|
119
119
|
readonly 'js-yaml': "4.3.2";
|
|
120
120
|
readonly mariadb: "3.5.4";
|
|
121
|
-
readonly mise: "2026.10.
|
|
121
|
+
readonly mise: "2026.10.25";
|
|
122
122
|
readonly npm: "12.2.1";
|
|
123
123
|
readonly 'npm-check-updates': "23.1.1";
|
|
124
124
|
readonly 'oidc-client-ts': "3.5.0";
|
|
@@ -127,8 +127,8 @@ export declare const TS_VERSIONS: {
|
|
|
127
127
|
readonly 'react-oidc-context': "3.3.1";
|
|
128
128
|
readonly react: "19.3.1";
|
|
129
129
|
readonly 'react-dom': "19.3.1";
|
|
130
|
-
readonly rolldown: "1.2.
|
|
131
|
-
readonly 'rolldown-plugin-dts': "0.
|
|
130
|
+
readonly rolldown: "1.2.16";
|
|
131
|
+
readonly 'rolldown-plugin-dts': "0.29.0";
|
|
132
132
|
readonly shx: "0.4.0";
|
|
133
133
|
readonly 'simple-git': "4.0.2";
|
|
134
134
|
readonly 'source-map-support': "0.5.21";
|
|
@@ -136,16 +136,16 @@ export declare const TS_VERSIONS: {
|
|
|
136
136
|
readonly tailwindcss: "4.3.3";
|
|
137
137
|
readonly '@tailwindcss/vite': "4.3.3";
|
|
138
138
|
readonly tsx: "4.23.15";
|
|
139
|
-
readonly 'lucide-react': "1.
|
|
139
|
+
readonly 'lucide-react': "1.66.0";
|
|
140
140
|
readonly 'radix-ui': "1.8.1";
|
|
141
|
-
readonly shadcn: "4.
|
|
141
|
+
readonly shadcn: "4.23.0";
|
|
142
142
|
readonly 'tw-animate-css': "1.4.0";
|
|
143
143
|
readonly vite: "8.3.5";
|
|
144
144
|
readonly typescript: "6.0.3";
|
|
145
145
|
readonly vitest: "5.0.5";
|
|
146
146
|
readonly jsdom: "29.1.1";
|
|
147
147
|
readonly zod: "4.6.7";
|
|
148
|
-
readonly ws: "8.22.
|
|
148
|
+
readonly ws: "8.22.1";
|
|
149
149
|
};
|
|
150
150
|
export type ITsDepVersion = keyof typeof TS_VERSIONS;
|
|
151
151
|
/**
|
|
@@ -200,31 +200,31 @@ export declare const PY_VERSIONS: {
|
|
|
200
200
|
readonly 'ag-ui-protocol': "==0.1.22";
|
|
201
201
|
readonly 'ag-ui-strands': "==0.4.1";
|
|
202
202
|
readonly aiosqlite: "==0.22.1";
|
|
203
|
-
readonly 'aws-lambda-powertools': "==3.
|
|
204
|
-
readonly 'aws-lambda-powertools[tracer]': "==3.
|
|
205
|
-
readonly 'aws-lambda-powertools[parser]': "==3.
|
|
206
|
-
readonly 'aws-opentelemetry-distro': "==0.
|
|
203
|
+
readonly 'aws-lambda-powertools': "==3.38.0";
|
|
204
|
+
readonly 'aws-lambda-powertools[tracer]': "==3.38.0";
|
|
205
|
+
readonly 'aws-lambda-powertools[parser]': "==3.38.0";
|
|
206
|
+
readonly 'aws-opentelemetry-distro': "==0.22.0";
|
|
207
207
|
readonly awsiotsdk: "==1.31.0";
|
|
208
|
-
readonly 'bedrock-agentcore': "==1.25.
|
|
209
|
-
readonly boto3: "==1.43.
|
|
210
|
-
readonly checkov: "==3.
|
|
208
|
+
readonly 'bedrock-agentcore': "==1.25.2";
|
|
209
|
+
readonly boto3: "==1.43.123";
|
|
210
|
+
readonly checkov: "==3.4.0";
|
|
211
211
|
readonly fastapi: "==0.162.0";
|
|
212
212
|
readonly 'fastapi[standard]': "==0.162.0";
|
|
213
213
|
readonly httpx: "==0.28.1";
|
|
214
214
|
readonly langchain: "==1.4.7";
|
|
215
|
-
readonly 'langchain-aws': "==1.9.
|
|
215
|
+
readonly 'langchain-aws': "==1.9.1";
|
|
216
216
|
readonly 'langchain-mcp-adapters': "==0.3.2";
|
|
217
|
-
readonly langgraph: "==1.2.
|
|
217
|
+
readonly langgraph: "==1.2.19";
|
|
218
218
|
readonly 'langgraph-checkpoint-aws': "==1.2.6";
|
|
219
|
-
readonly 'langgraph-checkpoint-sqlite': "==3.1.
|
|
219
|
+
readonly 'langgraph-checkpoint-sqlite': "==3.1.3";
|
|
220
220
|
readonly mcp: "==1.28.1";
|
|
221
221
|
readonly 'pip-check-updates': "==0.29.0";
|
|
222
222
|
readonly 'pip-licenses': "==5.5.5";
|
|
223
|
-
readonly pydantic: "==2.14.
|
|
224
|
-
readonly ruff: "==0.17.
|
|
225
|
-
readonly 'strands-agents': "==1.
|
|
226
|
-
readonly 'strands-agents[a2a]': "==1.
|
|
227
|
-
readonly 'strands-agents-tools': "==0.8.
|
|
223
|
+
readonly pydantic: "==2.14.2";
|
|
224
|
+
readonly ruff: "==0.17.3";
|
|
225
|
+
readonly 'strands-agents': "==1.63.0";
|
|
226
|
+
readonly 'strands-agents[a2a]': "==1.63.0";
|
|
227
|
+
readonly 'strands-agents-tools': "==0.8.11";
|
|
228
228
|
readonly ty: "==0.0.89";
|
|
229
229
|
readonly pynamodb: "==6.1.0";
|
|
230
230
|
readonly uvicorn: "==0.54.0";
|
|
@@ -235,14 +235,6 @@ export declare const PY_VERSIONS: {
|
|
|
235
235
|
readonly greenlet: "==3.5.6";
|
|
236
236
|
};
|
|
237
237
|
export type IPyDepVersion = keyof typeof PY_VERSIONS;
|
|
238
|
-
/**
|
|
239
|
-
* Entries for the workspace root `[tool.uv] override-dependencies`, keyed by
|
|
240
|
-
* the vended package whose own requirement they override. They are written
|
|
241
|
-
* whenever a project depends on the key.
|
|
242
|
-
*/
|
|
243
|
-
export declare const PY_UV_OVERRIDES: {
|
|
244
|
-
readonly 'strands-agents-tools': readonly ["pillow>=13.0.0"];
|
|
245
|
-
};
|
|
246
238
|
/**
|
|
247
239
|
* Add versions to the given dependencies
|
|
248
240
|
*/
|
|
@@ -264,7 +256,7 @@ export declare const JAVA_VERSIONS: {
|
|
|
264
256
|
readonly 'software.amazon.smithy:smithy-aws-traits': "1.74.1";
|
|
265
257
|
readonly 'software.amazon.smithy:smithy-validation-model': "1.74.1";
|
|
266
258
|
readonly 'software.amazon.smithy:smithy-openapi': "1.74.1";
|
|
267
|
-
readonly 'software.amazon.smithy.typescript:smithy-aws-typescript-codegen': "0.
|
|
259
|
+
readonly 'software.amazon.smithy.typescript:smithy-aws-typescript-codegen': "0.55.0";
|
|
268
260
|
};
|
|
269
261
|
export type IJavaVersion = keyof typeof JAVA_VERSIONS;
|
|
270
262
|
/** The Maven coordinates the version update resolves, in declaration order. */
|
|
@@ -392,8 +384,8 @@ export declare const terraformLambdaRuntimeVars: () => {
|
|
|
392
384
|
* Pinned exactly (no range operator) so generated infrastructure is reproducible.
|
|
393
385
|
*/
|
|
394
386
|
export declare const TERRAFORM_VERSIONS: {
|
|
395
|
-
readonly aws: "6.
|
|
396
|
-
readonly awscc: "1.
|
|
387
|
+
readonly aws: "6.71.0";
|
|
388
|
+
readonly awscc: "1.108.0";
|
|
397
389
|
readonly random: "3.9.1";
|
|
398
390
|
readonly null: "3.3.2";
|
|
399
391
|
readonly archive: "2.8.1";
|
|
@@ -407,8 +399,8 @@ export type ITerraformProviderVersion = keyof typeof TERRAFORM_VERSIONS;
|
|
|
407
399
|
* generated `.tf` templates (e.g. `version = "<%- awsProviderVersion %>"`)
|
|
408
400
|
*/
|
|
409
401
|
export declare const terraformProviderVersions: () => {
|
|
410
|
-
awsProviderVersion: "6.
|
|
411
|
-
awsccProviderVersion: "1.
|
|
402
|
+
awsProviderVersion: "6.71.0";
|
|
403
|
+
awsccProviderVersion: "1.108.0";
|
|
412
404
|
randomProviderVersion: "3.9.1";
|
|
413
405
|
nullProviderVersion: "3.3.2";
|
|
414
406
|
archiveProviderVersion: "2.8.1";
|