mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-29 15:44:13 +00:00
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:
@@ -3,9 +3,10 @@ info:
|
||||
name: Test OpenCollection
|
||||
|
||||
extensions:
|
||||
ignore:
|
||||
- node_modules
|
||||
- .git
|
||||
bruno:
|
||||
ignore:
|
||||
- node_modules
|
||||
- .git
|
||||
|
||||
request:
|
||||
headers:
|
||||
|
||||
@@ -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 || [],
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user