0.0.1-alpha.217 • Published 2 years ago

@incremental.design/box-base v0.0.1-alpha.217

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

box-base

Run node in a docker container, using javascript, rather than the docker CLI.

Installation:

yarn add --dev @incremental.design/box-base or npm install @incremental.design/box-base

Usage:

There are THREE ways to use this package:

  1. Run the box-base script, with npx box-base. This will use docker to build an incrementaldesign/box-base image, and then run it. You have to install and start docker desktop before you run this script.

    • This script accepts the following flags:

      • my-flag-here: name of flag

      If you don't provide all of the aformentioned flags, the script will prompt you to provide them.

  2. import box-base into your own typescript project:

    import boxBase from '@incremental.design/box-base`

const { dockerInstance, // instance of the docker API destroy, // a function that undoes everything that boxBase did // (with the exception of writing to bind mounts) items // an object that contains all of the images, containers, // volumes and docker networks that boxBase created, used, or started } = await boxBase({ option1: "abcd" // explain the option here })

3. import any of the utilities in the `@incremental.design/box-base` package into your own typescript project.

```typescript

import {
addToKeychain,
buildFromDockerfile,
checkDocker,
createLocalVolume,
deglobify,
generatePasswords,
getAnswersFromCLI,
getFromDockerHub,
isDockerReady,
isLabelValid,
makePasswordPrompt,
prettyPrintJSON,
print,
printProgress,
quickstartFactory,
retreiveFromKeychain,
startContainer,
streamContainerOutput,
} from '@incremental.design/box-base`

How box-base works:

Explain how execution works. What is the entry point for your code? Which files correspond to which functionality? What is the lifecycle of your project? Are there any singletons, side effects or shared state among instances of your project? Take extra care to explain design decisions. After all, you wrote an ENTIRE codebase around your opinions. Make sure that your repository's contributors understand them.

Contribute to box-base:

See dev-boxes/README.md.