Dave Cunningham
ec039600bc
Update version to v0.19.0
2022-10-26 20:56:31 +01:00
Dave Cunningham
c1825dc54d
Update to latest CPP version
2022-10-26 16:13:21 +01:00
Jayme Bird
3aab052ecc
fix: use rune for length over string
2022-10-25 19:30:01 +01:00
Jayme Bird
62dbb64d72
feat: add builtin implementation test coverage
2022-10-25 16:22:34 +01:00
jaymebrd
635d04f264
feat: add support linter std get ( #627 )
...
* feat: add missing linter metadata for std.get
* feat: add tests cases for std.get linter with default and optional parameters
2022-10-19 06:19:49 +01:00
Jayme Bird
8abb4aa639
feat: implementation of manifestTomlEx in Go
...
Co-authored-by: Wojciech Kocjan <wojciech@kocjan.org>
2022-10-19 04:50:41 +01:00
Jesse-Cameron
02194a7f8c
chore: update golden tests for fold
2022-09-27 21:46:37 +01:00
Jayme Bird
cb3a759621
feat: add linter testdata
2022-09-04 15:59:03 +01:00
Jayme Bird
5440cc833f
feat: add test data
2022-09-04 15:59:03 +01:00
Jayme Bird
a5ddc1c5a4
feat: add support to the jsonnet linter for std.manifestJsonMinified
2022-08-18 22:23:43 +01:00
Rudo Thomas
b42132a7a3
feat: Report native function panics as runtime errors.
...
Previously, you'd get an "INTERNAL ERROR: (CRASH)" with a full backtrace
and a link to file a bug against go-jsonnet.
2022-07-03 21:39:29 +01:00
Jayme Bird
f0a060e259
feat: Add missing linter metadata for std.manifestTomlEx function
2022-03-18 02:05:38 +00:00
Angus Lees
856bd58872
Add 'importbin' statement
...
Add `importbin` statement. Similar to `importstr` but the result is
an array of numbers (all integers 0-255).
2022-03-03 22:49:02 +00:00
Dave Cunningham
fb6c700f29
Prepare for v0.18.0
2021-12-21 18:34:50 +00:00
Stanisław Barzowski
b00b56c335
Avoid depending on stdlib variable for desugaring.
...
The fix is easy – we just use "$std" which the user cannot access,
because it's not a valid identifier.
2021-08-09 19:25:33 +01:00
Stanisław Barzowski
7373f5b606
Add test output overrides for jsonnetfmt.
2021-05-20 14:23:06 +02:00
Greg Roodt
e6a9581713
Adds std.parseYaml ( #339 )
...
Add support for std.parseYaml.
Co-authored-by: Stanisław Barzowski <stanislaw.barzowski@gmail.com>
2021-05-20 14:16:23 +02:00
Yiannis
ce76155e09
Fix strip definition
...
Co-authored-by: Tom Fenech <tomjwfenech@gmail.com>
2021-05-19 13:57:47 +02:00
Stanisław Barzowski
74b3a1b669
[Linter] Support std.member and std.repeat.
2021-03-25 18:35:13 +01:00
Lucas Servén Marín
9b6cbef4ca
testdata: std.manifestJsonEx text cases more types
...
This commit adds test cases for more types to ensure that
std.manifestJsonEx continues to work with all types that may be given
as the `value` parameter.
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2021-02-15 14:44:08 +01:00
Lucas Servén Marín
9bba8deca0
testdata: add manifestJsonEx array test case
...
This commit adds a test case to prevent regressions in
std.manifestJsonEx accepting arrays as values.
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2021-02-15 14:44:08 +01:00
Hanyu Cui
cd59751527
Distinguish go-jsonnet from cpp-jsonnet in version message ( #497 )
...
Distinguish the Go implementation in the version message
2021-01-13 20:46:15 +01:00
Stanisław Barzowski
31d71aaccd
Add missing linter metadata for stdlib.
...
Fixes #483 .
2021-01-01 19:17:40 +01:00
Stanisław Barzowski
6140a2f75a
Better stacktrace for manifestation, +: and object assertions.
...
Fixes #282
2021-01-01 19:17:27 +01:00
Stanisław Barzowski
5c08e370d3
Fix missing stack trace entry for assertions.
...
Fixes #467
2020-11-21 18:31:58 +01:00
Stanisław Barzowski
797bfd89ed
Better handling of stack traces.
...
Fixes multiple issues with stack traces leading to missing
stack trace lines. Also, we no longer put builtin context
on the line which *calls* the builtin as if it was a part
of the builtin itself.
Code for stack trace handling was centralized. We no longer
need traceElement argument in ~every function. Now the stack
trace state is kept solely in the interpreter.
2020-11-21 15:36:05 +01:00
Stanisław Barzowski
fe28095772
Support for array comparison
2020-10-30 20:42:46 +01:00
Stanisław Barzowski
570101d43c
Desugar locals in object comprehension.
...
Desugar the locals in object comprehensions
"traditionally" instead of handling them manually.
Object comprehensions allow the locals to depend
on the index variable which means that they are separate
for each field. It doesn't make sense to treat them as
a property of the whole object.
Fixes #358 .
2020-10-22 14:54:50 +02:00
Stanisław Barzowski
8fcbda5b50
Linter
2020-08-13 21:06:34 +02:00
Stanisław Barzowski
a1f3af26dc
Support strings in the builtin std.flatMap.
...
Fixes #438 .
2020-07-28 19:50:22 +02:00
Weston McNamee
d767ab7bf5
fix(stdlib): 🐛 manifestJsonEx was escaping HTML
...
minimal repo: https://play.golang.org/p/GQBNMe6k_nm
https://stackoverflow.com/questions/28595664/how-to-stop-json-marshal-from-escaping-and\nminimal
fix proof: https://play.golang.org/p/SJM3KLkYW-
resolves #423
2020-06-13 21:59:31 +02:00
Alexander Petrov
3bd1fb82ba
Throw an error on negative shifts ( #421 )
...
Throw an error on negative shifts
2020-06-12 20:42:02 +02:00
Stanisław Barzowski
2824579c7d
Update cpp-jsonnet
2020-05-22 14:54:20 +02:00
Stanisław Barzowski
3a245f70d4
Preparation for linter.
...
* Extract some test utilities to a separate package.
* Rename some test utilities.
* Internally expose DirectChildren.
* Add LocationRange to some non-expr AST parts,
such as local binds, parameters and object fields.
* Add end-of-file-reached testcases.
2020-03-15 14:38:40 +01:00
Stanisław Barzowski
9ada769ce4
Make golangci-lint happy
...
Some of the suggestions are minor bug fixes (missing error handling).
2020-03-05 14:54:27 +01:00
Dave Cunningham
5476fefb25
Add ParseParameter. Also fell down the rabbithole improving content and consistency of parse errors
2020-03-05 09:33:21 +01:00
Dave Cunningham
ce07c7fb8b
Allow positional params after optionals
2020-03-05 09:33:21 +01:00
Stanisław Barzowski
425405da78
Update cpp-jsonnet.
2020-02-09 23:57:46 +01:00
Stanisław Barzowski
5976644a3b
Introduce tolerance in tests of numeric functions.
...
There are slight differences across CPU architectures which we cannot
avoid. These should have no practical consequences for the users.
2020-02-02 17:51:42 +01:00
Stanisław Barzowski
03f5ad2dc0
Add explicit bounds checks for bitwise operators
2020-02-02 13:28:29 +01:00
Wes McNamee
399a61ca31
feat: improve std.base64Decode performance 97%+ ( #346 )
...
feat: improve std.base64Decode performance 97%+
Provides a Go-native implementation of std.base64Decode and std.base64DecodeBytes
benchmark old ns/op new ns/op delta
Benchmark_Builtin_base64Decode-16 10946388307 25004135 -99.77%
Benchmark_Builtin_base64DecodeBytes-16 6420742757 181513016 -97.17%
related to #111
2020-01-27 14:31:45 +01:00
Wes McNamee
e8bd3f4ff8
feat: improve stdlib base64 performance by 98.58%+
...
Implements std.base64 in native Go, improving performance
benchmark old ns/op new ns/op delta
Benchmark_Builtin_base64-16 10805730974 23158636 -99.79%
Benchmark_Builtin_base64_bytearray-16 8682808704 123360964 -98.58%
2020-01-27 09:40:21 +01:00
Wes McNamee
3b580145f4
feat: improve std.reverse performance by 73.39%
...
Implements std.reverse in native Go, improving performance
benchmark old ns/op new ns/op delta
Benchmark_Builtin_reverse-16 869191619 231309458 -73.39%
part of #111
2020-01-26 22:11:59 +01:00
Weston McNamee
27b4c60bc7
feat: Improve performance of substr by 84.44%
...
This pulls in the implementation of substr into native Go instead of interpretted Jsonnet.
benchmark old ns/op new ns/op delta
Benchmark_Builtin_substr-16 97121527 15115905 -84.44%
part of #111
2020-01-26 09:20:58 +01:00
alldroll
8f0e634bb6
Disallow unary + on Object
2019-09-23 13:07:05 +02:00
alldroll
f00242da42
Add runtime check for binary +-* operations for numbers
2019-09-19 14:34:14 +01:00
Stanisław Barzowski
6490cb1973
Builtin implementation for std.sort
...
Sort is something that is highly optimized in most languages
and users can expect it to be fast. We can piggyback on
the Go implementation.
This change results in 100x speedup on bench.06.jsonnet.
2019-09-09 13:37:12 +02:00
Stanisław Barzowski
3190aff1d4
Fix crash when using empty object comprehension ( #301 )
...
The object was not properly created when object comprehension
was empty.
2019-07-24 12:58:59 -04:00
Stanisław Barzowski
7081ee085e
Fix double desugaring in array comps
...
Accidentally the array we were iterating over was desugared
two times, which resulted in crash when an object was there.
2019-06-23 10:32:22 +02:00
Steve Harris
b6bb47abee
Move escaped filename tests into separate function
...
Write the files with verboten names (within some operating systems) to
a temporary directory, in order to avoid committing them to the VCS
repository.
2019-06-15 01:34:11 +02:00