Compare commits

...

72 Commits

Author SHA1 Message Date
f393560c78 5.0.23 2019-06-18 17:25:34 +02:00
258de44568 fix(core): update 2019-06-18 17:25:34 +02:00
02b846642e 5.0.22 2019-06-10 11:37:24 +02:00
7f05f5da84 fix(core): update 2019-06-10 11:37:24 +02:00
a818bf8aeb 5.0.21 2019-06-10 11:35:56 +02:00
d182b93d65 fix(core): update 2019-06-10 11:35:56 +02:00
875da4bc76 5.0.20 2019-06-10 11:31:48 +02:00
3b2729f9bf fix(core): update 2019-06-10 11:31:47 +02:00
d309093c77 5.0.19 2019-06-10 11:05:43 +02:00
78544b9c7a fix(core): update 2019-06-10 11:05:42 +02:00
0b80f1b2ac 5.0.18 2019-06-10 10:58:01 +02:00
094fa46f80 fix(core): update 2019-06-10 10:58:01 +02:00
7c8e796611 5.0.17 2019-06-10 10:56:41 +02:00
30188f8aeb 5.0.16 2019-06-10 10:51:20 +02:00
f829160720 fix(core): update 2019-06-10 10:51:19 +02:00
755ddd2d77 5.0.15 2019-06-10 10:43:23 +02:00
9fbcb625d3 fix(core): update 2019-06-10 10:43:22 +02:00
5ef828500b 5.0.14 2019-06-08 21:36:23 +02:00
a763bc61a0 fix(core): update 2019-06-08 21:36:23 +02:00
860d5c722e 5.0.13 2019-06-03 13:15:48 +02:00
b370777bd4 fix(core): update 2019-06-03 13:15:48 +02:00
4f280ebd13 5.0.12 2019-05-29 20:04:06 +02:00
4e10028f65 fix(core): update 2019-05-29 20:04:06 +02:00
bb44e89699 5.0.11 2019-05-08 23:17:11 +02:00
2ad5215865 fix(core): update 2019-05-08 23:17:11 +02:00
e60bf4dae8 5.0.10 2019-05-08 22:27:59 +02:00
d44f8d7959 fix(core): update 2019-05-08 22:27:59 +02:00
33cad48fed 5.0.9 2018-12-24 01:53:51 +01:00
79e0128d30 fix(core): update 2018-12-24 01:53:51 +01:00
24531b63b0 5.0.8 2018-12-01 15:36:33 +01:00
a7d2b34f8b 5.0.7 2018-11-29 11:06:53 +01:00
1089942cc3 fix(core): update 2018-11-29 11:06:53 +01:00
f443d220c6 5.0.6 2018-11-29 10:57:30 +01:00
52866e8aa5 fix(tests): remove npmts from tests 2018-11-29 10:57:30 +01:00
50cb638732 5.0.5 2018-11-29 10:49:50 +01:00
67470d22f4 fix(core): update 2018-11-29 10:49:50 +01:00
5a3f5a1a72 5.0.4 2018-11-29 08:03:22 +01:00
3cdcc3738b fix(core): update 2018-11-29 08:03:21 +01:00
d2c8e2b51e 5.0.3 2018-11-28 23:31:14 +01:00
b69c781c4d fix(core): update 2018-11-28 23:31:14 +01:00
7bc8cb3f51 5.0.2 2018-11-28 22:37:04 +01:00
1ce4382885 fix(core): update 2018-11-28 22:37:03 +01:00
e9ff80ceae 5.0.1 2018-11-26 20:36:04 +01:00
32ceafbd59 fix(node versions): update 2018-11-26 20:36:03 +01:00
1acbe775fc 5.0.0 2018-07-16 00:16:12 +02:00
98f9724739 4.3.69 2018-07-16 00:15:36 +02:00
a93ee5a185 4.3.68 2018-07-02 23:02:51 +02:00
90bae2fce4 fix(core): update node versions 2018-07-02 23:02:51 +02:00
ae30ceec26 4.3.67 2018-05-27 13:33:19 +02:00
f1426931fa fix(tests): fis test that did not make sense 2018-05-27 13:33:19 +02:00
097a741488 4.3.66 2018-05-27 13:21:50 +02:00
9d62eab807 fix(dependencies): update to scoped versions of npmci and npmdocker 2018-05-27 13:21:49 +02:00
baeb46ed81 4.3.65 2018-05-27 13:18:51 +02:00
ddd4970762 remove yarn 2018-05-27 13:18:17 +02:00
04659b9344 4.3.64 2018-05-16 18:05:56 +02:00
0ad9c4fcd3 fix(core): add default workspace directory 2018-05-16 18:05:55 +02:00
43063e3507 4.3.63 2018-05-16 01:37:59 +02:00
02ea32961b fix(core): cleanup 2018-05-16 01:37:59 +02:00
c5365798b6 4.3.62 2018-05-16 01:31:41 +02:00
184e13b91e fix(:chrome): update 2018-05-16 01:31:40 +02:00
a1f5bbb6f0 4.3.61 2018-05-16 01:08:52 +02:00
21189adb66 fix(:chrome): fix 2018-05-16 01:08:52 +02:00
4bd28a3a54 4.3.60 2018-05-16 01:00:22 +02:00
b48aa0e077 fix(:chrome): docker tag :chrome is now working with sandboxing 2018-05-16 01:00:21 +02:00
95f4b0b8e4 4.3.59 2018-04-29 17:17:44 +02:00
bb1db7e9a8 remove npmpage 2018-04-29 17:17:40 +02:00
12a9413444 4.3.58 2018-04-29 17:05:05 +02:00
69d937edb0 update to latest standards 2018-04-29 17:04:56 +02:00
4953e7b345 4.3.57 2018-04-10 13:47:24 +02:00
c04e941274 update ci 2018-04-10 13:47:18 +02:00
dfadb7e1f2 4.3.56 2018-04-10 13:45:01 +02:00
1932695c81 add verify step 2018-04-10 13:44:54 +02:00
23 changed files with 215 additions and 608 deletions

