@intentius/chant-lexicon-docker 0.124.21 → 0.124.23

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 (119) hide show
  1. package/dist/codegen/docs.d.ts.map +1 -1
  2. package/dist/codegen/generate.d.ts.map +1 -1
  3. package/dist/dockerfile-order.d.ts +13 -0
  4. package/dist/dockerfile-order.d.ts.map +1 -0
  5. package/dist/generated/index.d.ts +703 -6
  6. package/dist/generated/index.d.ts.map +1 -1
  7. package/dist/import/adapter.d.ts.map +1 -1
  8. package/dist/import/parser.d.ts +23 -0
  9. package/dist/import/parser.d.ts.map +1 -1
  10. package/dist/integrity.json +17 -8
  11. package/dist/lint/audit-catalog.d.ts.map +1 -1
  12. package/dist/lint/audit-lineage.d.ts.map +1 -1
  13. package/dist/lint/post-synth/add-url-checksum.d.ts +9 -0
  14. package/dist/lint/post-synth/add-url-checksum.d.ts.map +1 -0
  15. package/dist/lint/post-synth/apt-update-alone.d.ts +10 -0
  16. package/dist/lint/post-synth/apt-update-alone.d.ts.map +1 -0
  17. package/dist/lint/post-synth/cache-busting-copy.d.ts +11 -0
  18. package/dist/lint/post-synth/cache-busting-copy.d.ts.map +1 -0
  19. package/dist/lint/post-synth/copy-from-stage.d.ts +10 -0
  20. package/dist/lint/post-synth/copy-from-stage.d.ts.map +1 -0
  21. package/dist/lint/post-synth/docker-helpers.d.ts +35 -0
  22. package/dist/lint/post-synth/docker-helpers.d.ts.map +1 -1
  23. package/dist/lint/post-synth/index.d.ts.map +1 -1
  24. package/dist/lint/post-synth/no-root-user.d.ts +3 -2
  25. package/dist/lint/post-synth/no-root-user.d.ts.map +1 -1
  26. package/dist/lint/post-synth/relative-workdir.d.ts +10 -0
  27. package/dist/lint/post-synth/relative-workdir.d.ts.map +1 -0
  28. package/dist/lint/post-synth/repeated-cmd.d.ts +9 -0
  29. package/dist/lint/post-synth/repeated-cmd.d.ts.map +1 -0
  30. package/dist/lint/post-synth/root-after-user.d.ts +10 -0
  31. package/dist/lint/post-synth/root-after-user.d.ts.map +1 -0
  32. package/dist/lint/post-synth/unused-global-arg.d.ts +10 -0
  33. package/dist/lint/post-synth/unused-global-arg.d.ts.map +1 -0
  34. package/dist/lint/rules/index.d.ts +1 -0
  35. package/dist/lint/rules/index.d.ts.map +1 -1
  36. package/dist/lint/rules/per-kind-order.d.ts +15 -0
  37. package/dist/lint/rules/per-kind-order.d.ts.map +1 -0
  38. package/dist/manifest.json +1 -1
  39. package/dist/meta.json +444 -86
  40. package/dist/okf/index.md +10 -1
  41. package/dist/okf/rules/DKRD012.md +2 -2
  42. package/dist/okf/rules/DKRD013.md +11 -0
  43. package/dist/okf/rules/DKRD014.md +11 -0
  44. package/dist/okf/rules/DKRD015.md +11 -0
  45. package/dist/okf/rules/DKRD016.md +11 -0
  46. package/dist/okf/rules/DKRD017.md +11 -0
  47. package/dist/okf/rules/DKRD018.md +11 -0
  48. package/dist/okf/rules/DKRD019.md +11 -0
  49. package/dist/okf/rules/DKRD020.md +11 -0
  50. package/dist/okf/rules/DKRS002.md +15 -0
  51. package/dist/okf/types/DockerConfig.md +7 -5
  52. package/dist/okf/types/DockerSecret.md +8 -4
  53. package/dist/okf/types/Dockerfile.md +4 -1
  54. package/dist/okf/types/Network.md +10 -6
  55. package/dist/okf/types/Service.md +93 -15
  56. package/dist/okf/types/Volume.md +5 -5
  57. package/dist/plugin.d.ts.map +1 -1
  58. package/dist/rules/add-url-checksum.ts +38 -0
  59. package/dist/rules/apt-update-alone.ts +39 -0
  60. package/dist/rules/cache-busting-copy.ts +65 -0
  61. package/dist/rules/copy-from-stage.ts +54 -0
  62. package/dist/rules/docker-helpers.ts +80 -0
  63. package/dist/rules/no-root-user.ts +19 -17
  64. package/dist/rules/per-kind-order.ts +130 -0
  65. package/dist/rules/relative-workdir.ts +38 -0
  66. package/dist/rules/repeated-cmd.ts +35 -0
  67. package/dist/rules/root-after-user.ts +44 -0
  68. package/dist/rules/unused-global-arg.ts +38 -0
  69. package/dist/serializer.d.ts.map +1 -1
  70. package/dist/skills/chant-docker-patterns.md +93 -24
  71. package/dist/skills/chant-docker.md +43 -16
  72. package/dist/spec/parse-compose.d.ts +29 -2
  73. package/dist/spec/parse-compose.d.ts.map +1 -1
  74. package/dist/spec/parse-engine.d.ts +9 -0
  75. package/dist/spec/parse-engine.d.ts.map +1 -1
  76. package/dist/types/index.d.ts +344 -41
  77. package/package.json +3 -3
  78. package/src/codegen/__snapshots__/okf.test.ts.snap +278 -39
  79. package/src/codegen/docs.ts +14 -0
  80. package/src/codegen/generate.ts +128 -31
  81. package/src/codegen/okf.test.ts +1 -1
  82. package/src/dockerfile-order.ts +20 -0
  83. package/src/docs-examples.test.ts +141 -0
  84. package/src/generated/index.d.ts +344 -41
  85. package/src/generated/index.ts +396 -6
  86. package/src/generated/lexicon-docker.json +444 -86
  87. package/src/import/adapter.ts +8 -2
  88. package/src/import/generator.test.ts +4 -4
  89. package/src/import/generator.ts +53 -37
  90. package/src/import/parser.ts +82 -13
  91. package/src/import/roundtrip.test.ts +167 -2
  92. package/src/import/testdata/configs-secrets.yaml +15 -0
  93. package/src/lint/audit-catalog.ts +9 -1
  94. package/src/lint/audit-lineage.ts +14 -0
  95. package/src/lint/post-synth/add-url-checksum.ts +38 -0
  96. package/src/lint/post-synth/apt-update-alone.ts +39 -0
  97. package/src/lint/post-synth/cache-busting-copy.ts +65 -0
  98. package/src/lint/post-synth/copy-from-stage.ts +54 -0
  99. package/src/lint/post-synth/docker-helpers.ts +80 -0
  100. package/src/lint/post-synth/index.ts +16 -0
  101. package/src/lint/post-synth/no-root-user.ts +19 -17
  102. package/src/lint/post-synth/post-synth.test.ts +149 -0
  103. package/src/lint/post-synth/relative-workdir.ts +38 -0
  104. package/src/lint/post-synth/repeated-cmd.ts +35 -0
  105. package/src/lint/post-synth/root-after-user.ts +44 -0
  106. package/src/lint/post-synth/unused-global-arg.ts +38 -0
  107. package/src/lint/rules/index.ts +1 -0
  108. package/src/lint/rules/per-kind-order.ts +130 -0
  109. package/src/lint/rules/rules.test.ts +88 -0
  110. package/src/plugin.test.ts +4 -0
  111. package/src/plugin.ts +2 -1
  112. package/src/serializer.test.ts +112 -0
  113. package/src/serializer.ts +58 -11
  114. package/src/skills/chant-docker-patterns.md +93 -24
  115. package/src/skills/chant-docker.md +43 -16
  116. package/src/spec/parse-compose.ts +167 -95
  117. package/src/spec/parse-engine.ts +17 -5
  118. package/src/typecheck.e2e.test.ts +107 -0
  119. package/src/typed-props.test.ts +60 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,8IAA2D,CAAC;AAChF,eAAO,MAAM,MAAM,8IAA0D,CAAC;AAC9E,eAAO,MAAM,OAAO,8IAA2D,CAAC;AAChF,eAAO,MAAM,YAAY,8IAA0D,CAAC;AACpF,eAAO,MAAM,YAAY,8IAA0D,CAAC;AAEpF,eAAO,MAAM,UAAU,8IAAqD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/import/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAc,MAAM,gCAAgC,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAgD5F;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAMjC;CACF;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,aAAa,EAAE,CAIxC;CACF"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/import/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAc,MAAM,gCAAgC,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAiD5F;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAWjC;CACF;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,aAAa,EAAE,CAIxC;CACF"}
