Merge branch 'release/2021.6' into develop

This commit is contained in:
Opender Singh 2021-10-28 10:48:51 +13:00
commit 8918b15113
72 changed files with 264 additions and 174 deletions

View File

@ -1,6 +1,6 @@
{
"tagVersionPrefix": "lib@",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"includeMergedTags": true,
"command": {
"version": {

View File

@ -17,6 +17,7 @@
"lint:fix": "lerna run lint:fix --stream --no-bail",
"bootstrap": "npm install && lerna bootstrap && lerna run --stream bootstrap",
"version": "lerna version --exact --preid alpha",
"version:all": "npm run version -- --force-publish",
"version:dry": "npm run version -- --no-git-tag-version",
"release": "lerna publish from-git --pre-dist-tag alpha --no-verify-access --yes",
"clean": "lerna run clean --parallel --stream && lerna clean --yes && rimraf node_modules",

View File

@ -0,0 +1,24 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`validateInsomniaConfig should return error if there is a config error 1`] = `
"Your Insomnia Config was found to be invalid. Please check the path below for the following error:
[Path]
/mock/insomnia/config/path
[Error 1]
Path: path
message. suggestion"
`;
exports[`validateInsomniaConfig should return error if there is a parse error 1`] = `
"Failed to parse JSON file for Insomnia Config.
[Path]
/mock/insomnia/config/path
[Syntax Error]
mock syntax error"
`;
exports[`validateInsomniaConfig should return error if there is an unexpected error 1`] = `"{\\"error\\":{\\"errors\\":[],\\"humanReadableErrors\\":[],\\"insomniaConfig\\":\\"{ \\\\\\"mock\\\\\\": [\\\\\\"insomnia\\\\\\", \\\\\\"config\\\\\\"] }\\",\\"configPath\\":\\"/mock/insomnia/config/path\\"}}"`;

View File

@ -1,17 +1,13 @@
import electron from 'electron';
import { mocked } from 'ts-jest/utils';
import { getConfigSettings as _getConfigSettings } from '../../models/helpers/settings';
import { ConfigError, getConfigSettings as _getConfigSettings } from '../../models/helpers/settings';
import { validateInsomniaConfig } from '../validate-insomnia-config';
jest.mock('electron');
jest.mock('../../models/helpers/settings');
const electronAppExit = mocked(electron.app.exit);
const electronShowErrorBox = mocked(electron.dialog.showErrorBox);
const getConfigSettings = mocked(_getConfigSettings);
describe('validateInsomniaConfig', () => {
it('should show error box and exit if there is a parse error', () => {
it('should return error if there is a parse error', () => {
// Arrange
const errorReturn = {
error: {
@ -23,14 +19,39 @@ describe('validateInsomniaConfig', () => {
getConfigSettings.mockReturnValue(errorReturn);
// Act
validateInsomniaConfig();
const result = validateInsomniaConfig();
// Assert
expect(electronShowErrorBox).toHaveBeenCalled();
expect(electronAppExit).toHaveBeenCalled();
expect(result.error?.title).toBe('Invalid Insomnia Config');
expect(result.error?.message).toMatchSnapshot();
});
it('should show error box and exit if there is a config error', () => {
it('should return error if there is a config error', () => {
// Arrange
const errorReturn: ConfigError = {
error: {
errors: [],
humanReadableErrors: [{
message: 'message',
path: 'path',
suggestion: 'suggestion',
context: { errorType: 'const' },
}],
insomniaConfig: '{ "mock": ["insomnia", "config"] }',
configPath: '/mock/insomnia/config/path',
},
};
getConfigSettings.mockReturnValue(errorReturn);
// Act
const result = validateInsomniaConfig();
// Assert
expect(result.error?.title).toBe('Invalid Insomnia Config');
expect(result.error?.message).toMatchSnapshot();
});
it('should return error if there is an unexpected error', () => {
// Arrange
const errorReturn = {
error: {
@ -43,23 +64,22 @@ describe('validateInsomniaConfig', () => {
getConfigSettings.mockReturnValue(errorReturn);
// Act
validateInsomniaConfig();
const result = validateInsomniaConfig();
// Assert
expect(electronShowErrorBox).toHaveBeenCalled();
expect(electronAppExit).toHaveBeenCalled();
expect(result.error?.title).toBe('An unexpected error occured while parsing Insomnia Config');
expect(result.error?.message).toMatchSnapshot();
});
it('should not exit if there are no errors', () => {
it('should not return any errors', () => {
// Arrange
const validReturn = { enableAnalytics: true };
getConfigSettings.mockReturnValue(validReturn);
// Act
validateInsomniaConfig();
const result = validateInsomniaConfig();
// Assert
expect(electronShowErrorBox).not.toHaveBeenCalled();
expect(electronAppExit).not.toHaveBeenCalled();
expect(result.error).not.toBeDefined();
});
});

View File

@ -66,9 +66,9 @@ export function restartApp() {
app.exit();
}
export const exitApp = () => {
export const exitAppFailure = () => {
const { app } = electron.remote || electron;
app.exit();
app.exit(1);
};
export const setMenuBarVisibility = (visible: boolean) => {

View File

@ -1,18 +1,25 @@
import electron from 'electron';
import { getConfigSettings, isConfigError, isParseError } from '../models/helpers/settings';
import { exitApp } from './electron-helpers';
export const validateInsomniaConfig = () => {
interface Result {
error?:{
title: string;
message: string;
};
}
export const validateInsomniaConfig = (): Result => {
const configSettings = getConfigSettings();
if (!('error' in configSettings)) {
return;
return {};
}
let title = 'Invalid Insomnia Config';
let message = '';
if (isParseError(configSettings)) {
const { syntaxError, configPath } = configSettings.error;
electron.dialog.showErrorBox('Invalid Insomnia Config', [
message = [
'Failed to parse JSON file for Insomnia Config.',
'',
'[Path]',
@ -20,7 +27,7 @@ export const validateInsomniaConfig = () => {
'',
'[Syntax Error]',
syntaxError.message,
].join('\n'));
].join('\n');
} else if (isConfigError(configSettings)) {
const { humanReadableErrors, configPath } = configSettings.error;
const errors = humanReadableErrors.map(({ message, path, suggestion }, index) => ([
@ -29,20 +36,18 @@ export const validateInsomniaConfig = () => {
`${message}.${suggestion ? ` ${suggestion}` : ''}`,
]).join('\n')).join('\n\n');
electron.dialog.showErrorBox('Invalid Insomnia Config', [
message = [
`Your Insomnia Config was found to be invalid. Please check the path below for the following error${configSettings.error.humanReadableErrors?.length > 1 ? 's' : ''}:`,
'',
'[Path]',
configPath,
'',
errors,
].join('\n'));
].join('\n');
} else {
electron.dialog.showErrorBox(
'An unexpected error occured while parsing Insomnia Config',
JSON.stringify(configSettings),
);
title = 'An unexpected error occured while parsing Insomnia Config';
message = JSON.stringify(configSettings);
}
exitApp();
return { error: { title, message } };
};

View File

@ -6,7 +6,7 @@ import appConfig from '../config/config.json';
import { trackNonInteractiveEventQueueable } from './common/analytics';
import { changelogUrl, getAppVersion, isDevelopment, isMac } from './common/constants';
import { database } from './common/database';
import { disableSpellcheckerDownload } from './common/electron-helpers';
import { disableSpellcheckerDownload, exitAppFailure } from './common/electron-helpers';
import log, { initializeLogging } from './common/log';
import { validateInsomniaConfig } from './common/validate-insomnia-config';
import * as errorHandling from './main/error-handling';
@ -42,7 +42,15 @@ global.window = global.window || undefined;
// When the app is first launched
app.on('ready', async () => {
validateInsomniaConfig();
const { error } = validateInsomniaConfig();
if (error) {
electron.dialog.showErrorBox(error.title, error.message);
console.log('[config] Insomnia config is invalid, preventing app initialization');
exitAppFailure();
return;
}
disableSpellcheckerDownload();
if (isDevelopment()) {

View File

@ -0,0 +1,19 @@
import * as models from '../../../models';
import { WorkspaceScopeKeys } from '../../workspace';
import getWorkspaceName from '../get-workspace-name';
describe('getWorkspaceName', () => {
it('returns workspace name', () => {
const w = models.workspace.init();
const s = models.apiSpec.init();
w.scope = WorkspaceScopeKeys.collection;
expect(getWorkspaceName(w, s)).toBe(w.name);
});
it('returns api spec name', () => {
const w = models.workspace.init();
const s = models.apiSpec.init();
w.scope = WorkspaceScopeKeys.design;
expect(getWorkspaceName(w, s)).toBe(s.fileName);
});
});

View File

@ -0,0 +1,6 @@
import type { ApiSpec } from '../api-spec';
import { isDesign, Workspace } from '../workspace';
export default function getWorkspaceName(w: Workspace, s: ApiSpec) {
return isDesign(w) ? s.fileName : w.name;
}

View File

@ -15,9 +15,13 @@ interface FailedParseResult {
configPath: string;
}
const isFailedParseResult = (input: any): input is FailedParseResult => (
input ? input.syntaxError instanceof SyntaxError : false
const isFailedParseResult = (input: any): input is FailedParseResult => {
const typesafeInput = input as FailedParseResult;
return (
typesafeInput ? typesafeInput.syntaxError instanceof SyntaxError : false
);
};
/** takes an unresolved (or resolved will work fine too) filePath of the insomnia config and reads the insomniaConfig from disk */
export const readConfigFile = (configPath?: string): unknown | FailedParseResult | undefined => {
@ -96,7 +100,7 @@ export const getConfigFile = () => {
};
};
interface ConfigError {
export interface ConfigError {
error: {
configPath?: string;
insomniaConfig: unknown;
@ -105,16 +109,17 @@ interface ConfigError {
};
}
export const isConfigError = (input: any): input is ConfigError => (
input ? input.humanErrors?.length > 0 : false
export const isConfigError = (input: ConfigError | ParseError): input is ConfigError => (
// Cast for typesafety
(input as ConfigError).error?.humanReadableErrors?.length > 0
);
interface ParseError {
export interface ParseError {
error: FailedParseResult;
}
export const isParseError = (input: any): input is ParseError => (
input ? isFailedParseResult(input.error) : false
export const isParseError = (input: ConfigError | ParseError): input is ParseError => (
isFailedParseResult(input.error)
);
/**

View File

@ -1,12 +1,12 @@
import { SvgIcon } from 'insomnia-components';
import React, { FC, useCallback, useState } from 'react';
import { useSelector } from 'react-redux';
import { parseApiSpec } from '../../../common/api-specs';
import { getWorkspaceLabel } from '../../../common/get-workspace-label';
import { RENDER_PURPOSE_NO_RENDER } from '../../../common/render';
import * as models from '../../../models';
import type { ApiSpec } from '../../../models/api-spec';
import getWorkspaceName from '../../../models/helpers/get-workspace-name';
import * as workspaceOperations from '../../../models/helpers/workspace-operations';
import { Project } from '../../../models/project';
import type { Workspace } from '../../../models/workspace';
@ -15,7 +15,6 @@ import type { DocumentAction } from '../../../plugins';
import { getDocumentActions } from '../../../plugins';
import * as pluginContexts from '../../../plugins/context';
import { useLoadingRecord } from '../../hooks/use-loading-record';
import { selectActiveWorkspaceName } from '../../redux/selectors';
import { Dropdown } from '../base/dropdown/dropdown';
import { DropdownButton } from '../base/dropdown/dropdown-button';
import { DropdownDivider } from '../base/dropdown/dropdown-divider';
@ -34,15 +33,15 @@ const spinner = <i className="fa fa-refresh fa-spin" />;
const useWorkspaceHandlers = ({ workspace, apiSpec }: Props) => {
const handleDuplicate = useCallback(() => {
showWorkspaceDuplicateModal({ workspace });
}, [workspace]);
showWorkspaceDuplicateModal({ workspace, apiSpec });
}, [workspace, apiSpec]);
const activeWorkspaceName = useSelector(selectActiveWorkspaceName);
const workspaceName = getWorkspaceName(workspace, apiSpec);
const handleRename = useCallback(() => {
showPrompt({
title: `Rename ${getWorkspaceLabel(workspace).singular}`,
defaultValue: activeWorkspaceName,
defaultValue: workspaceName,
submitName: 'Rename',
selectText: true,
label: 'Name',
@ -50,13 +49,13 @@ const useWorkspaceHandlers = ({ workspace, apiSpec }: Props) => {
await workspaceOperations.rename(workspace, apiSpec, name);
},
});
}, [apiSpec, workspace, activeWorkspaceName]);
}, [apiSpec, workspace, workspaceName]);
const handleDelete = useCallback(() => {
const label = getWorkspaceLabel(workspace);
showModal(AskModal, {
title: `Delete ${label.singular}`,
message: `Do you really want to delete "${activeWorkspaceName}"?`,
message: `Do you really want to delete "${workspaceName}"?`,
yesText: 'Yes',
noText: 'Cancel',
onDone: async (isYes: boolean) => {
@ -68,7 +67,7 @@ const useWorkspaceHandlers = ({ workspace, apiSpec }: Props) => {
await models.workspace.remove(workspace);
},
});
}, [workspace, activeWorkspaceName]);
}, [workspace, workspaceName]);
return { handleDelete, handleDuplicate, handleRename };
};

View File

@ -8,13 +8,15 @@ import { AUTOBIND_CFG } from '../../../common/constants';
import { getWorkspaceLabel } from '../../../common/get-workspace-label';
import { strings } from '../../../common/strings';
import * as models from '../../../models';
import { ApiSpec } from '../../../models/api-spec';
import getWorkspaceName from '../../../models/helpers/get-workspace-name';
import * as workspaceOperations from '../../../models/helpers/workspace-operations';
import { isDefaultProject, isLocalProject, isRemoteProject, Project } from '../../../models/project';
import { Workspace } from '../../../models/workspace';
import { initializeLocalBackendProjectAndMarkForSync } from '../../../sync/vcs/initialize-backend-project';
import { VCS } from '../../../sync/vcs/vcs';
import { activateWorkspace } from '../../redux/modules/workspace';
import { selectActiveProject, selectActiveWorkspaceName, selectIsLoggedIn, selectProjects } from '../../redux/selectors';
import { selectActiveProject, selectIsLoggedIn, selectProjects } from '../../redux/selectors';
import { Modal } from '../base/modal';
import { ModalBody } from '../base/modal-body';
import { ModalFooter } from '../base/modal-footer';
@ -23,6 +25,7 @@ import { showModal } from '.';
interface Options {
workspace: Workspace;
apiSpec: ApiSpec;
onDone?: () => void;
}
@ -41,7 +44,7 @@ const ProjectOption: FC<Project> = project => (
</option>
);
const WorkspaceDuplicateModalInternalWithRef: ForwardRefRenderFunction<Modal, InnerProps> = ({ workspace, onDone, hide, vcs }, ref) => {
const WorkspaceDuplicateModalInternalWithRef: ForwardRefRenderFunction<Modal, InnerProps> = ({ workspace, apiSpec, onDone, hide, vcs }, ref) => {
const dispatch = useDispatch();
const projects = useSelector(selectProjects);
@ -49,7 +52,7 @@ const WorkspaceDuplicateModalInternalWithRef: ForwardRefRenderFunction<Modal, In
const isLoggedIn = useSelector(selectIsLoggedIn);
const title = `Duplicate ${getWorkspaceLabel(workspace).singular}`;
const activeWorkspaceName = useSelector(selectActiveWorkspaceName);
const defaultWorkspaceName = getWorkspaceName(workspace, apiSpec);
const {
register,
@ -59,7 +62,7 @@ const WorkspaceDuplicateModalInternalWithRef: ForwardRefRenderFunction<Modal, In
errors,
} } = useForm<FormFields>({
defaultValues: {
newName: activeWorkspaceName,
newName: defaultWorkspaceName,
projectId: activeProject._id,
},
});

View File

@ -131,8 +131,8 @@ export class UnconnectedWorkspaceSettingsModal extends PureComponent<Props, Stat
}
_handleDuplicateWorkspace() {
const { workspace } = this.props;
showWorkspaceDuplicateModal({ workspace, onDone: this.hide });
const { workspace, apiSpec } = this.props;
showWorkspaceDuplicateModal({ workspace, apiSpec, onDone: this.hide });
}
_handleToggleCertificateForm() {

View File

@ -1,5 +1,5 @@
{
"version": "2021.6.0-alpha.4",
"version": "2021.6.0",
"name": "insomnia",
"executableName": "insomnia",
"appId": "com.insomnia.app",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-app",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"private": true,
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"name": "insomnia-app",
"homepage": "https://konghq.com",
"description": "The Collaborative API Design Tool",
@ -100,30 +100,30 @@
"html-entities": "^1.2.0",
"httpsnippet": "^1.23.0",
"iconv-lite": "^0.4.15",
"insomnia-common": "2.3.3-alpha.4",
"insomnia-components": "2.3.3-alpha.4",
"insomnia-config": "2.3.3-alpha.4",
"insomnia-cookies": "2.3.3-alpha.4",
"insomnia-importers": "2.3.3-alpha.4",
"insomnia-plugin-base64": "2.3.3-alpha.4",
"insomnia-plugin-cookie-jar": "2.3.3-alpha.4",
"insomnia-plugin-core-themes": "2.3.3-alpha.4",
"insomnia-plugin-file": "2.3.3-alpha.4",
"insomnia-plugin-hash": "2.3.3-alpha.4",
"insomnia-plugin-jsonpath": "2.3.3-alpha.4",
"insomnia-plugin-kong-declarative-config": "2.3.3-alpha.4",
"insomnia-plugin-kong-kubernetes-config": "2.3.3-alpha.4",
"insomnia-plugin-kong-portal": "2.3.3-alpha.4",
"insomnia-plugin-now": "2.3.3-alpha.4",
"insomnia-plugin-os": "2.3.3-alpha.4",
"insomnia-plugin-prompt": "2.3.2",
"insomnia-plugin-request": "2.3.3-alpha.4",
"insomnia-plugin-response": "2.3.3-alpha.4",
"insomnia-plugin-uuid": "2.3.3-alpha.4",
"insomnia-prettify": "2.3.2",
"insomnia-testing": "2.3.3-alpha.4",
"insomnia-url": "2.3.2",
"insomnia-xpath": "2.3.3-alpha.4",
"insomnia-common": "2.4.0",
"insomnia-components": "2.4.0",
"insomnia-config": "2.4.0",
"insomnia-cookies": "2.4.0",
"insomnia-importers": "2.4.0",
"insomnia-plugin-base64": "2.4.0",
"insomnia-plugin-cookie-jar": "2.4.0",
"insomnia-plugin-core-themes": "2.4.0",
"insomnia-plugin-file": "2.4.0",
"insomnia-plugin-hash": "2.4.0",
"insomnia-plugin-jsonpath": "2.4.0",
"insomnia-plugin-kong-declarative-config": "2.4.0",
"insomnia-plugin-kong-kubernetes-config": "2.4.0",
"insomnia-plugin-kong-portal": "2.4.0",
"insomnia-plugin-now": "2.4.0",
"insomnia-plugin-os": "2.4.0",
"insomnia-plugin-prompt": "2.4.0",
"insomnia-plugin-request": "2.4.0",
"insomnia-plugin-response": "2.4.0",
"insomnia-plugin-uuid": "2.4.0",
"insomnia-prettify": "2.4.0",
"insomnia-testing": "2.4.0",
"insomnia-url": "2.4.0",
"insomnia-xpath": "2.4.0",
"isomorphic-git": "^1.8.1",
"js-yaml": "^3.14.1",
"jshint": "^2.11.1",
@ -142,7 +142,7 @@
"nunjucks": "^3.2.0",
"oauth-1.0a": "^2.2.2",
"objectpath": "^2.0.0",
"openapi-2-kong": "2.3.3-alpha.4",
"openapi-2-kong": "2.4.0",
"papaparse": "^5.2.0",
"pdfjs-dist": "^2.5.207",
"prettier": "2.4.1",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-common",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-common",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"homepage": "https://insomnia.rest",
"description": "Top-level entities and utilities for Insomnia",
"author": "Kong <office@konghq.com>",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-components",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-components",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia UI component library",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-config",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-config",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"homepage": "https://insomnia.rest",
"description": "Configuration for Insomnia",
"author": "Kong <office@konghq.com>",
@ -27,9 +27,9 @@
"build": "tsc --build tsconfig.build.json"
},
"dependencies": {
"ajv": "^8.6.2",
"@apideck/better-ajv-errors": "^0.2.6",
"insomnia-common": "2.3.3-alpha.4"
"ajv": "^8.6.2",
"insomnia-common": "2.4.0"
},
"devDependencies": {
"jest": "^26.6.3",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-cookies",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-cookies",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Cookie utilities",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-importers",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-importers",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Various data importers for Insomnia",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-inso",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-inso",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"homepage": "https://insomnia.rest",
"description": "A CLI for Insomnia - The Collaborative API Design Tool",
"author": "Kong <office@konghq.com>",
@ -73,24 +73,24 @@
"consola": "^2.15.0",
"cosmiconfig": "^6.0.0",
"enquirer": "^2.3.6",
"insomnia-plugin-base64": "2.3.3-alpha.4",
"insomnia-plugin-cookie-jar": "2.3.3-alpha.4",
"insomnia-plugin-core-themes": "2.3.3-alpha.4",
"insomnia-plugin-file": "2.3.3-alpha.4",
"insomnia-plugin-hash": "2.3.3-alpha.4",
"insomnia-plugin-jsonpath": "2.3.3-alpha.4",
"insomnia-plugin-now": "2.3.3-alpha.4",
"insomnia-plugin-os": "2.3.3-alpha.4",
"insomnia-plugin-prompt": "2.3.2",
"insomnia-plugin-request": "2.3.3-alpha.4",
"insomnia-plugin-response": "2.3.3-alpha.4",
"insomnia-plugin-uuid": "2.3.3-alpha.4",
"insomnia-send-request": "2.3.3-alpha.4",
"insomnia-testing": "2.3.3-alpha.4",
"insomnia-plugin-base64": "2.4.0",
"insomnia-plugin-cookie-jar": "2.4.0",
"insomnia-plugin-core-themes": "2.4.0",
"insomnia-plugin-file": "2.4.0",
"insomnia-plugin-hash": "2.4.0",
"insomnia-plugin-jsonpath": "2.4.0",
"insomnia-plugin-now": "2.4.0",
"insomnia-plugin-os": "2.4.0",
"insomnia-plugin-prompt": "2.4.0",
"insomnia-plugin-request": "2.4.0",
"insomnia-plugin-response": "2.4.0",
"insomnia-plugin-uuid": "2.4.0",
"insomnia-send-request": "2.4.0",
"insomnia-testing": "2.4.0",
"lodash.flattendeep": "^4.4.0",
"mkdirp": "^1.0.4",
"nedb": "^1.8.0",
"openapi-2-kong": "2.3.3-alpha.4",
"openapi-2-kong": "2.4.0",
"ramda": "^0.27.1",
"ramda-adjunct": "^2.33.0",
"string-argv": "^0.3.1",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-prettify",
"version": "2.3.2",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Prettification utilities for Insomnia",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-send-request",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,7 +1,7 @@
{
"name": "insomnia-send-request",
"license": "Apache-2.0",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"main": "dist/index.js",
"types": "dist/send-request/index.d.ts",
@ -18,10 +18,10 @@
"hkdf": "0.0.2",
"html-entities": "^1.3.1",
"httpsnippet": "^1.22.0",
"insomnia-common": "2.3.3-alpha.4",
"insomnia-config": "2.3.3-alpha.4",
"insomnia-importers": "2.3.3-alpha.4",
"insomnia-testing": "2.3.3-alpha.4",
"insomnia-common": "2.4.0",
"insomnia-config": "2.4.0",
"insomnia-importers": "2.4.0",
"insomnia-testing": "2.4.0",
"isomorphic-git": "^1.5.0",
"jshint": "^2.11.1",
"jsonlint": "^1.6.3",
@ -35,7 +35,7 @@
"node-libcurl": "2.3.3",
"nunjucks": "^3.2.1",
"oauth-1.0a": "^2.2.6",
"openapi-2-kong": "2.3.3-alpha.4",
"openapi-2-kong": "2.4.0",
"ramda": "^0.27.1",
"ramda-adjunct": "^2.33.0",
"tough-cookie": "^4.0.0",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-smoke-test",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/kong/insomnia/issues"
},
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"scripts": {
"bootstrap": "npm run build",
"lint": "eslint . --ext .js,.ts,.tsx",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-testing",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,7 +1,7 @@
{
"name": "insomnia-testing",
"license": "Apache-2.0",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"repository": {
"type": "git",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-url",
"version": "2.3.2",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "URL Utilities",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-xpath",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-xpath",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Query XML using XPath",
"license": "MIT",
@ -32,7 +32,7 @@
"@types/xmldom": "0.1.30"
},
"dependencies": {
"insomnia-cookies": "2.3.3-alpha.4",
"insomnia-cookies": "2.4.0",
"xmldom": "^0.5.0",
"xpath": "0.0.27"
},

View File

@ -1,6 +1,6 @@
{
"name": "openapi-2-kong",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,7 +1,7 @@
{
"name": "openapi-2-kong",
"license": "Apache-2.0",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@ -1,5 +1,5 @@
{
"name": "insomnia-plugin-base64",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1
}

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-base64",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia base64 template tag",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-cookie-jar",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-cookie-jar",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"contributors": [
{
@ -28,7 +28,7 @@
"test": "jest --silent"
},
"dependencies": {
"insomnia-cookies": "2.3.3-alpha.4"
"insomnia-cookies": "2.4.0"
},
"gitHead": "e46bf021cf4b4379e31d2b2d9025d476d6839fa1"
}

View File

@ -1,5 +1,5 @@
{
"name": "insomnia-plugin-core-themes",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1
}

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-core-themes",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia core themes",
"license": "MIT",

View File

@ -1,5 +1,5 @@
{
"name": "insomnia-plugin-default-headers",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1
}

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-default-headers",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Various data importers for Insomnia",
"license": "MIT",

View File

@ -1,5 +1,5 @@
{
"name": "insomnia-plugin-file",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1
}

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-file",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia file templte tag",
"license": "MIT",

View File

@ -1,5 +1,5 @@
{
"name": "insomnia-plugin-hash",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1
}

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-hash",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia hash template tag",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-jsonpath",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-jsonpath",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Template tag to pull data from JSON strings",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-kong-declarative-config",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-kong-declarative-config",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"main": "index.js",
"author": "Kong <office@konghq.com>",
"license": "Apache-2.0",
@ -17,7 +17,7 @@
"description": "Generate Kong Declarative Config"
},
"dependencies": {
"openapi-2-kong": "2.3.3-alpha.4",
"openapi-2-kong": "2.4.0",
"yaml": "^1.8.3"
},
"gitHead": "d91e6735a76295166545a42c170328da4ab70dd3"

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-kong-kubernetes-config",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-kong-kubernetes-config",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"main": "index.js",
"author": "Kong <office@konghq.com>",
"license": "Apache-2.0",
@ -17,7 +17,7 @@
"description": "Generate Kong For Kubernetes configuration"
},
"dependencies": {
"openapi-2-kong": "2.3.3-alpha.4",
"openapi-2-kong": "2.4.0",
"yaml": "^1.8.3"
},
"gitHead": "d91e6735a76295166545a42c170328da4ab70dd3"

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-kong-portal",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-kong-portal",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"main": "dist/index.js",
"author": "Kong <office@konghq.com>",
"license": "Apache-2.0",
@ -30,7 +30,7 @@
"@babel/preset-flow": "^7.9.0",
"@babel/preset-react": "^7.9.4",
"autobind-decorator": "^2.4.0",
"insomnia-components": "2.3.3-alpha.4",
"insomnia-components": "2.4.0",
"react": "^16.8.3",
"react-dom": "^16.8.3",
"styled-components": "^4.4.1",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-now",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-now",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia now template tag",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-os",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-os",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Template tag to get information about the OS",
"license": "MIT",

View File

@ -1,5 +1,5 @@
{
"name": "insomnia-plugin-prompt",
"version": "2.3.2",
"version": "2.4.0",
"lockfileVersion": 1
}

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-prompt",
"version": "2.3.2",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia prompt template tag",
"license": "MIT",

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-request",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-request",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia request template tag",
"license": "MIT",
@ -22,8 +22,8 @@
"test": "jest --silent"
},
"dependencies": {
"insomnia-cookies": "2.3.3-alpha.4",
"insomnia-url": "2.3.2"
"insomnia-cookies": "2.4.0",
"insomnia-url": "2.4.0"
},
"gitHead": "d91e6735a76295166545a42c170328da4ab70dd3"
}

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-response",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-response",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia response template tag",
"license": "MIT",
@ -23,7 +23,7 @@
},
"dependencies": {
"iconv-lite": "^0.4.19",
"insomnia-xpath": "2.3.3-alpha.4",
"insomnia-xpath": "2.4.0",
"jsonpath-plus": "^6.0.1"
},
"gitHead": "e46bf021cf4b4379e31d2b2d9025d476d6839fa1"

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-uuid",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "insomnia-plugin-uuid",
"version": "2.3.3-alpha.4",
"version": "2.4.0",
"author": "Kong <office@konghq.com>",
"description": "Insomnia uuid template tag",
"license": "MIT",