From 2fee2d5ea33bd1bb23778daa170b12781ed5e034 Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Tue, 16 Dec 2025 19:45:40 +0800 Subject: [PATCH] chore: improve build scripts; change esm dir --- .github/workflows/deploy-demo.yml | 2 +- .github/workflows/release.yml | 2 +- AGENTS.md | 2 ++ package-lock.json | 16 ++++++++-------- package.json | 6 ++++-- packages/page-agent/package.json | 20 ++++++++++---------- packages/page-agent/vite.config.js | 18 +++++++++++------- packages/page-controller/package.json | 2 +- packages/ui/package.json | 2 +- packages/website/package.json | 4 ++-- 10 files changed, 41 insertions(+), 33 deletions(-) diff --git a/.github/workflows/deploy-demo.yml b/.github/workflows/deploy-demo.yml index 4d889bf..c4e41a1 100644 --- a/.github/workflows/deploy-demo.yml +++ b/.github/workflows/deploy-demo.yml @@ -25,7 +25,7 @@ jobs: run: npm ci - name: Build demo - run: npm run build + run: npm run build:website - name: Setup Pages uses: actions/configure-pages@v5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 95f491e..f242883 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: run: npm ci - name: Build - run: npm run build + run: npm run build:libs - name: Publish all public packages run: npm publish --workspaces --access public \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md index 8c99611..029a51f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,6 +19,8 @@ And other internal packages: ```bash npm start # Start website dev server npm run build # Build all packages +npm run build:libs # Build all libraries +npm run build:website # Build the website npm run lint # ESLint with TypeScript strict rules ``` diff --git a/package-lock.json b/package-lock.json index 7c3b8f5..7873986 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "root", - "version": "0.0.10", + "version": "0.0.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "root", - "version": "0.0.10", + "version": "0.0.11", "license": "MIT", "workspaces": [ "packages/page-controller", @@ -7184,23 +7184,23 @@ } }, "packages/page-agent": { - "version": "0.0.10", + "version": "0.0.11", "license": "MIT", "dependencies": { - "@page-agent/page-controller": "0.0.10", - "@page-agent/ui": "0.0.10", + "@page-agent/page-controller": "0.0.11", + "@page-agent/ui": "0.0.11", "chalk": "^5.6.2", "zod": "^4.2.0" } }, "packages/page-controller": { "name": "@page-agent/page-controller", - "version": "0.0.10", + "version": "0.0.11", "license": "MIT" }, "packages/ui": { "name": "@page-agent/ui", - "version": "0.0.10", + "version": "0.0.11", "license": "MIT", "dependencies": { "ai-motion": "^0.4.7" @@ -7208,7 +7208,7 @@ }, "packages/website": { "name": "@page-agent/website", - "version": "0.0.10", + "version": "0.0.11", "devDependencies": { "@tailwindcss/vite": "^4.1.18", "@types/react": "^19.2.2", diff --git a/package.json b/package.json index f10b807..0c9f9a7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "root", "private": true, - "version": "0.0.10", + "version": "0.0.11", "type": "module", "workspaces": [ "packages/page-controller", @@ -23,7 +23,9 @@ }, "scripts": { "start": "npm run dev --workspace=@page-agent/website", - "build": "npm run build --workspaces --if-present", + "build:website": "npm run build:website --workspace=@page-agent/website", + "build:libs": "npm run build --workspaces --if-present", + "build": "npm run build:libs && npm run build:website", "dev:umd": "npm run dev:umd --workspace=page-agent", "version": "node scripts/sync-version.js", "lint": "eslint .", diff --git a/packages/page-agent/package.json b/packages/page-agent/package.json index 8c6c36e..88f8fd7 100644 --- a/packages/page-agent/package.json +++ b/packages/page-agent/package.json @@ -1,16 +1,16 @@ { "name": "page-agent", "private": false, - "version": "0.0.10", + "version": "0.0.11", "type": "module", - "main": "./dist/lib/page-agent.js", - "module": "./dist/lib/page-agent.js", - "types": "./dist/lib/PageAgent.d.ts", + "main": "./dist/esm/page-agent.js", + "module": "./dist/esm/page-agent.js", + "types": "./dist/esm/PageAgent.d.ts", "exports": { ".": { - "types": "./dist/lib/PageAgent.d.ts", - "import": "./dist/lib/page-agent.js", - "default": "./dist/lib/page-agent.js" + "types": "./dist/esm/PageAgent.d.ts", + "import": "./dist/esm/page-agent.js", + "default": "./dist/esm/page-agent.js" } }, "files": [ @@ -37,7 +37,7 @@ }, "homepage": "https://alibaba.github.io/page-agent/", "scripts": { - "build": "MODE=lib vite build && MODE=umd vite build", + "build": "vite build && MODE=umd vite build", "serve": "npx serve dist/umd -p 5173", "dev:umd": "concurrently \"MODE=umd vite build --watch\" \"npm run serve\"", "prepublishOnly": "node -e \"const fs=require('fs');['README.md','LICENSE'].forEach(f=>fs.copyFileSync('../../'+f,f))\"", @@ -46,7 +46,7 @@ "dependencies": { "chalk": "^5.6.2", "zod": "^4.2.0", - "@page-agent/page-controller": "0.0.10", - "@page-agent/ui": "0.0.10" + "@page-agent/page-controller": "0.0.11", + "@page-agent/ui": "0.0.11" } } diff --git a/packages/page-agent/vite.config.js b/packages/page-agent/vite.config.js index bda672b..f5d4f37 100644 --- a/packages/page-agent/vite.config.js +++ b/packages/page-agent/vite.config.js @@ -11,14 +11,13 @@ import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js' const __dirname = dirname(fileURLToPath(import.meta.url)) // ============================================================================ -// Library Config (ES Module for NPM Package) +// ES Module for NPM Package // ============================================================================ /** @type {import('vite').UserConfig} */ -const libConfig = { +const esmConfig = { clearScreen: false, plugins: [ dts({ tsconfigPath: './tsconfig.dts.json', bundleTypes: true }), - // dts({ tsconfigPath: './tsconfig.json', bundleTypes: true, compilerOptions: { paths: {} } }), cssInjectedByJsPlugin({ relativeCSSInjection: true }), ], publicDir: false, @@ -32,7 +31,7 @@ const libConfig = { fileName: 'page-agent', formats: ['es'], }, - outDir: resolve(__dirname, 'dist', 'lib'), + outDir: resolve(__dirname, 'dist', 'esm'), rollupOptions: { external: [ 'chalk', @@ -51,7 +50,7 @@ const libConfig = { } // ============================================================================ -// UMD Config (Browser Bundle for CDN) +// UMD Bundle for CDN // - alias all local packages so that they can be build in // - no external // - no d.ts. dts does not work with monorepo aliasing @@ -77,6 +76,11 @@ const umdConfig = { formats: ['umd'], }, outDir: resolve(__dirname, 'dist', 'umd'), + rollupOptions: { + output: { + entryFileNames: 'page-agent.js', // 强制指定完整文件名 + }, + }, cssCodeSplit: true, }, define: { @@ -88,13 +92,13 @@ const umdConfig = { const MODE = process.env.MODE -console.log(chalk.cyan(`📦 Build mode: ${chalk.bold(MODE || 'lib')}`)) +console.log(chalk.cyan(`📦 Build mode: ${chalk.bold(MODE || 'esm')}`)) let config if (MODE === 'umd') { config = umdConfig } else { - config = libConfig + config = esmConfig } export default defineConfig(config) diff --git a/packages/page-controller/package.json b/packages/page-controller/package.json index c1a64d2..b130b5d 100644 --- a/packages/page-controller/package.json +++ b/packages/page-controller/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/page-controller", - "version": "0.0.10", + "version": "0.0.11", "type": "module", "main": "./dist/lib/page-controller.js", "module": "./dist/lib/page-controller.js", diff --git a/packages/ui/package.json b/packages/ui/package.json index a490916..b10d581 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/ui", - "version": "0.0.10", + "version": "0.0.11", "type": "module", "main": "./dist/lib/page-agent-ui.js", "module": "./dist/lib/page-agent-ui.js", diff --git a/packages/website/package.json b/packages/website/package.json index 0e3bbad..0035656 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,11 +1,11 @@ { "name": "@page-agent/website", "private": true, - "version": "0.0.10", + "version": "0.0.11", "type": "module", "scripts": { "dev": "vite", - "build": "vite build", + "build:website": "vite build", "preview": "vite preview", "typecheck": "tsc --noEmit" },