From cc35fd338043fd69f7e9d59606e29aeee1a6d790 Mon Sep 17 00:00:00 2001 From: Luo Tim Date: Tue, 27 Aug 2024 16:44:49 +0800 Subject: [PATCH 1/6] Replace assistant names in source --- src/contributes/quickFixProvider.ts | 9 ++-- src/extension.ts | 3 ++ src/handler/chatHandler.ts | 3 +- src/handler/historyMessagesBase.ts | 36 -------------- src/panel/codeLens.ts | 76 +++++------------------------ src/panel/statusBarView.ts | 15 +++--- src/panel/statusBarViewBase.ts | 25 +++++----- src/util/constants.ts | 9 ++++ src/util/logger_vscode.ts | 3 +- src/util/progressBar.ts | 3 +- 10 files changed, 55 insertions(+), 127 deletions(-) create mode 100644 src/util/constants.ts diff --git a/src/contributes/quickFixProvider.ts b/src/contributes/quickFixProvider.ts index dfe443e..d000960 100644 --- a/src/contributes/quickFixProvider.ts +++ b/src/contributes/quickFixProvider.ts @@ -1,5 +1,6 @@ import * as vscode from "vscode"; import { collapseFileExculdeSelectRange } from "./codecomplete/ast/collapseBlock"; +import { ASSISTANT_NAME_EN } from "../util/constants"; class DevChatQuickFixProvider implements vscode.CodeActionProvider { public static readonly providedCodeActionKinds = [ @@ -18,13 +19,13 @@ class DevChatQuickFixProvider implements vscode.CodeActionProvider { const diagnostic = context.diagnostics[0]; const quickFix = new vscode.CodeAction( - "Ask DevChat", + `Ask ${ASSISTANT_NAME_EN}`, vscode.CodeActionKind.QuickFix, ); quickFix.isPreferred = false; const fixUsingDevChat = new vscode.CodeAction( - "Fix using DevChat", + `Fix using ${ASSISTANT_NAME_EN}`, vscode.CodeActionKind.QuickFix, ); fixUsingDevChat.isPreferred = true; @@ -32,7 +33,7 @@ class DevChatQuickFixProvider implements vscode.CodeActionProvider { return new Promise(async (resolve) => { quickFix.command = { command: "DevChat.quickFixAskDevChat", - title: "Ask DevChat", + title: `Ask ${ASSISTANT_NAME_EN}`, arguments: [ document, range, @@ -42,7 +43,7 @@ class DevChatQuickFixProvider implements vscode.CodeActionProvider { fixUsingDevChat.command = { command: "DevChat.quickFixUsingDevChat", - title: "Fix using DevChat", + title: `Fix using ${ASSISTANT_NAME_EN}`, arguments: [ document, range, diff --git a/src/extension.ts b/src/extension.ts index bcddbf5..e3d598f 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -35,6 +35,7 @@ import { InlineCompletionProvider, registerCodeCompleteCallbackCommand } from ". import { indexDir } from "./contributes/codecomplete/astIndex"; import registerQuickFixProvider from "./contributes/quickFixProvider"; import { stopLocalService } from './util/localService'; +import { updateNames } from "./util/constants"; async function migrateConfig() { @@ -129,6 +130,8 @@ export async function fixDevChatApiBase() { async function activate(context: vscode.ExtensionContext) { ExtensionContextHolder.context = context; + const assistantNames = context.extension.packageJSON.assistantNames + updateNames(assistantNames.ASSISTANT_NAME_EN, assistantNames.ASSISTANT_NAME_ZH) logger.init(LoggerChannelVscode.getInstance()); UiUtilWrapper.init(new UiUtilVscode()); diff --git a/src/handler/chatHandler.ts b/src/handler/chatHandler.ts index 38628d2..e7f44f8 100644 --- a/src/handler/chatHandler.ts +++ b/src/handler/chatHandler.ts @@ -1,3 +1,4 @@ +import { ASSISTANT_NAME_EN } from '../util/constants'; import { UiUtilWrapper } from '../util/uiUtil'; import { MessageHandler } from './messageHandler'; import { isSending } from './sendMessage'; @@ -6,7 +7,7 @@ import { isSending } from './sendMessage'; export async function chatWithDevChat(panel, message: string) { if (isSending()) { // already sending, show error - UiUtilWrapper.showErrorMessage("DevChat: A command is already being sent, please try again later."); + UiUtilWrapper.showErrorMessage(`${ASSISTANT_NAME_EN}: A command is already being sent, please try again later.`); return; } MessageHandler.sendMessage(panel!, { command: 'chatWithDevChat', 'message': message }); diff --git a/src/handler/historyMessagesBase.ts b/src/handler/historyMessagesBase.ts index eb2161b..97bb2e6 100644 --- a/src/handler/historyMessagesBase.ts +++ b/src/handler/historyMessagesBase.ts @@ -18,42 +18,6 @@ export interface LoadHistoryMessages { entries: Array; } -function welcomeMessage(): LogEntry { - // create default logEntry to show welcome message - return { - hash: 'message', - parent: '', - user: 'system', - date: '', - request: 'How do I use DevChat?', - response: ` -Do you want to write some code or have a question about the project? Simply right-click on your chosen files or code snippets and add them to DevChat. Feel free to ask me anything or let me help you with coding. - -Don't forget to check out the "+" button on the left of the input to add more context. To see a list of workflows you can run in the context, just type "/". Happy prompting! - `, - context: [] - } as LogEntry; -} - -function apiKeyMissedMessage(): LogEntry { - // create default logEntry to show welcome message - return { - hash: 'message', - parent: '', - user: 'system', - date: '', - request: 'Is OPENAI_API_KEY (or DevChat Access Key) ready?', - response: ` -OPENAI_API_KEY is missing from your environment or settings. Kindly input your OpenAI or DevChat key, and I'll ensure DevChat is all set for you. - - - - - `, - context: [] - } as LogEntry; -} - async function loadTopicHistoryLogs(topicId: string | undefined): Promise | undefined> { if (!topicId) { return undefined; diff --git a/src/panel/codeLens.ts b/src/panel/codeLens.ts index 0c8b7d3..11e64d0 100644 --- a/src/panel/codeLens.ts +++ b/src/panel/codeLens.ts @@ -1,8 +1,7 @@ import * as vscode from "vscode"; -import * as fs from "fs"; -import * as path from "path"; import { logger } from "../util/logger"; -import { log } from "console"; +import { ASSISTANT_NAME_ZH } from "../util/constants"; +import { ExtensionContextHolder } from "../util/extensionContext"; interface FunctionDefinition { name: string; @@ -19,42 +18,10 @@ type CodeLensRegistration = { export class CodeLensManager { private static instance: CodeLensManager; - private registrations: CodeLensRegistration[] = []; - private configFilePath: string; - - private constructor() { - this.configFilePath = path.join( - process.env.HOME || process.env.USERPROFILE || ".", - ".chat/ideconfig.json" - ); - this.loadConfig(); - } - - public static getInstance(): CodeLensManager { - if (!CodeLensManager.instance) { - CodeLensManager.instance = new CodeLensManager(); - } - return CodeLensManager.instance; - } - - private loadConfig(): void { - if (!fs.existsSync(this.configFilePath)) { - this.initializeConfig(); - } else { - const data = fs.readFileSync(this.configFilePath, "utf-8"); - this.registrations = JSON.parse(data); - - if (this.registrations.length === 0) { - this.initializeConfig(); - } - } - } - - private initializeConfig(): void { - this.registrations = [ + private registrations: CodeLensRegistration[] = [ { elementType: "function", - objectName: "DevChat: unit tests", + objectName: `${ExtensionContextHolder.context?.extension.packageJSON.assistantNames.ASSISTANT_NAME_ZH}: unit tests`, promptGenerator: "/unit_tests {__filename__}:::{__functionName__}:::{__functionStartLine__}:::{__functionEndLine__}:::{__containerStartLine__}:::{__containerEndLine__}", }, @@ -68,36 +35,17 @@ export class CodeLensManager { objectName: "docstring", promptGenerator: "/docstring", }, - // { - // elementType: 'function', - // objectName: 'generate unit tests', - // promptGenerator: '/test generate unit tests for {__filename__} {__functionName__}' - // }, - // { - // elementType: 'inner_function', - // objectName: 'generate comment', - // promptGenerator: 'generate comment for \n ```code\n{__functionCode__}\n```\n' - // }, - // { - // elementType: 'function', - // objectName: 'generate comment', - // promptGenerator: 'generate comment for \n ```code\n{__functionCode__}\n```\n' - // } ]; - this.saveConfig(); + + private constructor() {} + + public static getInstance(): CodeLensManager { + if (!CodeLensManager.instance) { + CodeLensManager.instance = new CodeLensManager(); + } + return CodeLensManager.instance; } - private saveConfig(): void { - const configDir = path.dirname(this.configFilePath); - if (!fs.existsSync(configDir)) { - fs.mkdirSync(configDir, { recursive: true }); - } - fs.writeFileSync( - this.configFilePath, - JSON.stringify(this.registrations, null, 2), - "utf8" - ); - } public getRegistrations(): CodeLensRegistration[] { return this.registrations; diff --git a/src/panel/statusBarView.ts b/src/panel/statusBarView.ts index c44d84e..c0d01b8 100644 --- a/src/panel/statusBarView.ts +++ b/src/panel/statusBarView.ts @@ -2,16 +2,15 @@ import * as vscode from 'vscode'; import { dependencyCheck } from './statusBarViewBase'; import { ProgressBar } from '../util/progressBar'; -import { logger } from '../util/logger'; -import { DevChatConfig } from '../util/config'; +import { ASSISTANT_NAME_EN } from '../util/constants'; export function createStatusBarItem(context: vscode.ExtensionContext): vscode.StatusBarItem { const statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 100); // Set the status bar item properties - statusBarItem.text = `$(warning)DevChat`; - statusBarItem.tooltip = 'DevChat is checking ..., please wait'; + statusBarItem.text = `$(warning)${ASSISTANT_NAME_EN}`; + statusBarItem.tooltip = `${ASSISTANT_NAME_EN} is checking ..., please wait`; // when statsBarItem.command is '', then there is "command '' not found" error. statusBarItem.command = undefined; @@ -27,8 +26,8 @@ export function createStatusBarItem(context: vscode.ExtensionContext): vscode.St progressBar.update("Checking dependencies", 0); const devchatStatus = await dependencyCheck(); - if (devchatStatus !== 'has statisfied the dependency' && devchatStatus !== 'DevChat has been installed') { - statusBarItem.text = `$(warning)DevChat`; + if (devchatStatus !== 'has statisfied the dependency' && devchatStatus !== `${ASSISTANT_NAME_EN} has been installed`) { + statusBarItem.text = `$(warning)${ASSISTANT_NAME_EN}`; statusBarItem.tooltip = `${devchatStatus}`; if (devchatStatus === 'Missing required dependency: Python3') { @@ -42,7 +41,7 @@ export function createStatusBarItem(context: vscode.ExtensionContext): vscode.St return; } - statusBarItem.text = `$(pass)DevChat`; + statusBarItem.text = `$(pass)${ASSISTANT_NAME_EN}`; statusBarItem.tooltip = `ready to chat`; statusBarItem.command = 'devcaht.onStatusBarClick'; progressBar.update(`Checking dependencies: Success`, 0); @@ -58,7 +57,7 @@ export function createStatusBarItem(context: vscode.ExtensionContext): vscode.St clearInterval(timer); } catch (error) { - statusBarItem.text = `$(warning)DevChat`; + statusBarItem.text = `$(warning)${ASSISTANT_NAME_EN}`; statusBarItem.tooltip = `Error: ${error}`; statusBarItem.command = undefined; progressBar.endWithError(`Checking dependencies: Fail with exception.`); diff --git a/src/panel/statusBarViewBase.ts b/src/panel/statusBarViewBase.ts index b139a78..b9bfbd8 100644 --- a/src/panel/statusBarViewBase.ts +++ b/src/panel/statusBarViewBase.ts @@ -1,14 +1,10 @@ -import * as fs from 'fs'; -import * as path from 'path'; import { logger } from "../util/logger"; -import { UiUtilWrapper } from "../util/uiUtil"; -import { ApiKeyManager } from '../util/apiKey'; import { installDevchat } from '../util/python_installer/install_devchat'; +import { ASSISTANT_NAME_EN } from '../util/constants'; let devchatStatus = ''; -let apiKeyStatus = ''; let preDevchatStatus = ''; @@ -27,26 +23,31 @@ export async function dependencyCheck(): Promise { // define subfunction to check devchat dependency const getDevChatStatus = async (): Promise => { + const statuses = { + installing: `installing ${ASSISTANT_NAME_EN}`, + installed: `${ASSISTANT_NAME_EN} has been installed`, + error: `An error occurred during the installation of ${ASSISTANT_NAME_EN}` + } if (devchatStatus === '') { - devchatStatus = 'installing devchat'; + devchatStatus = statuses.installing; const devchatCommandEnv = await installDevchat(); if (devchatCommandEnv) { logger.channel()?.info(`Python: ${devchatCommandEnv}`); - devchatStatus = 'DevChat has been installed'; + devchatStatus = statuses.installed; return devchatStatus; } else { logger.channel()?.info(`Python: undefined`); - devchatStatus = 'An error occurred during the installation of DevChat'; + devchatStatus = statuses.error; return devchatStatus; } } else if (devchatStatus === 'has statisfied the dependency') { return devchatStatus; - } else if (devchatStatus === 'installing devchat') { + } else if (devchatStatus === statuses.installing) { return devchatStatus; - } else if (devchatStatus === 'DevChat has been installed') { + } else if (devchatStatus === statuses.installed) { return devchatStatus; - } else if (devchatStatus === 'An error occurred during the installation of DevChat') { + } else if (devchatStatus === statuses.error) { return devchatStatus; } return ""; @@ -55,7 +56,7 @@ export async function dependencyCheck(): Promise { const devchatPackageStatus = await getDevChatStatus(); if (devchatPackageStatus !== preDevchatStatus) { - logger.channel()?.info(`devchat status: ${devchatPackageStatus}`); + logger.channel()?.info(`${ASSISTANT_NAME_EN} status: ${devchatPackageStatus}`); preDevchatStatus = devchatPackageStatus; } diff --git a/src/util/constants.ts b/src/util/constants.ts new file mode 100644 index 0000000..b7d2a11 --- /dev/null +++ b/src/util/constants.ts @@ -0,0 +1,9 @@ +import { ExtensionContextHolder } from "./extensionContext"; + +export let ASSISTANT_NAME_EN = "DevChat"; +export let ASSISTANT_NAME_ZH = "DevChat"; + +export function updateNames(nameEN, nameZH) { + ASSISTANT_NAME_EN = nameEN; + ASSISTANT_NAME_ZH = nameZH; +} \ No newline at end of file diff --git a/src/util/logger_vscode.ts b/src/util/logger_vscode.ts index 53d49dc..d86f42c 100644 --- a/src/util/logger_vscode.ts +++ b/src/util/logger_vscode.ts @@ -1,3 +1,4 @@ +import { ASSISTANT_NAME_ZH } from "./constants"; import { LogChannel } from "./logger"; import * as vscode from 'vscode'; @@ -7,7 +8,7 @@ export class LoggerChannelVscode implements LogChannel { private static _instance: LoggerChannelVscode; private constructor() { - this._channel = vscode.window.createOutputChannel('DevChat', { log: true }); + this._channel = vscode.window.createOutputChannel(ASSISTANT_NAME_ZH, { log: true }); } public static getInstance(): LoggerChannelVscode { diff --git a/src/util/progressBar.ts b/src/util/progressBar.ts index 277b62b..f76b549 100644 --- a/src/util/progressBar.ts +++ b/src/util/progressBar.ts @@ -1,5 +1,6 @@ import * as vscode from 'vscode'; +import { ASSISTANT_NAME_ZH } from './constants'; export class ProgressBar { private message: string; @@ -13,7 +14,7 @@ export class ProgressBar { init() { vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, - title: 'DevChat', + title: ASSISTANT_NAME_ZH, cancellable: false }, (progress, token) => { return new Promise((resolve) => { From 6ba62c44bfab032181dddfd3ee76ec9612b1f88b Mon Sep 17 00:00:00 2001 From: Luo Tim Date: Tue, 27 Aug 2024 16:49:24 +0800 Subject: [PATCH 2/6] Support parameterize packaging --- .env.example | 7 +++++++ package.json | 52 ++++++++++++++++++++++++++++++---------------------- prebuild.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 22 deletions(-) create mode 100644 .env.example create mode 100644 prebuild.js diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..98116b5 --- /dev/null +++ b/.env.example @@ -0,0 +1,7 @@ +EXTENSION_NAME=devchat +PUBLISHER=merico +ASSISTANT_NAME_EN=DevChat +ASSISTANT_NAME_ZH=DevChat +EXTENSION_ICON=/path/to/extension_icon.png +SIDEBAR_ICON=/path/to/sidebar_icon.svg +DIFF_APPLY_ICON=/path/to/diff_apply_icon.svg diff --git a/package.json b/package.json index 5187cca..4894087 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,17 @@ { - "name": "devchat", - "displayName": "DevChat", + "name": "${EXTENSION_NAME}", + "displayName": "${ASSISTANT_NAME_ZH}", "description": "Write prompts, not code", "version": "0.1.74", "icon": "assets/devchat.png", - "publisher": "merico", + "publisher": "${PUBLISHER}", "engines": { "vscode": "^1.75.0" }, + "assistantNames": { + "ASSISTANT_NAME_EN": "${ASSISTANT_NAME_EN}", + "ASSISTANT_NAME_ZH": "${ASSISTANT_NAME_ZH}" + }, "repository": { "type": "git", "url": "https://github.com/devchat-ai/devchat-vscode.git" @@ -72,7 +76,7 @@ "activitybar": [ { "id": "devchat-sidebar", - "title": "DevChat", + "title": "${ASSISTANT_NAME_ZH}", "icon": "assets/devchat_icon.svg" } ] @@ -82,7 +86,7 @@ { "type": "webview", "id": "devchat-view", - "name": "DevChat" + "name": "${ASSISTANT_NAME_ZH}" } ] }, @@ -103,27 +107,27 @@ }, { "command": "devchat.addContext", - "title": "Devchat:Add to DevChat" + "title": "${ASSISTANT_NAME_EN}:Add to ${ASSISTANT_NAME_EN}" }, { "command": "devchat.askForCode", - "title": "Devchat:Add to DevChat" + "title": "${ASSISTANT_NAME_EN}:Add to ${ASSISTANT_NAME_EN}" }, { "command": "devchat.askForFile", - "title": "Devchat:Add to DevChat" + "title": "${ASSISTANT_NAME_EN}:Add to ${ASSISTANT_NAME_EN}" }, { "command": "devchat.addConext_chinese", - "title": "Devchat:添加到DevChat" + "title": "${ASSISTANT_NAME_ZH}:添加到${ASSISTANT_NAME_ZH}" }, { "command": "devchat.askForCode_chinese", - "title": "Devchat:添加到DevChat" + "title": "${ASSISTANT_NAME_ZH}:添加到${ASSISTANT_NAME_ZH}" }, { "command": "devchat.askForFile_chinese", - "title": "Devchat:添加到DevChat" + "title": "${ASSISTANT_NAME_ZH}:添加到${ASSISTANT_NAME_ZH}" }, { "command": "DevChat.InstallCommands", @@ -137,32 +141,32 @@ }, { "command": "DevChat.Chat", - "title": "Chat with DevChat", + "title": "Chat with ${ASSISTANT_NAME_EN}", "category": "DevChat" }, { "command": "devchat.explain", - "title": "Devchat:Generate Explain" + "title": "${ASSISTANT_NAME_EN}:Generate Explain" }, { "command": "devchat.explain_chinese", - "title": "Devchat:代码解释" + "title": "${ASSISTANT_NAME_ZH}:代码解释" }, { "command": "devchat.comments", - "title": "Devchat:Generate Comments" + "title": "${ASSISTANT_NAME_EN}:Generate Comments" }, { "command": "devchat.comments_chinese", - "title": "Devchat:生成注释" + "title": "${ASSISTANT_NAME_ZH}:生成注释" }, { "command": "devchat.fix", - "title": "Devchat:Fix this" + "title": "${ASSISTANT_NAME_EN}:Fix this" }, { "command": "devchat.fix_chinese", - "title": "Devchat:修复此" + "title": "${ASSISTANT_NAME_ZH}:修复此" }, { "command": "DevChat.codecomplete_callback", @@ -171,12 +175,12 @@ }, { "command": "DevChat.quickFixAskDevChat", - "title": "Ask DevChat", + "title": "Ask ${ASSISTANT_NAME_EN}", "category": "DevChat" }, { "command": "DevChat.quickFixUsingDevChat", - "title": "Ask DevChat", + "title": "Ask ${ASSISTANT_NAME_EN}", "category": "DevChat" } ], @@ -344,10 +348,14 @@ "vscode:uninstall": "node ./dist/uninstall", "vscode:prepublish": "npm run package", "compile": "webpack", - "watch": "webpack --watch", + "watch": "node prebuild.js && webpack --watch", + "prebuild": "node prebuild.js", + "postbuild": "git checkout -- assets package.json", + "prepackage": "node prebuild.js", + "postpackage": "git checkout -- assets package.json", "package": "webpack --mode production --devtool hidden-source-map", "compile-tests": "tsc -p . --outDir out", - "watch-tests": "tsc -p . -w --outDir out", + "watch-tests": "npm run prebuild && tsc -p . -w --outDir out", "pretest": "npm run compile-tests && npm run compile && npm run lint", "lint": "eslint src --ext ts", "test": "mocha", diff --git a/prebuild.js b/prebuild.js new file mode 100644 index 0000000..2beb38f --- /dev/null +++ b/prebuild.js @@ -0,0 +1,49 @@ +require('dotenv').config() + +const fs = require('fs') +const path = require('path') + +function copyIcon(src, dst) { + if (!src) { + console.warn(`Icon path for ${dst} is not defined in your environment variables`) + return + } + if (!fs.existsSync(src)) { + console.warn(`Icon file ${src} does not exist.`) + return + } + + const destPath = path.join(__dirname, 'assets', dst) + + try { + fs.copyFileSync(src, destPath) + fs.chmodSync(destPath, 0o644) + } catch(e) { + console.warn(`Failed to copy logo ${e}`) + } +} + +function updatePackageJson() { + const placeholders = { + EXTENSION_NAME: process.env.EXTENSION_NAME || "devchat", + PUBLISHER: process.env.PUBLISHER || "merico", + ASSISTANT_NAME_EN: process.env.ASSISTANT_NAME_EN || "DevChat", + ASSISTANT_NAME_ZH: process.env.ASSISTANT_NAME_ZH || "DevChat" + } + + let packageJson = fs.readFileSync('package.json', 'utf8'); + + // Replace placeholders + Object.entries(placeholders).forEach(([key, value]) => { + const regex = new RegExp(`\\$\\{${key}\\}`, 'g'); + packageJson = packageJson.replace(regex, value); + }); + + fs.writeFileSync('package.json', packageJson); +} + +copyIcon(process.env.EXTENSION_ICON, 'devchat.png') +copyIcon(process.env.SIDEBAR_ICON, 'devchat_icon.svg') +copyIcon(process.env.DIFF_APPLY_ICON, 'devchat_apply.svg') + +updatePackageJson() \ No newline at end of file From e9fef67bfbfe2b068016dc5f5d50283863c33b08 Mon Sep 17 00:00:00 2001 From: Luo Tim Date: Tue, 27 Aug 2024 16:50:41 +0800 Subject: [PATCH 3/6] Parameterize building on debugging --- .gitignore | 1 + .vscode/launch.json | 1 + .vscode/tasks.json | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index 6dbd2da..1f4f7f1 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ actions_backup/ .DS_Store __pycache__/ +*.log \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index c3cd269..ac5825e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -16,6 +16,7 @@ "${workspaceFolder}/dist/**/*.js" ], "preLaunchTask": "${defaultBuildTask}", + "postDebugTask": "npm: postbuild", "env": { "COMPLETE_DEBUG": "true" } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index c2ab68a..392be76 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -35,6 +35,13 @@ "npm: watch-tests" ], "problemMatcher": [] + }, + { + "type": "npm", + "script": "postbuild", + "problemMatcher": [], + "label": "npm: postbuild", + "detail": "npm run postbuild" } ] } From 9052474d83eb3e8b8c89aee92fcf036b79d26240 Mon Sep 17 00:00:00 2001 From: Luo Tim Date: Tue, 27 Aug 2024 16:51:11 +0800 Subject: [PATCH 4/6] Update GUI --- gui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui b/gui index e7dea52..62be35f 160000 --- a/gui +++ b/gui @@ -1 +1 @@ -Subproject commit e7dea52c58d9da9dfb47c10dc20d8c35e9fd9837 +Subproject commit 62be35f2bff949d1e49fd095de8432c45af23e70 From 7d1588d9c842f06f003896ae54ef953e37f3dda6 Mon Sep 17 00:00:00 2001 From: Luo Tim Date: Tue, 27 Aug 2024 17:17:23 +0800 Subject: [PATCH 5/6] Add logs in prebuild script --- prebuild.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/prebuild.js b/prebuild.js index 2beb38f..8dbff20 100644 --- a/prebuild.js +++ b/prebuild.js @@ -8,6 +8,7 @@ function copyIcon(src, dst) { console.warn(`Icon path for ${dst} is not defined in your environment variables`) return } + console.log(`Replacing icon ${dst} by ${src}`) if (!fs.existsSync(src)) { console.warn(`Icon file ${src} does not exist.`) return @@ -30,6 +31,7 @@ function updatePackageJson() { ASSISTANT_NAME_EN: process.env.ASSISTANT_NAME_EN || "DevChat", ASSISTANT_NAME_ZH: process.env.ASSISTANT_NAME_ZH || "DevChat" } + console.log(`Updating package.json, env: ${JSON.stringify(placeholders)}`) let packageJson = fs.readFileSync('package.json', 'utf8'); From e0a9f0a56a2ed26a5a4662ff27550773a5a84cea Mon Sep 17 00:00:00 2001 From: Luo Tim Date: Tue, 27 Aug 2024 17:26:26 +0800 Subject: [PATCH 6/6] Update GUI --- gui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui b/gui index 62be35f..d3ae07d 160000 --- a/gui +++ b/gui @@ -1 +1 @@ -Subproject commit 62be35f2bff949d1e49fd095de8432c45af23e70 +Subproject commit d3ae07dc82798ba0679629ddf4feb79339458e6d