MCPcopy
hub / github.com/just-js/just

github.com/just-js/just @0.1.13 sqlite

repository ↗ · DeepWiki ↗ · release 0.1.13 ↗
138 symbols 265 edges 14 files 2 documented · 1%
README

Just Gitpod ready-to-code

A very small v8 javascript runtime for linux only

Binder

Build and Run

Currently working on modern linux (debian/ubuntu and alpine tested) on x86_64

# download and run the build script
sh -c "$(curl -sSL https://raw.githubusercontent.com/just-js/just/current/install.sh)"
# install just binary to /usr/local/bin
make -C just install
# export the just home directory
export JUST_HOME=$(pwd)/just
export JUST_TARGET=$JUST_HOME
# if you don't want to install, add JUST_HOME to SPATH
export PATH=$PATH:$JUST_HOME
# run a shell
just

Create a new Application

# initialise a new application in the hello directory
just init hello
cd hello
# build hello app
just build hello.js --clean --static
./hello

Command Line Options

Run a Just shell/repl

just

Pipe a script to stdin

cat hello.js | just --

Eval some Javascript passed as an argument

just eval "just.print(just.memoryUsage().rss)"

Run a script

just hello.js

Initialise a new project and build it

just init hello
cd hello
just build

Clean a built project

just clean

Documentation

Coming soon...

Philosophy/Goals

  • small, secure, robust and performant js runtime for linux
  • small codebase. easy to understand and hack
  • very simple layer on top of system calls, v8 and c/c++ standard libraries
  • minimal use of classes/function templates and OO - "c" in javascript
  • favour return codes over exceptions
  • platform for building system software on linux in javascript
  • as close to native performance as possible
  • secure by default
  • avoid abstraction as much as possible. abstractions can be built in userland
  • commonjs modules, no support for ES modules
  • non-async by default - can do blocking calls and not use the event loop
  • event loop in JS-land. full control over epoll api
  • small standard library - leave as much to userland as possible. focus on primitives needed to build higher level abstractions
  • useful as a teaching/learning platform for linux system programming and learning more about javascript and v8 internals
  • small number of source files
  • minimal dependencies - g++ and make only
  • keep LOC as small as possible < 5k
  • allocate as little as possible on v8 heap

Core symbols most depended-on inside this repo

c
called by 35
lib/acorn.js
isFile
called by 17
lib/fs.js
h
called by 12
lib/acorn.js
isDir
called by 12
lib/fs.js
linkFile
called by 12
lib/build.js
require
called by 10
just.js
writeFile
called by 10
lib/fs.js
checkFlag
called by 9
lib/fs.js

Shape

Function 130
Class 4
Method 4

Languages

TypeScript100%

Modules by API surface

lib/acorn.js32 symbols
just.js22 symbols
lib/inspector.js15 symbols
lib/fs.js15 symbols
lib/freeze.js10 symbols
lib/build.js9 symbols
lib/websocket.js8 symbols
lib/path.js8 symbols
lib/configure.js7 symbols
lib/loop.js5 symbols
lib/repl.js4 symbols
lib/process.js3 symbols

For agents

$ claude mcp add just \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact