Commit Graph

386 Commits

Author SHA1 Message Date
Alexander Petrov
fc188d008d issue-433 avoid keeping all the allocated handles forever by using map
and uintptr of the allocated object.
2020-08-01 10:55:42 +02:00
Alexander Petrov
db2bf1e024 issue-433 increase the number of constructed Jsonnet handles. 2020-08-01 10:55:42 +02:00
Stanisław Barzowski
a1f3af26dc Support strings in the builtin std.flatMap.
Fixes #438.
2020-07-28 19:50:22 +02:00
Benoit Gagnon
0856640baf Fix std.manifestJsonEx parameter names
documented as "value" and "indent" in the standard library reference
2020-07-17 21:36:14 +02:00
Stanisław Barzowski
aaf50f5b65 Update project status in README.md 2020-07-03 17:34:29 +02:00
Stanisław Barzowski
0dd210d4a5 Sync cpp-jsonnet (for #429) 2020-07-02 23:05:04 +02:00
Robert Vollmert
9e6b0d15b7 jsonnetfmt --help: Indent subsection and break long lines
For consistency of the formatting changes to jsonnet --help.
Minor phrasing and punctuation changes for consistency.
2020-07-02 23:04:34 +02:00
Robert Vollmert
678df37686 jsonnet --help: align consistently, break long lines
This fits the help text into 80 columns.
2020-07-02 23:04:34 +02:00
Robert Vollmert
e71d28e7c2 jsonnet --help: separate sections more clearly 2020-07-02 23:04:34 +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
Weston McNamee
3563a21847 perf(stdlib): ️ implement manifestJsonEx as native Go
❯ make benchmark FILTER=Builtin_manifestJsonEx
go build ./cmd/jsonnet
./benchmark.sh Builtin_manifestJsonEx
Running Before Test... (10s)
Running After Test... (10s)
benchmark                               old ns/op     new ns/op     delta
Benchmark_Builtin_manifestJsonEx-16     22656394      7502016       -66.89%
2020-06-13 19:53:42 +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
d1c1457520 Release v0.16.0 2020-05-22 19:13:53 +02:00
Stanisław Barzowski
2824579c7d Update cpp-jsonnet 2020-05-22 14:54:20 +02:00
Stanisław Barzowski
f3873a7495 Fix duplicated fodder (#411).
CommaFodder was not cleared between arguments,
so when there was no commaFodder and the argument
was named a previous one was duplicated.

Fixes #411.
2020-05-22 11:31:30 +02:00
Stanisław Barzowski
e57db6b9a4 Use the official installation method for golangci-lint. 2020-05-22 11:24:03 +02:00
Ian Woloschin
e2cd7168a6 Add necessary files to MANIFEST.in 2020-05-22 11:04:38 +02:00
Stanisław Barzowski
8a0084e643 Remove depreacted Bazel option for CI 2020-04-15 14:29:41 +02:00
Frank Blechschmidt
bedbae2e6c Add Homebrew install instructions 2020-04-15 10:26:02 +02:00
Mike Danese
b2dbc0c524 fix order-dependent test
TestSdumpLargeDefinition is depnding on a global state change in
TestSdumpReusedPointers. It can't pass if it runs in the wrong order.

Fixes internal auto-filled bug.
2020-04-02 21:59:03 +02:00
sh0rez
4f4aa80dd7 feat(api): expose formatter
Exposes what I consider a good public API from the `internal/formatter`
package.

Having a go-native formatter is an awesome thing, especially because it
allows shipping the formatter as part of other projects. It's also fair
to keep the formatter's code in `internal`, yet third party projects
should have a way to use relevant parts of it.
2020-03-31 20:43:25 +02:00
Ricardo Amaro
6f135f75bc Remove bindings debug msg 2020-03-19 16:51:44 +01: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
Dave Cunningham
724650d358
Add native golang formatter (#388)
Add native golang formatter
2020-03-10 22:19:49 +00:00
Stanisław Barzowski
234b97cd9c Enforce no golangci-lint warnings in CI 2020-03-05 14:54:27 +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
803ad646cb Refactor parseParameter to return ast.Parameter 2020-03-05 09:33:21 +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
Dave Cunningham
0e67cc3c68 Refactor to allow interleaving optional and positional params 2020-03-05 09:33:21 +01:00
Stanisław Barzowski
7cad41e894 [Bindings] Fix compatibility issue with C import callback api 2020-03-02 11:57:27 +01:00
Dave Cunningham
8b2b1ba839 Avoid float overflow errors at parse time. 2020-02-27 23:06:53 +00:00
Alexander Petrov
413234ce49
Replace setup.py test with pytest command (#380)
Replace `setup.py test` with pytest command
2020-02-20 10:37:39 +01:00
Alexander Petrov
e6572f5083 Compile package in 32-bit mode 2020-02-18 10:32:37 +01:00
Robert-André Mauchin
f5778853ed Prevent int overflow
Fix #376
2020-02-14 08:18:22 +01:00
Stanisław Barzowski
31b9ace0f6 Remove old release mechanism from Travis 2020-02-10 00:28:17 +01:00
Stanisław Barzowski
70a6b3d419 Release 0.15.0. 2020-02-09 23:57:46 +01:00
Stanisław Barzowski
425405da78 Update cpp-jsonnet. 2020-02-09 23:57:46 +01:00
Stanisław Barzowski
a7af40a87e Remove files which are no longer relevant 2020-02-09 14:59:31 +01:00
Stanisław Barzowski
07fa4c037b Run tests on other CPU architectures (arm64, ppc64le). 2020-02-02 17:52:52 +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
Stanisław Barzowski
492503d13b Fix formatting 2020-01-26 22:21:59 +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
Weston McNamee
9518d4c520 feat: Install extra dependencies
related to #235
2020-01-25 07:45:07 +01:00
Wes McNamee
599addaa03 fix: Typos in travis.yml 2020-01-25 07:45:07 +01:00
Wes McNamee
4573374093 test: Add additional go versions to travis 2020-01-25 07:45:07 +01:00