oxc/npm/oxc-parser
github-actions[bot] c3f08ce8e0
Release crates v0.17.2 (#4115)
## [0.17.2] - 2024-07-08

### Features

- 115ac3b allocator: Introduce `FromIn` and `IntoIn` traits. (#4088)
(rzvxa)
- 720983a napi/transform: Allow setting `sourceType` to `transform`
(#4113) (Boshen)
- e386b62 semantic: Check for invalid type import assignments (#4097)
(DonIsaac)

### Bug Fixes

- 5472b7c codegen: 256 indentations level is not enough for codegen
(Boshen)
- 5c31236 isolated-declarations: Keep literal value for readonly
property (#4106) (Dunqing)
- e67c7d1 isolated-declarations: Do not infer type for private
parameters (#4105) (Dunqing)
- 3fcad5e isolated_declarations: Remove nested AssignmentPatterns from
inside parameters (#4077) (michaelm)
- f8d77e4 isolated_declarations: Infer type of template literal
expressions as string (#4068) (michaelm)
- 0f02608 semantic: Bind `TSImportEqualsDeclaration`s (#4100) (Don
Isaac)
- 4413e2d transformer: Missing initializer for readonly consructor
properties (#4103) (Don Isaac)

### Performance

- 7ed27b7 isolated-declarations: Use `FxHashSet` instead of `Vec` to
speed up the `contain` (#4074) (Dunqing)
- 9114c8e semantic: Keep a single map of unresolved references (#4107)
(Luca Bruno)

Co-authored-by: Boshen <Boshen@users.noreply.github.com>
2024-07-08 19:16:33 +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.17.2 (#4115) 2024-07-08 19:16:33 +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();