27 lines
		
	
	
		
			744 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			744 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var buble = require('./buble.js')
 | 
						|
 | 
						|
// selectively support some handy ES2015 features in templates.
 | 
						|
var defaultOptions = {
 | 
						|
  transforms: {
 | 
						|
    modules: false,
 | 
						|
    // this is a custom feature for stripping with from Vue render functions.
 | 
						|
    stripWith: true,
 | 
						|
    // custom feature ensures with context targets functional render
 | 
						|
    stripWithFunctional: false
 | 
						|
  },
 | 
						|
  // allow spread...
 | 
						|
  objectAssign: 'Object.assign'
 | 
						|
}
 | 
						|
 | 
						|
module.exports = function transpile (code, opts) {
 | 
						|
  if (opts) {
 | 
						|
    opts = Object.assign({}, defaultOptions, opts)
 | 
						|
    opts.transforms = Object.assign({}, defaultOptions.transforms, opts.transforms)
 | 
						|
  } else {
 | 
						|
    opts = defaultOptions
 | 
						|
  }
 | 
						|
  var code = buble.transform(code, opts).code
 | 
						|
  // console.log(code)
 | 
						|
  return code
 | 
						|
}
 |