Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Fast, Simple, Fully Typed JavaScript from the Future.
ReScript is a robustly typed language that compiles to efficient and human-readable JavaScript. It comes with a lightning fast compiler toolchain that scales to any codebase size.
any
, no magic types, no surprise undefined
.ReScript is used by many companies to ship and maintain mission-critical products and is maintained by the ReScript community.
Follow the Installation Guide to set up a new ReScript project or integrate ReScript into your existing JavaScript project.
For more information on building React apps with ReScript, see the rescript-react documentation.
For React Native apps, see the rescript-react-native website.
The full documentation for the ReScript language can be found on our website.
The source for the ReScript documentation and website is hosted in a separate repo.
See the Upgrading Guide for instructions on upgrading to newer ReScript versions.
Read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to ReScript.
The ReScript community has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
You can learn more about our vision for ReScript in the Roadmap.
For discussions on ongoing development, see the Development section of the ReScript forum.
ReScript is licensed under LGPL version 3, with relaxed rules about creating and distributing combined work. See the LICENSE file for details.
The ReScript parser (subdirectory jscomp/syntax
) is licensed under the MIT License.
The ninja
subdirectory contains the vendored ninja build system.
Refer to its copyright and license notices for information about its licensing.
ReScript was originally created by Hongbo Zhang in 2015.
See CREDITS.md for further acknowledgements and project history.
12.0.0-alpha.1
@directive
on functions for emitting function level directive code (let serverAction = @directive("'use server'") (~name) => {...}
). https://github.com/rescript-lang/rescript-compiler/pull/6756rewatch
to the npm package as an alternative build tool. https://github.com/rescript-lang/rescript-compiler/pull/6762new Error()
and adds the extension payload for cause
option. https://github.com/rescript-lang/rescript-compiler/pull/6611e :> t
. https://github.com/rescript-lang/rescript-compiler/pull/6828private
in with constraints. https://github.com/rescript-lang/rescript-compiler/pull/6843@bs.re
. https://github.com/rescript-lang/rescript-compiler/pull/6776Js.globalThis
object binding. https://github.com/rescript-lang/rescript-compiler/pull/6909j
and js
allowed names for tag functions. https://github.com/rescript-lang/rescript-compiler/pull/6817lazy
syntax is no longer supported. If you're using it, use Lazy
module or React.lazy_
instead. https://github.com/rescript-lang/rescript-compiler/pull/6342bs.
prefix (@bs.as
-> @as
etc.). https://github.com/rescript-lang/rescript-compiler/pull/6643@bs.open
feature. https://github.com/rescript-lang/rescript-compiler/pull/6629.ml
to .res
via format. https://github.com/rescript-lang/rescript-compiler/pull/6848.ml
files, and general cleanup. https://github.com/rescript-lang/rescript-compiler/pull/6852rescript convert
subcommand. https://github.com/rescript-lang/rescript-compiler/pull/6860@bs.send.pipe
. This also removes all functions in Js_typed_array
that rely on @bs.send.pipe
. https://github.com/rescript-lang/rescript-compiler/pull/6858 https://github.com/rescript-lang/rescript-compiler/pull/6891Js.Vector
and Js.List
. https://github.com/rescript-lang/rescript-compiler/pull/6900%time
extension. https://github.com/rescript-lang/rescript-compiler/pull/6924caml_external_polyfill
module and the related behavior. https://github.com/rescript-lang/rescript-compiler/pull/6925@as
. https://github.com/rescript-lang/rescript-compiler/pull/6795@int
. https://github.com/rescript-lang/rescript-compiler/pull/6802...
can generate code that uses Curry
at runtime. https://github.com/rescript-lang/rescript-compiler/pull/6872Curry
with reverse application |>
. https://github.com/rescript-lang/rescript-compiler/pull/6876->
would not use uncurried application in uncurried mode. https://github.com/rescript-lang/rescript-compiler/pull/6878-nostdlib
internal compiler option. https://github.com/rescript-lang/rescript-compiler/pull/6824e : t1 :> t2
was only supported in .ml
syntax and never by the .res
parser. https://github.com/rescript-lang/rescript-compiler/pull/6829caml_format
and js_math
to .res
. https://github.com/rescript-lang/rescript-compiler/pull/6834js.ml
files to .res
. https://github.com/rescript-lang/rescript-compiler/pull/6835.ml
tests. https://github.com/rescript-lang/rescript-compiler/pull/6847@@uncurried.swap
, which was used for internal tests. https://github.com/rescript-lang/rescript-compiler/pull/6875-uncurried
command-line flag. https://github.com/rescript-lang/rescript-compiler/pull/6885%opaque
primitive. https://github.com/rescript-lang/rescript-compiler/pull/6892foo(1,2)
into Js.Internal.opaqueFullApply(Internal.opaque(f), 1, 2)
, and change the back-end to treat all applications as uncurried. https://github.com/rescript-lang/rescript-compiler/pull/6893@uncurry
from ReScript sources (others, tests). https://github.com/rescript-lang/rescript-compiler/pull/6938--help
arg be prioritized in the CLI, so correctly prints help message and skip other commands. https://github.com/rescript-lang/rescript-compiler/pull/6667let
instead of var
. https://github.com/rescript-lang/rescript-compiler/pull/6102let
is emitted instead of var
. https://github.com/rescript-lang/rescript-compiler/pull/6480use-stdlib
from build schema. https://github.com/rescript-lang/rescript-compiler/pull/6778Js.Types.JSBigInt
payload to use native bigint
type. https://github.com/rescript-lang/rescript-compiler/pull/6911%external
extension, which has never been officially introduced. https://github.com/rescript-lang/rescript-compiler/pull/6906xxxU
functions in Belt. https://github.com/rescript-lang/rescript-compiler/pull/6941FAQs
ReScript toolchain
The npm package rescript receives a total of 11,178 weekly downloads. As such, rescript popularity was classified as popular.
We found that rescript demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.