@contractkit/plugin-bruno 0.10.0 → 1.1.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.
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.84% </span>
26
+ <span class="strong">87.14% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>287/355</span>
28
+ <span class='fraction'>278/319</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">72.75% </span>
33
+ <span class="strong">76.92% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>211/290</span>
35
+ <span class='fraction'>200/260</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">90.19% </span>
40
+ <span class="strong">91.83% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>46/51</span>
42
+ <span class='fraction'>45/49</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.21% </span>
47
+ <span class="strong">88.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>255/314</span>
49
+ <span class='fraction'>247/279</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,32 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="codegen-bruno.ts"><a href="codegen-bruno.ts.html">codegen-bruno.ts</a></td>
83
- <td data-value="86.73" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
83
+ <td data-value="87.14" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
85
85
  </td>
86
- <td data-value="86.73" class="pct high">86.73%</td>
87
- <td data-value="309" class="abs high">268/309</td>
88
- <td data-value="76.56" class="pct medium">76.56%</td>
89
- <td data-value="256" class="abs medium">196/256</td>
90
- <td data-value="91.3" class="pct high">91.3%</td>
91
- <td data-value="46" class="abs high">42/46</td>
92
- <td data-value="88.19" class="pct high">88.19%</td>
93
- <td data-value="271" class="abs high">239/271</td>
94
- </tr>
95
-
96
- <tr>
97
- <td class="file low" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
98
- <td data-value="41.3" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 41%"></div><div class="cover-empty" style="width: 59%"></div></div>
100
- </td>
101
- <td data-value="41.3" class="pct low">41.3%</td>
102
- <td data-value="46" class="abs low">19/46</td>
103
- <td data-value="44.11" class="pct low">44.11%</td>
104
- <td data-value="34" class="abs low">15/34</td>
105
- <td data-value="80" class="pct high">80%</td>
106
- <td data-value="5" class="abs high">4/5</td>
107
- <td data-value="37.2" class="pct low">37.2%</td>
108
- <td data-value="43" class="abs low">16/43</td>
86
+ <td data-value="87.14" class="pct high">87.14%</td>
87
+ <td data-value="319" class="abs high">278/319</td>
88
+ <td data-value="76.92" class="pct medium">76.92%</td>
89
+ <td data-value="260" class="abs medium">200/260</td>
90
+ <td data-value="91.83" class="pct high">91.83%</td>
91
+ <td data-value="49" class="abs high">45/49</td>
92
+ <td data-value="88.53" class="pct high">88.53%</td>
93
+ <td data-value="279" class="abs high">247/279</td>
109
94
  </tr>
110
95
 
111
96
  </tbody>
@@ -116,7 +101,7 @@
116
101
  <div class='footer quiet pad2 space-top1 center small'>
117
102
  Code coverage generated by
118
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-05-01T17:30:36.787Z
104
+ at 2026-05-01T19:41:36.879Z
120
105
  </div>
121
106
  <script src="../prettify.js"></script>
122
107
  <script>
@@ -266,7 +266,7 @@
266
266
  <span class="cline-any cline-neutral">&nbsp;</span>
267
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-yes">248x</span>
269
+ <span class="cline-any cline-yes">246x</span>
270
270
  <span class="cline-any cline-neutral">&nbsp;</span>
271
271
  <span class="cline-any cline-neutral">&nbsp;</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -384,10 +384,10 @@
384
384
  <span class="cline-any cline-neutral">&nbsp;</span>
385
385
  <span class="cline-any cline-neutral">&nbsp;</span>
386
386
  <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-yes">94x</span>
388
- <span class="cline-any cline-yes">94x</span>
389
- <span class="cline-any cline-yes">94x</span>
390
- <span class="cline-any cline-yes">94x</span>
387
+ <span class="cline-any cline-yes">93x</span>
388
+ <span class="cline-any cline-yes">93x</span>
389
+ <span class="cline-any cline-yes">93x</span>
390
+ <span class="cline-any cline-yes">93x</span>
391
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
392
  <span class="cline-any cline-neutral">&nbsp;</span>
