@mgwilt/nx-uv 0.1.3-beta.0 → 0.1.3-beta.1

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.
Files changed (38) hide show
  1. package/README.md +265 -55
  2. package/package.json +11 -3
  3. package/src/executors/shared/run-uv.js +8 -8
  4. package/src/executors/shared/run-uv.js.map +1 -1
  5. package/src/generators/integration/integration.js +43 -17
  6. package/src/generators/integration/integration.js.map +1 -1
  7. package/src/generators/project/project.js +71 -1
  8. package/src/generators/project/project.js.map +1 -1
  9. package/src/plugins/create-nodes.d.ts +8 -1
  10. package/src/plugins/create-nodes.js +104 -36
  11. package/src/plugins/create-nodes.js.map +1 -1
  12. package/src/tools/llms.d.ts +59 -0
  13. package/src/tools/llms.js +324 -0
  14. package/src/tools/llms.js.map +1 -0
  15. package/src/executors/add/add.d.ts +0 -4
  16. package/src/executors/add/add.js +0 -25
  17. package/src/executors/add/add.js.map +0 -1
  18. package/src/executors/add/schema.d.ts +0 -8
  19. package/src/executors/add/schema.json +0 -43
  20. package/src/executors/run/run.d.ts +0 -4
  21. package/src/executors/run/run.js +0 -27
  22. package/src/executors/run/run.js.map +0 -1
  23. package/src/executors/run/schema.d.ts +0 -9
  24. package/src/executors/run/schema.json +0 -48
  25. package/src/executors/sync/schema.d.ts +0 -6
  26. package/src/executors/sync/schema.json +0 -30
  27. package/src/executors/sync/sync.d.ts +0 -4
  28. package/src/executors/sync/sync.js +0 -15
  29. package/src/executors/sync/sync.js.map +0 -1
  30. package/src/generators/python-package/files/package/README.md.template +0 -3
  31. package/src/generators/python-package/files/package/pyproject.toml.template +0 -14
  32. package/src/generators/python-package/files/package/src/__moduleName__/__init__.py.template +0 -5
  33. package/src/generators/python-package/files/package/tests/test_smoke.py.template +0 -5
  34. package/src/generators/python-package/python-package.d.ts +0 -4
  35. package/src/generators/python-package/python-package.js +0 -98
  36. package/src/generators/python-package/python-package.js.map +0 -1
  37. package/src/generators/python-package/schema.d.ts +0 -7
  38. package/src/generators/python-package/schema.json +0 -36
package/README.md CHANGED
@@ -1,41 +1,129 @@
1
1
  # @mgwilt/nx-uv
2
2
 
