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/", "homepage": "https://alibaba.github.io/page-agent/",
"scripts": { "scripts": {
"build": "vite build && npm run build:iife && npm run build:demo", "build": "vite build && npm run build:demo",
"build:iife": "vite build --config vite.iife.config.js", "build:demo": "vite build --config vite.iife.config.js",
"build:demo": "vite build --config vite.iife.config.js --mode demo", "dev:demo": "concurrently \"vite build --config vite.iife.config.js --watch\" \"npx serve dist/iife -p 5174\"",
"dev:iife": "concurrently \"vite build --config vite.iife.config.js --watch --mode demo\" \"npx serve dist/iife -p 5174\"",
"prepublishOnly": "node -e \"const fs=require('fs');['README.md','LICENSE'].forEach(f=>fs.copyFileSync('../../'+f,f))\"", "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{}})\"" "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 * 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 // Clean up existing instances to prevent multiple injections from bookmarklet
if (window.pageAgent) { 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 // - alias all local packages so that they can be build in
// - no external // - no external
// - no d.ts. dts does not work with monorepo aliasing // - no d.ts. dts does not work with monorepo aliasing
export default defineConfig(({ mode }) => { 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 })], plugins: [cssInjectedByJsPlugin({ relativeCSSInjection: true })],
publicDir: false, publicDir: false,
esbuild: { esbuild: {
@@ -29,10 +22,7 @@ export default defineConfig(({ mode }) => {
}, },
resolve: { resolve: {
alias: { alias: {
'@page-agent/page-controller': resolve( '@page-agent/page-controller': resolve(__dirname, '../page-controller/src/PageController.ts'),
__dirname,
'../page-controller/src/PageController.ts'
),
'@page-agent/llms': resolve(__dirname, '../llms/src/index.ts'), '@page-agent/llms': resolve(__dirname, '../llms/src/index.ts'),
'@page-agent/core': resolve(__dirname, '../core/src/PageAgentCore.ts'), '@page-agent/core': resolve(__dirname, '../core/src/PageAgentCore.ts'),
'@page-agent/ui': resolve(__dirname, '../ui/src/index.ts'), '@page-agent/ui': resolve(__dirname, '../ui/src/index.ts'),
@@ -40,15 +30,14 @@ export default defineConfig(({ mode }) => {
}, },
build: { build: {
lib: { lib: {
entry, entry: resolve(__dirname, 'src/demo.ts'),
name: 'PageAgent', name: 'PageAgent',
fileName: () => `${fileName}.js`, fileName: () => `page-agent.demo.js`,
formats: ['iife'], formats: ['iife'],
}, },
outDir: resolve(__dirname, 'dist', 'iife'), outDir: resolve(__dirname, 'dist', 'iife'),
emptyOutDir: !isDemo, // only empty on first build
cssCodeSplit: true, cssCodeSplit: true,
minify: false, // minify: false,
rollupOptions: { rollupOptions: {
// output: { // output: {
// // force use .js as extension // // 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_API_KEY': JSON.stringify(process.env.LLM_API_KEY),
'import.meta.env.LLM_BASE_URL': JSON.stringify(process.env.LLM_BASE_URL), 'import.meta.env.LLM_BASE_URL': JSON.stringify(process.env.LLM_BASE_URL),
}, },
} }))
})