You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
| 
											9 months ago
										 | 'use strict' | ||
|  | 
 | ||
|  | let Container = require('./container') | ||
|  | let Parser = require('./parser') | ||
|  | let Input = require('./input') | ||
|  | 
 | ||
|  | function parse(css, opts) { | ||
|  |   let input = new Input(css, opts) | ||
|  |   let parser = new Parser(input) | ||
|  |   try { | ||
|  |     parser.parse() | ||
|  |   } catch (e) { | ||
|  |     if (process.env.NODE_ENV !== 'production') { | ||
|  |       if (e.name === 'CssSyntaxError' && opts && opts.from) { | ||
|  |         if (/\.scss$/i.test(opts.from)) { | ||
|  |           e.message += | ||
|  |             '\nYou tried to parse SCSS with ' + | ||
|  |             'the standard CSS parser; ' + | ||
|  |             'try again with the postcss-scss parser' | ||
|  |         } else if (/\.sass/i.test(opts.from)) { | ||
|  |           e.message += | ||
|  |             '\nYou tried to parse Sass with ' + | ||
|  |             'the standard CSS parser; ' + | ||
|  |             'try again with the postcss-sass parser' | ||
|  |         } else if (/\.less$/i.test(opts.from)) { | ||
|  |           e.message += | ||
|  |             '\nYou tried to parse Less with ' + | ||
|  |             'the standard CSS parser; ' + | ||
|  |             'try again with the postcss-less parser' | ||
|  |         } | ||
|  |       } | ||
|  |     } | ||
|  |     throw e | ||
|  |   } | ||
|  | 
 | ||
|  |   return parser.root | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = parse | ||
|  | parse.default = parse | ||
|  | 
 | ||
|  | Container.registerParse(parse) |