3
- Nx plugin for integrating [uv](https://docs.astral.sh/uv/) workflows into an Nx monorepo.
3
+ [Nx](https://nx.dev/) plugin for running [uv](https://docs.astral.sh/uv/) workflows in [Nx](https://nx.dev/) monorepos.
4
4
 
5
5
  [![CI](https://github.com/mgwilt/nx-uv/actions/workflows/ci.yml/badge.svg)](https://github.com/mgwilt/nx-uv/actions/workflows/ci.yml)
6
6
  [![Coverage](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/mgwilt/nx-uv/badges/.github/badges/coverage.json)](https://github.com/mgwilt/nx-uv/blob/badges/.github/badges/coverage.json)
7
- [![npm beta](https://img.shields.io/npm/v/@mgwilt/nx-uv/beta?label=npm%20beta)](https://www.npmjs.com/package/@mgwilt/nx-uv?activeTab=versions)
7
+ [![npm beta](https://img.shields.io/npm/v/%40mgwilt%2Fnx-uv/beta?label=npm%20beta&cacheSeconds=300)](https://www.npmjs.com/package/@mgwilt/nx-uv?activeTab=versions)
8
8
 
9
- ## Coverage model
9
+ ## When to use this plugin
10
10
 
11
- The plugin uses a hybrid model:
11
+ - Run [uv](https://docs.astral.sh/uv/) commands through [Nx](https://nx.dev/) targets instead of ad-hoc shell scripts.
12
+ - Infer useful [uv](https://docs.astral.sh/uv/) targets from existing `pyproject.toml` files.
13
+ - Scaffold [uv](https://docs.astral.sh/uv/)-ready [Python](https://www.python.org/) projects and workspace config.
14
+ - Keep [Python](https://www.python.org/) work in the same task graph, caching, and CI flow as the rest of your monorepo.
12
15
 
13
- - Typed executor families for major uv command groups
14
- - Universal executor fallback for complete command passthrough
15
- - Inferred targets via Nx plugin `createNodesV2` from `pyproject.toml`
16
- - Explicit generators for workspace/project scaffolding, conversion, migration, and integrations
16
+ ## Tools
17
17
 
18
- ## Executors
18
+ - Executors for [uv](https://docs.astral.sh/uv/) command families:
19
+ - `@mgwilt/nx-uv:project`
20
+ - `@mgwilt/nx-uv:uv`
21
+ - `@mgwilt/nx-uv:pip`
22
+ - `@mgwilt/nx-uv:tool`
23
+ - `@mgwilt/nx-uv:python`
24
+ - `@mgwilt/nx-uv:auth`
25
+ - `@mgwilt/nx-uv:cache`
26
+ - `@mgwilt/nx-uv:self`
27
+ - Generators:
28
+ - `@mgwilt/nx-uv:workspace`
29
+ - `@mgwilt/nx-uv:project`
30
+ - `@mgwilt/nx-uv:integration`
31
+ - `@mgwilt/nx-uv:convert`
32
+ - [Nx](https://nx.dev/) plugin inference (`createNodesV2`) for `pyproject.toml`.
19
33
 
20
- - `@mgwilt/nx-uv:uv` universal uv passthrough
21
- - `@mgwilt/nx-uv:project` top-level project flows (`run`, `sync`, `lock`, `build`, etc.)
22
- - `@mgwilt/nx-uv:pip` pip interface subcommands
23
- - `@mgwilt/nx-uv:tool` tool management subcommands
24
- - `@mgwilt/nx-uv:python` Python management subcommands
25
- - `@mgwilt/nx-uv:auth` auth subcommands
26
- - `@mgwilt/nx-uv:cache` cache subcommands
27
- - `@mgwilt/nx-uv:self` self-management subcommands
34
+ ## Install
28
35
 
29
- ## Generators
36
+ Prerequisites:
30
37
 
31
- - `@mgwilt/nx-uv:workspace` configure root uv workspace + Nx inference plugin options
32
- - `@mgwilt/nx-uv:project` generate Python app/lib/script projects with uv targets
33
- - `@mgwilt/nx-uv:convert` convert existing projects to redesigned executors/targets
34
- - `@mgwilt/nx-uv:integration` scaffold integration templates
38
+ - [Nx](https://nx.dev/) workspace
39
+ - [uv](https://docs.astral.sh/uv/) installed and available on `PATH`
35
40
 
36
- ## Inference plugin
41
+ Install the plugin:
37
42
 
38
- Add plugin entry in `nx.json`:
43
+ ```bash
44
+ pnpm add -D @mgwilt/nx-uv
45
+ ```
46
+
47
+ ## Brand new monorepo example
48
+
49
+ This walkthrough creates a new [Nx](https://nx.dev/) monorepo and uses this plugin to scaffold a working [uv](https://docs.astral.sh/uv/) + [Python](https://www.python.org/) example.
50
+
51
+ 1. Create a new workspace:
52
+
53
+ ```bash
54
+ pnpm create nx-workspace@latest acme-monorepo --preset=ts --packageManager=pnpm --nxCloud=skip --interactive=false
55
+ cd acme-monorepo
56
+ ```
57
+
58
+ 2. Install this plugin (beta channel) and initialize workspace-level [uv](https://docs.astral.sh/uv/) config:
59
+
60
+ ```bash
61
+ pnpm add -D @mgwilt/nx-uv@beta
62
+ pnpm nx g @mgwilt/nx-uv:workspace --name=acme --membersGlob='packages/py/*'
63
+ ```
64
+
65
+ 3. Generate a [Python](https://www.python.org/) app and scaffold integrations:
66
+
67
+ ```bash
68
+ pnpm nx g @mgwilt/nx-uv:project api --projectType=app --directory=packages/py
69
+ pnpm nx g @mgwilt/nx-uv:integration --template=fastapi --project=api
70
+ pnpm nx g @mgwilt/nx-uv:integration --template=github
71
+ ```
72
+
73
+ Expected file tree (key files) after step 3:
74
+
75
+ ```text
76
+ acme-monorepo/
77
+ ├── nx.json
78
+ ├── package.json
79
+ ├── pyproject.toml
80
+ ├── .github/
81
+ │ └── workflows/
82
+ │ └── uv-ci.yml
83
+ └── packages/
84
+ └── py/
85
+ └── api/
86
+ ├── README.md
87
+ ├── pyproject.toml
88
+ ├── main.py
89
+ ├── Dockerfile.fastapi
90
+ ├── src/
91
+ │ └── api/
92
+ │ ├── __init__.py
93
+ │ └── main.py
94
+ └── tests/
95
+ └── test_smoke.py
96
+ ```
97
+
98
+ 4. Add runtime and dev dependencies with [uv](https://docs.astral.sh/uv/):
99
+
100
+ ```bash
101
+ cd packages/py/api
102
+ uv add fastapi uvicorn
103
+ uv add --dev pytest ruff
104
+ cd ../../..
105
+ ```
106
+
107
+ 5. Run plugin-backed targets via [Nx](https://nx.dev/):
108
+
109
+ ```bash
110
+ pnpm nx run api:sync
111
+ pnpm nx run api:uv
112
+ pnpm nx run api:run
113
+ pnpm nx run api:test
114
+ pnpm nx run api:build
115
+ ```
116
+
117
+ At this point you have a working monorepo with:
118
+
119
+ - Root `pyproject.toml` and [uv](https://docs.astral.sh/uv/) workspace members
120
+ - A generated `api` [Python](https://www.python.org/) project under `packages/py/api`
121
+ - Generated [FastAPI](https://fastapi.tiangolo.com/) starter files and a [GitHub Actions](https://github.com/features/actions) Nx-first CI template
122
+ - [Nx](https://nx.dev/) targets that run uv commands consistently in CI/local dev
123
+
124
+ ## Quick start (existing workspace)
125
+
126
+ 1. Add the plugin to `nx.json`:
39
127
 
40
128
  ```json
41
129
  {
@@ -52,48 +140,170 @@ Add plugin entry in `nx.json`:
52
140
  }
53
141
  ```
54
142
 
55
- Inferred projects are discovered via `**/pyproject.toml`.
143
+ 2. (Optional, recommended for new repos) Initialize [uv](https://docs.astral.sh/uv/) workspace config:
144
+
145
+ ```bash
146
+ pnpm nx g @mgwilt/nx-uv:workspace --name=acme
147
+ ```
148
+
149
+ 3. Generate a [Python](https://www.python.org/) project wired for [uv](https://docs.astral.sh/uv/) + [Nx](https://nx.dev/):
150
+
151
+ ```bash
152
+ pnpm nx g @mgwilt/nx-uv:project services/api --projectType=app
153
+ ```
154
+
155
+ 4. Run [uv](https://docs.astral.sh/uv/)-backed targets:
156
+
157
+ ```bash
158
+ pnpm nx run api:sync
159
+ pnpm nx run api:test
160
+ pnpm nx run api:build
161
+ ```
162
+
163
+ ## Existing [Python](https://www.python.org/) projects
164
+
165
+ If your repo already has `pyproject.toml` files, the plugin can infer targets (for example `uv:sync`, `uv:run`, `uv:test`) based on your configured `targetPrefix` and inference preset.
166
+
167
+ ### Customizing inferred targets
168
+
169
+ You can disable or override inferred targets in plugin options:
170
+
171
+ ```json
172
+ {
173
+ "plugins": [
174
+ {
175
+ "plugin": "@mgwilt/nx-uv",
176
+ "options": {
177
+ "targetPrefix": "uv:",
178
+ "inferencePreset": "standard",
179
+ "inferredTargets": {
180
+ "test": false,
181
+ "lint": {
182
+ "command": "run",
183
+ "commandArgs": ["--", "ruff", "check", "src"]
184
+ }
185
+ }
186
+ }
187
+ }
188
+ ]
189
+ }
190
+ ```
191
+
192
+ Supported inferred target keys are: `sync`, `run`, `lock`, `test`, `lint`, `build`, `tree`, `export`, `format`, `venv`, `publish`.
56
193
 
57
194
  ## Integration templates
58
195
 
59
- `integration` generator templates:
196
+ Use integration templates to scaffold common [uv](https://docs.astral.sh/uv/) ecosystem files for CI, containers, dependency automation, and notebook workflows.
197
+
198
+ ### How file output location works
199
+
200
+ - `--project=<name>` sets `<baseDir>` to that [Nx](https://nx.dev/) project's root.
201
+ - `--directory=<path>` sets `<baseDir>` to that directory relative to workspace root.
202
+ - If neither is set, `<baseDir>` defaults to workspace root (`.`).
203
+ - Workspace-level templates always write to repo root, even if `--project` or `--directory` is provided.
204
+ - Workspace-level templates are:
205
+ - `github`
206
+ - `gitlab`
207
+ - `dependency-bots`
208
+ - `pre-commit`
60
209
 
61
- - `alternative-indexes`
62
- - `aws-lambda`
63
- - `coiled`
64
- - `dependency-bots`
65
- - `docker`
66
- - `fastapi`
67
- - `github`
68
- - `gitlab`
69
- - `jupyter`
70
- - `marimo`
71
- - `pre-commit`
72
- - `pytorch`
210
+ ### Template matrix
73
211
 
74
- ## uv compatibility
212
+ | Template | Scope | Files generated | Best for |
213
+ | --------------------- | -------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
214
+ | `alternative-indexes` | `baseDir` | `<baseDir>/uv.indexes.toml.snippet` | Defining custom/internal [Python](https://www.python.org/) indexes |
215
+ | `aws-lambda` | `baseDir` | `<baseDir>/Dockerfile.lambda` | Packaging [uv](https://docs.astral.sh/uv/)-based [AWS Lambda](https://aws.amazon.com/lambda/) workloads |
216
+ | `coiled` | `baseDir` | `<baseDir>/scripts/coiled-example.py` | Starting distributed [Python](https://www.python.org/) experiments with [Coiled](https://coiled.io/) |
217
+ | `dependency-bots` | workspace root | `renovate.json`, `.github/dependabot.yml` | Automated dependency update workflows with [Renovate](https://docs.renovatebot.com/) and [Dependabot](https://docs.github.com/en/code-security/dependabot) |
218
+ | `docker` | `baseDir` | `<baseDir>/Dockerfile` | Containerizing a [uv](https://docs.astral.sh/uv/) project with [Docker](https://www.docker.com/) |
219
+ | `fastapi` | `baseDir` | `<baseDir>/main.py`, `<baseDir>/Dockerfile.fastapi` | Bootstrapping a [FastAPI](https://fastapi.tiangolo.com/) service with [uv](https://docs.astral.sh/uv/) |
220
+ | `github` | workspace root | `.github/workflows/uv-ci.yml` | [GitHub Actions](https://github.com/features/actions) Nx-first CI starter using `nx affected` |
221
+ | `gitlab` | workspace root | `.gitlab-ci.uv.yml` | [GitLab CI/CD](https://docs.gitlab.com/ee/ci/) Nx-first CI starter using `nx run-many` |
222
+ | `jupyter` | `baseDir` | `<baseDir>/scripts/setup-jupyter-kernel.sh` | Registering a [uv](https://docs.astral.sh/uv/)-managed [Jupyter](https://jupyter.org/) kernel |
223
+ | `marimo` | `baseDir` | `<baseDir>/notebooks/example.marimo.py` | Starting [marimo](https://marimo.io/) notebook workflows |
224
+ | `pre-commit` | workspace root | `.pre-commit-config.yaml` | Local code quality hooks for [uv](https://docs.astral.sh/uv/) projects using [pre-commit](https://pre-commit.com/) |
225
+ | `pytorch` | `baseDir` | `<baseDir>/uv.pytorch.toml.snippet` | Configuring [PyTorch](https://pytorch.org/) index/source snippets |
75
226
 
76
- The executor runtime enforces uv `0.9.x` by default. Set `skipVersionCheck=true` to bypass.
227
+ ### Command examples for all templates
77
228
 
78
- ## Quality gates
229
+ ```bash
230
+ pnpm nx g @mgwilt/nx-uv:integration --template=alternative-indexes --project=api
231
+ pnpm nx g @mgwilt/nx-uv:integration --template=aws-lambda --project=api
232
+ pnpm nx g @mgwilt/nx-uv:integration --template=coiled --project=api
233
+ pnpm nx g @mgwilt/nx-uv:integration --template=dependency-bots
234
+ pnpm nx g @mgwilt/nx-uv:integration --template=docker --project=api
235
+ pnpm nx g @mgwilt/nx-uv:integration --template=fastapi --project=api
236
+ pnpm nx g @mgwilt/nx-uv:integration --template=github
237
+ pnpm nx g @mgwilt/nx-uv:integration --template=gitlab
238
+ pnpm nx g @mgwilt/nx-uv:integration --template=jupyter --project=api
239
+ pnpm nx g @mgwilt/nx-uv:integration --template=marimo --project=api
240
+ pnpm nx g @mgwilt/nx-uv:integration --template=pre-commit
241
+ pnpm nx g @mgwilt/nx-uv:integration --template=pytorch --project=api
242
+ ```
243
+
244
+ ### Common options
245
+
246
+ - `--overwrite=true` replaces existing files instead of skipping them.
247
+ - `--directory=<path>` writes baseDir-aware templates into a non-project directory.
248
+ - `--skipFormat=true` skips formatter execution after generation.
249
+ - Prefer `--project` for app/lib scaffolds and no location flag for workspace-level templates.
250
+
251
+ ### Notes and pitfalls
252
+
253
+ - Templates are starter scaffolds; you should review and harden generated files for production use.
254
+ - Running the same template multiple times without `--overwrite=true` leaves existing files unchanged.
255
+ - Workspace-level templates are intentionally global and may affect repository-wide automation.
256
+
257
+ ## Compatibility and versioning
258
+
259
+ - Runtime [uv](https://docs.astral.sh/uv/) compatibility checks verify that `uv` is available and executable.
260
+ - `uv 0.9.x` and `0.10.x` are currently the tested ranges. Other versions log a warning and continue.
261
+ - This package is pre-v1 and published on the [npm](https://www.npmjs.com/) `beta` dist-tag.
262
+
263
+ ## Troubleshooting
264
+
265
+ ### Nx plugin bootstrap failures
79
266
 
80
- - `pnpm quality:local` runs format check, lint, typecheck, and unit/integration tests.
81
- - `pnpm quality:ci` runs the full strict gate: format check, lint, typecheck, unit/integration/e2e tests, coverage thresholds, and build.
82
- - Coverage thresholds are enforced at: lines `95`, functions `95`, statements `95`, branches `90`.
83
- - Coverage badge JSON is generated from `coverage/coverage-summary.json` and written to `.github/badges/coverage.json`.
267
+ If `quality:ci` fails before running tasks with worker/bootstrap errors (for example `Failed to load ... Nx plugin(s)`), run:
84
268
 
85
- ## Hooks
269
+ ```bash
270
+ pnpm nx report
271
+ pnpm nx reset
272
+ NX_DAEMON=false pnpm quality:ci
273
+ ```
274
+
275
+ If bootstrap still fails, run direct checks to isolate whether the issue is Nx plugin startup or project logic:
276
+
277
+ ```bash
278
+ pnpm exec eslint .
279
+ pnpm exec tsc -p tsconfig.lib.json --noEmit
280
+ pnpm exec tsc -p tsconfig.spec.json --noEmit
281
+ pnpm exec vitest run -c vitest.unit.config.mts
282
+ pnpm exec vitest run -c vitest.integration.config.mts
283
+ pnpm exec vitest run -c vitest.e2e.config.mts
284
+ pnpm exec vitest run -c vitest.coverage.config.mts
285
+ ```
286
+
287
+ ### E2E execution permissions
86
288
 
87
- - Lefthook is installed via `prepare` (`pnpm install` auto-installs hooks).
88
- - `pre-commit` enforces format, lint, typecheck, unit, and integration tests.
89
- - `pre-push` enforces the full `quality:ci` gate.
289
+ The e2e suite executes a temporary shim binary from the local filesystem. In restricted environments (for example `noexec` mounts or sandboxed process policies), e2e tests may be skipped when executable spawning is not permitted.
90
290
 
91
- ## CI model
291
+ ## LLM context files
92
292
 
93
- - Pull requests run `nx affected` checks using base/head SHAs.
94
- - Pushes to `main` run full quality gates and update the coverage badge on the `badges` branch.
95
- - Nightly workflow runs full quality gates for drift detection.
293
+ This repository publishes LLM-friendly docs artifacts:
294
+
295
+ - `llms.txt`: concise index of high-signal project docs.
296
+ - `llms-full.txt`: expanded inline content for the same curated sources.
297
+
298
+ Regenerate and validate them with:
299
+
300
+ ```bash
301
+ pnpm llms:generate
302
+ pnpm llms:check
303
+ ```
96
304
 
97
- ## Release channel
305
+ ## Additional docs
98
306
 
99
- Automated releases are published as npm prereleases using the `beta` dist-tag.
307
+ - [Documentation index](docs/index.md)
308
+ - [Maintainer guide (quality gates, CI, release)](docs/maintainers.md)
309
+ - [Sample scaffolding patterns](samples/README.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mgwilt/nx-uv",
3
- "version": "0.1.3-beta.0",
3
+ "version": "0.1.3-beta.1",
4
4
  "description": "Nx plugin for uv workflows in Nx monorepos",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -18,12 +18,16 @@
18
18
  "python"
19
19
  ],
20
20
  "dependencies": {
21
+ "@iarna/toml": "^2.2.5",
21
22
  "@nx/devkit": "22.5.3",
22
23
  "@nx/vite": "22.5.3",
23
- "nx": "22.5.3",
24
+ "minimatch": "^10.2.4",
24
25
  "tslib": "^2.3.0",
25
26
  "vitest": "^4.0.18"
26
27
  },
28
+ "peerDependencies": {
29
+ "nx": ">=22 <=23"
30
+ },
27
31
  "devDependencies": {
28
32
  "@commitlint/cli": "^20.4.2",
29
33
  "@commitlint/config-conventional": "^20.4.2",
@@ -39,8 +43,9 @@
39
43
  "eslint": "^9.39.0",
40
44
  "eslint-config-prettier": "^10.1.8",
41
45
  "jsdom": "^27.1.0",
42
- "lefthook": "^2.1.2",
43
46
  "jsonc-eslint-parser": "^2.4.0",
47
+ "lefthook": "^2.1.2",
48
+ "nx": "22.5.3",
44
49
  "prettier": "^3.6.2",
45
50
  "typescript": "~5.9.2",
46
51
  "typescript-eslint": "^8.56.0",
@@ -61,6 +66,9 @@
61
66
  "test:coverage": "nx run nx-uv:test-coverage",
62
67
  "quality:local": "nx run nx-uv:quality-local",
63
68
  "quality:ci": "nx run nx-uv:quality-ci",
69
+ "samples:generate": "node tools/generate-samples.cjs",
70
+ "llms:generate": "node tools/generate-llms.cjs",
71
+ "llms:check": "node tools/check-llms.cjs",
64
72
  "hooks:install": "lefthook install",
65
73
  "release:version": "nx release version --preid beta",
66
74
  "release:publish": "nx release publish --tag beta",
@@ -5,7 +5,7 @@ exports.runUvCommand = runUvCommand;
5
5
  const devkit_1 = require("@nx/devkit");
6
6
  const childProcess = require("child_process");
7
7
  const path = require("path");
8
- const SUPPORTED_UV_VERSION = /^0\.9\./;
8
+ const TESTED_UV_VERSION = /^0\.(9|10)\./;
9
9
  function resolveWorkingDirectory(options, context) {
10
10
  var _a, _b, _c;
11
11
  if (options.cwd) {
@@ -28,6 +28,9 @@ function runUvCommand(commandArgs, options, context) {
28
28
  devkit_1.logger.error(versionCheck.message);
29
29
  return { success: false };
30
30
  }
31
+ if (versionCheck.warning) {
32
+ devkit_1.logger.warn(versionCheck.warning);
33
+ }
31
34
  }
32
35
  const uvArgs = [
33
36
  ...buildGlobalArgs(options, context.root),
@@ -133,15 +136,12 @@ function assertUvVersion(cwd) {
133
136
  }
134
137
  const version = parseUvVersion((_b = (_a = result.stdout) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : "");
135
138
  if (!version) {
136
- return {
137
- ok: false,
138
- message: 'Unable to parse uv version output. Expected: "uv 0.9.x".',
139
- };
139
+ return { ok: true, warning: "Unable to parse uv version output." };
140
140
  }
141
- if (!SUPPORTED_UV_VERSION.test(version)) {
141
+ if (!TESTED_UV_VERSION.test(version)) {
142
142
  return {
143
- ok: false,
144
- message: `Unsupported uv version ${version}. This plugin targets uv 0.9.x.`,
143
+ ok: true,
144
+ warning: `uv version ${version} is outside the tested range (0.9.x, 0.10.x). Proceeding with command execution.`,
145
145
  };
146
146
  }
147
147
  return { ok: true };
@@ -1 +1 @@
1
- {"version":3,"file":"run-uv.js","sourceRoot":"","sources":["../../../../src/executors/shared/run-uv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-uv.js","sourceRoot":"","sources":["../../../../src/executors/shared/run-uv.ts"],"names":[],"mappings":"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"}
@@ -35,23 +35,40 @@ function filesForTemplate(template, baseDir) {
35
35
  return [
36
36
  {
37
37
  path: ".github/workflows/uv-ci.yml",
38
- content: `name: uv-ci
38
+ content: `name: nx-uv-ci
39
39
 
40
40
  on:
41
41
  push:
42
42
  pull_request:
43
43
 
44
44
  jobs:
45
- test:
45
+ quality:
46
46
  runs-on: ubuntu-latest
47
47
  steps:
48
48
  - uses: actions/checkout@v4
49
- - name: Install uv
50
- uses: astral-sh/setup-uv@v6
51
- - name: Sync dependencies
52
- run: uv sync --frozen
53
- - name: Run tests
54
- run: uv run -- pytest -q
49
+ with:
50
+ fetch-depth: 0
51
+ - uses: pnpm/action-setup@v4
52
+ with:
53
+ version: 10
54
+ - uses: actions/setup-node@v4
55
+ with:
56
+ node-version: 20
57
+ cache: pnpm
58
+ - uses: astral-sh/setup-uv@v4
59
+ with:
60
+ enable-cache: false
61
+ - name: Install dependencies
62
+ run: pnpm install --frozen-lockfile
63
+ - name: Derive base and head SHAs for Nx affected
64
+ uses: nrwl/nx-set-shas@v4
65
+ - name: Run affected quality targets
66
+ run: >-
67
+ pnpm nx affected
68
+ -t test,lint,build
69
+ --base="$NX_BASE"
70
+ --head="$NX_HEAD"
71
+ --outputStyle=static
55
72
  `,
56
73
  },
57
74
  ];
@@ -60,14 +77,21 @@ jobs:
60
77
  {
61
78
  path: ".gitlab-ci.uv.yml",
62
79
  content: `stages:
63
- - test
80
+ - quality
64
81
 
65
- test:uv:
66
- image: ghcr.io/astral-sh/uv:python3.12-bookworm-slim
67
- stage: test
82
+ quality:nx:
83
+ image: node:20-bookworm-slim
84
+ stage: quality
85
+ variables:
86
+ NX_DAEMON: "false"
87
+ before_script:
88
+ - curl -LsSf https://astral.sh/uv/install.sh | sh
89
+ - export PATH="$HOME/.local/bin:$PATH"
90
+ - corepack enable
91
+ - corepack prepare pnpm@10 --activate
92
+ - pnpm install --frozen-lockfile
68
93
  script:
69
- - uv sync --frozen
70
- - uv run -- pytest -q
94
+ - pnpm nx run-many -t test,lint,build --all --outputStyle=static
71
95
  `,
72
96
  },
73
97
  ];
@@ -89,10 +113,12 @@ CMD ["uv", "run", "--", "python", "-m", "main"]
89
113
  {
90
114
  path: inBase("Dockerfile.lambda"),
91
115
  content: `FROM public.ecr.aws/lambda/python:3.12
92
- COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
116
+ COPY --from=ghcr.io/astral-sh/uv:0.10.7 /uv /uvx /bin/
93
117
  WORKDIR /var/task
94
118
  COPY pyproject.toml uv.lock* ./
95
- RUN uv pip install --system --no-emit-workspace --no-dev -r <(uv export --format requirements-txt)
119
+ RUN uv export --format requirements-txt > requirements.txt \\
120
+ && uv pip install --system --no-emit-workspace --no-dev -r requirements.txt \\
121
+ && rm requirements.txt
96
122
  COPY . .
97
123
  CMD ["main.handler"]
98
124
  `,
@@ -233,7 +259,7 @@ print(pd.DataFrame({"hello": ["uv"]}))
233
259
  },
234
260
  ];
235
261
  default:
236
- return [];
262
+ throw new Error(`Unsupported integration template: ${template}`);
237
263
  }
238
264
  }
239
265
  exports.default = integrationGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../../src/generators/integration/integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../../src/generators/integration/integration.ts"],"names":[],"mappings":"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"}