bs-platform
Advanced tools
Changelog
8.3.3
This is a bug release for 8.3.*
node_modules
layoutbuild statement
in generated ninja filesChangelog
8.3.1
This is a minor bug fix release for 8.3.0
let {a;b} as obj = ...
caml_enter_blocking_section
for single threaded compiler[id]
with the build system.#4694, #4712 improving/customizing the underlying ninja build system, better performance
#4681, #4710 creating persistent lib/bs.compiler.log per each build for editor diagnostics
#4688, #4707 better error message
#4701 support both bs.val
and val
attributes, in the future to recommend the shorter ones
#4693 Fix the compiler runtime issue, always flush err_formatter when at_exit
#4687, #4689, #4691 allow user to customize js file extension in bsconfig.json (checkout the schema )
#4685, #4624, #4690 allow more character set in filenames to make rescript play better with react native and next.js
#4684 fix the raise of Sys.is_directory, make bsb works better with Emacs temp files
#4679 better error message for nonrec GADT
#4671, #4678 better strategies to remove stale output for the build system
#4676 (internal) add Config.syntax_kind so that some changes in super_errors can be made upstream
#4650, #4656, #4657, #4662 always warn-as-error while not degrading user expereince (with the help of build system)
#4661 (internal) not depending on upstream compenv module
#4639, #4642 refined static analysis to generate better code
#4636, #4641 es6 default import support
#4638 clean up the confusing error message over uncurry label
#4637 remove unneeded mention of BuckleScript in uncurried message
#4623 better data flow inference for common pattern: let {a,b,c} = ...
#4622 add html element & observer phantom types
#4618 fix combination of bs.obj with bs.as so that bs.as can carry more kinds of playload
#4613 (internal) pass down @inlined attribute from upstream. (the info is passed down, how to make use of it is not done yet)
#4609 Lift the restriction that user can only define a type with less than 256 constructors
#4606, #3961 (internal) use is_a_functor from upstream instead of guessing
#4605 (experimental) take @@inline
attribute into consideration for functions
#4604 enhance Random module
#4600, #4599 fix missing bounds checking for Bytes.set
#4597 fix Js.Array and Js.Array2 the wrong return type for from
method
#4513 better error message when interface/implementation mismatches (done in commit db485f1)
bsc -fmt myFile
now changed to bsc -format myFile
#4573, #4565, #4559, #4558, #4556, #4554, #4553, #4550 introudce string literal types
#4580 #4581, #4582, #4463, #4583 relax bs.as to allow object literals instead of json, so FFI below is allowed:
external fff0 : int -> int -> (_[@bs.as {json|[undefined,undefined]|json}]) -> int = "say"
[@@bs.val]
let testUndefined () =
fff0 1 2
#4570 refine purity analysis so that object literals in raw will be considered pure
#4548 #4555 fix ghost locaption in empty array
#4540 optimize code generation for recursive modules
#4530 internal -color option default to always
#4569 emit a warning for use of ( [ `a| `b] [@bs.string])
since it is no longer needed
#4531 better generated js code for belt
#4526 add bsc -fmt file
option, format into the new syntax
#4495 enable newish es syntax in raw
#4491, #4492, #4493 fix a bug when printing a single object literal as statement, optimize this case into a nop
#4482, #4480 disable user to redefine unit
, true
, false
#4474 #4465 [reactjs] add support for ref argument inside of React.forwardRef type applciations
#4473 adding an experimental new syntax
#4470 tweak error message for not found record fields/constructors
external get : _ -> _ -> _ = "" [@@bs.get_index]
#4308,#4309, #4397 #4403 #4404 #4409 variant as objects
A (0,1)
now is
{ TAG : /*A*/0, _0 : 0, _1:1 }
#4399 remove magics in Belt.List to prepare new data representations
#4405 polyvar as objects
A 1
now is
{HASH:MAGIC_NUMBER, VAL:1}
#4331,#4332 #4337,#4339, #4338, #4337 Encoding exception as dictionary, add stacktrace support
#4322, #4325,#4326, #4364, #4383, #4371 lazy values as objects, make caml_update_dummy
generalized
#4456, #4458 optimize String.make
#4447, #4442 improve arity inference over raw named function expression
#4413 changed internal encoding of Some ((Some .. None)), not relying on physiclal equivalence, friendlier to serialization
#4379 make bs.config take effect ASAP, however, it can not happen befor parsing.
This meangs, it won't have effect over flags like -bs-D
when it happens in lexing.
#4426, #4428 apply bs.inline to float literals
#4378 apply bs.inline to int64, proper error for not supported types
#4425 optimize bs.as "0"
to allow users to turn record representation into array when needed
#4407, #4423 Fix compatiblity layer between debug mode and none-debug mode
A (1,2)
are equal for code generated either in debug or non-debug mode#4422 remove Unix module from stdlib
#4421 special encode list as {hd : v0, tl : ...}
#4420 remove legacy jsx v2
#4390 less parens for bs.as
json literals
#4245, #4385 breaking changes: enable strict-sequence, strict-formats by default
#4304, #4293 better code generated for string interpolation
langauge
from gentypeconfig
sources[n].public
Error: This expression should not be a function, the expected type is
(int bounce -> 'a bounce [@bs])
fun%raw
output too many parens for callback
bsb -h
caml_set_oo_id
into caml_oo
modulebstracing -all
can handle multiple build sessions