Add @usebruno/filestore package (#5130)

This commit is contained in:
naman-bruno
2025-07-24 18:48:25 +05:30
committed by GitHub
parent a36f33746d
commit 4badee903a
33 changed files with 1366 additions and 555 deletions

View File

@@ -1,9 +1,12 @@
const _ = require('lodash');
const { bruToEnvJsonV2, bruToJsonV2, collectionBruToJson: _collectionBruToJson } = require('@usebruno/lang');
const {
parseRequest: _parseRequest,
parseCollection: _parseCollection
} = require('@usebruno/filestore');
const collectionBruToJson = (bru) => {
try {
const json = _collectionBruToJson(bru);
const json = _parseCollection(bru);
const transformedJson = {
request: {
@@ -46,7 +49,7 @@ const collectionBruToJson = (bru) => {
*/
const bruToJson = (bru) => {
try {
const json = bruToJsonV2(bru);
const json = _parseRequest(bru);
let requestType = _.get(json, 'meta.type');
if (requestType === 'http') {
@@ -88,14 +91,6 @@ const bruToJson = (bru) => {
}
};
const bruToEnvJson = (bru) => {
try {
return bruToEnvJsonV2(bru);
} catch (err) {
return Promise.reject(err);
}
};
const getEnvVars = (environment = {}) => {
const variables = environment.variables;
if (!variables || !variables.length) {
@@ -119,7 +114,6 @@ const getOptions = () => {
module.exports = {
bruToJson,
bruToEnvJson,
getEnvVars,
getOptions,
collectionBruToJson

View File

@@ -2,9 +2,8 @@ const { get, each, find, compact } = require('lodash');
const os = require('os');
const fs = require('fs');
const path = require('path');
const { jsonToBruV2, envJsonToBruV2, jsonToCollectionBru } = require('@usebruno/lang');
const { sanitizeName } = require('./filesystem');
const { bruToJson, collectionBruToJson } = require('./bru');
const { parseRequest, parseCollection, parseFolder, stringifyCollection, stringifyFolder, stringifyEnvironment } = require('@usebruno/filestore');
const constants = require('../constants');
const chalk = require('chalk');
@@ -46,7 +45,7 @@ const createCollectionJsonFromPathname = (collectionPath) => {
// get the request item
const bruContent = fs.readFileSync(filePath, 'utf8');
const requestItem = bruToJson(bruContent);
const requestItem = parseRequest(bruContent);
currentDirItems.push({
name: file,
pathname: filePath,
@@ -97,7 +96,7 @@ const getCollectionRoot = (dir) => {
}
const content = fs.readFileSync(collectionRootPath, 'utf8');
return collectionBruToJson(content);
return parseCollection(content);
};
const getFolderRoot = (dir) => {
@@ -108,7 +107,7 @@ const getFolderRoot = (dir) => {
}
const content = fs.readFileSync(folderRootPath, 'utf8');
return collectionBruToJson(content);
return parseFolder(content);
};
const mergeHeaders = (collection, request, requestTreePath) => {
@@ -417,7 +416,7 @@ const createCollectionFromBrunoObject = async (collection, dirPath) => {
// Create collection.bru if root exists
if (collection.root) {
const collectionContent = await jsonToCollectionBru(collection.root);
const collectionContent = await stringifyCollection(collection.root);
fs.writeFileSync(path.join(dirPath, 'collection.bru'), collectionContent);
}
@@ -427,7 +426,7 @@ const createCollectionFromBrunoObject = async (collection, dirPath) => {
fs.mkdirSync(envDirPath, { recursive: true });
for (const env of collection.environments) {
const content = await envJsonToBruV2(env);
const content = await stringifyEnvironment(env);
const filename = sanitizeName(`${env.name}.bru`);
fs.writeFileSync(path.join(envDirPath, filename), content);
}
@@ -459,10 +458,7 @@ const processCollectionItems = async (items = [], currentPath) => {
if (item.seq) {
item.root.meta.seq = item.seq;
}
const folderContent = await jsonToCollectionBru(
item.root,
true
);
const folderContent = await stringifyFolder(item.root);
safeWriteFileSync(folderBruFilePath, folderContent);
}
@@ -506,7 +502,7 @@ const processCollectionItems = async (items = [], currentPath) => {
};
// Convert to BRU format and write to file
const content = await jsonToBruV2(bruJson);
const content = await stringifyRequest(bruJson);
safeWriteFileSync(path.join(currentPath, sanitizedFilename), content);
}
}