@intentius/chant-lexicon-terraform 0.78.0 → 0.80.0

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/dist/config.d.ts CHANGED
@@ -101,9 +101,9 @@ export declare const terraformConfigSchema: z.ZodObject<{
101
101
  * binary alone runs the root stock, exactly as `terraform`/`tofu` do.
102
102
  */
103
103
  binary: z.ZodOptional<z.ZodEnum<{
104
- choudoufu: "choudoufu";
105
104
  terraform: "terraform";
106
105
  tofu: "tofu";
106
+ choudoufu: "choudoufu";
107
107
  }>>;
108
108
  /**
109
109
  * How far a root's parse follows its `module` calls (#2112), spelled the
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "4fb68c54608a0e076835585238168da0c977938ef5629481a42c888c1c148443",
4
+ "manifest.json": "d50cdb2f34e3beb02c1d213a9ba842a0b5cefe720a58392c68f5015ac25e6d89",
5
5
  "meta.json": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",
6
6
  "types/index.d.ts": "022927e6a7b351cc4cf52d5f973f60ccd140e5810e17b32fb8868965aa1db161",
7
7
  "rules/plan-before-apply.ts": "31b1b3176799fd365b2583fe3947edd187c2a863e3dc0094ed9e91ece2464c99",
@@ -38,5 +38,5 @@
38
38
  "rules/tf029.ts": "52e02b4921a64f3f928836896b8b80682400adb50bd7a0645f3fe2e8819433c2",
39
39
  "skills/chant-terraform.md": "d9ca7b7c28aed0038ce775a3491150298492eed2858fd3651ed9bfca0e577ae8"
40
40
  },
41
- "composite": "5585a19e628db546da2eb237dab7f9d9d8ca8488f62a9c873f0f8809d817b917"
41
+ "composite": "e63ea344d94068f04c980ab438f2d76403b45041551a7131e5757991ef57c6e2"
42
42
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terraform",
3
- "version": "0.78.0",
3
+ "version": "0.80.0",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "Terraform"
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-terraform",
3
- "version": "0.78.0",
3
+ "version": "0.80.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "src/",
@@ -55,7 +55,7 @@
55
55
  "access": "public"
56
56
  },
57
57
  "peerDependencies": {
58
- "@intentius/chant": "^0.78.0",
58
+ "@intentius/chant": "^0.80.0",
59
59
  "typescript": "^5.9.3",
60
60
  "zod": "^4.3.6"
61
61
  },
@@ -8,6 +8,8 @@ import type { ChantConfig } from "@intentius/chant/config";
8
8
  import { isDeclarable, isResourceDeclarable, type Declarable } from "@intentius/chant/declarable";
9
9
  import { terraformPlugin } from "./plugin";
10
10
  import { terraformConfigSchema } from "./config";
11
+ import { RESERVED_COMMAND_NAMES } from "@intentius/chant/cli/command-group";
12
+ import { checkConflicts } from "@intentius/chant/cli/conflict-check";
11
13
  import {
12
14
  DATA_TYPE,
13
15
  LIVE_TYPE,
@@ -117,6 +119,17 @@ describe("terraform config schema", () => {
117
119
  expect(parsed.roots.app.workspace).toBe("prod");
118
120
  });
119
121
 
122
+ // #2529 — core reserves `workspace` as a command name. That reserves a
123
+ // top-level command word, not the word itself: this lexicon's root field
124
+ // keeps its meaning, and the plugin loads with no conflict.
125
+ it("keeps its workspace field while core reserves the workspace command", () => {
126
+ expect(RESERVED_COMMAND_NAMES.has("workspace")).toBe(true);
127
+ expect(checkConflicts([terraformPlugin]).conflicts).toEqual([]);
128
+ expect(terraformConfigSchema.parse({ roots: { app: { dir: ".", workspace: "workspace" } } }).roots.app.workspace).toBe(
129
+ "workspace",
130
+ );
131
+ });
132
+
120
133
  it("rejects an unknown key at the namespace level", () => {
121
134
  expect(() => terraformConfigSchema.parse({ roots: {}, binaries: "tofu" })).toThrow();
122
135
  });