393
393
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -402,12 +402,12 @@
402
402
  <span class="cline-any cline-neutral">&nbsp;</span>
403
403
  <span class="cline-any cline-neutral">&nbsp;</span>
404
404
  <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-yes">90x</span>
406
- <span class="cline-any cline-yes">90x</span>
405
+ <span class="cline-any cline-yes">89x</span>
406
+ <span class="cline-any cline-yes">89x</span>
407
407
  <span class="cline-any cline-neutral">&nbsp;</span>
408
408
  <span class="cline-any cline-neutral">&nbsp;</span>
409
409
  <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-yes">89x</span>
410
+ <span class="cline-any cline-yes">88x</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
412
412
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type {
413
413
  ContractRootNode,
@@ -589,7 +589,7 @@ export function opRoot(routes: OpRouteNode[], file = 'users.op', meta: Record&lt
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
592
- at 2026-05-01T17:30:36.787Z
592
+ at 2026-05-01T19:41:36.879Z
593
593
  </div>
594
594
  <script src="../prettify.js"></script>
595
595
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-05-01T17:30:36.787Z
104
+ at 2026-05-01T19:41:36.879Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -37,6 +37,17 @@ export interface OpenCollectionOptions {
37
37
  * benefit from full coverage. Set to `false` to omit internal ops.
38
38
  */
39
39
  includeInternal?: boolean;
40
+ /**
41
+ * Map of environment name → variables. Each entry produces a
42
+ * `environments/<name>.yml` file with the variables in declaration order.
43
+ * Values are coerced to strings.
44
+ *
45
+ * When omitted, a default `environments/local.yml` is emitted with
46
+ * `baseUrl=http://localhost:3000` plus any auth env-var placeholders the
47
+ * default scheme requires. When provided, the default is replaced entirely
48
+ * — auth vars are not auto-injected, so include them explicitly if needed.
49
+ */
50
+ environments?: Record<string, Record<string, unknown>>;
40
51
  }
41
52
  /**
42
53
  * Generates an OpenCollection (https://spec.opencollection.com/) API collection
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-bruno.d.ts","sourceRoot":"","sources":["../src/codegen-bruno.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EAMV,gBAAgB,EAGnB,MAAM,mBAAmB,CAAC;AAK3B,iGAAiG;AACjG,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,8JAA8J;AAC9J,eAAO,MAAM,iBAAiB,qCAAqC,CAAC;AAEpE,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kHAAkH;AAClH,MAAM,WAAW,gBAAgB;IAC7B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACjD;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,EAAE,CAqDhH;AAED,sLAAsL;AACtL,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAUvD;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAOxF;AAubD,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjD"}
1
+ {"version":3,"file":"codegen-bruno.d.ts","sourceRoot":"","sources":["../src/codegen-bruno.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EAMV,gBAAgB,EAGnB,MAAM,mBAAmB,CAAC;AAK3B,iGAAiG;AACjG,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,8JAA8J;AAC9J,eAAO,MAAM,iBAAiB,qCAAqC,CAAC;AAEpE,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kHAAkH;AAClH,MAAM,WAAW,gBAAgB;IAC7B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACjD;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,EAAE,CAuDhH;AAED,sLAAsL;AACtL,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAUvD;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAOxF;AA2cD,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjD"}
package/dist/index.d.ts CHANGED
@@ -18,13 +18,13 @@ export interface BrunoPluginConfig {
18
18
  */
19
19
  includeInternal?: boolean;
20
20
  /**
21
- * Directory containing YAML override files, resolved relative to `rootDir`.
22
- * The directory mirrors the generated output structure — a file at
23
- * `<overrideDir>/payments/get-payment.yml` is deep-merged into the generated
24
- * `payments/get-payment.yml`. Arrays in the override replace the generated
25
- * array entirely. Files with no matching override are emitted unchanged.
21
+ * Map of environment name variables. Each entry produces a
22
+ * `environments/<name>.yml` file. When omitted, a default `local.yml` is
23
+ * emitted with `baseUrl=http://localhost:3000` and any auth env-var
24
+ * placeholders. When provided, the default is replaced entirely; include
25
+ * auth variables (e.g. `token`) explicitly if you need them.
26
26
  */
27
- overrideDir?: string;
27
+ environments?: Record<string, Record<string, unknown>>;
28
28
  }
29
29
  /** Full plugin options shape read from `ctx.options` — extends {@link BrunoPluginConfig} with the `auth` block. */
30
30
  export interface BrunoPluginOptions extends BrunoPluginConfig {
@@ -41,7 +41,7 @@ export default plugin;
41
41
  * Prefer the default export when loading via `contractkit.config.json`. Use this
42
42
  * factory when constructing the plugin in code (e.g. in tests or custom build scripts).
43
43
  *
44
- * @param config - Plugin configuration (output paths, feature flags, overrides).
44
+ * @param config - Plugin configuration (output paths and feature flags).
45
45
  * @param rootDir - Absolute path used to resolve relative paths in `config`.
46
46
  * @param auth - Optional auth scheme configuration mirroring the `auth` key in plugin options.
47
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,8GAA8G;AAC9G,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mHAAmH;AACnH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IACzD,IAAI,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;KAAE,CAAC;CACnF;AAID,QAAA,MAAM,MAAM,EAAE,iBAuBb,CAAC;AAEF,eAAe,MAAM,CAAC;AAItB;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAChF,iBAAiB,CAuBnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,8GAA8G;AAC9G,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D;AAED,mHAAmH;AACnH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IACzD,IAAI,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;KAAE,CAAC;CACnF;AAID,QAAA,MAAM,MAAM,EAAE,iBAuBb,CAAC;AAEF,eAAe,MAAM,CAAC;AAItB;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAChF,iBAAiB,CAwBnB"}
package/dist/index.js CHANGED
@@ -21,10 +21,9 @@ function generateOpenCollection(roots, options) {
21
21
  relativePath: "opencollection.yml",
22
22
  content: generateCollectionRoot(options.collectionName, defaultScheme)
23
23
  });
24
- files.push({
25
- relativePath: "environments/local.yml",
26
- content: generateEnvFile(defaultScheme)
27
- });
24
+ for (const envFile of generateEnvFiles(options.environments, defaultScheme)) {
25
+ files.push(envFile);
26
+ }
28
27
  for (let rootIdx = 0; rootIdx < roots.length; rootIdx++) {
29
28
  const root = roots[rootIdx];
30
29
  const folder = root.meta["area"] ? slugifyName(root.meta["area"]) : deriveFolderName(root.file);
@@ -125,23 +124,45 @@ function generateCollectionRoot(name, scheme) {
125
124
  return lines.join("\n");
126
125
  }
127
126
  __name(generateCollectionRoot, "generateCollectionRoot");
128
- function generateEnvFile(scheme) {
129
- const lines = [
130
- `name: Local`,
131
- `variables:`,
132
- ` - name: baseUrl`,
133
- ` value: "http://localhost:3000"`
134
- ];
127
+ function generateEnvFiles(environments, scheme) {
128
+ if (environments && Object.keys(environments).length > 0) {
129
+ return Object.entries(environments).map(([name, variables]) => ({
130
+ relativePath: `environments/${name}.yml`,
131
+ content: renderEnvFile(displayNameFor(name), variables)
132
+ }));
133
+ }
134
+ const defaultVars = {
135
+ baseUrl: "http://localhost:3000"
136
+ };
135
137
  if (scheme) {
136
- for (const varName of authEnvVarNames(scheme)) {
137
- lines.push(` - name: ${varName}`);
138
- lines.push(` value: ""`);
138
+ for (const varName of authEnvVarNames(scheme)) defaultVars[varName] = "";
139
+ }
140
+ return [
141
+ {
142
+ relativePath: "environments/local.yml",
143
+ content: renderEnvFile("Local", defaultVars)
139
144
  }
145
+ ];
146
+ }
147
+ __name(generateEnvFiles, "generateEnvFiles");
148
+ function renderEnvFile(name, variables) {
149
+ const lines = [
150
+ `name: ${name}`,
151
+ `variables:`
152
+ ];
153
+ for (const [key, value] of Object.entries(variables)) {
154
+ const escaped = String(value).replace(/\\/g, "\\\\").replace(/"/g, '\\"');
155
+ lines.push(` - name: ${key}`);
156
+ lines.push(` value: "${escaped}"`);
140
157
  }
141
158
  lines.push(``);
142
159
  return lines.join("\n");
143
160
  }
144
- __name(generateEnvFile, "generateEnvFile");
161
+ __name(renderEnvFile, "renderEnvFile");
162
+ function displayNameFor(envKey) {
163
+ return envKey.charAt(0).toUpperCase() + envKey.slice(1);
164
+ }
165
+ __name(displayNameFor, "displayNameFor");
145
166
  function generateFolderFile(name, seq) {
146
167
  return [
147
168
  `info:`,
@@ -581,16 +602,16 @@ var plugin = {
581
602
  const outDir = resolve(base, config.output ?? "bruno-collection");
582
603
  const collectionName = config.collectionName ?? basename2(ctx.rootDir);
583
604
  cleanupTrackedFiles(outDir);
584
- const overrideDirAbs = config.overrideDir ? resolve(ctx.rootDir, config.overrideDir) : void 0;
585
605
  const files = generateOpenCollection(opRoots, {
586
606
  collectionName,
587
607
  contractRoots,
588
608
  auth,
589
609
  randomExamples: config.randomExamples ?? true,
590
- includeInternal: config.includeInternal
610
+ includeInternal: config.includeInternal,
611
+ environments: config.environments
591
612
  });
592
613
  for (const { relativePath, content } of files) {
593
- ctx.emitFile(resolve(outDir, relativePath), applyDirOverride(relativePath, content, overrideDirAbs));
614
+ ctx.emitFile(resolve(outDir, relativePath), content);
594
615
  }
595
616
  }
596
617
  };
@@ -604,27 +625,21 @@ function createBrunoPlugin(config, rootDir, auth) {
604
625
  const outDir = resolve(base, config.output ?? "bruno-collection");
605
626
  const collectionName = config.collectionName ?? basename2(rootDir);
606
627
  cleanupTrackedFiles(outDir);
607
- const overrideDirAbs = config.overrideDir ? resolve(rootDir, config.overrideDir) : void 0;
608
628
  const files = generateOpenCollection(opRoots, {
609
629
  collectionName,
610
630
  contractRoots,
611
631
  auth,
612
- randomExamples: config.randomExamples ?? true
632
+ randomExamples: config.randomExamples ?? true,
633
+ includeInternal: config.includeInternal,
634
+ environments: config.environments
613
635
  });
614
636
  for (const { relativePath, content } of files) {
615
- ctx.emitFile(resolve(outDir, relativePath), applyDirOverride(relativePath, content, overrideDirAbs));
637
+ ctx.emitFile(resolve(outDir, relativePath), content);
616
638
  }
617
639
  }
618
640
  };
619
641
  }
620
642
  __name(createBrunoPlugin, "createBrunoPlugin");
621
- function applyDirOverride(relativePath, content, overrideDirAbs) {
622
- if (!overrideDirAbs || relativePath === MANIFEST_FILENAME) return content;
623
- const overrideFile = resolve(overrideDirAbs, relativePath);
624
- if (!existsSync(overrideFile)) return content;
625
- return mergePluginFile(content, readFileSync(overrideFile, "utf-8"));
626
- }
627
- __name(applyDirOverride, "applyDirOverride");
628
643
  function cleanupTrackedFiles(outDir) {
629
644
  const manifestPath = resolve(outDir, MANIFEST_FILENAME);
630
645
  if (!existsSync(manifestPath)) return;