Write configurable, scriptable, reusable dockerfiles in Typescript or plain Javascript.
npm install @neoskop/dockerfile.jsWrite configurable, scriptable, reusable dockerfiles in Typescript or plain Javascript.
Master
[![Travis master][travis-master-image]][travis-master-url]
[![Test coverage master][coveralls-master-image]][coveralls-master-url]
Develop
[![Travis develop][travis-develop-image]][travis-develop-url]
[![Test coverage develop][coveralls-develop-image]][coveralls-develop-url]
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')
)
);
`$3
`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.
`typescript
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(...);
`$3
See Dockerfile Reference for general dockerfile usage. Documentation for dockerfile.js not yet available. Look at the sources for usage details.
Commands
* ADD
* ARG
* CMD
* COPY
* ENTRYPOINT
* ENV
* EXPOSE
* FROM
* HEALTHCHECK
* LABEL
* ONBUILD
* RUN
* STOPSIGNAL
* USER
* VOLUME
* WORKDIR
* RAW
Misc
* Dockfile
* Stage
* Multistage
* Image
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 This package follows SemVer and uses @neoskop/flow-bump for versioning.
This project is licensed under the MIT License - see the LICENSE.md file for details
[travis-master-image]: https://img.shields.io/travis/neoskop/dockerfile.js/master.svg
[travis-master-url]: https://travis-ci.org/neoskop/dockerfile.js
[travis-develop-image]: https://img.shields.io/travis/neoskop/dockerfile.js/develop.svg
[travis-develop-url]: https://travis-ci.org/neoskop/dockerfile.js
[coveralls-master-image]: https://coveralls.io/repos/github/neoskop/dockerfile.js/badge.svg?branch=master
[coveralls-master-url]: https://coveralls.io/github/neoskop/dockerfile.js?branch=master
[coveralls-develop-image]: https://coveralls.io/repos/github/neoskop/dockerfile.js/badge.svg?branch=develop
[coveralls-develop-url]: https://coveralls.io/github/neoskop/dockerfile.js?branch=develop