refactor: update opencollection extension for bruno (#7013)

* refactor: update YML parsing and stringification to utilize 'bruno' extensions for ignore and presets

* fix
This commit is contained in:
naman-bruno
2026-02-02 19:35:17 +05:30
committed by GitHub
parent 416b693afc
commit c9059c9905
3 changed files with 36 additions and 23 deletions

View File

@@ -3,9 +3,10 @@ info:
name: Test OpenCollection
extensions:
ignore:
- node_modules
- .git
bruno:
ignore:
- node_modules
- .git
request:
headers:

View File

@@ -24,13 +24,15 @@ const parseCollection = (ymlString: string): ParsedCollection => {
type: 'collection',
ignore: []
};
if (oc.extensions?.ignore && Array.isArray(oc.extensions.ignore)) {
brunoConfig.ignore = oc.extensions.ignore;
const brunoExtension = (oc.extensions as any)?.bruno;
if (brunoExtension?.ignore && Array.isArray(brunoExtension.ignore)) {
brunoConfig.ignore = brunoExtension.ignore;
}
// presets
if (oc.extensions?.presets) {
const presets = oc.extensions.presets as any;
if (brunoExtension?.presets) {
const presets = brunoExtension.presets as any;
if (presets.request) {
brunoConfig.presets = {
requestType: presets.request.type || [],

View File

@@ -211,24 +211,34 @@ const stringifyCollection = (collectionRoot: any, brunoConfig: any): string => {
// extensions
oc.extensions = {};
if (brunoConfig.ignore?.length) {
const ignoreList: string[] = [];
brunoConfig.ignore.forEach((ignore: string) => {
ignoreList.push(ignore);
});
oc.extensions.ignore = ignoreList;
}
if (hasPresets(brunoConfig)) {
const presetsRequest: any = {};
if (brunoConfig.presets.requestType?.length) {
presetsRequest.type = brunoConfig.presets.requestType;
const hasBrunoExtensions = brunoConfig.ignore?.length || hasPresets(brunoConfig);
if (hasBrunoExtensions) {
const brunoExtension: any = {};
if (brunoConfig.ignore?.length) {
const ignoreList: string[] = [];
brunoConfig.ignore.forEach((ignore: string) => {
ignoreList.push(ignore);
});
brunoExtension.ignore = ignoreList;
}
if (brunoConfig.presets.requestUrl?.length) {
presetsRequest.url = brunoConfig.presets.requestUrl;
if (hasPresets(brunoConfig)) {
const presetsRequest: any = {};
if (brunoConfig.presets.requestType?.length) {
presetsRequest.type = brunoConfig.presets.requestType;
}
if (brunoConfig.presets.requestUrl?.length) {
presetsRequest.url = brunoConfig.presets.requestUrl;
}
brunoExtension.presets = {
request: presetsRequest
};
}
oc.extensions.presets = {
request: presetsRequest
} as any;
oc.extensions.bruno = brunoExtension;
}
// bruno-specific script extensions