codesandbox / codesandbox/codesandbox-client
Can you please turn off the exponentiation transform?
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 13.6k
- Forks
- 2.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 2
Description
🐛 bug report
Preflight Checklist
- I have read the [Contributing Guidelines][contributing] for this project.
- I agree to follow the [Code of Conduct][code_of_conduct] that this project
adheres to. - I have searched the issue tracker for an issue that matches the one I want
to file, without success.
Description of the problem
How has this issue affected you? What are you trying to accomplish?
The exponentiation transform in Babel makes it impossible to run code of the form 2n ** 10n. This gets transformed to Math.pow(2n, 10n), which is a runtime error.
I think this transform should now be turned off. It penalizes code that uses BigInt, while actually being of little use given the penetration of the exponentiation operator in modern browsers.
To Reproduce
Link to sandbox: link
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the BigInt exponentiation example from the issue and inspect where the Babel exponentiation transform is configured in this repository. Confirm that code such as 2n ** 10n is no longer rewritten to Math.pow(2n, 10n), then verify the linked CodeSandbox behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- babel, javascript
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100