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 ];
							 |