oxc/npm/oxc-parser
github-actions[bot] 3870ed5a24
Release crates v0.16.2 (#3983)
## [0.16.2] - 2024-06-30

### Features

- dc6d45e ast,codegen: Add `TSParenthesizedType` and print type
parentheses correctly (#3979) (Boshen)
- 63f36da parser: Parse modifiers with `parse_modifiers` (take 2)
(#3977) (DonIsaac)

### Bug Fixes

- dac617d codegen: Print some missing typescript attributes (#3980)
(Boshen)
- bd1141d isolated-declarations: If declarations is referenced in
`declare global` then keep it (#3982) (Dunqing)

### Performance

- b234ddd semantic: Only check for jsdoc if jsdoc building is enabled
(Boshen)
- 1eac3d2 semantic: Use `Atom<'a>` for `Reference`s (#3972) (Don Isaac)
- 0c81fbe syntax: Use `NonZeroU32` for `SymbolId` and `ReferenceId`
(#3970) (Boshen)

### Refactor

- 5845057 transformer: Pass in symbols and scopes (#3978) (Boshen)

Co-authored-by: Boshen <Boshen@users.noreply.github.com>
2024-06-30 19:59:15 +08:00
..
scripts Release napi oxc-parser@v0.4.0-alpha.0 2024-02-11 11:56:46 +08:00
CHANGELOG.md chore: regenerate changelogs with commit id and author 2024-06-07 01:22:28 +08:00
package.json Release crates v0.16.2 (#3983) 2024-06-30 19:59:15 +08:00
README.md chore(npm/oxc-parser): document parseOptions 2024-04-30 23:11:31 +08:00

The JavaScript Oxidation Compiler

See index.d.ts for parseSync and parseAsync API.

ESM

import oxc from "oxc-parser";
import assert from "assert";

function test(ret) {
  const program = JSON.parse(ret.program);
  assert(program.body.length == 1);
  assert(ret.errors.length == 0);
}

const sourceText = "let foo: Foo = 'foo';";
const options = {
  sourceFilename: "text.tsx", // the extension is used to determine which dialect to parse
};

test(oxc.parseSync(sourceText, options));

async function main() {
  test(await oxc.parseAsync(sourceText, options));
}

main();