@usebruno/filestore 0.10.0 → 0.11.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.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/workers/worker-script.js +1 -1
- package/dist/cjs/workers/worker-script.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/workers/worker-script.js +1 -1
- package/dist/esm/workers/worker-script.js.map +1 -1
- package/dist/formats/bru/index.d.ts.map +1 -1
- package/dist/formats/bru/utils/redact-large-text-blocks.d.ts +11 -0
- package/dist/formats/bru/utils/redact-large-text-blocks.d.ts.map +1 -0
- package/dist/formats/yml/common/app.d.ts +8 -0
- package/dist/formats/yml/common/app.d.ts.map +1 -0
- package/dist/formats/yml/common/auth.d.ts.map +1 -1
- package/dist/formats/yml/common/body.d.ts.map +1 -1
- package/dist/formats/yml/common/datatype.d.ts +14 -0
- package/dist/formats/yml/common/datatype.d.ts.map +1 -0
- package/dist/formats/yml/common/headers.d.ts.map +1 -1
- package/dist/formats/yml/common/variables.d.ts +1 -2
- package/dist/formats/yml/common/variables.d.ts.map +1 -1
- package/dist/formats/yml/items/parseApp.d.ts +13 -0
- package/dist/formats/yml/items/parseApp.d.ts.map +1 -0
- package/dist/formats/yml/items/parseGraphQLRequest.d.ts.map +1 -1
- package/dist/formats/yml/items/parseGrpcRequest.d.ts.map +1 -1
- package/dist/formats/yml/items/parseHttpRequest.d.ts.map +1 -1
- package/dist/formats/yml/items/parseWebsocketRequest.d.ts.map +1 -1
- package/dist/formats/yml/items/stringifyApp.d.ts +4 -0
- package/dist/formats/yml/items/stringifyApp.d.ts.map +1 -0
- package/dist/formats/yml/items/stringifyGraphQLRequest.d.ts.map +1 -1
- package/dist/formats/yml/items/stringifyGrpcRequest.d.ts.map +1 -1
- package/dist/formats/yml/items/stringifyHttpRequest.d.ts.map +1 -1
- package/dist/formats/yml/items/stringifyWebsocketRequest.d.ts.map +1 -1
- package/dist/formats/yml/parseCollection.d.ts.map +1 -1
- package/dist/formats/yml/parseEnvironment.d.ts +3 -1
- package/dist/formats/yml/parseEnvironment.d.ts.map +1 -1
- package/dist/formats/yml/parseFolder.d.ts.map +1 -1
- package/dist/formats/yml/parseItem.d.ts.map +1 -1
- package/dist/formats/yml/stringifyCollection.d.ts.map +1 -1
- package/dist/formats/yml/stringifyEnvironment.d.ts +3 -1
- package/dist/formats/yml/stringifyEnvironment.d.ts.map +1 -1
- package/dist/formats/yml/stringifyItem.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/secretsJsonToEnvironments.d.ts +38 -0
- package/dist/utils/secretsJsonToEnvironments.d.ts.map +1 -0
- package/package.json +7 -5
- package/src/constants.ts +9 -0
- package/src/formats/bru/index.ts +52 -0
- package/src/formats/bru/tests/parseBruEnvironment.spec.js +63 -0
- package/src/formats/bru/tests/redact-large-text-blocks.spec.js +313 -0
- package/src/formats/bru/utils/redact-large-text-blocks.ts +102 -0
- package/src/formats/yml/common/actions.ts +1 -1
- package/src/formats/yml/common/app.ts +27 -0
- package/src/formats/yml/common/auth.ts +53 -1
- package/src/formats/yml/common/body.spec.ts +62 -0
- package/src/formats/yml/common/body.ts +27 -9
- package/src/formats/yml/common/datatype.spec.ts +110 -0
- package/src/formats/yml/common/datatype.ts +57 -0
- package/src/formats/yml/common/headers.ts +4 -0
- package/src/formats/yml/common/variables.spec.ts +127 -0
- package/src/formats/yml/common/variables.ts +14 -22
- package/src/formats/yml/items/parseApp.ts +37 -0
- package/src/formats/yml/items/parseGraphQLRequest.ts +8 -0
- package/src/formats/yml/items/parseGrpcRequest.ts +24 -3
- package/src/formats/yml/items/parseHttpRequest.ts +13 -0
- package/src/formats/yml/items/parseWebsocketRequest.ts +29 -9
- package/src/formats/yml/items/stringifyApp.ts +45 -0
- package/src/formats/yml/items/stringifyGraphQLRequest.ts +3 -0
- package/src/formats/yml/items/stringifyGrpcRequest.ts +9 -11
- package/src/formats/yml/items/stringifyHttpRequest.ts +10 -0
- package/src/formats/yml/items/stringifyWebsocketRequest.ts +22 -9
- package/src/formats/yml/parseCollection.spec.ts +70 -0
- package/src/formats/yml/parseCollection.ts +8 -3
- package/src/formats/yml/parseEnvironment.spec.ts +99 -0
- package/src/formats/yml/parseEnvironment.ts +41 -19
- package/src/formats/yml/parseFolder.spec.ts +52 -0
- package/src/formats/yml/parseFolder.ts +14 -21
- package/src/formats/yml/parseItem.spec.ts +147 -0
- package/src/formats/yml/parseItem.ts +4 -0
- package/src/formats/yml/stringifyCollection.spec.ts +77 -0
- package/src/formats/yml/stringifyCollection.ts +4 -0
- package/src/formats/yml/stringifyEnvironment.spec.ts +91 -0
- package/src/formats/yml/stringifyEnvironment.ts +55 -20
- package/src/formats/yml/stringifyFolder.spec.ts +47 -0
- package/src/formats/yml/stringifyItem.spec.ts +53 -0
- package/src/formats/yml/stringifyItem.ts +4 -0
- package/src/formats/yml/tests/fixtures/presets/empty-request.yml +7 -0
- package/src/formats/yml/tests/fixtures/presets/no-presets.yml +3 -0
- package/src/formats/yml/tests/fixtures/presets/no-request-key.yml +6 -0
- package/src/formats/yml/tests/fixtures/presets/type-only-realistic.yml +24 -0
- package/src/formats/yml/tests/fixtures/presets/url-only-realistic.yml +25 -0
- package/src/formats/yml/tests/fixtures/presets/with-type-and-url.yml +9 -0
- package/src/formats/yml/tests/parseCollection.spec.js +63 -0
- package/src/formats/yml/tests/parseEnvironment.spec.js +24 -63
- package/src/formats/yml/tests/parseEnvironment.spec.ts +160 -0
- package/src/formats/yml/tests/stringifyEnvironment.spec.ts +204 -0
- package/src/formats/yml/tests/variables.spec.js +7 -7
- package/src/index.ts +5 -0
- package/src/types/bruno-lang.d.ts +1 -0
- package/src/types.ts +7 -0
- package/src/utils/secretsJsonToEnvironments.spec.ts +211 -0
- package/src/utils/secretsJsonToEnvironments.ts +129 -0
- package/dist/formats/bru/tests/example-status-swap.spec.d.ts +0 -2
- package/dist/formats/bru/tests/example-status-swap.spec.d.ts.map +0 -1
- package/dist/formats/bru/tests/fixtures/oauth2-additional-params.d.ts +0 -57
- package/dist/formats/bru/tests/fixtures/oauth2-additional-params.d.ts.map +0 -1
- package/dist/formats/bru/tests/oauth2-additional-params.spec.d.ts +0 -2
- package/dist/formats/bru/tests/oauth2-additional-params.spec.d.ts.map +0 -1
- package/dist/formats/bru/tests/request-parse-and-redact-body-data.spec.d.ts +0 -2
- package/dist/formats/bru/tests/request-parse-and-redact-body-data.spec.d.ts.map +0 -1
- package/dist/formats/yml/tests/parseEnvironment.spec.d.ts +0 -2
- package/dist/formats/yml/tests/parseEnvironment.spec.d.ts.map +0 -1
- package/dist/formats/yml/tests/variables.spec.d.ts +0 -2
- package/dist/formats/yml/tests/variables.spec.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formats/bru/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formats/bru/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,eAAe,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,KAAW,GA6H7E,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAU,GAAG,KAAG,MAoI/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,KAAW,GA4ChF,CAAC;AAEF,eAAO,MAAM,sBAAsB,SAAU,GAAG,aAAa,OAAO,KAAG,MAuCtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,GAwBjD,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAAU,GAAG,KAAG,MAOnD,CAAC;AAGF,eAAO,MAAM,gBAAgB,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,eAAuB,MAAM,iBAAiB,MAAM,KAAG,GAwE1H,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAU,GAAG;;;;;;;;;;;CAsBzC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface RedactedBlock {
|
|
2
|
+
token: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}
|
|
5
|
+
export interface RedactionResult {
|
|
6
|
+
skeleton: string;
|
|
7
|
+
blocks: RedactedBlock[];
|
|
8
|
+
}
|
|
9
|
+
export declare const redactLargeBruTextBlocks: (content: string) => RedactionResult;
|
|
10
|
+
export declare const restoreRedactedBlocks: <T>(parsed: T, blocks: RedactedBlock[]) => T;
|
|
11
|
+
//# sourceMappingURL=redact-large-text-blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact-large-text-blocks.d.ts","sourceRoot":"","sources":["../../../../src/formats/bru/utils/redact-large-text-blocks.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAgCD,eAAO,MAAM,wBAAwB,YAAa,MAAM,KAAG,eAoC1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,yBAA0B,aAAa,EAAE,MAoB1E,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { App as BrunoApp } from '@usebruno/schema-types/collection/item';
|
|
2
|
+
export interface OpenCollectionApp {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
code?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const toOpenCollectionApp: (app: BrunoApp | null | undefined) => OpenCollectionApp | undefined;
|
|
7
|
+
export declare const toBrunoApp: (app: OpenCollectionApp | null | undefined) => BrunoApp | null;
|
|
8
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,QAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,KAAG,iBAAiB,GAAG,SAW1F,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,iBAAiB,GAAG,IAAI,GAAG,SAAS,KAAG,QAAQ,GAAG,IAMjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EASL,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAiC,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EASL,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAiC,MAAM,oCAAoC,CAAC;AAyK3G,eAAO,MAAM,oBAAoB,UAAW,SAAS,GAAG,IAAI,KAAG,IAAI,GAAG,SAkCrE,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,IAAI,GAAG,IAAI,GAAG,SAAS,KAAG,SAAS,GAAG,IAqIvE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,KAAK,EACV,eAAe,EAQhB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,KAAK,EACV,eAAe,EAQhB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,oBAAoB,SAAU,oBAAoB,GAAG,IAAI,GAAG,SAAS,KAAG,eAAe,GAAG,SAsHtG,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,eAAe,GAAG,IAAI,GAAG,SAAS,KAAG,oBAAoB,GAAG,SAuH7F,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { VariableTypedValue } from '@opencollection/types/common/variables';
|
|
2
|
+
import { BrunoVariableDataType, isBrunoVariableDataType } from '@usebruno/common/utils';
|
|
3
|
+
export { BrunoVariableDataType, isBrunoVariableDataType };
|
|
4
|
+
export declare const serializeVariableValue: (value: unknown) => string;
|
|
5
|
+
export declare const isTypedValue: (value: unknown) => value is VariableTypedValue;
|
|
6
|
+
export interface TypedVariableFields {
|
|
7
|
+
dataType?: BrunoVariableDataType;
|
|
8
|
+
}
|
|
9
|
+
export declare const hasTypedMetadata: (v: TypedVariableFields) => boolean;
|
|
10
|
+
export declare const toOpenCollectionTypedValue: (v: TypedVariableFields, dataStr: string) => VariableTypedValue;
|
|
11
|
+
export declare const fromOpenCollectionTypedValue: (typed: VariableTypedValue) => {
|
|
12
|
+
value: any;
|
|
13
|
+
} & TypedVariableFields;
|
|
14
|
+
//# sourceMappingURL=datatype.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datatype.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/datatype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAEL,qBAAqB,EACrB,uBAAuB,EAExB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AAE1D,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,MAKvD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,OAAO,gCAM1C,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,eAAO,MAAM,gBAAgB,MAAO,mBAAmB,KAAG,OAEzD,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAClC,mBAAmB,WACb,MAAM,KACd,kBAKF,CAAC;AAGF,eAAO,MAAM,4BAA4B,UAChC,kBAAkB,KACxB;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,GAAG,mBAUnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGjG,eAAO,MAAM,2BAA2B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,iBAAiB,EAAE,GAAG,SAoB1G,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,kBAAkB,EAAE,GAAG,SAW/G,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,aAAa,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGjG,eAAO,MAAM,2BAA2B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,iBAAiB,EAAE,GAAG,SAoB1G,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,kBAAkB,EAAE,GAAG,SAW/G,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,aAAa,EAAE,GAAG,SAqB7H,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Variable
|
|
1
|
+
import { Variable } from '@opencollection/types/common/variables';
|
|
2
2
|
import { FolderRequest as BrunoFolderRequest } from '@usebruno/schema-types/collection/folder';
|
|
3
3
|
import { Variables as BrunoVariables } from '@usebruno/schema-types/common/variables';
|
|
4
|
-
export declare const isTypedValue: (value: unknown) => value is VariableTypedValue;
|
|
5
4
|
/**
|
|
6
5
|
* Convert Bruno pre-request variables to OpenCollection variables format.
|
|
7
6
|
* Note: Post-response variables are now converted to actions (see actions.ts).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAA6B,SAAS,IAAI,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAUjH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,cAAe,kBAAkB,CAAC,MAAM,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,KAAG,QAAQ,EAAE,GAAG,SA6BlI,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,cAAe,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CA8BrH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Item as BrunoItem } from '@usebruno/schema-types/collection/item';
|
|
2
|
+
export interface AppFile {
|
|
3
|
+
info: {
|
|
4
|
+
name?: string;
|
|
5
|
+
type: 'app';
|
|
6
|
+
seq?: number;
|
|
7
|
+
tags?: string[];
|
|
8
|
+
};
|
|
9
|
+
code?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const parseApp: (ocApp: AppFile) => BrunoItem;
|
|
12
|
+
export default parseApp;
|
|
13
|
+
//# sourceMappingURL=parseApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseApp.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAGhF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,QAAQ,UAAW,OAAO,KAAG,SAqBlC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,wCAAwC,CAAC;AAUlH,QAAA,MAAM,mBAAmB,cAAe,cAAc,KAAG,
|
|
1
|
+
{"version":3,"file":"parseGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,wCAAwC,CAAC;AAUlH,QAAA,MAAM,mBAAmB,cAAe,cAAc,KAAG,SAkIxD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"parseGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,qCAAqC,CAAC;AAkCzG,QAAA,MAAM,gBAAgB,cAAe,WAAW,KAAG,SAkGlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"parseHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qCAAqC,CAAC;AAYxF,QAAA,MAAM,gBAAgB,cAAe,WAAW,KAAG,SAgMlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"parseWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAA6C,MAAM,0CAA0C,CAAC;AAO5H,QAAA,MAAM,qBAAqB,cAAe,gBAAgB,KAAG,SAmH5D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringifyApp.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAiBhF,QAAA,MAAM,YAAY,SAAU,SAAS,KAAG,MAyBvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAmB3H,QAAA,MAAM,uBAAuB,SAAU,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"stringifyGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAmB3H,QAAA,MAAM,uBAAuB,SAAU,SAAS,KAAG,MAqJlD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAehF,QAAA,MAAM,oBAAoB,SAAU,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"stringifyGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAehF,QAAA,MAAM,oBAAoB,SAAU,SAAS,KAAG,MAqH/C,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"stringifyHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAqB3H,QAAA,MAAM,oBAAoB,SAAU,SAAS,KAAG,MAgN/C,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAchF,QAAA,MAAM,yBAAyB,SAAU,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"stringifyWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAchF,QAAA,MAAM,yBAAyB,SAAU,SAAS,KAAG,MA8GpD,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseCollection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"parseCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseCollection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAU3E,UAAU,gBAAgB;IACxB,cAAc,EAAE,UAAU,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,QAAA,MAAM,eAAe,cAAe,MAAM,KAAG,gBAwN5C,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { Environment as BrunoEnvironment } from '@usebruno/schema-types/collection/environment';
|
|
1
|
+
import type { Environment as BrunoEnvironment, EnvironmentVariable as BrunoEnvironmentVariable, SecretEnvironmentVariable as BrunoSecretEnvironmentVariable } from '@usebruno/schema-types/collection/environment';
|
|
2
|
+
import type { Variable, SecretVariable } from '@opencollection/types/common/variables';
|
|
3
|
+
export declare const toBrunoEnvironmentVariables: (variables: (Variable | SecretVariable)[] | null | undefined) => (BrunoEnvironmentVariable | BrunoSecretEnvironmentVariable)[];
|
|
2
4
|
declare const parseEnvironment: (ymlString: string) => BrunoEnvironment;
|
|
3
5
|
export default parseEnvironment;
|
|
4
6
|
//# sourceMappingURL=parseEnvironment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"parseEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAC/B,mBAAmB,IAAI,wBAAwB,EAC/C,yBAAyB,IAAI,8BAA8B,EAE5D,MAAM,+CAA+C,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAUvF,eAAO,MAAM,2BAA2B,cAAe,CAAC,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,CAAC,wBAAwB,GAAG,8BAA8B,CAAC,EAgDpK,CAAC;AAgCF,QAAA,MAAM,gBAAgB,cAAe,MAAM,KAAG,gBAqB7C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseFolder.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseFolder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAU3E,QAAA,MAAM,WAAW,cAAe,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"parseFolder.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseFolder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAU3E,QAAA,MAAM,WAAW,cAAe,MAAM,KAAG,UAyExC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"parseItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AA+DhF,QAAA,MAAM,SAAS,cAAe,MAAM,KAAG,SAwCtC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyCollection.ts"],"names":[],"mappings":"AAkEA,QAAA,MAAM,mBAAmB,mBAAoB,GAAG,eAAe,GAAG,KAAG,
|
|
1
|
+
{"version":3,"file":"stringifyCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyCollection.ts"],"names":[],"mappings":"AAkEA,QAAA,MAAM,mBAAmB,mBAAoB,GAAG,eAAe,GAAG,KAAG,MA8NpE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { Environment as BrunoEnvironment } from '@usebruno/schema-types/collection/environment';
|
|
1
|
+
import type { Environment as BrunoEnvironment, EnvironmentVariable as BrunoEnvironmentVariable, SecretEnvironmentVariable as BrunoSecretEnvironmentVariable } from '@usebruno/schema-types/collection/environment';
|
|
2
|
+
import type { Variable, SecretVariable } from '@opencollection/types/common/variables';
|
|
3
|
+
export declare const toOpenCollectionEnvironmentVariables: (variables: (BrunoEnvironmentVariable | BrunoSecretEnvironmentVariable)[]) => (Variable | SecretVariable)[] | undefined;
|
|
2
4
|
declare const stringifyEnvironment: (environment: BrunoEnvironment) => string;
|
|
3
5
|
export default stringifyEnvironment;
|
|
4
6
|
//# sourceMappingURL=stringifyEnvironment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"stringifyEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAC/B,mBAAmB,IAAI,wBAAwB,EAC/C,yBAAyB,IAAI,8BAA8B,EAE5D,MAAM,+CAA+C,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMvF,eAAO,MAAM,oCAAoC,cAAe,CAAC,wBAAwB,GAAG,8BAA8B,CAAC,EAAE,KAAG,CAAC,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,SA2C/J,CAAC;AA8BF,QAAA,MAAM,oBAAoB,gBAAiB,gBAAgB,KAAG,MA2B7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"stringifyItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAQhF,QAAA,MAAM,aAAa,SAAU,SAAS,KAAG,MA+BxC,CAAC;AACF,eAAe,aAAa,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BrunoCollection, BrunoItem, BrunoEnvironment } from '@usebruno/schema-types';
|
|
2
2
|
import BruParserWorker from './workers';
|
|
3
3
|
import { ParseOptions, StringifyOptions, CollectionFormat } from './types';
|
|
4
|
+
import { redactLargeBruTextBlocks, restoreRedactedBlocks } from './formats/bru/utils/redact-large-text-blocks';
|
|
4
5
|
export declare const parseRequest: (content: string, options?: ParseOptions) => any;
|
|
5
6
|
export declare const parseRequestAndRedactBody: (content: string, options?: ParseOptions) => any;
|
|
6
7
|
export declare const stringifyRequest: (requestObj: BrunoItem, options?: StringifyOptions) => string;
|
|
@@ -18,6 +19,9 @@ export declare const stringifyFolder: (folderObj: any, options?: StringifyOption
|
|
|
18
19
|
export declare const parseEnvironment: (content: string, options?: ParseOptions) => any;
|
|
19
20
|
export declare const stringifyEnvironment: (envObj: BrunoEnvironment, options?: StringifyOptions) => string;
|
|
20
21
|
export declare const parseDotEnv: (content: string) => Record<string, string>;
|
|
22
|
+
export { redactLargeBruTextBlocks, restoreRedactedBlocks };
|
|
23
|
+
export type { RedactedBlock, RedactionResult } from './formats/bru/utils/redact-large-text-blocks';
|
|
24
|
+
export { migrateSecretsJsonToEnvironments } from './utils/secretsJsonToEnvironments';
|
|
21
25
|
export { BruParserWorker };
|
|
22
26
|
export * from './types';
|
|
23
27
|
export * from './constants';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAqB3F,OAAO,eAAe,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAqB3F,OAAO,eAAe,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAG/G,eAAO,MAAM,YAAY,YAAa,MAAM,YAAW,YAAY,KAA2C,GAO7G,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAa,MAAM,YAAW,YAAY,KAAuB,GAKtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,eAAgB,SAAS,YAAW,gBAAgB,KAA2C,MAO3H,CAAC;AAWF,eAAO,MAAM,qBAAqB,YAAmB,MAAM,WAAW;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,QAAQ,GAAG,CAIlI,CAAC;AAEF,eAAO,MAAM,yBAAyB,eAAsB,GAAG,WAAW;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,KAAG,QAAQ,MAAM,CAGtH,CAAC;AAGF,eAAO,MAAM,eAAe,YAAa,MAAM,YAAW,YAAY,KAA2C,GAOhH,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAAmB,eAAe,eAAe,GAAG,YAAW,gBAAgB,KAA2C,MAOzJ,CAAC;AAGF,eAAO,MAAM,WAAW,YAAa,MAAM,YAAW,YAAY,KAA2C,GAO5G,CAAC;AAEF,eAAO,MAAM,eAAe,cAAe,GAAG,YAAW,gBAAgB,KAA2C,MAOnH,CAAC;AAGF,eAAO,MAAM,gBAAgB,YAAa,MAAM,YAAW,YAAY,KAA2C,GAOjH,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,gBAAgB,YAAW,gBAAgB,KAA2C,MAOlI,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,MAAM,KAAG,OAAO,MAAM,EAAE,MAAM,CAElE,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Environment as BrunoEnvironment } from '@usebruno/schema-types/collection/environment';
|
|
2
|
+
type LegacySecretsJsonSecret = {
|
|
3
|
+
name?: string;
|
|
4
|
+
path?: string;
|
|
5
|
+
secretName?: string;
|
|
6
|
+
vaultName?: string;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export interface SecretsJsonData {
|
|
10
|
+
type?: string;
|
|
11
|
+
data?: {
|
|
12
|
+
environment: string;
|
|
13
|
+
type?: string;
|
|
14
|
+
secrets: LegacySecretsJsonSecret[];
|
|
15
|
+
}[];
|
|
16
|
+
cli?: {
|
|
17
|
+
type?: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface EnvironmentFileResult {
|
|
21
|
+
name: string;
|
|
22
|
+
environment: BrunoEnvironment;
|
|
23
|
+
changed: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Applies the secrets.json provider `type` to every environment's `externalSecrets`, moving each
|
|
27
|
+
* environment's matching secrets onto it. The provider type lands on every environment that
|
|
28
|
+
* doesn't already have `externalSecrets` — including ones with no matching secrets.json entry or
|
|
29
|
+
* only invalid secrets (those get the type with an empty `variables` list). Environments that
|
|
30
|
+
* already carry `externalSecrets` are returned unchanged, as is everything when no provider type
|
|
31
|
+
* can be resolved. Format-agnostic and pure; file IO is the caller's responsibility.
|
|
32
|
+
*/
|
|
33
|
+
export declare const migrateSecretsJsonToEnvironments: ({ secretsJsonData, environments }: {
|
|
34
|
+
secretsJsonData: SecretsJsonData;
|
|
35
|
+
environments: BrunoEnvironment[];
|
|
36
|
+
}) => EnvironmentFileResult[];
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=secretsJsonToEnvironments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretsJsonToEnvironments.d.ts","sourceRoot":"","sources":["../../src/utils/secretsJsonToEnvironments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAMhC,MAAM,+CAA+C,CAAC;AAGvD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,uBAAuB,EAAE,CAAA;KAAE,EAAE,CAAC;IACpF,GAAG,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AA6DD;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;qBAI1B,eAAe;kBAClB,gBAAgB,EAAE;MAC9B,qBAAqB,EAyBxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usebruno/filestore",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"clean": "rimraf dist",
|
|
15
15
|
"prebuild": "npm run clean",
|
|
16
|
-
"build": "rollup -c && tsc --emitDeclarationOnly",
|
|
16
|
+
"build": "rollup -c && tsc --emitDeclarationOnly -p tsconfig.build.json",
|
|
17
17
|
"watch": "rollup -c -w",
|
|
18
18
|
"test": "jest",
|
|
19
19
|
"test:watch": "jest --watch",
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"@types/jest": "^29.5.11",
|
|
30
30
|
"@types/lodash": "^4.14.191",
|
|
31
31
|
"@types/node": "^24.1.0",
|
|
32
|
-
"@
|
|
32
|
+
"@opencollection/types": "0.10.0",
|
|
33
|
+
"@usebruno/schema-types": "0.7.0",
|
|
33
34
|
"babel-jest": "^29.7.0",
|
|
34
35
|
"jest": "^29.2.0",
|
|
35
36
|
"nanoid": "3.3.8",
|
|
@@ -45,9 +46,10 @@
|
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
|
47
48
|
"@types/nanoid": "^2.1.0",
|
|
48
|
-
"@usebruno/
|
|
49
|
+
"@usebruno/common": "0.24.0",
|
|
50
|
+
"@usebruno/lang": "0.38.0",
|
|
49
51
|
"ajv": "^8.17.1",
|
|
50
|
-
"lodash": "
|
|
52
|
+
"lodash": "4.18.1",
|
|
51
53
|
"yaml": "^2.3.4"
|
|
52
54
|
}
|
|
53
55
|
}
|
package/src/constants.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import type { CollectionFormat } from './types';
|
|
2
|
+
import type { ExternalSecretProviderType } from '@usebruno/schema-types/collection/environment';
|
|
2
3
|
|
|
3
4
|
export const DEFAULT_COLLECTION_FORMAT: CollectionFormat = 'yml';
|
|
5
|
+
|
|
6
|
+
// Each provider type stores its secret reference under a different key.
|
|
7
|
+
export const SECRET_PROVIDER_IDENTIFIER_FIELDS: Record<ExternalSecretProviderType, 'path' | 'secretName' | 'vaultName'> = {
|
|
8
|
+
'aws-secrets-manager': 'secretName',
|
|
9
|
+
'azure-key-vault': 'vaultName',
|
|
10
|
+
'hashicorp-vault-cloud': 'path',
|
|
11
|
+
'hashicorp-vault-server': 'path'
|
|
12
|
+
};
|
package/src/formats/bru/index.ts
CHANGED
|
@@ -8,11 +8,26 @@ import {
|
|
|
8
8
|
jsonToCollectionBru as _jsonToCollectionBru
|
|
9
9
|
} from '@usebruno/lang';
|
|
10
10
|
import { getOauth2AdditionalParameters } from './utils/oauth2-additional-params';
|
|
11
|
+
import { uuid } from '../../utils';
|
|
11
12
|
|
|
12
13
|
export const parseBruRequest = (data: string | any, parsed: boolean = false): any => {
|
|
13
14
|
try {
|
|
14
15
|
const json = parsed ? data : bruToJsonV2(data);
|
|
15
16
|
|
|
17
|
+
if (_.get(json, 'meta.type') === 'app') {
|
|
18
|
+
const seq = _.get(json, 'meta.seq');
|
|
19
|
+
const tags = _.get(json, 'meta.tags', []);
|
|
20
|
+
return {
|
|
21
|
+
type: 'app',
|
|
22
|
+
name: _.get(json, 'meta.name'),
|
|
23
|
+
seq: !_.isNaN(seq) ? Number(seq) : 1,
|
|
24
|
+
tags: Array.isArray(tags) ? tags : [],
|
|
25
|
+
settings: _.get(json, 'settings', {}),
|
|
26
|
+
app: { code: _.get(json, 'app.code', null) },
|
|
27
|
+
request: null
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
16
31
|
let requestType = _.get(json, 'meta.type');
|
|
17
32
|
switch (requestType) {
|
|
18
33
|
case 'http':
|
|
@@ -38,11 +53,18 @@ export const parseBruRequest = (data: string | any, parsed: boolean = false): an
|
|
|
38
53
|
'ws-request': 'ws.url',
|
|
39
54
|
'default': 'http.url'
|
|
40
55
|
};
|
|
56
|
+
|
|
57
|
+
const appData = _.get(json, 'app');
|
|
58
|
+
const app = appData
|
|
59
|
+
? { code: _.get(appData, 'code', null), enabled: _.get(appData, 'enabled', false) === true }
|
|
60
|
+
: null;
|
|
61
|
+
|
|
41
62
|
const transformedJson = {
|
|
42
63
|
type: requestType,
|
|
43
64
|
name: _.get(json, 'meta.name'),
|
|
44
65
|
seq: !_.isNaN(sequence) ? Number(sequence) : 1,
|
|
45
66
|
settings: _.get(json, 'settings', {}),
|
|
67
|
+
app,
|
|
46
68
|
tags: Array.isArray(tags) ? tags : [],
|
|
47
69
|
request: {
|
|
48
70
|
// Preserving special characters in custom methods. Using _.upperCase strips special characters.
|
|
@@ -117,6 +139,22 @@ export const parseBruRequest = (data: string | any, parsed: boolean = false): an
|
|
|
117
139
|
|
|
118
140
|
export const stringifyBruRequest = (json: any): string => {
|
|
119
141
|
try {
|
|
142
|
+
// Standalone app item — emit only meta + the app code block.
|
|
143
|
+
if (_.get(json, 'type') === 'app') {
|
|
144
|
+
const seq = _.get(json, 'seq');
|
|
145
|
+
const bruJson: any = {
|
|
146
|
+
meta: {
|
|
147
|
+
name: _.get(json, 'name'),
|
|
148
|
+
type: 'app',
|
|
149
|
+
seq: !_.isNaN(seq) ? Number(seq) : 1,
|
|
150
|
+
tags: _.get(json, 'tags', [])
|
|
151
|
+
},
|
|
152
|
+
settings: _.get(json, 'settings', {}),
|
|
153
|
+
app: { code: _.get(json, 'app.code', '') }
|
|
154
|
+
};
|
|
155
|
+
return jsonToBruV2(bruJson);
|
|
156
|
+
}
|
|
157
|
+
|
|
120
158
|
let type = _.get(json, 'type');
|
|
121
159
|
switch (type) {
|
|
122
160
|
case 'http-request':
|
|
@@ -221,6 +259,11 @@ export const stringifyBruRequest = (json: any): string => {
|
|
|
221
259
|
bruJson.docs = _.get(json, 'request.docs', '');
|
|
222
260
|
bruJson.examples = _.get(json, 'examples', []).map((e: any) => jsonExampleToBru(e));
|
|
223
261
|
|
|
262
|
+
const app = _.get(json, 'app');
|
|
263
|
+
if (app && (app.enabled === true || (app.code && app.code.length))) {
|
|
264
|
+
bruJson.app = { code: app.code || null, enabled: app.enabled === true };
|
|
265
|
+
}
|
|
266
|
+
|
|
224
267
|
const bru = jsonToBruV2(bruJson);
|
|
225
268
|
return bru;
|
|
226
269
|
} catch (error) {
|
|
@@ -326,6 +369,15 @@ export const parseBruEnvironment = (bru: string): any => {
|
|
|
326
369
|
_.each(json.variables, (v: any) => (v.type = 'text'));
|
|
327
370
|
}
|
|
328
371
|
|
|
372
|
+
// bruToEnvJsonV2 emits the nested `externalSecrets: { type, variables: [{ name,
|
|
373
|
+
// <identifier>, enabled }] }`. The app/schema additionally expect a `uid` per variable.
|
|
374
|
+
if (json?.externalSecrets && Array.isArray(json.externalSecrets.variables)) {
|
|
375
|
+
json.externalSecrets.variables = json.externalSecrets.variables.map((v: any) => ({
|
|
376
|
+
uid: uuid(),
|
|
377
|
+
...v
|
|
378
|
+
}));
|
|
379
|
+
}
|
|
380
|
+
|
|
329
381
|
return json;
|
|
330
382
|
} catch (error) {
|
|
331
383
|
return Promise.reject(error);
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
const { parseBruEnvironment } = require('../index');
|
|
2
|
+
|
|
3
|
+
describe('parseBruEnvironment external secrets normalization', () => {
|
|
4
|
+
it('should normalize the external secrets block to the app shape with uid and enabled', () => {
|
|
5
|
+
const bru = `vars {
|
|
6
|
+
}
|
|
7
|
+
vars:externalsecrets:hashicorp-vault-server {
|
|
8
|
+
secret: secret/data/secret
|
|
9
|
+
password: secret/data/password
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
|
|
13
|
+
const output = parseBruEnvironment(bru);
|
|
14
|
+
|
|
15
|
+
expect(output.externalSecrets.type).toBe('hashicorp-vault-server');
|
|
16
|
+
expect(output.externalSecrets.variables).toHaveLength(2);
|
|
17
|
+
|
|
18
|
+
output.externalSecrets.variables.forEach((variable) => {
|
|
19
|
+
expect(typeof variable.uid).toBe('string');
|
|
20
|
+
expect(variable.uid).toMatch(/^[a-zA-Z0-9]{21}$/);
|
|
21
|
+
expect(variable.enabled).toBe(true);
|
|
22
|
+
expect(variable).not.toHaveProperty('disabled');
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
expect(output.externalSecrets.variables.map(({ name, path, enabled }) => ({ name, path, enabled }))).toEqual([
|
|
26
|
+
{ name: 'secret', path: 'secret/data/secret', enabled: true },
|
|
27
|
+
{ name: 'password', path: 'secret/data/password', enabled: true }
|
|
28
|
+
]);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('should map a disabled external secret entry to enabled: false', () => {
|
|
32
|
+
const bru = `vars:externalsecrets:aws-secrets-manager {
|
|
33
|
+
active: my-active-secret
|
|
34
|
+
~inactive: my-inactive-secret
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
|
|
38
|
+
const output = parseBruEnvironment(bru);
|
|
39
|
+
|
|
40
|
+
expect(output.externalSecrets.type).toBe('aws-secrets-manager');
|
|
41
|
+
const variables = output.externalSecrets.variables;
|
|
42
|
+
expect(variables.map(({ name, secretName, enabled }) => ({ name, secretName, enabled }))).toEqual([
|
|
43
|
+
{ name: 'active', secretName: 'my-active-secret', enabled: true },
|
|
44
|
+
{ name: 'inactive', secretName: 'my-inactive-secret', enabled: false }
|
|
45
|
+
]);
|
|
46
|
+
variables.forEach((variable) => {
|
|
47
|
+
expect(variable).not.toHaveProperty('disabled');
|
|
48
|
+
expect(variable.uid).toMatch(/^[a-zA-Z0-9]{21}$/);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('should leave environments without external secrets unchanged', () => {
|
|
53
|
+
const bru = `vars {
|
|
54
|
+
host: localhost
|
|
55
|
+
}
|
|
56
|
+
`;
|
|
57
|
+
|
|
58
|
+
const output = parseBruEnvironment(bru);
|
|
59
|
+
|
|
60
|
+
expect(output.externalSecrets).toBeUndefined();
|
|
61
|
+
expect(output.variables).toEqual([{ name: 'host', value: 'localhost', enabled: true, secret: false, type: 'text' }]);
|
|
62
|
+
});
|
|
63
|
+
});
|