Skip to content

Write configurable, scriptable, reusable dockerfiles in Typescript or plain Javascript.

License

Notifications You must be signed in to change notification settings

neoskop/dockerfile.js

Repository files navigation

@neoskop/dockerfile.js

Write configurable, scriptable, reusable dockerfiles in Typescript or plain Javascript.

Master
Travis master Test coverage master

Develop
Travis develop Test coverage develop

Usage

CLI

dockerfile-js dockerfile.ts Generates the dockerfile
dockerfile-js dockerfile.ts | docker build -f - . Build a docker image from the generated dockerfile

Typescript:

import { dockerfile, stage, image, run } from "@neoskop/dockerfile.js";

export default dockerfile().stages(
    stage().from(image('node'))
           .commands(
               run('node --version')
            )
);

Javascript:

const { dockerfile, stage, image, run } = require("@neoskop/dockerfile.js");

module.exports = dockerfile().stages(
    stage().from(image('node'))
           .commands(
               run('node --version')
            )
);

Static, factory and async factory export possible.

export default dockerfile().stages(...);
export default () => dockerfile().stages(...);
export default async () => dockerfile().stages(...);

module.exports = dockerfile().stages(...);
module.exports = () => dockerfile().stages(...);
module.exports = async () => dockerfile().stages(...);

Documentation

See Dockerfile Reference for general dockerfile usage. Documentation for dockerfile.js not yet available. Look at the sources for usage details.

Commands

Misc

Testing

This package uses Jest with the ts-jest extension for testing. The following test commands are available

yarn test Single test run
yarn test:watch Reruns the tests on file changes
yarn test:cov Generates a coverage report
yarn test:debug Start the test in debug mode

Versioning

This package follows SemVer and uses @neoskop/flow-bump for versioning.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

Write configurable, scriptable, reusable dockerfiles in Typescript or plain Javascript.

Resources

License

Stars

Watchers

Forks

Packages

No packages published