1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- // const typescript = require('@rollup/plugin-typescript');
- const typescript = require('rollup-plugin-typescript2');
- const rollup = require('rollup');
- const path = require('path');
- const processs = require('process');
- const chalk = require('chalk');
- const progress = require('./progress');
- const UglifyJS = require('uglify-js');
- const fs = require('fs');
- function current() {
- return (new Date()).toLocaleString();
- }
- const inputOption = {
- input: path.resolve(__dirname, '../index.ts'),
- plugins: [typescript({
- tsconfigOverride: {
- compilerOptions: {
- // Rollup don't use CommonJS by default.
- module: 'ES2015',
- sourceMap: true,
- // Use the esm d.ts
- declaration: false
- }
- }
- }), progress({
- scope: {
- total: 0
- }
- })]
- };
- const outputOption = {
- format: 'umd',
- file: path.resolve(__dirname, '../dist/zrender.js'),
- sourcemap: true,
- name: 'zrender'
- };
- function minify(outPath) {
- const fileMinPath = outPath.replace(/.js$/, '.min.js');
- const code = fs.readFileSync(outPath, 'utf-8');
- const uglifyResult = UglifyJS.minify(code);
- if (uglifyResult.error) {
- throw new Error(uglifyResult.error);
- }
- fs.writeFileSync(fileMinPath, uglifyResult.code, 'utf-8');
- }
- if (processs.argv.includes('--watch')) {
- const watcher = rollup.watch({
- ...inputOption,
- output: [outputOption],
- watch: {
- clearScreen: true
- }
- });
- watcher.on('event', event => {
- switch(event.code) {
- // case 'START':
- // console.log(chalk.green('Begin to watch'));
- // break;
- case 'BUNDLE_START':
- console.log(
- chalk.gray(current()),
- chalk.blue('File changed. Begin to bundle')
- );
- break;
- case 'BUNDLE_END':
- console.log(
- chalk.gray(current()),
- chalk.green('Finished bundle')
- );
- break;
- case 'ERROR':
- console.log(
- chalk.gray(current()),
- chalk.red(event.error)
- );
- break;
- }
- });
- }
- else {
- rollup.rollup({
- ...inputOption
- }).then(bundle => {
- bundle.write(outputOption).then(function () {
- if (process.argv.indexOf('--minify') >= 0) {
- minify(outputOption.file);
- }
- });
- });
- }
|