format
This commit is contained in:
+23
-24
@@ -1,29 +1,27 @@
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { readFileSync } from 'node:fs';
|
||||
import { dirname, resolve } from 'node:path';
|
||||
import { defineConfig } from 'vite';
|
||||
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { readFileSync } from 'node:fs'
|
||||
import { dirname, resolve } from 'node:path'
|
||||
import { defineConfig } from 'vite'
|
||||
import { viteStaticCopy } from 'vite-plugin-static-copy'
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
const __filename = fileURLToPath(import.meta.url)
|
||||
const __dirname = dirname(__filename)
|
||||
|
||||
// Bundle the playwriter package version into the extension so it can report
|
||||
// which playwriter version it was built against. CLI/MCP use this to warn
|
||||
// when the extension is outdated.
|
||||
const playwriterPkg = JSON.parse(
|
||||
readFileSync(resolve(__dirname, '../playwriter/package.json'), 'utf-8')
|
||||
);
|
||||
const playwriterPkg = JSON.parse(readFileSync(resolve(__dirname, '../playwriter/package.json'), 'utf-8'))
|
||||
|
||||
const defineEnv: Record<string, string> = {
|
||||
'process.env.PLAYWRITER_PORT': JSON.stringify(process.env.PLAYWRITER_PORT || '19988'),
|
||||
'__PLAYWRITER_VERSION__': JSON.stringify(playwriterPkg.version),
|
||||
};
|
||||
__PLAYWRITER_VERSION__: JSON.stringify(playwriterPkg.version),
|
||||
}
|
||||
if (process.env.TESTING) {
|
||||
defineEnv['import.meta.env.TESTING'] = 'true';
|
||||
defineEnv['import.meta.env.TESTING'] = 'true'
|
||||
}
|
||||
|
||||
// Allow tests to build per-port extension outputs to avoid parallel run conflicts.
|
||||
const outDir = process.env.PLAYWRITER_EXTENSION_DIST || 'dist';
|
||||
const outDir = process.env.PLAYWRITER_EXTENSION_DIST || 'dist'
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
@@ -31,33 +29,34 @@ export default defineConfig({
|
||||
targets: [
|
||||
{
|
||||
src: resolve(__dirname, 'icons/*'),
|
||||
dest: 'icons'
|
||||
dest: 'icons',
|
||||
},
|
||||
|
||||
{
|
||||
src: resolve(__dirname, 'manifest.json'),
|
||||
dest: '.',
|
||||
transform: (content) => {
|
||||
const manifest = JSON.parse(content);
|
||||
const manifest = JSON.parse(content)
|
||||
|
||||
// Only include tabs permission during testing
|
||||
if (process.env.TESTING) {
|
||||
if (!manifest.permissions.includes('tabs')) {
|
||||
manifest.permissions.push('tabs');
|
||||
manifest.permissions.push('tabs')
|
||||
}
|
||||
}
|
||||
|
||||
// Inject key for stable extension ID in dev/test builds (not production)
|
||||
// This ensures all developers get the same extension ID: pebbngnfojnignonigcnkdilknapkgid
|
||||
if (!process.env.PRODUCTION) {
|
||||
manifest.key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwCJoq5UYhOo5x8s50pVBUHjQ8idyUHnZFDj1JspWJPe6kvM7RFIaE/y5WTAH05kuK0R7v/ipcGA4ywA5wKdPKHZzkl5xstlNPj0Ivu4CqLobU7eY5G3k3Gq7wql2pbwb/A8Nat4VLbfBjQLA6TGWd3LQOHS6M0B3AvrtEw7DLDUdGKh4SCLewCbdlDIzpXQwKOzrRPyLFBwj9eEeITy5aNwJ9r9JMNBvACVZiRCHsGI6DufU+OiIO232l/8OoNNt6kdTMyNgiqOogFApXPJwREUwZHGqjXD3s6bXiBIQtwkNyZfemHKkxj6g/fhCV2EMgTY6+ikQEY1gEJMrRVmcYQIDAQAB';
|
||||
manifest.key =
|
||||
'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwCJoq5UYhOo5x8s50pVBUHjQ8idyUHnZFDj1JspWJPe6kvM7RFIaE/y5WTAH05kuK0R7v/ipcGA4ywA5wKdPKHZzkl5xstlNPj0Ivu4CqLobU7eY5G3k3Gq7wql2pbwb/A8Nat4VLbfBjQLA6TGWd3LQOHS6M0B3AvrtEw7DLDUdGKh4SCLewCbdlDIzpXQwKOzrRPyLFBwj9eEeITy5aNwJ9r9JMNBvACVZiRCHsGI6DufU+OiIO232l/8OoNNt6kdTMyNgiqOogFApXPJwREUwZHGqjXD3s6bXiBIQtwkNyZfemHKkxj6g/fhCV2EMgTY6+ikQEY1gEJMrRVmcYQIDAQAB'
|
||||
}
|
||||
|
||||
return JSON.stringify(manifest, null, 2);
|
||||
}
|
||||
return JSON.stringify(manifest, null, 2)
|
||||
},
|
||||
},
|
||||
]
|
||||
})
|
||||
],
|
||||
}),
|
||||
],
|
||||
|
||||
build: {
|
||||
@@ -76,5 +75,5 @@ export default defineConfig({
|
||||
},
|
||||
},
|
||||
},
|
||||
define: defineEnv
|
||||
});
|
||||
define: defineEnv,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user