|
15 | 15 | * - Chrome APIs are mocked for extension testing outside browser context
|
16 | 16 | * - Extension assets served from `./output/chrome-mv3-dev` via `/chrome-mv3-dev` route
|
17 | 17 | */
|
18 |
| -import { error } from 'node:console' |
| 18 | + |
19 | 19 | import { spawn } from 'node:child_process'
|
| 20 | +import { error } from 'node:console' |
20 | 21 | import fs from 'node:fs/promises'
|
21 | 22 | import path from 'node:path'
|
22 | 23 | import { fileURLToPath } from 'node:url'
|
@@ -244,58 +245,57 @@ app.get('/asset/:key/*', async (req, res) => {
|
244 | 245 | app.use('/chrome-mv3-dev', express.static(path.join(__dirname, '..', '.output', 'chrome-mv3-dev')))
|
245 | 246 |
|
246 | 247 | // Rebuild endpoint
|
247 |
| -app.post('/rebuild', async (req, res) => { |
| 248 | +app.post('/rebuild', async (_req, res) => { |
248 | 249 | try {
|
249 | 250 | console.log('Rebuild triggered via API')
|
250 |
| - |
| 251 | + |
251 | 252 | // Run npx wxt build --mode development
|
252 | 253 | const buildProcess = spawn('npx', ['wxt', 'build', '--mode', 'development'], {
|
253 | 254 | cwd: path.join(__dirname, '..'),
|
254 |
| - stdio: ['pipe', 'pipe', 'pipe'] |
| 255 | + stdio: ['pipe', 'pipe', 'pipe'], |
255 | 256 | })
|
256 |
| - |
| 257 | + |
257 | 258 | let stdout = ''
|
258 | 259 | let stderr = ''
|
259 |
| - |
| 260 | + |
260 | 261 | buildProcess.stdout.on('data', (data) => {
|
261 | 262 | stdout += data.toString()
|
262 | 263 | console.log('[BUILD]', data.toString().trim())
|
263 | 264 | })
|
264 |
| - |
| 265 | + |
265 | 266 | buildProcess.stderr.on('data', (data) => {
|
266 | 267 | stderr += data.toString()
|
267 | 268 | console.error('[BUILD ERROR]', data.toString().trim())
|
268 | 269 | })
|
269 |
| - |
| 270 | + |
270 | 271 | buildProcess.on('close', (code) => {
|
271 | 272 | if (code === 0) {
|
272 | 273 | console.log('Build completed successfully')
|
273 |
| - res.json({ success: true, message: 'Build completed successfully' }) |
| 274 | + res.json({ message: 'Build completed successfully', success: true }) |
274 | 275 | } else {
|
275 | 276 | console.error('Build failed with code:', code)
|
276 |
| - res.status(500).json({ |
277 |
| - success: false, |
278 |
| - message: 'Build failed', |
279 |
| - error: stderr || stdout |
| 277 | + res.status(500).json({ |
| 278 | + error: stderr || stdout, |
| 279 | + message: 'Build failed', |
| 280 | + success: false, |
280 | 281 | })
|
281 | 282 | }
|
282 | 283 | })
|
283 |
| - |
| 284 | + |
284 | 285 | buildProcess.on('error', (error) => {
|
285 | 286 | console.error('Failed to start build process:', error)
|
286 |
| - res.status(500).json({ |
287 |
| - success: false, |
288 |
| - message: 'Failed to start build process', |
289 |
| - error: error.message |
| 287 | + res.status(500).json({ |
| 288 | + error: error.message, |
| 289 | + message: 'Failed to start build process', |
| 290 | + success: false, |
290 | 291 | })
|
291 | 292 | })
|
292 |
| - |
293 | 293 | } catch (error) {
|
294 | 294 | console.error('Rebuild endpoint error:', error)
|
295 |
| - res.status(500).json({ |
296 |
| - success: false, |
297 |
| - message: 'Internal server error', |
298 |
| - error: error instanceof Error ? error.message : 'Unknown error' |
| 295 | + res.status(500).json({ |
| 296 | + error: error instanceof Error ? error.message : 'Unknown error', |
| 297 | + message: 'Internal server error', |
| 298 | + success: false, |
299 | 299 | })
|
300 | 300 | }
|
301 | 301 | })
|
|
0 commit comments