//import { base64 } from "./util/import-base-64.js"; //add const fs = require('fs-extra') const path = require('path') const babel = require('rollup-plugin-babel'); const { uglify } = require('rollup-plugin-uglify'); const PATH = `./.laser-lib-path` const buildPaths = [ `build`, ...fs.existsSync(PATH) ? [fs.readFileSync(PATH).toString()] : [] ] const builds = [] for (const dir of buildPaths) { builds.push( ...[ { input: 'src/Potree.js', treeshake: false, output: { file: `${dir}/potree/potree.js`, format: 'umd', name: 'Potree', sourcemap: true, }, //plugins: [//add // base64({ include: "**/*.wasm" }) //] }, { input: 'src/workers/BinaryDecoderWorker.js', output: { file: `${dir}/potree/workers/BinaryDecoderWorker.js`, format: 'es', name: 'Potree', sourcemap: false } },{ input: 'src/modules/loader/2.0/DecoderWorker.js', output: { file: `${dir}/potree/workers/2.0/DecoderWorker.js`, format: 'es', name: 'Potree', sourcemap: false } },{ input: 'src/modules/loader/2.0/DecoderWorker_brotli.js', output: { file: `${dir}/potree/workers/2.0/DecoderWorker_brotli.js`, format: 'es', name: 'Potree', sourcemap: false } } ] ) } if (process.env.npm_lifecycle_script.includes('production')) { builds.forEach(item => { item.output.sourcemap = false item.plugins = [ [ '@babel/plugin-transform-runtime', ], babel({ presets: ['@babel/preset-env'], exclude: "node_modules/**" }), // 压缩代码 uglify() ] }) } else { builds.forEach(item => { item.plugins = [ babel({ presets: [ [ '@babel/preset-env', { targets: { // 仅转换到支持 ES6 特性的环境 esmodules: true, // browsers: [ // "last 2 Chrome versions", // "last 2 Firefox versions", // "last 2 Safari versions", // "last 2 Edge versions" // ] }, // 禁用将现代代码转换为 ES5 的功能 exclude: ["transform-regenerator", "transform-async-to-generator"] }, ], ], exclude: 'node_modules/**', // 排除 node_modules 目录 }), ] }) } export default builds