diff --git a/packages/page-agent/package.json b/packages/page-agent/package.json index 5af1a29..0ddb260 100644 --- a/packages/page-agent/package.json +++ b/packages/page-agent/package.json @@ -37,10 +37,9 @@ }, "homepage": "https://alibaba.github.io/page-agent/", "scripts": { - "build": "vite build && npm run build:iife && npm run build:demo", - "build:iife": "vite build --config vite.iife.config.js", - "build:demo": "vite build --config vite.iife.config.js --mode demo", - "dev:iife": "concurrently \"vite build --config vite.iife.config.js --watch --mode demo\" \"npx serve dist/iife -p 5174\"", + "build": "vite build && npm run build:demo", + "build:demo": "vite build --config vite.iife.config.js", + "dev:demo": "concurrently \"vite build --config vite.iife.config.js --watch\" \"npx serve dist/iife -p 5174\"", "prepublishOnly": "node -e \"const fs=require('fs');['README.md','LICENSE'].forEach(f=>fs.copyFileSync('../../'+f,f))\"", "postpublish": "node -e \"['README.md','LICENSE'].forEach(f=>{try{require('fs').unlinkSync(f)}catch{}})\"" }, diff --git a/packages/page-agent/src/iife/page-agent.demo.ts b/packages/page-agent/src/demo.ts similarity index 96% rename from packages/page-agent/src/iife/page-agent.demo.ts rename to packages/page-agent/src/demo.ts index 1506282..648dca2 100644 --- a/packages/page-agent/src/iife/page-agent.demo.ts +++ b/packages/page-agent/src/demo.ts @@ -1,7 +1,7 @@ /** * IIFE demo entry - auto-initializes with built-in demo API for testing */ -import { PageAgent, type PageAgentConfig } from '../PageAgent' +import { PageAgent, type PageAgentConfig } from './PageAgent' // Clean up existing instances to prevent multiple injections from bookmarklet if (window.pageAgent) { diff --git a/packages/page-agent/src/iife/page-agent.ts b/packages/page-agent/src/iife/page-agent.ts deleted file mode 100644 index 31ee6e6..0000000 --- a/packages/page-agent/src/iife/page-agent.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * IIFE entry - */ -import { PageAgent } from '../PageAgent' - -// Mount to global window object -window.PageAgent = PageAgent - -export { PageAgent } diff --git a/packages/page-agent/vite.iife.config.js b/packages/page-agent/vite.iife.config.js index faf7f75..625eb1f 100644 --- a/packages/page-agent/vite.iife.config.js +++ b/packages/page-agent/vite.iife.config.js @@ -14,56 +14,44 @@ dotenvConfig({ path: resolve(__dirname, '../../.env') }) // - alias all local packages so that they can be build in // - no external // - no d.ts. dts does not work with monorepo aliasing -export default defineConfig(({ mode }) => { - const isDemo = mode === 'demo' - const entry = isDemo - ? resolve(__dirname, 'src/iife/page-agent.demo.ts') - : resolve(__dirname, 'src/iife/page-agent.ts') - const fileName = isDemo ? 'page-agent.demo' : 'page-agent' - - return { - plugins: [cssInjectedByJsPlugin({ relativeCSSInjection: true })], - publicDir: false, - esbuild: { - keepNames: true, +export default defineConfig(({ mode }) => ({ + plugins: [cssInjectedByJsPlugin({ relativeCSSInjection: true })], + publicDir: false, + esbuild: { + keepNames: true, + }, + resolve: { + alias: { + '@page-agent/page-controller': resolve(__dirname, '../page-controller/src/PageController.ts'), + '@page-agent/llms': resolve(__dirname, '../llms/src/index.ts'), + '@page-agent/core': resolve(__dirname, '../core/src/PageAgentCore.ts'), + '@page-agent/ui': resolve(__dirname, '../ui/src/index.ts'), }, - resolve: { - alias: { - '@page-agent/page-controller': resolve( - __dirname, - '../page-controller/src/PageController.ts' - ), - '@page-agent/llms': resolve(__dirname, '../llms/src/index.ts'), - '@page-agent/core': resolve(__dirname, '../core/src/PageAgentCore.ts'), - '@page-agent/ui': resolve(__dirname, '../ui/src/index.ts'), + }, + build: { + lib: { + entry: resolve(__dirname, 'src/demo.ts'), + name: 'PageAgent', + fileName: () => `page-agent.demo.js`, + formats: ['iife'], + }, + outDir: resolve(__dirname, 'dist', 'iife'), + cssCodeSplit: true, + // minify: false, + rollupOptions: { + // output: { + // // force use .js as extension + // entryFileNames: 'page-agent.js', + // }, + onwarn: function (message, handler) { + if (message.code === 'EVAL') return + handler(message) }, }, - build: { - lib: { - entry, - name: 'PageAgent', - fileName: () => `${fileName}.js`, - formats: ['iife'], - }, - outDir: resolve(__dirname, 'dist', 'iife'), - emptyOutDir: !isDemo, // only empty on first build - cssCodeSplit: true, - minify: false, - rollupOptions: { - // output: { - // // force use .js as extension - // entryFileNames: 'page-agent.js', - // }, - onwarn: function (message, handler) { - if (message.code === 'EVAL') return - handler(message) - }, - }, - }, - define: { - 'import.meta.env.LLM_MODEL_NAME': JSON.stringify(process.env.LLM_MODEL_NAME), - 'import.meta.env.LLM_API_KEY': JSON.stringify(process.env.LLM_API_KEY), - 'import.meta.env.LLM_BASE_URL': JSON.stringify(process.env.LLM_BASE_URL), - }, - } -}) + }, + define: { + 'import.meta.env.LLM_MODEL_NAME': JSON.stringify(process.env.LLM_MODEL_NAME), + 'import.meta.env.LLM_API_KEY': JSON.stringify(process.env.LLM_API_KEY), + 'import.meta.env.LLM_BASE_URL': JSON.stringify(process.env.LLM_BASE_URL), + }, +}))