You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					85 lines
				
				3.2 KiB
			
		
		
			
		
	
	
					85 lines
				
				3.2 KiB
			| 
											3 years ago
										 | ## Escodegen
 | ||
|  | [](http://badge.fury.io/js/escodegen) | ||
|  | [](http://travis-ci.org/estools/escodegen) | ||
|  | [](https://david-dm.org/estools/escodegen) | ||
|  | [](https://david-dm.org/estools/escodegen#info=devDependencies) | ||
|  | 
 | ||
|  | Escodegen ([escodegen](http://github.com/estools/escodegen)) is an | ||
|  | [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm) | ||
|  | (also popularly known as [JavaScript](http://en.wikipedia.org/wiki/JavaScript)) | ||
|  | code generator from [Mozilla's Parser API](https://developer.mozilla.org/en/SpiderMonkey/Parser_API) | ||
|  | AST. See the [online generator](https://estools.github.io/escodegen/demo/index.html) | ||
|  | for a demo. | ||
|  | 
 | ||
|  | 
 | ||
|  | ### Install
 | ||
|  | 
 | ||
|  | Escodegen can be used in a web browser: | ||
|  | 
 | ||
|  |     <script src="escodegen.browser.js"></script> | ||
|  | 
 | ||
|  | escodegen.browser.js can be found in tagged revisions on GitHub. | ||
|  | 
 | ||
|  | Or in a Node.js application via npm: | ||
|  | 
 | ||
|  |     npm install escodegen | ||
|  | 
 | ||
|  | ### Usage
 | ||
|  | 
 | ||
|  | A simple example: the program | ||
|  | 
 | ||
|  |     escodegen.generate({ | ||
|  |         type: 'BinaryExpression', | ||
|  |         operator: '+', | ||
|  |         left: { type: 'Literal', value: 40 }, | ||
|  |         right: { type: 'Literal', value: 2 } | ||
|  |     }); | ||
|  | 
 | ||
|  | produces the string `'40 + 2'`. | ||
|  | 
 | ||
|  | See the [API page](https://github.com/estools/escodegen/wiki/API) for | ||
|  | options. To run the tests, execute `npm test` in the root directory. | ||
|  | 
 | ||
|  | ### Building browser bundle / minified browser bundle
 | ||
|  | 
 | ||
|  | At first, execute `npm install` to install the all dev dependencies. | ||
|  | After that, | ||
|  | 
 | ||
|  |     npm run-script build | ||
|  | 
 | ||
|  | will generate `escodegen.browser.js`, which can be used in browser environments. | ||
|  | 
 | ||
|  | And, | ||
|  | 
 | ||
|  |     npm run-script build-min | ||
|  | 
 | ||
|  | will generate the minified file `escodegen.browser.min.js`. | ||
|  | 
 | ||
|  | ### License
 | ||
|  | 
 | ||
|  | #### Escodegen
 | ||
|  | 
 | ||
|  | Copyright (C) 2012 [Yusuke Suzuki](http://github.com/Constellation) | ||
|  |  (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors. | ||
|  | 
 | ||
|  | Redistribution and use in source and binary forms, with or without | ||
|  | modification, are permitted provided that the following conditions are met: | ||
|  | 
 | ||
|  |   * Redistributions of source code must retain the above copyright | ||
|  |     notice, this list of conditions and the following disclaimer. | ||
|  | 
 | ||
|  |   * Redistributions in binary form must reproduce the above copyright | ||
|  |     notice, this list of conditions and the following disclaimer in the | ||
|  |     documentation and/or other materials provided with the distribution. | ||
|  | 
 | ||
|  | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
|  | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
|  | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
|  | ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY | ||
|  | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
|  | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
|  | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
|  | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
|  | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
|  | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |