- Created index.html for options page with basic structure. - Implemented Popup component in Popup.tsx with state management for user input and actions. - Added index.html for popup page with necessary scripts. - Included various icon assets for the extension. - Designed SVG icon for the extension with gradient background and lightning bolt. - Added multiple screenshots for Chrome Web Store listing. - Configured WXT for building the Chrome extension with manifest settings.
35 lines
1014 B
TypeScript
35 lines
1014 B
TypeScript
import { resolve } from 'node:path';
|
|
import { defineConfig } from 'wxt';
|
|
import pkg from './package.json';
|
|
|
|
export default defineConfig({
|
|
extensionApi: 'chrome',
|
|
// Shared-code alias. Deliberately NOT "~" or "@" — WXT force-overwrites those
|
|
// to srcDir (the project root here), so they cannot point at ./src.
|
|
alias: {
|
|
'@lib': resolve(__dirname, 'src/lib'),
|
|
},
|
|
modules: ['@wxt-dev/module-react'],
|
|
manifest: {
|
|
name: 'LexAI - AI Writing Assistant',
|
|
description: 'Grammar checking and writing assistance powered by your own LLM API key',
|
|
// Single source of truth: manifest version always follows package.json,
|
|
// so a release bump is a one-file edit and versions can never drift.
|
|
version: pkg.version,
|
|
icons: {
|
|
'16': 'icon-16.png',
|
|
'32': 'icon-32.png',
|
|
'48': 'icon-48.png',
|
|
'128': 'icon-128.png',
|
|
},
|
|
permissions: [
|
|
'storage',
|
|
'activeTab',
|
|
'contextMenus',
|
|
],
|
|
host_permissions: [
|
|
'<all_urls>',
|
|
],
|
|
},
|
|
});
|