feat: implement sidebar

- add sidebar
- update assets to use new task-master logo
- change to task master instead of taskr
This commit is contained in:
Ralph Khreish
2025-07-31 12:42:10 +03:00
parent 8ad9ccd6b7
commit cd92be61e5
20 changed files with 620 additions and 119 deletions

View File

@@ -118,12 +118,52 @@ async function main() {
plugins: [esbuildProblemMatcherPlugin, aliasPlugin]
});
// Build configuration for the React sidebar
const sidebarCtx = await esbuild.context({
entryPoints: ['src/webview/sidebar.tsx'],
bundle: true,
format: 'iife',
globalName: 'SidebarApp',
minify: production,
sourcemap: !production ? 'inline' : false,
sourcesContent: !production,
platform: 'browser',
outdir: 'dist',
logLevel: 'silent',
target: ['es2020'],
jsx: 'automatic',
jsxImportSource: 'react',
external: ['*.css'],
alias: {
react: path.resolve(__dirname, '../../node_modules/react'),
'react-dom': path.resolve(__dirname, '../../node_modules/react-dom')
},
define: {
'process.env.NODE_ENV': production ? '"production"' : '"development"',
global: 'globalThis'
},
...(production && {
drop: ['debugger'],
pure: ['console.log', 'console.debug', 'console.trace']
}),
plugins: [esbuildProblemMatcherPlugin, aliasPlugin]
});
if (watch) {
await Promise.all([extensionCtx.watch(), webviewCtx.watch()]);
await Promise.all([
extensionCtx.watch(),
webviewCtx.watch(),
sidebarCtx.watch()
]);
} else {
await Promise.all([extensionCtx.rebuild(), webviewCtx.rebuild()]);
await Promise.all([
extensionCtx.rebuild(),
webviewCtx.rebuild(),
sidebarCtx.rebuild()
]);
await extensionCtx.dispose();
await webviewCtx.dispose();
await sidebarCtx.dispose();
}
}