42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import * as plugins from './tsbundle.plugins';
 | 
						|
import { logger } from './tsbundle.logging';
 | 
						|
 | 
						|
export class TsBundle {
 | 
						|
  public async buildTest(cwdArg: string, fromArg: string, toArg: string, bundlerArg: 'rollup' | 'parcel') {
 | 
						|
    const done = plugins.smartpromise.defer();
 | 
						|
    const threadsimple = new plugins.smartspawn.ThreadSimple(plugins.path.join(__dirname, './tsbundle.class.tsbundleprocess.js'), [], {
 | 
						|
      env: {
 | 
						|
        ...process.env,
 | 
						|
        tsbundleMode: 'test',
 | 
						|
        tsbundleCwd: cwdArg,
 | 
						|
        tsbundleFrom: fromArg,
 | 
						|
        tsbundleTo: toArg,
 | 
						|
        tsbundleBundler: bundlerArg
 | 
						|
      }
 | 
						|
    })
 | 
						|
    const childProcess = await threadsimple.start();
 | 
						|
    childProcess.on('exit', (status) => {
 | 
						|
      done.resolve();
 | 
						|
    })
 | 
						|
    await done.promise;
 | 
						|
  };
 | 
						|
  
 | 
						|
  public async buildProduction(cwdArg: string, fromArg: string, toArg: string) {
 | 
						|
    const done = plugins.smartpromise.defer();
 | 
						|
    const threadsimple = new plugins.smartspawn.ThreadSimple(plugins.path.join(__dirname, './tsbundle.class.tsbundleprocess.js'), [], {
 | 
						|
      env: {
 | 
						|
        ...process.env,
 | 
						|
        tsbundleMode: 'production',
 | 
						|
        tsbundleCwd: cwdArg,
 | 
						|
        tsbundleFrom: fromArg,
 | 
						|
        tsbundleTo: toArg
 | 
						|
      }
 | 
						|
    })
 | 
						|
    const childProcess = await threadsimple.start();
 | 
						|
    childProcess.on('exit', (status) => {
 | 
						|
      done.resolve();
 | 
						|
    })
 | 
						|
    await done.promise;
 | 
						|
  };
 | 
						|
}
 |