Update submodules in gui and workflowsCommands
This commit is contained in:
parent
0689beeba8
commit
19b1280222
2
gui
2
gui
@ -1 +1 @@
|
|||||||
Subproject commit 2af2f079c1d719c1ff0463ce89ea84397860e2ab
|
Subproject commit 96f6f79d3c41d2920adcd5bafab06aa95c93de99
|
18
package.json
18
package.json
@ -668,6 +668,14 @@
|
|||||||
"command": "DevChat.Chat",
|
"command": "DevChat.Chat",
|
||||||
"title": "Chat with DevChat",
|
"title": "Chat with DevChat",
|
||||||
"category": "DevChat"
|
"category": "DevChat"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "devchat.explain",
|
||||||
|
"title": "Explain"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "devchat.explain_chinese",
|
||||||
|
"title": "代码解释"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"keybindings": [
|
"keybindings": [
|
||||||
@ -751,6 +759,16 @@
|
|||||||
"command": "devchat.askForFile_chinese",
|
"command": "devchat.askForFile_chinese",
|
||||||
"when": "isChineseLocale && editorTextFocus && !editorHasSelection",
|
"when": "isChineseLocale && editorTextFocus && !editorHasSelection",
|
||||||
"group": "navigation"
|
"group": "navigation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "devchat.explain",
|
||||||
|
"when": "!isChineseLocale && editorTextFocus && editorHasSelection",
|
||||||
|
"group": "navigation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "devchat.explain_chinese",
|
||||||
|
"when": "isChineseLocale && editorTextFocus && editorHasSelection",
|
||||||
|
"group": "navigation"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,23 +1,29 @@
|
|||||||
import * as vscode from 'vscode';
|
import * as vscode from "vscode";
|
||||||
import * as fs from 'fs';
|
import * as fs from "fs";
|
||||||
import * as os from 'os';
|
import * as os from "os";
|
||||||
import * as path from 'path';
|
import * as path from "path";
|
||||||
import * as util from 'util';
|
import * as util from "util";
|
||||||
import { sendFileSelectMessage, sendCodeSelectMessage } from './util';
|
import { sendFileSelectMessage, sendCodeSelectMessage } from "./util";
|
||||||
import { ExtensionContextHolder } from '../util/extensionContext';
|
import { ExtensionContextHolder } from "../util/extensionContext";
|
||||||
import { FilePairManager } from '../util/diffFilePairs';
|
import { FilePairManager } from "../util/diffFilePairs";
|
||||||
import { ApiKeyManager } from '../util/apiKey';
|
import { ApiKeyManager } from "../util/apiKey";
|
||||||
import { UiUtilWrapper } from '../util/uiUtil';
|
import { UiUtilWrapper } from "../util/uiUtil";
|
||||||
import { isValidApiKey } from '../handler/historyMessagesBase';
|
import { isValidApiKey } from "../handler/historyMessagesBase";
|
||||||
|
|
||||||
import { logger } from '../util/logger';
|
import { logger } from "../util/logger";
|
||||||
|
|
||||||
import { sendCommandListByDevChatRun, updateChatModels } from '../handler/workflowCommandHandler';
|
import {
|
||||||
|
sendCommandListByDevChatRun,
|
||||||
|
updateChatModels,
|
||||||
|
} from "../handler/workflowCommandHandler";
|
||||||
import DevChat from "../toolwrapper/devchat";
|
import DevChat from "../toolwrapper/devchat";
|
||||||
import { createEnvByConda, createEnvByMamba } from '../util/python_installer/app_install';
|
import {
|
||||||
import { installRequirements } from '../util/python_installer/package_install';
|
createEnvByConda,
|
||||||
import { chatWithDevChat } from '../handler/chatHandler';
|
createEnvByMamba,
|
||||||
import { focusDevChatInput } from '../handler/focusHandler';
|
} from "../util/python_installer/app_install";
|
||||||
|
import { installRequirements } from "../util/python_installer/package_install";
|
||||||
|
import { chatWithDevChat } from "../handler/chatHandler";
|
||||||
|
import { focusDevChatInput } from "../handler/focusHandler";
|
||||||
|
|
||||||
const readdir = util.promisify(fs.readdir);
|
const readdir = util.promisify(fs.readdir);
|
||||||
const stat = util.promisify(fs.stat);
|
const stat = util.promisify(fs.stat);
|
||||||
@ -41,83 +47,119 @@ async function copyDirectory(src: string, dest: string): Promise<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function registerOpenChatPanelCommand(context: vscode.ExtensionContext) {
|
function registerOpenChatPanelCommand(context: vscode.ExtensionContext) {
|
||||||
let disposable = vscode.commands.registerCommand('devchat.openChatPanel', async () => {
|
let disposable = vscode.commands.registerCommand(
|
||||||
await vscode.commands.executeCommand('devchat-view.focus');
|
"devchat.openChatPanel",
|
||||||
|
async () => {
|
||||||
|
await vscode.commands.executeCommand("devchat-view.focus");
|
||||||
await focusDevChatInput(ExtensionContextHolder.provider?.view()!);
|
await focusDevChatInput(ExtensionContextHolder.provider?.view()!);
|
||||||
});
|
}
|
||||||
|
);
|
||||||
context.subscriptions.push(disposable);
|
context.subscriptions.push(disposable);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function ensureChatPanel(context: vscode.ExtensionContext): Promise<boolean> {
|
async function ensureChatPanel(
|
||||||
await vscode.commands.executeCommand('devchat-view.focus');
|
context: vscode.ExtensionContext
|
||||||
|
): Promise<boolean> {
|
||||||
|
await vscode.commands.executeCommand("devchat-view.focus");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function registerAddContextCommand(context: vscode.ExtensionContext) {
|
function registerAddContextCommand(context: vscode.ExtensionContext) {
|
||||||
const callback = async (uri: { fsPath: any; }) => {
|
const callback = async (uri: { fsPath: any }) => {
|
||||||
if (!await ensureChatPanel(context)) {
|
if (!(await ensureChatPanel(context))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await sendFileSelectMessage(ExtensionContextHolder.provider?.view()!, uri.fsPath);
|
await sendFileSelectMessage(
|
||||||
|
ExtensionContextHolder.provider?.view()!,
|
||||||
|
uri.fsPath
|
||||||
|
);
|
||||||
};
|
};
|
||||||
context.subscriptions.push(vscode.commands.registerCommand('devchat.addContext', callback));
|
context.subscriptions.push(
|
||||||
context.subscriptions.push(vscode.commands.registerCommand('devchat.addConext_chinese', callback));
|
vscode.commands.registerCommand("devchat.addContext", callback)
|
||||||
|
);
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.commands.registerCommand("devchat.addConext_chinese", callback)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function registerAskForCodeCommand(context: vscode.ExtensionContext) {
|
function registerAskForCodeCommand(context: vscode.ExtensionContext) {
|
||||||
const callback = async () => {
|
const callback = async () => {
|
||||||
const editor = vscode.window.activeTextEditor;
|
const editor = vscode.window.activeTextEditor;
|
||||||
if (editor) {
|
if (editor) {
|
||||||
if (!await ensureChatPanel(context)) {
|
if (!(await ensureChatPanel(context))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const selectedText = editor.document.getText(editor.selection);
|
const selectedText = editor.document.getText(editor.selection);
|
||||||
await sendCodeSelectMessage(ExtensionContextHolder.provider?.view()!, editor.document.fileName, selectedText, editor.selection.start.line);
|
await sendCodeSelectMessage(
|
||||||
|
ExtensionContextHolder.provider?.view()!,
|
||||||
|
editor.document.fileName,
|
||||||
|
selectedText,
|
||||||
|
editor.selection.start.line
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
context.subscriptions.push(vscode.commands.registerCommand('devchat.askForCode', callback));
|
context.subscriptions.push(
|
||||||
context.subscriptions.push(vscode.commands.registerCommand('devchat.askForCode_chinese', callback));
|
vscode.commands.registerCommand("devchat.askForCode", callback)
|
||||||
|
);
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.commands.registerCommand("devchat.askForCode_chinese", callback)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function registerAskForFileCommand(context: vscode.ExtensionContext) {
|
function registerAskForFileCommand(context: vscode.ExtensionContext) {
|
||||||
const callback = async () => {
|
const callback = async () => {
|
||||||
const editor = vscode.window.activeTextEditor;
|
const editor = vscode.window.activeTextEditor;
|
||||||
if (editor) {
|
if (editor) {
|
||||||
if (!await ensureChatPanel(context)) {
|
if (!(await ensureChatPanel(context))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await sendFileSelectMessage(ExtensionContextHolder.provider?.view()!, editor.document.fileName);
|
await sendFileSelectMessage(
|
||||||
|
ExtensionContextHolder.provider?.view()!,
|
||||||
|
editor.document.fileName
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
context.subscriptions.push(vscode.commands.registerCommand('devchat.askForFile', callback));
|
context.subscriptions.push(
|
||||||
context.subscriptions.push(vscode.commands.registerCommand('devchat.askForFile_chinese', callback));
|
vscode.commands.registerCommand("devchat.askForFile", callback)
|
||||||
|
);
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.commands.registerCommand("devchat.askForFile_chinese", callback)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function regAccessKeyCommand(context: vscode.ExtensionContext, provider: string) {
|
function regAccessKeyCommand(
|
||||||
|
context: vscode.ExtensionContext,
|
||||||
|
provider: string
|
||||||
|
) {
|
||||||
context.subscriptions.push(
|
context.subscriptions.push(
|
||||||
vscode.commands.registerCommand(`DevChat.AccessKey.${provider}`, async () => {
|
vscode.commands.registerCommand(
|
||||||
|
`DevChat.AccessKey.${provider}`,
|
||||||
|
async () => {
|
||||||
vscode.commands.executeCommand("devchat-view.focus");
|
vscode.commands.executeCommand("devchat-view.focus");
|
||||||
const passwordInput: string | undefined = await vscode.window.showInputBox({
|
const passwordInput: string | undefined =
|
||||||
|
(await vscode.window.showInputBox({
|
||||||
password: true,
|
password: true,
|
||||||
title: `Set ${provider} Key`,
|
title: `Set ${provider} Key`,
|
||||||
placeHolder: `Input your ${provider} key. (Leave blank to clear the stored key.)`
|
placeHolder: `Input your ${provider} key. (Leave blank to clear the stored key.)`,
|
||||||
}) ?? undefined;
|
})) ?? undefined;
|
||||||
if (passwordInput === undefined) {
|
if (passwordInput === undefined) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (provider === "DevChat" && passwordInput.trim() !== "") {
|
if (provider === "DevChat" && passwordInput.trim() !== "") {
|
||||||
if (!passwordInput.trim().startsWith("DC.")) {
|
if (!passwordInput.trim().startsWith("DC.")) {
|
||||||
UiUtilWrapper.showErrorMessage("Your key is invalid! DevChat Access Key is: DC.xxxxx");
|
UiUtilWrapper.showErrorMessage(
|
||||||
|
"Your key is invalid! DevChat Access Key is: DC.xxxxx"
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (passwordInput.trim() !== "" && !isValidApiKey(passwordInput)) {
|
if (passwordInput.trim() !== "" && !isValidApiKey(passwordInput)) {
|
||||||
UiUtilWrapper.showErrorMessage("Your key is invalid!");
|
UiUtilWrapper.showErrorMessage("Your key is invalid!");
|
||||||
return ;
|
return;
|
||||||
}
|
}
|
||||||
await ApiKeyManager.writeApiKeySecret(passwordInput, provider);
|
await ApiKeyManager.writeApiKeySecret(passwordInput, provider);
|
||||||
|
|
||||||
@ -127,17 +169,24 @@ function regAccessKeyCommand(context: vscode.ExtensionContext, provider: string)
|
|||||||
const modelList = await ApiKeyManager.getValidModels();
|
const modelList = await ApiKeyManager.getValidModels();
|
||||||
if (modelList && modelList.length > 0) {
|
if (modelList && modelList.length > 0) {
|
||||||
// update default llm model
|
// update default llm model
|
||||||
await UiUtilWrapper.updateConfiguration('devchat', 'defaultModel', modelList[0]);
|
await UiUtilWrapper.updateConfiguration(
|
||||||
|
"devchat",
|
||||||
|
"defaultModel",
|
||||||
|
modelList[0]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// reload webview
|
// reload webview
|
||||||
ExtensionContextHolder.provider?.reloadWebview();
|
ExtensionContextHolder.provider?.reloadWebview();
|
||||||
})
|
}
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function registerAccessKeySettingCommand(context: vscode.ExtensionContext) {
|
export function registerAccessKeySettingCommand(
|
||||||
|
context: vscode.ExtensionContext
|
||||||
|
) {
|
||||||
regAccessKeyCommand(context, "OpenAI");
|
regAccessKeyCommand(context, "OpenAI");
|
||||||
regAccessKeyCommand(context, "Cohere");
|
regAccessKeyCommand(context, "Cohere");
|
||||||
regAccessKeyCommand(context, "Anthropic");
|
regAccessKeyCommand(context, "Anthropic");
|
||||||
@ -154,24 +203,33 @@ export function registerAccessKeySettingCommand(context: vscode.ExtensionContext
|
|||||||
regAccessKeyCommand(context, "DevChat");
|
regAccessKeyCommand(context, "DevChat");
|
||||||
}
|
}
|
||||||
|
|
||||||
export function registerStatusBarItemClickCommand(context: vscode.ExtensionContext) {
|
export function registerStatusBarItemClickCommand(
|
||||||
|
context: vscode.ExtensionContext
|
||||||
|
) {
|
||||||
context.subscriptions.push(
|
context.subscriptions.push(
|
||||||
vscode.commands.registerCommand('devcaht.onStatusBarClick', async () => {
|
vscode.commands.registerCommand("devcaht.onStatusBarClick", async () => {
|
||||||
await vscode.commands.executeCommand('devchat-view.focus');
|
await vscode.commands.executeCommand("devchat-view.focus");
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function regPythonPathCommand(context: vscode.ExtensionContext) {
|
export function regPythonPathCommand(context: vscode.ExtensionContext) {
|
||||||
context.subscriptions.push(
|
context.subscriptions.push(
|
||||||
vscode.commands.registerCommand('devchat.PythonPath', async () => {
|
vscode.commands.registerCommand("devchat.PythonPath", async () => {
|
||||||
const pythonPath = await vscode.window.showInputBox({
|
const pythonPath =
|
||||||
|
(await vscode.window.showInputBox({
|
||||||
title: "Set Python Path",
|
title: "Set Python Path",
|
||||||
placeHolder: "Set Python Path"
|
placeHolder: "Set Python Path",
|
||||||
}) ?? '';
|
})) ?? "";
|
||||||
|
|
||||||
if (pythonPath) {
|
if (pythonPath) {
|
||||||
vscode.workspace.getConfiguration("DevChat").update("PythonForChat", pythonPath, vscode.ConfigurationTarget.Global);
|
vscode.workspace
|
||||||
|
.getConfiguration("DevChat")
|
||||||
|
.update(
|
||||||
|
"PythonForChat",
|
||||||
|
pythonPath,
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@ -179,21 +237,25 @@ export function regPythonPathCommand(context: vscode.ExtensionContext) {
|
|||||||
|
|
||||||
export function regApplyDiffResultCommand(context: vscode.ExtensionContext) {
|
export function regApplyDiffResultCommand(context: vscode.ExtensionContext) {
|
||||||
context.subscriptions.push(
|
context.subscriptions.push(
|
||||||
vscode.commands.registerCommand('devchat.applyDiffResult', async () => {
|
vscode.commands.registerCommand("devchat.applyDiffResult", async () => {
|
||||||
const activeEditor = vscode.window.activeTextEditor;
|
const activeEditor = vscode.window.activeTextEditor;
|
||||||
const fileName = activeEditor!.document.fileName;
|
const fileName = activeEditor!.document.fileName;
|
||||||
|
|
||||||
const [leftUri, rightUri] = FilePairManager.getInstance().findPair(fileName) || [undefined, undefined];
|
const [leftUri, rightUri] = FilePairManager.getInstance().findPair(
|
||||||
|
fileName
|
||||||
|
) || [undefined, undefined];
|
||||||
if (leftUri && rightUri) {
|
if (leftUri && rightUri) {
|
||||||
// 获取对比的两个文件
|
// 获取对比的两个文件
|
||||||
const leftDoc = await vscode.workspace.openTextDocument(leftUri);
|
const leftDoc = await vscode.workspace.openTextDocument(leftUri);
|
||||||
const rightDoc = await vscode.workspace.openTextDocument(rightUri);
|
const rightDoc = await vscode.workspace.openTextDocument(rightUri);
|
||||||
|
|
||||||
// close rightDoc
|
// close rightDoc
|
||||||
await vscode.commands.executeCommand('workbench.action.closeActiveEditor');
|
await vscode.commands.executeCommand(
|
||||||
|
"workbench.action.closeActiveEditor"
|
||||||
|
);
|
||||||
// 将右边文档的内容替换到左边文档
|
// 将右边文档的内容替换到左边文档
|
||||||
const leftEditor = await vscode.window.showTextDocument(leftDoc);
|
const leftEditor = await vscode.window.showTextDocument(leftDoc);
|
||||||
await leftEditor.edit(editBuilder => {
|
await leftEditor.edit((editBuilder) => {
|
||||||
const fullRange = new vscode.Range(0, 0, leftDoc.lineCount, 0);
|
const fullRange = new vscode.Range(0, 0, leftDoc.lineCount, 0);
|
||||||
editBuilder.replace(fullRange, rightDoc.getText());
|
editBuilder.replace(fullRange, rightDoc.getText());
|
||||||
});
|
});
|
||||||
@ -201,18 +263,24 @@ export function regApplyDiffResultCommand(context: vscode.ExtensionContext) {
|
|||||||
// 保存左边文档
|
// 保存左边文档
|
||||||
await leftDoc.save();
|
await leftDoc.save();
|
||||||
} else {
|
} else {
|
||||||
vscode.window.showErrorMessage('No file to apply diff result.');
|
vscode.window.showErrorMessage("No file to apply diff result.");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function registerInstallCommandsCommand(
|
||||||
export function registerInstallCommandsCommand(context: vscode.ExtensionContext) {
|
context: vscode.ExtensionContext
|
||||||
let disposable = vscode.commands.registerCommand('DevChat.InstallCommands', async () => {
|
) {
|
||||||
const homePath = process.env.HOME || process.env.USERPROFILE || '';
|
let disposable = vscode.commands.registerCommand(
|
||||||
const sysDirPath = path.join(homePath, '.chat', 'workflows', 'sys');
|
"DevChat.InstallCommands",
|
||||||
const pluginDirPath = path.join(UiUtilWrapper.extensionPath(), 'workflowsCommands'); // Adjust this path as needed
|
async () => {
|
||||||
|
const homePath = process.env.HOME || process.env.USERPROFILE || "";
|
||||||
|
const sysDirPath = path.join(homePath, ".chat", "workflows", "sys");
|
||||||
|
const pluginDirPath = path.join(
|
||||||
|
UiUtilWrapper.extensionPath(),
|
||||||
|
"workflowsCommands"
|
||||||
|
); // Adjust this path as needed
|
||||||
|
|
||||||
const devchat = new DevChat();
|
const devchat = new DevChat();
|
||||||
|
|
||||||
@ -233,21 +301,31 @@ export function registerInstallCommandsCommand(context: vscode.ExtensionContext)
|
|||||||
await devchat.updateSysCommand();
|
await devchat.updateSysCommand();
|
||||||
await sendCommandListByDevChatRun();
|
await sendCommandListByDevChatRun();
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
context.subscriptions.push(disposable);
|
context.subscriptions.push(disposable);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function registerUpdateChatModelsCommand(context: vscode.ExtensionContext) {
|
export function registerUpdateChatModelsCommand(
|
||||||
let disposable = vscode.commands.registerCommand('DevChat.UpdataChatModels', async () => {
|
context: vscode.ExtensionContext
|
||||||
|
) {
|
||||||
|
let disposable = vscode.commands.registerCommand(
|
||||||
|
"DevChat.UpdataChatModels",
|
||||||
|
async () => {
|
||||||
updateChatModels();
|
updateChatModels();
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
context.subscriptions.push(disposable);
|
context.subscriptions.push(disposable);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function registerInstallCommandsPython(context: vscode.ExtensionContext) {
|
export function registerInstallCommandsPython(
|
||||||
let disposable = vscode.commands.registerCommand('DevChat.InstallCommandPython', async () => {
|
context: vscode.ExtensionContext
|
||||||
|
) {
|
||||||
|
let disposable = vscode.commands.registerCommand(
|
||||||
|
"DevChat.InstallCommandPython",
|
||||||
|
async () => {
|
||||||
// steps of install command python
|
// steps of install command python
|
||||||
// 1. install python >= 3.11
|
// 1. install python >= 3.11
|
||||||
// 2. check requirements.txt in ~/.chat dir
|
// 2. check requirements.txt in ~/.chat dir
|
||||||
@ -256,25 +334,57 @@ export function registerInstallCommandsPython(context: vscode.ExtensionContext)
|
|||||||
// 1. install python >= 3.11
|
// 1. install python >= 3.11
|
||||||
logger.channel()?.info(`create env for python ...`);
|
logger.channel()?.info(`create env for python ...`);
|
||||||
logger.channel()?.info(`try to create env by mamba ...`);
|
logger.channel()?.info(`try to create env by mamba ...`);
|
||||||
let pythonCommand = await createEnvByMamba("devchat-commands", "", "3.11.4");
|
let pythonCommand = await createEnvByMamba(
|
||||||
|
"devchat-commands",
|
||||||
|
"",
|
||||||
|
"3.11.4"
|
||||||
|
);
|
||||||
|
|
||||||
if (!pythonCommand || pythonCommand === "") {
|
if (!pythonCommand || pythonCommand === "") {
|
||||||
logger.channel()?.info(`create env by mamba failed, try to create env by conda ...`);
|
logger
|
||||||
pythonCommand = await createEnvByConda("devchat-commands", "", "3.11.4");
|
.channel()
|
||||||
|
?.info(`create env by mamba failed, try to create env by conda ...`);
|
||||||
|
pythonCommand = await createEnvByConda(
|
||||||
|
"devchat-commands",
|
||||||
|
"",
|
||||||
|
"3.11.4"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pythonCommand || pythonCommand === "") {
|
if (!pythonCommand || pythonCommand === "") {
|
||||||
logger.channel()?.error(`create virtual python env failed, you need create it by yourself with command: "conda create -n devchat-commands python=3.11.4"`);
|
logger
|
||||||
|
.channel()
|
||||||
|
?.error(
|
||||||
|
`create virtual python env failed, you need create it by yourself with command: "conda create -n devchat-commands python=3.11.4"`
|
||||||
|
);
|
||||||
logger.channel()?.show();
|
logger.channel()?.show();
|
||||||
|
|
||||||
return ;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. check requirements.txt in ~/.chat dir
|
// 2. check requirements.txt in ~/.chat dir
|
||||||
// ~/.chat/requirements.txt
|
// ~/.chat/requirements.txt
|
||||||
const usrRequirementsFile = path.join(os.homedir(), '.chat', 'workflows', 'usr', 'requirements.txt');
|
const usrRequirementsFile = path.join(
|
||||||
const orgRequirementsFile = path.join(os.homedir(), '.chat', 'workflows', 'org', 'requirements.txt');
|
os.homedir(),
|
||||||
const sysRequirementsFile = path.join(os.homedir(), '.chat', 'workflows', 'sys', 'requirements.txt');
|
".chat",
|
||||||
|
"workflows",
|
||||||
|
"usr",
|
||||||
|
"requirements.txt"
|
||||||
|
);
|
||||||
|
const orgRequirementsFile = path.join(
|
||||||
|
os.homedir(),
|
||||||
|
".chat",
|
||||||
|
"workflows",
|
||||||
|
"org",
|
||||||
|
"requirements.txt"
|
||||||
|
);
|
||||||
|
const sysRequirementsFile = path.join(
|
||||||
|
os.homedir(),
|
||||||
|
".chat",
|
||||||
|
"workflows",
|
||||||
|
"sys",
|
||||||
|
"requirements.txt"
|
||||||
|
);
|
||||||
let requirementsFile = sysRequirementsFile;
|
let requirementsFile = sysRequirementsFile;
|
||||||
if (fs.existsSync(orgRequirementsFile)) {
|
if (fs.existsSync(orgRequirementsFile)) {
|
||||||
requirementsFile = orgRequirementsFile;
|
requirementsFile = orgRequirementsFile;
|
||||||
@ -287,7 +397,7 @@ export function registerInstallCommandsPython(context: vscode.ExtensionContext)
|
|||||||
// logger.channel()?.warn(`requirements.txt not found in ~/.chat/workflows dir.`);
|
// logger.channel()?.warn(`requirements.txt not found in ~/.chat/workflows dir.`);
|
||||||
// logger.channel()?.show();
|
// logger.channel()?.show();
|
||||||
// vscode.window.showErrorMessage(`Error: see OUTPUT for more detail!`);
|
// vscode.window.showErrorMessage(`Error: see OUTPUT for more detail!`);
|
||||||
return ;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. install requirements.txt
|
// 3. install requirements.txt
|
||||||
@ -296,31 +406,46 @@ export function registerInstallCommandsPython(context: vscode.ExtensionContext)
|
|||||||
// try 3 times
|
// try 3 times
|
||||||
for (let i = 0; i < 4; i++) {
|
for (let i = 0; i < 4; i++) {
|
||||||
let otherSource: string | undefined = undefined;
|
let otherSource: string | undefined = undefined;
|
||||||
if (i>1) {
|
if (i > 1) {
|
||||||
otherSource = 'https://pypi.tuna.tsinghua.edu.cn/simple/';
|
otherSource = "https://pypi.tuna.tsinghua.edu.cn/simple/";
|
||||||
}
|
}
|
||||||
isInstalled = await installRequirements(pythonCommand, requirementsFile, otherSource);
|
isInstalled = await installRequirements(
|
||||||
|
pythonCommand,
|
||||||
|
requirementsFile,
|
||||||
|
otherSource
|
||||||
|
);
|
||||||
if (isInstalled) {
|
if (isInstalled) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
logger.channel()?.info(`Install packages failed, try again: ${i + 1}`);
|
logger.channel()?.info(`Install packages failed, try again: ${i + 1}`);
|
||||||
}
|
}
|
||||||
if (!isInstalled) {
|
if (!isInstalled) {
|
||||||
logger.channel()?.error(`Install packages failed, you can install it with command: "${pythonCommand} -m pip install -r ~/.chat/requirements.txt"`);
|
logger
|
||||||
|
.channel()
|
||||||
|
?.error(
|
||||||
|
`Install packages failed, you can install it with command: "${pythonCommand} -m pip install -r ~/.chat/requirements.txt"`
|
||||||
|
);
|
||||||
logger.channel()?.show();
|
logger.channel()?.show();
|
||||||
vscode.window.showErrorMessage(`Error: see OUTPUT for more detail!`);
|
vscode.window.showErrorMessage(`Error: see OUTPUT for more detail!`);
|
||||||
return '';
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
UiUtilWrapper.updateConfiguration("DevChat", "PythonForCommands", pythonCommand.trim());
|
UiUtilWrapper.updateConfiguration(
|
||||||
|
"DevChat",
|
||||||
|
"PythonForCommands",
|
||||||
|
pythonCommand.trim()
|
||||||
|
);
|
||||||
// vscode.window.showInformationMessage(`All slash Commands are ready to use! Please input / to try workflow commands!`);
|
// vscode.window.showInformationMessage(`All slash Commands are ready to use! Please input / to try workflow commands!`);
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
context.subscriptions.push(disposable);
|
context.subscriptions.push(disposable);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function registerDevChatChatCommand(context: vscode.ExtensionContext) {
|
export function registerDevChatChatCommand(context: vscode.ExtensionContext) {
|
||||||
let disposable = vscode.commands.registerCommand('DevChat.Chat', async (message: string) => {
|
let disposable = vscode.commands.registerCommand(
|
||||||
|
"DevChat.Chat",
|
||||||
|
async (message: string) => {
|
||||||
ensureChatPanel(context);
|
ensureChatPanel(context);
|
||||||
if (!ExtensionContextHolder.provider?.view()) {
|
if (!ExtensionContextHolder.provider?.view()) {
|
||||||
// wait 2 seconds
|
// wait 2 seconds
|
||||||
@ -331,27 +456,68 @@ export function registerDevChatChatCommand(context: vscode.ExtensionContext) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
chatWithDevChat(ExtensionContextHolder.provider?.view()!, message);
|
chatWithDevChat(ExtensionContextHolder.provider?.view()!, message);
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
context.subscriptions.push(disposable);
|
context.subscriptions.push(disposable);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function registerHandleUri(context: vscode.ExtensionContext){
|
export function registerCodeLensExplainCommand(
|
||||||
context.subscriptions.push(vscode.window.registerUriHandler({
|
context: vscode.ExtensionContext
|
||||||
|
) {
|
||||||
|
let disposable = vscode.commands.registerCommand(
|
||||||
|
"CodeLens.Explain",
|
||||||
|
async (message: string, pos: { start: number; end: number }) => {
|
||||||
|
const editor = vscode.window.activeTextEditor;
|
||||||
|
if (editor) {
|
||||||
|
const range = new vscode.Range(
|
||||||
|
new vscode.Position(pos.start, 0),
|
||||||
|
new vscode.Position(pos.end, 0)
|
||||||
|
);
|
||||||
|
editor.selection = new vscode.Selection(range.start, range.end);
|
||||||
|
}
|
||||||
|
ensureChatPanel(context);
|
||||||
|
if (!ExtensionContextHolder.provider?.view()) {
|
||||||
|
// wait 2 seconds
|
||||||
|
await new Promise((resolve, reject) => {
|
||||||
|
setTimeout(() => {
|
||||||
|
resolve(true);
|
||||||
|
}, 2000);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
chatWithDevChat(ExtensionContextHolder.provider?.view()!, message);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
context.subscriptions.push(disposable);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function registerHandleUri(context: vscode.ExtensionContext) {
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.window.registerUriHandler({
|
||||||
async handleUri(uri) {
|
async handleUri(uri) {
|
||||||
// 解析 URI 并执行相应的操作
|
// 解析 URI 并执行相应的操作
|
||||||
if (uri.path.includes('accesskey')) {
|
if (uri.path.includes("accesskey")) {
|
||||||
const accessKey = uri.path.split('/')[2];
|
const accessKey = uri.path.split("/")[2];
|
||||||
const modelConfig: any = UiUtilWrapper.getConfiguration("devchat", 'Provider.devchat');
|
const modelConfig: any = UiUtilWrapper.getConfiguration(
|
||||||
const providerConfigNew:any = {}
|
"devchat",
|
||||||
if (Object.keys(modelConfig).length !== 0){
|
"Provider.devchat"
|
||||||
|
);
|
||||||
|
const providerConfigNew: any = {};
|
||||||
|
if (Object.keys(modelConfig).length !== 0) {
|
||||||
for (const key of Object.keys(modelConfig || {})) {
|
for (const key of Object.keys(modelConfig || {})) {
|
||||||
const property = modelConfig![key];
|
const property = modelConfig![key];
|
||||||
providerConfigNew[key] = property;
|
providerConfigNew[key] = property;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
providerConfigNew.access_key = accessKey;
|
providerConfigNew.access_key = accessKey;
|
||||||
vscode.workspace.getConfiguration("devchat").update("Provider.devchat", providerConfigNew, vscode.ConfigurationTarget.Global);
|
vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(
|
||||||
|
"Provider.devchat",
|
||||||
|
providerConfigNew,
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
ensureChatPanel(context);
|
ensureChatPanel(context);
|
||||||
await new Promise((resolve, reject) => {
|
await new Promise((resolve, reject) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@ -360,8 +526,28 @@ export function registerHandleUri(context: vscode.ExtensionContext){
|
|||||||
});
|
});
|
||||||
ExtensionContextHolder.provider?.reloadWebview();
|
ExtensionContextHolder.provider?.reloadWebview();
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function registerExplainCommand(context: vscode.ExtensionContext) {
|
||||||
|
const callback = async () => {
|
||||||
|
const editor = vscode.window.activeTextEditor;
|
||||||
|
if (editor) {
|
||||||
|
if (!(await ensureChatPanel(context))) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}));
|
|
||||||
|
chatWithDevChat(ExtensionContextHolder.provider?.view()!, "/explain");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.commands.registerCommand("devchat.explain", callback)
|
||||||
|
);
|
||||||
|
context.subscriptions.push(
|
||||||
|
vscode.commands.registerCommand("devchat.explain_chinese", callback)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
@ -369,4 +555,5 @@ export {
|
|||||||
registerAddContextCommand,
|
registerAddContextCommand,
|
||||||
registerAskForCodeCommand,
|
registerAskForCodeCommand,
|
||||||
registerAskForFileCommand,
|
registerAskForFileCommand,
|
||||||
|
registerExplainCommand,
|
||||||
};
|
};
|
||||||
|
201
src/extension.ts
201
src/extension.ts
@ -1,4 +1,4 @@
|
|||||||
import * as vscode from 'vscode';
|
import * as vscode from "vscode";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
registerOpenChatPanelCommand,
|
registerOpenChatPanelCommand,
|
||||||
@ -14,21 +14,23 @@ import {
|
|||||||
registerInstallCommandsPython,
|
registerInstallCommandsPython,
|
||||||
registerDevChatChatCommand,
|
registerDevChatChatCommand,
|
||||||
registerHandleUri,
|
registerHandleUri,
|
||||||
} from './contributes/commands';
|
registerExplainCommand,
|
||||||
import { regLanguageContext } from './contributes/context';
|
registerCodeLensExplainCommand,
|
||||||
import { regDevChatView } from './contributes/views';
|
} from "./contributes/commands";
|
||||||
|
import { regLanguageContext } from "./contributes/context";
|
||||||
|
import { regDevChatView } from "./contributes/views";
|
||||||
|
|
||||||
import { ExtensionContextHolder } from './util/extensionContext';
|
import { ExtensionContextHolder } from "./util/extensionContext";
|
||||||
import { logger } from './util/logger';
|
import { logger } from "./util/logger";
|
||||||
import { LoggerChannelVscode } from './util/logger_vscode';
|
import { LoggerChannelVscode } from "./util/logger_vscode";
|
||||||
import { createStatusBarItem } from './panel/statusBarView';
|
import { createStatusBarItem } from "./panel/statusBarView";
|
||||||
import { UiUtilWrapper } from './util/uiUtil';
|
import { UiUtilWrapper } from "./util/uiUtil";
|
||||||
import { UiUtilVscode } from './util/uiUtil_vscode';
|
import { UiUtilVscode } from "./util/uiUtil_vscode";
|
||||||
import { ApiKeyManager } from './util/apiKey';
|
import { ApiKeyManager } from "./util/apiKey";
|
||||||
import { startRpcServer } from './ide_services/services';
|
import { startRpcServer } from "./ide_services/services";
|
||||||
import { registerCodeLensProvider } from './panel/codeLens';
|
import { registerCodeLensProvider } from "./panel/codeLens";
|
||||||
import { stopDevChatBase } from './handler/sendMessageBase';
|
import { stopDevChatBase } from "./handler/sendMessageBase";
|
||||||
import exp from 'constants';
|
import exp from "constants";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ABC isProviderHasSetted
|
* ABC isProviderHasSetted
|
||||||
@ -37,13 +39,19 @@ import exp from 'constants';
|
|||||||
async function isProviderHasSetted() {
|
async function isProviderHasSetted() {
|
||||||
try {
|
try {
|
||||||
const providerProperty = "Provider.devchat";
|
const providerProperty = "Provider.devchat";
|
||||||
const providerConfig: any = UiUtilWrapper.getConfiguration("devchat", providerProperty);
|
const providerConfig: any = UiUtilWrapper.getConfiguration(
|
||||||
|
"devchat",
|
||||||
|
providerProperty
|
||||||
|
);
|
||||||
if (providerConfig && Object.keys(providerConfig).length > 0) {
|
if (providerConfig && Object.keys(providerConfig).length > 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const providerPropertyOpenAI = "Provider.openai";
|
const providerPropertyOpenAI = "Provider.openai";
|
||||||
const providerConfigOpenAI: any = UiUtilWrapper.getConfiguration("devchat", providerPropertyOpenAI);
|
const providerConfigOpenAI: any = UiUtilWrapper.getConfiguration(
|
||||||
|
"devchat",
|
||||||
|
providerPropertyOpenAI
|
||||||
|
);
|
||||||
if (providerConfigOpenAI && Object.keys(providerConfigOpenAI).length > 0) {
|
if (providerConfigOpenAI && Object.keys(providerConfigOpenAI).length > 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -61,26 +69,24 @@ async function isProviderHasSetted() {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function configUpdateTo1115() {
|
async function configUpdateTo1115() {
|
||||||
const supportModels = [
|
const supportModels = ["Model.gpt-3-5-1106", "Model.gpt-4-turbo"];
|
||||||
"Model.gpt-3-5-1106",
|
|
||||||
"Model.gpt-4-turbo",
|
|
||||||
];
|
|
||||||
|
|
||||||
for (const model of supportModels) {
|
for (const model of supportModels) {
|
||||||
const modelConfig1: any = UiUtilWrapper.getConfiguration("devchat", model);
|
const modelConfig1: any = UiUtilWrapper.getConfiguration("devchat", model);
|
||||||
if (modelConfig1 && Object.keys(modelConfig1).length === 0) {
|
if (modelConfig1 && Object.keys(modelConfig1).length === 0) {
|
||||||
let modelConfigNew = {};
|
let modelConfigNew = {};
|
||||||
modelConfigNew = {"provider": "devchat"};
|
modelConfigNew = { provider: "devchat" };
|
||||||
if (model.startsWith("Model.gpt-")) {
|
if (model.startsWith("Model.gpt-")) {
|
||||||
modelConfigNew = {"provider": "openai"};
|
modelConfigNew = { provider: "openai" };
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await vscode.workspace.getConfiguration("devchat").update(model, modelConfigNew, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(model, modelConfigNew, vscode.ConfigurationTarget.Global);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.channel()?.error(`update Model.ERNIE-Bot error: ${error}`);
|
logger.channel()?.error(`update Model.ERNIE-Bot error: ${error}`);
|
||||||
}
|
}
|
||||||
@ -90,13 +96,19 @@ async function configUpdateTo1115() {
|
|||||||
|
|
||||||
async function configUpdateTo0924() {
|
async function configUpdateTo0924() {
|
||||||
if (await isProviderHasSetted()) {
|
if (await isProviderHasSetted()) {
|
||||||
return ;
|
return;
|
||||||
}
|
}
|
||||||
const defaultModel: any = UiUtilWrapper.getConfiguration("devchat", "defaultModel");
|
const defaultModel: any = UiUtilWrapper.getConfiguration(
|
||||||
|
"devchat",
|
||||||
|
"defaultModel"
|
||||||
|
);
|
||||||
|
|
||||||
let devchatKey = UiUtilWrapper.getConfiguration('DevChat', 'Access_Key_DevChat');
|
let devchatKey = UiUtilWrapper.getConfiguration(
|
||||||
let openaiKey = UiUtilWrapper.getConfiguration('DevChat', 'Api_Key_OpenAI');
|
"DevChat",
|
||||||
const endpointKey = UiUtilWrapper.getConfiguration('DevChat', 'API_ENDPOINT');
|
"Access_Key_DevChat"
|
||||||
|
);
|
||||||
|
let openaiKey = UiUtilWrapper.getConfiguration("DevChat", "Api_Key_OpenAI");
|
||||||
|
const endpointKey = UiUtilWrapper.getConfiguration("DevChat", "API_ENDPOINT");
|
||||||
|
|
||||||
devchatKey = undefined;
|
devchatKey = undefined;
|
||||||
openaiKey = undefined;
|
openaiKey = undefined;
|
||||||
@ -118,7 +130,13 @@ async function configUpdateTo0924() {
|
|||||||
providerConfigNew["api_base"] = endpointKey;
|
providerConfigNew["api_base"] = endpointKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
await vscode.workspace.getConfiguration("devchat").update("Provider.openai", providerConfigNew, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(
|
||||||
|
"Provider.openai",
|
||||||
|
providerConfigNew,
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (devchatKey) {
|
if (devchatKey) {
|
||||||
@ -127,7 +145,13 @@ async function configUpdateTo0924() {
|
|||||||
providerConfigNew["api_base"] = endpointKey;
|
providerConfigNew["api_base"] = endpointKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
await vscode.workspace.getConfiguration("devchat").update("Provider.devchat", providerConfigNew, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(
|
||||||
|
"Provider.devchat",
|
||||||
|
providerConfigNew,
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const supportModels = [
|
const supportModels = [
|
||||||
@ -141,37 +165,40 @@ async function configUpdateTo0924() {
|
|||||||
"Model.chatglm_pro",
|
"Model.chatglm_pro",
|
||||||
"Model.ERNIE-Bot",
|
"Model.ERNIE-Bot",
|
||||||
"Model.CodeLlama-34b-Instruct",
|
"Model.CodeLlama-34b-Instruct",
|
||||||
"Model.llama-2-70b-chat"
|
"Model.llama-2-70b-chat",
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const model of supportModels) {
|
for (const model of supportModels) {
|
||||||
const modelConfig1: any = UiUtilWrapper.getConfiguration("devchat", model);
|
const modelConfig1: any = UiUtilWrapper.getConfiguration("devchat", model);
|
||||||
if (modelConfig1 && Object.keys(modelConfig1).length === 0) {
|
if (modelConfig1 && Object.keys(modelConfig1).length === 0) {
|
||||||
modelConfigNew = {"provider": "devchat"};
|
modelConfigNew = { provider: "devchat" };
|
||||||
if (model.startsWith("Model.gpt-")) {
|
if (model.startsWith("Model.gpt-")) {
|
||||||
modelConfigNew = {"provider": "openai"};
|
modelConfigNew = { provider: "openai" };
|
||||||
}
|
}
|
||||||
|
|
||||||
await vscode.workspace.getConfiguration("devchat").update(model, modelConfigNew, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(model, modelConfigNew, vscode.ConfigurationTarget.Global);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!defaultModel) {
|
if (!defaultModel) {
|
||||||
await vscode.workspace.getConfiguration("devchat").update("defaultModel", "claude-2.1", vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update("defaultModel", "claude-2.1", vscode.ConfigurationTarget.Global);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function configUpdate0912To0924() {
|
async function configUpdate0912To0924() {
|
||||||
if (await isProviderHasSetted()) {
|
if (await isProviderHasSetted()) {
|
||||||
return ;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const oldModels = [
|
const oldModels = [
|
||||||
"Model.gpt-3-5",
|
"Model.gpt-3-5",
|
||||||
"Model.gpt-3-5-16k",
|
"Model.gpt-3-5-16k",
|
||||||
"Model.gpt-4",
|
"Model.gpt-4",
|
||||||
"Model.claude-2"
|
"Model.claude-2",
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const model of oldModels) {
|
for (const model of oldModels) {
|
||||||
@ -192,16 +219,30 @@ async function configUpdate0912To0924() {
|
|||||||
|
|
||||||
if (modelConfig["api_key"].startsWith("DC.")) {
|
if (modelConfig["api_key"].startsWith("DC.")) {
|
||||||
modelProperties["provider"] = "devchat";
|
modelProperties["provider"] = "devchat";
|
||||||
await vscode.workspace.getConfiguration("devchat").update("Provider.devchat", providerConfigNew, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(
|
||||||
|
"Provider.devchat",
|
||||||
|
providerConfigNew,
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
modelProperties["provider"] = "openai";
|
modelProperties["provider"] = "openai";
|
||||||
await vscode.workspace.getConfiguration("devchat").update("Provider.openai", providerConfigNew, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(
|
||||||
|
"Provider.openai",
|
||||||
|
providerConfigNew,
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete modelProperties["api_key"];
|
delete modelProperties["api_key"];
|
||||||
delete modelProperties["api_base"];
|
delete modelProperties["api_base"];
|
||||||
try {
|
try {
|
||||||
await vscode.workspace.getConfiguration("devchat").update(model, modelProperties, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(model, modelProperties, vscode.ConfigurationTarget.Global);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.channel()?.error(`error: ${error}`);
|
logger.channel()?.error(`error: ${error}`);
|
||||||
}
|
}
|
||||||
@ -210,7 +251,13 @@ async function configUpdate0912To0924() {
|
|||||||
delete modelProperties["api_base"];
|
delete modelProperties["api_base"];
|
||||||
modelProperties["provider"] = "devchat";
|
modelProperties["provider"] = "devchat";
|
||||||
try {
|
try {
|
||||||
await vscode.workspace.getConfiguration("devchat").update(model, modelProperties, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(
|
||||||
|
model,
|
||||||
|
modelProperties,
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.channel()?.error(`error: ${error}`);
|
logger.channel()?.error(`error: ${error}`);
|
||||||
}
|
}
|
||||||
@ -220,7 +267,6 @@ async function configUpdate0912To0924() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function configUpdateto240205() {
|
async function configUpdateto240205() {
|
||||||
// rename Model.CodeLlama-34b-Instruct to Model.CodeLlama-70b
|
// rename Model.CodeLlama-34b-Instruct to Model.CodeLlama-70b
|
||||||
// add new Model.Mixtral-8x7B
|
// add new Model.Mixtral-8x7B
|
||||||
@ -228,16 +274,18 @@ async function configUpdateto240205() {
|
|||||||
const supportModels = [
|
const supportModels = [
|
||||||
"Model.CodeLlama-70b",
|
"Model.CodeLlama-70b",
|
||||||
"Model.Mixtral-8x7B",
|
"Model.Mixtral-8x7B",
|
||||||
"Model.Minimax-abab6"
|
"Model.Minimax-abab6",
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const model of supportModels) {
|
for (const model of supportModels) {
|
||||||
const modelConfig1: any = UiUtilWrapper.getConfiguration("devchat", model);
|
const modelConfig1: any = UiUtilWrapper.getConfiguration("devchat", model);
|
||||||
if (modelConfig1 && Object.keys(modelConfig1).length === 0) {
|
if (modelConfig1 && Object.keys(modelConfig1).length === 0) {
|
||||||
let modelConfigNew = {};
|
let modelConfigNew = {};
|
||||||
modelConfigNew = {"provider": "devchat"};
|
modelConfigNew = { provider: "devchat" };
|
||||||
try {
|
try {
|
||||||
await vscode.workspace.getConfiguration("devchat").update(model, modelConfigNew, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(model, modelConfigNew, vscode.ConfigurationTarget.Global);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.channel()?.error(`error: ${error}`);
|
logger.channel()?.error(`error: ${error}`);
|
||||||
}
|
}
|
||||||
@ -245,7 +293,6 @@ async function configUpdateto240205() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function setLangDefaultValue() {
|
async function setLangDefaultValue() {
|
||||||
const lang = vscode.env.language;
|
const lang = vscode.env.language;
|
||||||
if (!UiUtilWrapper.getConfiguration("DevChat", "Language")) {
|
if (!UiUtilWrapper.getConfiguration("DevChat", "Language")) {
|
||||||
@ -262,7 +309,7 @@ async function updateInvalidSettings() {
|
|||||||
"Model.gpt-3-5",
|
"Model.gpt-3-5",
|
||||||
"Model.gpt-3-5-16k",
|
"Model.gpt-3-5-16k",
|
||||||
"Model.gpt-4",
|
"Model.gpt-4",
|
||||||
"Model.claude-2"
|
"Model.claude-2",
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const model of oldModels) {
|
for (const model of oldModels) {
|
||||||
@ -279,7 +326,9 @@ async function updateInvalidSettings() {
|
|||||||
delete modelProperties["api_base"];
|
delete modelProperties["api_base"];
|
||||||
modelProperties["provider"] = "devchat";
|
modelProperties["provider"] = "devchat";
|
||||||
try {
|
try {
|
||||||
await vscode.workspace.getConfiguration("devchat").update(model, modelProperties, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(model, modelProperties, vscode.ConfigurationTarget.Global);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.channel()?.error(`error: ${error}`);
|
logger.channel()?.error(`error: ${error}`);
|
||||||
}
|
}
|
||||||
@ -289,10 +338,22 @@ async function updateInvalidSettings() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function updateInvalidDefaultModel() {
|
async function updateInvalidDefaultModel() {
|
||||||
const defaultModel: any = UiUtilWrapper.getConfiguration("devchat", "defaultModel");
|
const defaultModel: any = UiUtilWrapper.getConfiguration(
|
||||||
if (defaultModel === "gpt-3.5-turbo-1106" || defaultModel === "gpt-3.5-turbo-16k") {
|
"devchat",
|
||||||
|
"defaultModel"
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
defaultModel === "gpt-3.5-turbo-1106" ||
|
||||||
|
defaultModel === "gpt-3.5-turbo-16k"
|
||||||
|
) {
|
||||||
try {
|
try {
|
||||||
await vscode.workspace.getConfiguration("devchat").update("defaultModel", "gpt-3.5-turbo", vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(
|
||||||
|
"defaultModel",
|
||||||
|
"gpt-3.5-turbo",
|
||||||
|
vscode.ConfigurationTarget.Global
|
||||||
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.channel()?.error(`update Model.ERNIE-Bot error: ${error}`);
|
logger.channel()?.error(`update Model.ERNIE-Bot error: ${error}`);
|
||||||
}
|
}
|
||||||
@ -305,38 +366,38 @@ async function updateInvalidDefaultModel() {
|
|||||||
async function configSetModelDefaultParams() {
|
async function configSetModelDefaultParams() {
|
||||||
const modelParams = {
|
const modelParams = {
|
||||||
"Model.gpt-3-5": {
|
"Model.gpt-3-5": {
|
||||||
"max_input_tokens": 13000
|
max_input_tokens: 13000,
|
||||||
},
|
},
|
||||||
"Model.gpt-4": {
|
"Model.gpt-4": {
|
||||||
"max_input_tokens": 6000
|
max_input_tokens: 6000,
|
||||||
},
|
},
|
||||||
"Model.gpt-4-turbo": {
|
"Model.gpt-4-turbo": {
|
||||||
"max_input_tokens": 32000
|
max_input_tokens: 32000,
|
||||||
},
|
},
|
||||||
"Model.claude-2": {
|
"Model.claude-2": {
|
||||||
"max_input_tokens": 32000
|
max_input_tokens: 32000,
|
||||||
},
|
},
|
||||||
"Model.xinghuo-2": {
|
"Model.xinghuo-2": {
|
||||||
"max_input_tokens": 6000
|
max_input_tokens: 6000,
|
||||||
},
|
},
|
||||||
"Model.chatglm_pro": {
|
"Model.chatglm_pro": {
|
||||||
"max_input_tokens": 8000
|
max_input_tokens: 8000,
|
||||||
},
|
},
|
||||||
"Model.ERNIE-Bot": {
|
"Model.ERNIE-Bot": {
|
||||||
"max_input_tokens": 8000
|
max_input_tokens: 8000,
|
||||||
},
|
},
|
||||||
"Model.CodeLlama-70b": {
|
"Model.CodeLlama-70b": {
|
||||||
"max_input_tokens": 4000
|
max_input_tokens: 4000,
|
||||||
},
|
},
|
||||||
"Model.Mixtral-8x7B": {
|
"Model.Mixtral-8x7B": {
|
||||||
"max_input_tokens": 4000
|
max_input_tokens: 4000,
|
||||||
},
|
},
|
||||||
"Model.Minimax-abab6": {
|
"Model.Minimax-abab6": {
|
||||||
"max_input_tokens": 4000
|
max_input_tokens: 4000,
|
||||||
},
|
},
|
||||||
"Model.llama-2-70b-chat": {
|
"Model.llama-2-70b-chat": {
|
||||||
"max_input_tokens": 4000
|
max_input_tokens: 4000,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// set default params
|
// set default params
|
||||||
@ -345,7 +406,9 @@ async function configSetModelDefaultParams() {
|
|||||||
if (!modelConfig["max_input_tokens"]) {
|
if (!modelConfig["max_input_tokens"]) {
|
||||||
modelConfig["max_input_tokens"] = modelParams[model]["max_input_tokens"];
|
modelConfig["max_input_tokens"] = modelParams[model]["max_input_tokens"];
|
||||||
try {
|
try {
|
||||||
await vscode.workspace.getConfiguration("devchat").update(model, modelConfig, vscode.ConfigurationTarget.Global);
|
await vscode.workspace
|
||||||
|
.getConfiguration("devchat")
|
||||||
|
.update(model, modelConfig, vscode.ConfigurationTarget.Global);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.channel()?.error(`update Model.ERNIE-Bot error: ${error}`);
|
logger.channel()?.error(`update Model.ERNIE-Bot error: ${error}`);
|
||||||
}
|
}
|
||||||
@ -377,6 +440,7 @@ async function activate(context: vscode.ExtensionContext) {
|
|||||||
registerAddContextCommand(context);
|
registerAddContextCommand(context);
|
||||||
registerAskForCodeCommand(context);
|
registerAskForCodeCommand(context);
|
||||||
registerAskForFileCommand(context);
|
registerAskForFileCommand(context);
|
||||||
|
registerExplainCommand(context);
|
||||||
registerStatusBarItemClickCommand(context);
|
registerStatusBarItemClickCommand(context);
|
||||||
|
|
||||||
registerInstallCommandsCommand(context);
|
registerInstallCommandsCommand(context);
|
||||||
@ -389,11 +453,12 @@ async function activate(context: vscode.ExtensionContext) {
|
|||||||
|
|
||||||
regPythonPathCommand(context);
|
regPythonPathCommand(context);
|
||||||
registerDevChatChatCommand(context);
|
registerDevChatChatCommand(context);
|
||||||
|
registerCodeLensExplainCommand(context);
|
||||||
registerCodeLensProvider(context);
|
registerCodeLensProvider(context);
|
||||||
|
|
||||||
startRpcServer();
|
startRpcServer();
|
||||||
logger.channel()?.info(`registerHandleUri:`);
|
logger.channel()?.info(`registerHandleUri:`);
|
||||||
registerHandleUri(context)
|
registerHandleUri(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deactivate() {
|
async function deactivate() {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import * as vscode from 'vscode';
|
import * as vscode from "vscode";
|
||||||
import * as fs from 'fs';
|
import * as fs from "fs";
|
||||||
import * as path from 'path';
|
import * as path from "path";
|
||||||
import { logger } from '../util/logger';
|
import { logger } from "../util/logger";
|
||||||
import { log } from 'console';
|
import { log } from "console";
|
||||||
|
|
||||||
interface FunctionDefinition {
|
interface FunctionDefinition {
|
||||||
name: string;
|
name: string;
|
||||||
@ -23,7 +23,10 @@ export class CodeLensManager {
|
|||||||
private configFilePath: string;
|
private configFilePath: string;
|
||||||
|
|
||||||
private constructor() {
|
private constructor() {
|
||||||
this.configFilePath = path.join(process.env.HOME || process.env.USERPROFILE || '.', '.chat/ideconfig.json');
|
this.configFilePath = path.join(
|
||||||
|
process.env.HOME || process.env.USERPROFILE || ".",
|
||||||
|
".chat/ideconfig.json"
|
||||||
|
);
|
||||||
this.loadConfig();
|
this.loadConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,7 +38,7 @@ export class CodeLensManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private loadConfig(): void {
|
private loadConfig(): void {
|
||||||
if (!fs.existsSync(this.configFilePath)) {
|
if (fs.existsSync(this.configFilePath)) {
|
||||||
this.initializeConfig();
|
this.initializeConfig();
|
||||||
} else {
|
} else {
|
||||||
const data = fs.readFileSync(this.configFilePath, "utf-8");
|
const data = fs.readFileSync(this.configFilePath, "utf-8");
|
||||||
@ -50,10 +53,16 @@ export class CodeLensManager {
|
|||||||
private initializeConfig(): void {
|
private initializeConfig(): void {
|
||||||
this.registrations = [
|
this.registrations = [
|
||||||
{
|
{
|
||||||
"elementType": "function",
|
elementType: "function",
|
||||||
"objectName": "Add unit tests",
|
objectName: "Add unit tests",
|
||||||
"promptGenerator": "/unit_tests {__filename__}:::{__functionName__}:::{__functionStartLine__}:::{__functionEndLine__}:::{__containerStartLine__}:::{__containerEndLine__}"
|
promptGenerator:
|
||||||
}
|
"/unit_tests {__filename__}:::{__functionName__}:::{__functionStartLine__}:::{__functionEndLine__}:::{__containerStartLine__}:::{__containerEndLine__}",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elementType: "function",
|
||||||
|
objectName: "Explain",
|
||||||
|
promptGenerator: "/explain",
|
||||||
|
},
|
||||||
// {
|
// {
|
||||||
// elementType: 'function',
|
// elementType: 'function',
|
||||||
// objectName: 'generate unit tests',
|
// objectName: 'generate unit tests',
|
||||||
@ -78,7 +87,11 @@ export class CodeLensManager {
|
|||||||
if (!fs.existsSync(configDir)) {
|
if (!fs.existsSync(configDir)) {
|
||||||
fs.mkdirSync(configDir, { recursive: true });
|
fs.mkdirSync(configDir, { recursive: true });
|
||||||
}
|
}
|
||||||
fs.writeFileSync(this.configFilePath, JSON.stringify(this.registrations, null, 2), 'utf8');
|
fs.writeFileSync(
|
||||||
|
this.configFilePath,
|
||||||
|
JSON.stringify(this.registrations, null, 2),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getRegistrations(): CodeLensRegistration[] {
|
public getRegistrations(): CodeLensRegistration[] {
|
||||||
@ -86,10 +99,13 @@ export class CodeLensManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getFunctionDefinitions(
|
||||||
async function getFunctionDefinitions(document: vscode.TextDocument, inner_function: boolean = false): Promise<FunctionDefinition[]> {
|
document: vscode.TextDocument,
|
||||||
const symbols: vscode.DocumentSymbol[] | undefined = await vscode.commands.executeCommand(
|
inner_function: boolean = false
|
||||||
'vscode.executeDocumentSymbolProvider',
|
): Promise<FunctionDefinition[]> {
|
||||||
|
const symbols: vscode.DocumentSymbol[] | undefined =
|
||||||
|
await vscode.commands.executeCommand(
|
||||||
|
"vscode.executeDocumentSymbolProvider",
|
||||||
document.uri
|
document.uri
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -97,16 +113,22 @@ async function getFunctionDefinitions(document: vscode.TextDocument, inner_funct
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractFunctions(symbol: vscode.DocumentSymbol, containerSymbol: vscode.DocumentSymbol | null, hasInFunction: boolean = false): FunctionDefinition[] {
|
function extractFunctions(
|
||||||
|
symbol: vscode.DocumentSymbol,
|
||||||
|
containerSymbol: vscode.DocumentSymbol | null,
|
||||||
|
hasInFunction: boolean = false
|
||||||
|
): FunctionDefinition[] {
|
||||||
let functions: FunctionDefinition[] = [];
|
let functions: FunctionDefinition[] = [];
|
||||||
const isFunction = symbol.kind === vscode.SymbolKind.Function || symbol.kind === vscode.SymbolKind.Method;
|
const isFunction =
|
||||||
|
symbol.kind === vscode.SymbolKind.Function ||
|
||||||
|
symbol.kind === vscode.SymbolKind.Method;
|
||||||
if (isFunction) {
|
if (isFunction) {
|
||||||
if (!inner_function || (inner_function && hasInFunction)) {
|
if (!inner_function || (inner_function && hasInFunction)) {
|
||||||
functions.push({
|
functions.push({
|
||||||
name: symbol.name,
|
name: symbol.name,
|
||||||
containerName: containerSymbol? containerSymbol.name : null,
|
containerName: containerSymbol ? containerSymbol.name : null,
|
||||||
containerRange: containerSymbol? containerSymbol.range : null,
|
containerRange: containerSymbol ? containerSymbol.range : null,
|
||||||
range: symbol.range
|
range: symbol.range,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
hasInFunction = true;
|
hasInFunction = true;
|
||||||
@ -114,8 +136,10 @@ async function getFunctionDefinitions(document: vscode.TextDocument, inner_funct
|
|||||||
|
|
||||||
if (inner_function || !isFunction) {
|
if (inner_function || !isFunction) {
|
||||||
if (symbol.children && symbol.children.length > 0) {
|
if (symbol.children && symbol.children.length > 0) {
|
||||||
symbol.children.forEach(child => {
|
symbol.children.forEach((child) => {
|
||||||
functions = functions.concat(extractFunctions(child, symbol, hasInFunction));
|
functions = functions.concat(
|
||||||
|
extractFunctions(child, symbol, hasInFunction)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -124,29 +148,33 @@ async function getFunctionDefinitions(document: vscode.TextDocument, inner_funct
|
|||||||
}
|
}
|
||||||
|
|
||||||
let functionSymbols: FunctionDefinition[] = [];
|
let functionSymbols: FunctionDefinition[] = [];
|
||||||
symbols.forEach(symbol => {
|
symbols.forEach((symbol) => {
|
||||||
functionSymbols = functionSymbols.concat(extractFunctions(symbol, null));
|
functionSymbols = functionSymbols.concat(extractFunctions(symbol, null));
|
||||||
});
|
});
|
||||||
|
|
||||||
return functionSymbols;
|
return functionSymbols;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class FunctionTestCodeLensProvider implements vscode.CodeLensProvider {
|
class FunctionTestCodeLensProvider implements vscode.CodeLensProvider {
|
||||||
// The provideCodeLenses method should have the correct signature
|
// The provideCodeLenses method should have the correct signature
|
||||||
async provideCodeLenses(document: vscode.TextDocument, token: vscode.CancellationToken): Promise<vscode.CodeLens[]> {
|
async provideCodeLenses(
|
||||||
|
document: vscode.TextDocument,
|
||||||
|
token: vscode.CancellationToken
|
||||||
|
): Promise<vscode.CodeLens[]> {
|
||||||
// check whether document is a source file
|
// check whether document is a source file
|
||||||
if (document.languageId === 'log') {
|
if (document.languageId === "log") {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
const lenses: vscode.CodeLens[] = [];
|
const lenses: vscode.CodeLens[] = [];
|
||||||
const functionDefinitions = await getFunctionDefinitions(document);
|
const functionDefinitions = await getFunctionDefinitions(document);
|
||||||
const innerFunctionDefinitions = await getFunctionDefinitions(document, true);
|
const innerFunctionDefinitions = await getFunctionDefinitions(
|
||||||
|
document,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
const matchElements = {
|
const matchElements = {
|
||||||
'function': functionDefinitions,
|
function: functionDefinitions,
|
||||||
'inner_function': innerFunctionDefinitions
|
inner_function: innerFunctionDefinitions,
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const [elementType, elements] of Object.entries(matchElements)) {
|
for (const [elementType, elements] of Object.entries(matchElements)) {
|
||||||
@ -156,7 +184,8 @@ class FunctionTestCodeLensProvider implements vscode.CodeLensProvider {
|
|||||||
new vscode.Position(funcDef.range.end.line, 10000)
|
new vscode.Position(funcDef.range.end.line, 10000)
|
||||||
);
|
);
|
||||||
|
|
||||||
const codelenRegisters: CodeLensRegistration[] = CodeLensManager.getInstance().getRegistrations();
|
const codelenRegisters: CodeLensRegistration[] =
|
||||||
|
CodeLensManager.getInstance().getRegistrations();
|
||||||
// Iterate over codelenRegisters with 'of' instead of 'in'
|
// Iterate over codelenRegisters with 'of' instead of 'in'
|
||||||
for (const codelenRegister of codelenRegisters) {
|
for (const codelenRegister of codelenRegisters) {
|
||||||
if (codelenRegister.elementType !== elementType) {
|
if (codelenRegister.elementType !== elementType) {
|
||||||
@ -173,29 +202,52 @@ class FunctionTestCodeLensProvider implements vscode.CodeLensProvider {
|
|||||||
.replace(/{__functionName__}/g, funcDef.name)
|
.replace(/{__functionName__}/g, funcDef.name)
|
||||||
.replace(/{__functionStartLine__}/g, `${range.start.line}`)
|
.replace(/{__functionStartLine__}/g, `${range.start.line}`)
|
||||||
.replace(/{__functionEndLine__}/g, `${range.end.line}`)
|
.replace(/{__functionEndLine__}/g, `${range.end.line}`)
|
||||||
.replace(/{__containerName__}/g, funcDef.containerName || '')
|
.replace(/{__containerName__}/g, funcDef.containerName || "")
|
||||||
.replace(/{__containerStartLine__}/g, `${parentRange ? parentRange.start.line : -1}`)
|
.replace(
|
||||||
.replace(/{__containerEndLine__}/g, `${parentRange ? parentRange.end.line : -1}`)
|
/{__containerStartLine__}/g,
|
||||||
|
`${parentRange ? parentRange.start.line : -1}`
|
||||||
|
)
|
||||||
|
.replace(
|
||||||
|
/{__containerEndLine__}/g,
|
||||||
|
`${parentRange ? parentRange.end.line : -1}`
|
||||||
|
)
|
||||||
.replace(/{__functionCode__}/g, functionCode); // Fixed syntax to replace all occurrences
|
.replace(/{__functionCode__}/g, functionCode); // Fixed syntax to replace all occurrences
|
||||||
|
if (codelenRegister.objectName === "Explain") {
|
||||||
|
const lens = new vscode.CodeLens(range, {
|
||||||
|
title: codelenRegister.objectName,
|
||||||
|
command: "CodeLens.Explain",
|
||||||
|
// arguments: [document.uri.fsPath, range, funcDef.name] // Commented out as it's not used
|
||||||
|
arguments: [
|
||||||
|
prompt,
|
||||||
|
{ start: range.start.line, end: range.end.line },
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
lenses.push(lens);
|
||||||
|
} else {
|
||||||
const lens = new vscode.CodeLens(range, {
|
const lens = new vscode.CodeLens(range, {
|
||||||
title: codelenRegister.objectName,
|
title: codelenRegister.objectName,
|
||||||
command: "DevChat.Chat",
|
command: "DevChat.Chat",
|
||||||
// arguments: [document.uri.fsPath, range, funcDef.name] // Commented out as it's not used
|
// arguments: [document.uri.fsPath, range, funcDef.name] // Commented out as it's not used
|
||||||
arguments: [prompt]
|
arguments: [prompt],
|
||||||
});
|
});
|
||||||
|
|
||||||
lenses.push(lens);
|
lenses.push(lens);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// log info find how many functionDefinitions, innerFunctionDefinitions, lenses
|
// log info find how many functionDefinitions, innerFunctionDefinitions, lenses
|
||||||
logger.channel()?.info(`found ${functionDefinitions.length} functions, ${innerFunctionDefinitions.length} inner functions, ${lenses.length} registered codeLenses in document: ${document.fileName}`);
|
logger
|
||||||
|
.channel()
|
||||||
|
?.info(
|
||||||
|
`found ${functionDefinitions.length} functions, ${innerFunctionDefinitions.length} inner functions, ${lenses.length} registered codeLenses in document: ${document.fileName}`
|
||||||
|
);
|
||||||
return lenses;
|
return lenses;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export function registerCodeLensProvider(context) {
|
export function registerCodeLensProvider(context) {
|
||||||
const provider = new FunctionTestCodeLensProvider();
|
const provider = new FunctionTestCodeLensProvider();
|
||||||
const disposable = vscode.languages.registerCodeLensProvider("*", provider);
|
const disposable = vscode.languages.registerCodeLensProvider("*", provider);
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit d66ada970b9379a13f5d4c8e1473725690969260
|
Subproject commit dbdb1ba29db3536e4ae358113f4251b78845c879
|
440
yarn.lock
440
yarn.lock
@ -23,7 +23,7 @@
|
|||||||
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz"
|
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz"
|
||||||
integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
|
integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
|
||||||
|
|
||||||
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.20.2", "@babel/core@^7.21.8", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8":
|
"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.20.2", "@babel/core@^7.21.8":
|
||||||
version "7.21.8"
|
version "7.21.8"
|
||||||
resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz"
|
resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz"
|
||||||
integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==
|
integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==
|
||||||
@ -1302,7 +1302,7 @@
|
|||||||
slash "^3.0.0"
|
slash "^3.0.0"
|
||||||
write-file-atomic "^4.0.2"
|
write-file-atomic "^4.0.2"
|
||||||
|
|
||||||
"@jest/types@^29.0.0", "@jest/types@^29.5.0":
|
"@jest/types@^29.5.0":
|
||||||
version "29.5.0"
|
version "29.5.0"
|
||||||
resolved "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz"
|
resolved "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz"
|
||||||
integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==
|
integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==
|
||||||
@ -1323,7 +1323,7 @@
|
|||||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||||
"@jridgewell/trace-mapping" "^0.3.9"
|
"@jridgewell/trace-mapping" "^0.3.9"
|
||||||
|
|
||||||
"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@3.1.0":
|
"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3":
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
|
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
|
||||||
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
|
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
|
||||||
@ -1341,19 +1341,11 @@
|
|||||||
"@jridgewell/gen-mapping" "^0.3.0"
|
"@jridgewell/gen-mapping" "^0.3.0"
|
||||||
"@jridgewell/trace-mapping" "^0.3.9"
|
"@jridgewell/trace-mapping" "^0.3.9"
|
||||||
|
|
||||||
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14":
|
"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10":
|
||||||
version "1.4.14"
|
version "1.4.14"
|
||||||
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
|
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
|
||||||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
||||||
|
|
||||||
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
|
|
||||||
version "0.3.18"
|
|
||||||
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
|
|
||||||
integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
|
|
||||||
dependencies:
|
|
||||||
"@jridgewell/resolve-uri" "3.1.0"
|
|
||||||
"@jridgewell/sourcemap-codec" "1.4.14"
|
|
||||||
|
|
||||||
"@jridgewell/trace-mapping@0.3.9":
|
"@jridgewell/trace-mapping@0.3.9":
|
||||||
version "0.3.9"
|
version "0.3.9"
|
||||||
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
|
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
|
||||||
@ -1362,6 +1354,14 @@
|
|||||||
"@jridgewell/resolve-uri" "^3.0.3"
|
"@jridgewell/resolve-uri" "^3.0.3"
|
||||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||||
|
|
||||||
|
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
|
||||||
|
version "0.3.18"
|
||||||
|
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
|
||||||
|
integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
|
||||||
|
dependencies:
|
||||||
|
"@jridgewell/resolve-uri" "3.1.0"
|
||||||
|
"@jridgewell/sourcemap-codec" "1.4.14"
|
||||||
|
|
||||||
"@leichtgewicht/ip-codec@^2.0.1":
|
"@leichtgewicht/ip-codec@^2.0.1":
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz"
|
resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz"
|
||||||
@ -1415,7 +1415,7 @@
|
|||||||
"@nodelib/fs.stat" "2.0.5"
|
"@nodelib/fs.stat" "2.0.5"
|
||||||
run-parallel "^1.1.9"
|
run-parallel "^1.1.9"
|
||||||
|
|
||||||
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
|
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
|
||||||
version "2.0.5"
|
version "2.0.5"
|
||||||
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
|
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
|
||||||
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
||||||
@ -1503,7 +1503,7 @@
|
|||||||
resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz"
|
resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz"
|
||||||
integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==
|
integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==
|
||||||
|
|
||||||
"@tiptap/core@^2.0.0", "@tiptap/core@^2.0.3":
|
"@tiptap/core@^2.0.3":
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.npmjs.org/@tiptap/core/-/core-2.0.3.tgz"
|
resolved "https://registry.npmjs.org/@tiptap/core/-/core-2.0.3.tgz"
|
||||||
integrity sha512-jLyVIWAdjjlNzrsRhSE2lVL/7N8228/1R1QtaVU85UlMIwHFAcdzhD8FeiKkqxpTnGpaDVaTy7VNEtEgaYdCyA==
|
integrity sha512-jLyVIWAdjjlNzrsRhSE2lVL/7N8228/1R1QtaVU85UlMIwHFAcdzhD8FeiKkqxpTnGpaDVaTy7VNEtEgaYdCyA==
|
||||||
@ -2045,7 +2045,7 @@
|
|||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.56.0":
|
"@typescript-eslint/parser@^5.56.0":
|
||||||
version "5.59.0"
|
version "5.59.0"
|
||||||
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz"
|
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz"
|
||||||
integrity sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==
|
integrity sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==
|
||||||
@ -2123,7 +2123,7 @@
|
|||||||
jszip "^3.10.1"
|
jszip "^3.10.1"
|
||||||
semver "^7.3.8"
|
semver "^7.3.8"
|
||||||
|
|
||||||
"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.5":
|
"@webassemblyjs/ast@1.11.5", "@webassemblyjs/ast@^1.11.5":
|
||||||
version "1.11.5"
|
version "1.11.5"
|
||||||
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz"
|
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz"
|
||||||
integrity sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==
|
integrity sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==
|
||||||
@ -2224,7 +2224,7 @@
|
|||||||
"@webassemblyjs/wasm-gen" "1.11.5"
|
"@webassemblyjs/wasm-gen" "1.11.5"
|
||||||
"@webassemblyjs/wasm-parser" "1.11.5"
|
"@webassemblyjs/wasm-parser" "1.11.5"
|
||||||
|
|
||||||
"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.5":
|
"@webassemblyjs/wasm-parser@1.11.5", "@webassemblyjs/wasm-parser@^1.11.5":
|
||||||
version "1.11.5"
|
version "1.11.5"
|
||||||
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz"
|
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz"
|
||||||
integrity sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==
|
integrity sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==
|
||||||
@ -2292,7 +2292,7 @@ acorn-walk@^8.1.1:
|
|||||||
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz"
|
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz"
|
||||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||||
|
|
||||||
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0:
|
acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0:
|
||||||
version "8.8.2"
|
version "8.8.2"
|
||||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz"
|
resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz"
|
||||||
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
||||||
@ -2323,7 +2323,7 @@ ajv-keywords@^5.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
fast-deep-equal "^3.1.3"
|
fast-deep-equal "^3.1.3"
|
||||||
|
|
||||||
ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
|
ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
|
||||||
version "6.12.6"
|
version "6.12.6"
|
||||||
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
|
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
|
||||||
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
||||||
@ -2333,17 +2333,7 @@ ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
|
|||||||
json-schema-traverse "^0.4.1"
|
json-schema-traverse "^0.4.1"
|
||||||
uri-js "^4.2.2"
|
uri-js "^4.2.2"
|
||||||
|
|
||||||
ajv@^8.0.0:
|
ajv@^8.0.0, ajv@^8.9.0:
|
||||||
version "8.12.0"
|
|
||||||
resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
|
|
||||||
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
|
|
||||||
dependencies:
|
|
||||||
fast-deep-equal "^3.1.1"
|
|
||||||
json-schema-traverse "^1.0.0"
|
|
||||||
require-from-string "^2.0.2"
|
|
||||||
uri-js "^4.2.2"
|
|
||||||
|
|
||||||
ajv@^8.8.2, ajv@^8.9.0:
|
|
||||||
version "8.12.0"
|
version "8.12.0"
|
||||||
resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
|
resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
|
||||||
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
|
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
|
||||||
@ -2419,16 +2409,16 @@ argparse@^2.0.1:
|
|||||||
resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
|
resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
|
||||||
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
|
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
|
||||||
|
|
||||||
array-flatten@^2.1.2:
|
|
||||||
version "2.1.2"
|
|
||||||
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
|
|
||||||
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
|
|
||||||
|
|
||||||
array-flatten@1.1.1:
|
array-flatten@1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
|
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
|
||||||
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
|
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
|
||||||
|
|
||||||
|
array-flatten@^2.1.2:
|
||||||
|
version "2.1.2"
|
||||||
|
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
|
||||||
|
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
|
||||||
|
|
||||||
array-union@^1.0.1:
|
array-union@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz"
|
resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz"
|
||||||
@ -2465,7 +2455,7 @@ axios@^1.3.6:
|
|||||||
form-data "^4.0.0"
|
form-data "^4.0.0"
|
||||||
proxy-from-env "^1.1.0"
|
proxy-from-env "^1.1.0"
|
||||||
|
|
||||||
babel-jest@^29.0.0, babel-jest@^29.5.0:
|
babel-jest@^29.5.0:
|
||||||
version "29.5.0"
|
version "29.5.0"
|
||||||
resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz"
|
resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz"
|
||||||
integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==
|
integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==
|
||||||
@ -2668,7 +2658,7 @@ browser-stdout@1.3.1:
|
|||||||
resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz"
|
resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz"
|
||||||
integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
|
integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
|
||||||
|
|
||||||
browserslist@^4.14.5, browserslist@^4.22.2, "browserslist@>= 4.21.0":
|
browserslist@^4.14.5, browserslist@^4.22.2:
|
||||||
version "4.22.2"
|
version "4.22.2"
|
||||||
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz"
|
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz"
|
||||||
integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
|
integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
|
||||||
@ -2805,7 +2795,7 @@ check-error@^1.0.2:
|
|||||||
resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz"
|
resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz"
|
||||||
integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==
|
integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==
|
||||||
|
|
||||||
chokidar@^3.5.3, chokidar@3.5.3:
|
chokidar@3.5.3, chokidar@^3.5.3:
|
||||||
version "3.5.3"
|
version "3.5.3"
|
||||||
resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
|
resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
|
||||||
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
|
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
|
||||||
@ -2900,16 +2890,16 @@ color-convert@^2.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
color-name "~1.1.4"
|
color-name "~1.1.4"
|
||||||
|
|
||||||
color-name@~1.1.4:
|
|
||||||
version "1.1.4"
|
|
||||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
|
||||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
|
||||||
|
|
||||||
color-name@1.1.3:
|
color-name@1.1.3:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
|
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
|
||||||
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
||||||
|
|
||||||
|
color-name@~1.1.4:
|
||||||
|
version "1.1.4"
|
||||||
|
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
||||||
|
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||||
|
|
||||||
colorette@^2.0.10, colorette@^2.0.14:
|
colorette@^2.0.10, colorette@^2.0.14:
|
||||||
version "2.0.20"
|
version "2.0.20"
|
||||||
resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz"
|
resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz"
|
||||||
@ -2989,12 +2979,7 @@ content-type@~1.0.4:
|
|||||||
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
|
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
|
||||||
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
|
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
|
||||||
|
|
||||||
convert-source-map@^1.6.0:
|
convert-source-map@^1.6.0, convert-source-map@^1.7.0:
|
||||||
version "1.9.0"
|
|
||||||
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
|
|
||||||
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
|
|
||||||
|
|
||||||
convert-source-map@^1.7.0:
|
|
||||||
version "1.9.0"
|
version "1.9.0"
|
||||||
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
|
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
|
||||||
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
|
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
|
||||||
@ -3088,13 +3073,6 @@ dayjs@^1.11.10:
|
|||||||
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz"
|
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz"
|
||||||
integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
|
integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
|
||||||
|
|
||||||
debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4, debug@4, debug@4.3.4:
|
|
||||||
version "4.3.4"
|
|
||||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
|
|
||||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
|
||||||
dependencies:
|
|
||||||
ms "2.1.2"
|
|
||||||
|
|
||||||
debug@2.6.9:
|
debug@2.6.9:
|
||||||
version "2.6.9"
|
version "2.6.9"
|
||||||
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
||||||
@ -3102,6 +3080,13 @@ debug@2.6.9:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "2.0.0"
|
ms "2.0.0"
|
||||||
|
|
||||||
|
debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
|
||||||
|
version "4.3.4"
|
||||||
|
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
|
||||||
|
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||||
|
dependencies:
|
||||||
|
ms "2.1.2"
|
||||||
|
|
||||||
decamelize@^4.0.0:
|
decamelize@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz"
|
resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz"
|
||||||
@ -3164,16 +3149,16 @@ delayed-stream@~1.0.0:
|
|||||||
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
|
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
|
||||||
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
||||||
|
|
||||||
depd@~1.1.2:
|
|
||||||
version "1.1.2"
|
|
||||||
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
|
|
||||||
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
|
|
||||||
|
|
||||||
depd@2.0.0:
|
depd@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
|
||||||
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
|
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
|
||||||
|
|
||||||
|
depd@~1.1.2:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
|
||||||
|
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
|
||||||
|
|
||||||
dequal@^2.0.0:
|
dequal@^2.0.0:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
|
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
|
||||||
@ -3206,6 +3191,11 @@ diff-sequences@^29.4.3:
|
|||||||
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz"
|
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz"
|
||||||
integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==
|
integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==
|
||||||
|
|
||||||
|
diff@5.0.0:
|
||||||
|
version "5.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz"
|
||||||
|
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
|
||||||
|
|
||||||
diff@^4.0.1:
|
diff@^4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
|
resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
|
||||||
@ -3216,11 +3206,6 @@ diff@^5.1.0:
|
|||||||
resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz"
|
resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz"
|
||||||
integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
|
integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
|
||||||
|
|
||||||
diff@5.0.0:
|
|
||||||
version "5.0.0"
|
|
||||||
resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz"
|
|
||||||
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
|
|
||||||
|
|
||||||
dir-glob@^3.0.1:
|
dir-glob@^3.0.1:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
|
resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
|
||||||
@ -3379,6 +3364,11 @@ escape-html@~1.0.3:
|
|||||||
resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
|
resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
|
||||||
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
|
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
|
||||||
|
|
||||||
|
escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
|
||||||
|
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
||||||
|
|
||||||
escape-string-regexp@^1.0.5:
|
escape-string-regexp@^1.0.5:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
|
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
|
||||||
@ -3389,12 +3379,7 @@ escape-string-regexp@^2.0.0:
|
|||||||
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"
|
||||||
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
|
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
|
||||||
|
|
||||||
escape-string-regexp@^4.0.0, escape-string-regexp@4.0.0:
|
eslint-scope@5.1.1, eslint-scope@^5.1.1:
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
|
|
||||||
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
|
||||||
|
|
||||||
eslint-scope@^5.1.1, eslint-scope@5.1.1:
|
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
|
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
|
||||||
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
|
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
|
||||||
@ -3415,7 +3400,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0:
|
|||||||
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz"
|
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz"
|
||||||
integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==
|
integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==
|
||||||
|
|
||||||
eslint@*, "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.36.0:
|
eslint@^8.36.0:
|
||||||
version "8.38.0"
|
version "8.38.0"
|
||||||
resolved "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz"
|
resolved "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz"
|
||||||
integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==
|
integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==
|
||||||
@ -3494,12 +3479,7 @@ estraverse@^4.1.1:
|
|||||||
resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
|
resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
|
||||||
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
|
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
|
||||||
|
|
||||||
estraverse@^5.1.0:
|
estraverse@^5.1.0, estraverse@^5.2.0:
|
||||||
version "5.3.0"
|
|
||||||
resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
|
|
||||||
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
|
|
||||||
|
|
||||||
estraverse@^5.2.0:
|
|
||||||
version "5.3.0"
|
version "5.3.0"
|
||||||
resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
|
resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
|
||||||
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
|
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
|
||||||
@ -3613,7 +3593,7 @@ fast-glob@^3.2.11, fast-glob@^3.2.9:
|
|||||||
merge2 "^1.3.0"
|
merge2 "^1.3.0"
|
||||||
micromatch "^4.0.4"
|
micromatch "^4.0.4"
|
||||||
|
|
||||||
fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x:
|
fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
|
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
|
||||||
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
|
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
|
||||||
@ -3709,23 +3689,7 @@ find-cache-dir@^3.3.2:
|
|||||||
make-dir "^3.0.2"
|
make-dir "^3.0.2"
|
||||||
pkg-dir "^4.1.0"
|
pkg-dir "^4.1.0"
|
||||||
|
|
||||||
find-up@^4.0.0:
|
find-up@5.0.0, find-up@^5.0.0:
|
||||||
version "4.1.0"
|
|
||||||
resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
|
|
||||||
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
|
|
||||||
dependencies:
|
|
||||||
locate-path "^5.0.0"
|
|
||||||
path-exists "^4.0.0"
|
|
||||||
|
|
||||||
find-up@^4.1.0:
|
|
||||||
version "4.1.0"
|
|
||||||
resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
|
|
||||||
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
|
|
||||||
dependencies:
|
|
||||||
locate-path "^5.0.0"
|
|
||||||
path-exists "^4.0.0"
|
|
||||||
|
|
||||||
find-up@^5.0.0, find-up@5.0.0:
|
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
|
resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
|
||||||
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
|
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
|
||||||
@ -3733,6 +3697,14 @@ find-up@^5.0.0, find-up@5.0.0:
|
|||||||
locate-path "^6.0.0"
|
locate-path "^6.0.0"
|
||||||
path-exists "^4.0.0"
|
path-exists "^4.0.0"
|
||||||
|
|
||||||
|
find-up@^4.0.0, find-up@^4.1.0:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
|
||||||
|
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
|
||||||
|
dependencies:
|
||||||
|
locate-path "^5.0.0"
|
||||||
|
path-exists "^4.0.0"
|
||||||
|
|
||||||
flat-cache@^3.0.4:
|
flat-cache@^3.0.4:
|
||||||
version "3.0.4"
|
version "3.0.4"
|
||||||
resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
|
resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
|
||||||
@ -3846,7 +3818,7 @@ get-stream@^6.0.0:
|
|||||||
resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
|
resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
|
||||||
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
|
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
|
||||||
|
|
||||||
glob-parent@^5.1.2:
|
glob-parent@^5.1.2, glob-parent@~5.1.2:
|
||||||
version "5.1.2"
|
version "5.1.2"
|
||||||
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
|
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
|
||||||
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
||||||
@ -3860,31 +3832,24 @@ glob-parent@^6.0.1, glob-parent@^6.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-glob "^4.0.3"
|
is-glob "^4.0.3"
|
||||||
|
|
||||||
glob-parent@~5.1.2:
|
|
||||||
version "5.1.2"
|
|
||||||
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
|
|
||||||
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
|
||||||
dependencies:
|
|
||||||
is-glob "^4.0.1"
|
|
||||||
|
|
||||||
glob-to-regexp@^0.4.1:
|
glob-to-regexp@^0.4.1:
|
||||||
version "0.4.1"
|
version "0.4.1"
|
||||||
resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
|
resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
|
||||||
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
|
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
|
||||||
|
|
||||||
glob@^7.0.3, glob@^7.1.3:
|
glob@7.2.0:
|
||||||
version "7.2.3"
|
version "7.2.0"
|
||||||
resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
|
resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz"
|
||||||
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
fs.realpath "^1.0.0"
|
fs.realpath "^1.0.0"
|
||||||
inflight "^1.0.4"
|
inflight "^1.0.4"
|
||||||
inherits "2"
|
inherits "2"
|
||||||
minimatch "^3.1.1"
|
minimatch "^3.0.4"
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
path-is-absolute "^1.0.0"
|
path-is-absolute "^1.0.0"
|
||||||
|
|
||||||
glob@^7.1.4:
|
glob@^7.0.3, glob@^7.1.3, glob@^7.1.4:
|
||||||
version "7.2.3"
|
version "7.2.3"
|
||||||
resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
|
resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
|
||||||
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
||||||
@ -3907,18 +3872,6 @@ glob@^8.1.0:
|
|||||||
minimatch "^5.0.1"
|
minimatch "^5.0.1"
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
|
|
||||||
glob@7.2.0:
|
|
||||||
version "7.2.0"
|
|
||||||
resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz"
|
|
||||||
integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
|
|
||||||
dependencies:
|
|
||||||
fs.realpath "^1.0.0"
|
|
||||||
inflight "^1.0.4"
|
|
||||||
inherits "2"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
once "^1.3.0"
|
|
||||||
path-is-absolute "^1.0.0"
|
|
||||||
|
|
||||||
globals@^11.1.0:
|
globals@^11.1.0:
|
||||||
version "11.12.0"
|
version "11.12.0"
|
||||||
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
|
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
|
||||||
@ -4062,7 +4015,7 @@ hastscript@^7.0.0:
|
|||||||
property-information "^6.0.0"
|
property-information "^6.0.0"
|
||||||
space-separated-tokens "^2.0.0"
|
space-separated-tokens "^2.0.0"
|
||||||
|
|
||||||
he@^1.2.0, he@1.2.0:
|
he@1.2.0, he@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
|
resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
|
||||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||||
@ -4131,16 +4084,6 @@ http-deceiver@^1.2.7:
|
|||||||
resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
|
resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
|
||||||
integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
|
integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
|
||||||
|
|
||||||
http-errors@~1.6.2:
|
|
||||||
version "1.6.3"
|
|
||||||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
|
|
||||||
integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
|
|
||||||
dependencies:
|
|
||||||
depd "~1.1.2"
|
|
||||||
inherits "2.0.3"
|
|
||||||
setprototypeof "1.1.0"
|
|
||||||
statuses ">= 1.4.0 < 2"
|
|
||||||
|
|
||||||
http-errors@2.0.0:
|
http-errors@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
|
||||||
@ -4152,6 +4095,16 @@ http-errors@2.0.0:
|
|||||||
statuses "2.0.1"
|
statuses "2.0.1"
|
||||||
toidentifier "1.0.1"
|
toidentifier "1.0.1"
|
||||||
|
|
||||||
|
http-errors@~1.6.2:
|
||||||
|
version "1.6.3"
|
||||||
|
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
|
||||||
|
integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
|
||||||
|
dependencies:
|
||||||
|
depd "~1.1.2"
|
||||||
|
inherits "2.0.3"
|
||||||
|
setprototypeof "1.1.0"
|
||||||
|
statuses ">= 1.4.0 < 2"
|
||||||
|
|
||||||
http-parser-js@>=0.5.1:
|
http-parser-js@>=0.5.1:
|
||||||
version "0.5.8"
|
version "0.5.8"
|
||||||
resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz"
|
resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz"
|
||||||
@ -4245,7 +4198,7 @@ inflight@^1.0.4:
|
|||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3, inherits@2, inherits@2.0.4:
|
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
|
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
|
||||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||||
@ -4260,16 +4213,16 @@ interpret@^3.1.1:
|
|||||||
resolved "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz"
|
resolved "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz"
|
||||||
integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==
|
integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==
|
||||||
|
|
||||||
ipaddr.js@^2.0.1:
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz"
|
|
||||||
integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
|
|
||||||
|
|
||||||
ipaddr.js@1.9.1:
|
ipaddr.js@1.9.1:
|
||||||
version "1.9.1"
|
version "1.9.1"
|
||||||
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
|
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
|
||||||
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
|
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
|
||||||
|
|
||||||
|
ipaddr.js@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz"
|
||||||
|
integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
|
||||||
|
|
||||||
is-arrayish@^0.2.1:
|
is-arrayish@^0.2.1:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
|
resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
|
||||||
@ -4401,16 +4354,16 @@ is-wsl@^2.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-docker "^2.0.0"
|
is-docker "^2.0.0"
|
||||||
|
|
||||||
isarray@~1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
|
|
||||||
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
|
||||||
|
|
||||||
isarray@0.0.1:
|
isarray@0.0.1:
|
||||||
version "0.0.1"
|
version "0.0.1"
|
||||||
resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
|
resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
|
||||||
integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
|
integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
|
||||||
|
|
||||||
|
isarray@~1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
|
||||||
|
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||||
|
|
||||||
isexe@^2.0.0:
|
isexe@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
|
||||||
@ -4667,7 +4620,7 @@ jest-resolve-dependencies@^29.5.0:
|
|||||||
jest-regex-util "^29.4.3"
|
jest-regex-util "^29.4.3"
|
||||||
jest-snapshot "^29.5.0"
|
jest-snapshot "^29.5.0"
|
||||||
|
|
||||||
jest-resolve@*, jest-resolve@^29.5.0:
|
jest-resolve@^29.5.0:
|
||||||
version "29.5.0"
|
version "29.5.0"
|
||||||
resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz"
|
resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz"
|
||||||
integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==
|
integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==
|
||||||
@ -4823,7 +4776,7 @@ jest-worker@^29.5.0:
|
|||||||
merge-stream "^2.0.0"
|
merge-stream "^2.0.0"
|
||||||
supports-color "^8.0.0"
|
supports-color "^8.0.0"
|
||||||
|
|
||||||
jest@^29.0.0, jest@^29.5.0:
|
jest@^29.5.0:
|
||||||
version "29.5.0"
|
version "29.5.0"
|
||||||
resolved "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz"
|
resolved "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz"
|
||||||
integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==
|
integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==
|
||||||
@ -4843,6 +4796,13 @@ js-tokens@^4.0.0:
|
|||||||
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
|
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
|
||||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||||
|
|
||||||
|
js-yaml@4.1.0, js-yaml@^4.1.0:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
|
||||||
|
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
|
||||||
|
dependencies:
|
||||||
|
argparse "^2.0.1"
|
||||||
|
|
||||||
js-yaml@^3.13.1:
|
js-yaml@^3.13.1:
|
||||||
version "3.14.1"
|
version "3.14.1"
|
||||||
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
|
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
|
||||||
@ -4851,13 +4811,6 @@ js-yaml@^3.13.1:
|
|||||||
argparse "^1.0.7"
|
argparse "^1.0.7"
|
||||||
esprima "^4.0.0"
|
esprima "^4.0.0"
|
||||||
|
|
||||||
js-yaml@^4.1.0, js-yaml@4.1.0:
|
|
||||||
version "4.1.0"
|
|
||||||
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
|
|
||||||
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
|
|
||||||
dependencies:
|
|
||||||
argparse "^2.0.1"
|
|
||||||
|
|
||||||
jsesc@^2.5.1:
|
jsesc@^2.5.1:
|
||||||
version "2.5.2"
|
version "2.5.2"
|
||||||
resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
|
resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
|
||||||
@ -5069,7 +5022,7 @@ make-dir@^3.0.0, make-dir@^3.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
semver "^6.0.0"
|
semver "^6.0.0"
|
||||||
|
|
||||||
make-error@^1.1.1, make-error@^1.3.6, make-error@1.x:
|
make-error@1.x, make-error@^1.1.1, make-error@^1.3.6:
|
||||||
version "1.3.6"
|
version "1.3.6"
|
||||||
resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
|
resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
|
||||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||||
@ -5114,7 +5067,7 @@ memfs@^3.4.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
fs-monkey "^1.0.3"
|
fs-monkey "^1.0.3"
|
||||||
|
|
||||||
merge-descriptors@~1.0.0, merge-descriptors@1.0.1:
|
merge-descriptors@1.0.1, merge-descriptors@~1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
|
resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
|
||||||
integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
|
integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
|
||||||
@ -5142,7 +5095,7 @@ micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4:
|
|||||||
braces "^3.0.2"
|
braces "^3.0.2"
|
||||||
picomatch "^2.3.1"
|
picomatch "^2.3.1"
|
||||||
|
|
||||||
"mime-db@>= 1.43.0 < 2", mime-db@1.52.0:
|
mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
|
||||||
version "1.52.0"
|
version "1.52.0"
|
||||||
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
|
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
|
||||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||||
@ -5169,6 +5122,13 @@ minimalistic-assert@^1.0.0:
|
|||||||
resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"
|
resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"
|
||||||
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
|
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
|
||||||
|
|
||||||
|
minimatch@5.0.1:
|
||||||
|
version "5.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz"
|
||||||
|
integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
|
||||||
|
dependencies:
|
||||||
|
brace-expansion "^2.0.1"
|
||||||
|
|
||||||
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
|
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
|
||||||
version "3.1.2"
|
version "3.1.2"
|
||||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
|
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
|
||||||
@ -5183,13 +5143,6 @@ minimatch@^5.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^2.0.1"
|
brace-expansion "^2.0.1"
|
||||||
|
|
||||||
minimatch@5.0.1:
|
|
||||||
version "5.0.1"
|
|
||||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz"
|
|
||||||
integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
|
|
||||||
dependencies:
|
|
||||||
brace-expansion "^2.0.1"
|
|
||||||
|
|
||||||
minimist@^1.2.6:
|
minimist@^1.2.6:
|
||||||
version "1.2.8"
|
version "1.2.8"
|
||||||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
|
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
|
||||||
@ -5569,6 +5522,11 @@ path-parse@^1.0.7:
|
|||||||
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
|
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
|
||||||
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
|
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
|
||||||
|
|
||||||
|
path-to-regexp@0.1.7:
|
||||||
|
version "0.1.7"
|
||||||
|
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
|
||||||
|
integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
|
||||||
|
|
||||||
path-to-regexp@^1.7.0:
|
path-to-regexp@^1.7.0:
|
||||||
version "1.8.0"
|
version "1.8.0"
|
||||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz"
|
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz"
|
||||||
@ -5576,11 +5534,6 @@ path-to-regexp@^1.7.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
isarray "0.0.1"
|
isarray "0.0.1"
|
||||||
|
|
||||||
path-to-regexp@0.1.7:
|
|
||||||
version "0.1.7"
|
|
||||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
|
|
||||||
integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
|
|
||||||
|
|
||||||
path-type@^4.0.0:
|
path-type@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
|
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
|
||||||
@ -5784,7 +5737,7 @@ prosemirror-schema-list@^1.2.2:
|
|||||||
prosemirror-state "^1.0.0"
|
prosemirror-state "^1.0.0"
|
||||||
prosemirror-transform "^1.0.0"
|
prosemirror-transform "^1.0.0"
|
||||||
|
|
||||||
prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, prosemirror-state@^1.4.1, prosemirror-state@^1.4.2:
|
prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, prosemirror-state@^1.4.1:
|
||||||
version "1.4.2"
|
version "1.4.2"
|
||||||
resolved "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.2.tgz"
|
resolved "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.2.tgz"
|
||||||
integrity sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==
|
integrity sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==
|
||||||
@ -5821,7 +5774,7 @@ prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transfor
|
|||||||
dependencies:
|
dependencies:
|
||||||
prosemirror-model "^1.0.0"
|
prosemirror-model "^1.0.0"
|
||||||
|
|
||||||
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.28.2, prosemirror-view@^1.30.2, prosemirror-view@^1.31.0:
|
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.28.2, prosemirror-view@^1.31.0:
|
||||||
version "1.31.1"
|
version "1.31.1"
|
||||||
resolved "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.31.1.tgz"
|
resolved "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.31.1.tgz"
|
||||||
integrity sha512-9NKJdXnGV4+1qFRi16XFZxpnx6zNok9MEj/HElkqUJ1HtOyKOICffKxqoXUUCAdHrrP+yMDvdXc6wT7GGWBL3A==
|
integrity sha512-9NKJdXnGV4+1qFRi16XFZxpnx6zNok9MEj/HElkqUJ1HtOyKOICffKxqoXUUCAdHrrP+yMDvdXc6wT7GGWBL3A==
|
||||||
@ -6066,7 +6019,7 @@ reusify@^1.0.4:
|
|||||||
resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
|
resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
|
||||||
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
|
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
|
||||||
|
|
||||||
rimraf@^2.6.3:
|
rimraf@2, rimraf@^2.6.3:
|
||||||
version "2.7.1"
|
version "2.7.1"
|
||||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
|
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
|
||||||
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
||||||
@ -6080,13 +6033,6 @@ rimraf@^3.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
glob "^7.1.3"
|
glob "^7.1.3"
|
||||||
|
|
||||||
rimraf@2:
|
|
||||||
version "2.7.1"
|
|
||||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
|
|
||||||
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
|
||||||
dependencies:
|
|
||||||
glob "^7.1.3"
|
|
||||||
|
|
||||||
rope-sequence@^1.3.0:
|
rope-sequence@^1.3.0:
|
||||||
version "1.3.3"
|
version "1.3.3"
|
||||||
resolved "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.3.tgz"
|
resolved "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.3.tgz"
|
||||||
@ -6099,7 +6045,7 @@ run-parallel@^1.1.9:
|
|||||||
dependencies:
|
dependencies:
|
||||||
queue-microtask "^1.2.2"
|
queue-microtask "^1.2.2"
|
||||||
|
|
||||||
safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2:
|
safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||||
version "5.1.2"
|
version "5.1.2"
|
||||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||||
@ -6145,28 +6091,18 @@ selfsigned@^2.1.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
node-forge "^1"
|
node-forge "^1"
|
||||||
|
|
||||||
semver@^6.0.0:
|
semver@7.x, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8:
|
||||||
version "6.3.1"
|
|
||||||
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
|
|
||||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
|
||||||
|
|
||||||
semver@^6.3.0:
|
|
||||||
version "6.3.1"
|
|
||||||
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
|
|
||||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
|
||||||
|
|
||||||
semver@^6.3.1:
|
|
||||||
version "6.3.1"
|
|
||||||
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
|
|
||||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
|
||||||
|
|
||||||
semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@7.x:
|
|
||||||
version "7.5.4"
|
version "7.5.4"
|
||||||
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
|
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
|
||||||
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
|
semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
|
||||||
|
version "6.3.1"
|
||||||
|
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
|
||||||
|
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
||||||
|
|
||||||
send@0.18.0:
|
send@0.18.0:
|
||||||
version "0.18.0"
|
version "0.18.0"
|
||||||
resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz"
|
resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz"
|
||||||
@ -6186,7 +6122,7 @@ send@0.18.0:
|
|||||||
range-parser "~1.2.1"
|
range-parser "~1.2.1"
|
||||||
statuses "2.0.1"
|
statuses "2.0.1"
|
||||||
|
|
||||||
serialize-javascript@^6.0.0, serialize-javascript@6.0.0:
|
serialize-javascript@6.0.0, serialize-javascript@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz"
|
resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz"
|
||||||
integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
|
integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
|
||||||
@ -6317,14 +6253,6 @@ sockjs@^0.3.24:
|
|||||||
uuid "^8.3.2"
|
uuid "^8.3.2"
|
||||||
websocket-driver "^0.7.4"
|
websocket-driver "^0.7.4"
|
||||||
|
|
||||||
source-map-support@~0.5.20:
|
|
||||||
version "0.5.21"
|
|
||||||
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
|
|
||||||
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
|
|
||||||
dependencies:
|
|
||||||
buffer-from "^1.0.0"
|
|
||||||
source-map "^0.6.0"
|
|
||||||
|
|
||||||
source-map-support@0.5.13:
|
source-map-support@0.5.13:
|
||||||
version "0.5.13"
|
version "0.5.13"
|
||||||
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
|
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
|
||||||
@ -6333,6 +6261,14 @@ source-map-support@0.5.13:
|
|||||||
buffer-from "^1.0.0"
|
buffer-from "^1.0.0"
|
||||||
source-map "^0.6.0"
|
source-map "^0.6.0"
|
||||||
|
|
||||||
|
source-map-support@~0.5.20:
|
||||||
|
version "0.5.21"
|
||||||
|
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
|
||||||
|
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
|
||||||
|
dependencies:
|
||||||
|
buffer-from "^1.0.0"
|
||||||
|
source-map "^0.6.0"
|
||||||
|
|
||||||
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
|
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
|
||||||
version "0.6.1"
|
version "0.6.1"
|
||||||
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
|
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
|
||||||
@ -6378,22 +6314,15 @@ stack-utils@^2.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "^2.0.0"
|
escape-string-regexp "^2.0.0"
|
||||||
|
|
||||||
"statuses@>= 1.4.0 < 2":
|
|
||||||
version "1.5.0"
|
|
||||||
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
|
|
||||||
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
|
|
||||||
|
|
||||||
statuses@2.0.1:
|
statuses@2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
|
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
|
||||||
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
|
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
|
||||||
|
|
||||||
string_decoder@^1.1.1, string_decoder@~1.1.1:
|
"statuses@>= 1.4.0 < 2":
|
||||||
version "1.1.1"
|
version "1.5.0"
|
||||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
|
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
|
||||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
|
||||||
dependencies:
|
|
||||||
safe-buffer "~5.1.0"
|
|
||||||
|
|
||||||
string-argv@^0.3.2:
|
string-argv@^0.3.2:
|
||||||
version "0.3.2"
|
version "0.3.2"
|
||||||
@ -6417,6 +6346,13 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
|
|||||||
is-fullwidth-code-point "^3.0.0"
|
is-fullwidth-code-point "^3.0.0"
|
||||||
strip-ansi "^6.0.1"
|
strip-ansi "^6.0.1"
|
||||||
|
|
||||||
|
string_decoder@^1.1.1, string_decoder@~1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
|
||||||
|
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||||
|
dependencies:
|
||||||
|
safe-buffer "~5.1.0"
|
||||||
|
|
||||||
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||||
version "6.0.1"
|
version "6.0.1"
|
||||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||||
@ -6434,11 +6370,18 @@ strip-final-newline@^2.0.0:
|
|||||||
resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
|
||||||
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
|
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
|
||||||
|
|
||||||
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@3.1.1:
|
strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
|
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
|
||||||
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
||||||
|
|
||||||
|
supports-color@8.1.1, supports-color@^8.0.0:
|
||||||
|
version "8.1.1"
|
||||||
|
resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
|
||||||
|
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
|
||||||
|
dependencies:
|
||||||
|
has-flag "^4.0.0"
|
||||||
|
|
||||||
supports-color@^5.3.0:
|
supports-color@^5.3.0:
|
||||||
version "5.5.0"
|
version "5.5.0"
|
||||||
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
|
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
|
||||||
@ -6453,20 +6396,6 @@ supports-color@^7.1.0, supports-color@^7.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
has-flag "^4.0.0"
|
has-flag "^4.0.0"
|
||||||
|
|
||||||
supports-color@^8.0.0:
|
|
||||||
version "8.1.1"
|
|
||||||
resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
|
|
||||||
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
|
|
||||||
dependencies:
|
|
||||||
has-flag "^4.0.0"
|
|
||||||
|
|
||||||
supports-color@8.1.1:
|
|
||||||
version "8.1.1"
|
|
||||||
resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
|
|
||||||
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
|
|
||||||
dependencies:
|
|
||||||
has-flag "^4.0.0"
|
|
||||||
|
|
||||||
supports-preserve-symlinks-flag@^1.0.0:
|
supports-preserve-symlinks-flag@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
|
resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
|
||||||
@ -6583,7 +6512,7 @@ ts-loader@^9.4.2:
|
|||||||
micromatch "^4.0.0"
|
micromatch "^4.0.0"
|
||||||
semver "^7.3.4"
|
semver "^7.3.4"
|
||||||
|
|
||||||
ts-node@^10.9.1, ts-node@>=9.0.0:
|
ts-node@^10.9.1:
|
||||||
version "10.9.1"
|
version "10.9.1"
|
||||||
resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz"
|
resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz"
|
||||||
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
||||||
@ -6626,7 +6555,7 @@ type-check@^0.4.0, type-check@~0.4.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
prelude-ls "^1.2.1"
|
prelude-ls "^1.2.1"
|
||||||
|
|
||||||
type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8, type-detect@4.0.8:
|
type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8:
|
||||||
version "4.0.8"
|
version "4.0.8"
|
||||||
resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
|
resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
|
||||||
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
|
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
|
||||||
@ -6654,7 +6583,7 @@ type-is@~1.6.18:
|
|||||||
media-typer "0.3.0"
|
media-typer "0.3.0"
|
||||||
mime-types "~2.1.24"
|
mime-types "~2.1.24"
|
||||||
|
|
||||||
typescript@*, typescript@^4.9.5, typescript@>=2.7, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@>=4.3 <6":
|
typescript@^4.9.5:
|
||||||
version "4.9.5"
|
version "4.9.5"
|
||||||
resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz"
|
resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz"
|
||||||
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
|
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
|
||||||
@ -6782,7 +6711,7 @@ unist-util-visit@^5.0.0:
|
|||||||
unist-util-is "^6.0.0"
|
unist-util-is "^6.0.0"
|
||||||
unist-util-visit-parents "^6.0.0"
|
unist-util-visit-parents "^6.0.0"
|
||||||
|
|
||||||
unpipe@~1.0.0, unpipe@1.0.0:
|
unpipe@1.0.0, unpipe@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
|
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
|
||||||
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
|
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
|
||||||
@ -6952,7 +6881,7 @@ web-streams-polyfill@^3.0.3:
|
|||||||
resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz"
|
resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz"
|
||||||
integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
|
integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
|
||||||
|
|
||||||
webpack-cli@^5.0.1, webpack-cli@5.x.x:
|
webpack-cli@^5.0.1:
|
||||||
version "5.0.1"
|
version "5.0.1"
|
||||||
resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz"
|
resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz"
|
||||||
integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==
|
integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==
|
||||||
@ -7031,7 +6960,7 @@ webpack-sources@^3.2.3:
|
|||||||
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
|
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
|
||||||
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
|
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
|
||||||
|
|
||||||
"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.76.3, "webpack@>=4.0.0 <6.0.0", webpack@>=5, webpack@5.x.x:
|
webpack@^5.76.3:
|
||||||
version "5.80.0"
|
version "5.80.0"
|
||||||
resolved "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz"
|
resolved "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz"
|
||||||
integrity sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==
|
integrity sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==
|
||||||
@ -7061,7 +6990,7 @@ webpack-sources@^3.2.3:
|
|||||||
watchpack "^2.4.0"
|
watchpack "^2.4.0"
|
||||||
webpack-sources "^3.2.3"
|
webpack-sources "^3.2.3"
|
||||||
|
|
||||||
websocket-driver@^0.7.4, websocket-driver@>=0.5.1:
|
websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
|
||||||
version "0.7.4"
|
version "0.7.4"
|
||||||
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
|
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
|
||||||
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
|
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
|
||||||
@ -7144,17 +7073,12 @@ yaml@^2.3.2:
|
|||||||
resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz"
|
resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz"
|
||||||
integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==
|
integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==
|
||||||
|
|
||||||
yargs-parser@^20.2.2, yargs-parser@20.2.4:
|
yargs-parser@20.2.4, yargs-parser@^20.2.2:
|
||||||
version "20.2.4"
|
version "20.2.4"
|
||||||
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz"
|
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz"
|
||||||
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
|
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
|
||||||
|
|
||||||
yargs-parser@^21.0.1:
|
yargs-parser@^21.0.1, yargs-parser@^21.1.1:
|
||||||
version "21.1.1"
|
|
||||||
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
|
|
||||||
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
|
|
||||||
|
|
||||||
yargs-parser@^21.1.1:
|
|
||||||
version "21.1.1"
|
version "21.1.1"
|
||||||
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
|
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
|
||||||
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
|
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
|
||||||
@ -7169,19 +7093,6 @@ yargs-unparser@2.0.0:
|
|||||||
flat "^5.0.2"
|
flat "^5.0.2"
|
||||||
is-plain-obj "^2.1.0"
|
is-plain-obj "^2.1.0"
|
||||||
|
|
||||||
yargs@^17.3.1:
|
|
||||||
version "17.7.1"
|
|
||||||
resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz"
|
|
||||||
integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==
|
|
||||||
dependencies:
|
|
||||||
cliui "^8.0.1"
|
|
||||||
escalade "^3.1.1"
|
|
||||||
get-caller-file "^2.0.5"
|
|
||||||
require-directory "^2.1.1"
|
|
||||||
string-width "^4.2.3"
|
|
||||||
y18n "^5.0.5"
|
|
||||||
yargs-parser "^21.1.1"
|
|
||||||
|
|
||||||
yargs@16.2.0:
|
yargs@16.2.0:
|
||||||
version "16.2.0"
|
version "16.2.0"
|
||||||
resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
|
resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
|
||||||
@ -7195,6 +7106,19 @@ yargs@16.2.0:
|
|||||||
y18n "^5.0.5"
|
y18n "^5.0.5"
|
||||||
yargs-parser "^20.2.2"
|
yargs-parser "^20.2.2"
|
||||||
|
|
||||||
|
yargs@^17.3.1:
|
||||||
|
version "17.7.1"
|
||||||
|
resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz"
|
||||||
|
integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==
|
||||||
|
dependencies:
|
||||||
|
cliui "^8.0.1"
|
||||||
|
escalade "^3.1.1"
|
||||||
|
get-caller-file "^2.0.5"
|
||||||
|
require-directory "^2.1.1"
|
||||||
|
string-width "^4.2.3"
|
||||||
|
y18n "^5.0.5"
|
||||||
|
yargs-parser "^21.1.1"
|
||||||
|
|
||||||
yn@3.1.1:
|
yn@3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
|
resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user