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
 | |
| }
 |