1.4.0 (2024-11-05)
1.3.9 (2024-07-12)
- add types add/remove/removeAll functions (b4a5b1a), closes #238
- add types for SequenceExpressions (d0cf015), closes #261
- detect unexpected ] in expression "[1,2][]" (70b8ea6), closes #256
- do not access prototype (037d1db), closes #239
- throwError return type (e0df539), closes #252
- update Array elements typing (097ae12)
1.3.8 (2022-12-06)
- support TypeScript's Node16 resolution (0c2cb45)
1.3.7 (2022-09-18)
1.3.6 (2022-04-27)
- update release on package.json change (c1ceb54)
1.3.4 (2022-03-22)
1.3.3 (2022-03-22)
- add version to plugin for testing (1a148c7)
1.3.2 (2022-03-22)
1.3.1 (2022-03-22)
1.3.0 (2022-02-28)
- assignment right-to-left and precedence with ternary (e5652eb), closes #189
- simplify ternary since to stop handling ':' binary operator (4196623)
1.3.0-beta.1 (2021-12-13)
- assignment right-to-left and precedence with ternary (e5652eb), closes #189
- simplify ternary since to stop handling ':' binary operator (4196623)
1.2.0 (2021-10-31)
1.1.2 (2021-10-17)
1.1.1 (2021-10-13)
1.1.0 (2021-10-03)
- add optional chaining support (?.) (56d1e3d)
1.0.3 (2021-09-02)
Republish to include types.
Fixed support for CommonJS modules. This is only a republish.
Rewrote to ESM, added a plugin system, and fixed numerous grammar issues. For most standard use-cases, this release should not be a breaking change, as every effort was made to maintain compatibility.
- renamed
build
folder todist
(#130). The package file structure is now:
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
├── dist
│ ├── jsep.js
│ ├── jsep.min.js
│ ├── cjs
│ │ ├── jsep.cjs.js
│ │ ├── jsep.cjs.min.js
│ ├── iife
│ │ ├── jsep.iife.js
│ │ ├── jsep.iife.min.js
- Removed
LogicalExpression
and treat it as aBinaryExpression
(#100) - Call arguments must be either all comma-separated or all space-separated, but not mixed
- unary expressions with no argument now throw
missing unaryOp argument
- binary expressions now require the left-hand side to exist
- conditional (ternary) expressions with no condition now throw
unexpected "?"
.
now throwsunexpected .
()()
now throwsunexpected "("
a.this
,a.true
,a.false
,a.null
now match esprima and treat the property as an identifier instead of a literal or ThisExpression
- Added a plugin system, including plugins for
- arrow expressions (
() => ...
) - assigment and update expressions (
a = 2
,a++
) - async/await (
await a.find(async (v1, v2) => await v1(v2))
) - comments (
/* .. */
and// ...
) - new expressions (
new Date()
) - object expressions (
{a: 1, b}
) - regex support (
/123/ig
) - spread operator (
fn(...a)
,[1, ...b]
,{...c}
) - template expressions (
`hi ${name}`
,msg`hig ${name}`
)
- arrow expressions (
(1, 2)
now returns a SequenceExpression instead of throwing anUnclosed (
error- moved the ConditionExpression (ternary) into a plugin, but it is still included by default
- You can add or remove additional valid identifier chars.
- Support for gobble properties from array/strings. e.g. (
[1].length
)
- Updated several dependancies for audit fixes.
- Development dependencies update for audit fixes.
- Fixed identifiers as custom ops (#68,#83)
- No functional changes, only updated support for typescript definitions.
- There may be a few known issues, check the issue page for details.
- Updated typings.
- Updated grunt-uglify for 0.03 kB smaller jsep.min.js! :)
First version that was using a CHANGELOG.md.
- Typings
- Functions to remove all binary/unary/etc. ops.
- Supports multiline expressions.