
Security Fundamentals
Obfuscation 101: Unmasking the Tricks Behind Malicious Code
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
To install:
npm install -g jldc
IMPORTANT: You need Python 2.x (2.7 recommended) in order to build this installation. This cli tool has the official jsonld.js library as a dependency, which in turn has the node-gyp library as a dependency. Building the node-gyp library requires Python 2.x; it does not work with Python 3.x. You do not need to know any Python to use this tool; the language is invisible after the build process.
JLDC uses the NodeJS promisify function, so it requires at least NodeJS 8.0.
An official JSON-LD CLI Tool also exists (written by DigitalBazaar, not by me). JLDC has better error trapping, more comprehensive help messages, and a cleaner interface with JSON-LD version 2. However, JLDC contains much more code, so if you understand JSON-LD well and you want a lighter-weight tool, the official CLI is probably a better choice for you.
I needed this tool for a project, but I took writing this as an oportunity to learn inversify.js. This tool is written in pure Typescript, and, depending on your perspective, it either follows good OOP principles, or it uses unnecessarily fancy code for a simple job. Probably both perspectives are true!
jldc
or jldc --help
provides general help
jldc --info
provides package information
jldc --version
provides version information
jldc commandName --help
provides specific help for the command named commandName
.
compact [options] <sourceFile> <contextFile> [targetFile]
Option: -a, --no-compact-arrays
Apply the context from contextFile
to the JSON or JSON-LD in sourceFile
, and write the result to targetFile
.
If not specified, the name of the target file is targetFile.json
. If the option -a
is selected, the no-compact-arrays flag of the compact algorithm is set so that arrays will not be compacted to singletons.
For more information see here.
deserialize [options] <sourceFile> [targetFile]
Deserialize a document from (RDF) to JSON-LD. Currently, -h
or --help
is the only option supported.
expand [options] <sourceFile> [targetFile]
Expand the JSON or JSON-LD in sourceFile
, and write the result to targetFile
.
If not specified, the name of the target file is targetFile.json
. Currently, -h
or --help
is the only option supported.
For more information see here
flatten [options] <sourceFile> [targetFile]
Flatten the JSON or JSON-LD in sourceFile
, and write the result to targetFile
.
If not specified, the name of the target file is targetFile.json
. Currently, -h
or --help
is the only option supported.
For more information see here
frame [options] <sourceFile> <frameFile> [targetFile]
Apply the frame from frameFile
to the JSON or JSON-LD in sourceFile
, and write the result to targetFile
.
If not specified, the name of the target file is targetFile.json
. Currently, -h
or --help
is the only option supported.
For more information see here
normalize [options] <sourceFile> [targetFile]
Normalize a document using the RDF Dataset Normalization Algorithm (URDNA2015). Currently, -h
or --help
is the only option supported.
For more information see here
serialize [options] <sourceFile> [targetFile]
Serialize a document to N-Quads (RDF). Currently, -h
or --help
is the only option supported.
1.0.1 (14 Sept 2018)
Fixed minor bug.
FAQs
JSON-LD comand line tool with advanced user interface and error trapping.
The npm package jldc receives a total of 10 weekly downloads. As such, jldc popularity was classified as not popular.
We found that jldc demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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 Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.
Security News
Biome's v2.0 beta introduces custom plugins, domain-specific linting, and type-aware rules while laying groundwork for HTML support and embedded language features in 2025.