21
.gitignore vendored
View File

@ -1 +1,22 @@
.nogit/
# artifacts
coverage/
public/
pages/
# installs
node_modules/
# caches
.yarn/
.cache/
.rpt2_cache
# builds
dist/
dist_web/
dist_serve/
dist_ts_web/
# custom

View File

@ -1,68 +1,52 @@
# gitzone docker
image: hosttoday/ht-docker-dbase:npmci
services:
- docker:dind
# gitzone ci_docker
image: hosttoday/ht-docker-node:npmci
cache:
paths:
- .npmci-cache/
key: "$CI_BUILD_STAGE"
before_script:
- npmci npm prepare
stages:
- buildAndTest
- test
- release
- trigger
- pages
before_script:
- yarn global add npmci
- npmci docker login
buildTest:
stage: buildAndTest
testSTABLE:
stage: test
script:
- npmci docker build
- npmci docker test
except:
- tags
- triggers
- npmci node install stable
- npmci npm install
- npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- lossless
- priv
- docker
buildTestRelase:
stage: buildAndTest
release:
image: hosttoday/ht-docker-dbase:npmci
services:
- docker:dind
stage: release
script:
- npmci node install stable
- npmci docker login
- npmci docker build
- npmci docker test
- npmci docker push registry.gitlab.com test
- npmci docker push registry.gitlab.com
- npmci docker push docker.io
only:
- tags
- triggers
tags:
- lossless
- docker
- priv
trigger:
stage: trigger
script:
- npmci trigger
only:
- tags
- triggers
tags:
- lossless
- priv
pages:
before_script:
- 'npmci -v'
image: hosttoday/ht-docker-node:npmci
stage: pages
script:
- npmci command yarn global add npmpage
- npmci command npmpage
only:
- tags
tags:
- docker
artifacts:
expire_in: 1 week
paths:
- public

