
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@logseq/nbb-logseq
Advanced tools
nbb-logseq provides easy CLJS scripting on
Node.js for Logseq. Since logseq is primarily
written with ClojureScript, this scripting
environment has capabilities that are not possible in any other environment. For
example, see here for a script that queries any logseq
graph.
nbb-logseq is a custom version of nbb that
bundles support for datascript, datascript-transit and a couple other cljs
libraries that are useful to logseq. A good amount of the datascript API is
available as seen by its
tests.
Since nbb only loads features/libraries when they are required, users can write
datascript based CLIs without concern of loading the other libraries.
Install nbb-logseq from npm:
npm install @logseq/nbb-logseq -g
Omit -g for a local install.
All the usage examples from https://github.com/babashka/nbb#usage apply to
nbb-logseq e.g.
$ nbb-logseq -e '(+ 1 2 3)'
6
nbb-logseq can use libraries from both NPM and ClojureScript. For NPM
libraries, use package.json like you would in a Node.js project. For
ClojureScript libraries, create a nbb.edn file and install
babashka. The two main keys
a nbb.edn file supports are :deps and :paths. See babashka
docs for more about the format of
this file and those keys. See nbb's
docs for more info about how
nbb's dependencies generally work.
Logseq's graph parser is a ClojureScript library with npm dependencies. To use
it as a dependency requires a nbb.edn for the ClojureScript code and a
package.json for the npm dependencies. For a quickstart with these files, copy
them from the fly.io example. Note that Logseq code is fetched
via git with nbb.edn so a specific commit and git repository can be
specified.
Starting with version 1.2.168, nbb-logseq supports publishing node CLIs with
a nbb.edn. This means that it's possible to write a script that uses logseq's
graph-parser
and share it with others so they can install it on their $PATH.
Community CLIs with a nbb.edn:
From any script directory that has a nbb.edn, install CLIs on $PATH with
yarn global add $PWD or npm i -g. If using yarn and ~/.yarn/bin is not
on $PATH, add it to your shell's rc file e.g. export PATH="$HOME/.yarn/bin:$PATH".
To convert a nbb-logseq cljs script into a CLI that others can install and use:
.mjs file that invokes your nbb-logseq cljs script.
bin entry to package.json that maps your CLI name to the cljs file.For a tutorial on doing the above, read nbb's publish doc.
nbb-logseq follows the same versioning as nbb. In other words, an 0.4.0 for
nbb-logseq provides nbb 0.4.0 with the additional libraries.
Example contributions are welcome. For feature contributions, please discuss them first as this is a low level library that will be relied on by multiple CLIs.
See LICENSE.md
These sections for those developing this project.
To QA that your branch works as expected on a dependent repository e.g. logseq/graph-parser:
bb release in this repo to build a local release.yarn add /path/to/nbb-logseq in a dependent's repo.yarn nbb-logseq FILE.cljs to run a given file. The graph-parser can confirm all it's namespaces load nbb-logseq with bb test:load-all-namespaces-with-nbb.Steps to publish a new npm package:
bb update-nbb on https://github.com/babashka/nbb-features and confirm CI passes.bb update-nbb on this repo and confirm CI passes.bb publish X.Y.Z where X.Y.Z is the version to publish. Push to github to publish.FAQs
Nbb with additional libraries like datascript included
The npm package @logseq/nbb-logseq receives a total of 336 weekly downloads. As such, @logseq/nbb-logseq popularity was classified as not popular.
We found that @logseq/nbb-logseq demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.