@aws/nx-plugin-mcp 1.0.0-rc.63 → 1.0.0-rc.65

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/bin/aws-nx-mcp.js CHANGED
@@ -20849,6 +20849,7 @@ const NX_VERSION = {
20849
20849
  "class-variance-authority": "0.7.1",
20850
20850
  clsx: "2.1.1",
20851
20851
  commander: "15.0.0",
20852
+ "cpy-cli": "7.0.0",
20852
20853
  electrodb: "3.9.1",
20853
20854
  esbuild: "0.28.1",
20854
20855
  "event-source-polyfill": "1.0.31",
@@ -20866,6 +20867,7 @@ const NX_VERSION = {
20866
20867
  "@types/fs-extra": "11.0.4",
20867
20868
  "make-dir-cli": "4.0.0",
20868
20869
  mariadb: "3.5.3",
20870
+ mise: "2026.8.3",
20869
20871
  ncp: "2.0.0",
20870
20872
  npm: "12.0.2",
20871
20873
  "npm-check-updates": "22.2.9",
@@ -20878,7 +20880,6 @@ const NX_VERSION = {
20878
20880
  rimraf: "6.1.3",
20879
20881
  rolldown: "1.2.2",
20880
20882
  "rolldown-plugin-dts": "0.28.0",
20881
- "@rollup/plugin-esm-shim": "0.1.8",
20882
20883
  "simple-git": "3.36.0",
20883
20884
  "source-map-support": "0.5.21",
20884
20885
  "starlight-blog": "0.28.0",
@@ -109,7 +109,7 @@ export default defineConfig([
109
109
  output: {
110
110
  file: '../../dist/packages/my-project/bundle/index.js',
111
111
  format: 'cjs',
112
- inlineDynamicImports: true,
112
+ codeSplitting: false,
113
113
  },
114
114
  platform: 'node',
115
115
  },
@@ -497,7 +497,7 @@ Unit tests for generators are straightforward to implement. Here's a typical pat
497
497
 
498
498
  ```typescript
499
499
  import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';
500
- import { yourGenerator } from './generator';
500
+ import { yourGenerator } from './generator.js';
501
501
 
502
502
  describe('your generator', () => {
503
503
  let tree;
@@ -97,7 +97,7 @@ The scaffolded `migration.spec.ts` uses `createTreeUsingTsSolutionSetup()` to bu
97
97
  ```ts
98
98
  import type { Tree } from '@nx/devkit';
99
99
  import { createTreeUsingTsSolutionSetup } from '@aws/nx-plugin/sdk/utils/test';
100
- import migration from './migration';
100
+ import migration from './migration.js';
101
101
 
102
102
  describe('my migration', () => {
103
103
  let tree: Tree;
@@ -43,7 +43,6 @@ If you want an API with an implementation, use the <Link path="guides/ts-smithy-
43
43
  - src
44
44
  - main.smithy Your shared shape definitions
45
45
  - smithy-build.json Smithy build configuration
46
- - build.Dockerfile Builds and validates the model
47
46
  - project.json Project configuration and build targets
48
47
 
49
48
  </FileTree>
@@ -64,7 +63,7 @@ structure Customer {
64
63
  }
65
64
  ```
66
65
 
67
- Since a shape library has no service, its `smithy-build.json` configures no code generation — building it validates the model and assembles it into a single JSON model file at `dist/<my-shapes>/build/model/model.json`.
66
+ Since a shape library has no service, its `smithy-build.json` configures no code generation — building it validates the model and assembles it into a single JSON model file at `dist/<my-shapes>/build/model.json`.
68
67
 
69
68
  </OptionFilter>
70
69
 
@@ -80,7 +79,7 @@ Since a shape library has no service, its `smithy-build.json` configures no code
80
79
  - operations
81
80
  - echo.smithy An example operation
82
81
  - smithy-build.json Smithy build configuration, including code generation
83
- - build.Dockerfile Builds the model, OpenAPI spec and TypeScript Server SDK
82
+ - ssdk.rolldown.config.mjs Bundles the generated TypeScript Server SDK
84
83
  - project.json Project configuration and build targets
85
84
 
86
85
  </FileTree>
@@ -110,39 +109,32 @@ Building a service project generates an OpenAPI specification and a TypeScript S
110
109
 
111
110
  ## Building
112
111
 
113
- Smithy projects build using [Docker](https://www.docker.com/), which runs the [Smithy CLI](https://smithy.io/2.0/guides/smithy-cli/index.html) to validate your model:
112
+ Smithy projects build with the [Smithy CLI](https://smithy.io/2.0/guides/smithy-cli/index.html), which validates your model:
114
113
 
115
114
  <NxCommands commands={['build my-shapes']} />
116
115
 
116
+ On macOS and Linux the CLI is resolved by [mise](https://mise.jdx.dev/), which the build fetches on demand, so there is nothing to install — it downloads and caches the pinned version the first time you build. On Windows it is a prerequisite you install yourself — see <Link path="guides/ts-smithy-api#building-on-windows">Building on Windows</Link>.
117
+
117
118
  ## Depending on a Shape Library
118
119
 
119
- Building a shape library writes an assembled model to `dist/<my-shapes>/build/model/model.json`. This single file contains every shape the library defines, along with any it depends on, so a consumer only ever declares the libraries it references directly.
120
+ Building a shape library writes an assembled model to `dist/<my-shapes>/build/model.json`. This single file contains every shape the library defines, along with any it depends on, so a consumer only ever declares the libraries it references directly.
120
121
 
121
- To depend on a shape library from another Smithy project, make three changes to the consuming project:
122
+ To depend on a shape library from another Smithy project, make two changes to the consuming project:
122
123
 
123
124
  <Steps>
124
125
 
125
- 1. Smithy projects build inside a container, and the build is given the workspace root as a named build context. Add a `COPY` to the consuming project's `build.Dockerfile`, alongside where its own sources are copied in:
126
-
127
- ```dockerfile ins={4}
128
- # Copy project files
129
- COPY smithy-build.json .
130
- COPY src src
131
- COPY --from=workspace dist/packages/my-shapes/build/model/model.json deps/my-shapes.json
132
- ```
133
-
134
- 2. Add the copied file to `imports` in the consuming project's `smithy-build.json`:
126
+ 1. Add the library's built model to `imports` in the consuming project's `smithy-build.json`. Paths are relative to that file, so the number of `../` segments matches how deeply the consuming project is nested three for `packages/my-api/model` below:
135
127
 
136
128
  ```json ins={4}
137
129
  {
138
130
  "version": "1.0",
139
131
  "sources": ["src/"],
140
- "imports": ["deps/my-shapes.json"],
132
+ "imports": ["../../../dist/packages/my-shapes/build/model.json"],
141
133
  ...
142
134
  }
143
135
  ```
144
136
 
145
- 3. Add the library's `build` target as a dependency of the consuming project's `compile` target in its `project.json`, so the model exists before the consumer builds:
137
+ 2. Add the library's `build` target as a dependency of the consuming project's `compile` target in its `project.json`, so the model exists before the consumer builds:
146
138
 
147
139
  ```json ins={4}
148
140
  {
@@ -49,7 +49,7 @@ The generator creates two related projects in the `<directory>/<api-name>` direc
49
49
  - package.json Project manifest defining the project's package name and dependencies
50
50
  - project.json Project configuration and build targets
51
51
  - smithy-build.json Smithy build configuration
52
- - build.Dockerfile Docker configuration for building Smithy artifacts
52
+ - ssdk.rolldown.config.mjs Bundles the generated TypeScript Server SDK
53
53
  - src/
54
54
  - main.smithy Main service definition
55
55
  - operations/
@@ -576,10 +576,12 @@ export const Echo: EchoOperation<ServiceContext> = async (input, ctx) => {
576
576
 
577
577
  ## Building and Code Generation
578
578
 
579
- The Smithy model project uses [Docker](https://www.docker.com/) to build the Smithy artifacts and generate the TypeScript Server SDK:
579
+ The Smithy model project uses the [Smithy CLI](https://smithy.io/2.0/guides/smithy-cli/index.html) to build the Smithy artifacts and generate the TypeScript Server SDK:
580
580
 
581
581
  <NxCommands commands={['build <model-project>']} />
582
582
 
583
+ On macOS and Linux the CLI is resolved by [mise](https://mise.jdx.dev/), which the build fetches on demand, so there is nothing to install — it downloads and caches the pinned version the first time you build.
584
+
583
585
  This process:
584
586
 
585
587
  1. **Compiles the Smithy model** and validates it
@@ -591,6 +593,39 @@ The backend project automatically copies the generated SDK during compilation:
591
593
 
592
594
  <NxCommands commands={['copy-ssdk <backend-project>']} />
593
595
 
596
+ ### Building on Windows
597
+
598
+ `mise` publishes no Windows package to npm, so on Windows the Smithy CLI is a prerequisite you install yourself. Install it once following the [Smithy CLI installation guide](https://smithy.io/2.0/guides/smithy-cli/cli_installation.html) (for example `winget install smithy` or `scoop install smithy`), and make sure `smithy` is on your `PATH`. A Smithy project generated on Windows runs `smithy` directly rather than through `mise`.
599
+
600
+ :::caution[Upgrading the CLI]
601
+ Because the CLI is installed globally rather than pinned in your workspace, upgrading the workspace with `nx migrate` does **not** upgrade it. When a migration moves the Smithy dependencies forward, upgrade your global Smithy CLI to a matching version yourself.
602
+ :::
603
+
604
+ Alternatively, develop inside [WSL](https://learn.microsoft.com/en-us/windows/wsl/install), where the build runs the Linux path and `mise` resolves the CLI for you — nothing to install.
605
+
606
+ A project generated on Windows commits a `compile` target that invokes `smithy` directly, so anyone else working on it — including on macOS or Linux — needs the Smithy CLI on their `PATH` too. To have those machines resolve the CLI through `mise` instead, switch the target to the `mise` command as [described below](#choosing-how-the-cli-is-resolved).
607
+
608
+ ### Choosing how the CLI is resolved
609
+
610
+ macOS and Linux resolve the CLI through `mise` and Windows uses a globally installed CLI, but you can pick either on any platform by editing the `compile` target's command in the model project's `project.json`.
611
+
612
+ To use a globally installed Smithy CLI instead of `mise`, replace the `mise` prefix with a bare `smithy`:
613
+
614
+ ```json title="project.json" del={5} ins={6}
615
+ {
616
+ "targets": {
617
+ "compile": {
618
+ "options": {
619
+ "commands": ["... npx -y mise@<version> exec smithy@<version> -- smithy build ..."]
620
+ "commands": ["... smithy build ..."]
621
+ }
622
+ }
623
+ }
624
+ }
625
+ ```
626
+
627
+ To go back to `mise` resolving the CLI, restore the `npx -y mise@<version> exec smithy@<version> --` prefix.
628
+
594
629
  ### Bundle Target
595
630
 
596
631
  <Snippet name="ts-bundle" />
@@ -292,7 +292,7 @@ export default defineConfig([
292
292
  output: {
293
293
  file: '../../dist/packages/my-library/bundle/index.js',
294
294
  format: 'cjs',
295
- inlineDynamicImports: true,
295
+ codeSplitting: false,
296
296
  },
297
297
  },
298
298
  ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin-mcp",
3
- "version": "1.0.0-rc.63",
3
+ "version": "1.0.0-rc.65",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",