View File

@ -1,8 +1,9 @@
FROM ubuntu:xenial
LABEL author="Lossless GmbH <office@lossless.com>"
LABEL author="Lossless GmbH <hello@lossless.com>"
WORKDIR /workspace
# important environment variables
ENV NODE_VERSION_LTS="8.9.4" NODE_VERSION_STABLE="9.4.0" NVM_DIR="/usr/local/nvm"
ENV NODE_VERSION_LTS="10.16.0" NODE_VERSION_STABLE="11.2.0" NVM_DIR="/usr/local/nvm"
# Set debconf to run non-interactively and install packages
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \
@ -23,10 +24,44 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
rsync \
ssh \
wget \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
gconf-service \
libasound2 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libc6 \
libcairo2 \
libcups2 \
libdbus-1-3 \
libexpat1 \
libfontconfig1 \
libgcc1 \
libgconf-2-4 \
libgdk-pixbuf2.0-0 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libstdc++6 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxi6 \
libxrandr2 \
libxrender1 \
libxss1 \
libxtst6 \
fonts-liberation \
libappindicator1 \
libnss3 \
lsb-release \
xdg-utils \
&& apt-get update \
&& apt-get install yarn -y \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*

3
Dockerfile_alpine Normal file
View File

@ -0,0 +1,3 @@
FROM node:11.3.0-alpine
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN apk update && apk add bash libc6-compat

View File

@ -1,18 +0,0 @@
FROM hosttoday/ht-docker-node:stable
# See https://crbug.com/795759
RUN apt-get update && apt-get install -yq libgconf-2-4 \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*
# Install latest chrome dev package.
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
# installs, work.
RUN apt-get update && apt-get install -y wget --no-install-recommends \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-unstable \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /src/*.deb

11
Dockerfile_iot Normal file
View File

@ -0,0 +1,11 @@
FROM hosttoday/ht-docker-node:latest as stage1
RUN apt-get update && apt-get install -y --no-install-recommends qemu-user-static binfmt-support
# the following lines need to be run on a system that supports both architectures
# update-binfmts --enable qemu-arm \
# && update-binfmts --display qemu-arm \
# && mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc \
# && echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register
FROM arm32v7/node:lts-jessie as stage2
COPY --from=stage1 /usr/bin/qemu-arm-static /usr/bin/qemu-arm-static

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:latest
LABEL author="Lossless GmbH <office@lossless.com>"
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_LTS \

View File

@ -1,4 +1,4 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>"
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN yarn global add npmci
RUN npm install -g @shipzone/npmci

View File

@ -1,14 +0,0 @@
FROM hosttoday/ht-docker-node:npmci
LABEL author="Lossless GmbH <office@lossless.com>"
# Install Java.
RUN \
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
add-apt-repository -y ppa:webupd8team/java && \
apt-get update && \
apt-get install -y oracle-java8-installer && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/oracle-jdk8-installer
# Define commonly used JAVA_HOME variable
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle

View File

@ -1,4 +1,4 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>"
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN yarn global add npmci npmdocker @gitzone/npmts ts-node
RUN npm install -g @shipzone/npmci @gitzone/tsdocker @gitzone/tsrun

View File

@ -1,21 +0,0 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>"
RUN apt-get update && apt-get install -y python-pip
RUN yarn global add npmpage
RUN pip install --upgrade pip \
&& pip install mkdocs \
&& mkdocs --version \
&& pip install mkdocs-material \
&& pip install pygments \
&& pip install pymdown-extensions
# Set working directory
WORKDIR /docs
# Expose MkDocs development server port
EXPOSE 8000
# Start development server by default
ENTRYPOINT ["mkdocs"]
CMD ["serve", "--dev-addr=0.0.0.0:8000"]

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:latest
LABEL author="Lossless GmbH <office@lossless.com>"
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_STABLE \

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2016 Host.Today
Copyright (c) 2016 Lossless GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,47 +0,0 @@
---
name: ht-docker-node
description: the ultimate docker-node image
---
# ht-docker-node
the ultimate docker node image
## Status
[![build status](https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
## Availability
Registry | Image Path
--- | ---
GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node
Docker Hub | hosttoday/ht-docker-node
## Usage
The purpose of this Docker image is to provide a robust base for node apps and CI.
It comes in different flavours and all of them have node, npm, git and ssh in PATH.
The **:npmci flavour** has npmci in path and can install any required node version and update PATH accordingly:
```Dockerfile
FROM hosttoday/ht-docker-node:npmci
RUN npmci install [node_version_number] // this installs node using node and sets the default to the new node and npm versions
```
## Flavour Overview:
* **:lts** - node lts version, equals :latest
* **:stable** - node stable version
* **:npmci** - npmci preinstalled
* **:npmcijava - npmci + java
* **:npmpage** - npmci + npmts + npmpage preinstalled
* **:mongo** - npmci + npmts + mongo
## optimized for performance with npmci and npmts
Take a goof look at the **npmts** and **npmci** tools on npm. They make development of TypeScript node modules rediculouly easy :)
The **:npmcijava** flavour works together with **smartwebdriver** so you can test all your cool polymer elements in a headless chrome environment or sauce :)
For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://hosttoday.gitlab.io/assets/repo-footer.svg)](https://host.today)

13
npmextra.json Normal file
View File

@ -0,0 +1,13 @@
{
"gitzone": {
"module": {
"githost": "gitlab.com",
"gitscope": "hosttoday",
"gitrepo": "ht-docker-node",
"shortDescription": "docker image with nodejs and shipzone.io support",
"npmPackagename": "@hosttoday/ht-docker-node",
"license": "MIT"
}
},
"npmci": {}
}

View File

@ -1,10 +1,11 @@
{
"name": "ht-docker-node",
"version": "4.3.55",
"description": "docker image with nodejs with shipzone.io support",
"version": "5.0.23",
"description": "docker image with nodejs and shipzone.io support",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "echo \"no npm test specified\"",
"build": "echo \"Not needed for now\""
},
"repository": {
"type": "git",
@ -15,5 +16,19 @@
"bugs": {
"url": "https://github.com/HostToday/ht-docker-node/issues"
},
"homepage": "https://github.com/HostToday/ht-docker-node#readme"
"homepage": "https://github.com/HostToday/ht-docker-node#readme",
"private": true,
"files": [
"ts/*",
"ts_web/*",
"dist/*",
"dist_web/*",
"assets/*",
"cli.js",
"npmextra.json",
"readme.md"
],
"directories": {
"test": "test"
}
}

View File

@ -1,411 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Quicksite</title>
<link
href="https://fonts.googleapis.com/css?family=Roboto+Mono:300,400,700|Roboto+Slab:300,400,700|Roboto:300,400,700"
rel="stylesheet"
>
<style>
.menuBox {
box-shadow: 0px 0px 5px #CCCCCC;
margin: auto;
box-sizing: border-box;
margin-bottom: 70px;
margin-top: 0px;
width: 100%;
background: #2196F3;
position: fixed;
padding: 15px;
will-change: transform; }
.menuBox .menuItems {
text-align: right; }
.menuBox .menuItems a {
display: inline-block;
padding: 0px 10px;
border-right: 1px #fff solid;
font-size: 15px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
text-decoration: none;
color: #fafafa; }
.menuBox .menuItems a:hover {
color: #fff; }
.menuBox .menuItems a:last-of-type {
border-right: none; }
h1,
h2,
h3,
h4 {
margin: 1.414rem 0 .5rem;
font-weight: inherit;
font-family: 'Roboto Slab', serif;
line-height: 1.42;
text-align: center; }
h1 {
margin-top: 0;
font-size: 3.998rem; }
h1::after {
display: block;
margin: auto;
margin-top: 0px;
width: 200px;
border-top: 2px #e4002b solid;
content: ''; }
h1 + h2 {
font-weight: 300;
margin-top: 5px;
font-size: 25px; }
h2 {
font-size: 2.827rem; }
h3 {
font-size: 1.999rem; }
h4 {
font-size: 1.414rem; }
h5 {
font-size: 1.121rem; }
h6 {
font-size: .88rem; }
table {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
width: 100%;
margin-bottom: 2rem;
margin-left: 0px;
margin-right: 0px;
background-color: #fff;
box-shadow: 0px 0px 3px #ccc;
border-radius: 3px;
padding: 10px; }
@media screen and (min-width: 768px) {
table {
width: 768px; } }
@media screen and (min-width: 1200px) {
table {
width: 968px;
margin-left: -100px;
margin-right: -100px; } }
table thead tr,
table tbody tr,
table tfoot tr {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th,
table thead tr td,
table tbody tr th,
table tbody tr td,
table tfoot tr th,
table tfoot tr td {
text-align: left;
padding: 10px;
vertical-align: top;
border-top: 0;
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th {
font-weight: 400;
color: #757575;
vertical-align: bottom;
border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
border-top: 0; }
table tbody + tbody {
border-top: 1px solid rgba(0, 0, 0, 0.12); }
blockquote {
padding: 0px;
page-break-inside: avoid;
margin: 0;
border-left: 5px solid #7a7a7a;
font-style: italic;
text-align: left; }
blockquote p {
padding: 10px; }
table {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
width: 100%;
margin-bottom: 2rem;
margin-left: 0px;
margin-right: 0px;
background-color: #fff;
box-shadow: 0px 0px 3px #ccc;
border-radius: 3px;
padding: 10px; }
@media screen and (min-width: 768px) {
table {
width: 768px; } }
@media screen and (min-width: 1200px) {
table {
width: 968px;
margin-left: -100px;
margin-right: -100px; } }
table thead tr,
table tbody tr,
table tfoot tr {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th,
table thead tr td,
table tbody tr th,
table tbody tr td,
table tfoot tr th,
table tfoot tr td {
text-align: left;
padding: 10px;
vertical-align: top;
border-top: 0;
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th {
font-weight: 400;
color: #757575;
vertical-align: bottom;
border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
border-top: 0; }
table tbody + tbody {
border-top: 1px solid rgba(0, 0, 0, 0.12); }
.content {
margin: auto;
padding-top: 110px;
max-width: 768px; }
@media screen and (max-width: 808px) {
.content {
margin-left: 20px;
margin-right: 20px; } }
.footer {
border-top: 2px #333 solid;
margin: auto;
margin-top: 70px;
margin-bottom: 60px;
max-width: 768px; }
@media screen and (min-width: 500px) {
.footer .footerGridContainer {
margin-left: -20px;
margin-right: -20px; } }
.footer .footerGridContainer::after {
clear: both;
content: "";
display: block; }
.footer .footerGridContainer .footerColumn {
padding-top: 20px; }
@media screen and (min-width: 500px) {
.footer .footerGridContainer .footerColumn {
width: calc(33.33333% - 26.66667px);
float: left;
margin-left: 20px; } }
.footer .footerGridContainer .footerColumn h1 {
font-size: 14px;
font-weight: 700;
text-align: left;
text-transform: uppercase; }
.footer .footerGridContainer .footerColumn h1::after {
content: none; }
.footer .footerGridContainer .footerColumn a {
color: #333;
text-decoration: none;
display: block;
padding: 2px 10px 2px 10px;
border-left: #CCC 2px solid;
-webkit-transition: all 0.1s ease;
-o-transition: all 0.1s ease;
transition: all 0.1s ease; }
.footer .footerGridContainer .footerColumn a:hover {
border-left: 2px #e4002b solid;
background: #e8e8e8; }
.footer .footerGridContainer .footerColumn a + span {
-webkit-transition: all 0.1s ease;
-o-transition: all 0.1s ease;
transition: all 0.1s ease;
color: #666;
font-family: 'Roboto Mono', monospace;
font-weight: 400;
font-size: 10px;
display: block;
padding-left: 10px;
border-left: 2px #eee solid;
margin-bottom: 5px; }
.footer .footerGridContainer .footerColumn a:hover + span {
border-left: 2px #e4002b solid;
background: #f0f0f0; }
@media print {
*,
*:before,
*:after {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important; }
a,
a:visited {
text-decoration: underline; }
a[href]:after {
content: " (" attr(href) ")"; }
abbr[title]:after {
content: " (" attr(title) ")"; }
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: ""; }
pre {
border: 1px solid #999;
page-break-inside: avoid; }
thead {
display: table-header-group; }
tr {
page-break-inside: avoid; }
p,
h2,
h3 {
orphans: 3;
widows: 3; }
h2,
h3 {
page-break-after: avoid; } }
html {
font-size: 12px; }
@media screen and (min-width: 32rem) and (max-width: 48rem) {
html {
font-size: 15px; } }
@media screen and (min-width: 48rem) {
html {
font-size: 16px; } }
p {
font-size: 1rem;
margin-bottom: 1.3rem; }
small {
font-size: .707em; }
canvas,
iframe,
video,
svg,
select,
textarea {
max-width: 100%; }
body {
color: #444;
font-family: 'Roboto', sans-serif;
font-weight: 300;
line-height: 1.85;
margin: 0px; }
a,
a:visited {
color: #3498db; }
a:hover, a:focus, a:active {
color: #2980b9; }
pre {
background-color: #fafafa;
padding: 1rem;
text-align: left; }
ul,
ol,
li {
text-align: left; }
p {
color: #777; }
</style>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class='menuBox'>
<div class='menuItems'>
<a href='./index.html'>index</a>
</div>
</div>
<div class='content'>
<h1 id="ht-docker-node">ht-docker-node</h1>
<p>the ultimate docker node image</p>
<h2 id="status">Status</h2>
<p><a href="https://gitlab.com/hosttoday/ht-docker-node/commits/master"><img src="https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg" alt="build status"></a></p>
<h2 id="availability">Availability</h2>
<table>
<thead>
<tr>
<th>Registry</th>
<th>Image Path</th>
</tr>
</thead>
<tbody>
<tr>
<td>GitLab Registry</td>
<td>registry.gitlab.com/hosttoday/ht-docker-node</td>
</tr>
<tr>
<td>Docker Hub</td>
<td>hosttoday/ht-docker-node</td>
</tr>
</tbody>
</table>
<h2 id="usage">Usage</h2>
<p>The purpose of this Docker image is to provide a robust base for node apps and CI.
It comes in different flavours and all of them have node, npm, git and ssh in PATH.</p>
<p>The <strong>:npmci flavour</strong> has npmci in path and can install any required node version and update PATH accordingly:</p>
<pre><code class="lang-Dockerfile">FROM hosttoday/ht-docker-<span class="hljs-keyword">node</span><span class="hljs-title">:npmci</span>
RUN npmci install [node_version_number] // this installs <span class="hljs-keyword">node</span> <span class="hljs-title">using</span> <span class="hljs-keyword">node</span> <span class="hljs-title">and</span> sets the default to the new <span class="hljs-keyword">node</span> <span class="hljs-title">and</span> npm versions
</code></pre>
<h2 id="flavour-overview-">Flavour Overview:</h2>
<ul>
<li><strong>:lts</strong> - node lts version, equals :latest</li>
<li><strong>:stable</strong> - node stable version</li>
<li><strong>:npmci</strong> - npmci preinstalled</li>
<li><strong>:npmts</strong> - npmci + npmts preinstalled</li>
<li><strong>:npmpage</strong> - npmci + npmts + npmpage preinstalled</li>
<li><strong>:mongo</strong> - npmci + npmts + mongo</li>
</ul>
<p>For further information read the linked docs at the top of this README.</p>
<blockquote>
<p>MIT licensed | <strong>&copy;</strong> <a href="https://lossless.gmbh">Lossless GmbH</a>
| By using this npm module you agree to our <a href="https://lossless.gmbH/privacy.html">privacy policy</a></p>
</blockquote>
<p><a href="https://host.today"><img src="https://hosttoday.gitlab.io/assets/repo-footer.svg" alt="repo-footer"></a></p>
<div class='footer'>
<div class='footerGridContainer'>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,18 +1,23 @@
# ht-docker-node
the ultimate docker node image
# @hosttoday/ht-docker-node
docker image with nodejs and shipzone.io support
## Status
## Availabililty and Links
* [npmjs.org (npm package)](https://www.npmjs.com/package/@hosttoday/ht-docker-node)
* [gitlab.com (source)](https://gitlab.com/hosttoday/ht-docker-node)
* [github.com (source mirror)](https://github.com/hosttoday/ht-docker-node)
* [docs (typedoc)](https://hosttoday.gitlab.io/ht-docker-node/)
## Status for master
[![build status](https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
[Docs](https://hosttoday.gitlab.io/ht-docker-node/)
## Availability
Registry | Image Path
--- | ---
GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node
Docker Hub | hosttoday/ht-docker-node
[![coverage report](https://gitlab.com/hosttoday/ht-docker-node/badges/master/coverage.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/@hosttoday/ht-docker-node.svg)](https://www.npmjs.com/package/@hosttoday/ht-docker-node)
[![Known Vulnerabilities](https://snyk.io/test/npm/@hosttoday/ht-docker-node/badge.svg)](https://snyk.io/test/npm/@hosttoday/ht-docker-node)
[![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
[![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/)
## Usage
The purpose of this Docker image is to provide a robust base for node apps and CI.
It comes in different flavours and all of them have node, npm, git and ssh in PATH.
@ -23,18 +28,32 @@ FROM hosttoday/ht-docker-node:npmci
RUN npmci install [node_version_number] // this installs node using node and sets the default to the new node and npm versions
```
## Flavour Overview:
## Availability
* **:lts** - node lts version, equals :latest
* **:stable** - node stable version
* **:npmci** - npmci preinstalled
* **:npmts** - npmci + npmts preinstalled
* **:npmpage** - npmci + npmts + npmpage preinstalled
* **:mongo** - npmci + npmts + mongo
| Registry | Image Path |
| --------------- | -------------------------------------------- |
| GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node |
| Docker Hub | hosttoday/ht-docker-node |
## Flavour Overview
- **:lts** - node lts version, equals :latest
- **:stable** - node stable version
- **:npmci** - npmci preinstalled
- **:npmts** - npmci + npmts preinstalled
- **:npmpage** - npmci + npmts + npmpage preinstalled
- **:mongo** - npmci + npmts + mongo
For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://hosttoday.gitlab.io/assets/repo-footer.svg)](https://host.today)
For further information read the linked docs at the top of this readme.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://hosttoday.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)

View File

@ -1,2 +1 @@
#!/bin/sh
yarn -v
echo "this runs within latest container!";

View File

@ -4,6 +4,6 @@ npmci -v
# check if we can use lts
npmci install lts
# check if yarn picks it up
npmci command yarn global add npmts
npmci command npmts -v
# check if npm picks it up
npmci command npm install -g @gitzone/tsrun
npmci command tsrun -v

View File

@ -1 +0,0 @@
mkdocs --version

View File

@ -1,3 +1,5 @@
# test yarn
yarn global add npmts
npmts -v
# npm
npm -v
node -v
npm install -g @gitzone/tsrun
# tsrun -v

17
tslint.json Normal file
View File

@ -0,0 +1,17 @@
{
"extends": ["tslint:latest", "tslint-config-prettier"],
"rules": {
"semicolon": [true, "always"],
"no-console": false,
"ordered-imports": false,
"object-literal-sort-keys": false,
"member-ordering": {
"options":{
"order": [
"static-method"
]
}
}
},
"defaultSeverity": "warning"
}