@@ -30,6 +30,11 @@ export interface SecretIR {
30
30
  export interface DockerfileStage {
31
31
  from: string;
32
32
  as?: string;
33
+ /**
34
+ * The stage's instructions after FROM, in source order. `instruction` is
35
+ * the upper-case keyword; `value` is the rest of the instruction as
36
+ * written, line continuations and heredoc bodies included.
37
+ */
33
38
  instructions: Array<{
34
39
  instruction: string;
35
40
  value: string;
@@ -38,6 +43,8 @@ export interface DockerfileStage {
38
43
  export interface DockerfileIR {
39
44
  kind: "dockerfile";
40
45
  name: string;
46
+ /** ARG values declared before the first FROM. */
47
+ globalArgs?: string[];
41
48
  stages: DockerfileStage[];
42
49
  }
43
50
  export type DockerIR = ServiceIR | VolumeIR | NetworkIR | ConfigIR | SecretIR | DockerfileIR;
@@ -52,10 +59,26 @@ export interface ParseResult {
52
59
  export declare class DockerParser {
53
60
  parse(content: string): ParseResult;
54
61
  }
62
+ /** One logical Dockerfile instruction: its upper-case keyword and the rest as written. */
63
+ export interface DockerfileInstruction {
64
+ instruction: string;
65
+ value: string;
66
+ }
67
+ /**
68
+ * Split Dockerfile content into logical instructions, in order. Comment
69
+ * and blank lines are dropped (also inside a continued instruction, as
70
+ * Docker does). A line ending in a backslash continues onto the next line,
71
+ * and a heredoc (`RUN <<EOF` ... `EOF`) runs to its terminator; both are
72
+ * kept in the value exactly as written, so writing the value back gives
73
+ * the same instruction.
74
+ */
75
+ export declare function splitDockerfileInstructions(content: string): DockerfileInstruction[];
55
76
  /**
56
77
  * Parser for Dockerfile content.
57
78
  */
58
79
  export declare class DockerfileParser {
59
80
  parse(name: string, content: string): DockerfileIR;
60
81
  }
82
+ /** Whether content reads as a Dockerfile: its first instruction is FROM or ARG, or it starts with a parser directive. */
83
+ export declare function looksLikeDockerfile(content: string): boolean;
61
84
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/import/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE7F,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA0BD;;;GAGG;AACH,qBAAa,YAAY;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAoElC;CACF;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CA4BjD;CACF"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/import/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,YAAY,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE7F,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA0BD;;;GAGG;AACH,qBAAa,YAAY;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAoElC;CACF;AAED,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAuCpF;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAuBjD;CACF;AAED,yHAAyH;AACzH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAS5D"}
@@ -1,19 +1,28 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "ec3263940092e78fa3bafc821e793efa8b616fd2e2e60c3fbebb40e3b34c9a9e",
5
- "meta.json": "2996be8fdb14f3f935e1e1441fed8f69af7b6aeeefb14dac96301cc41eba8046",
6
- "types/index.d.ts": "7b2e6f784b7dbecbbe7924fa1aec7e2520ac0547069311253a006bc2267a5646",
4
+ "manifest.json": "f41beb4c13e10ab519e41ef6f5f68f6293a4939f9d378de95738135b2181eca7",
5
+ "meta.json": "b566d5cb84a87836a861dc5840c229577e860c5427123192810b7839f764a9ee",
6
+ "types/index.d.ts": "f34a417496b2c02f047b0adc0bf41bacf9a3b207ff15af17bbe664329bbfa448",
7
7
  "rules/no-latest-tag.ts": "2281be0457c02e782fbafe015f65ff5fd2b008ef0f879226e9b548a3ea65399b",
8
+ "rules/per-kind-order.ts": "50622c849e9e76e312c4ca7abd97858f74641e0d7f673d2de47b055f7f6b6c6b",
9
+ "rules/add-url-checksum.ts": "b317a30103f65a9dc658cc858aeca797f96f4c34f76525c88e4618dcb4a5cd05",
8
10
  "rules/apt-no-recommends.ts": "579ea54435b1cbd59088994aaaf7b249a42064facd74b62163b302fe31e769e0",
9
- "rules/docker-helpers.ts": "c76ea1294b630df086a23b24c0435c9daac8cdf21dd371a8aabf74e9984e6b13",
11
+ "rules/apt-update-alone.ts": "d684a6eb45642ca3968c90fef28f71795672fb600d5aecc4b9e33d48792f75e2",
12
+ "rules/cache-busting-copy.ts": "facbf5a911bf5dded97c7251e7b43418126586809f1fa3ec0409fb925d1dccff",
13
+ "rules/copy-from-stage.ts": "2c11889c75e6ccafca538e65a6df0c1eae34eed484908ddf0b8bf39a937f2f0e",
14
+ "rules/docker-helpers.ts": "64ab4abca082b05c9cfab669f258085ffeb3a9a523d19a639630545ae2e971db",
10
15
  "rules/no-latest-image.ts": "3e49602822e0645173a961b9c0686b669e846957486781a881693dbe04790b88",
11
- "rules/no-root-user.ts": "fb47adc8523e07a8307253dcffeeccd7528e655bf737ef7e313e76a3df2c9a2d",
16
+ "rules/no-root-user.ts": "bf3ab4b87423652cd4c5d4f8a2d01ecda94d62a0ca8e8abddb82313a5dd16d9f",
12
17
  "rules/prefer-copy.ts": "b422a77b94023f7356d6b6326b6552c459cfbd282468f38214e19a105a59b742",
18
+ "rules/relative-workdir.ts": "3b81b51d3b170e2203e8ab25c15ef2ee7b37a07eaa3eda31bb5bfa3e27e98e62",
19
+ "rules/repeated-cmd.ts": "5a178852c55335314a95cffc4b503f65cac185188979bb6c4e581d072e737219",
20
+ "rules/root-after-user.ts": "5f107d899fb59a5d95d7661393e2fc94ac8d98399bf1e07af4286a748eec111b",
13
21
  "rules/ssh-port-exposed.ts": "1df86b498787cbcc5ac8995c7099956576d9d105b4da71b0c225790be585c4c9",
22
+ "rules/unused-global-arg.ts": "f3aefedee383194350bfb92beca75d6f88c4fc6bb35cd09b96dfa388d151032b",
14
23
  "rules/unused-volume.ts": "ffcfc731782a4443a2eb34b1c0f6230b094c18c6ad104e4b81074bb799a3ce40",
15
- "skills/chant-docker.md": "3ff0708e3c76e245f202948949c768464563af2b60cc9aa2ca52f494ef8357f1",
16
- "skills/chant-docker-patterns.md": "ad1b0196d8150b2df579a699ff107f604340c799c04f3460ebf65003e287b12a"
24
+ "skills/chant-docker.md": "d499e18525f2cfd7ecc5b5be4a4c52c6931ebdef8d70f872d53279e53bed6f7e",
25
+ "skills/chant-docker-patterns.md": "655f437c833796e0d520bbe08740a4226d48fcec4912b0438672ed5a299897e7"
17
26
  },
18
- "composite": "abf5286a1bff6c66444cfb50946490688657fb162e1dce7c401773d2d7710fa6"
27
+ "composite": "fd1bb2b5b242a3f4dfc8b7d3081c301ea9e9258ffb88466c88ce548dc9fbdbbe"
19
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit-catalog.d.ts","sourceRoot":"","sources":["../../src/lint/audit-catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA+B,KAAK,QAAQ,EAAgC,MAAM,gCAAgC,CAAC;AAK1H,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAOvD,CAAC"}
1
+ {"version":3,"file":"audit-catalog.d.ts","sourceRoot":"","sources":["../../src/lint/audit-catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA+B,KAAK,QAAQ,EAAgC,MAAM,gCAAgC,CAAC;AAK1H,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAevD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit-lineage.d.ts","sourceRoot":"","sources":["../../src/lint/audit-lineage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAwBxD,CAAC"}
1
+ {"version":3,"file":"audit-lineage.d.ts","sourceRoot":"","sources":["../../src/lint/audit-lineage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAsCxD,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * DKRD019: ADD of a remote URL without --checksum
3
+ *
4
+ * ADD fetches an http(s) URL at build time and trusts whatever comes back.
5
+ * `ADD --checksum=sha256:...` makes the build fail when the content changes.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const dkrd019: PostSynthCheck;
9
+ //# sourceMappingURL=add-url-checksum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-url-checksum.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/add-url-checksum.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cA2BrB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DKRD020: apt-get update in its own RUN
3
+ *
4
+ * A RUN that only runs `apt-get update` is cached as its own layer, so a
5
+ * later `apt-get install` in another RUN can install from a stale package
6
+ * index. Update and install in the same RUN.
7
+ */
8
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
9
+ export declare const dkrd020: PostSynthCheck;
10
+ //# sourceMappingURL=apt-update-alone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apt-update-alone.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/apt-update-alone.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAM9G,eAAO,MAAM,OAAO,EAAE,cAwBrB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * DKRD013: Whole build context copied before installing dependencies
3
+ *
4
+ * `COPY . .` followed by a dependency install (npm ci, pip install -r,
5
+ * go mod download, ...) in the same stage invalidates the install layer on
6
+ * every source change. Copy the dependency manifests first, install, then
7
+ * copy the rest.
8
+ */
9
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
10
+ export declare const dkrd013: PostSynthCheck;
11
+ //# sourceMappingURL=cache-busting-copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-busting-copy.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/cache-busting-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AA+B9G,eAAO,MAAM,OAAO,EAAE,cAwBrB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DKRD016: COPY --from names no earlier stage
3
+ *
4
+ * `COPY --from=<name>` reads from an earlier stage with that name (or
5
+ * index). A name that only a later stage has, or that no stage has, is
6
+ * pulled as an image instead, which is almost never what was meant.
7
+ */
8
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
9
+ export declare const dkrd016: PostSynthCheck;
10
+ //# sourceMappingURL=copy-from-stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-from-stage.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/copy-from-stage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAQ9G,eAAO,MAAM,OAAO,EAAE,cAqCrB,CAAC"}
@@ -29,4 +29,39 @@ export declare function isLatestOrUntagged(image: string): boolean;
29
29
  * Get Dockerfile content from SerializerResult files map.
30
30
  */
31
31
  export declare function extractDockerfiles(output: unknown): Map<string, string>;
32
+ export interface DockerfileInstr {
33
+ /** Upper-case keyword, e.g. "RUN". */
34
+ instruction: string;
35
+ /** The rest of the instruction as written. */
36
+ value: string;
37
+ }
38
+ export interface ParsedStage {
39
+ /** 0-based position among the stages. */
40
+ index: number;
41
+ /** The FROM image (or earlier stage) without `--platform` and `AS`. */
42
+ from: string;
43
+ as?: string;
44
+ instructions: DockerfileInstr[];
45
+ }
46
+ export interface ParsedDockerfile {
47
+ /** ARG instructions before the first FROM. */
48
+ globalArgs: DockerfileInstr[];
49
+ stages: ParsedStage[];
50
+ }
51
+ /** A Dockerfile's global ARGs and stages, each stage's instructions in order. */
52
+ export declare function parseDockerfileStages(content: string): ParsedDockerfile;
53
+ /** How a stage is named in a message: `stage "build"` or `stage 2`. */
54
+ export declare function stageLabel(stage: ParsedStage): string;
55
+ /** The first line of an instruction, for a message. */
56
+ export declare function instrText(instr: DockerfileInstr): string;
57
+ /** Whether a USER value is root (by name or uid 0, with or without a group). */
58
+ export declare function isRootUser(value: string): boolean;
59
+ /** Every generated Dockerfile in a build's outputs, parsed. */
60
+ export declare function eachDockerfile(outputs: Map<string, unknown>): Array<{
61
+ fileName: string;
62
+ content: string;
63
+ parsed: ParsedDockerfile;
64
+ }>;
65
+ /** A RUN value with its line continuations joined, for matching commands. */
66
+ export declare function commandText(instr: DockerfileInstr): string;
32
67
  //# sourceMappingURL=docker-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docker-helpers.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/docker-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CA8CxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAgB7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYvE"}
1
+ {"version":3,"file":"docker-helpers.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/docker-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CA8CxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAgB7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYvE;AAID,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAmBvE;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAErD;AAED,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAGxD;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAQpI;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAE1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,eAAO,MAAM,eAAe,EAAE,cAAc,EAO3C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAgBvE,eAAO,MAAM,eAAe,EAAE,cAAc,EAe3C,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * DKRD012: No Root User
3
3
  *
4
- * Warns when a Dockerfile has no USER instruction,
5
- * meaning the container runs as root by default.
4
+ * Warns when the container would run as root: the final stage has no USER
5
+ * instruction, or its last USER is root. USER in an earlier stage does not
6
+ * carry into the final image.
6
7
  */
7
8
  import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
9
  export declare const dkrd012: PostSynthCheck;
@@ -1 +1 @@
1
- {"version":3,"file":"no-root-user.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/no-root-user.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cAyBrB,CAAC"}
1
+ {"version":3,"file":"no-root-user.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/no-root-user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cA0BrB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DKRD018: Relative WORKDIR
3
+ *
4
+ * A relative WORKDIR resolves against whatever directory the base image
5
+ * left, which can change with the image. Use an absolute path, at least for
6
+ * the first WORKDIR of a stage.
7
+ */
8
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
9
+ export declare const dkrd018: PostSynthCheck;
10
+ //# sourceMappingURL=relative-workdir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relative-workdir.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/relative-workdir.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cA0BrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * DKRD015: More than one CMD or ENTRYPOINT in a stage
3
+ *
4
+ * Only the last CMD and the last ENTRYPOINT of a stage take effect; the
5
+ * earlier ones are silently ignored.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const dkrd015: PostSynthCheck;
9
+ //# sourceMappingURL=repeated-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeated-cmd.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/repeated-cmd.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cAwBrB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DKRD014: Root-only command after a non-root USER
3
+ *
4
+ * A RUN that installs packages or manages users and ownership (apt-get,
5
+ * apk add, useradd, chown, ...) fails or misbehaves after USER switches to
6
+ * an unprivileged user. Run root setup first, then switch USER.
7
+ */
8
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
9
+ export declare const dkrd014: PostSynthCheck;
10
+ //# sourceMappingURL=root-after-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-after-user.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/root-after-user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAK9G,eAAO,MAAM,OAAO,EAAE,cA8BrB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DKRD017: ARG before FROM that nothing uses
3
+ *
4
+ * An ARG declared before the first FROM is only visible to FROM lines, and
5
+ * to stages that declare it again (`ARG NAME`). One that neither uses does
6
+ * nothing.
7
+ */
8
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
9
+ export declare const dkrd017: PostSynthCheck;
10
+ //# sourceMappingURL=unused-global-arg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unused-global-arg.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/unused-global-arg.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cA0BrB,CAAC"}
@@ -2,4 +2,5 @@
2
2
  * All imperative lint rules for the Docker lexicon.
3
3
  */
4
4
  export { noLatestTagRule } from "./no-latest-tag.js";
5
+ export { perKindOrderRule } from "./per-kind-order.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * DKRS002: Per-kind Dockerfile fields written in a different order
3
+ *
4
+ * A Dockerfile stage without `steps` writes its per-kind fields (`run`,
5
+ * `copy`, `user`, ...) in a fixed order: ARG, ENV, WORKDIR, USER, RUN, COPY,
6
+ * ADD, EXPOSE, VOLUME, LABEL, ENTRYPOINT, CMD, HEALTHCHECK. When the fields
7
+ * are declared in another order (`copy` before `run`, `run` before `user`)
8
+ * the generated Dockerfile does not run them in the order they read in.
9
+ *
10
+ * The fix rewrites the fields as `steps` in the fixed order, so the
11
+ * generated Dockerfile stays the same, with a comment to reorder them.
12
+ */
13
+ import type { LintRule } from "@intentius/chant/lint/rule";
14
+ export declare const perKindOrderRule: LintRule;
15
+ //# sourceMappingURL=per-kind-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"per-kind-order.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/per-kind-order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAwC,MAAM,4BAA4B,CAAC;AA2GjG,eAAO,MAAM,gBAAgB,EAAE,QAS9B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "docker",
3
- "version": "0.124.21",
3
+ "version": "0.124.23",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "Docker",
6
6
  "intrinsics": [