Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

migrate NAPI front-end to WASM and ESM #1120

Merged
merged 1 commit into from
Oct 8, 2024

Conversation

OmarTawfik
Copy link
Contributor

@OmarTawfik OmarTawfik commented Oct 8, 2024

See the added changesets for the specific API changes/additions.

Additionally, this PR:

  • deprecates/removes NAPI build/pipeline.
  • adds jco as a sub-module to the repo.
  • deletes the platform-specific packages, as we now just need one.

Closes #410
Closes #570
Closes #573
Closes #816
Closes #987

@OmarTawfik OmarTawfik requested a review from a team as a code owner October 8, 2024 20:12
@OmarTawfik OmarTawfik enabled auto-merge October 8, 2024 20:12
Copy link

changeset-bot bot commented Oct 8, 2024

🦋 Changeset detected

Latest commit: 4c08c9e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@nomicfoundation/slang Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

@AntonyBlakey AntonyBlakey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Phew!

@OmarTawfik OmarTawfik added this pull request to the merge queue Oct 8, 2024
Merged via the queue into NomicFoundation:main with commit 25eef3e Oct 8, 2024
1 check passed
@OmarTawfik OmarTawfik deleted the wasm branch October 8, 2024 21:38
@github-actions github-actions bot mentioned this pull request Oct 8, 2024
github-merge-queue bot pushed a commit that referenced this pull request Oct 9, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and publish to npm
yourself or [setup this action to publish
automatically](https://github.com/changesets/action#with-publishing). If
you're not ready to do a release yet, that's fine, whenever you add more
changesets to main, this PR will be updated.


# Releases
## @nomicfoundation/[email protected]

### Minor Changes

- [#1120](#1120)
[`25eef3e`](25eef3e)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI
front-end to WASM and ESM

- [#1120](#1120)
[`25eef3e`](25eef3e)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add
`TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed
and erroneous nodes

- [#1117](#1117)
[`be7bb79`](be7bb79)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language`
API to `Parser`, in preparation for introducing a multi-file compilation
API.

- [#1116](#1116)
[`c88f9b5`](c88f9b5)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`,
`parse_error`, `parse_output` namespaces into the `parser` namespace.

- [#1115](#1115)
[`96df645`](96df645)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`,
`kinds`, `query`, and `text_index` namespaces into the `cst` namespace.

- [#1120](#1120)
[`25eef3e`](25eef3e)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods
on `TerminalNode` and `NonTerminalNode`, and add type assertions and
guards to both types

- [#1120](#1120)
[`25eef3e`](25eef3e)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and
edge labels on CST nodes via `Node.children()` method. This allows
distinguishing between children of the same node based on their
label/role in the parent, even if they have the same kind.

- [#1120](#1120)
[`25eef3e`](25eef3e)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add
`TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID
that can be used in indexing/comparison at runtime.

- [#1120](#1120)
[`25eef3e`](25eef3e)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add
`TerminalKindExtensions.is_trivia()` API to distinguish between trivia
nodes and other contentful nodes

### Patch Changes

- [#1096](#1096)
[`15c437c`](15c437c)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for
Solidity `0.8.27`.

- [#1120](#1120)
[`25eef3e`](25eef3e)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change
`Parser::new()` constructor to `Parser::create()` static method.

- [#1097](#1097)
[`e17af22`](e17af22)
Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar
of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`)
added in `0.8.24`, as they were actually reserved in `0.8.25`.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
OmarTawfik added a commit to OmarTawfik-forks/slang that referenced this pull request Nov 14, 2024
minor improvement to the codegen backend based on earlier changes in NomicFoundation#1101 and NomicFoundation#1120

- build npm packages in parallel
- rename `BuiltInLabel` to `PredefinedLabel` to disambiguate from the newly introduced built-ins in bindings.
- Fix a bug where breaking versions in built-ins were not considered in other parts of codegen.
- rename `wasm32-wasi` to `wasm32-wasip1`, as it is already deprecated in nightly.
@OmarTawfik OmarTawfik mentioned this pull request Nov 15, 2024
OmarTawfik added a commit to OmarTawfik-forks/slang that referenced this pull request Nov 15, 2024
minor improvement to the codegen backend based on earlier changes in NomicFoundation#1101 and NomicFoundation#1120

- build npm packages in parallel
- rename `BuiltInLabel` to `PredefinedLabel` to disambiguate from the newly introduced built-ins in bindings.
- Fix a bug where breaking versions in built-ins were not considered in other parts of codegen.
- rename `wasm32-wasi` to `wasm32-wasip1`, as it is already deprecated in nightly.
OmarTawfik added a commit to OmarTawfik-forks/slang that referenced this pull request Nov 15, 2024
minor improvement to the codegen backend based on earlier changes in NomicFoundation#1101 and NomicFoundation#1120

- build npm packages in parallel
- rename `BuiltInLabel` to `PredefinedLabel` to disambiguate from the newly introduced built-ins in bindings.
- rename `wasm32-wasi` to `wasm32-wasip1`, as it is already deprecated in nightly.
OmarTawfik added a commit to OmarTawfik-forks/slang that referenced this pull request Nov 22, 2024
minor improvement to the codegen backend based on earlier changes in NomicFoundation#1101 and NomicFoundation#1120

- build npm packages in parallel
- rename `BuiltInLabel` to `PredefinedLabel` to disambiguate from the newly introduced built-ins in bindings.
- rename `wasm32-wasi` to `wasm32-wasip1`, as it is already deprecated in nightly.
github-merge-queue bot pushed a commit that referenced this pull request Nov 22, 2024
minor improvements to the codegen backend based on earlier changes in
#1101 and #1120

- build npm packages in parallel
- rename `BuiltInLabel` to `PredefinedLabel` to disambiguate from the
newly introduced built-ins in bindings.
- rename `wasm32-wasi` to `wasm32-wasip1`, as it is already deprecated
in nightly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants