feat: remove iife-full build

This commit is contained in:
Simon
2026-01-19 19:18:19 +08:00
parent 8dd4c5d78e
commit 3d10953324
4 changed files with 42 additions and 64 deletions

View File

@@ -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{}})\""
},

View File

@@ -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) {

View File

@@ -1,9 +0,0 @@
/**
* IIFE entry
*/
import { PageAgent } from '../PageAgent'
// Mount to global window object
window.PageAgent = PageAgent
export { PageAgent }

View File

@@ -14,14 +14,7 @@ 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 {
export default defineConfig(({ mode }) => ({
plugins: [cssInjectedByJsPlugin({ relativeCSSInjection: true })],
publicDir: false,
esbuild: {
@@ -29,10 +22,7 @@ export default defineConfig(({ mode }) => {
},
resolve: {
alias: {
'@page-agent/page-controller': resolve(
__dirname,
'../page-controller/src/PageController.ts'
),
'@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'),
@@ -40,15 +30,14 @@ export default defineConfig(({ mode }) => {
},
build: {
lib: {
entry,
entry: resolve(__dirname, 'src/demo.ts'),
name: 'PageAgent',
fileName: () => `${fileName}.js`,
fileName: () => `page-agent.demo.js`,
formats: ['iife'],
},
outDir: resolve(__dirname, 'dist', 'iife'),
emptyOutDir: !isDemo, // only empty on first build
cssCodeSplit: true,
minify: false,
// minify: false,
rollupOptions: {
// output: {
// // force use .js as extension
@@ -65,5 +54,4 @@ export default defineConfig(({ mode }) => {
'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),
},
}
})
}))