mirror of
				https://github.com/microsoft/playwright.git
				synced 2025-06-26 21:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import svelte from 'rollup-plugin-svelte';
 | |
| import commonjs from '@rollup/plugin-commonjs';
 | |
| import resolve from '@rollup/plugin-node-resolve';
 | |
| import livereload from 'rollup-plugin-livereload';
 | |
| import { terser } from 'rollup-plugin-terser';
 | |
| import css from 'rollup-plugin-css-only';
 | |
| 
 | |
| const production = !process.env.ROLLUP_WATCH;
 | |
| 
 | |
| function serve() {
 | |
|   let server;
 | |
| 
 | |
|   function toExit() {
 | |
|     if (server) server.kill(0);
 | |
|   }
 | |
| 
 | |
|   return {
 | |
|     writeBundle() {
 | |
|       if (server) return;
 | |
|       server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
 | |
|         stdio: ['ignore', 'inherit', 'inherit'],
 | |
|         shell: true
 | |
|       });
 | |
| 
 | |
|       process.on('SIGTERM', toExit);
 | |
|       process.on('exit', toExit);
 | |
|     }
 | |
|   };
 | |
| }
 | |
| 
 | |
| const prod = {
 | |
|   input: 'src/main.js',
 | |
|   output: {
 | |
|     sourcemap: true,
 | |
|     format: 'iife',
 | |
|     name: 'app',
 | |
|     file: 'public/build/bundle.js'
 | |
|   },
 | |
|   plugins: [
 | |
|     svelte({
 | |
|       compilerOptions: {
 | |
|         // enable run-time checks when not in production
 | |
|         dev: !production
 | |
|       }
 | |
|     }),
 | |
|     // we'll extract any component CSS out into
 | |
|     // a separate file - better for performance
 | |
|     css({ output: 'bundle.css' }),
 | |
| 
 | |
|     // If you have external dependencies installed from
 | |
|     // npm, you'll most likely need these plugins. In
 | |
|     // some cases you'll need additional configuration -
 | |
|     // consult the documentation for details:
 | |
|     // https://github.com/rollup/plugins/tree/master/packages/commonjs
 | |
|     resolve({
 | |
|       browser: true,
 | |
|       dedupe: ['svelte']
 | |
|     }),
 | |
|     commonjs(),
 | |
| 
 | |
|     // In dev mode, call `npm run start` once
 | |
|     // the bundle has been generated
 | |
|     !production && serve(),
 | |
| 
 | |
|     // Watch the `public` directory and refresh the
 | |
|     // browser on changes when not in production
 | |
|     !production && livereload('public'),
 | |
| 
 | |
|     // If we're building for production (npm run build
 | |
|     // instead of npm run dev), minify
 | |
|     production && terser()
 | |
|   ],
 | |
|   watch: {
 | |
|     clearScreen: false
 | |
|   }
 | |
| };
 | |
| 
 | |
| const test = {
 | |
|   input: 'src/tests.js',
 | |
|   output: {
 | |
|     sourcemap: true,
 | |
|     format: 'iife',
 | |
|     name: 'app',
 | |
|     file: 'public/tests/bundle.js'
 | |
|   },
 | |
|   plugins: [
 | |
|     svelte({
 | |
|       compilerOptions: {
 | |
|         // enable run-time checks when not in production
 | |
|         dev: !production
 | |
|       }
 | |
|     }),
 | |
|     // we'll extract any component CSS out into
 | |
|     // a separate file - better for performance
 | |
|     css({ output: 'bundle.css' }),
 | |
| 
 | |
|     // If you have external dependencies installed from
 | |
|     // npm, you'll most likely need these plugins. In
 | |
|     // some cases you'll need additional configuration -
 | |
|     // consult the documentation for details:
 | |
|     // https://github.com/rollup/plugins/tree/master/packages/commonjs
 | |
|     resolve({
 | |
|       browser: true,
 | |
|       dedupe: ['svelte']
 | |
|     }),
 | |
|     commonjs(),
 | |
| 
 | |
|     // Watch the `public` directory and refresh the
 | |
|     // browser on changes when not in production
 | |
|     !production && livereload('public'),
 | |
| 
 | |
|     // If we're building for production (npm run build
 | |
|     // instead of npm run dev), minify
 | |
|     production && terser()
 | |
|   ],
 | |
|   watch: {
 | |
|     clearScreen: false
 | |
|   },
 | |
| };
 | |
| 
 | |
| export default [ prod, test ];
 | 
