Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@andreypopp/esy
Advanced tools
Rough sketch start of implementation for
PackageJsonForCompilers
concept. (Here, the name is esy
instead of pjc
).
esy
seeks to support an "eject" feature, which makes
PackageJsonForCompilers
easy to deploy/build on hosts that don't even have
node installed - they would only need make
. Just copy the entire sandbox over
to the host and run the makefile.
The esy
command (without anything following the esy
word), prints the
environment for one package, taking into account variables exported by
dependencies. The final goal of the esy build
command is to walk the entire
dependency graph, running their build
commands, and running each dependency's
build
command in an environment computed from the esy
command, for that
one package.
The environments computed by esy
are with respect to (sandbox root, cur
package), where the sandbox root is the top level package we're building
everything for, and cur
package is one of the transitive dependencies.
Running esy
in a directory is like printing the environment as if pwd
was
both the sandbox root and the "currently building package".
The esy build
command would walk the tree with sandbox root = topmost package
,
and at each node set cur package = <THIS_DEPENDENCY>
, and run the build command
in an environment computed based on that combination.
We'd want to generate a makefile that encodes the graph of packages, and can build everything with maximum parallelism.
Built In Commands
Command | Meaning | Implemented |
---|---|---|
esy | Print the environment variables for current directory as sandbox root and cur root. | Started |
esy build | Implements pjc build command from PackageJsonForCompilers proposal. Should generate Makefile | Yes |
esy any command here | Executes any command here but in the sandbox that would be printed via esy | No |
Run the test. The output shows the environment computed for a single package
PackageA
. Some errors are logged into the comments of the output.
cd tests/TestOne/PackageA
./test.sh
The output isn't actually verified yet. We should create many more similar tests, even if they don't work correctly yet.
pjc
proposal.esy.js
comments.buildTimeOnlyDependencies
in order to "cut off" scope of environment
variables._build
and _install
directories, populate variables
accordingly.https://github.com/andreypopp/esy-ocaml-project
This is a fork of dependency-env
which is more stable.
FAQs
Easy Package.json Sandboxes For Compilers
We found that @andreypopp/esy 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
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.