Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@jkcfg/std
Advanced tools
jk
is still in very early stages. The standard library API isn't frozen and will most likely change. Feedback is most definitely welcome!
jk
is a data templating tool designed to help writing structured
configuration files.
The main idea behind jk
is to use a general purpose language for this task.
They offer mature tooling, great runtimes, a well established ecosystem and
many learning resources. jk
uses Javascript and a runtime tailored for
configuration.
A good way to start with jk
is to read our introduction tutorial.
For more context head to our introduction blog post!
jk
itself is a Javascript runtime written in Go and embedding v8. It
uses Ryan Dahl's v8worker2 to embed v8 and
flatbuffers for the v8 ⟷ Go communication.
While a general purpose language is great, configuration code can be made
more maintainable by restricting what it can do. A nice property jk
has to
offer is being hermetic: if you clone a git repository
and execute a jk
script, the resulting files should be the same on any
machine. To give concrete examples, this means the jk
standard library
doesn't support environment variables nor has any networking capability.
jk
provides an unopinionated data templating layer. On top of the jk
runtime, libraries provide APIs for users to write configuration.
This project is still in early stages but future (exciting!) plans include:
When contributing to this repository, please first discuss the change you wish to make via issue with the owners of this repository before making a change.
The jk
executable itself is written in Go, but the JavaScript part of this project requires NodeJS.
Prerequisites:
go
1.11.4 or later (modules support)nodejs
, npm
make
First off, clone this repository:
$ git clone https://github.com/jkcfg/jk.git
# or with hub:
$ hub clone jkcfg/jk
$ cd ./jk
Then pull most of the dependencies using the Makefile
:
$ make dep
jk
is linked against v8worker2
. As building V8 takes ~30 minutes, prebuilt versions are provided for linux/amd64
and darwin/amd64
. This also includes flatc
from flatbuffers
:
# download the prebuilt artifacts from GitHub:
$ git clone https://github.com/jkcfg/prebuilt.git
$ cd ./prebuilt
# x64 Linux:
$ make install-linux-amd64
# x64 macOS:
$ make install-darwin-amd64
After setting up the environment, the jk
binary can be built:
$ make jk
$ ./jk --help # confirm it works
Additionally, on Linux, it's possible to use a docker container to build the project instead of installing the prebuilt libraries and binaries:
$ ./run-in-docker.sh make dep jk
FAQs
jk standard library
The npm package @jkcfg/std receives a total of 13,111 weekly downloads. As such, @jkcfg/std popularity was classified as popular.
We found that @jkcfg/std demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.