fix: vite
This commit is contained in:
78
node_modules/esrap/README.md
generated
vendored
Normal file
78
node_modules/esrap/README.md
generated
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
# esrap
|
||||
|
||||
Parse in reverse. AST goes in, code comes out.
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
import { print } from 'esrap';
|
||||
|
||||
const { code, map } = print({
|
||||
type: 'Program',
|
||||
body: [
|
||||
{
|
||||
type: 'ExpressionStatement',
|
||||
expression: {
|
||||
callee: {
|
||||
type: 'Identifier',
|
||||
name: 'alert'
|
||||
},
|
||||
arguments: [
|
||||
{
|
||||
type: 'Literal',
|
||||
value: 'hello world!'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
console.log(code); // alert('hello world!');
|
||||
```
|
||||
|
||||
If the nodes of the input AST have `loc` properties (e.g. the AST was generated with [`acorn`](https://github.com/acornjs/acorn/tree/master/acorn/#interface) with the `locations` option set), sourcemap mappings will be created.
|
||||
|
||||
## Options
|
||||
|
||||
You can pass the following options:
|
||||
|
||||
```js
|
||||
const { code, map } = print(ast, {
|
||||
// Populate the `sources` field of the resulting sourcemap
|
||||
// (note that the AST is assumed to come from a single file)
|
||||
sourceMapSource: 'input.js',
|
||||
|
||||
// Populate the `sourcesContent` field of the resulting sourcemap
|
||||
sourceMapContent: fs.readFileSync('input.js', 'utf-8'),
|
||||
|
||||
// Whether to encode the `mappings` field of the resulting sourcemap
|
||||
// as a VLQ string, rather than an unencoded array. Defaults to `true`
|
||||
sourceMapEncodeMappings: false,
|
||||
|
||||
// String to use for indentation — defaults to '\t'
|
||||
indent: ' ',
|
||||
|
||||
// Whether to wrap strings in single or double quotes — defaults to 'single'.
|
||||
// This only applies to string literals with no `raw` value, which generally
|
||||
// means the AST node was generated programmatically, rather than parsed
|
||||
// from an original source
|
||||
quotes: 'single'
|
||||
});
|
||||
```
|
||||
|
||||
## TypeScript
|
||||
|
||||
`esrap` can also print TypeScript nodes, assuming they match the ESTree-like [`@typescript-eslint/types`](https://www.npmjs.com/package/@typescript-eslint/types).
|
||||
|
||||
## Why not just use Prettier?
|
||||
|
||||
Because it's ginormous.
|
||||
|
||||
## Developing
|
||||
|
||||
This repo uses [pnpm](https://pnpm.io). Once it's installed, do `pnpm install` to install dependencies, and `pnpm test` to run the tests.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
Reference in New Issue
Block a user