
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@cityjson/cjseq
Advanced tools
cjseq is a Rust libray+binary for creating, processing, and modifying CityJSONSeq files, as well as converting to/from CityJSON.
cargo install cjseqcjseq is installed system-widecargo install cjseqgit clone https://github.com/cityjson/cjseq.gitcargo build --release./target/release/cjseq --helpcjseq takes input from either a file or the standard input (stdin, if no file path is given as argument), and it always outputs the results to the standard output (stdout).
The output can be a CityJSON object or a CityJSONSeq stream.
The operator "cat" converts a CityJSON file to a CityJSONSeq stream:
cjseq cat myfile.city.json > myfile.city.jsonl
Alternatively, to use stdin as input:
cat myfile.city.json | cjseq cat
The operator "collect" converts a CityJSONSeq stream to a CityJSON file:
cat ./data/3dbag_b2.city.jsonl | cjseq collect > 3dbag_b2.city.json
cjseq collect ./data/3dbag_b2.city.jsonl > 3dbag_b2.city.json
Notice that globbing works for the collect command:
cat ./data/*.city.jsonl | cjseq collect > hugefile.city.json
An input stream of CityJSONSeq can be filtered with the following operators:
--bbox <minx> <miny> <maxx> <maxy>
Bounding box filter
--cotype <COTYPE>
Keep only the CityObjects of this type
--exclude
Excludes the selection, thus remove the selected city object(s)
--radius <x> <y> <radius>
Circle filter: centre + radius
--random <X>
1/X chances of a given feature being kept
As an example:
cat myfile.city.jsonl | cjseq filter --bbox 85007 446179 85168 446290 > mysubset.city.jsonl
cjseq can be used in JavaScript/TypeScript applications via WASM bindings.
cargo install wasm-pack
Build the WASM bindings:
wasm-pack build --release --target web --out-dir js
FAQs
Create+process+modify+convert CityJSONSeq
We found that @cityjson/cjseq demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.