Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@esy-ocaml/esyb

Package Overview
Dependencies
Maintainers
3
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@esy-ocaml/esyb

Package builder for esy

  • 0.0.10
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
11
increased by1000%
Maintainers
3
Weekly downloads
 
Created
Source

esyb

A package builder for esy.

How it works

A single command esyb operates on a build description, it allows to:

  • Build a package with esyb build command.
  • Shell into the build environment with esyb shell.
  • Execute commands with the build environment with esyb exec -- <command>.

Build description

Build description is a JSON files with the information about a package's build environment and commands needed to build the package and install its artifacts to the store.

Example:

{
  "id": "pkg-1.0.0-somehash",
  "name": "pkg",
  "version": "1.0.0",
  "sourceType": "immutable",
  "buildType": "_build",
  "build": [
    ["jbuilder", "build"]
  ],
  "install": [
    ["jbuilder", "install"]
  ],
  "sourceDir": "%sandbox%",
  "stageDir": "%localStore%/s/name",
  "installDir": "%localStore%/i/name",
  "buildDir": "%localStore%/b/name",
  "env": {
    "cur__name": "pkg",
    "cur__install": "%localStore%/s/name",
    ...
  }
}

Usually you get those build description from esy.

Note that some properties are allowed to use %name% variables:

  • %sandbox% — the absolute path to the sandbox.
  • %store% — the absolute path to the store.
  • %localStore% — the absolute path to the sandbox-local store.

This is needed to allow build descriptions not to be tied to a concrete host.

Examples:

Build the project using $PWD/build.json description:

% esyb build

Build the project using the specified build description:

% esyb build -B build-merlin.json

Build description can also be read from stdin (useful for automatically generated build descriptions):

% cat build-merlin.json | esyb build -B -

Requirements

  • rsync executable

Development

install esy, install dependencies and build:

% npm install -g esy
% make install build-dev

Then you can test it:

% esy x esyb

Publishing a release

Things to consider:

  • package.json contains npm metadata for a dist package, you can bump version in there using npm version patch|minor|major or othewise edit it however you need. Note that the list of files in to be included in the dist is also hardcoded in Makefile.

  • postinstall.sh contains a list of instructions to be performed after the installation.

Produce a ready to be published release package within the dist/ directory:

% make dist

Publish it:

% cd dist/
% npm publish

FAQs

Package last updated on 03 Jan 2018

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc