Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
$ npm install -g liyad-cli
$ liyad --version
Usage: liyad [options] [ -- ] [ -e script | script.lisp | - ] [ -- ] [arguments]
liyad [options]
Options:
- script read from stdin (default; interactive mode if a tty)
-- indicate the end of CLI options / script files
-p, --profile=... select interpreter profile
S S-expression parser
L, lisp (default) lisp interpreter (return single value)
LM lisp interpreter (return multiple values)
L_async, lisp_async lisp interpreter (return single value, enable async)
LM_async lisp interpreter (return multiple values, enable async)
LSX lisp interpreter (return single value, enable LSX)
LSX_async lisp interpreter (return single value, enable LSX, enable async)
--lsx-boot lsxboot.js LSX bootstrap JavaScript file; required if profile LSX or LSX_async is selected.
--safe run as safe mode (disable '$require' and '$node-require')
-e, --eval=... evaluate script
-i, --interactive always enter the REPL even if stdin does not appear to be a terminal
-h, --help print command line options
-v, --version print version informations
--cli-version print cli version informations
lsxboot.js
const React = require('react');
const ReactDOMServer = require('react-dom/server');
class Hello extends React.Component {
render() {
return (React.createElement("div", {}, "hello"));
}
}
exports.dom = React.createElement;
exports.flagment = React.Fragment;
exports.render = ReactDOMServer.renderToStaticMarkup;
exports.components = {
Hello,
};
Use pkg.
$ npm install -g pkg
$ git clone https://github.com/shellyln/liyad-cli.git
$ cd liyad-cli
$ npm ci
$ pkg . --output liyad
$ ./liyad --version
See liyad-lisp-pkg-example and liyad-webapp-example
$ npm install -g liyad-cli
$ mkdir myapp
$ cd myapp
$ npm install liyad-lisp-pkg-example
$ vi app.lisp
app.lisp
($let ex ($require "liyad-lisp-pkg-example"))
;; Benchmarks
($console-log (::ex:tarai 12 6 0))
($console-log (::ex:fib 10))
($console-log (::ex:fac 10))
;; Run the web server on port 3000.
($let url ($node-require "url"))
(::ex:#get "/" (-> (req res)
($let u (::url:parse ::req:url))
(::res@writeHead 200 (# (Content-Type "text/html")))
(::res@end ($concat "hit / ," ::req:method "," ::u:path)) ) )
(::ex:serve 3000) ($last "start server")
$ liyad app.lisp
12
55
3628800
start server
($exit [ code ])
code
: exit code.($shell command)
command
: command and arguments.
($shell "ls -al")
($shell-async command)
command
: command and arguments.
($shell-async "ls -al")
($require id [ profile ])
id
: Load from relative path if id
starts with ./
or ../
. Otherwise load from local or global node_modules
.profile
: (optional) interpreter profile (S/L/lisp/LM/L_async/lisp_async/LM_async).
-p
or --profile
.($node-require id)
id
: Load from relative path if id
starts with ./
or ../
. Otherwise load from local or global node_modules
.($render jsxElement callback)
LSX-bootstrap.render()
and pass rendering result string or error to callback
.undefined
jsxElement
: object returned by LSX-bootstrap.dom()
.callback(error, html)
: callback function called on end of rendering jsxElement
.
error
: not null if error is occured.html
: rendering result html; null if error is occured.($pause [ cond ])
undefined
cond
: if it present, pause if condition is true
.parseArgs(args)
args
: CLI arguments.parseArgs(['-p', 'LSX_async', '--lsx-boot', 'lsxboot.js', 'app.lisp'])
cliCore(curDir, params)
undefined
curDir
: current directory.params
: config object.cliCore(fs.realpathSync(process.cwd()), parseArgs(process.argv.slice(2)))
cli()
undefined
ISC
Copyright (c) 2018, Shellyl_N and Authors.
FAQs
CLI and REPL for Liyad (Lisp yet another DSL interpreter).
The npm package liyad-cli receives a total of 31 weekly downloads. As such, liyad-cli popularity was classified as not popular.
We found that liyad-cli 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 News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.