@intentius/chant-lexicon-terraform 0.58.0 → 0.59.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.
Files changed (92) hide show
  1. package/README.md +9 -0
  2. package/dist/composites/terraform-adopt-op.d.ts +7 -2
  3. package/dist/composites/terraform-adopt-op.d.ts.map +1 -1
  4. package/dist/composites/terraform-apply-op.d.ts +8 -2
  5. package/dist/composites/terraform-apply-op.d.ts.map +1 -1
  6. package/dist/composites/terraform-watch-op.d.ts +30 -7
  7. package/dist/composites/terraform-watch-op.d.ts.map +1 -1
  8. package/dist/hcl/parse.d.ts +14 -0
  9. package/dist/hcl/parse.d.ts.map +1 -1
  10. package/dist/integrity.json +7 -5
  11. package/dist/lint/audit-catalog.d.ts +2 -2
  12. package/dist/lint/audit-catalog.d.ts.map +1 -1
  13. package/dist/lint/audit-lineage.d.ts +39 -12
  14. package/dist/lint/audit-lineage.d.ts.map +1 -1
  15. package/dist/lint/post-synth/index.d.ts.map +1 -1
  16. package/dist/lint/post-synth/tf001.d.ts +40 -6
  17. package/dist/lint/post-synth/tf001.d.ts.map +1 -1
  18. package/dist/lint/post-synth/tf015.d.ts +11 -2
  19. package/dist/lint/post-synth/tf015.d.ts.map +1 -1
  20. package/dist/lint/post-synth/tf026.d.ts +7 -0
  21. package/dist/lint/post-synth/tf026.d.ts.map +1 -1
  22. package/dist/lint/post-synth/tf027.d.ts +30 -0
  23. package/dist/lint/post-synth/tf027.d.ts.map +1 -0
  24. package/dist/lint/post-synth/tf028.d.ts +33 -0
  25. package/dist/lint/post-synth/tf028.d.ts.map +1 -0
  26. package/dist/lsp/option-keys.d.ts.map +1 -1
  27. package/dist/manifest.json +1 -1
  28. package/dist/okf/index.md +2 -0
  29. package/dist/okf/rules/TF027.md +11 -0
  30. package/dist/okf/rules/TF028.md +11 -0
  31. package/dist/op/activities/terraform.d.ts +32 -11
  32. package/dist/op/activities/terraform.d.ts.map +1 -1
  33. package/dist/op/builders.d.ts +7 -5
  34. package/dist/op/builders.d.ts.map +1 -1
  35. package/dist/op/resolve-root-mode.d.ts +29 -15
  36. package/dist/op/resolve-root-mode.d.ts.map +1 -1
  37. package/dist/plugin.d.ts.map +1 -1
  38. package/dist/rules/tf001.ts +70 -14
  39. package/dist/rules/tf015.ts +11 -2
  40. package/dist/rules/tf026.ts +6 -2
  41. package/dist/rules/tf027.ts +74 -0
  42. package/dist/rules/tf028.ts +96 -0
  43. package/dist/validate.d.ts.map +1 -1
  44. package/package.json +2 -2
  45. package/src/__fixtures__/ACCEPTANCE.md +181 -0
  46. package/src/__fixtures__/remote-backend/main.tf +34 -0
  47. package/src/__fixtures__/with-backend/main.tf +7 -0
  48. package/src/codegen/lint-rules-page.test.ts +18 -1
  49. package/src/composites/terraform-adopt-op.acceptance.test.ts +46 -19
  50. package/src/composites/terraform-adopt-op.test.ts +9 -4
  51. package/src/composites/terraform-adopt-op.ts +8 -3
  52. package/src/composites/terraform-apply-op.acceptance.test.ts +14 -9
  53. package/src/composites/terraform-apply-op.test.ts +13 -5
  54. package/src/composites/terraform-apply-op.ts +23 -7
  55. package/src/composites/terraform-watch-op.test.ts +85 -4
  56. package/src/composites/terraform-watch-op.ts +59 -8
  57. package/src/hcl/parse.ts +20 -0
  58. package/src/lint/audit-catalog.ts +26 -2
  59. package/src/lint/audit-lineage.ts +79 -14
  60. package/src/lint/audit.test.ts +171 -3
  61. package/src/lint/post-synth/fixtures/TF001/negative-cloud.tf +28 -0
  62. package/src/lint/post-synth/fixtures/TF001/negative.tf +4 -2
  63. package/src/lint/post-synth/fixtures/TF001/positive-local.tf +31 -0
  64. package/src/lint/post-synth/fixtures/TF014/negative/main.tf +2 -2
  65. package/src/lint/post-synth/fixtures/TF014/positive/main.tf +2 -2
  66. package/src/lint/post-synth/fixtures/TF020/scoped/main.tf +2 -2
  67. package/src/lint/post-synth/fixtures/TF027/live-default/main.tf +9 -0
  68. package/src/lint/post-synth/fixtures/TF027/live-untagged-delete/main.tf +13 -0
  69. package/src/lint/post-synth/fixtures/TF027/live-untagged-delete-scoped/main.tf +17 -0
  70. package/src/lint/post-synth/fixtures/TF027/live-untagged-report/main.tf +13 -0
  71. package/src/lint/post-synth/fixtures/TF028/live/main.tf +9 -0
  72. package/src/lint/post-synth/fixtures/TF028/stock/main.tf +10 -0
  73. package/src/lint/post-synth/index.ts +4 -0
  74. package/src/lint/post-synth/live-refusals-config-format.test.ts +143 -0
  75. package/src/lint/post-synth/module-rules.test.ts +1 -1
  76. package/src/lint/post-synth/post-synth.test.ts +64 -6
  77. package/src/lint/post-synth/tf001.ts +70 -14
  78. package/src/lint/post-synth/tf015.ts +11 -2
  79. package/src/lint/post-synth/tf026.ts +6 -2
  80. package/src/lint/post-synth/tf027.test.ts +62 -0
  81. package/src/lint/post-synth/tf027.ts +74 -0
  82. package/src/lint/post-synth/tf028.test.ts +92 -0
  83. package/src/lint/post-synth/tf028.ts +96 -0
  84. package/src/lsp/option-keys.ts +3 -2
  85. package/src/op/activities/choudoufu.acceptance.test.ts +7 -23
  86. package/src/op/activities/choudoufu.test.ts +49 -17
  87. package/src/op/activities/terraform.ts +67 -29
  88. package/src/op/builders.ts +7 -5
  89. package/src/op/resolve-root-mode.ts +29 -15
  90. package/src/plugin.test.ts +38 -0
  91. package/src/plugin.ts +122 -31
  92. package/src/validate.ts +10 -1
package/src/validate.ts CHANGED
@@ -11,7 +11,16 @@ import { validateLexiconArtifacts, type ValidateResult } from "@intentius/chant/
11
11
 
12
12
  export type { ValidateCheck, ValidateResult } from "@intentius/chant/codegen/validate";
13
13
 
14
- // TODO: Add names of required entities for your lexicon
14
+ /**
15
+ * Empty, and correct empty (#2220). `requiredNames` names generated resource
16
+ * classes that must survive a regenerate, and this lexicon generates none:
17
+ * `codegen/generate.ts` writes `lexicon-terraform.json` as `{}` on purpose,
18
+ * because Terraform's resource surface lives in provider registries rather
19
+ * than in one upstream schema, and an estate's `.tf` files are read as they
20
+ * are. There is no name to require, so the list stays empty and the
21
+ * remaining checks (the artifacts exist, the registry parses, the surface
22
+ * snapshot) are what validate actually proves here.
23
+ */
15
24
  const REQUIRED_NAMES: string[] = [];
16
25
 
17
26
  /**